Зх, на Феникс бы эту прогу.
Зх, на Феникс бы эту прогу.
С уважением, Дмитрий.
Karabas-Go
Pentagon-128 вер.2023+Turbo Sound+ZXM-GeneralSound
ZXM-Phoenix 2048+Turbo Sound+ZXM-GeneralSound+ZXM-SoundCard Lite
ZXM-Phoenix в Телеграмм
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
С уважением, Дмитрий.
Karabas-Go
Pentagon-128 вер.2023+Turbo Sound+ZXM-GeneralSound
ZXM-Phoenix 2048+Turbo Sound+ZXM-GeneralSound+ZXM-SoundCard Lite
ZXM-Phoenix в Телеграмм
Nemp-IDE можно было бы, наверное, и поддержать. Но в отличие от SMUC всю работу с HDD нужно возложить исключительно на плечи коммандера. А места в памяти, увы, не осталось! Вы ведь не забывайте, что он работает на любом компьютере, даже на том, у которого всего 48 кб памяти.
Grand не раз говорил, что в текущая версия не имеет дальнейших возможностей для развития. Я вообще удивляюсь как он находит дополнительные байты, чтобы ещё что-то делать.
Если переработать архитектуру TRDN, снять ограничение на 48 кб, то, наверное, можно будет наряду со SMUC поддержать и Nemo, и какой-нибудь ещё стандарт HDD через некую абстракцию, вынесенную в отдельную страницу памяти.
С уважением, Станислав.
Сообщение от izzx
С эмулятором Unreal Speccy и у меня все неоднозначно. Поэтому важно набрать статистистику работы на реале, чего я пока сделать не могу.
А вообще в TRDN наличие HDD определяется вот так:Если на выходе CY=1, то работа с HDD блокируется без вариантов.Код:LD HL,#7000 LD D,L LD C,9 RST 8;выделяем буфер для чтения сектора HDD DEFB #81 LD C,34 RST 8 DEFB #81
по адресу #CD02 смените команду на jp #3D30
Плюс к этому я пишу настройки в 3й сектор в адресации LBA, а вы тоже в 3й, но в CHS. Что вернее даже не знаю.
Неверно ваш вариант распространенней будет, перейду на него.
Последний раз редактировалось LW; 19.12.2022 в 08:33.
Сделаю.Сообщение от LW
Я за 3-й физический он же 2-й логический. Но не настаиваю. То, что сектор будет один и в LBA, и в не LBA - уже хорошо.Сообщение от LW
сменил
Предлагаю вам подумать над поддержкой новой версии ПрофПЗУ. Для этого надо пока в общем то немного. Достаточно в +5 байт описателя примонтированных дисков писать номер винчестера и раздела на нем в формате bit 0-1 - номер раздела, bit 2 - номер винчестера bit 7-3 =0.
Прочитать текущий номер раздела/винчестера можно функцией #2D(45) R8DOS
Без этого, к сожалению, TRDN сможет нормально работать только с 1м разделом на мастере.
- - - Добавлено - - -
Да и смену диска тоже функцией надо делать
Это хорошо. Но я думаю, что на "классических" версиях Монитора нужно монтировать по-старому. А в новой версии Монитора должны быть новые, правильные функции монтирования, которые сделают все сами. Старые функции тоже нужно оставить для совместимости.Сообщение от LW
Хочу кратко описать работу TRDN c HDD. Этой информации пока нет в файле COMMENTS.TXT в архиве исходников.
При выборе устройства E: происходит чтение каталога разделов функцией 38 R8DOS (#81). На файловой панели (ФП) формируется список имен, состоящий только из TR-DOS-подразделов.
При выборе подраздела происходит его временное монтирование на D: и на ФП формируется список имен псевдодисков. Имена берутся из 8-го логического 256-и байтного блока каждого псевдодиска, т.е. фактические имена, заданные при их инициалицации. Чтение осуществляется функцией 36.
При входе в псевдодиск его монтирования не происходит. Вместо этого нужные сектора из него читаются функцией 36. На ФП формируется список файлов и подкаталогов DirSys.
При монтировании псевдодиска как устройство A:...D:, читается 2-й (или 3-й для LBA) логический сектор HDD собственной процедурой. В нем создается новая запись о примонтированном псевдодиске. Расцитывается и заносится CRC сектора вызовом соответствующей прцедуры по абсолютному адресу из ROM7. Cектор записывается нв прежнее место собственной процедурой. Функцией 35 прозводится "автомонтирование". Дальнейшая работа осуществляется TR-DOS-вызовами 15635, первым из которых: LD A,drive / LD C,1 / CALL 15635. Оказалось что он является обязательным - без него операции с псевдодиском невозможны, и его не заменишь вызовом LD A,drive / LD C,1 / RST 8 / DB #81.
При размонтировании устройства A:...D:, собственной процедурой с HDD читается сектор с записями о примонтированных псевдодисках. Если к устройству действительно примонтирован псевдодиск он отключается Функцией 35, вносятся соответствующие изменения в считанный сектор, включая подсчет CRC и сектор записывается на прежнее место собственной процедурой.
Evgeny Muchkin(22.12.2022)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)