Blame | Last modification | View Log | Download | RSS feed | ?url?
Mr Gluk Reset Service 6.3R (01 sep 2006) Краткое описание теневой операционки Mr Gluk Reset Service. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Прошивается на свободное место в ПЗУ, должна запускаться по кнопке Reset. Если у кого свободным местом считается 128 васик, прошивайте на здоровье туда - только за глюки я не отвечаю (Операция Р.Р. и иже с ней). (прим.: можно прошивать в кэш и запускать Глюк из другого Глюка ;)) Комплектуется ПЗУ TR-DOS с RAM-диском: версия 6b09e. Авторы: Ренат Мамедов (Mr Gluk), Роман Гаврилов (Reanimator) и Дмитрий Быстров (Alone Coder). Кнопки сбросов: Space - to DOS. H - to CACHE0 по адресу #60 (там должно быть nop:nop:pop bc,af: inc sp,sp; в прошивках для ROM #4-7 - аналогично, только вместо nop:nop должно быть out (c),a). C - to COLOR TABLE (сверху - все возможные flash квадратики, в середине - все чистые цвета, внизу - наложение цветов в сетке, на границе средней и нижней трети можно прове
рять одинаковость яркости чистых тёмных и черессеточных ярких красок). Параллельно на COVOX играет чистый звучок, для теста. Любая крайняя клавиша - изменение цвета бордюра. D - to DEMO "Grass" by PSB^Halloween. S - CMOS Setup. Действуют стрелки и цифробуквы. Изменения заносятся в CMOS незамедлительно. Существующие загружаемые аналоги перебивают друг друга по размеру в секторах, да ещё и имеют обыкновение теряться на дисках ;) CS - to STS page #57. 0, U - to ROM #0, #2 соотв., по адресу 0. Для ROM #0 надо иметь в #3d2f этого ROM'а байты nop:ret. SS, 5, 7 - to ROM #4, #5, #7 соотв., по адресу #62 (все регистры сохраняются, а в случае #4 сохраняется и страничка). Для ROM #4 нужно иметь в #3d2f этого ROM'а байты nop:ret. Для ROM #5 нужны не только эти байты в #4, но и out (c),a в том же #4 по адресу #60. Любая буквенная клавиша из оставшихся - встроенный HELP. ROM #4-7 должны включаться вместо стандартных при сбросе и выключаться при исполнении любой команды в ОЗУ. Не проверено, ибо схема не собрана! Gluk долж
ен в этом случае быть в ROM #6. Предусмотрена возможность заменить GLUK BOOT опцией, засунутой в CACHE1 (вызывается по адресу 0). Её наличие определяется так: #18 по адресу 0 и строка "GLUK" по адресу 2. Имя опции лежит по адресу 6 и занимает 9 байт (последний символ - с установленным 7-м битом). Также организована замена надписи "MENU128" на надпись из ПЗУ 128-го меню, если по адресу 0 опять-таки присутствует #18, а по адресу 2 - опять-таки "GLUK". Имя опции тоже лежит по адресу 6 и занимает 9 байт (было 7) - и последний символ опять с установленным 7-м битом. Общее распределение памяти (т.е. что мы портим): #5c00-#5d4a, исключая область 23582-23605 - системные переменные #5fdx-#9bd3 - Глюк и его стек #9bd4-#9bff - состояние стека и регистров при сбросе #9c00-#a4ff - буфер каталога и уменьшалки экрана #a500-#bfff - захваченный 5-й экран Выход в TR-DOS через меню работает исключительно с DOS 5.1xf или 6.xxE. DOS 5.01-04 и 6.08 он не понимает!
Отличия версии 5.4R от версии 5.3K: - нормально проходит сброс на тех патологах, у которых /RES замыкается на /M1. - при запуске прог и выходе в командир AY обнуляется (во все 14 регистров записывается ноль [плюс см.изменения в v6.0R]). Теперь будут нормально звучать EMERGENCY и TRASHe. - 5-й экран более не убивается. Плюс ускорена процедурка наложения сеточки. + после выхода нибудь-куда восстанавливается 5-й экран. Пустячок, а приятно. - перекрашена менюшка EXIT MENU - раньше на ч/б курсор там прятался. - мышка теперь определяется, даже если её дёргают. + PC понимает русскую речь в именах файлов. / убит скринсажер со звездюльками. Просто он много места занимал :(. / убит выход по маркеру "D", "S", "C". (Это Ренат так защитил свой продукт от взлома STS'ом. Бояка.) + T(c)S не написал CMOS Setup [прим.: я его потом написал], поэтому взамен добавлен текстовый редактор Word'2001 (прим.: теперь кнопка E в Perfect'е). Это AC Edit 0.09, но с минусами: / нет русских на цифрах; / нет автовыравнивания; / нет окн
а информации; / ещё много чего нет. Что осталось: + 64k текста; + ssQ,ssE,ssW,csEnt - Home,End,ё,Save соотв.; + Enter ставит <CR+LF>. fix (5.5R): - исправлен глюк с CONCAT FILE в Perfect (определялка памяти в реж.128k портила яч.#7ffd). - Perfect будет показывать все картинки с чёрным, а не с псевдослучайным бордером. - каталог в Word'е теперь полный. - ячейка #ffff больше не юзается (текущий дисковод теперь не забывается). * цвет редактора культурно серый. - KILL RAM (форматирование рамдиска) теперь по стандарту DOS5.13fm (892k disk) * выход из редактора теперь EXTEND. - на выходе из редактора текущая строка запоминается. - на входе в редактор курсор устанавливается в начало текста. - текст протирался на границах страниц. * табуляций больше нет. - в одном месте опрос мыши проводился без учёта возможности наличия колеса. Если это место не единственное, колесованных просим обращаться... - "отмена" на мышке работала даже при отсутствии мышки. fix (5.5RR):
/ убиты горячки выхода в аласм (всё равно не работали почему-то). - перед выходом в STS и прочими выходами - теперь задержка, чтобы работало на реале (видимо, фронты сброса на разных микросхемах определились по-разному). + сброс в STS можно и по CS+Reset. + прилагается бейсик-запускалка для приверед. beta (25 feb 2005): ! полная декомпиляция. * опции переобозваны грамотно. * полупрозрачное окошко, под печатаемыми символами - сеточки. + видно оба экрана уменьшенные. + видно регистры и стек. Я выбрал способ сохранения регистров, который при единичном (не дребезжащем) сбросе не портит ничего, кроме стека (да и то, не портит (SP-2)). На случай дребезга сброса огранизована задержка в 4000 тактов. При повторном сбросе будет запорчено AF. / я выбросил настройщик портов CMOS. Просьба не молчать, если вам нужен Gluk с настройкой этих портов! Не надо сидеть и про себя на меня материться! Если действительно нужно, напишите - и я верну. Это именно проверка реакции общественности и уничтожение а
нтистандартов. (Вообще-то исходник есть :)) / аналогично с кондратьевской раскладкой кнопок мыши, она уничтожена. Автоопределение по первой нажатой неюзабельно. Пишите, если вам это не нравится (объясните, почему). / выброшено ускорение мышки - нельзя было попасть в опцию ;) / X-COPY выкинуто, ибо его уже нет в TR-DOS. + Nemo master HDD boot sec loader по Zet9. Грузит с 3-го сектора 0-й головы 0-го цилиндра #6000 байт по адресу #6000 и запускает оттуда же. - не работали Keep'ы на DOS6.05. Теперь DOS6.05 (точнее, его вариант с перевёрнутым рамдиском: "dos6b05e.r") - официальный ДОС для Глюка. Прилагается новая версия настройщика DOS6.05, теперь в виде исходника ALASM, а не в виде исходника устаревшего STORM. - в досе при операциях с рамдиском текущая страничка определяется по 4, а не по 2 байтам, теперь ошибки практически исключены. * поскольку рамдиск теперь растёт вниз, то его форматировать в Глюке можно на разный размер (508k/764k/892k). В самом досе форматилка делает 508k. Как обычно, 7ffd/bit5 - старший,
далее bit7,6,2,1,0, то есть 508k - рамдиск, невидимый для программ. * запуск бейсиков - с чёрными атрибутами (вредно для начинающих кодеров! см.ниже). * очищает память при запуске файлов (тоже вредно для начинающих кодеров - сделано для быстрого просмотра старого глючного софта из архивов). - нажаты кнопки мышки - тоже нет мышки (для zx_emul без драйвера мышки - когда половины железа на писюке нет, только мама, видюха и дисковод, а поюзать емуль хоцца :)))). - CMOS #6: 0 при BCD=1 (1 при BCD=0) как воскресенье (Dallas), может быть, неверно. Кто проверит? Эмулятор не считается! + выбор дисковода горячими кнопками "1"-"4". + горячая кнопка щёлкания режима памяти - "M". + куча горячек в самих меню (они выделены заглавными буквами). - режим 48k работает и на метре (eff7:2=1, 7ffd:5=1). - запуск первых никронов без шипения. Там ay8=ay9=ayA=#F. Теперь ay7=#FF. + опция выхода в pg7:c000 с проверкой наличия там RC/QC. + чистый звучок для Covox (чтобы быстро протестировать работу старших битов Covox) - при закрытии
окна "GO SLEEP, STUPID USER!" {пардон, теперь в цветовой таблице}. + добавлена демка Reset+D. Автор PSB^Halloween^3umf, демка называется Grass! Интересно, как она работает? ;) В ней можно протестировать все 3 канала AY (в A - огибающая, в B - тарелочки, в C - барабанчики). Бипер уже есть в Perfect. + стандартная точка входа в Глюк, торчащий в 0-й странице ПЗУ: #3d2f=nop:ret. + сбросы с 0,2,ss,5,7 - для ромдиска (соответственно 0-я, 2-я, 4-я, 5-я и 7-я страницы ПЗУ, если Глюк прошит в 6-ю. Последние три запускаются через точку #62, там должно быть: pop bc,af:inc sp,sp). * выход в кэш теперь по адресу #66. + выход в кэш по Reset+H по адресу #60, там должно быть nop:nop:pop bc,af:inc sp,sp - для сохранения всех регистров. * clear cache очищает #0000..#61 и кладёт по адресу #62 pop bc,af:inc sp,sp. В общем теперь сброс в кэш - это аналог Magic :) * при выходе в STS даёт ему в стеке 23600 (и не портит эту память, см.ниже!), для новых STS'ов 7-й версии. - границы выбора опции мышкой были неверные. - при выключении
CMOS не перерисовавалась часть экрана под часами. + память #c000 в 0-й страничке больше не занимается под экран. - каталог для Gluk Boot и Keep Trk портил 0-ю страничку. + появились опции стирания 128k памяти и ВСЕЙ памяти (т.е. 1M по порту пентагона). При стирании метра сначала грохаются "правые" 512k (D5=0), а потом "левые". Если на борту всего 512k, то включится 48k... + появилась опция стирания ОЗУ ниже стека. + boot устанавливает шрифт UDG. ! процедуры инициализации больше не занимают ОЗУ. + если при сбросе видит аласм в #8000 - прячет его в страницу #51 (точнее, обменивает с ней). Теперь можно нажимать сброс прямо в аласме! * убито всё, завязанное на "защиту от взлома" ("D","S","C"). ! в исходнике можно убрать и день рождения Mr Глюка (10 августа), если вы его за что-то не любите :( + вместо 2 таблиц системной области памяти (#5c00-#5fff) теперь всего одна и короче. Не стирает резидент аласма. Даже почти не стирает бейсик :) + ставит правильный 24-байтный стек бейсика, а не один адрес #1bb0 (RST 8:#ff
). * кнопки отключения цмоса и мыши перенесены на 8, 9. + Reset+C - цветовая таблица. Тестируются цвета, Bright, Flash и их взаимное наложение на мелкой сетке. Любая кнопка меняет цвет бордюра - тоже важно. + выбранный режим памяти устанавливается и при выходе в TR-DOS, и при выходе в RC (раньше было только в BOOT и PC). + в инициализации (см.конец *.rom) имеется три #ff-ки, в которые пользователь может позже дошить вызов своего кода, не стирая ПЗУ. Также имеются #ff-ки в перекидывалке аласма, но для их задействования нужно одновременно забить пару байт NOP'ами. fix (6.0R mar 2005): - не устанавливался режим памяти при запуске из BOOT. - неправильно прорисовывалось окошко 2-й страницы каталога. * надписи в TR-DOS приведены в современное состояние, и, чтобы её не путали с оригинальной 6.05E, ей присвоено почётное звание 6.09E. + добавлен простой TR-DOS копировщик 160 дорожек с текущего диска на выбранный (например, на рамдиск. Предварительно форматировать рамдиск не обязательно). Порти
т 0-ю страницу - юзает её как буфер. Если будут пожелания, сделаю через экран и/или 9 секторов буфера под каталог... + добавлен дискдоктор. Сначала следует ввести три цифробуквы дорожки-сектора, потом становится доступно редактирование. Работают стрелки, цифробуквы, cs0 - восстановить байт, ssQ - сдвиг, ssW - раздвиг, csEnt - сохранить, L - загрузить другой сектор, Break - выход. - сброс в ROM#2 теперь Res+U, как в меню. + Res+S=CMOS Setup. Действуют стрелки и цифробуквы. Изменения заносятся в CMOS незамедлительно. Существующие загружаемые аналоги перебивают друг друга по размеру в секторах ;) + Res+любая незадействованная клавиша=HELP. - Res+D по ошибке включал страничку ПЗУ 128-го бейсика, оставлял включенной текущую страничку ОЗУ и не менял IM0 на IM1. + клавиатура действует и тогда, когда мышь на окне. "Огонь" на мышке опознаётся только если мышка находится на подсвеченной опции. - убрана ещё одна несовместимость с колесом мыши. * очищается начало не 1-й страницы кэша, а 0-й (параллельной 128-му меню, а
не 48-му бейсику), ибо Res+H идёт именно в 0-ю. Обычно программы устанавливаются в 1-ю, Wolf2004 и ZXRar также пользуются 1-й. Выход в кэш через меню идёт в 1-ю страничку кэша по адресу #66, для этого ничего очищать не надо. + в исходнике можно выключить фишку с подменой двух опций (см. ниже, в описании). + Break при вводе трека-сектора в докторе - перейти к редактированию без чтения или отменить ввод (как в HDDoct). + при выходе в 48 basic и 128 menu тоже устанавливается выбранный режим памяти. - включал Caps Lock при запуске программ. - поверх сохраняемого экрана светилось знакоместо будильника - было некрасиво. - доктор не стирал часы. * окно boot - непрозрачное, доктор тоже. - подправлена раскраска mem=48, сдвинута пара меню. - по ошибке включал #17 страницу при запуске бейсиков. - не показывал и не сохранял 2-й экран. / всё-таки возвращён щелчок в I KNOW ALL вместо шипелки, а шипелка опять в канале A и опять в GO SLEEP (отвыкнуть трудно). + цвета в цветовой таблице пересортированы так, что на границе ср
едней и нижней третей можно проверять одинаковость яркости чистых тёмных и черессеточных ярких красок. Плюс флеш теперь показывается на элегантных квадратиках... - стрелочка на часах их затирала. + дисководы и режим памяти можно щёлкать мышкой. + самые ходовые опции подсвечены разными цветами. fix (6.1R 22 jun 2005): - Perfect не работал на ATM turbo 2. * в Perfect исправлен символ V. + добавлен бейсик-загрузчик. - в DOS6.10e убран якобы "фикс" команды PEEK, из-за которого менялось расширение (#5ce5) при команде чтения файла, а в результате глючил Wolfed. + в дискдокторе дорожка-сектор вводятся с курсором. * встроенный хелп - только по нажатию буквенной кнопки, не считая U, H, X (чтобы не портило экран при случайном нажатии). v6.2 (30 mar 06) + reset+2 любых кнопки одновременно - тест клавы - хелп показывается только при res+ОДНОВРЕМЕННО кнопка - 48k с пофиксенным NMI, -65536, INT и т.д. (на основе ПЗУ 1991 года) - пофиксено повисание по Enter в процессе редакт
ирования, когда RAMTOP слишком низко + версия для ATM turbo 2+ - исправлена инициализация HDD - PC: DISK FULL CONTINUE COPY Y/N - курсор мигал в Y=15 - после смены диска глючило окно бута v6.3 (1 sep 06) - не портится резидент в системных переменных TR-DOS + можно установить bit7 в #10 ячейке CMOS и не запоминать дисковод + программное выключение turbo кнопкой W (на Pentagon 1024SL v2.1 порт #eff7 bit4 [инверсно], а на ATM turbo2+ порт #ff77 bit3). Сохраняется в bit7 #0E ячейки CMOS + подсказки в CMOS setup + CD boot по стандарту Time Gal / ACNews #45 / IG #9 2:5029/77.48 Dima Bystrov(Alone Coder) alco@mail.ru (4912)751390 390026 Рязань, Высоковольтная 37к.1, кв.12 Быстрову Дмитрию Мих.