💾✨ Новый «чудесный» ROM для ZX Spectrum: побуквенный ввод в Sinclair BASIC и исправление древних математических ошибок!

goshwonderfulzxspectrumrom_3.png
goshwonderfulzxspectrumrom_4.png


Все, кто когда-либо программировал на классическом ZX Spectrum 48K, сталкивались с главной особенностью Sinclair BASIC — системой токенов. Вы не можете просто напечатать PRINT по буквам! Нужно либо нажать клавишу P в режиме ввода, либо запоминать, где спрятаны другие команды. Для новичков и тех, кто вернулся к программированию после перерыва, это настоящее мучение. 😫

Исторически это досталось Spectrum в наследство от ZX80 и ZX81, у которых было всего 1 Кб памяти и крошечное ПЗУ. Токены экономили место. Резиновая клавиатура тоже не способствовала быстрому набору. Но Клайв Синклер и Стив Викерс могли бы добавить альтернативный режим ввода... но не сложилось. 😔

🦸‍♂️ На сцену выходит Джефф Вермут!​

Ещё в 2004 году энтузиаст Джефф Вермут создал проект The Gosh Wonderful ZX Spectrum ROM, который решает эту проблему. А недавно вышла новая версия — 1.40! 🎉

Как это работает? Вы просто заменяете стандартное ПЗУ вашего Spectrum (в эмуляторе или даже на реальном компьютере с перепрограммируемой памятью) на новый ROM, и получаете кучу полезных возможностей.

✨ Главные фишки нового ROM​

⌨️ Побуквенный ввод команд​

Это "киллер-фича". Теперь вы можете печатать команды по буквам, как на любом нормальном компьютере! Например, просто набираете P-R-I-N-T, и после нажатия Enter оно само превращается в токен. Если ошиблись в слове — интерпретатор укажет на ошибку и не даст ввести строку.

По умолчанию режим включён. Чтобы выключить (и вернуть классическое поведение), введите команду STOP (комбинация SS+A).

📝 Новые команды Бейсика​

Новый ROM добавляет несколько полезных команд, которые вводятся после оператора REM:
  • REM COMMANDS (или просто REM) — показывает список всех доступных новых команд.
  • REM RENUMBER начало шаг — перенумеровывает всю программу. Первая строка получает номер «начало», дальше с шагом «шаг».
  • REM DELETE первая последняя — удаляет строки с «первой» по «последнюю» включительно.
  • REM STREAMS — показывает список всех открытых потоков (файлов).

🔬 ИСПРАВЛЕНИЕ ДРЕВНИХ МАТЕМАТИЧЕСКИХ ОШИБОК!​

Это самое интересное для фанатов. Автор полез в дебри и пофиксил несколько вопиющих багов оригинального ROM.

Пример 1: Странная арифметика с десятичными дробями.

Введите на классическом Spectrum:
Бейсик ZX:
PRINT 0.123-123/1000

Логически должно быть 0. Но вы получите -2.910383E-11 (очень маленькое, но не нулевое число)! 😲

Почему? Оригинальный ROM по-разному обрабатывал ввод десятичной дроби (0.123) и целочисленное деление (123/1000). Из-за двоичного представления накапливалась микроскопическая ошибка. В новом ROM дроби обрабатываются принципиально иначе: 0.123 теперь трактуется как целое число 123, которое потом честно делится на 1000. Результаты идентичны, и разность равна 0! ✅

Пример 2: Округление при делении.

Некоторые числа (например, 0.987654325) должны были округляться вверх, но оригинальный ROM этого не делал. Проблема решена сбором так называемого 34-го бита — техника, описанная ещё Логаном и О'Харой в книгах про устройство Spectrum.

Пример 3: Квадратные корни.

Процедура вычисления квадратного корня полностью переработана. Вместо оригинального алгоритма используется метод Ньютона-Рафсона. Он точнее и часто быстрее! Корни из степеней двойки вычисляются за одну итерацию, остальные — за 5-6.

⚠️ Совместимость​

Автор заявляет 100%-ную совместимость со всем софтом для ZX Spectrum. Мы-то знаем, что так не бывает, если изменён хотя бы один байт в ROM. Но можно верить, что 99,9% игр будут работать без проблем. Это грандиозный результат!

💾 Где скачать?​

Забрать The Gosh Wonderful ZX Spectrum ROM v1.40 можно:
  • Официальный сайт проекта
Там же можно почитать подробное руководство пользователя с описанием всех изменений.

Кто уже пробовал этот ROM? Насколько он хорош в реальной работе? Ставьте 💾 в комментариях и делитесь опытом! (Комментарии, как обычно, только для авторизованных 😉).

Комментарии

Информация о записи

Автор
TapeLoader
Просмотры
113
Комментарии
2
Последнее обновление

Больше записей в Блоги пользователей

Больше записей от TapeLoader

Назад
Вверх