Работает так же, как знаменитые программы для взлома игр. Допустим, у вас три жизни. Ищете число 3 — найдётся несколько тысяч ячеек. Теряете жизнь, ищете среди найденного число 2 — останется десяток. Ещё раз — и адрес счётчика жизней у вас в руках. Дальше его можно заморозить, и жизни перестанут убывать. Если значение на экране не показано (например, запас топлива полоской), ищите «не зная значения», а потом уточняйте «стало меньше» и «не изменилось».
Читы почти для всех спектрумовских игр уже лежат на сервере —
весь архив Tipshop, это 3683 игры и более двадцати тысяч читов. Когда вы
открываете игру, нужный набор подбирается по названию файла сам. Если название
не совпало, наберите его руками в поле ниже. Свой файл .pok тоже
можно открыть или перетащить на страницу.
Показывает восемь байт подряд, начиная с указанного адреса, и обновляется на ходу. Нужно, чтобы понять, почему чужой POKE не подействовал: если по адресу лежит не то, что ожидает код, значит у вас другая версия игры.
Коды из журналов и с сайтов записываются как есть:
35899,0 или POKE 35899,0, по одному в строке.
Адрес можно писать и шестнадцатеричным: 0x8C3B.
Машина стартует в Бейсике: внизу мигает курсор K. Щёлкните по экрану,
чтобы клавиатура попала внутрь, и попробуйте набрать программу. Клавиша P
в режиме K печатает целиком слово PRINT — так на Спектруме
вводились все команды, по одной клавише на слово.
Например, наберите P, затем кавычку (это Ctrl+P),
слово, снова кавычку и Enter — получится PRINT "...".
Кнопка Открыть игру и перетаскивание файла на страницу понимают четыре формата:
.z80 и .sna — мгновенные снимки памяти, запускаются сразу;
.tap — образ кассеты, он вставляется в магнитофон, после чего наберите
в Бейсике LOAD "" (клавиши J, затем дважды Ctrl+P)
и нажмите Enter. Загрузка идёт мгновенно: эмулятор подставляет байты прямо
в подпрограмму ПЗУ, а не изображает писк ленты.
Буквы, цифры, Enter и пробел — там же, где на клавиатуре ПК. Две особые клавиши Спектрума разложены так:
| Клавиша Спектрума | На ПК | Зачем |
|---|---|---|
| Caps Shift | Shift | заглавные, второй регистр |
| Symbol Shift | Ctrl | знаки препинания, кавычки |
| Break | Esc | прервать программу |
| Delete | Backspace | стереть символ |
| Курсор ← ↓ ↑ → | стрелки | Caps Shift + 5…8 |
| , . ; " = - / | те же клавиши | на Спектруме это Symbol Shift + N M O P L J V |
| : + ? * < > | Shift и та же клавиша | там, где эти знаки нарисованы на клавиатуре ПК |
Знаки препинания вынесены на привычные клавиши не для удобства,
а по необходимости: настоящее сочетание для запятой — Ctrl+N, но его
забирает себе браузер. Расширенный режим для цветных команд работает как на живой машине:
Shift+Ctrl вместе переводят курсор в E, после чего
Ctrl+X даёт INK, Ctrl+C —
PAPER, и так далее.
Стрелки и Alt работают ещё и как Kempston — самый распространённый джойстик Спектрума, порт 31. Если игра предлагает выбор управления, Kempston обычно самый беспроблемный.
Полное ядро Z80: основной набор, префиксы CB, ED, DD, FD, DDCB и FDCB,
теневые регистры, IX и IY, три режима прерываний, блочные пересылки и поиск.
Флаги считаются точно, включая недокументированные разряды 3 и 5 и внутренний
регистр MEMPTR, от которого эти разряды зависят в команде BIT n,(HL).
Ядро прогнано через эталонный тест zexdoc — тот самый, которым
проверяют себя все серьёзные эмуляторы Z80. Все 67 групп команд пройдены:
5,76 млрд команд, результаты и флаги сверены по контрольным суммам.
ULA: 256×192 точки, знакоместа 8×8 с двумя цветами на каждое, яркость и мигание, рамка. Воспроизведена и знаменитая нелинейная раскладка экранной памяти, из-за которой строки идут не подряд, а третями. Цвет рамки отслеживается по тактам внутри кадра, поэтому эффекты с полосами на рамке видны так же, как на телевизоре.
Кадр — 69888 тактов, прерывание раз в кадр, пятьдесят кадров в секунду. Звук снимается с разряда 4 порта 254, того самого пищащего динамика.