AmoNik, можешь выложить какой-нибудь образдиска с файлами 0-й длины? Мне нужно воспроизвести ситуацию.
Вид для печати
AmoNik, можешь выложить какой-нибудь образдиска с файлами 0-й длины? Мне нужно воспроизвести ситуацию.
http://savepic.ru/12927044.png
Прикольно, там даже в расширении типа 3 "-":)
Ну так это же разделитель между файлами
Все длительное время, прошедшее с момента публикации предудущей тестовой версии TR-DOS Navigator'а (TRDN), работа продолжалась и в новую тестовую версию добавлено следующее:
- на Info-панели (клавиша CS/L) выводится информация о примонтированных дисках;
- запоминается положение курсора для устройства E: на каждой файловой панели;
- попытка чтения диска не TR-DOS-формата не приводит к фатальным последствиям, но проверка реализована через вызовы RST 8 и будет работать только на Скорпионе с ПрофПЗУ;
- "файпы" 0-й длины в секторах теперь не помечаются и не копируются, диск с ними не дефрагментируется, - дело в том, что авторы TRDN изначально не ожидали такого "подвоха" со стороны пользователей :) и работу с такими "файлами" не предусмотрели, переделка TRDN окажется нелегкой, поэтому операции с "файлами" 0-й секторной длины по-возможности заблокированы.
Тестовая версия по-прежнему представляет собой С-файл "альтернативного magic'а" Теневого монитора (ТМ) Скорпиона. Я уже писал о ее назначении и о способах запуска в предудущих своих сообщениях; чтобы их не искать, повторюсь здесь.
Всем желающим, владельцам компьютера Скорпион с контроллером SMUC, предлагается принять участие в тестировании промежуточных версий TRDN с поддержкой SNUC HDD.
Если вы не знакомы с TRDN, изучите его последнюю официальную версию; она доступна в первом сообщении данной темы.
При тестировании лучше на всякий случай использовать HDD-носитель без важных данных.
Тестовая версия не является законченным продуктом, поэтому не распространяйте ее.
Обращайте внимание на все особенности работы, удобство управления, орфографию и т.д. и сообщайте о найденных ошибках тестовой версии в данной теме на нашем Форуме.
Запуск тестовой версии
1. Скопируйте на реальный носитель (дискету или винчестер Скорпион'а) файлы с типом B и С из дискового образа в приложенном архиве.
2. Если вы хотите загрузить тестовую версию не с устройства A:, то вставьте в устройство A: какой-либо диск TR-DOS (можно примонтировать псевдодиск с винчестера).
3. Запуск тестовой версии возможен двумя способами: приложенным BASIC-загрузчиком (файл amag_ldr.B), или из ТМ Скорпиона. В последнем слючае это делается так:
Зайдите в ТМ и выбирите опции: "B. Save & load" -> "L. Load...".
На запрос "Enter name" введите: [drv:]trdnx17, где [drv:] логическое имя устройства, в которое вы вставили диск с тестовой версией, и нажмите Enter.
Работа с винчестером в TRDM организована как с устройством E: (клавиши вызова меню устройств SS/1 или SS/2), но только с версиями ТМ 3.9f и 4.01. Можно запускать данную тестовую версию и с другими версиями ТМ, а также без SMUC'a и/или без HDD, но тогда устройство E: будет недоступно. Если в момент запуска на TR-DOS-диске в дисководе A: окажутся файлы trdn.cod, trdn.fnt или trdn.drv, они будут подключены. В тестовой версии уже используется драйвер с поддержкой всех страниц памяти Scorpion'а и CMOS-часов, поэтому нет смысла подключать другой.
Многие предложения тестеров так или иначе уже учтены, если не последует новых, то, возможно, что эта тестовая версия TRDN окажется последней; кроме того, на более серьезные нововведения уже не осталось свободной памяти.
Вот итоговый список основных функций, сделанных с момента начала работ над версией TRDN с поддержкой SMUC HDD.
- просмотр подразделов TR-DOS жесткого диска (он отображается как устройство E: );
- монтирование псевдодисков на устройства A:...D: (псевдодиски отображаются не в виде DiskNN, а в виде имен, содержащихся в их служебных секторах каталогов; неинициализированные псевдодиски отображаются "{NOT INIT}" и их тоже можно монтировать);
- демонтирование устройств (клавиша SS/Z);
- операции монтирования и демонтирования осуществляются правильно и для LBA-режима;
- инициализация дисков (клавиша CS/I), после монтирования не инициализированного псевдодиска предлагается его инициализация.
Вложение удалено автором сообщения после 23-х просмотров
Обнаружил, что в тестовой версии не работает монтирование псевдодисков на МОЁМ РЕАЛЬНОМ Скорпионе при выключенном LBA-режиме. Происходит потеря всех разделов HDD, но все восстанавливается, если войти в ТМ и выбрать опцию H.Hard disk utility -> S.Set Up -> A.Auto detection hard disk. На эмуляторе это не проявляется, больше проверить нигде не могу. У кого-нибудь происходит подобное?
У меня нет
Причина (точнее одна из) оказалась в следующем.
Этот код у меня нормально отрабатывается в LBA-режиме и со сбоем, который я описал в предыдущем сообщении, в не LBA-режиме:
Сам дескриптор имеет следующий формат (для TR-DOS):Код:LD A,3 ;лог.номер устройства
OR %10000 ;код команды чтения дескриптора
LD HL,TPATH;куда читать дескриптор
LD C,35 ;номер функции
RST 8 ;вызов
DEFB #81
RET
TRATH DEFS 21
И длина его 21 байт, а не 25, как сказано в руководстве.Код:Смещене Назначение
--------- ----------
+0 Равен #01 для TR-DOS
+1...+4 Лог.номер сектора HDD, с которого начинается псевдодиск
+5...+8 Лог.номер сектора HDD, которым заканчивается псевдодиск
+9...+14 Имя подраздела (6 символов)
+15...+20 Имя псевдодиска (6 символов)
AmoNik, а какая у тебя версия SMUC'а?
Это сообщение не является первоапрельской шуткой
У меня контроллер 2.0 rev A и ПрофПЗУ, как я уже сообщал, - 4.01. Было бы неплохо, если бы кто-нибудь проверил ранее приведенный ассемблерный пример на схожей конфигурации, а также попробовал бы тестовую версию TRDN.
В общем, процедуру монтирования я переписал. Она стала длиннее на полтора десятка байтов.
Grand выпустил новую версию коммандера - 0.75b
Скачать и ознакомиться со списком изменений можно в первом сообщении темы.
В TRDN V0.75b (смотрите первое сообщение темы) сделано множество нововведений. Они отражены в новом файле Руководства. Так в нем появился раздел "Работа с жестким диском". Дополнены и другие разделы; другой текст Лицензионного соглашения в соответствующем разделе. Поэтому прочитайте новое Рукововодство для этой версии TRDN, даже если вы читали его прежде.
Нами также выпущена code-версия TRDN (V0.75bC), предназначенная для запуска с любого файлового устройства.
Мы посовещались с Grand'ом и пришли к единодушному мнению отрыть исходные тексты нашей программы. При этом Grand подготовил подробное описание и комментарии к исходникам и подрограммам. До самой последней версии TRDN писался на ALASM'е и собрался на Спектруме. Оригинальные файлы вы найдёте в архиве. Но в итоге перед публикацией мы перевели тексты для компиляции в sjASMPlus. Текст для sjASMPlus также находится в архиве.
Весь комплект исходных текстов вы можете скачать из первого сообщения. Если у кого-то возникнут вопросы, то мы (в основном, конечно, Grand ;) ) с удовольствием на них ответим.
А нет ли у вас желания/возможностей оформить командер как плагин для tsconf/zxevo? И хотелось бы под их текстовый режим. Кстати, для вывода окон в псевдографике используется процедура PRINT?
Исходники выложены. Заинтересованные лица могут попытаться это сделать. Основной текущий разработчик Grand, на сколько я знаю не владеет ZXEvo.
Опять же, исходники открыты. Можно попытаться переделать. Но боюсь, что это вряд ли удастся из-за нехватки памяти.
Да, все символы и псевдографика выводятся на экране через процедуру (и не одну!) аналогичную PRINT.
Если затачивать под фишки железа TS Conf, то можно (и придется) отказаться от 48к. Только переделать вывод на текстовый режим не сложно,перекомпановать интерфейс сложнее, но непонятно зачем. Ибо сразу же захочеся поддержки FAT на ZC и NGS, монтирование образов или работу с ними прямо из TRDN, и проще уже в WC реализовать работу с образами, чем переделать TRDN.
Мы дополнили архив с исходниками TRDN в первом сообщении темы:
- в файлах комментариев comments.txt добавлен раздел "Запуск файлов и выход из TRDN", а также дополнено описание ZXZIP-архивов.
- в сопроводительных текстах исправлены обнаруженные опечатки.
- в комплекте для SjASMPlus отредактирован файл TRDNC.ASM и убран файл ZXSYS.BIN, так как работоспособный SNA получается и без него.
В остальном, это все та же code-версия V0.75.1bC.
ZXSYS.BIN - это были данные памяти с 23296 (#5B00) и где-то по RAMTOP, т.е. системные переменные. В общем-то при старте TRDN сам устанавливает наиболее важные системные переменные, которые необходимы как для его работы, так и для запущенных им программ. В текущем виде (из SNA) не совсем корректно работает выход (SS/X) - если это важно, то можно самостоятельно опять подключить ZXSYS.BIN из предыдущей версии комплекта исходников. :)Цитата:
Сообщение от Шынни
Сейчас в тексте файла TRDNC.ASM стоят инструкции "DEVICE ZXSPECTRUM128" и "SAVESNA "TRDNC.SNA",START", чтобы получился слепок памяти Спектрума 128, - вроде все правильно.Цитата:
Сообщение от Шынни
Я вижу, в нём можно создавать каталоги (папки). Но эти папки виртуальные? TR-DOS, ведь, каталоги не поддерживает. В других ФМ файлы из этих каталогов отображаются в корне, а сами каталоги - как файлы. А так было бы очень удобно, ведь если подключить жёсткий диск и всё валить в корень, это какая же свалка получится!
Что значит виртуальные? Те программы, которые поддерживают данную систему увидят структуру каталогов, а для всего остального (стандартного) ПО система каталогов прозрачна. Стандартный софт видит все файлы, как и раньше, в корне, а каталоги вообще никак не видны, ни в виде файлов, ни как иначе - для обычных программ каталоги попросту не существуют.
На текущий момент существует маленькое количество ПО, поддерживающее каталоги TR-DOS Navigator'а (Directory System). Можно найти здесь: http://era-cg.su/grands/zxcreat.htmЦитата:
Сообщение от Arix
Да, такие менеджеры на ZX действительно были, но сейчас только наш TR-DOS Navigator хоть медленно, но развивается.Цитата:
Сообщение от Arix
Программы с поддержкой FAT (и ее каталогов) на ZX уже существуют. А наш TR-DOS Navigator мы постепенно ориентируем на поддержку Скорпионовского HDD.Цитата:
Сообщение от Arix
Обновление коммандера! Новая версия в первом сообщении.
Классно что проект развивается. Хорошо бы ещё поддержу nemo ide.
V0.74b - последняя версия без поддержки SMUC HDD компьютера Scorpion.
Мы продолжили оптимизировать и улучшать ее, так как эта версия может использоваться на тех компьютерах, где поддержка Scorpion'а не нужна.
На сегодняшний день выпущены (во вложении) обновленная подверсия V0.74.7b и V0.74.7.1bC в виде исходного ассемблерного текста.
MD5SUM для trdn0747b_trd.zip:
b872fb657cef2740c4a77e258f7c2709
MD5SUM для trdn07471bc-src6.zip:
0c2a6003b1ea9982c278d1c23e157dbf
Дополнительные материалы
- Последняя на текущий момент полная официальная версия TRDN
- Полная официальная версия TRDN c альтернативной цветовой палитрой интерфейса
- Официальная ROM-версия TRDN (для Scorpion)
- Драйверы памяти для Scorpion 1024 и Scorpion GMX от Grand.
- Драйверы памяти для Profi 512 и 1024 и Pentagon 1024 от molodcov_alex.
- Драйверы памяти для (ATM) Turbo 2+ 512 и 1024 от Grand.
- Драйверы часов для GLUK RTC и ZXMC RTC от caro.
- Драйвер часов для любого ZX Spectrum 128 с использованием системного таймера от Grand.
- Набор альтернативных шрифтов от Grand.
Дурацкий вопрос :) А часы должны отображаться где-то?
Нормальный вопрос... :)Цитата:
Сообщение от Evgeny Muchkin
Так будет на всех эмуляторах, где правильно эмулируетя Scorpion и SMUC с часами, и на реале тоже. Потому что внутри TRDN мы сделали поддержку только этих часов. Для остальных нужен драйвер. Например, в первом сообщении есть ссылка на драйвер caro для его мультикарты. Можно, впрочем, поэкпериментировать и без часов, как написаноЦитата:
Сообщение от {bETA}mEN
здесь.
Какие блин эмуляторы?
Я на Скорпионе же пользуюсь.
ИМХО, не надо было их по умолчанию отключать.
Ничего страшного. Делаем. как написал CityAceE:Настройки записываются в тело файла TRDN. Если потом запустить TRDN на компьютере без интерфейса часов, они сами отключатся.Цитата:
Сообщение от CityAceE
Как я понял версия V0.75.1bC
http://gifok.net/images/2018/07/12/2...2_23-02-39.png
Это версия V0.75bC.Цитата:
Сообщение от Djoni
В коде версий TR-DOS Navigator'а V0.75b и V0.75.xbx действительно может быть обращение к порту 1FFD (смотрите строки 310-341 в файле TRDNC.ASM из архива исходников в первом сообщении темы) во внутреннем драйвере верхней памяти для компьютера Скорпион. Этот драйвер подключается, если TRDN запущен на Скорпионе (проверка со строки 366). Других обращений к порту 1FFD нет, если только проверка на Скорпион отрабатывется правильно.
Как я понял этот фрагмент ?
HM256C
JR $+19
JR $+47
NOP
DEFB 0
DEFB 0,1,3,4,6,7
DEFB #11,#12,#13,#14,#15,#16
DEFB #FF
PUSH HL
LD HL,#5B06
ADD A,L
LD L,A
LD A,(HL)
POP HL
CP #FF
SCF
RET Z
PUSH BC
PUSH AF
AND #10
LD BC,#1FFD
OUT (C),A
POP AF
OR #10
LD B,#7F
OUT (C),A
POP BC
RET
LD D,%00100000
RST 8
DEFB #89
RET
Попробую затереть нулями вызов порта 1FFD.
Да. Но по замыслу этот драйвер должен лодключаться только на Скорпионе.Цитата:
Сообщение от Djoni
Лучше попробовать более старую code-версию V0.74.1bС. Вот здесь:http://zx-pk.ru/showthread.php?p=937770#post937770. Там точно обращений к 1FFD нет.Цитата:
Сообщение от goodboy
Есть еще вариант. Сделать собственный драйвер верхней памяти без вывода в порт 1FFD, назвать его trdn.drv, записать его на TR-DOS диск вместе с code-версией, запустить от туда code-версию, которая при старте загрузит и подключит драйвер trdn.drv.