"Без рубашки - ближе к телу!" В.Я. Шишков, "Угрюм-река" Ну для начала пара слов по поводу: Задумал Исаев Андрей себе новый Глюк заиметь. И, поскольку глюкописец рядом (я) - обратился ко мне. Довольно скоро достигли консенсуса и за бутылку пива, выпитую мною авансом я подрядился ему поправить глюк 5.2 до 5.3. Все ниже поправленное отмечено *. Пристал тут ко мне народ: "ясный ты наш, хоть строчечку напиши в ориджине...". За двое суток мною было подсчитано, что дабы описать все возможности "Gluk Reset Service v5.2i" пришлось бы исписать около 10000 ориджинов. Поскольку такое терпение и напористость мне не присущи, то было принято (голосованием) решение, что хелп надо текстом. Поскольку голосование было тайным, скажу, что перевес был всего в один голос, а общее соотношение за/против было 100/0. Скажу также, что в голосовании принимал участие весь сплоченный коллектив авторов данного творения, т.е. я. Я не буду тут описывать что и как сделать, дабы эта прошивка заработала, об этом было много сказано в предыдущих сериях нашего сериала "хелп" 4.1, 4.2, 5.0, 5.1. Стоит лишь отметить, что кроме обычного расположения в верхней четверти м/с 27512 возможна также замена 128-го басица на мою прошивку. Данная возможность была замечена одним писюковцем, который жаждал ее увидать и не мог. Последнее обстоятельство позволяет насладиться прелестями моей уникальной гениальности пользователям виртуального спека - эмуляторщикам. Правда, в этом случае функция перехода в 128-ой басиц будет работать весьма интересно. Тут в эхе ZX.SPECTRUM пролетала мысля чела по доработке тырдоса увеличение скорости + встроееная микропанель и.т.д. По моему более правильно оставить в покое умирающий тырдос и все недостающие функции втолкать в свободное место пзу, что я, собственно говоря, и сделал. Теперь собственно о предмете монолога: о работе прошивки. Управление осуществляется с помощью системы меню, вложенность не более трех. Выбор функции в меню осуществляется с помощью стрелки. Стрелка появится только в том случае, если прога обнаружит кемпстон мышь. Иначе ее нет и управлять придется только с клавиатуры. При наличии мыши мышь имеет более высокий приоритет, т.е если вы мышу навели на какую то опцию, то как бы вы не били по клавиатуре - выбранная опция не сменится. При управлении с клавиатуры: вверх - "Q", CURSOR UP вниз - "A", CURSOR DOWN в конец меню (последння функция) - CURSOR RIGHT в начало меню (первая функция) - CURSOR LEFT огонь ентер, пробел. нажатие "BREAK", "EDIT" вернет в предыдущее окно, если оно не главное. В этом случае ничего не произойдет. вообще эти кнопки производят отказ от выбранной функции. * для большей наглядности в 5.3 курсор помигивает. Не, вы не думайте, что вы ему понравились - просто он всем так подмигивает :) В версии 5.2 сделан автоконфиг кнопок мыши - первая нажатая кнопка становится огнем, другая - откат (то-же что и "EDIT", "BREAK" - даже при дисковых операциях - удержание ее приведет к тем же последствиям, что и "BREAK". Такое хотелось бы иметь в программах, юзающих мышу - а то в футе остановить операцию можно только бриком и никак с мыши...) средняя кнопка не конфигурируется и при ее нажатии программа переходит в режим сохранения ресурса монитора - плывущие звезды. То же самое произойдет автоматически по прошествии 37 секунд (измерения производились часами Dmitry Pugachev 2:5026/18.44@FidoNet - претензии по точности к нему :), если не нажимать ничего на клаве и мыши. Такой же эффект дает нажатие "Е". Поддержаны часы по моей схеме. Вся техническая документация по часам + необходимый софт доступны на ZX-Server'е. *Вот! ключевой момент! Поддержаны часы по любой схеме. Фроловский изврат лучше не применять! :). Так вот: по начальным адресам в пзу расположена некая табличка адрес длина назначение значение в версии Глюка #0002 2байта регистр адреса #DFF7 #0004 2байта регистр данных (RD) #BFF7 #0006 1байт маска выключения #00 #0007 1байт маска включения #80 #0008 2байта регистр данных (WR) #BFF7 #000a 2байта регистр управления #EFF7 По поводу регистра данных. В схеме Глюка и аналогичных адрес регитра на запись и чтение один и тот же. Но есть такая машинка как спринтер - там они разные. Такая вот долговременная перспектива... Поправив эту табличку под свои часы вы всегда сможете их увидать в Глюке. Более того, при старте Глюк настраивается на систему исчисления, и теперь борьба форматов BCD/BINARY закончилась универсальным драйвером :). По последним данным некто написал модуль для какого-то эмуля, который мои часы эмулирует. * Вова Хекс. Больше ничего не знаю. Данный аддон пылится на ZX_SERVER'e. При старте программы происходит определение наличия мыши и часов Однако, в силу ряда причин может потребоваться изменение состояния определителя - например, если определитель сработал неверно, или в часах произошло разрушение времени - тогда можно кнопками "1" и "2" включать и выключать мышь и часы соответственно игнорируя мнение определителей. Внизу экрана (2-я строка) во время работы программы можно видеть сообщение "GLUK RESER SERVICE V5.2i". Однако, если записать в ячейку #12 часов символ "G", то внизу (вместо этой строки) можно увидеть сообщение, которое храниться в часах с адреса #13. Маркер конца - #FF. НО! независимо от USER MESSAGE 10 августа любого года прошивка в нижней строке поздравляет меня (автора) с днем рождения :) * Исправлен глюк с поздравлялкой, и версия изменилась на 5.3к. Кто догадается почему 'к' - получит конфетку. :) Одна из первых версий 5.1 в свое время была сделана так, что глючила по 13-м числам. Но поскольку часы были только у меня одного - я первый на этом накололся и впоследствии это дело прибил... Теперь пройдемся по главному меню: 1 GLUK BOOT Из названия видно, что это бут, который написал я, Мр Глюк. Управление осуществляется под общим интерфейсом,т.е: а) дисковод сканируется на вынимание диска; б) выжидается 37 секунд или принудилка мышой или "Е" - при этом гаснет экран, но дисковод продолжает сканиться; в) возможен возврат назад в прошивку - откатными клавишами; г) по многочисленным просьбам сменены цвета в нем; д) запуск осуществляется аналогично перфектовскому; * исправлен глюк при смене дисков и отсутствии файлов на нем. Если есть кэш и в нем по адресу #00 найдена такая последовательость: #0000 #18 #0001 #XX - любой #0002 "GLUK" то вместо надписи Глюк бут получим надпись из кэша, которая хранится за последним из описанных байтов, а при выборы опции прога врубит кэш и попытается туда идти :). Если ничего не гадить, то можно из кэша вернутся по RET назад в Глюк (в родную стихию :). 2 COMMANDER Легендарный PERFECT COMMANDER. Все та же версия 1.52 с пофиксенными багами и пр. Без изменений с времен 5.0. 3 COMM 128 он же, только независимо от имеющейся памяти определит только 128. Нужно всяким рамдискам :) 4 EXIT TO: Подменю выходов: 4.1 TR-DOS+ 4.2 TR-DOS- выходы в тр-дос, минуя определитель резидента в 5.11 и выше; соответственно с открытым и закрытым портом расширения. 4.3 MENU 128 переход в 128-ой басиц. Если вместо басица имеем нечто наподобие кэша, с теми же словами, что и в буте - эта опция заменится содержимым кэша. 4.4 BASIC 48 в любимый, магнитофонный :) 4.5 NOWHERE Любимая функция - ничего не делает - вешает. Сделано для тех, кто не любит читать описания :) * в версии 5.3 заменена на выход в кэш. Если кэш не найден - получим возврат в Глюк с ошибкой. Кстати, об возврате. Все функции вызова кэша работают через RST 0 JP ERROR Таким образом, прога в кэше может проверить себя на целостность (например, подсчетом crc-32 :), и в случае неудачного результата вернутся в Глюк. Естественно, что память при проверке лучше не занимать - а то... а то... плохо вам будет... 4.6 TO PROG еще подменю: 4.6.1 TO XAS BANK #51, JP #C000 4.6.2 TO STS BANK #57, JP #DB00 * Добавлен выход в sts в #17-ой банке. Пиво отрабатываю :) 4.6.3 #14 ASSEMBLER BANK #14, JP #C000 4.6.4 X-COPY в тырдос, там если нету его, то кранты :). этот копировщик в версии тырдоса от 5.11 и выше... * крантов не будет. наличие проверяется. Возврат в Глюк в случае отсутствия... 4.6.5 FROM ROM DISC * убрано. Вместо нее: 1) очистка кэша с возвратом в главное меню; 2) форматируется рамдиск (если есть) с возвратом туда же; Рамдиск - тот что поддержан Исаевским тырдосом. Форматирование осуществляется методом создания в памяти каталога и системного сектора рамдиска. Оные находятся в странице #50. В печальном случае, если памяти всего 128 - то подпортится копия 5-го экрана, сохраненая в памяти - так что не удивляйтесь - это системная функция. 5 MODE:ALL Открывается меню, где можно выбрать режим запуска бутов. 48, 128, или вся доступная. Защелка 128/вся висит на бите D2 порта #EFF7. Состояние защелки запоминается в часах. 6 ABOUT ME Окошко с моими координатами и всякой дребеденью. 7 SCREEN SAVER Уникальная функция, не видел больше нигде. Позволяет вынать картинку, которая была на экране в момент сброса и скидывать на диск. Вынать можно как с5-го так и с 7-го экранов. Файл запишется на диск с именем "@-SCREEN". Проверка на наличие одноименного не производится, если уже такой есть - будет два. Кстати сказать: после сброса картинка с 5-го экрана уменьшается в 2 раза и помещается в левый верхний угол экрана. Атрибуты очищаются. После того, как украли :) мою идею черезсеточного показа :) - сделал по другому. * По требованию заказчика опять вернул черезсеточность. Как - увидите :) 8 DRIVE: A Выбор дисковода для работы. Запоминается в часах. Выбор из меню. 9 TRACK KEEPER меню, где можно посмотреть 0-ой, 161-ый, записать туда и обратно. В сохранненый каталог кладется маркер. Если даже 161-ый трек физически существует - запарывания каталога информацией с него не произойдет. Записываемые дорожки предварительно форматируются. Ну вот вкратце и все по функциям. Следует сказать, что дисковые ошибки повлекут за собой открытие окошка "RETRY/ABORT/IGNORE", там же после слева "RETRY" можно увидеть трек/сектор/сторону на которой произошел инцидент. Игнорить при записи настоятельно не рекомендую. Вся работа прошивки осуществляется стандартными функциями тырдоса, доступными через #3д13. Единственное исключение - форматирование дорожки при сохранении трека. Также путем прямого доступа к контроллеру мгновенно останавливается дисковод - однако, на эмулях все прекрасно пашет. При удержании пробела во время сброса произойдет мгновенный запуск тырдоса - для входа в резидент. Удержание "1" в момент сброса приведет к запуску STS, BANK #57, JP #DB00. Порчи озу не происходит - однако состояние прерываний и некоторые регистры все-же теряются. Настоятельно рекомендую использовать эту прошивку совместно с тырдосом 5.11 и выше. Хочется сказать пару слов тем, кто занимается аналогичнымипрошивками словами Джонна Леннона: "Hey,Jude! Don't make it bad Take a sad song and make it better". Глубоко признателен за труд по прочтению, отзывы буду рад выслушать по адресу: 2:5026/5.46 Renat Mamedov (AKA MR GLUK). C YA L&R! special thanks to Tim Kelly, который [см. начало] :) Last Edited: 16.02.99 Хеллозы писать не буду! :) p.s В базовом варианте (тот, что в пакете) - настройка на часы по схеме Глюка (я! :) - если надо сменить - см. выше...