Сообщение от
tchv71
Для уменьшения проблем совместимости с клонами решил ввести стандарт на пролог для программы под РК:
вместо
;************ Controller's mapping **************
PPI equ 08000h; 8255 fist *
PPI2 equ 0A000h; 8255 second *
DISP equ 0C000h; 8275 display adapter *
DMA equ 0E000h; 8257 DMA chip *
;************************************************
программа будет начинаться следующей последовательностью:
JMP Entry
DW VRAM ; Адрес начала буфера экрана - 76d0h
DW PPI ; Адрес ВВ55 контроллера клавиатуры - 8000h
DW PPI2 ; Адрес дополнительного ВВ55 - 0A000h
DW DISP ; Адрес ВГ75 - 0C000h
DW DMA ; Адрес ВТ57 - 0E000h
DW 0,0,0,0 ; Reserved for future use
Entry: ; Program code
Обязуюсь переделать свой редактор на такой пролог и использовать только косвенную адресацию.
Для переноса на Апогей или RK-16к или RK-60к и другие, которые совместимы, но отличаются адресами портов, нужно будет поменять лишь несколько ячеек, которые не меняют своё положение относительно стартового адреса программы, поддерживающий данный стандарт на пролог. Это можно сделать даже автоматически в загрузчике, поскольку число сигнатур пролога без учета первых 3-х байт конечно и весьма невелико, а загрузчик знает конфигурацию РК, на котором работает.