Ну если делать всё совсем просто, то, поскольку у МС ROM 27E040 организация 512К х 8,Ruslansh wrote:А прежде - понять как аппаратно привязать к какому либо порту пзу.
то у неё должно быть 19 адресных линий: А0...А18 (2^19=524288; 524288/1024=512Kбайт).
Значит надо в пространстве портов Вашего "Ленинграда" иметь 3 порта, работающих на вывод,
которые будут обслуживать адрес байта в ПЗУ. Это могут быть обычные регистры-защелки.
И 8 линий данных нужно обслуживать через отдельный порт, работающий на ввод.
Это может быть 8-битный регистр с 3-м состоянием или шинный формирователь.
Весь процесс тогда на ВАСИКЕ через OUT и INPUT будет выглядеть так:
записали в 3 порта вывода числа 00Н, 00Н, 00Н.
Считываем из 4 порта данное и помещаем в ОЗУ.
Записали в 3 порта вывода числа 00Н, 00Н, 01Н.
Считываем из 4 порта данное и помещаем в ОЗУ.
Записали в 3 порта вывода числа 00Н, 00Н, 02Н.
Считываем из 4 порта данное и помещаем в ОЗУ.
И т.д.
По схеме лучше всего видно на этой - от "Ориона-128":

Но у них ПЗУ небольшого размера, поэтому необходимы всего 3 порта:
2 - на вывод: 16 линий адреса и один - на ввод: 8 линий - данные.
Вместо регистров используют БИС DD4 - ППА К580ВВ55А.
Но у Вас 19 линий адреса, поэтому если делать просто, необходимы 3 регистра = 24 линии,
из которых 5 будут незадействованы.
Это основная идея - как сделать по-простому, а вариантов её реализации может быть много.