При всей скромности набора функций этой прошивки (будет описано ниже) именно вид и работа LSY-Setup производили наибольшее впечатление на очевидцевНу наверно просто я угадал, что нужно было сделать компьютеру, и сделал это. После меня уже эту прошивку дорабатывали, ускоряли, расширяли до 512К, вставляли в нее AY-музыку, улучшали дизайн и т.д. Занимались этим такие ребята, как SVV (Днепропетровск), но я детально в этот процесс не вникал и исход его не знаю.
Функции у прошивки следующие:
1. Тест памяти при включении компьютера. Этот тест работает исключительно на регистрах Z80 и может вывести на экран осмысленное сообщение об ошибке, даже если нет ни одной исправной ячейки ОЗУ (как бывает в случае отсутствия или полного выхода из строя одной из РУшек). Я также старался оптимизировать этот тест по быстродействию, широко пользовался командами PUSH. Вместе с тем, по мере тестирования, со щелчками на экран выводятся надписи, как только завершена каждая страница по 16К. Ну как в биосе на PC. Тест памяти... 16К, 32К, 64К... 256К исправно.
Когда я расширил "Орель" Тимуру по своей схеме, то через некоторое время у него тест начал ругаться на ошибку. По сообщению я установил, что это за РУшка, заменил ее - и все заработало. Полезная вещь.
Тест отрабатывает при включении только один раз. Потому что, даже после сильной оптимизации, прогнать 256К, опираясь только на регистры, занимает существенное время. LSY-Setup записывает в определенное место страницы 13 (там же размещается теневой монитор) конфигурацию с контрольной суммой, так что если содержимое этого участка страницы 13 не повреждено, то при последующих сбросах тест не вызывается.
2. После теста памяти на экран выводится меню со следующим содержимым:
1. Reset button - Setup
2. Execute system - Basic 128
3. Execute!
4. Information
Пункт 1 назначает действие кнопки сброса. Возможные варианты: 1. 128 Basic, 48 Basic, TR-DOS, Setup, User. Для первых вариантов задается еще дополнительно следующие вопросы: Try booting? 48K mode? Emulation? Fast reset? Для режима User задается адрес перехода, содержимое порта 7B и содержимое порта 7FFD.
Дополнительные опции означают следующее.
Try booting - LSY-Setup инициализирует системные переменные бейсика и TR-DOS, загружает 8й сектор 0го трека, и если он является загрузочным (т.е. имеет длину 512байт или 1кб, как в случае IS-DOS) - то управление передается загрузчику. Данная функция работала не совсем надежно, IS-DOS из-под нее по-моему не грузилась (хотя грузилась CP/M, ASM, AMS) - так что я ею никогда не пользовался. В случае ошибки чтения или если сектор не загрузочный - то управление передавалось основной системе в обычном порядке (бейсику или TR-DOS).
48K mode - понятно что означает, блокируется запись в порт 7FFD.
Emulation - происходит вызов бейсика или TR-DOS не из ПЗУ, а в режиме эмуляции ПЗУ.
Fast reset - вот это была самая полезная и нужная функция. Все бейсики и TR-DOS при сбросе производят довольно дурацкий тест памяти, который память особенно не тестирует, но отнимает драгоценное время. Так как в LSY память при первом сбросе уже была протестирована более совершенным тестом, то в режиме FAST RESET производится быстрая очистка 48К или 128К памяти (через PUSH в размотанных циклах), а потом управление передается в такую точку бейсиков или TR-DOS, когда там начинается инициализация. Я всегда таким образом настраивал кнопку сброса на вход в TR-DOS. Не успел отпустить кнопку - а TR-DOS уже грузится с диска.
--------
Пункт меню 2 устанавливал те же самые опции, но не для кнопки сброса, а для ручного выполнения. Когда из меню нажать кнопку "3" - то выполнялось то, что было задано в п. 2. На практике я обычно настраивал этот переход на TR-DOS в режиме эмуляции ПЗУ - чтобы запускать из-под стандартной синклеровской прошивки какую-нибудь прогу, которой не нравился Bogobasic.
--------
Независимо от того, что было настроено на кнопку сброса, если во время сброса удерживать клавишу ALT (Caps Shift) - то управление всегда передавалось на меню.
--------
Загрузкой прошивок в те области ОЗУ, которые использовались для эмуляции ПЗУ, LSY-Setup не занимался. Этим занималась коротенькая программа, которую написал Тимур: ME (Monitor+Emulation). Ее можно было запустить из-под бута, в результате чего в память быстро (fast-loader) загружался теневой монитор и прошивки для эмуляции.
К сожалению, выложить образ прошивки не могу (нет под рукой). Может быть получится через некоторое время, а на данный момент могу выложить лишь исходники (они есть). Компилируются под CP/M. Кто хочет - сможет сам собрать![]()





Ну наверно просто я угадал, что нужно было сделать компьютеру, и сделал это. После меня уже эту прошивку дорабатывали, ускоряли, расширяли до 512К, вставляли в нее AY-музыку, улучшали дизайн и т.д. Занимались этим такие ребята, как SVV (Днепропетровск), но я детально в этот процесс не вникал и исход его не знаю.
Ответить с цитированием