Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Калькуляторы, арифмометры, PDA, HPC » Д3-28, устройства для загрузки ПО |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 | Печать |
dk_spb
Advanced Member
Всего сообщений: 5056 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 сен. 2009 |
Самый простой способ - эмулятор перфосчитывателя/перфоратора Самый хороший - новодел платки контроллера ГМД для УСО ;-) |
Sinus
Newbie
Откуда: СПб Всего сообщений: 30 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 7 авг. 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 8 февраля 2019 23:24 Сообщение отредактировано: 9 февраля 2019 14:26
dk_spb, эти способы хороши, когда есть программы на перфолентах или на гибких дисках. Но и тогда сначала кто-то должен написать и как-то загружать в Д3-28 некий загрузчик для перфосчитывателя или НГМД. Ведь в Д3-28 нет кнопочки или команды, которая запускала бы загрузку с перфоленты или с ГМД. (Есть только кнопочка "СЛ" и есть команды 0513, 1202, которые нажал и - автоматически пошла загрузка с м/ф-кассеты.) xoiss, спасибо. Некоторое время назад пришёл в голову один из возможных неинвазивных методов загрузки программ в Д3-28 (не блочных, а тех которые грузятся "одним куском"), аналогичный загрузке программ с бытового м/ф в старинные радиолюбительские компьютеры, такие как "Микро-80", "РК86", "Орион-128" и т.п. Для краткости назову его условно 1. Подлежащую загрузке в Д3-28 программу сначала надо записать в одноканальный ("монофонический") WAV-файл в виде сигнала с почти прямоугольными импульсами, которые называют кодом с фазовой манипуляцией, или двухфазным кодом, или "манчестерским кодом" или как-то ещё в таком роде; "м-код", короче. Хорош он тем, что практически не содержит постоянной составляющей и длинных во времени постоянных уровней, и поэтому такой сигнал не портится в аудио-трактах. Такой WAV-файл (либо сжатый, например, в mp3) надо закачать в мобильный mp3-плеер. Плеер хорош тем, что в него можно таким образом закачать много разных программ, и выбирать через меню на экранчике плеера нужную программу для загрузки в Д3-28. Вкратце о содержании сигнала в WAV-файле. В начале сигнала идут штук сто "холостых нулей", затем синхробайт E6 (то есть 1406 в тетрадно-десятичных обозначениях, принятых в доках по Д3-28), затем два байта с указанием числа байт программы, содержащихся в этом WAV-файле, и затем собственно байты программы с последним байтом 0512, как полагается для программ "одним куском". Можно на всякий случай в первых опытах добавить в конце ещё раз 0512 и пару нулевых байт, но это уже не принципиально. Процедуру для получения таких WAV-файлов с "м-кодом для Д3-28" из имеющихся у нас txt-файлов с программками для Д3-28 я уже написал в Маткаде, и пару WAV-файлов для пробы сделал; когда у кого-нибудь дойдёт дело до экспериментов на реальной Д3-28, то наделаю WAV-файлов и для остальных программ, не вопрос (если, как говорится, к тому времени буду жив). 2. В память машинки Д3-28 надо с её пульта кнопками вручную набрать программку-загрузчик, 134 байта; куда-нибудь в старшие адреса (этот загрузчик у нас перемещаемый). Если НМЛ в машинке исправен, то набранный загрузчик лучше сразу же записать на м/ф-кассету, и в дальнейшем штатно вводить его в Д3-28 с её НМЛ. А если без НМЛ, то - каждый раз набирать 134 байта загрузчика руками. 3. К разъёму "Ввод/вывод" на задней стенке машинки надо подключить пятью проводками самодельное "интерфейсное устройство" (ИУ). Всю многоконтактную ответную часть к разъёму "Ввод/вывод" можно не добывать, а залудить концы у пяти проводов наподобие штырьков и просто вставлять их в гнёзда разъёма. Да, чуть не забыл: сначала надо интерфейсное устройство спаять, и поэкспериментировать с ним, отладить, желательно с помощью осциллографа. Это ИУ, вроде, не очень сложное. Оно должно состоять из двух независимых частей. Одна часть - это просто формирователь ТТЛ-уровней из сигнала, снимаемого из гнезда "наушник" плеера. Наверное, его схему можно взять из описаний упомянутых выше "Микро-80", "РК86", "Орион-128" и т.п. И налаживать его можно без всякой Д3-28, уже "прям хоть щас". Вторая часть ИУ формирует "Синхро-Импульс Периферии" (СИП) из сигнала Вв и Y13 c разъёма машины. Эта часть ещё проще - она состоит всего из пары элементов типа ИЛИ-НЕ. Правда, ещё блок питания нужно какой-то подобрать; если с аккумуляторами, то всё ИУ будет развязано от электросети - это, наверное, хорошо. 4. Когда всё это сделано (и заранее отлажено, и оттестировано на коротком пробном файлике), то можно приготовить чашечку кофе, запустить в плеере проигрывание файла с выбранной программой, и, пока будут идти "холостые нули", нажать на машинке кнопку S - запустить тем самым загрузчик. Загрузчик прочтёт в сигнале количество байт для загрузки, загрузит программу с нулевого начального адреса в ОЗУ машинки, и сам остановится. (Опять же: если НМЛ в машинке исправен, то загруженную программу следует сразу же записать на м/ф-кассету, и в дальнейшем штатно вводить её в Д3-28 уже с её НМЛ. Таким путём можно будет все программы из наших txt-файлов перегнать обратно на кассеты. Например, для какого-нибудь музея с Д3-28.) Предположительно, загрузка программы размером 10 килобайт "методом м-кода" займёт примерно пять с половиной минут. Детали изложил в pdf; вот ссылки на Яндекс-диске: Программа-загрузчик, с подробным описанием: loader_code-m_v6.pdf Об интерфейсном устройстве для "проекта м-код": interface_code-m__v1.pdf На всякий случай, общеобразовательные пояснения к "вводу/выводу" в Д3-28: vvod-vyvod_d3-28__29-01-2019.pdf WAV-файлы с "м-кодом" для первых экспериментов: 250hz_44100_cod-m_dm-176_df-12_y-test_KP-88_N-8.wav Это программка из всего 9 байт, которая просто выводит на Y-табло машинки числа 1, 2, 3, ... с интервалом примерно в полсекунды или в секунду - это зависит от быстродействия машинки. Сама по себе она никому не нужна, этот короткий файл (всего примерно 400 килобайт) - для отладки и самых первых экспериментов: пока не удастся научиться загружать его, возиться с более длинными будет бесполезно. 250hz_up44100_cod-m_dm-88_df-8_028-test_KP-73370_N-8921.wav Это полезная тест-программа "028" для Д3-28, проверяющая систему команд и ОЗУ; наличия дисплейного терминала или печатающего устройства она не требует. В ней 8922 байта; контрольная сумма = 73370. (Спасибо 15a18, выполнившему оцифровку этой программы с м/ф-кассеты из своей коллекции ПО для Д3-28.) |
xoiss |
NEW! Сообщение отправлено: 8 февраля 2019 23:32
dk_spb написал: возьмётесь? новодел платки контроллера ГМД для УСО готов записать в добровольцы! dk_spb написал: д3-28, в зависимости от исполнения, 50/50 комплектовали двумя (точнее, даже тремя) вариантами контроллера ПЛ+ФС, и у них были сильно разные интерфейсы к железу (т.е. ПЛ-150П-А значимо отличается от ПЛ-150М, равно как FS1501-b/p от СП-3) перфосчитывателя/перфоратора наверное, лучше тогда уж через интерфейс "ввод-вывод" — он существенно проще в реализации и у всех машин был одинаковым |
Сейчас на форуме |
xoiss |
NEW! Сообщение отправлено: 8 февраля 2019 23:43 Сообщение отредактировано: 8 февраля 2019 23:43
Sinus написал: Программа-загрузчик, с подробным описанием: "Владелец удалил файлы либо закрыл к ним доступ или в ссылке опечатка." во, теперь заработала — спасибо! |
Сейчас на форуме |
dk_spb
Advanced Member
Всего сообщений: 5056 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 сен. 2009 |
xoiss написал: Я умею только по образцу, а его нет :-( возьмётесь? |
Good Loki
Full Member
Откуда: Зеленоград Всего сообщений: 315 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 фев. 2012 |
Sinus Работа проделана большая. Но есть вопрос, а почему просто не использовать эмулятор кассеты, типа такого: Китайцы их делают в количестве, соответственно цена их небольшая. Все неудачи с попытками записать сигнал на кассету связаны во первых с неправильным форматом файла: очень низкая точность времени. Ведь когда драйвер аудиокарты воспроизводит файл с низкой частотой дискретизации он не знает, что такая частота выбрана специально, и нужно фронты привязывать именно к этим отчётам, а предполагает что в файле записана звуковая информация, соответственно и пытается восстановить из неё звук, с соответствующими характеристиками, вплоть до инверсии фазы. Вторая причина связана в использовании магнитофона, который не использовался для записи оригинальной информации на кассеты. Он тоже вносит свою роль в фильтрации сигнала. Чтобы не мучиться с изготовлением специального устройства для записи кассет, и соответственно самих кассет, и имеет смысл использовать эмулятор кассеты. Ещё один довод в пользу эмулятора кассеты: эмулятору не нужно, чтобы у НЛМ был рабочий лентопротяжный механизм, достаточно чтобы работала схема усиления сигнала. Не являюсь обладателем Д3-28, и не собираюсь им становиться, просто был удивлён, почему не рассматривается такой способ загрузки ПО. |
xoiss |
NEW! Сообщение отправлено: 12 февраля 2019 15:27
Good Loki написал: Огроменное спасибо!!! Надо же,... кто бы мог подумать, что в Поднебесной и Это даже сделали!... Значит, всё-таки идея (см. ниже) хоть как-то, но рабочая. А так вообще обсуждали этот вариант с Sinus Вот часть переписки: xoiss написал: Sinus написал: надо придумать всё-таки, как провода от компутера вместо кассеты подключать xoiss написал: >> надо придумать всё-таки, как провода от компутера вместо кассеты подключать Sinus написал: >> отказываемся от предусмотренных в машинкиных программках возможностей "сохранения на МЛ" xoiss написал: >> если такая вторая мг будет касаться первой так, чтоб их магнитные зазоры совместились... — будет такое работать?? мне кажется, что должно Напрягая память, получаются примерно такие варианты (порядок условный, т.е. без приоритета): ... |
Сейчас на форуме |
Good Loki
Full Member
Откуда: Зеленоград Всего сообщений: 315 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 фев. 2012 |
xoiss написал: Ну в Китае, это сделали исключительно для владельцев машин с оригинальной магнитолой, которые не хотят нарушать аутентичность, но хотят слушать музыку сохранённую в mp3. Надо же,... кто бы мог подумать, что в Поднебесной и Это даже сделали!... Тут есть несколько потенциальных проблем: 1) Необходимо убедиться, что встроенный плеер, умеет проигрывать mp3 с раздельными каналами, так как Joint Stereo здесь явно не подходит (скорее всего умеет). 2) Возможно придётся зашунтировать разделительные конденсаторы. (c5 и c6 на фотографии). Так как д3-28 реагирует только на изменение магнитного поля, то может и без шунтирования будет работать. 3) В оригинальном виде нет возможности записывать на «кассету». Понятно, что если делать по мотивам, но на своём контроллере, то можно предусмотреть и обратную передачу информации. Но тогда нужно будет предусматривать внешнее управление: запись/воспроизведение. 4) «Кассета» никак не реагирует на остановку и перемотку. Какие-то программы, которые хотят сами ставить на паузу, перематывать и искать свои метки на магнитной ленте, тут в пролёте. Можно конечно встроить некоторый самодельный энкодер, который будет сообщать контроллеру направление и скорость движения ленты... 5) Настройку головок друг под друга, конечно же необходимо будет произвести. Ну и нужно будет встроить шторку, которая будет заслонять фотодиод, который определяет окончание плёнки. |
Sinus
Newbie
Откуда: СПб Всего сообщений: 30 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 7 авг. 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 12 февраля 2019 17:00 Сообщение отредактировано: 12 февраля 2019 17:02
Вечно запаздываю с ответами, прошу меня извинить... Good Loki написал: Мной этот способ не рассматривался просто потому, что я, увы, до того, как прочитал Ваш первый пост, ничего не знал об эмуляторах кассет и даже не догадывался об их существовании. Вам большое спасибо! Не являюсь обладателем Д3-28, и не собираюсь им становиться, просто был удивлён, почему не рассматривается такой способ загрузки ПО ( P.S. У меня тоже нет и не будет Д3-28, но всё равно теперь отправляюсь самообразовываться в этом направлении - поищу в интернете инфу об эмуляторах кассет и постараюсь её осмыслить (если найду) именно с точки зрения загрузки ПО в Д3-28. Собственно, главная на первых порах задача такая: у нас есть ПО в виде текстовых файлов с массивами байтов (вот ссылка на пост с примерами таких файлов), надо научиться такие массивы загонять в ОЗУ Д3-28. Желательно придумать/обсудить несколько способов и для каждого способа составить подробный план: что, как и в каком порядке делать, чтобы справиться с задачкой. А владельцы Д3-28, если вдохновятся подобной задачкой и найдут когда-нибудь на это время, то сами выберут себе свой путь: изобретать / паять / программировать интерфейс к компу или плееру, или покупать эмулятор кассет, или делать как-то иначе. ) |
xoiss |
NEW! Сообщение отправлено: 12 февраля 2019 17:17
Good Loki написал: На стороне компьютерного выхода все "устранимые" проблемы мы устранили. Все неудачи с попытками записать сигнал на кассету связаны во первых с неправильным форматом файла: очень низкая точность времени. Если выставить частоту дискретизации даже 2 кГц (т.е. х2 частота импульсов на ленте), то выход получается вполне нормальным. Проблемы с "инверсией фазы" были исключительно из-за того, что я протормозил и сделал частоту дискретизации равной х1 (а не х2) частоте аналогового сигнала. Получаемый сигнал смещён на четверть периода, но это смещение постоянно во времени (стационарно), т.е. не вносит никаких искажений. Форму импульса, наверное, можно подулучшить, если поиграться с семплрейтом (например, взять его 8 кГц или выше) — но это уже из разряда "доводки/полировки". Из "неустранимых" проблем на стороне компьютера осталось лишь то, что аналоговый выход персоналки не сохраняет постоянную составляющую. Из-за этого амплитуда (точнее, перепад потенциала на фронте) импульса, следующего за длительной паузой в канале (например, бит "1" после длинной серии "0000000"), получается в два раза меньше, чем в норме. Терпимо, но нежелательно. Вылечить это, к сожалению, невозможно вообще никак. Поднятие частоты дискретизации, конечно, тоже не поможет, т.к. это никак не связано одно с другим. Good Loki написал: Вот как раз с магнитофоном была совсем беда. Вторая причина связана в использовании магнитофона, который не использовался для записи оригинальной информации на кассеты. Он тоже вносит свою роль в фильтрации сигнала. 1. Проникновение сигнала из одного канала в другой — что вот именно для способа модуляции, принятого в Д3-28, совершенно недопустимо. 2. Потеря постоянной составляющей сигнала — что в купе с такой же проблемой на стороне аудиовыхода персоналки уже как бы в 4 раза уменьшает амплитуду одиночного импульса, следующего в канале после длительной паузы. 3. И вот конкретно в том магнитофоне, который взяли (ну, по крайней мере в нём), АРУ усилителя записи, емнип, добавляло проблем к п.2 тем, что не просто убирало постоянную составляющую, а как бы "перехлёстывало за ноль". Из-за этого, в наихудшем случае, если "1" появляется после серии из именно 7..9 "нулей", то амплитуда такого импульса совсем уже стремится к такой "махонькой зазубринке". Good Loki написал: рассматривался, конечно просто был удивлён, почему не рассматривается такой способ загрузки ПО. но, на самом деле, неожиданно, что такое устройство где-то кто-то наладил в промышленных масштабах |
Сейчас на форуме |
<<Назад Вперед>> | Страницы: 1 * 2 3 4 | Печать |
Полигон-2 » Калькуляторы, арифмометры, PDA, HPC » Д3-28, устройства для загрузки ПО |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |