HardWareMan wrote:Зачем ПЗУ? Вплоне бесПЗУшная работоспособная схема есть:
http://stor.altervista.org/z80/schema_2.htm
Запускаем проц и через ЛПТ сливаем ему прогу приема, а потом сливаем данные,
после подачи последнего байта клац тумблером и вперед (можно не тумблром а
портом, но тумблером нагляднее.

Много раз я эту схему видел, но никак не было времени внимательно на итальянском
почитать... Но
тут всё ж недавно сподобился...
Мне кажется, с Хардычем и b2m мы где-то здесь и программу-загрузчик обсуждали...
но я поиском не нашел.
А загрузчик довольно интересный, причем характерный для z80:
То есть эти 11 байт:
21 00 00 11 00 00 01 E8 03 ED B0
мы подсовываем процессору как бы вне зависимости от выставляемых им адресов,
загружаются рег.пары
HL,
DE,
BC и инструкция
LDIR по сути начинает прием и загрузку
байтов из буфера принтера в ОЗУ этой простенькой системы в собственном цикле...
Завершать там всё же советуют через
HLT, потом при нажатом
RESET перебросить тумблер,
чтобы проц. мог читать из своего ОЗУ, и отпустив сброс, пускаем проц в работу по загруженной
программе с 0000Н.
Сразу указывают там ограничения, что извне через ЛПТ можно подкидывать
процу опкоды только линейно исполняемой программы.
Так что в принципе тут с кодами
именно загрузчика и не пофантазируешь сильно.
LDIR - он сам себе цикл получается, с автоматическими инкрементами указателей
и декрементом счетчика...
А вот если представить на месте
z80 -
К580ВМ80, схема не станет аппаратно сложнее,
но вот код загрузчика вопросы вызывает...
Впрочем и для
z80 разнообразие загрузчиков представимо с трудом...
Мы вроде как
PUSH предполагали заюзать... но тогда автоматический цикл трудно себе
представить.
LDIR всё же на этом месте работает очень эффективно!
И само программно-аппаратное решение очень симпатичное...
