Wallpaper #07
06 ноября 1999
  TR-DOS  

Письмо в номер - CompoWellcome о новой прошивке TR-DOS v6.05E

<b>Письмо в номер</b> - CompoWellcome о новой прошивке TR-DOS v6.05E
          ╔───────────────────╗
          │ 4. ПИСЬМО В HОМЕP │▐
          ╚───────────────────╝▐
           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

   От редакции:  CompoWellcome  продолжает
радовать нас своими новыми прошивками ПЗУ.
Окольными путями добиралось  это  послание
до нас. Но это уже отдельная история...

           ─────═════════─────

(c) CompoWellcome

      TR-DOS v6.05E vs TR-DOS v5.13F
                   или
 все что Вы хотели знать о TR-DOS 6.05Е,
           но боялись спросить.

   В связи с выходом Узбекистанских  спек-
трумистов (в количестве  четырех  штук)  в
Фидо, было решено с гордостью объявить  на
весь мир (Спектрума) о том, что не  только
в столь далекой (или  близкой,  кому  как)
России изготовляются новые ПЗУ'шечные при-
бамбасы к нашему компьютеру. То, что писа-
лось ранее о этой прошивке в Wallpaper'е -
полный suxx, потому что во-первых расчиты-
валось   только   на  местную  публику,  а
во-вторых было давно и не правда :-).

   Итак,  приступим к рассмотрению и срав-
нению всевозможных наворотов в ДОС'ах 6.05
и 5.13.

                -= CUT =-

   Для  несведующих:  TR-DOS 5.13F - новая
:) прошивка ДОС'a (и только) с разными на-
воротами  из  России,  а TR-DOS 6.05E вещь
местного производства ;-))).

                -= CUT =-

   Сразу оговорюсь, что в  нашей  прошивке
подвергся изменению не только  ДОС,  но  и
BASIC 128 (вместо 128  Basic'a  можно  ис-
пользовать MadRom).
   Предварительно должен  признаться,  что
большинство  идей  отнюдь  не собственного
производства,  а  взяты  из  самых  разных
ДОС'ов.  После  чего  все  было засунуто в
TR-DOS  5.04Е (если не ошибаюсь). Да и са-
мой статье используются отрывки :) из опи-
сания того ДОС'a, за что его автору (ДОС и
описания) большое спасибо!

              Пункт номер 1.

  Форматирование дискет в 3-х вариантах:

   ORIGINAL - обычный формат;

   TURBO  - форматирование диска с  другим
расположением секторов, что приводит к ус-
корению операций чтения/записи диска  при-
мерно в 2 раза;

   FAST-TURBO - форматирование  аналогично
TURBO, но без операции проверки  (если  Вы
уверены в качестве ваших дискет), при этом
ускоряется сама операция форматирования.

   Turbo формат 6.05 ДОС'а уступает форма-
ту ДОС'а 5.13, так как сделан  без  смеще-
ния секторов. Мысль об этом  была,  но  по
причине крайне редкого  использования  ко-
манды TR-DOS 'FORMAT' (в основном для этих
целей используется Honey Commander) реали-
зовано небыло.

   Bыбор формата производится  по  запросу
DOS после  ввода  обычной  команды  FORMAT
клавишами <1>, <2> или <3>. Kлавиша  <SPA-
CE> отменяет команду.  При  форматировании
выдается сообшение о номере  форматируемой
в данный момент дорожки и  стороны  диска.
После  окончания  форматирования  выдается
запрос на его повтор.

              Пункт номер 2.

   При записи файла на диск в случае  если
файл с таким именем на диске есть DOS  вы-
дает запрос о стирании старого файла. Если
Вы ответите <Enter> или  <Y>  старый  файл
будет стерт и на его место  будет  записан
новый файл если  он  не  длиннее  старого.
Если же новый файл длиннее,  то  он  будет
записан как обычно  с  первого  свободного
сектора диска, а в каталоге  появится  еще
один стертый файл. Релизено немного глюко-
вато. Глюк вылазит  при  записи  такого-же
файла, но с меньшей длиной. Файл-то  запи-
шется но длина нового  файла  будет  равна
длине старого.
   Аналогов в TR-DOS 5.13 не имеется.

              Пункт номер 3.

   В описании к ДОС  5.13  пишут:  'Удален
автотест дисковода. Дисководы  принимаются
все 2х80, шаг 6  мкс'.  Imho,  так  делать
нельзя. Не раз возникала ситуация (на раз-
ных машинах) когда дисковод  после  сброса
при первом обращении  упорно  отказывается
выводить бошки на нулевой трек.  Возникает
в основном если до этого  какаянить  прога
ухитрилась загнать их в самый конец диска.
В ДОС'е 6.05 мы вернули  автотест,  только
укоротили его.

              Пункт номер 4.

   Ускорeнная команда MOVE. В обычной вер-
сии ДОС команда MOVE наиболее  длинная  по
времени работы, кроме того создается  впе-
чатление, что дисковод  больше  стоит  чем
работает. Это объясняется тем, что  каждый
раз  при  перемещении  файла  производится
чтение каталога и запись в него. В  данной
версии чтение и запись  каталога  произво-
дятся один раз. Информация каталога сохра-
няется в ОЗУ и все  операции  с  каталогом
(только в  команде  MOVE)  производятся  в
ОЗУ, что значительно ускоряет  работу  ко-
манды, в среднем в 3 - 4 раза, а в некото-
рых случаях и более.
   Аналогов в TR-DOS 5.13 не имеется.

              Пункт номер 5.

   Введена новая команда -  переименование
диска: MOVE "name". При этом команда  MOVE
не выполняется, а просто имя  диска  заме-
няется на "name".
   Аналогов в TR-DOS 5.13 не имеется.

              Пункт номер 6.

   В DOS 6.05E изменен редактор  командной
строки. Во-первых, устранена  неприятность
которая возникает при входе в  DOS  в  128
режиме. Во-вторых, устранено влияние  кла-
виш  редактирования,  которые   перемещают
курсор строки в 48 режиме. И наиболее важ-
ная часть - возможность вызова  предыдущей
команды с помощью клавиши <EDIT>. Если  Вы
хотите повторить операцию или повторить ее
с немного измененными параметрами, то мож-
но вызвать ее сразу после  выполнения  на-
жав клавишу <EDIT>. Если же Вы что-то наб-
рали в командной строке, то клавиша <EDIT>
не сработает  (в  стандартной  версии  это
приводит к вызову строки из BASIC програм-
мы).
   Аналогов в TR-DOS 5.13 не имеется.

      Пункт номер 7 (самый большой).

   DOS 6.05E разумеется поддерживает рабо-
ту с RAM-диском,  основанном  на  дополни-
тельном ОЗУ до 1024k. При этом 4k отводит-
ся под каталог и некоторые другие функции,
а остальная свободная память отведена  под
рабочее пространство RAM-диска.  Для  ини-
циализации RAM-диска используется  команда
FORMAT "d:name". Далее с диском  D:  можно
обращаться как с обычным дисководом, с той
лишь разницей, что  этот  диск  невозможно
сменить и при выключении питания  информа-
ция на нем теряется.
   Полезным свойством является то, что при
сбросе информация  на  диске  D:  остается
невредимой, и возможна дальнейшая работа с
ним без операции FORMAT.
   Для системных программистов важно,  что
работа с RAM-диском не отличается от рабо-
ты  с  обычным диском  через  входы #3D00,
#3D03, #3D13 и при обращении в DOS к  под-
программам, работающим на уровне работы  с
секторами диска. Программы записи  и  чте-
ния секторов работают даже если диск D: не
был 'отформатирован'. Пользователь в  этом
случае имеет всю память RAM-диска, но  без
файловой организации.
   Программы использующие прямое  програм-
мирование К1818ВГ93 естественно  не  рабо-
тают.
   Под RAM-DISK, по  умолчанию,  отводится
не все 1024К ОЗУ, а только  старшие  512К.
Нижние 512К отведены под резидент (см. ни-
же). В следствии  этого  пришлось  сделать
возможность чтения из порта  #7FFD  (аппа-
ратно, как - см. ниже) для определения те-
кущей страницы ОЗУ всех нижних 512К.

                -= CUT =-

   Лично я использую программное определе-
ние  текущей  страницы, хотя конечно это и
не позволяет отслеживать состояние второго
экрана  (а  оно надо?). Но это уж кому как
больше нравиться.

                -= CUT =-

   Благодаря  чему можно из RAM-DISK'а за-
пускать не только 128К программы (например
Страну Мифов).
   Порт  расширенной  памяти  используется
#7FFD. Если кто захочет может сделать свой
(инсталлятор поставляется).

     Пункт номер 8 (гораздо меньше).

   Magic'и... Ну что тут скажешь?  Целиком
и полностью  передрано  из  ДОС  5.13  ;).
Имхо, рульные возможности  (цитирую  отры-
вок из описания 5.13):

   "Значительно расширены функции  волшеб-
ной кнопищи. При ее нажатии комп  подвеши-
вается, и ждет нажатия:

  1 - запуск стандартной процедуры  сохра-
нения, только еще сохраняется, а при  заг-
рузке восстанавливается  и  корректируется
регистр R.

  2 - то же самое, но  стек  помещается  в
низ экрана. Предназначено для взлома.

  3 - Переход в STS. BANK=#57

   Два  числа  на стеке и несколько байт в
области атрибутов - в зависимости от поло-
жения  стека.  Перед  входом в STS гасится
музыкалка. PC в STS'е показывает место ос-
танова,  но не всегда. Его можно точно уз-
нать под стеком.

  4 - Возврат в программу. Выполняет  фун-
кцию паузы.

   В некоторых прогах  стоит  проверка  на
адрес перехода в тырдосе (#0066),  и  если
магик нестандартный, то  облом.  В  данной
версии такие проверки не  найдут  отличий:
перехват осуществлен  в  начале  засирания
стека."

              Пункт номер 9.

   Имеется доступ ко всем  регистрам  кон-
троллера  K1818ВГ93  аж  двумя  способами.
Утянуто из разных версий.

   Первый способ (скорпионовский):

       #3FF0 OUT (C),A:RET
       #3FF3 IN A,(C) :RET

   Второй (весьма  странный)  через  новые
системные вызовы #3D13:

 #0D  - Регистр D содержит  младший  адрес
порта, регистр E данные в него. Если необ-
ходим и старший адрес порта, то он  указы-
вается в регистре B.

 #0F - Регистр D  содержит  младший  адрес
порта, на выходе в регистре  E  данные  из
него. Если необходим и старший адрес  пор-
та, то он указывается в регистре B.

   И еще две (в довесок):

 #10  -  Вызов подпрограммы записи  #3FBA.
В  регистре HL адрес области данных, в DE
- время ожидания готовности ВГ93.

 #11  -  Вызов подпрограммы чтения  #3FD5.
В регистре HL адрес  буфера,  в  DE  время
ожидания готовности ВГ93.
  Аналогов в TR-DOS 5.13 не имеется.

             Пункт номер 10.

   Разумеется исправлена  ошибка  TR-DOS'а
работы с большой группой секторов команда-
ми 5 и 6 из #3D13 (см.ZF#3).

             Пункт номер 11.

   Имеется  встроенный  Mini-boot  который
запускается из TR-DOS по команде '8' (быв-
шая команда 80). Уж незнаю кто  был  авто-
ром этого бута, но мы его немного  дорабо-
тали (sorry...). В связи с тем, что перек-
лючаться на драйв 'B'  возможно  не  шибко
быстро, в нем реализован автопоиск  дисков
в дисководах 'A' и 'B'. Например выходим в
ДОС  (диск в дисководе 'B') нажимаем '8' и
через две-три секунды boot сам переключит-
ся на него! И еще выбрать текущий диско-
вод в boot'е можно клавишами 1-4, а клави-
ша 'D' - Reset Dos.
  В ДОС 5.12 был вроде-бы небольшой  копи-
ровщик, который судя по описанию  из  вер-
сии 5.13 выкинули...

             Пункт номер 12.

   Аналогично версии 5.13 в нашем ДОС  вы-
кинут тест памяти, заполнение которой сде-
лано через команду PUSH, вследствии  этого
скорость RESET-DOS выросла немерянно...  А
также, через  PUSH  очищается  память  при
сбросе в BASIC 128, с аналогичными послед-
ствиями :).

             Пункт номер 13.

   Опять-таки как и в версии  5.13  значи-
тельно ускорено чтение с дисковода. Намно-
го быстрее читают даже такие программы как
iS-DOS и Honey Comander'e, не говоря уже о
программах  типа  Conver  Comander,   Real
Comander или командах TR-DOS LIST и т.д.
   Ускорять запись, как показали  экспери-
менты, к сожалению нельзя. Некоторые  дис-
ководы не успевают раскрутить  диск,  пос-
ледствия сего ужасны...

             Пункт номер 14.

   Исправлены  некоторые  мелкие    глючки
TR-DOS (какие именно уже не помню). И так-
же как и в ДОС 5.13 по команде  NEW  можно
узнать дату последнего изменения кода.

   Так  называемый  'Родионовский   вектор
прерываний #0900-#0А00' затронут  не  был,
все программы использующие его  идут  нор-
мально.

        Дополнительные возможности
     полученные небольшим изменением
   BASIC 128 совместно с TR-DOS 6.05E.

              Пункт номер 1.

   Естественно  поддерживается  резидентом
Honey Commander,  но  благодаря  изменению
BASIC 128 попасть в него можно  при  любом
сбросе (кроме 48-го ;-), в отличии от вер-
сии 5.13,  в  которой  перехват  резидента
возможен только при RESET-DOS.  Возможнос-
ти резидента в  нашей  версии  значительно
расширены, перехватывать сброс может абсо-
лютно любая программа с минимальными  зат-
ратами памяти.  Достаточно  разместить  по
адресу  #FFF0  в  странице 31 (#1F) строку
символов  'Residentpresent!'  (без  пробе-
лов),  и  сразу же после сброса управление
будет  передано  на  адрес  #C000  этой же
страницы.
 
    Под этот резидент уже переделаны:

 Real Comander, Conver Comander, FPM (две
 версии), Luxe Copy, Direct Comander, bo-
 ot Турбинова и boot Родионова, STS.

   Возможно что-то  еще,  что  я  упустил.
Пользоваться такими программами стало не в
пример удобнее. Дополнительно в Conver и в
Luxe Copy встроена гасилка экрана.

              Пункт номер 2.

   Имеется программный RESET-DOS с возмож-
ностью выбора любого дисковода,  если  при
сбросе  держать  нажатыми   клавиши    1-4
(1-дисковод A, 2-B и  т.д.).  К  сожалению
работает только на тех машинах,  где  кла-
виатура  при  работе  ДОС  не  блокируется
(PROFI, PENTAGON,  ATM...).  Также  значи-
тельно облегчает работу с RAM-DISK'ом  (не
надо писать постоянно '*"D"' ;-).

              Пункт номер 3.

   Если из заставки BASIC 128  при  выборе
пункта '128 TR-DOS' нажать не  просто  EN-
TER, а с CAPS-SHIFT'ом (можно и EDIT  :-),
то автоматически при выходе в ДОС с  теку-
щего дисковода будет  запущен  файл  boot.
Совсем как в Скорпионе, только корректнее.
  Само-собой 'Tape Loader' из заставки вы-
кинут, а стоит '48 TR-DOS'.

              Пункт номер 4.

   Нажатие 5+RESET вызывает сброс с  игно-
рированием всех  резидентов.  Очень  редко
бывает (при  копировании  всего  диска  за
раз) убивается часть  резидента  так,  что
после сброса комп уходит в полную  медита-
цию, вывести его из которой  можно  только
выключением питания.

   Конечно, многие пункты теряют свою  ак-
туальность при  использовании  MadRom,  но
все-же он есть не у  всех,  да  и  большую
часть доработок я делал тогда, когда и  не
подозревал о существовании такой штуки как
MadRom.

               Инсталлятор

   Инсталлятор поставляется в виде  исход-
ника к Storm. После  его  компиляции  соз-
дается рабочий файл для  прошивки  в  ПЗУ.
Полный комплект поставки  прошивок  должен
содержать следующие файлы:

 128_resd.P  16К BASIC128 резидент
 128_norm.P  16K BASIC128
 dos6_05e.P  16K TRDOS    резидент
 dos_inst.C  исходник-инсталлятор DOS
 mad_inst.C  исходник-инсталлятор MADROM
 md615d5^.P  ─┐
 md896d5^.P  ─┤ прошивки MADROM
 md896d5v.P  ─┘

                             Приложение

       Схема чтения из порта #7FFD.
(требуется только для компьютеров с 1024К
ОЗУ) и если имеется охота отслеживать сос-
         тояние второго экрана :)

                   ┌─        ИР22
                   │  Q0  3┌──┬─┬──┐2  D0
                   │    ───┤D0│ │Q0├─────
 Выхода ТМ9 порта  │  Q1  4│  │ │  │5  D1
      #7FFD        │    ───┤D1│ │Q1├─────
 D62 для Пентагона.│  Q2  7│  │ │  │6  D2
                   │    ───┤D2│ │Q2├─────
                   │  Q3  8│  │ │  │9  D3
                   └─   ───┤D3│ │Q3├─────
                         13│  │ │  │12 D4
                   +5V о───┤D4│ │Q4├─────
                         14│  │ │  │15 D5
                   ┌─   ┌──┤D5│ │Q5├─────
 Выхода ТМ'ки порта│bit0┴17│  │ │  │16 D6
 расширения памяти │───────┤D6│ │Q6├─────
 до 512К.          │bit1 18│  │ │  │19 D7
                   │───────┤D7│ │Q7├─────
  1н ПЗУ 27512     └─     1├──┤ ├──┤11
  ───────────────┐     ┌───┤OE│ │PE├──┐
     ЛЕ1         │ ЛЛ1 │   └──┴─┴──┘  ┴
  A1  3┌─┐       │1┌─┐ │
   ────┤1│1      └─┤1│3│
  A15 2│ о─┐ ЛА3  2│ ├─┘
   ────┤ │ │1┌─┐ ┌─┤ │
       └─┘ └─┤&│3│ └─┘
       ЛЕ1  2│ о─┘
/IORQ 5┌─┐ ┌─┤ │
   ────┤1│4│ └─┘
 /RD  6│ о─┘
   ────┤ │
       └─┘

   Порт   активным   становится  только  в
ДОС'е,  посему  несовместимостей внести не
может. Проверить правильность сборки порта
можно проверить моим TEST v4.22.              
   Для более удобной работы с  RAM-DISK'он
я написал программку, как в IS-DOS, IMAGE.
Она также позволяет сохранять RAM-DISK  на
дискету, восстанавливать  его  с  диска  и
просто скопировать любой  диск  в  память.
Работает,  естественно,  только  с  TR-DOS
6.05E и RAM-DISK'ами размером 512,  384  и
128К. RD на 896К не поддерживается по при-
чине отсутствия смысла.
   Все прошивки и сопутствующее  им  прог-
раммное обеспечение распространяется абсо-
лютно БЕСПЛАТНО, найти вы  их  сможете  на
станции Zero BBS TashZXNet.

  Засим, Au revoire!

           ─────═════════─────

   Примечание редакции: от себя можем  до-
бавить, что попользовавшись  этой  прошив-
кой около полугода мы  выяснили,  что  это
куль и руль фарева! В версии для 512К  Ram
есть такой кактус, что RAM-диски от  Honey
Commandera и DOSa  совпадают. То есть воз-
никла как-бы  интегрированная  среда.  Так
что к этой версии  прошивки  мы  прилагаем
свою рекомендацию.






Другие статьи номера:

ZX новости - о прошедших демопати, Ташкентской ZXNet и т.д.

В помощь - о модемах, сетях и сетевом общении.

Железяки - расширение памяти ZX Spectrum (подключение SIMM 4Mb).

От реадкции - об измениении принципа изложения информации.

Письмо в номер - CompoWellcome о новой прошивке TR-DOS v6.05E

Смешно? - юмористический рассказ "Mortal Kombat".


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Второй специальный выпуск - Третий международный фестиваль компьютерного искусства "ENLIGHT'97". Вступление и заявлением Председателя Оргкомитета.
Мысли - Вещи. Joker.
Доска почета - Опpеделения принятые на демосцене и спектруме.
Speccy - Спектрум мертв. Сцены больше нет!
События, факты - Черный ворон-2.

В этот день...   21 ноября