Есть ли байт ПЗУ, который не используется в обычной работе?

Есть ли байт ПЗУ, который не используется в обычной работе?

Я хочу декодировать адресную шину, опустить ROMCS и поместить данные на шину данных только для одного адреса.

Есть ли в ПЗУ адрес, который никогда не используется при нормальной работе ZX Spectrum? Возможно, я смогу найти положение растрового изображения персонажа, а затем никогда не использовать этот символ?

2 ответа

Решение

Трудно указать на какой-либо один байт, не имея под рукой справки по программированию на ZX или содержимого ПЗУ, но я могу дать вам несколько идей:

  • выберите функцию, которую вы не собираетесь использовать (скажем, сохранение на ленту), используйте ее точку входа в качестве адреса
  • найдите, где хранится шрифт, выберите байт в одном из символов. Скорее всего, все будет по-прежнему работать, но вы получите эту линию в символе, нарисованном неправильно
  • выберите место, где начинается выполнение, когда вы включите его, но подождите с включением вашей схемы до тех пор, пока не выполнится первая инструкция
  • буквально ищите неиспользуемые разделы, они, вероятно, будут выглядеть как довольно большие непрерывные последовательности байтов 0xFF (подождите, я нашел ROM в эмуляторе, есть такая область, от 0x386E до 0x3CFF, но я не знаю если это ПЗУ оригинальное или измененное, вам нужно будет проверить ваше)

Сейчас мы облагаем памятью, но мы использовали буфер принтера, если нам нужно было хранить несколько дополнительных байтов и т. Д. Его длина составляет 256 байтов и он устанавливается сразу после памяти экрана. Я считаю, что это было от &5B00 до &5BFF.

Другие вопросы по тегам