короче поехали. отвечаю всем подряд.

axor
я так понял ты новое ПЗУ собираешься делать, причём такое, что б всё было круто независимо от версии прошивки.

наиболее компромиссный вариант- создать в ПЗУ табличку переходов вида

func1 jp real-func-1
func2 jp real-func-2
....

на самом деле нужно думать, что важнее, память (когда используем код вида

....
RST #10
DB func_number
....

) или быстродействие (табличка переходов). я, так же как и Vladimir Kladov считаю что jp-табличка лучше.

fk0
в современных осях на современных пэцэтах есть современный protected mode, в котором можно переопределить адреса переходов комманд int 0x00 ... int 0xFF.

чтобы код программы мог быть запущен, необязательно передавать параметры через стек, патчить прогу или использовать конструкции вида RST XX: DB YY

надо всего лишь прийти к какому- либо соглашению о передаче параметров и вызовах функций. допустим


с адреса #0000 находится 256 jp XXXX. это системные вызовы. параметры передаются в регистрах. если нужно передать адрес, то он всегда в HL, если нужно передать один байт, то он всегда в A.

ну и т.д.

далее всё зашибенно работает.