Да, вектор в области #4000 - #7fff будет давать на фирменных машинах снег. А вектор с адресов #c000 - #ffff не будет только если он находится в 0-й странице. Но адреса #8000 - #bfff для ЯВУ неудобны, лучше использовать для таблицы область в конце ОЗУ. Поэтому на мой взгляд идеальный вариант - #fe00 - #ff00 в 0-й странице.
Этот код, во-первых, порушит стек и вернется в BASIC, во-вторых, нужен для нормального продолжения работы BASIC-программы и ZX-Printer'а. Если возврата в BASIC и печати нет, то и не нужен этот код совсем. Единственное, ZXDev, насколько я помню, активно зовет ПЗУ и может словить BASIC-овскую ошибку типа Out of screen или Invalid color. Если они у тебя обрабатываются корректно (то есть, если ты хочет возврат в BASIC при возникновении, а не зависон со спецэффектами), то надо бы поправить адрес обработчика ошибок на 48-й. Если надо, соображу код, который можно звать из SDCC. А можно сделать и свой обработчик таких ошибок, его адрес должен лежать в двух байтах, адрес которых лежит в (23613).





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