Кто-нибудь поподробней может рассказать об этой версии TR-DOS? Кто-нибудь с ней работал? Как организована работа с HDD?
Вид для печати
Кто-нибудь поподробней может рассказать об этой версии TR-DOS? Кто-нибудь с ней работал? Как организована работа с HDD?
По слухам эта версия создает в памяти компьютера виртуальный диск, с которым можно работать также, как и с физическим. Кроме того, информацию с этого виртуального диска можно скопировать на винт, либо наоборот скопировать информацию с винта в виртуальный диск. При нажатии на кнопку сброса виртуальный диск не стирается.
+1Цитата:
Саму прошивку в студию.
Сам давно хотел заценить)
Этой прошивки вроде нет ни в одной подборке прошивок спека... я покраней мере не нашел. Я откомпилировал ее из исходников с дискеты с исходниками GLUK с сайта Alone Codera. Для запуска в эмуле надо включтить Nemo IDE. Есть причины думать что для нормальной работы прошивки еще надо свой Basic 48.
уж не знаю тот ли это zet9 :) но один у нас есть на форуме
Подозреваю, что это таки наш Zet-9, который пишет DNA-OS, ибо если установить в Unreal пустой образ HDD и выбрать контроллер ATM,SMUC или PROFI, то получим такой вот скриншот :) а вот если NEMO или NEMO (A8) то ничего :(
Мой скриншот сделан как раз с включенной функцией NEMO IDE... причем пришлось перебрать пару версий Unreal пока прошивка заработала (не заню с чем связано). То что прошивка под Nemo IDE, написано в исходниках. Причем ее можно компилировать как под Pent так и под Profi. Может быть автор прошивки что-нибудь прояснит?
Вообще я занялся всеми этими прошивками только из-за желания прикрутить к Phoenix RAM-диск. Вообще бы было идеально найти прошивку от KAY с поддержкой RAM диска, тогда ничего не надо было бы переделывать... Такая существовала?
---------- Post added at 11:09 ---------- Previous post was at 11:08 ----------
тоже думаю что он
А где бы такую прошивочку взять? Нигде не нашел... под Профи, Пентагон есть... а вот под KAY нет.
А как инициализировать RAM-диск?
---------- Post added at 16:56 ---------- Previous post was at 16:52 ----------
Вот я дурень!
1) Я считал что рамдиск обычно D (в большинстве прошивок так и сделано)
2) Я считал, что в TR-DOS 5.04T его нет!
Разобрался...
Не буду про компиляцию с исходников Глюка. Покурил прошивку в дизасме. Прошивка скомпилена под порты Профи. И для обращения к портам Немо контроллера вызываются процедуры из ПЗУ бейсик48, потому как напрямую порты контроллера из тырдоса недоступны.
---------- Post added at 19:24 ---------- Previous post was at 19:23 ----------
Если ты про рамдиск, то откуда в 5.04Т рамдиск? Его там никогда не было.
Доброго времени суток!
Эта прошивка у меня на Пентагоне до сих пор работает
Сейчас расскажу
Она состоит их двух частей 16К тр-дос и 16К бэйсик48
если винчестер не подключен? то на диске Д - рамдиск по стандарту расширения Профи на 896К (а в исходнике можно поменять на Пентагон 1024К )
Прошивка позволяет подключить одновременно 4 образа дискет (файлы .trd)
к дисководам A,B,C,D при этом информация о подключенных образах сохраняется
на винчестере - и после включения Спектрума можно сразу с этими образами работать
Перехватывается обращение программ к #3D13 и перенаправляется в в файл образ
Чтобы подключать образы? используется утилита mount - запускаемая из оболочки в DNA OS - т е необходимо зайти в папку с образом - навести стрелку на имя файла трд и нажать ентер
---------- Post added at 11:32 ---------- Previous post was at 11:21 ----------
Если нажимать на образ на правой панели - то он подключается к диску А - а если на левой панели то к диску С - это настраивается в оболочке (файл SHELL.SEP) - потом подробнее расскажу
Файлы образы трд подключаются втом случае? если они расположены на первом (основном разделе винчестера) - со второго раздела(который обычно расширенный-дополнительный) их подключить нельзя
Винчестер нужно такой который поддерживает режим LBA (как правило это винты объемом 540 Мегабайт и более)
Винты CHS тоже поддерживаеются - но их не надо использовать так как в драйвере есть ошибка - в результате которой после записи сектора проихсодит зависание на некоторый коммандерах
На винчестере первый раздел дожен быть отформатирован в фаловую систему FAT32 (лучше) или FAT16 (хуже) в связи с тем что прошивка работает с непрерывным файлом trd - в фат 32 файлы всегда непрерывные (если они созданы в системе DNA - это так из-за особенности драйвера - но фрагментированными они будут если в другой проге создавались ) а в фат16 могут быть фрагментированы
---------- Post added at 11:33 ---------- Previous post was at 11:32 ----------
Если нажимать на образ на правой панели - то он подключается к диску А - а если на левой панели то к диску С - это настраивается в оболочке (файл SHELL.SEP) - потом подробнее расскажу
Файлы образы трд подключаются втом случае? если они расположены на первом (основном разделе винчестера) - со второго раздела(который обычно расширенный-дополнительный) их подключить нельзя
Винчестер нужно такой который поддерживает режим LBA (как правило это винты объемом 540 Мегабайт и более)
Винты CHS тоже поддерживаеются - но их не надо использовать так как в драйвере есть ошибка - в результате которой после записи сектора проихсодит зависание на некоторый коммандерах
На винчестере первый раздел дожен быть отформатирован в фаловую систему FAT32 (лучше) или FAT16 (хуже) в связи с тем что прошивка работает с непрерывным файлом trd - в фат 32 файлы всегда непрерывные (если они созданы в системе DNA - это так из-за особенности драйвера - но фрагментированными они будут если в другой проге создавались ) а в фат16 могут быть фрагментированы
---------- Post added at 11:44 ---------- Previous post was at 11:33 ----------
Перед использованием прошивки неободимо в корневой каталог первого раздела поместить файл с именем DNA_OS.SWP - файл должен быть непрерывным
его длина должна быть 128,5 Кб или более - можно например скопировать любой файл с сд-рома на винт и переименовать его
прошивка использует буфер 512 байт из этого файла при записи секторов в образ трд
остальные 128 Кб нужны вот для чего:
при нажатии кнопки магик происходит сохранение регистров процессора в стек и запись всей 128-й памяти в эту область а далее прошивка загружает ОБРАБОТЧИК КНОПКИ магик в память на адрес #6000 из загрузочной области винта (с сектора 2 считая сектора с нуля) - а там по умолчанию ядро системы DNA, которая сразу грузит оболочку
Если при нажатии кнопки магик держать кнопку symbol shift - то прошивка загружает из буфера 128Кб в память - восстанавливает регистры процессора и передает управление на то место на котором была прервана программа
Прошивка очень интересная... особенно полезно то, что инфа о подключеных образах сохраняется.
А где можно взять бейсик 48 для этой прошивки?
Хотел бы попробовать переделать прошивку под стандарт памяти KAY/Phoenix... я так понимаю проще всего будет подправить часть исходника для Профи (т.к. в нем как и в KAY тоже 2 порта отвечающие за переключение страниц памяти). Бейсик 48 тоже надо будет подправить?
Ещё более интересна следующая версия прошивки за 2007 год (версия 2.05)
Эта версия,которая здесь выложена - это версия 1.35 за октябрь 2005 г - она основана на прошивке Матлаша, но очень сильно переработанной - и она компилируется в тр-дос 5.30(такое название ей дал Влад Матлаш - он исправлял ошибки версии 5.04 и постепенно добавлял ей номера версий)
Достоинство версии 1.35 - в том что она проверена на реальном спеке в течение нескольких лет - все основные недостатки и ошибки известны
---------- Post added at 15:29 ---------- Previous post was at 15:14 ----------
Новая версия (2.05) на реальном Спектруме не была проверена (ибо на тот момент у меня уже не было возможности прошивать пзу) - её отличие в том, что она основана на прошивке TRDOS 6.11E от Alone Coder'a
т.е она летает на дисковых операциях по сравнению с медленной 5.30
В ней работает около 90 процентов программ (в старой работает около 70-ти процентов)
там в разделе Железо в теме вопрос по IDE было отличие
Могу её (2.05) здесь выложить
---------- Post added at 15:33 ---------- Previous post was at 15:29 ----------
Там в выше процитированном местами устарело немножно (касаемо номеров версий)
Вот ещё что-то похожее (из Вопроса про IDE стр 5):
Там в выше процитированном местами устарело немножно (касаемо номеров версий)
Вот ещё что-то похожее (из Вопроса про IDE стр 5):
---------- Post added at 15:39 ---------- Previous post was at 15:34 ----------
так там на диске с исходниками Глюка должна быть
Там три файла исходника - 2 из них (TRD530_A.H и TRD530_A1.H)компилируется в пзу трдос (там она должна быть) а один (TRD530_B.H)в пзу бэйсика (например 1982.ROM)
Файлы прошивок в архивах mzrom135.zip и mzrom205.zip по два файлика (трдос 16Кб и бэйсик48 16Кб)
для версий 1.35 и 2.05
Исходники версии 2.05 в архиве mzsrc205.zip
Вот ещё пзу в оставшиеся 2 четверти микросхемы на 64К
rc196hdd.zip - ром-версия программы Real Commander 1.96 со встроенным загрузчиком с винчестера master по нажатию пробела+ресет (при нажатии sym.shift+ресет со винчестера slave) - прошита у меня вместо basic128
gluk63r.zip - стандартный Глюк от Алко версии 6.3R
Чтобы можно было желающим посмотреть прошивку 2.05 в эмуляторе Unreal 0.34 краткое руководство попробую составить
Вот файлики - система DNA и прога KILLHDD.SEP
В Unreal надо на вкладке мемори подключить пзу
-для бэйсик 48 - 2006_z9.ROM
trdos - mzrom205.ROM
basic128 - rc196hdd.ROM
service - gluk63r.ROM
на вкладке HDD поставить NEMO и выбрать подключить винт мастер - select image
(вместо реального винчестера будем использовать файл образ нужен любой файл - мегабайт 30 подойдёт с расширением .hdd)
На вкладке BETA подключаем DNA0459M4.TRD - как диск А
продолжение следует...
Zet9, а такой принцип сохранения настроек дисков совместим и уживается с IS-DOS и СР/М разделами и пр.?
с исдос не уживаеться - так как обычно исдос ставиться начиная с нулевого сектора на винчестере и нет там места для таблицы разделов,MBR, boot-сектора и загрузочной области
для CP/M - наверное также,
но можно сделать так установить исдос/цпм со смещением от начала винта на 63 сектора(по 512 байт) - а в этих секторах будет мбр и настройки в бут-секторе будут в сохранности - я так делал ( в рамках проекта "как подружить iS-DOS и DNA OS "
---------- Post added at 14:04 ---------- Previous post was at 14:02 ----------
Ещё раз повторю что версия прошивки 2.05 на реальном Спеке не проверялась -поэтому не надо спешить и прошивать пзуху - пока-что предлагаю желающим попробовать её в эмуляторе
Нижеизложенное подходит и для версии 1.35
/Пишу по памяти - если будут неточности потом уточню/
Значится так - надо извлечь из архива KILLHDD.SEP и записать её вместе с другими файлами на сдром-диск (можно сд-рв/двд-рв)
Другие файлы - это несколько образов трд (3 или больше)
один из трд перед записью переименовать в DNA_OS.SWP
В эмуляторе анрил на вкладке MEMORY установить модель памяти Пентагон 1024К
а на вкладке HDD для винчестера slave надо подключить реальный сдром(двд-рв)
С дискеты запускаем DNA - когда загрузиться оболочка -
стрелкой нажимаем на правой стороне на слово A:SPECTRUM и в новом окне нажимаем на cdrom1 - управление стрелкой Q,A,O,P,M
На правой панели должно появиться содержимое сд-диска с трд-образами и прогой KILLHDD.SEP, который мы создали ранее
Теперь надо запустить программу KILLHDD.SEP
--------------------------------------------
ВНИМАНИЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!
--------------------------------------------
Ни в коем случае не используйте программу KILLHDD.SEP с реальным винчестером!
Вы и только Вы несёте ответственность за подобные действия!
Потому что эта прога позволяет ЛЕГКО и БЫСТРО УНИЧТОЖИТЬ
ВСЕ ДАННЫЕ на Вашем реальном винчестере (в том числе и виндовс на диске С и всё, что на дисках D,E,F и т.д. - так как она стирает таблицу разделов в MBR - но только 64 байта - а байты которые просил Максагор не трогает)
Перед запуском программы убедитесь,что на вкладке HDD подключен файл-образ винчестера (пустой файл .hdd )
--------------------------------------------------------
Продолжаем:
нажимаем на KILLHDD.SEP
Появиться окно с разным текстом
Сначала нажимаем кнопку T - будет создана таблица разделов с
одним основным разделом длиной 2 Гб (точнее 2039 Мб)
Потом нажимаем кнопку R и ждем несколько секунд - будет отформатирован первый основной раздел в файловую систему FAT16 (производиться типа быстрое форматирование)
Больше от этой проги нам ничего не надо - поэтому жмем сброс (F12) и опять загружаем с диска А систему DNA
На левой стороне надо перейти на винчестер,
нажимаем на слово A:DIMA и в новом окне нажимаем на слово HDD_M0 (это устройство винчестер master первый основной раздел) - должен появится пустой каталог - если появился какой-нибудь мусор - значит произошла ошибка на предыдущем шаге при работе с прогой KILLHDD (об этом далее)
Переходим на правой стороне на сдром (также как и раньше),
наводим стрелку на файл DNA_OS.SWP и нажимаем кнопку 5
Ждем пока файл скопируется с сдрома на винт
Подключаем это файл "подкачки" к прошивке - просто наводим на него стрелку и нажимаем кнопку M (с дискеты будет загружена утилита MOUNT.SWP)
копируем кнопкой 5 точно также оставшиеся трд-образы
(только нажимать на них кнопкой M уже не нужно)
++++++++++++
Далее надо установить DNA на "свежеотформатированный" раздел
Подробно об этом рассказанно везде много раз поэтому максимально кратко:
Переходим на диск А
На правой стороны нажимаем стрелкой на INSTALL.SEP
нажимаем 0 - выбираем винт мастер - установить в основной раздел - ядро системы DNA_OS.SYS - копировать файлы - ждём пока скопируются и "попробовать запустить систему"
Должно оно загрузиться
Переходим на диск А на правой стороне
листаем кнопкой 2 каталог дискеты вперед пока не дойдем до файла MOUNT.SEP
наводим на него стрелку и нажимаем кнопку 5 - файл скопируется на винт
++++++++++++++++++++++++++
Теперь будем подключать образы трд
Наводим стрелку на левую сторону на первый образ трд и нажимаем кнопку ЕНТЕР - после чего этот образ подключится
к диску С
Нажимаем F12 - появиться Real Commander
нажимаем кнопку C и видим то его каталог
Если нажимать ентер на образе трд сна правой панели то он подключиться к Диску А - не будем торопиться а изменим настройки оболочки для подключения к диску B
сколько писанины. а нельзя чтоле автоматизировать процесс? что извнос, что дна, всё как то ручками делать надо. блин....
человек попросил рассказать:
вот и рассказываю (получается в стиле "инструкция для ААА")
процесс чего Вы предлагаете автоматизировать?
---------- Post added at 11:45 ---------- Previous post was at 11:44 ----------
человек попросил рассказать:
вот и рассказываю (получается в стиле "инструкция для ААА")
процесс чего Вы предлагаете автоматизировать?
---------- Post added at 11:46 ---------- Previous post was at 11:45 ----------
чего енто оно по два раза
---------- Post added at 11:53 ---------- Previous post was at 11:46 ----------
про DNA там только одно предложение,
а про идеальную систему, в которой не надо "ручками" прошу в другую тему
---------- Post added at 12:22 ---------- Previous post was at 11:53 ----------
Вот уточняю - в этой сборке в оболочке (файл SHELL.SEP) настроено так, что при нажатии на правой панели образ подключается к диску D:
Это подходит для случая, если не использовать рам-диск
Чтобы настроить SHELL.SEP на подключение к другому диску делаем так:
Загружаем файл SHELL.SEP в STS на адрес #6000 и по адресу #6005
ставим цифру дисковода от 0 до 3 (0 -Диск А, 1- Диск B, 2 - диск C, 3 - диск D)
для подключения образа на левой панели
а по адресу #6006 ставим для правой панели цифру 1 (изначально там 2 и 3)
Сохраняем с перезаписью файла - адрес указываем #6000, в Real Commandere переименовываем SHELL.S на SHELL.SEP а потом грузим DNA (в меню Глюка по кнопке b)
и копируем SHELL.SEP с дискеты на винт
Ещё глюк при форматировании рам-диска D: через функцию трдос (при форматировании в Real Com) пронаблюдал (в эмуляторе) - стёрся каталог диска А
- потом проверю на Спектруме - что это за глюк
(А вообще-то рам-диск не надо форматировать - надо туда(на диск Д) закидывать образы trd
из оболочки DNA по нажатию на образе .trd кнопкой М)
---------- Post added at 12:23 ---------- Previous post was at 12:22 ----------
Вот уточняю - в этой сборке в оболочке (файл SHELL.SEP) настроено так, что при нажатии на правой панели образ подключается к диску D:
Это подходит для случая, если не использовать рам-диск
Чтобы настроить SHELL.SEP на подключение к другому диску делаем так:
Загружаем файл SHELL.SEP в STS на адрес #6000 и по адресу #6005
ставим цифру дисковода от 0 до 3 (0 -Диск А, 1- Диск B, 2 - диск C, 3 - диск D)
для подключения образа на левой панели
а по адресу #6006 ставим для правой панели цифру 1 (изначально там 2 и 3)
Сохраняем с перезаписью файла - адрес указываем #6000, в Real Commandere переименовываем SHELL.S на SHELL.SEP а потом грузим DNA (в меню Глюка по кнопке b)
и копируем SHELL.SEP с дискеты на винт
Ещё глюк при форматировании рам-диска D: через функцию трдос (при форматировании в Real Com) пронаблюдал (в эмуляторе) - стёрся каталог диска А
- потом проверю на Спектруме - что это за глюк
(А вообще-то рам-диск не надо форматировать - надо туда(на диск Д) закидывать образы trd
из оболочки DNA по нажатию на образе .trd кнопкой М)
---------- Post added at 12:24 ---------- Previous post was at 12:23 ----------
Вот уточняю - в этой сборке в оболочке (файл SHELL.SEP) настроено так, что при нажатии на правой панели образ подключается к диску D:
Это подходит для случая, если не использовать рам-диск
Чтобы настроить SHELL.SEP на подключение к другому диску делаем так:
Загружаем файл SHELL.SEP в STS на адрес #6000 и по адресу #6005
ставим цифру дисковода от 0 до 3 (0 -Диск А, 1- Диск B, 2 - диск C, 3 - диск D)
для подключения образа на левой панели
а по адресу #6006 ставим для правой панели цифру 1 (изначально там 2 и 3)
Сохраняем с перезаписью файла - адрес указываем #6000, в Real Commandere переименовываем SHELL.S на SHELL.SEP а потом грузим DNA (в меню Глюка по кнопке b)
и копируем SHELL.SEP с дискеты на винт
Ещё глюк при форматировании рам-диска D: через функцию трдос (при форматировании в Real Com) пронаблюдал (в эмуляторе) - стёрся каталог диска А
- потом проверю на Спектруме - что это за глюк
(А вообще-то рам-диск не надо форматировать - надо туда(на диск Д) закидывать образы trd
из оболочки DNA по нажатию на образе .trd кнопкой М)
я говорил про то, что надо то свп самому монтировать, самому догонять, что первый раздел при создании на винте должен быть именно фат16 и прочее. мне кажется, что если уж речь идёт об инсталлере, то усер должен разве что указать размер раздела, их количество и какой софт попутно кидать (типа по списку пройти, нажимая на кнопку для пометки), нажать на кнопку install и наблюдать за процессом. а система уже сама должна прикрутить свап, создать разделы так, как она это умеет (как её написали). имхо конечно...офтоп закончил)))))Цитата:
вот и рассказываю (получается в стиле "инструкция для ААА")
Доброго времени суток. При настройке NemoIDE на профи наткнулся на такую непонятную ситуацию - TRDOS 6.11E (архив mzrom205.zip) или TRDOS 5.30 правильно отображают размер подключеного HDD? у меня TRDOS 6.11E показывает странные значения - для 10Гб - 3942МБ LBA (вроде), для 6.4ГБ - 2091МБ LBA, для CF 512Mb - 488 Mb LBA. У всех эта версия TR-DOS показывает несовсем правильный размер? или это у меня проблемы с контроллером?
Скорее всего, при пересчете идет переполнение выделенных регистров, т.е. не хватает разрядности и старшие биты не участвовали в формировании результата...
На то время, о таких объемах только мечтали или читали в научной фантастике :) Хотя стандарт ATA жестко задает максимальный объем 31,5 Гбайт...
LBA = (CYL x HDS x HD) x SPT + SEC-1, где CYL, HD и SEC = номера цилиндра, головки и сектора в CHS. HDS = кол. головок, SPT = кол. секторов на треке.
У LBA-2 28-битный, соответственно 500 Гбайт...
---------- Post added at 22:40 ---------- Previous post was at 22:28 ----------
Вот можно попробовать... tr-dos 5.31
в Unreal`e с TR-DOS 6.11E тоже самое выдает. меньший обьем. значит дело не в контроллере, а в процедуре обработки информации с винчестера TR-DOSом. одним предположением меньше...
TR-DOS 5.31 - hdd на 10Гб под эмулем неувидел. область BASIC48 я оставил от TR-DOS 6.11E (я так понял команды работы с винтом находяться именно в бейсике48)
Zet9, в ходе знакомства с TRDOS6.11E и DNA OS подошел к рам диску и возник вопрос - по какому стандарту расширенной памяти сделан рам диск? я пользуюсь Профи 1Мб, трдос 6.11Е пишет "Found RAMDISK memory, RAMDISK 3568 Sec.", причем даже когда порт расширения профи DFFD закрыт. Далее - когда порт расширения открыт рамдиск на диске Д форматируется на 2032 сектора (512Кб?). И после форматирования рамдиска запускаю Fatall, чтоб проверить рамдиск, при обращении к диску Д происходит обращение к физическому дисководу.:v2_conf2:
В реал коммандере на диске Д в каталоге диска пишет полный бред.
Zet9, а можно как нибудь увеличить размер рам диска, чтоб хотябы стандартная дискета влазила (2544 сектора) ?
---------- Post added at 17:08 ---------- Previous post was at 15:28 ----------
Нашел одну интересную особенность)
Если распаковать образ, который больше 2032 (напр 2544), то рам диск автоматом увеличивается, а свободной памяти (для копировщиков и прочего) становится соответственно меньше))
Удобно оказалось.
Black_Cat, ты никогда не видел драйвера памяти, которым на входе нужен только номер страницы?