Немного поправил схему:
Изменения такие:
- Переделал подключение джойстиков на разъём D9 (как нарисовано тут). Правда, из-за того, что эти разъёмы в полтора раза шире, чем DIN, пришлось частично пожертвовать вторым джойстиком -- он не имеет своего разъёма, но его можно подключить к плате через стандартный "хвостик" для COM-порта.
- Заменил дешифратор Д64 на 74HC138, теперь он выдаёт сигналы для портов до 1Fh включительно. Собственно, это в дальнейшем упростит подключение квази-дисков (на порты 10h-13h) и аудиочипа (порты 14h-17h). Остальные порты стандартно используются флоповодами, может тоже пригодятся...
- Немного переделал схему управления памятью. Теперь первоначальную запись загрузчика можно делать самим процессором по такому алгоритму:
Скрытый текст
1. Переключаем перемычку JP1 в положение 2-3.
2. На разъём JV1 подключаем внешнее ПЗУ или ардуину с программой распаковки в память загрузчика:
- DB0..DB7 -- шина данных
- A0..A14 -- адресные линии. Можно подключить меньше, для ПЗУ на 512кб, например, достаточно будет А0..А8.
- /BLK (выв.10) -- на вывод СЕ на ПЗУ
- +5В/масса -- питание ПЗУ
3. Включаем схему, процессор грузит из подключённого ПЗУ программу, которая размещает загрузчик по нужным адресам (8000h-BFFFh).
4. Выключаем всё и возвращаем перемычку JP1 в положение 1-2.[свернуть]
Обновление загрузчика будет выполнятся также, как и планировалось ранее: запустили программу, сняли перемычку (совсем), зарузили новый загрузчик...
Вот, кстати, примерно набросал вариант, как будет выглядеть этот "загрузчик загрузчиков": loadboot.7z
Программа работает с адреса 8100h, очищает память по адресам 0000h-80FFh,C000h-FFFFh и грузит с магнитофона файлы в формате ROM (проверок пока никаких нет, но для загрузчика нужно грузить данные с нулевого блока), после чего подвисает для возврата джампера и перезагрузки. Можно глянуть в эмуляторе, как она работает. Далее её надо будет "завернуть" в программу распаковки по нужному адресу, и, наверно, дополнить каким-нибудь примитивным тестом системы, чтобы он на начальном этапе хотя бы помигал индикатором РУС, если всё в порядке.
Новая схема в протеусе, разводка плат, гербер-файлы на две платы и картинка в архиве:CPUVektor4.7Z-- новая схема тут





Ответить с цитированием