PDA

Просмотр полной версии : Поддержка HDD slave в Scorpion ZS-256



Страницы : [1] 2 3

LW
10.11.2022, 06:19
обозначение версий:
v4n стандартное ПЗУ с поддержкой Nemo IDE
v4s стандартное ПЗУ с поддержкой SMUC
v4se стандартное ПЗУ с поддержкой SMUC и "эмуляцией" ВГ93
v4su стандартное ПЗУ с поддержкой SMUC и отключаемой "эмуляцией" ВГ93
v5s ПЗУ для GMX со стандартным экраном, с поддержкой SMUC
v5se ПЗУ для GMX со стандартным экраном, с поддержкой SMUC и "эмуляцией" ВГ93
v5su ПЗУ для GMX со стандартным экраном, с поддержкой SMUC и отключаемой "эмуляцией" ВГ93
v6s ПЗУ для GMX с расширенным экраном, с поддержкой SMUC
v6se ПЗУ для GMX с расширенным экраном, с поддержкой SMUC и "эмуляцией" ВГ93
v6su ПЗУ для GMX с расширенным экраном, с поддержкой SMUC и отключаемой "эмуляцией" ВГ93
lg версия с замененным Basic48 на Looking Glass

ProfRomZS256 для ZS-Scorpion 256
ProfRomZS1024_1FFD для ZS-Scorpion 1024, переключение расширенной памяти битами 7,6 порта #1FFD
ProfRomZS1024_7FFD для ZS-Scorpion 1024, переключение расширенной памяти битами 7,6 порта #7FFD
ProfRomGMX для GMX, (*.rom для эмулятора/*.trd для прошивки реала)

что сделано

пункт меню S. print screen Positive/Negative из меню Set Up перенесен в меню Set Up printer
в меню Hard disk utility добавлен пункт Select HDD master/slave (выбирает какой винт будет текущим) настройки Autostart from disk N/autoconfig/TR-DOS mirror/LBA mode индивидуальные для каждого винчестера
реализована поддержка нескольких разделов MFS на жестком диске (в том числе создание, удаление, переименование подразделов в любом разделе MFS)
исправлено: реакция на fire Kempston Joystick'а в окне выбора образов дисков
в меню P. partition manager добавлен пункт T. Rename TRDOS disks ... он позволяет переименовывать диски в коллекциях, помимо того, переименовать диск можно при монтировании, нажав клавишу 'N'
при монтировании диска, нажав клавишу 'R' на выбранном образе диска, можно установить/снять флаг 'только для чтения'
в меню Set Up monitor добавлена опция X. Reset CMOS - позволяет сбросить все настройки хранящиеся в CMOS и NVRAM. После "холодной" перезагрузки в CMOS/NVRAM будут записаны настройки по умолчанию
исправлено плавающее местоположение сектора с настройками примонтированных образов в зависимости от текущего режима работы винчестера CHS/LBA
добавлена возможность монтировать .trd файлы с FAT32 разделов (поддержана только FAT32, длинные имена не поддерживаются, работает чтение/запись на образы дисков .trd, максимальная вложенность пути к файлу 16, установленный флаг ReadOnly в атрибутах файла блокирует запись в этот файл)
по умолчанию включена адресация LBA
в меню H. Hard disk utility -> S. Set Up добавлен пункт: T. Check .trd file по умолчанию включен. При отключении не будет производиться проверка удален файл смонтированного образа или нет. Отключение даст небольшой прирост в скорости при работе с FAT разделом. При "холодной" перезагрузке удалённый образ отмонтируется. Если проверка отключена, при записи на примонтированный удаленный файл возможна порча первого кластера этого файла.
монтирование образов с двух винчестеров в одно поле дисководов
загрузка .sna файлов
загрузка .spg файлов
загрузка .tap/.tzx с винчестера
запись в .tap/.tzx файлы
исправлена работа системного вызова rst #08: db #8B
для более удобного серфинга по винчестеру написан навигатор
переделан и расширен менеджер разделов
несколько цветовых схем меню монитора
добавлена поддержка GMX
работа с файлами .scl (только чтение)
полуопределение определение экрана 5/7
загрузка с винчестера
поддержка загрузчиков #3D2F
добавлены системные вызовы для работы с FAT разделами
оптимизация по скорости процедур печати текстов меню
поддержка клона ZS-1024
запись .sna файлов


Последняя версия (v4.xx.042): 81259
Последняя версия (v4.xx.042lg): 81260
Последняя версия (v4.xx.042) для ZS-1024: 81261, 81262
Последняя версия (v5.xx.042) rom для эмуляторов: 81263, 81264
Последняя версия (v5.xx.042) trd для прошивки: 81265, 81266
ПрофПЗУ для GMX версии 6 (v6.xx.042) rom для эмуляторов: 81267, 81268
ПрофПЗУ для GMX версии 6 (v6.xx.042) trd для прошивки: 81269, 81270
Рабочее описание системных вызовов: 81271
Большой объем файлов для форума, новые версии можно скачать с гуглодиска
Последние версии можно скачать тут (https://drive.google.com/drive/folders/1S6zApkUxE_dLGe0yPPgrnYS_ypwGP0DN?usp=sharing)


Донаты на кофе с "печеньками" можно отправить по следующим реквизитам:
WebMoney WMID: 8483 7127 6221
по номеру карты: 5536 9141 1200 2641

marinovsoft
10.11.2022, 06:30
Почему не надо - выкладывайте.

Xela
10.11.2022, 11:07
А пока учимся понимать slave диск.
пожелание: писать рядом с диском кто из них master, а кто salve
хотя бы в скобках в конце строки ...Hard disk found - (m) или (s)

LW
10.11.2022, 13:44
писать рядом с диском кто из них master, а кто salve
Ну это само собой
78079

LW
11.11.2022, 04:03
Есть желающие потестить работу со slave HDD?
78081

Xela
11.11.2022, 23:46
эх.. жаль нет "живого" скорпиона под рукой и пары винтов...

LW
12.11.2022, 03:59
жаль нет "живого" скорпиона под рукой и пары винтов...
А вот это пока рано. Надо вначале обкатать на эмуле.

Xela
12.11.2022, 10:12
Надо вначале обкатать на эмуле.

а, это можно)

LW
13.11.2022, 09:22
реализована поддержка нескольких разделов MFS на жестком диске (в том числе создание, удаление, переименование подразделов в любом разделе MFS)
исправлено: реакция на fire Kempston Joystick'а в окне выбора образов дисков
в меню P. partition manager добавлен пункт T. Rename TRDOS disks ... он позволяет переименовывать диски в коллекциях, помимо того, переименовать диск можно при монтировании, нажав клавишу 'N'
при монтировании диска, нажав клавишу 'R' на выбранном образе диска, можно установить/снять флаг 'только для чтения'

78089

Grand
13.11.2022, 10:42
Все это конечно хорошо. Но я бы попросил обдумать вопрос, как вы будете нумеровать новые версии, и какими будут их коды. Может применить трехзначную нумерацию? Например, 4.01.2 будет означать, что это вторая версия, сделанная на основе версии 4.01. К версии надо прилагать текстовый файл инструкции, а при старте компьютера на экране должны сообщаться номер версии и кто ее сделал.

Xela
13.11.2022, 12:01
Есть же правила нумерации версий.
Тут уже не только баг-фиксы, но и минорные изменения - вполне на 4.02 тянет. А будут фиксы - 4.02.01, .02, .03 и т.д.

breeze
13.11.2022, 12:11
Есть же правила нумерации версий.

Ага, расскажите это современным писателям firefox, chrome и прочим любителям моднявых нумераций за сотню)


Тут уже не только баг-фиксы, но и минорные изменения

Никто не мешает, сделать свой «форк» и новую нумерацию, например от 5.0

ZXFanat
13.11.2022, 14:23
Все это конечно хорошо. Но я бы попросил обдумать вопрос, как вы будете нумеровать новые версии, и какими будут их коды. Может применить трехзначную нумерацию? Например, 4.01.2 будет означать, что это вторая версия, сделанная на основе версии 4.01. К версии надо прилагать текстовый файл инструкции, а при старте компьютера на экране должны сообщаться номер версии и кто ее сделал.
Абсолютно согласен с этим мнением.

- - - Добавлено - - -


эх.. жаль нет "живого" скорпиона под рукой и пары винтов...
Чтобы "обкатать" на "живом" компьютере, надо иметь запас ПЗУ (хотя бы 3-4). И не менее трёх "хард" винтов. Как раз это и есть основная проблема. Я вот на своем "живом", не могу "обкатывать", по той причине, что надо стереть ПЗУ (если оно одно и запасное и это вам не ZX Evo с прошивкой на месте, здесь нужен отдельный программатор), записать без ошибок ROM-файл, установить в панельку (что не всегда "есть хорошо" для панельки), продумать, как подключить два HDD на один единственный разъем для "жёсткого" диска и узнать результат, который может быть и "нулевым". Это на "живом" аппарате.

marinovsoft
13.11.2022, 14:46
Настройка select hdd master/slave никуда не сохраняется?

LW
13.11.2022, 15:56
Настройка select hdd master/slave никуда не сохраняется?
сохраняется в CMOS/NVRAM
set up -> monitor ->save CMOS
И соответственно, в конфигурационный сектор на дискете. set up -> monitor -> save set up to disk

Xela
13.11.2022, 22:49
расскажите это современным писателям firefox, chrome и прочим любителям моднявых нумераций за сотню
это не повод изобретать свой велосипед.


Никто не мешает, сделать свой «форк» и новую нумерацию, например от 5.0
5.0, насколько я знаю, это версия для GMX, можно еще больше путаницы внести.

Но сейчас вообще похоже на "распил" неубитого медведя - стадия альфа-тестирования, но давайте подумаем о текстовиках, и сообщениях кто там что поменял... Немного впереди паровоза бег - автор сам решит где там что на старте писать. А уж по документации, судя по Элите, вопрос вообще не стоит.

LW
14.11.2022, 00:21
Вот надо сказать, насчет версий еще даже не думал. Но раз уж поднялся такой вопрос, то однозначно это не будет ни 5.xx, ни выше. Видится 4.02.xx/4.03.xx
Код версии тоже будет изменен на #62, без этого не обойтись, на него подвязаны сохраненные настройки в CMOS/NVRAM/Autoconfig на дискете. А так как список сохраняемых переменных несколько расширился, при первом запуске надо сбрасывать CMOS/NVRAM.

стадия альфа-тестирования,
Да тут даже, наверное, еще не альфа. То что сделано, это по сути не новшества, это просто раскрыт заложенный в ПрофПЗУ разработчиками потенциал.
Основная работа еще впереди.

Grand
14.11.2022, 04:27
стадия альфа-тестирования ... Немного впереди паровоза бегТогда и вовсе надо обозначать что-то типа X0.1. Как мы обозначаем тестовые TR-DOS Navigator'ы.

AndXor
14.11.2022, 18:12
Код версии тоже будет изменен на #62,
Уже занято. Ещё МОА: "Copyright(c) 1993, 1997 by Andrew MOA FidoNet 2:5030/25.1 E-mail: moa@deeds.spb.ru Compiled: Nov 19 1997 04:01:00 (IBM PC, MA80 crossassembler)".
Где взял файл уже не помню, но он существует на просторах интернета. Версии #63 пока нигде не встречал.
78093

marinovsoft
14.11.2022, 19:34
Здесь упоминается прошивка 4.02, sha1 совпадает https://mame.spludlow.co.uk/Machine.aspx?name=scorpio
А как ее заставить работать?

AndXor
14.11.2022, 19:54
Судя по структуре расположения данных в файле, она расчитана на работу без диспетчера страниц ProfROM. Т.е. старшими адресами (выше 64kiB) управление идёт через доп. регистры. И на Scorpion совместимых машинах использовать её невозможно.

Xela
14.11.2022, 20:02
и тут тоже: https://speccy4ever.speccy.org/_SC.htm

и пометка что надо проверить именно эту версию пзу.

LW
14.11.2022, 20:08
Диспетчер страниц там есть, но переключение плоскостей отличается от того что есть в скорпионе.


xE3E8 ld hl,#E3F1 ;адрес возврата
ex (sp),hl
xE3EC db #ED,#10 ;включаем плоскость и вызываем процедуру
xE3EE dw addr ;адрес вызываемой процедуры в странице ПЗУ
xE3F0 db num ;номер страницы ПЗУ
xE3F1 ex (sp),hl
push af
ld a,l ;номер страницы ПЗУ откуда вызывалась п/п
ld (xE3F0),a
pop af
pop hl
ex (sp),hl
ld (xE3EE),hl
jr xE3EC
. . .

marinovsoft
14.11.2022, 20:26
8 января 2005 года эта прошивка уже попала в веб-архив
http://web.archive.org/web/20050108121553/http://www.zxspectrum.it/_SC.htm

Grand
15.11.2022, 09:53
Уже занято. Ещё МОА: ... scorp402.zipМне эта версия кажется поздней переделкой.
Поэтому и рекомендую: снабжайте свои новые версии документацией, пишите прямо на экране свое имя и информацию на основе какой версии сделана ваша.

Dima_ZX
15.11.2022, 18:00
Проверил на реальном Scorpion, все работает пока нормально. Если установлен активным Slave, не срабатывает автозапуск, у меня настроен запуск с диска D, при перезагрузки, хотя все настройки правильные. И IS-Dos криво работать начал, то не запускается, то при обращении к устройству блочному, драйвер Zhdd_4, теряет устройства. При отключенном Slave устройстве, работает нормально, но это видимо у драйвера мозг сворачивает.

ZXFanat
15.11.2022, 18:38
Проверил на реальном Scorpion, все работает пока нормально. Если установлен активным Slave, не срабатывает автозапуск, у меня настроен запуск с диска D, при перезагрузки, хотя все настройки правильные. И IS-Dos криво работать начал, то не запускается, то при обращении к устройству блочному, драйвер Zhdd_4, теряет устройства. При отключенном Slave устройстве, работает нормально, но это видимо у драйвера мозг сворачивает.
Дело не в драйверах. Оба "жёстких" соединены на один шлейф. ZS-256 такое плохо понимает, если вообще понимает. В этом вся и ",загвоздка". Сколько лет прошло, а эксперименты с двумя HDD на одном шлейфе для Scorpion-а начали в 2022 году. Вопрос не в том, чтобы просто подсоединить, но надо, чтобы оба распознались как Мастер и как Слейв, да ещё и была возможность их разбить на разделы отдельно друг от друга, и умудриться ещё и копировать с одного на другой. Или из всего этого, хоть что-то добиться.

Dima_ZX
15.11.2022, 19:02
Ну вот с этой прошивкой, подключаю два винта один мой основной, второй резервный, на обеих есть разделы MFS, с обоих винтов монтируются дискеты из разделов TRDOS, и с ними можно полноценно работать. В стандартной моей конфигурации master всегда HDD был, slave CD-ROM, работает все это лет по-моему 20 уже.

P.S. Я еще грешу на свой "мутный" винт WD Caviar, то перемычки у него мутно ставятся, то вот, он автоматом вроде правильные параметры теневому монитору сообщает, но если поставить Auto detection hard disk, on start,
то он иногда плохо определяется, а если отключить то работает стабильно.

- - - Добавлено - - -

LW, В стандартные рестарты PROFrom'а добавилась возможность работать с slave hdd или только в теневом мониторе пока работает?

marinovsoft
15.11.2022, 19:32
Винч может не опеделяться на "холодную" - скорпион слишком быстро доходит по детекта винча, а у него еще двигатель толком не раскрутился :)

LW
15.11.2022, 20:53
Если установлен активным Slave, не срабатывает автозапуск, у меня настроен запуск с диска D, при перезагрузки, хотя все настройки правильные
Принято. Нашел в чем проблема.


но если поставить Auto detection hard disk, on start,
то он иногда плохо определяется, а если отключить то работает стабильно.
Тут то вся суть этой опции в том, что при выключенном состоянии идентификация винчестеров при старте вообще не производится, просто загружаются сохраненные параметры жесткого диска из NVRAM. Возможно этот винт не успевает выйти в готовность при включении компьютера. Попробуйте после включения компьютера, сделать "холодный" ресет. Так же он будет себя вести или нет.

В стандартные рестарты PROFrom'а добавилась возможность работать с slave hdd или только в теневом мониторе пока работает?
Пока только в мониторе, но рестарты планируются.

Dima_ZX
16.11.2022, 03:21
Попробуйте после включения компьютера, сделать "холодный" ресет. Так же он будет себя вести или нет.

Тоже самое происходит.

LW
16.11.2022, 03:44
Это только на этой прошивке так себя ведет? Или и раньше также было?

Dima_ZX
16.11.2022, 11:53
И раньше тоже, это видимо из-за особенностей HDD

marinovsoft
16.11.2022, 12:18
На SMUC-е первый pin ide в воздухе висит или куда-то идет?

marinovsoft
16.11.2022, 19:03
Создал пустой файл образа диска на 1Гб (CHS=4096/16/32)


fsutil file createnew test.hdd 1073741824

Подключил слейвом, все еще повторяется ошибка с заходом в partition manager - "Invalid partition manager" (вообще к.м.к., правильно было бы писать "invalid partition table"). Переключил на мастер - аналогично. Вернул родную прошивку - все гут.

Еще, в том числе это на и оригинальной прошивке проявляется, периодически пытается отослать в винт несуществующую ата-команду (https://wiki.osdev.org/ATA_Command_Matrix), что в анриле сопровождается сообщениями в консоли


*** unknown ata cmd 62 ***


- - - Добавлено - - -

На непатченном ПЗУ разбил винт
https://i.ibb.co/KmVBNFD/bad-hdd.png (https://ibb.co/KmVBNFD)
перезагружаюсь с патченым, пробую посмотреть информацию о разделах, получаю
сначала вроде все ок
https://i.ibb.co/gmRBvPF/bad-hdd1.png (https://ibb.co/gmRBvPF)
а потом как-то не очень
https://i.ibb.co/djHnL8n/bad-hdd-2.png (https://ibb.co/djHnL8n)

- - - Добавлено - - -

Аналогичное сообщение получаю и при попытке примонтировать диск, но если переключиться между master/slave и обратно - все чудом начинает работать.

- - - Добавлено - - -

Еще глюк: отредактировал unreal.ini - поменял диски местами. Попытка переключиться master/slave - переключается несколько секунд, при этом в консоли несколько ошибок *** unknown ata cmd 62 ***, попытка выбора образа приводит к "hard disk data not ready"
https://i.ibb.co/jbbd48m/bad-hdd-3.png (https://ibb.co/jbbd48m)

- - - Добавлено - - -

О, добавлено определение fat 32 разделов, ну и судя по текстовым надписям в файле прошивки еще и некоторых других.
https://i.ibb.co/ThbC4fQ/hdd-fat-32.png (https://ibb.co/ThbC4fQ)

LW
17.11.2022, 02:17
marinovsoft, Попробуйте повторить.
78109

marinovsoft
17.11.2022, 08:33
Опять какие-то глюки. На мастере у меня маленький образ на одну дискету (размер файла 2 мб), на слейве - только что созданный пустой на 1 гб. Файлы cmos и nvram удалил перед запуском эмуля.

Заходим в hard disk utility
https://i.ibb.co/MDVTRcL/4-xx-02-1.png (https://ibb.co/MDVTRcL)

заходим в partition information - кажет ерунду
https://i.ibb.co/QH8sDmG/4-xx-02-2.png (https://ibb.co/QH8sDmG)

переключение между master/slave - проходит несколько секунд
и теперь в partition information уже лучше
https://i.ibb.co/KLwvbvt/4-xx-02-3.png (https://ibb.co/KLwvbvt)

PS. Примонтирванных дисков нет.

LW
17.11.2022, 09:09
Не могу повторить это ошибку. Какая версия эмуля? Можете скинуть файл настроек эмуля и два этих образа?
А при включении какой объем slave определяется?
Можно снап с этой ошибкой?

marinovsoft
17.11.2022, 09:19
Весь каталог эмулятора https://www.upload.ee/files/14673671/78.7z.html

LW
17.11.2022, 10:20
Нашел где собака порылась.
78110

marinovsoft
17.11.2022, 10:30
Вроде робит. Буду дальше тестировать.

ZXFanat
17.11.2022, 11:45
Может стоит создать отдельную тему: "Тестирование ProfROM для двух HDD для ZS-256" или аналогичную. Так как сама тема про дизассемблер ПрофПЗУ Scorpion! Все-таки путаница есть. Дизассемблер для Scorpion-а и тестирование ProfROM для подключения двую "жёстких" дисков, это не одно и то же. Да, и потом легче искать файлы будет.

LW
18.11.2022, 22:38
Может стоит создать отдельную тему: "Тестирование ProfROM для двух HDD для ZS-256" или аналогичную.
Я то в целом за, но потребуется помощь админа или модераторов, кто сможет разделить тему.

CityAceE
18.11.2022, 23:11
Перенёс сообщения в отдельную тему.

LW
19.11.2022, 16:00
Логичнее было бы перенести в ветку Scorpion'а....

CityAceE
19.11.2022, 16:24
Логичнее было бы перенести в ветку Scorpion'а....
Сомневался в какой именно раздел переместить: в Скорпион или в Накопители. В итоге выбрал Накопители. Но ОК, сейчас перенёс в Скорпион.

AndXor
19.11.2022, 17:36
Диспетчер страниц там есть, но переключение плоскостей отличается от того что есть в скорпионе.
Нашёл для чего версия 4.02. Копаясь в старых архивах, обнаружил интересный файл: ZS_PZU.MAI
выдержка из него:

area : NETMAIL
from : Vlad Sotnikov
to :
subj : Переключение страниц
date : 26-01-01
time : 23:18:11

Привет, Кирилл!

Извини, что отвечаю тебе так поздно - признаться, твоя
просьба заставила меня достаточно помучаться, чтобы выяснить,
как же все-таки переключаются страницы в ПрофПЗУ. Вначале я
начал копать эмулятор MOA SPM. И напоролся там на команду,
названную им SPM. Она имеет код #ED,#10 - и мне потребовалось
немного времени, чтобы понять, что этот способ не имеет ничего
общего с тем, как переключаются страницы на реальном спеке. А
на реальном Скорпионе все происходит так:

Известно, что для выполнения подпрограмм в дополнительных
страницах используется команда RST #30, которая вызывается при
включенном ПЗУ Монитора и 8-й странице. При этом она имеет
следующий формат:
RST #30
DW адрес подпрограммы
DB номер страницы (0...15)
...

После выполнения подпрограммы снова включается основная
страница монитора, и 8-я банка памяти.

* * *

Счастливо, Влад (Vega, ex Style Group).

--- Turbo-Poke_v3.1
* Origin: SPbZXNet'2001 (500:812/8.9)

На своей странице МОА писал:

"SPM -- это эмулятор-отладчик ZX Spectrum-совместимого компьютера. Причем, это скорее более отладчик, нежели эмулятор.
В комплекте с эмулятором поставляется специально откомпилированная версия ПЗУ компьютера Scorpion. Поскольку SPM эмулирует Scorpion не в полном объеме, то реальное ПЗУ Scorpion работать не будет."

78115

marinovsoft
24.11.2022, 08:30
LW, теневик известен глючностью при работе через LBA, нет планов по исправлению этих глюков?

LW
24.11.2022, 09:39
А в чем выражаются эти глюки?

- - - Добавлено - - -

Имеется ввиду этот (https://zx-pk.ru/threads/13230-problemy-so-smuc-1-3.html?p=295446&viewfull=1#post295446) глюк? Или есть что-то еще?
Этот исправить легко.

AndXor
24.11.2022, 09:58
Да. Например - запись "Save Set Up to disk" в режимах CHS и LBA производится в разные сектора HDD.

marinovsoft
24.11.2022, 10:02
https://zx-pk.ru/threads/1360-smuc-na-diskretakh-i-plis.html?p=54927&viewfull=1#post54927
https://zx-pk.ru/threads/13230-problemy-so-smuc-1-3.html

Это уже не про LBA b CHS, пишут про то, что профпзу работает в пределах 1800 Мб https://zx-pk.ru/threads/7032-prostoj-vopros-pro-smuc.html

LW
24.11.2022, 10:20
Да. Например - запись "Save Set Up to disk" в режимах CHS и LBA производится в разные сектора HDD.
Не ошибаетесь?
Проверил сейчас на оригинальном ПЗУ v4.01 настройки пишутся в одно и тоже место.

AndXor
24.11.2022, 10:37
Не ошибаюсь. Этой "фичей" пользовался ещё в конце 90х на версии 4.01.
Ещё раз проверил на UnrealSpeccy.
Установите CHS, сохраните в CMOS, примонтируйте диски, сохраните "Save Set Up to disk".
Установите LBA, сохраните в CMOS, примонтируйте другие диски, сохраните "Save Set Up to disk".
Посмотрите содержимое винта. У меня сектора 1 и 2 раздела MFS.

marinovsoft
24.11.2022, 10:42
Возможно, это зависит от CHS винта.

LW
24.11.2022, 11:01
Посмотрите содержимое винта. У меня сектора 1 и 2 раздела MFS.
Раздела MFS или быть может винчестера?
1й и 2й сектор раздела MFS (если считать с единицы), содержат список подразделов. Потом уже идут данные подразделов.
Пункт Save Set Up to disk сохраняет настройки на дискету либо, если примонтирован образ, то на образ диска. Причем список примонтированных образов там не сохраняется.
А вот в самом начале винчестера уже записаны настройки примонтированных образов.
Причем в режиме CHS они записываются в сектор 2 (считаем от ноля), а в режиме LBA в сектор 3. Отсюда и растут все проблемы.

Grand
24.11.2022, 11:10
Сектор hdd, в который записываются данные о примонтированных псевдодисках - разный в CHS и LBA. В TR-DOS Navigator'е это учитывается.
Поскольку в CHS сектора считаются с "1", то CHS=000003 не тоже самое, что LBA=000003.

marinovsoft
24.11.2022, 11:58
Создал новый пустой диск, дабы потестить LBA (на патченном ПЗУ)
fsutil file createnew test.hdd 1056964608
CHS0=2048/16/63
LBA0=2064384
Еще ничего не делал, а unreal уже сообщает "unknown ata cmd"
https://i.ibb.co/4FDCVrK/1.png (https://ibb.co/8mRG7ZN)

Пробую разбить винт на разделы, переключаю в режим LBA, создаю MFS раздел на 128 Мб, получаю сообщения в консоли "unknown ata cmd" и ошибку в анриле.
https://i.ibb.co/VJFRRnR/2.png (https://ibb.co/tQ0ggjg)

LW
24.11.2022, 12:12
Давайте папку эмулятора с этим образом винта, будем смотреть.

marinovsoft
24.11.2022, 12:29
На непатченном аналогичная ошибка, в том числе и в режиме CHS. Скорее всего ему геометрия не нравится, либо эмулятор глючит. Вечером проверю еще и на zxmak2, у него вроде как и логирование ATA операций есть.
https://www.upload.ee/files/14692254/us.7z.html

Еще такой момент - если поставить chs0=0/0/0, а оставить только LBA то профпзу не видит винт совсем, не знаю баг ли это эмулятора или нет.

LW
24.11.2022, 12:43
Еще такой момент - если поставить chs0=0/0/0, а оставить только LBA то профпзу не видит винт совсем, не знаю баг ли это эмулятора или нет.
CHS винта из настроек эмуля передаются как данные служебного сектора винчестера, соответственно, если из служебного сектора прочитаны нулевые значения геометрии винчестера, считается что винт отсутствует. Так что ошибки тут не вижу.

marinovsoft
24.11.2022, 13:56
В ATAPI 6 отменили CHS, оставили только LBA. Вроде на адаптерах sd2ide это встречается.

- - - Добавлено - - -

поставил chs0=1/1/1,
включил режим lba
test1 - проходит
test2 - ошибки

- - - Добавлено - - -

Нашел свой косяк, RO у HDD включен :)

- - - Добавлено - - -

Вот попытка создания раздела в режиме lba (это на патченном ПЗУ) (при этом chs в настройках указан 1/1/1)
https://i.ibb.co/wKyhGYj/3.png (https://ibb.co/Zhdz4N7)

- - - Добавлено - - -

А вот попытка сохранить настройки на диск
https://i.ibb.co/0X7jX0X/4.png (https://ibb.co/590W9Q9)

LW
24.11.2022, 15:00
поставил chs0=1/1/1,
это уже перебор. винтов с одним сектором не существует :)

- - - Добавлено - - -


Создал новый пустой диск, дабы потестить LBA (на патченном ПЗУ)
fsutil file createnew test.hdd 1056964608
CHS0=2048/16/63
LBA0=2064384
Еще ничего не делал, а unreal уже сообщает "unknown ata cmd"


Пробую разбить винт на разделы, переключаю в режим LBA, создаю MFS раздел на 128 Мб, получаю сообщения в консоли "unknown ata cmd" и ошибку в анриле.
Всё вот это от того, что стоит ReadOnly на данный винт.

marinovsoft
24.11.2022, 15:08
это уже перебор. винтов с одним сектором не существует
Ну раз он не умеет с chs=0/0/0, надо же что-то указать. LBA-же я указываю корректно, и в настройках указываю работу через LBA, к.м.к., в таком случае ему должно быть по-фигу что я там в chs указал :) А ему не пофигу.

LW
24.11.2022, 16:17
А в мониторе LBA то включен? И сохранена настройка в CMOS?

marinovsoft
24.11.2022, 16:46
Угу.

LW
24.11.2022, 18:01
Размер винчестера, исходя из параметров CHS должен составлять не менее одного мегабайта. Примите это как факт. В любом случае совсем не использовать параметры CHS не получится.

marinovsoft
24.11.2022, 19:10
Если целью стоит в том числе монтирование trd прямо с fat32, то к.м.к., лучше выпилить этот chs вообще.

LW
24.11.2022, 19:22
Да нельзя его выпилить. Это неотъемлемая часть геометрии любого винчестера. Плюс те, кто пользуется старыми винтами, которые не умеют LBA сразу пойдут лесом. Плюс невозможность корректно создать раздел.

marinovsoft
24.11.2022, 19:55
Не любого, LBA стал обязателен в ATA-3 (1997 год), а в стандарте ATA/ATAPI 6 (2001 год) CHS стал необязательным.

Диски, не поддерживающие LBA это что-то типа Quantum LPS 127 (на 127 Мб), ему и FAT32 не нужен.

- - - Добавлено - - -

Wild Commander на tsconf-е и с chs=0/0/0 робит.
Fatall в режиме скорпиона тоже.

Dima_ZX
25.11.2022, 15:57
LW, Можно ли сделать в настройках явное указание какие HDD использовать, например "MASTER-ON (OFF)", возник глюк, отсоединил slave винт, подключил назад cd-rom, отключил авто определение hdd, при холодном старте
при запуске пишет что оба Hdd установлены.

LW
25.11.2022, 16:36
отключил авто определение hdd, при холодном старте
при запуске пишет что оба Hdd установлены.
Вполне логично что так пишет, настройки берутся из NVRAM.

Можно ли сделать в настройках явное указание какие HDD использовать, например "MASTER-ON (OFF)"
Развейте свою мысль подробнее.
Сделать то можно. Но, допустим, отключим работу со slave, ну так на этом канале и CD-ROM тоже перестанет работать.

- - - Добавлено - - -

Еще не выкладывал, но уже сделал. Настройки Autostart from disk N/autoconfig/TRD-DOS mirror/LBA mode будут индивидуальными для каждого винчестера.
Может так будет проще? На slave оставите автоопределение включенным и можете подключать то привод, то винт.

Dima_ZX
26.11.2022, 03:55
Вполне логично что так пишет, настройки берутся из NVRAM.

Развейте свою мысль подробнее.
Сделать то можно. Но, допустим, отключим работу со slave, ну так на этом канале и CD-ROM тоже перестанет работать.

- - - Добавлено - - -

Еще не выкладывал, но уже сделал. Настройки Autostart from disk N/autoconfig/TRD-DOS mirror/LBA mode будут индивидуальными для каждого винчестера.
Может так будет проще? На slave оставите автоопределение включенным и можете подключать то привод, то винт.

Да вот так наверное будет правильнее. В принципе то второй винт и нужен только backup делать, да копировать иногда может быть.

Интересно, насколько сложно добавить возможность монтировать одновременно с разных hdd образа tr-dos?

LW
26.11.2022, 16:33
Интересно, насколько сложно добавить возможность монтировать одновременно с разных hdd образа tr-dos?
Реализуемо, но не слишком просто. Вопрос в том сильно ли это будет удобнее... Плюс к этому, те немногие программы, позволяющие своими средствами монтировать образы (вроде TRDN), возможно будут некорректно работать с таким зоопарком.

ZXFanat
26.11.2022, 21:57
По мере публикации сообщений, читаю их. Возник вопрос, даже несколько. Как проводится тестирование (или эксперименты, как хотите называйте). На "живом" ZS-256, и на каком, "жёлтом" или на "зелёном"? Если на "живом", то каким образом или способом подключаются два "жёстких" диска, одинаковые они или с разной геометрией. Какие? CHS, LBA? Микросхема ProROM прошивается "вновь и вновь" или используется "как есть"? Или все делается в эммуляторе? И чем отличается тестирование (эксперименты) в эмуляторе от тестирования (экспериментов) на "живом" ZS-256?

Grand
27.11.2022, 08:34
те немногие программы, позволяющие своими средствами монтировать образы (вроде TRDN), возможно будут некорректно работать с таким зоопарком.Если будут соответствующие рестарты - то проблем не будет. Их (рестарты) в будущем надо обсудить на нашем Форуме :)



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

Dima_ZX
27.11.2022, 16:53
Я на Живом Зеленом проверяю, винты разные устанавливал. работали оба в режиме CHS. Микросхему прошиваю каждый раз, у меня их несколько, единственно перед прошивкой добавляю нужные программы в rom disk .

LW
27.11.2022, 22:00
Если будут соответствующие рестарты - то проблем не будет. Их (рестарты) в будущем надо обсудить на нашем Форуме
Вот этот вопрос на самом деле достаточно интересен. Я и сам планировал его поднять, но несколько позже. Нюанс в том, что я, к сожалению, не имею практики использования рестартов ПрофПЗУ. И хотелось бы услышать мнение тех, кто их использовал. В особенности ваше, Grand.
Не разбирался в исходниках TRDN, но насколько я понимаю сектор с настройками примонтированных образов вы формируете сами (иначе зачем вам вызов п/п подсчета CRC...) Если это так, то есть вопрос, что вы заносите в байт +5? по умолчанию он дублирует байт +0 (тип подключенного раздела/образа диска) но в дальнейшем нигде более не используется, что вообщем-то и позволило подвесить на него номер глобального раздела при монтировании дисков.

возможность монтировать одновременно с разных hdd образа tr-dos
Касательно этого вопроса. тут тоже есть некоторые моменты, с которыми надо определиться. Допустим есть один винт master или slave, тут всё более-менее
понятно, А в случае наличия двух винтов, где сохранять настройки?... На master или slave или на обоих... А читать настройки с какого винта... С мастера, а
если там пусто или контрольная сумма кривая, то попытаться считать со слейва?... Или как вариант переместить настройки в NVRAM, благо там неиспользуемого
пространства вагон, но опять таки возможно существуют SMUC'и без NVRAM...

Вообщем реализовать можно много чего, но хотелось бы услышать мнения и пожелания сообщества.

Dima_ZX
28.11.2022, 11:03
Касательно этого вопроса. тут тоже есть некоторые моменты, с которыми надо определиться. Допустим есть один винт master или slave, тут всё более-менее
понятно, А в случае наличия двух винтов, где сохранять настройки?... На master или slave или на обоих... А читать настройки с какого винта... С мастера, а
если там пусто или контрольная сумма кривая, то попытаться считать со слейва?... Или как вариант переместить настройки в NVRAM, благо там неиспользуемого
пространства вагон, но опять таки возможно существуют SMUC'и без NVRAM...


Я думаю всё-таки правильнее хранить их в NVRAM,

Grand
29.11.2022, 04:21
По поводу использования рестартов в TRDN. Сейчас, когда командер запущен на Scorpion'е с HDD, используются следующие функции реcтарта RST 8 \ DB #81: 1, 2, 7, 9, 16, 34, 35, 36, 38. Самая нелюбимая - полностью забагованная функция 35, но без нее никак, пришлось научится с ней работать. В будущих версиях нужно будет добавить исправленный аналог этой функции, но саму 35 оставить в первозданном виде для совместимости! Кроме того, в ПрофПЗУ оказалась сломана функция 8 - в V2.95 она еще работала как надо.


что вы заносите в байт +5? по умолчанию он дублирует байт +0В байт +05 описателя примонтированного псевдодиска в секторе информации о примонтированных псевдодисков я заношу #01, то есть и у меня это дубль байта +00.
Но я считаю возможным в будущих версиях ProfROM использовать байт +05 для других целей, в том числе и для номера MFS-раздела - для этого можно задействовать три бита, а остальные зарезервировать для чего-нибудь еше.

LW
29.11.2022, 10:48
Самая нелюбимая - полностью забагованная функция 35
В чем её баги? Ну помимо порчи памяти по адресу в hl. Эта функция активно используется самим монитором для монтирования дисков, нареканий вроде не было.

Кроме того, в ПрофПЗУ оказалась сломана функция 8
А в ней какие проблемы?

- - - Добавлено - - -


Я думаю всё-таки правильнее хранить их в NVRAM,
Но и тут есть нюансы, запись в NVRAM весьма медленная.

Grand
29.11.2022, 12:42
запись в NVRAM весьма медленнаяНадо воспользоваться опытом iBM PC: настройки в BIOS - 1-е загрузочное устройство, 2-е загрузочное устройство... :)

Dima_ZX
29.11.2022, 15:19
А если настройки сохранять на текущий основной в данный момент винт, но с меткой времени, при загрузки грузить с обоих винтов настройки, которые свежее те и использовать.

marinovsoft
29.11.2022, 18:02
Так себе идея, учитывая, что микросхема CMOS (DALLAS) для работы ProfROM + SMUC не является необходимым условием.

Grand
30.11.2022, 04:32
Сепециально вчера еще раз проверил работу функции 8 следующей подпрграммой на своих реальных Скорпионах.


ORG 32768
LD A,0
LD C,1
RST 8
DB #81

LD HL,BUF
LD C,9
RST 8
DB #81

LD C,8
RST 8
DB #81
RET
BUF DB 0

RAMTOP=32767. Запускалось из BASIC128: print usr 32768.
На фирменном компьютере с Монитором V2.95 подпрограмма обращается к дисководу и нормально завершает свою работу.
На Scorpion 1024 Turbo+ с Монитором V4.01 подпрограмма зависает на обращении к дисководу, на экране появляется артефакт в виде синего квадрата. Нажатие на сброс приводит к полной инициализации Теневого Монитора. Тоже самое было и на фирменном Скорпионе, когда в нем было установлено фирменное ПрофПЗУ V4.01.

LW
30.11.2022, 08:41
Любопытно. На эмуле отрабатывает без проблем.
А с функцией 7 проблем не было? Попробуйте на реале вместо 8й вызвать 7ю.

Grand
30.11.2022, 11:08
А с функцией 7 проблем не было?Функция 7 всегда работатала правильно, и в TRDN использовалась.

LW
30.11.2022, 11:26
А при каких условиях 8я функция зависает? Дисковод пустой нет? В нем реальная дискета или смонтированный образ?

Grand
30.11.2022, 14:32
В дисководе была реальная дискета, а все образы отмонтированы.

LW
30.11.2022, 15:12
А с примонтированным образом есть зависание? Хочется понять где там сидит глюк, там процедура-то два с половиной байта...

Grand
01.12.2022, 07:45
Может функция 8 не работает из-за "соседней" функции? Например, функцию 9 MOA многократно пределывал: сначала она задавала буфер для FDD, потом выводила номер версии, а в конце еще стала задавать буфер для HDD.

LW
01.12.2022, 08:22
да в 9й вообще полтора байта :)


x0922 ld (xFFE7),hl
ld (xFFF0),hl
ld de,#6161
ld bc,#0705
ret





x08D4 call x084F ;R8DOS #07(7)
call x0344 ;hl адрес кода, определяющего тип дискеты в текущем дисководе
ld a,(hl)
and %01000011
dec a
ld a,#10
jp nz,x04D1 ;ошибка #10. дискета не соответствует формату tr-dos
ld de,#0008
ld b,#01
ld hl,(xFFE7) ;адрес рабочего буфера для функции
ld a,h
or l
ld a,#12
jp z,x04D1 ;ошибка #12. не открыт рабочий буфер
call x0553 ;R8DOS #05(5) чтение служебного сектора
ld ix,(xFFE7) ;адрес рабочего буфера для функции
ld de,#00E1
add ix,de ;начало служебной информации
ld a,#10
cp (ix+#06) ;идентификационный код TR-DOS (#10)
jp nz,x04D1 ;ошибка #10. дискета не соответствует формату tr-dos
call x0349 ;hl адрес кода, определяющего тип текущего дисковода
ld e,(hl)
call x0344 ;hl адрес кода, определяющего тип дискеты в текущем дисководе
inc a
res 7,(hl) ;односторонняя дискета
bit 2,(ix+#02) ;тип дискеты
jr z,x0918 ;односторонняя
set 7,(hl) ;двухсторонняя
x0918 res 5,(hl) ;40 дорожек на диске
bit 0,(ix+#02) ;кол-во дорожек
ret nz ;40 дорожек
set 5,(hl) ;80 дорожек
ret


7я вы говорите работает без нареканий, проблем с 5й тоже нет.
А в 8й чему тут ломаться.

Grand
01.12.2022, 10:14
Но, главное, буфер-то она правильно задает? Или для FDD буфер не нужен? Тогда куда грузится девятый сектор дискеты по которому функция 8 пытается произвести настройку?

LW
01.12.2022, 10:54
главное, буфер-то она правильно задает?
разумеется. адрес буфера в ячейке #FFE7
оттуда 8я функция его и берет.

Grand
02.12.2022, 04:27
Я продолжил эксперименты с этой подпрограммой на Scorpion 1024 Turbo+ с ПрофПЗУ V4.01.
Если диска в дисководе (это был дисковод A:) нет, то нормальное завершение. Если к A: примонтирован образ, то тоже нормальное завершение. Таким образом, зависание происходит только в одном случае: если в дисководе есть дискета.


разумеется. адрес буфера в ячейке #FFE7Теперь у меня подозрение на процедуры Монитора начинающие и завершающие работу функций.

LW
02.12.2022, 10:11
А функция 5 работает с реальной дискетой нормально?

- - - Добавлено - - -


у меня подозрение на процедуры Монитора начинающие и завершающие работу функций
Это вряд ли. Если с примонтированным образом функция отрабатывает, а реальной дискетой нет, вероятней всего проблема в процедуре чтения сектора, ибо только там идет ветвление реальная дискета/образ.

Grand
02.12.2022, 11:16
А функция 5 работает с реальной дискетой нормально?Функции 5 и 6 я применял. Все работает как надо и с FDD, и с HDD.
Вот моя адаптация игры Krakout 3: там можно сохранять таблицу рекордов на любой диск. Если запущено на Скорпионе, то используются функции 5 и 6.

LW
02.12.2022, 14:04
Grand, В общем разобрался в чём ошибка. Косвенно правы и вы и я. Ошибка таки сидит в функциях 5/6. В переменную, в которой сохраняется размер сектора в байтах, для дальнейшей переброски из буфера в память пользователя, во время позиционирования головки на заданную дорожку, читается 6 байт заголовка сектора диска, и вот как раз последние два байта заголовка попадают на эту переменную. В итоге там может оказаться любое значение вместо стандартной длины 256 байт, и как результат после чтения сектора, во время переброски из буфера, может скопироваться куда больший объем данных, и они затирают и 8ю страницу, и может попасть в том числе и на экран.
Пофиксим.
Попутно нашел в 8й функции еще одну ошибку: нельзя что бы буфер (вернее конец его начиная от +#E1) попадал на память выше #C000, фатального конечно ничего не случится, но диск будет определен неверно.

LW
03.12.2022, 20:53
добавлена возможность монтировать .trd файлы с FAT32 разделов (работает чтение/запись)
78171

izzx
04.12.2022, 09:20
В эмуле на примонтированный диск маленький бейсик файл записался. А снимок экрана из монитора не пишется. Или зависнет, или ошибка ATA cmd 62.

1. Получается, если бы сразу была сделана поддержка монтирования с ФАТ, не надо бы было придумывать наборы виртуальных дисков и систему MFS тоже?
2. Как прикрутить такой ROM теперь для GMX?
3. Заодно бы поправить глюк с мигающими экранами 5-7 при записи на виртуальную дискету. На реальной дискете не мигает. Вот здесь я записал начиная с 4-50 примерно.
https://youtu.be/Ki1a8TiT-6U
И корректное определение что включен расширенный экран GMX тоже бы надо.

LW
04.12.2022, 09:43
А снимок экрана из монитора не пишется. Или зависнет, или ошибка ATA cmd 62.
разберемся

2. Как прикрутить такой ROM теперь для GMX?

И корректное определение что включен расширенный экран GMX тоже бы надо.
с этим сложнее, не буду пока ничего обещать.

3. Заодно бы поправить глюк с мигающими экранами 5-7 при записи на виртуальную дискету. На реальной дискете не мигает.
вы скажите как воспроизвести это, посмотрим.

izzx
04.12.2022, 11:50
вы скажите как воспроизвести это, посмотрим.
В эмуляторе не мигает, а комп у меня сейчас далеко. Надо бы чтобы подтвердили люди с реальным компом с версией 4.01. У меня то GMX.
Наверняка замечали такой эффект, если он у них есть.
На видео переменная #5b5c поставлена правильно (= порту #7ffd).

Xela
04.12.2022, 11:59
с FAT32 разделов (работает чтение/запись)

Создание fat32 разделов из монитора есть в планах? или это сложноосуществимо?
Что б создавать все нужные разделы средствами монитора, без танцев под осью на большом брате.

LW
04.12.2022, 12:26
Создание fat32 разделов из монитора есть в планах? или это сложноосуществимо?
В планах не было. Но в принципе можно и сделать.

Xela
04.12.2022, 12:35
добавлена возможность монтировать .trd файлы с FAT32 разделов

Создал образ - 4Гб, половину разметил на FAT32, половина - не размечена.
записал несколько trd образов.
подключил к Unreal. при попытке смонтировать дискету через монитор, пишет - Invalid Partition.

разметил в мониторе оставшийся раздел (на самом деле 2 раздела - большой на 2 гб. и маленький на 3 мб).
после этого заработало монтирование с FA32.

еще момент - смонтировал образ, выхожу из монитора через 0: Continue program - Scropion сбрасывается в Basic 48 (ну или usr 0) происходит.
делаем сброс - все работает.

marinovsoft
05.12.2022, 08:36
CHS0=2048/16/63
LBA0=2064384
Образ пустой.
https://i.ibb.co/1n02M2G/5.png (https://ibb.co/mBRz0z5)
До появления надписи "hard disk r/w error 56215" висит примерно 40 секунд, ошибок в консоли нет.

goodboy
05.12.2022, 10:19
создавать все нужные разделы средствами монитора, без танцев под осью на большом брате.
CF->IDE наше всё, ну и весьма неплохо работают IDE->USB адаптеры (я недавно через него осваивал реальный винт для PlayStation2)

Xela
05.12.2022, 11:29
весьма неплохо работают IDE->USB адаптеры
мне нужно было старые ide винты, найденые у родителей на антресолях, проверить на предмет чо там на них. перепробовал несколько таких адаптеров - с отрицательным результатом.
пришлось pci express плату брать.

- - - Добавлено - - -


CF->IDE наше всё
комментарий про танцы был скорее о том, что надо определенным образом создавать разделы - первым должен быть MFS, потом уже FAT32 и все-остальное.
но пока экспериментировал с новой версией ПЗУ оказалось, что пофиг в каком порядке разделы идут. видимо LW это поправил.

marinovsoft
05.12.2022, 13:28
Вопрос: что будет, если примонтировать trd-файл с FAT32 на диск А, потом удалить файл и попробовать что-нибудь записать или считать с диска А?

izzx
05.12.2022, 13:51
первым должен быть MFS, потом уже FAT32 и все-остальное.
Да, вот только Win 7 хочет, чтобы fat32 был первым разделом. Говорят, на Win 10 уже поправлено.
А мне так и пришлось сделать fat32 первым.

LW
05.12.2022, 14:46
Вопрос: что будет, если примонтировать trd-файл с FAT32 на диск А, потом удалить файл и попробовать что-нибудь записать или считать с диска А?
После перезагрузки образ отмонтиротируется и всё.
До перезагрузки, могут случится непоправимые вещи вплоть до порчи FAT таблицы.
Поправим это.

что пофиг в каком порядке разделы идут. видимо LW это поправил.
нет я это не правил. так и было раньше.

- - - Добавлено - - -


До появления надписи "hard disk r/w error 56215" висит примерно 40 секунд, ошибок в консоли нет.
Не могу повторить.
Можете скинуть эмуль с этим образом?

marinovsoft
05.12.2022, 16:11
https://www.upload.ee/files/14722094/79.7z.html

Evgeny Muchkin
05.12.2022, 16:54
Говорят, на Win 10 уже поправлено.
Да.

LW
05.12.2022, 18:36
Возник вопрос связанный с ошибкой описанной в этом (https://zx-pk.ru/threads/34789-podderzhka-hdd-slave-v-scorpion-zs-256.html?p=1167925&viewfull=1#post1167925) посте. В анриле 0.39 она есть в 0.38 нет. Хотелось бы понять какя версия неправильно эмулит работу с винтом.

Нужна помощь. У кого есть возможность, надо на реале со SMUC'ом и подключенным винчестером (только master, без slave) запустить программку. И потом написать какое число она выдает.
78175

marinovsoft
05.12.2022, 18:45
LW, на стандартном профроме или на модифицированном запускать?

LW
05.12.2022, 18:53
marinovsoft, версия ПЗУ не имеет значения

marinovsoft
05.12.2022, 19:10
Выдает 0

ZXFanat
06.12.2022, 00:32
А вот интересно, разделы (или раздел) на "жёстких" (на "жёстком") в какой операционной системе создавали? DOS, MS-DOS или в Windows?

Dima_ZX
06.12.2022, 03:20
0

- - - Добавлено - - -

у меня тоже на реале временами моргает экран при записи на образ на HDD, выглядит так как будто во время работы с подпрограммами из проф пзу, переключается экран.

Evgeny Muchkin
06.12.2022, 13:38
А вот интересно, разделы (или раздел) на "жёстких" (на "жёстком") в какой операционной системе создавали? DOS, MS-DOS или в Windows?
А разве это должно иметь значение?

ZXFanat
06.12.2022, 13:48
А разве это должно иметь значение?
Наверно, но кто его знает!? Если, в свое время, Зонов делал поддержку "жёсткого" диска в теневом мониторе ZS-256, то по всей вероятности, он экспериментировал на уровне DOS и MS-DOS, и маловероятно, что на уровне Windows (тем более не XP, 7-ки и последующих версий). Возможно, это как-то и влияет на создание разделов. Собственно говоря, стоит проверить эту версию. Может быть стоит, даже, Зонова спросить или тех, кто ему помогал в создании ПЗУ для Scorpion-а.

LW
06.12.2022, 22:13
3. Заодно бы поправить глюк с мигающими экранами 5-7 при записи на виртуальную дискету. На реальной дискете не мигает.
Разобрался почему мигает экран при загрузке с образа.
Дело в том, что при входе в монитор (что собственно и происходит при работе с винчестером) принудительно устанавливается экран 5. И если при загрузке был активен экран 7, то происходит мерцание. И от переменной #5b5c тут это не зависит особо, она только влияет на корректное восстановление экрана при выходе из монитора.
Попробуем исправить.

Evgeny Muchkin
07.12.2022, 14:28
А в какое место всунут новый функционал с FAT32?

LW
07.12.2022, 14:40
6/7 страницы в основном

Xela
07.12.2022, 23:07
ожет быть стоит, даже, Зонова спросить или тех, кто ему помогал в создании ПЗУ для Scorpion-а.
Поддержку FAT32 добавил LW, а спросить Зонова? ПроaПЗУ писал MOA, но в "классическом" ПрофПЗУ есть только поддержка MFS-разделов, которые этим же ПрофПЗУ и создаются, не понятно о каких экспериментах с DOS и MS-DOS идет речь.

- - - Добавлено - - -
LW, то, о чем я писал - что монтирование с FAT32 возможно только есть еще раздел MFS - это так и задумано? Или можно сделать работу только с FAT32, без MFS?

LW
07.12.2022, 23:29
то, о чем я писал - что монтирование с FAT32 возможно только есть еще раздел MFS - это так и задумано? Или можно сделать работу только с FAT32, без MFS?
Xela, Конечно же нет, версия еще достаточно сырая.
Но хотелось бы глянуть на ваш образ, если не сложно, желательно в комплекте с эмулятором.
На своих образах я пока не наблюдал такой проблемы.

- - - Добавлено - - -

Насчет MFS что могу сказать, это достаточно неплохое решение как минимум в плане скорости (за счет нефрагментированного расположения образов).
Это можно легко понять, запустив тест смонтированного диска из D. Disk utility. В текущей реализации работы с FAT, по скорости идет очень заметный проигрыш. Как раз на данном этапе пытаюсь этот момент оптимизировать.

Xela
08.12.2022, 00:08
Но хотелось бы глянуть на ваш образ, если не сложно, желательно в комплекте с эмулятором.
я тогда заново создам образ, и проверю еще раз, что б уж на 100% быть уверенным. в текущей версии образа уже добавлен MFS-раздел)

marinovsoft
08.12.2022, 03:44
LW, в память читается сектор (512 байт) или кластер (выбирается на этапе форматирования ФС)? Применяется ли какая-нибудь стратегия кэширования этих данных?

LW
08.12.2022, 04:52
в память читается сектор (512 байт)
Только сектор

на этапе форматирования ФС
такого этапа на текущий момент не существует

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

marinovsoft
08.12.2022, 05:15
такого этапа на текущий момент не существует
Я про это
https://i.ibb.co/BgTs8v2/6.png (https://imgbb.com/)

Только сектор
Ок, помещается всего лишь два TR-DOS сектора. Учитывается ли тот момент, что нет необходимости повторного чтения сектора IDE, когда читаем второй входящий в него сектор TD-DOS, если он до этого уже был считан? Производится ли запись сектора, если он не был модифицирован (в памяти)?

LW
08.12.2022, 13:18
Учитывается ли тот момент, что нет необходимости повторного чтения сектора IDE, когда читаем второй входящий в него сектор TD-DOS, если он до этого уже был считан?
Это учитывалось и разработчиками ПЗУ при чтении с MFS раздела, соответственно учитывается и при чтении с FAT.
Но с фат сложнее ввиду нелинейного расположения образа на диске. Приходится часто обращаться к самой таблице, что бы рассчитать адрес сектора на диске.

Производится ли запись сектора, если он не был модифицирован (в памяти)?
Это еще зачем?
Это работа с образом, запись производится при вызове функции 6 R8DOS, либо стандартного обработчика #3D13, если примонтирован образ.

Evgeny Muchkin
08.12.2022, 14:30
Приходится часто обращаться к самой таблице, что бы рассчитать адрес сектора на диске.
Драйвер от savelij ?

Xela
08.12.2022, 18:42
Xela, Конечно же нет, версия еще достаточно сырая.
разобрался, в каких случаях так происходит: если fat32 раздел первый на диске, или единственный - все хорошо.
если вдруг так получилось, что раздел второй, а первый при этом не размечен, то тогда ПЗУ отказывается работать с таким разделом.

https://i.postimg.cc/jLzzx69b/20221208-16313643.png (https://postimg.cc/jLzzx69b)

думаю, что случай достаточно нестандартный, что б его не учитывать.

goodboy
08.12.2022, 18:55
вспомнилось что ещё ISdos работает с диском как-то по-своему (или я ошибаюсь ?)
такая солянка из разделов уживётся на винте ?

Xela
08.12.2022, 19:14
ISdos работает с диском как-то по-своему (или я ошибаюсь ?)
is-dos тоже живет на MFS-разделе. просто там создается не образ диска, как с тр-дос, а целиком local partition под is-dos.

https://i.postimg.cc/G9mVVQMH/20221208-17184652.png (https://postimg.cc/G9mVVQMH)

раздел MFS на 10 мб - это как раз IsDos:

https://i.postimg.cc/YjDZHWV8/20221208-17190068.png (https://postimg.cc/YjDZHWV8)

для IsDos бы придумать, как стартовать систему сразу с HDD без танцев с бубнами с монтированием образа с бейсиком-запускалкой, и сохраненным образом памяти.. это было бы идеально.
но не знаю насколько это возможно в рамках ПРОФпзу.

LW
08.12.2022, 19:41
Драйвер от savelij ?
Некоторые алгоритмы взяты и оттуда.

разобрался, в каких случаях так происходит: если fat32 раздел первый на диске, или единственный - все хорошо.
если вдруг так получилось, что раздел второй, а первый при этом не размечен, то тогда ПЗУ отказывается работать с таким разделом.
Спасибо. Исправлю.

вспомнилось что ещё ISdos работает с диском как-то по-своему (или я ошибаюсь ?)
такая солянка из разделов уживётся на винте ?
Если Is-Dos работает с подразделом MFS, то ничего не изменится. Логика работы с MFS не меняется.
Если работает с образом через #3D13 или функции R8DOS тоже все будет нормально.

для IsDos бы придумать, как стартовать систему сразу с HDD без танцев с бубнами с монтированием образа с бейсиком-запускалкой, и сохраненным образом памяти.. это было бы идеально.
но не знаю насколько это возможно в рамках ПРОФпзу.
Думаю это возможно. Вот только в is-dos я не силён. Если кто-нибудь поделится настроенным рабочим образом с Is-Dos, можно будет покопаться, подумать как реализовать загрузку напрямую с винчестера.

izzx
08.12.2022, 20:08
Если кто-нибудь поделится настроенным рабочим образом с Is-Dos, можно будет покопаться, подумать как реализовать загрузку напрямую с винчестера.
И CPM надо так же предусмотреть.

Xela
08.12.2022, 20:28
И CPM надо так же предусмотреть.
а сама CP/M умеет с HDD работать?
у MOA была в проекте некая MicroDOS и даже разделы под нее можно создавать, но где сама OS, и была ли она вообще?

izzx
08.12.2022, 21:18
а сама CP/M умеет с HDD работать?
у MOA была в проекте некая MicroDOS и даже разделы под нее можно создавать, но где сама OS, и была ли она вообще?

Кое-что есть в доках для СМУК. А вики пишет, что CPM умеет 16 дисков держать по 8 мегов.

Контроллер SMUC служит для подключения к компьютеру Scorpion ZS-256 (или любому Spectrum-совместимому компьютеру):• накопителей на жестких дисках (HDD), оснащенных интерфейсом IDE, и позволяет работать с ними в системах TR-DOS, Is DOS, CP/M;
.......
Micro DOS (порт системы CP/M) — полноценная ОС, изначально ориентированная на работу с жестким диском, необходима прежде всего для расширения функционирования Теневого Монитора

LW
08.12.2022, 21:38
А эту MicroDOS в живую видел кто-нибудь?

Xela
08.12.2022, 22:29
Micro DOS (порт системы CP/M) — полноценная ОС
так я про нее и написал, что она была в планах у MOA, но в итоге кажется это планами и осталось.

- - - Добавлено - - -


что CPM умеет 16 дисков держать по 8 мегов
штука в том, что б спектрумовская CP/M (какая-нибудь из реализаций, работающих на скорпионе) умела работать с HDD.
на CPC такая версия есть (https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/)



А эту MicroDOS в живую видел кто-нибудь?

MicroDOS (Microcomputer Disc Operating System) is a CP/M clone made in East Germany (GDR) for computers of the brand Kleincomputer (KC). It was available for the KC Compact. Unfortunately it is not 100% compatible with CP/M.

MicroDOS implementation for KC Compact
MicroDOS disc format is 1024 bytes per sector (N=3), Sector IDs 1-5. Double sided (Head ids are 0 or 1).

The following are requirements:

KC Compact disc interface (which has the BASDOS ROM, 64KB RAM and disc interface) (a CPC6128 should be able to run MicroDOS with an appropiate boot program)
MicroDOS formatted disc with boot sector.
The boot sequence on KC Compact is:

|CPM from BASIC
An ID is read from drive 0, track 0, side 0. Both C and N from the result phase of the ID command are checked. N must be 3 and not have a CPC id (41/c1 etc)
If ID is not MicroDOS then follow normal AMSDOS CP/M boot procedure (therefore allowing boot into Amstrad's CP/M on system format discs)
If ID is MicroDOS then boot MicroDOS.
MicroDOS boot:

read drive 0, track 0, side 0, sector 1-5 to &3F80 in RAM.
read drive 0, track 0, side 1, sector 1-5 to &5380 in RAM.
read drive 0, track 1, side 0, sector 1-5 to &6780 in RAM.
read drive 0, track 1, side 1, sector 1 to &7B80 in RAM.
check if &3f80 starts with <0> "DOS". i.e. 0 byte followed by DOS text
execute &4000.
Therefore you require a MicroDOS specifically for the KC Compact (i.e. a MicroDOS for KC85/4 or other KC computers will not work because the hardware is different) because the code on the disc initialises the hardware and configures the environment for MicroDOS specific to the computer booting it.

но "наша" ли это MicroDOS - вопрос...

и еще нашел такое:

The CP/M 2.x compatible system MikroDOS was delivered with the original disk extension D004 . The CP/M 2.2 compatible system MLDOS , which was developed by Mario Leubner, has existed since 1996. This system enables the integrated operation of IDE hard disks and real-time clock on a KC85 system with D004. It also represents the ideal basis for the CP/M extension NZ-COM , which provides a UNIX-like environment on the KC85 under CP/M and makes the KC85 CP/M a Z-System

ZXFanat
08.12.2022, 22:38
Да вряд ли. В свое время Зонов в буклетах писал о том, что Micro DOS это расширение Теневого Монитора. Он, скорее всего подразумевал свою разработку.

Xela
08.12.2022, 23:13
Он, скорее всего подразумевал свою разработку.
свою CP/M с блэкджеком и гейшами? Вот тут я сомневаюсь - проще было что-то готовое взять, и адаптировать.

KC85 на Z80 был, CP/M там уже поддержку IDE имело.
народ, кстати, тамошнюю версию CP/M активно поддерживает, новый софт пишет.



Micro DOS это расширение Теневого Монитор
все-таки операционная система:

https://i.postimg.cc/WhpNPLHG/20221208-21124112.png (https://postimg.cc/WhpNPLHG)

Xela
09.12.2022, 03:00
Проверил Wild Player и Wild Copier - пока только с master диском.
Wild Player при выборе драйвера SMUC отображает каталог и проигрывает файлы, без замечаний.
Wild Copier - версия 1.3 Final - при выборе драйвера SMUC - зависание. 1.24 - с соответствующим драйвером - все отображается.

izzx
09.12.2022, 09:17
штука в том, что б спектрумовская CP/M (какая-нибудь из реализаций, работающих на скорпионе) умела работать с HDD.
1. Драйвер напишем, какие наши годы... Когда-нибудь. Или призовём Максагора в помощь.

2. А не пора ли добавить в основное меню Скорпиона пункт загрузки с HDD? Как там на Эве или на Фениксе. А там можно грузить из определённого места диска загрузчик, который уже даёт выбор загрузки любой ОС. Или сделать процедуру аналогичную загрузки с фат32.

3. Вопрос не по теме: если бы на большинстве клонов ZX работала бы CPM, то может не надо бы было выдумавать ISDOS?

Xela
09.12.2022, 11:51
А не пора ли добавить в основное меню Скорпиона пункт загрузки с HDD?
точно такое же предложение хотел озвучить для LW - видать витает это в воздухе)

что-то такого вида:

https://i.postimg.cc/2LnCH3Pf/isdos27.gif (https://postimg.cc/2LnCH3Pf)

была еще мысль про что-то вроде autoexec.bas (или cod) который лежит в FAT32 разделе - и если он есть, то загружается при старте компьютера, и а там уже кто-то что решит себе забацать - меню выбора загрузки, просто автостарт TR-Dos Navigator, или Wild-Player ну и т.д. и т.п.

но это мысль на обсудить/обдумать.

LW
09.12.2022, 13:24
2. А не пора ли добавить в основное меню Скорпиона пункт загрузки с HDD? Как там на Эве или на Фениксе. А там можно грузить из определённого места диска загрузчик, который уже даёт выбор загрузки любой ОС. Или сделать процедуру аналогичную загрузки с фат32.
И что грузить этим загрузчиком?

была еще мысль про что-то вроде autoexec.bas (или cod) который лежит в FAT32 разделе - и если он есть, то загружается при старте компьютера, и а там уже кто-то что решит себе забацать - меню выбора загрузки, просто автостарт TR-Dos Navigator, или Wild-Player ну и т.д. и т.п.
Есть же вполне рабочая схема. Автозагрузка boot с заданного диска при старте/перезагрузке.

izzx
09.12.2022, 13:42
И что грузить этим загрузчиком?
ISDOS и CPM. Сам загрузчик пишется под нужную ОС. Или универсальный. Сейчас же ISDOS как-то кривовато грузится, нужна дискета. А так никаких дискет.
Как вот выше привели порядок загрузки MicroDOS.
Если примитивно делать, то можно так: монитор из специального раздела на MFS грузит 16кб на адрес #c000 и запускает.
Или как там в фат32 и IBM сделано, я читал, но забыл ).

Xela
09.12.2022, 13:47
И что грузить этим загрузчиком?
для начала - IsDOS, например. В случае Кая оттуда как раз грузится IsDOs или (WildPlayer/WildCopier, которые имеют инсталляторы на hdd).


Есть же вполне рабочая схема. Автозагрузка boot с заданного диска при старте/перезагрузке.
Да, я знаю) я за ночь не придумал особых бонусов у своего autoexec.bas, и поэтому предложил на обсуждение.

Плюс, наверное, только в том, что если (и только если) будет сделана работа с fat32 напрямую, а не только монтирование образов, это сильно развяжет руки разработчикам: можно будет уйти от ограничений TR-DOS и не зависеть от нее. т.е. оставить legacy-поддержку для работы с образами, но добавить полный доступ к FAT32-разделу и файлам на нем - как в Еве, или на ESXDos, или Нексте - полноценные директории с датой и временем, не быть ограниченным количеством файлов на диске. Там, глядишь, и свой вариант NedoOS или ESXDos или SymbOS запилим :)
Но это мечты, я прекрасно понимаю, что у нас есть много ограничений. И возможно просто добавить HDD BOOT будет хорошим вариантом расширить функционал Scorpion'а.

- - - Добавлено - - -


Или призовём Максагора в помощь.
Максагора звать помочь с IsDos - подтянуть по функционалу до Tasis. а если еще поддержку GMX-режимов - уууу!

goodboy
09.12.2022, 13:56
а толку от этой Isdos ???
кто и самое главное для чего её использует ?

Xela
09.12.2022, 14:02
А чего все так с CP/M носятся?)

izzx
09.12.2022, 14:08
Максагора звать помочь с IsDos - подтянуть по функционалу до Tasis. а если еще поддержку GMX-режимов - уууу!

Да, реальная цель запустить isdos с hdd и прикрутить режим 80*25. А tasis может быть слишком ушёл в сторону АТМ.

С загрузкой с жёсткого много что можно придумать. Пусть бы пунктик был.


а толку от этой Isdos ???
кто и самое главное для чего её использует ?

Мне вот интересно поковыряться и запустить полноценно cpm и isdos с hdd. Современная археология.
А потом и com порт с терминалом запустить.

CityAceE
09.12.2022, 14:23
И что грузить этим загрузчиком?
Просто загружать загрузочный сектор и передавать ему управление. А пользователи уже сами придумают что делать дальше - загружать iS-DOS, как в Kay, или что-то другое.

Xela
09.12.2022, 14:33
что если (и только если) будет сделана работа с fat32 напрямую, а не только монтирование образов, это сильно развяжет руки разработчикам
Условно - Evgeny Muchkin не надо будет придумывать как сделать в всем плеере доступ к FAT32-разделу - через рестарты считал каталог - показал пользователю. Через рестарт загрузил файл - закинул в GS.
так же в ESXdos - можно работать с образами trd и scl, можно с тапками, а можно использовать рестарты самой же ESXDos для загрузки/выгрузки.

- - - Добавлено - - -


пользователи уже сами придумают что делать дальше
запилить свой GRUB - ISDOs, CP/M, TR-Dos Navigator =)

Evgeny Muchkin
09.12.2022, 14:49
А ему и не надо придумывать. Он уже придумал... И сделал. :)

Сори за офф.

marinovsoft
09.12.2022, 14:52
Evgeny Muchkin, делись.

izzx
09.12.2022, 14:53
не надо будет придумывать как сделать в всем плеере доступ к FAT32-разделу - через рестарты считал каталог - показал пользователю. Через рестарт загрузил файл - закинул в GS.
Подождите, это мы привяжемся к теневому монитору скорпа. А я уже мечтаю чтобы (кто-то) портировали, наконец, SymbOS на все продвинутые наши клоны.
А там: SymbOS поддерживает файловые системы CP/M, AMSDOS, FAT12, FAT16 и FAT32, для всех платформ.

Xela
09.12.2022, 15:20
Подождите, это мы привяжемся к теневому монитору скорпа. А я уже мечтаю чтобы (кто-то) портировали, наконец, SymbOS на все продвинутые наши клоны
ну вот сейчас мы не привязаны к теневому монитору скорпа, и SymbOS не видно на горизонте, ни на одном из клонов. хотя ничто не мешает портировать)

не понимаю, если честно, чем поддержка fat32 в профпзу, не только на уровне работы с образами, но и с файловой системой как таковой, может быть ограничением.

Но это все лирика - мы тут фантазируем, а придет LW и скажет - места нет)

CityAceE
09.12.2022, 15:22
SymbOS не видно на горизонте, ни на одном из клонов. хотя ничто не мешает портировать
Мешает! Одна заменяемая страница в 16 кб.

LW
09.12.2022, 15:30
Просто загружать загрузочный сектор и передавать ему управление.
Тогда уж не сектор, а файл из корня с заданным именем.

Но это все лирика - мы тут фантазируем, а придет @LW и скажет - места нет)
Места много. Вопрос в целесообразности. Софт использующий рестарты ПрофПЗУ, на других клонах работать не будет.

SoftLight
09.12.2022, 15:34
Тогда уж не сектор, а файл из корня с заданным именем.

На ПК при загрузке из BIOS MBR это именно сектор на фиксированной позиции.

izzx
09.12.2022, 15:34
не понимаю, если честно, чем поддержка fat32 в профпзу, не только на уровне работы с образами, но и с файловой системой как таковой, может быть ограничением.
На счёт образов я только за. К скорпу же нельзя подключить DivMMC, поэтому надо своё. И остальная поддержка фат чем больше, тем лучше ). Но если будет ОС, то как бы двойная работа.



Мешает! Одна заменяемая страница в 16 кб.
А какая? Какое окно ему надобно?

LW
09.12.2022, 15:38
На ПК при загрузке из BIOS MBR это именно сектор на фиксированной позиции.
я в курсе, имхо целесообразней в данном случае использовать файл

А какая? Какое окно ему надобно?
Не какая, а сам факт, что только в одно окно можно подключить страницу.

Xela
09.12.2022, 16:05
Тогда уж не сектор, а файл из корня с заданным именем.
autoexec.cod! ;)


Софт использующий рестарты ПрофПЗУ, на других клонах работать не будет.
Так он и сейчас не работает - даже сейчас рестарты профпзу только на нем и работают. НО и софт для nemoide не работает на smuc и так далее и так далее.
ATM развивается (вместе с Эвой), другие клоны тоже эволюционируют, и нам надо! FAT32 для образов - это уже очень классно, но если можно еще дать толчок для развития - почему бы и нет?)


Мешает! Одна заменяемая страница в 16 кб.
В Эве и АТМ - не одна, да и на фирменных +2/+3 не одна, но все равно нет SymbOS.


К скорпу же нельзя подключить DivMMC, поэтому надо своё.
но можно портировать (хотя бы в теории) ESXDos к SMUC и ПрофПЗУ.

izzx
09.12.2022, 16:15
я в курсе, имхо целесообразней в данном случае использовать файл
А тут мы привязываемся жёстко к фат. Может на диске и не будет разделов таких у человека.
Надо подумать.


Не какая, а сам факт, что только в одно окно можно подключить страницу.
Так на скорпе то 1.5 окна. А на ГМХ аж 2.5. Это я окно ПЗУ называю как неполноценное 0.5.

- - - Добавлено - - -


но можно портировать (хотя бы в теории) ESXDos к SMUC и ПрофПЗУ.
Богатая мысль. Но сложно.

Xela
09.12.2022, 16:36
Богатая мысль. Но сложно.
Возможно проще, чем SymbOS. А в разрезе Спектрума скорее и полезнее - удобная поддержка legacy-форматов и новые фичи.
А Symbos - красиво, конечно... но.. не знаю - оконный интерфейс, ради оконного интерфейса, ну такое.


А тут мы привязываемся жёстко к фат. Может на диске и не будет разделов таких у человека.
А смысл будет оставаться только на MFS? Образы дискет (а на FAT, глядишь, можно будет и не только .trd, но и .scl поддержать, и чем черт не шутит - .fdi) уже можно хранить на FAT'e - и самое главное удобнее! с именами нормальными, с папками! А вдруг и LFN-имена удастаться поддержать?
Музыку для WP/Z-Player уже есть смысл хранить на FAT'e. Проигрыватель видео для GMX не будет ограничен рамками дискеты.
Что еще остается - IsDos и CP/M - ну так им много и не надо. В общем я бы скорее уходил со скоростью паровоза от MFS в сторону FAT32 - это реально такой скачок в удобстве. Да, возможно в скорости мы теряем немного, из-за сегментированности файлов.. но так ли это критично в данном случае?

goodboy
09.12.2022, 17:06
можно портировать (хотя бы в теории) ESXDos к SMUC и ПрофПЗУ.
там базовый размер страниц 8к.
#0000-#1FFF ; ROM
#2000-#3FFF ; RAM

LW
09.12.2022, 17:13
но и .scl поддержать
.scl, по крайней мере, в режиме чтения поддержать можно, а вот .fdi зачем? Перехват идет только точки #3D13, это означает работа с .fdi только стандартного tr-dos формата. Перехват же чтения/записи в порты ВГ, учитывая зоопарк нестандартных загрузчиков, для таких дисков представляется мало возможным, если вообще возможным. И конечно это потребует правок tr-dos, что неминуемо приведет к неработоспособности некоторых программ.

А вдруг и LFN-имена удастаться поддержать?
С поддержкой длинных имен в принципе сложностей нет. Вот только в рамках интерфеса монитора во-первых: при ширине строки 40 символов, выводить такие имена не слишком удобно; во-вторых: 8я страница и так достаточно плотно забита, и найти место под обработку таких имен будет тот еще квест.

goodboy
09.12.2022, 17:18
Перехват же чтения/записи в порты ВГ, учитывая зоопарк нестандартных загрузчиков, для таких дисков представляется мало возможным, если вообще возможным.
однако в esxdos это вполне работает.
ну а для самого минимума достаточно сделать перехват процедур чтение сектора и позиционирование головки. 90% программ - уже заработает.

Xela
09.12.2022, 17:37
сделать перехват процедур чтение сектора и позиционирование головки. 90% программ - уже заработает.
Черный Ворон пойдет?)


а вот .fdi зачем?
я не вдавался в подробности как на Эве эмулируется/перехватываются обращения к тр-дос, но насколько знаю, там fdi возможен. НО, повторюcь, я краем глаза что-то видел про это. Ну не будет поддержки - значит, не все сразу)



при ширине строки 40 символов, выводить такие имена не слишком
Обрезать имена. но уже, например, 20 символов - это уже более информативно, чем 8.3. Всяко лучше хранить минимальную информацию о релизе в названии, чем пытаться запомнить, чем B.COBRA.TRD отличается от BL.COBRA.TRD :)

но это, опять же, сервисная хотелка, для улучшения user expirience.

- - - Добавлено - - -


там базовый размер страниц 8к.
да там и многое другое сложно будет перенести - там же активно через nmi идет работа - там свое меню, у нас свое - аж целый монитор. плюс там все рестарты тоже через rst8.
тут, мне кажется, только если что-то интересное "по мотивам" (или подглядывая в исходник) к нам тащить - работу с виртуальными тапками на чтение и запись, например. что-то по тр-дос подсмотреть, еще что-то.

izzx
09.12.2022, 17:41
Проигрыватель видео для GMX не будет ограничен рамками дискеты.
Он и так уже с фат читает сколько хочешь.
(Не смог удержаться).

goodboy
09.12.2022, 17:52
Черный Ворон пойдет?
с `ломанного` TRD - да.
я вообще удивлён почему скорпионщики за 20лет не адаптировали его под-себя
(используя собственные процедуры загрузки)

- - - Добавлено - - -


Черный Ворон
начал смотреть TRDверсию от VirtualBrothers, а там оказывается есть чит меню

https://pic.maxiol.com/thumbs2/1670597528.3645248197.br.png (https://pic.maxiol.com/?v=1670597528.3645248197.br.png&dp=2)

Xela
09.12.2022, 18:08
Он и так уже с фат читает сколько хочешь.
Класс! я просто не владею GMX (пока) и мог что-то пропустить про плеер.

- - - Добавлено - - -


я вообще удивлён почему скорпионщики за 20лет не адаптировали его под-себя
(используя собственные процедуры загрузки)
это боооль!



с `ломанного` TRD - да.
да, ломанный я и подразумевал)

LW
10.12.2022, 01:55
Пофиксил некоторые ошибки.
Оптимизировал по скорости работу с FAT
78183

izzx
10.12.2022, 09:25
ProfRom.zip
Потестил немного в эмуле. Вроде и пишет и читает в образы и fat и mfs, и на мастер и на слейв.
Только логика выбора мастер/слейв немного не та при монтировании. Надо бы, чтобы оба диска были доступны постоянно. А когда монтируешь образ, выбираешь сначала диск из списка, а потом как обычно. А не переключатель мастер/не мастер.
Как на винде, все диски какие есть всегда же доступны.

ZXFanat
10.12.2022, 10:44
А кто знает, как вообще появилась аббревиатура MFS (для разделов "жесткого" диска)? Само ее предназначение? Как говориться, откуда "ноги выросли"?

marinovsoft
10.12.2022, 10:52
MOA FileSystem?

https://zxpress.ru/article.php?id=8665

Xela
10.12.2022, 12:52
Пофиксил некоторые ошибки.
Оптимизировал по скорости работу с FAT
ProfRom.zip
гоняю пока. сразу вопрос (ответ на который я возможно пропустил ранее): одновременное монтирование из разных HDD не возможно?
т.е. на диск D со slave монтируем IsDos, а на A и B с мастера обычные диски.

P.S. честно говоря, чем дальше, тем меньше вообще вижу необходимости в таких заморочках, ибо работа с FAT32 все больше радует, и остальное уже кажется костылями.
ну кроме поддержания MFS в качестве раздела для IsDos

Grand
10.12.2022, 13:00
LW, сейчас в "соседней" ветке тестируется будущая версия TRDN :) и у меня есть идея сделать в ней (тестовой) временную поддержку ПрофПЗУ с кодом версии 98. В связи с этим вопрос: поменялось ли/будет меняться в тестируемой здесь версии Монитора, по сравнению с V4.01, что-нибудь в ROM7 (ROM3 (TR-DOS) во второй плоскости) и в частности местоположение процедуры подсчета CRC для сектора примонтированных псевдодисков?

Xela
10.12.2022, 13:14
тестируется будущая версия TRDN
будущая версия сможет с FAT-разделов монтировать?

0.7622 на текущей тестовой версии ПЗУ не монтирует образы даже с MFS-разделов по причине, что не знает этой версии ПЗУ, и считает, что работает на обычном Скорпионе без SMUC?

Grand
10.12.2022, 13:33
будущая версия сможет с FAT-разделов монтировать?В теории, какая-нибудь из будущих версий TRDN, может быть, если в новом Мониторе появятся соответствующие функции RST 8.


0.7622 на текущей тестовой версии ПЗУ не монтирует образы даже с MFS-разделовЭто мера защиты, поскольку сейчас в TRDN есть вызовы подпрограммы по абсолютным адресам из ROM7.

LW
10.12.2022, 15:48
связи с этим вопрос: поменялось ли/будет меняться в тестируемой здесь версии Монитора, по сравнению с V4.01, что-нибудь в ROM7
Конечно поменялось, ведь именно в ROM7 находятся процедуры работы с HDD.

в частности местоположение процедуры подсчета CRC для сектора примонтированных псевдодисков?
Да адрес другой.

В качестве временной меры, только для тестирования, могу предложить такой вариант. В ROM7 по адресу #0000, поставлю команду перехода на адрес п/п подсчета CRC.
78185

- - - Добавлено - - -

Grand, Если хотите поэксперементировать с экспериментальным ПрофПЗУ, то вот еще некоторые данные:
Сектор настроек с примонтированными образами всегда на одном месте, вне зависимости от режима LBA/CHS. LBA адрес 3
Формат записей для примонтированного образа .trd
+#00 =#05 - примонтирован образ .trd с FAT раздела
+#01 - 4 байта номер первого кластера файла
+#05 - биты 0-1 для любого образа номер раздела HDD, остальные биты не используются
+#06 - 4 байта для образа .trd не используется
+#0A - 11 байт имя файла 8+3
+#0C - не используется

- - - Добавлено - - -


гоняю пока. сразу вопрос (ответ на который я возможно пропустил ранее): одновременное монтирование из разных HDD не возможно?
т.е. на диск D со slave монтируем IsDos, а на A и B с мастера обычные диски.
Нет. И честно говоря не вижу большой необходимости в этом.

Grand
10.12.2022, 15:55
В качестве временной меры, только для тестирования, могу предложить такой вариант. В ROM7 по адресу #0000, поставлю команду перехода на адрес п/п подсчета CRC.Отлично. Пусть пока так и будет. Следующую тестовую версию TRDN опубликую на следующей неделе.

Xela
10.12.2022, 16:21
LW, несколько вопросов/предложений:

1. Предложение: хотелки/планы на внедрение, которые мы озвучиваем, и они находят у Вас отклик где-то собирать, например, в первом посте (хотя я помню, что эту тему вынесли из непосредственно обсуждения новой версии ПрофПЗУ, и тут только было про Master и Slave :v2_dizzy_botan: ) и вычеркивать их по мере внедрения/отказа от них

2. сейчас у нас на диске может быть раздел MFS и FAT32 - с которыми нынешняя версия ПрофПЗУ работает, и какие-то еще - с которыми не может.
И в разделе MFS подразделы TRDOS (в котором, как мне кажется, чем дальше, тем больше отпадает необходимость), ISDOS и MicroDos (который, как я понимаю, структуры-то и не имеет).
Что если пойти по пути упрощения: создавать в мониторе сразу нужные разделы - FAT32, ISDOS, и в будущем может еще что-то для CP/M? Если работаем только на Скорпионе, то вопросов вообще нет. Если подключаем к ПК, то Windows/Linux/Mac видят только FAT32, остальное не опознают, и хорошо.

3. ROM-диск - сейчас это нетривиальное хранилище снэпшотов. Да, есть утилита под Windows от Игоря azx987sa для удобного создания РОМ-дисков, но эти снэпшоты нужно создать, и еще в удачное время, особенно это касается бутов - что б инициализация прошла, но диск не прочитался и т.д.
Что если и тут немного упростить и хранить в РОМ-диске кодовые блоки, которые загружаются по определенному адресу, и туда передается управление? Помню был например Consul Comander с кучей оверлеев - кодовые блоки, запустил, поработал в них, вышел обратно в командер.
Создать кодовую версию того же TRDN, мне кажется, проще, чем создавать "правильный" снэпшот.

Просто вопрос: давно меня мучает - почему Сервис-Монитор такой... неспешный? из-за процедуры печати нестандартного шрифта? или там в принципе код очень неоптимизированный?

Grand
10.12.2022, 16:35
Создать кодовую версию того же TRDN, мне кажется, проще, чем создавать "правильный" снэпшот.Ну, это-то как раз уже сделано, - и кодовая версия TRDN, и его правильный снэпшот.

LW
10.12.2022, 16:44
1. Можно, конечно, и в первом посте. Так то в архиве приложен файл со всеми изменениями.
2. Ни раздел IsDos, ни MicroDos структуры не имеют, отличаются только номером в дескрипторе подраздела
создание раздела FAT32 реализую, а остальное пусть остается в рамках MFS. CP/M все равно нет. В плане работы IsDos с винчестером тоже не все ясно. Насколько помню из документации по SMUC она вообще работает с разделами не более 16 мегабайт. И зачем такой маленький раздел на винте.
3. теже самые кодовые блоки можно упаковать в формат снапа скорпионовского и залить в ROM.
Возможно тут поможет другое решение. Мне тут подкинули идею "Запилить поддержку загрузки SPG напрямую с FAT32 раздела." Попробую реализовать.


Просто вопрос: давно меня мучает - почему Сервис-Монитор такой... неспешный?
Реализация печати это боль. Стоит в планах на переделку.
Тормоза в основном из-за того, что п/п печати символа находится в rom2, а все менюшки в rom5. и при печати каждого символа вызывается процедура из rom2. В итоге на каждый символ дополнительно тратится вагон тактов на переключение плоскостей и страниц.

Xela
10.12.2022, 17:45
Можно, конечно, и в первом посте. Так то в архиве приложен файл со всеми изменениями.
я не про уже сделанные изменения, а про то, что планируется. Например, вот рассказали Вы про печать и SPG, пишем в первом посте планируемые изменения:

1. Переделать п/п печати - приоритет средний.
2. Добавить загрузку SPG с FAT32 - высокий.
3. Пункт загрузки HDD BOOT в главном меню - может быть. приоритет низкий.
4. Рестарты для монтирования образов с FAT32 - да, скорее всего. приоритет низкий.
5. Поддержка .scl - да, может быть. когда-нибудь.
6. Перехват процедур чтение сектора и позиционирование головки - подумаю.
7. LFN - да, ограниченно до ~20 символов и то, если найду место.
8. Поддержка .tap "как в esxdos" - нет, не интересно, идите вы со своим ESXDos

НАПРИМЕР

ну т.д. и вычеркивать по мере внедрения

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



она вообще работает с разделами не более 16 мегабайт. И зачем такой маленький раздел на винте.
в итоге у меня, например, будет большой раздел fat32 для "всего" и небольшой раздел MFS на 17Mb, внутри которого ISDOS на 16Mb)

izzx
10.12.2022, 18:16
Повторю пункт в хотелки: работа одновременно двух винтов. Чтобы можно было перекидывать между ними инфу.
А на счёт загрузки с HDD можно сделать и из файлика на фат, так, конечно, проще всего. Закинул файл в корень, и диск стал загрузочным. Красота. Но без фата уже никуда.

LW
10.12.2022, 18:40
izzx, Обещать не буду. В список изменений добавил, если будет возможность сделаю.

По просьбам трудящихся обновил первый пост.

Xela
10.12.2022, 18:58
загрузка .sna файлов (возможно и запись)
*раскатав губу* вот бы .szx (https://sinclair.wiki.zxnet.co.uk/wiki/ZX-State_format) поддержать...

LW
10.12.2022, 19:04
нет, это вряд ли

Xela
10.12.2022, 19:11
загрузка .tap с винчестера
и туда же добавить поддержку .pok файлов - загрузил тапку, выбрал лежащий рядом .pok файл.
в идеале еще и выбрать какой из входящих в него pokes использовать:

WEC Le Mans (1988)(Imagine).pok
N[48K]Infinite Time
Z 8 33249 195 0
N[48K]Invincible
Z 8 37549 201 0
N[128K]Infinite Time
Z 8 33261 195 0
N[128K]Invincible
Z 8 38169 201 0
Y

LW
10.12.2022, 19:16
Ну и запросы у вас :)
Есть же отладчик, зашли в него и выставили что надо

izzx
10.12.2022, 19:32
А версия ГМХ в хотелки?

Xela
10.12.2022, 23:09
Есть же отладчик, зашли в него и выставили что надо
перепечатывать ручками... из книжки, или файлика открытого на смартфоне... ну да, можно.
или удобно выбрал файл, кликнул, выбрал нужное, применил: У - Удобство =)

LW
11.12.2022, 06:19
А версия ГМХ в хотелки?
для версии 5.0 нет дизасма, так что точно пока нет

marinovsoft
12.12.2022, 09:45
поддержка 1024Kb памяти (будет отдельная прошивка в финальной версии)
А не получится сделать одну универсальную прошивку с автодетектом объема памяти?

А можно сделать расчет объема винта исходя из количества секторов LBA? Вроде мелочь, а глазу приятнее.

LW
12.12.2022, 12:59
А не получится сделать одну универсальную прошивку с автодетектом объема памяти?
зачем городить автодетекты при статическом объеме памяти.

marinovsoft
12.12.2022, 13:10
- Чтобы была одна прошивка (для Скорпиона 256 и Скорпиона 1024), а не две
- В 1024 Скорпионе есть перемычка, отвечающая за стандарт расширения памяти. https://zx-pk.ru/threads/16280-tekh-razdel-quot-scorpion-zs-1024-turbo-quot-(savelij).html?p=509458&viewfull=1#post509458 При ее отключении остается только 256 Кб.

На фото над разъемом питания
https://retropc.org/images/134.jpg

Dima_ZX
13.12.2022, 11:27
А если предусмотреть в сетапе теневого монитора, настройку что запускать по кнопке HDD Boot, файл autoexec из корня fat32 или какой-нибудь загрузочный сектор из разделов находящихся в MFS.
И так же предусмотреть в меню теневого монитора где настройка автозапуска при старте, пункт HDD Boot, который как раз и будет автоматически при включении запускать нужную ОС.

LW, Какой максимальный HDD можно использовать? Какой максимальный раздел FAT32, оптимально использовать, наверное есть ведь ограничение по размеру файловой системы?

Надо теперь винт подбирать другой, чтобы и FAT32 влез :-)

marinovsoft
13.12.2022, 12:23
Отвечу за LW - любой, но работать можно будет только с первыми 128 Гб.

Xela
13.12.2022, 16:02
А если предусмотреть в сетапе теневого монитора, настройку что запускать по кнопке HDD Boot, файл autoexec
https://zx-pk.ru/threads/34789-podderzhka-hdd-slave-v-scorpion-zs-256.html?p=1168287&viewfull=1#post1168287

и следующие посты и ответы LW там тоже есть.

LW
13.12.2022, 16:40
Какой максимальный HDD можно использовать?
marinovsoft, ответил на этот вопрос.

Какой максимальный раздел FAT32, оптимально использовать, наверное есть ведь ограничение по размеру файловой системы?
Размер раздела ограничен поддерживаемым объемом винчестера. Главное что бы раздел не выходил за эти пределы. И, разумеется, режим работы LBA при работе с большими винчестерами должен быть включен. Оптимальный размер кластера видится в пределах 8-32кб

По поводу HDD boot. Чёткого виденья этой функции у меня пока нет. Готов выслушать любые предложение по этому вопросу.
Пока были предложены такие варианты:

сектор с загрузчиком (не закрытым остался вопрос где размещать этот сектор, да и хватит ли 512 байт для загрузчика)
файл c определенным именем в корне FAT32
загрузка(и запуск) из специального раздела на MFS 16кб на адрес #c000

marinovsoft
13.12.2022, 16:53
Я за файл BOOT.$C в корне.

LW
13.12.2022, 16:59
в корне фат32?
в формате hobeta?

marinovsoft
13.12.2022, 17:03
Угу.

Xela
13.12.2022, 17:17
файл c определенным именем в корне FAT32
autoexec.spg или boot.spg

если spg все равно есть в планах добавлять, тут просто проверка на наличие файла и загрузка его при старте/перезагрузке

Grand
13.12.2022, 17:23
в корне фат32?
в формате hobeta?Так в ZX Evo сделано.

Dima_ZX
13.12.2022, 17:47
С учетом того, что несколько систем на HDD, в каждой системе в своем разделе должен быть свой загрузчик, просто определиться что такой-то сектор в любом разделе на MFS это возможный загрузчик, примерное как у KAY.
А дальше уже в настройках ТМ указывать какой раздел, если указан FAT32 то запускать файл из корня, в данный момент загрузочный.

- - - Добавлено - - -

Я имел ввиду, настройку реагирования на нажатие данной кнопки меню.
https://i.postimg.cc/2LnCH3Pf/isdos27.gif

допустим в настройках ТМ установлен загрузочный раздел MFS/ISDOSm например, и при нажатии этой кнопки в стартовом меню, происходит загрузка загрузочного сектора и его запуск, дальше уже проблема ОС как и что запускать, в общем примерно как на PC получится.
Так же если в этом пункте настройки указан загрузочный раздел FAT32 , то происходит уже запуск файла из корня раздела FAT.

Думаю достаточно красивое, логичное и в меру универсальное получится решение, которое позволит загружать разные системы.

CityAceE
14.12.2022, 08:38
где размещать этот сектор
Может как в MS-DOS?



Загрузочный сектор, бутсектор (англ. (https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D 0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA) boot sector, Volume boot sector (Volume boot record), Partition boot sector) — это особый сектор (https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BA%D1%82%D0%BE%D1%80_%D0%B4%D0%B8% D1%81%D0%BA%D0%B0) на жёстком диске (https://ru.wikipedia.org/wiki/%D0%96%D1%91%D1%81%D1%82%D0%BA%D0%B8%D0%B9_%D0%B4% D0%B8%D1%81%D0%BA), дискете (https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%81%D0%BA%D0%B5%D1%82%D0%B0) или другом дисковом устройстве хранения информации. (Для дискеты это первый физический сектор, для жёсткого диска — первый физический сектор для каждого раздела.) В процессе загрузки компьютера с дискеты он загружается в память программой POST (https://ru.wikipedia.org/wiki/POST_(%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D 0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0 %B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)) (в компьютерах архитектуры IBM PC обычно с адреса 0000:7c00), ему передается управление командой long jump (https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%B0%D1%81%D1%81%D0%B5% D0%BC%D0%B1%D0%BB%D0%B5%D1%80%D0%B0).

Загрузочный сектор, иногда называемый stage1 (то есть первым этапом загрузки операционной системы (https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D 0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0 %B5%D0%BC%D0%B0)), загружает программу второго этапа загрузки операционной системы stage2 (вторичный загрузчик, иногда в качестве stage2 загружается boot manager или программа авторизации и защиты доступа). В некоторых ОС роль stage1 выполняет MBR (https://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B7% D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D1%87%D0%BD%D0 %B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C), и при загрузке ОС с жёсткого диска загрузочный сектор не используется.

Xela
15.12.2022, 02:33
Народ, а зачем делать "как на [вписать рандомную систему]"? Только ради того, что б было, как в MS-DOS, или еще какие-то загрузочные сектора?
Давайте посмотрим с точки зрения рядового пользователя: ему главное, что б было просто. У большинства в качестве автозагрузки будет стоять TR-Dos Navigator или Wild Player - это вполне подходит под концепцию загрузочного файла в корне FAT32.
В случае поддержки загрузки .spg файлов тут все просто. Или переименовать в boot.$c - если надо "как на Эволюшене"
В чуть более сложном случае этим самым файлом может быть не TRDN или WP, а наш местечковый аналог GRUB - меню с выбором загрузить TRDN, WP или перейти к загрузке IsDos или CP/M (если для нее будет написаны драйвера для работы с hdd)

Для ортодоксов с архивом trd-образов на MFS-разделе - есть старая добрая автозагрузка образа.

Мой посыл в том, что если делать бут сектор - то какие в этом преимущества для использования?
Как мне кажется делать поддержку загрузочного сектора с FAT32 имеет смысл только в случае, если будет добавлена работа напрямую с файлами на этом самом FAT32 - тогда можно ожидать буст в удобстве использования Скорпионом - не нужно будет придумывать как работать с FAT - это все будет давать ПЗУ.
Портировать двух-дисковые игры для работы без смены дисков, не заморачиваться со специальными форматами дисков, что б вмесить всю озвучку для GS. адаптировать текстовые редакторы для работы с файлами размером более 64к (хотя кому это может быть нужно - другой вопрос:) )

izzx
15.12.2022, 09:11
Xela, для простоты фат хорош. В крайнем случае, кому нужен загрузочный винт, специально создаст раздел фат, если его нет.
Адрес загрузки и запуска бута берётся из него, раз там хобет файл или spg (не знаю, есть ли в нём такие данные).

Я вот вчера впервые ставил ISDOS на жёсткий с запуском через TRDOS. Работает даже. Но понял, что при этом занимается один из четырёх слотов монтирования. А это обидно, их и так всего четыре.
Но может, это станет не так актуально с новыми возможностями монитора.

Xela
15.12.2022, 10:25
Я вот вчера впервые ставил ISDOS на жёсткий с запуском через TRDOS. Работает даже.
там где-то выше в теме, LW просил образ с настроенной системой, что б посмотреть, то можно сделать, что б упростить загрузку IsDos.
я к сожалению, до конца так и не настроил на своем образе.

izzx
15.12.2022, 11:21
просил образ с настроенной системой
А вот под ГМХ правда. Целиком с эмулятором в папке _Emulator\Unreal_ISDOS_HDD.zip
https://drive.google.com/drive/folders/19-O-MY2XkgRUmUUZ98xZ83juCuaBe32I?usp=sharing

Dima_ZX
15.12.2022, 12:00
Могу образ своего винта снять, там isdos почти полностью настроенный, в каком формате снять?
пока без GMX.

LW
15.12.2022, 12:57
А вот под ГМХ правда.
только это GMX commander

Могу образ своего винта снять, там isdos почти полностью настроенный, в каком формате снять?
обычная посекторная копия

izzx
15.12.2022, 14:06
только это GMX commander
В папке _Emulator надо смотреть.

Dima_ZX
16.12.2022, 18:49
https://drive.google.com/file/d/1-5j9iKGZFwYDLSs8sI5DnTye2rx6V3hr/view?usp=sharing

Это образ HDD

https://drive.google.com/file/d/1ZJskjcSQBnNHAmVPsdwFR2zPuQ4_7MT4/view?usp=sharing
https://drive.google.com/file/d/1ZL2c1wNBpPTK8XIZXYV7MzCjbNAtGiFD/view?usp=sharing
https://drive.google.com/file/d/1ZLVUD5qiRreLHHv-Xk--CCZEzQLpJQeA/view?usp=sharing
https://drive.google.com/file/d/1ZNZvfv4DS-TfEzuvXup7vqePkask9vIL/view?usp=sharing
https://drive.google.com/file/d/1ZPrPwrfcPQU32amRjCpYNI5o3ChPW_M2/view?usp=sharing

Это настройки винта мои, в ТМ.

LW
17.12.2022, 04:27
Немного изменений:

в меню H. Hard disk utility для каждого винчестера master/slave создан отдельный пункт Set Up master/slave. В него же перенесана настройка M. TRDOS mirror
при включении режима LBA, параметры CHS винчестера не учитываются
при отсутствии у винчестера параметров CHS или LBA включение соответствующего режима заблокировано
добавлены системные вызовы #29(41)/#2A(42)/#2B(43)/#2C(44) R8DOS

Выкладываю в основном для того чтобы можно было потестировать новую тестовую версию TRDN.
Касательно LBA. Еще не до конца доделано. Работа с большими винчестерами(в плане создания разделов) по прежнему кривая.
Вот интересно, нигде вроде не встречал упоминаний о работе винтов c ПрофПЗУ более 40Gb. К примеру невозможность создать раздел MFS дальше первых 32Gb, а зачастую и того меньше. Или неверное определение объема при инициализации.

Первый пост обновил.

LW
17.12.2022, 06:53
Допилил создание разделов. Теперь можно создавать MFS разделы в любой области винчестера. Разумеется в рамках первых 128Gb.

marinovsoft
17.12.2022, 07:46
Я так понимаю, что работа с расширенными разделами не поддерживается?

LW
17.12.2022, 12:03
нет

Grand
20.12.2022, 04:25
LW, в файле !changes.txt, который в архиве с версией, сказано что при первой инициализации монитора на дискете в дисководе не должно быть конфигурационного сектора. А какой именно это сектор, и не конфликтует ли он с Directory System?

LW
20.12.2022, 05:17
Это не моя выдумка, это от разработчиков ПрофПЗУ такое сохранение.
Конфликтует или нет незнаю.
А пишутся эти настройки на нулевую дорожку в 15 сектор. Полностью дублирует настройки хранящиеся в NVRAM

Grand
20.12.2022, 07:28
Это не моя выдумка, это от разработчиков ПрофПЗУ
Кто это придумал я знал. :) Не знал только
какой сектор использован, - в официальном Руководстве от МОА сектор не назван.

LW
20.12.2022, 22:10
небольшое обновление.
возможность монтирования образов с двух винчестеров в одно поле дисководов
пункт меню H. Hard disk utility -> H. Select HDD теперь влияет только на partition manager


первый пост обновил

Grand
21.12.2022, 11:58
А пишутся эти настройки на нулевую дорожку в 15 сектор.К сожалению, тут на лицо конфликт. Ведь в своем максимуме DirSys оставляет в последнем секторе последние 127 байтов.

- - - Добавлено - - -


небольшое обновление.Почему-то не получается войти в пункт меню M.Monitor.

Dima_ZX
21.12.2022, 16:46
[QUOTE=Grand;1169115]К сожалению, тут на лицо конфликт. Ведь в своем максимуме DirSys оставляет в последнем секторе последние 127 байтов.

А может вообще обрезать возможность записи конфигурации на дискету, есть NVRAM и часы.

LW
21.12.2022, 16:59
А может вообще обрезать возможность записи конфигурации на дискету, есть NVRAM и часы.
Оно же не автоматом на дискету пишется, а по указанию пользователя.
К тому же, если у пользователя будет ПрофПЗУ, но не будет смука, это единственный вариант хранить свои настройки монитора.

Grand
23.12.2022, 04:22
по адресу #CD02 смените команду на jp #3D30

Исправил TRDN и попробовал монтирование на версии ProfROM 4.xx.006. Теперь TRDN останавливает монтирование сообщением "Disk is not available". Причина - функция 35, команда "автоподключение" (бит 7 =1), которая вызывается после благополучной записи сформированного сектора с информацией о примонтированных псевдодисках.

LW
23.12.2022, 04:54
это из-за байта +5.
Там теперь хранится номер раздела и винчестера. Если он равен байту +0, т.е. #01, то определяется как 1й раздел Master HDD, со всеми вытекающими, если образ смонтирован с другого винчестера и/или раздела.

Grand
23.12.2022, 07:39
это из-за байта +5.
Там теперь хранится номер раздела и винчестера.Так может тогда не использовать бит 0 в этом байте для совместимости?

LW
23.12.2022, 12:00
А что это изменит? Информации о том с какого раздела какого винчестера этот образ в дескриптор это не добавит.

Grand
24.12.2022, 18:27
А что это изменит?Имеется ввиду, что если старые программы, запущенные на новом мониторе, будут различать только первый MFS, master HDD и будут записывать в +5 #01, то это не вызовет несовместимости, если в +5 не используется бит 0 (а лучше еще и бит 1 :)).

LW
25.12.2022, 00:56
Исправил TRDN и попробовал монтирование на версии ProfROM 4.xx.006. Теперь TRDN останавливает монтирование сообщением "Disk is not available".
Теперь возможна корректна работа с первым разделом MFS HDD master

Небольшое обновление:

реализована загрузка .sna файлов. меню B. Save & load -> 2. Load .sna, при запуске портится 11 байт стэка. так что некоторые снапы могут работать некорректно
в окне выбора файла в FAT разделе нажатие клавиши 'c' позволит содать каталог, нажатие клавиши 'f' создает пустой не форматированный образ .trd


Первый пост обновил.

LW
26.12.2022, 05:46
Реализована загрузка .spg файлов версий 0.0/0.2. Пункт меню B. Save & load -> 2. Load .sna переименован в 2. Load from FAT, определение типа файла выполняется по расширению.

Первый пост обновил.

marinovsoft
26.12.2022, 07:09
Может быть сделать недоступными параметры CHS, если включен режим LBA ?
https://i.ibb.co/Lv3FF24/7.png (https://ibb.co/Lv3FF24)

И сам пункт LBA mode перенести выше.

LW
26.12.2022, 07:20
Может быть сделать недоступными параметры CHS, если включен режим LBA ?
Зачем? Включенный LBA не отменяет доступности CHS.

marinovsoft
26.12.2022, 08:42
Что-то wp из spg (брал здесь http://budder.narod.ru/MugenGroup/download/files/wp0_333full.zip) не грузится
https://i.ibb.co/FwvKkSf/8.png (https://ibb.co/FwvKkSf)

- - - Добавлено - - -

В комплекте с wdc (брать здесь http://budder.narod.ru/MugenGroup/download/files/wdc1_3final.zip) идут spg-файлы, некоторые из них зависают.

LW
26.12.2022, 09:42
Что-то wp из spg (брал здесь http://budder.narod.ru/MugenGroup/do...p0_333full.zip) не грузится
там требуется установка значения в порт #BB, такого порта на скорпионе нет, загрузку не производим.


В комплекте с wdc (брать здесь http://budder.narod.ru/MugenGroup/do...dc1_3final.zip) идут spg-файлы, некоторые из них зависают.
из этого списка только BGE сбрасывается, но там может и с ним проблемы, он распаковывается, при попытке прочитать каталог с диска сбрасывается почему-то
остальное все загружается и работает

- - - Добавлено - - -

попробуйте сделать холодный сброс перед загрузкой, программам может не нравиться мусор в памяти.

marinovsoft
26.12.2022, 09:48
.

#BB - регистр команд и статуса General Sound

LW
26.12.2022, 09:53
О доп. устройствах что-то не подумал. Этот момент исправим.

marinovsoft
26.12.2022, 09:56
из этого списка только BGE сбрасывается, но там может и с ним проблемы, он распаковывается, при попытке прочитать каталог с диска сбрасывается почему-то
остальное все загружается и работает

У меня работает только qc, залил на обменник каталог эмулятора https://www.upload.ee/files/14777289/us.7z.html

LW
26.12.2022, 10:55
Да уж. Разобрался в чем дело. Если прога работает с Tr-Dos, то без переменных tr-dos она работает криво, а в большинстве случаев вообще не работает. Авторы формата совершенно не рассчитывали, что можно грузить .spg без tr-dos. Тут по хорошему надо правильно собирать файл, запихивать в него переменные бейсика и tr-dos`а.
Даже непонятно что делать. С одной стороны, можно перед запуском инициализировать переменные, но с другой стороны в spg может быть зашита какая-нибудь тапка, которой эти переменные могут мешать нормально работать...

marinovsoft
26.12.2022, 11:26
Есть еще вот такой архив SPG http://budder.retropc.ru/SPG_Files_Pack3_1.zip

Еще по поводу запускалки SPG, может посмотреть как их запускает WC (https://github.com/tslabs/zx-evo/tree/master/pentevo/soft/WC/source) ?

Xela
26.12.2022, 11:39
Добавить опцию при запуске SPG: инициализировать переменные да/нет.
Раз в самом формате это не предусмотрели.

goodboy
26.12.2022, 12:08
Добавить опцию при запуске SPG: инициализировать переменные да/нет.
Раз в самом формате это не предусмотрели.
изначально проги в этом формате запускались из коммандера который загружался из trdos.
то есть наличие переменных обязательно.

Xela
26.12.2022, 12:24
изначально проги в этом формате запускались из коммандера который загружался из trdos.
LW про тапки в составе SPG упомянул.. вот я и предложил.

p.s. посмотрел спецификацию, там и блок переменных можно (и нужно) хранить. но про тапки там не нашел ничего)))

LW
26.12.2022, 13:21
но про тапки там не нашел ничего)))
spg - контейнер без загрузчика. что tr-dos версия, что тапок разницы нет. только игры с подзагрузками не имеет смысла так хранить.

Xela
26.12.2022, 22:42
Есть какие-то ограничения по размеру/занимаемым банкам SPG файлов?
Попробовал Myth в версии 256 загрузить (http://dlcorp.nedopc.com/viewtopic.php?p=11415#p11415), получил ошибку:

https://i.postimg.cc/tZgPJNmR/20221226-21411026.png (https://postimg.cc/tZgPJNmR)

LW
26.12.2022, 23:14
он пытается грузить в 8ю страницу, что чревато для монитора