PDA

Просмотр полной версии : Жесткий диск для УКНЦ и картридж УДС



mig_25
13.09.2021, 12:44
Здравствуйте!

История такая: мы познакомились с человеком, который работал на "Кванте". Чуть ранее с ним познакомился Сергей Фролов, и ему были отправлены жесткие диски, один из которых - в картридже для УКНЦ. Мы взяли у Сергея эти диски, чтобы прочесть и снять образы. Также среди этого обнаружился картридж для телеграфа на базе УКНЦ - УДС.

Жесткий диск для УКНЦ по схеме несколько иного исполнения, чем тот, который обсуждался в этой теме: https://zx-pk.ru/threads/12218-vinchester-uknts.html - вместо РФ5 две РТ5.

Вставили в УКНЦ, запустились:

https://pic.maxiol.com/thumbs2/1631524269.3283275602.xv4bdchwhzi.jpg (https://pic.maxiol.com/?v=1631524269.3283275602.xv4bdchwhzi.jpg&dp=2)

https://pic.maxiol.com/thumbs2/1631524341.3283275602.fsgxufo7r0e.jpg (https://pic.maxiol.com/?v=1631524341.3283275602.fsgxufo7r0e.jpg&dp=2)

https://pic.maxiol.com/thumbs2/1631524363.3283275602.zkxelpyhbci.jpg (https://pic.maxiol.com/?v=1631524363.3283275602.zkxelpyhbci.jpg&dp=2)

На диске также несколько разделов.

Сам диск:

https://pic.maxiol.com/thumbs2/1631524596.3283275602.mm15odxlfyu.jpg (https://pic.maxiol.com/?v=1631524596.3283275602.mm15odxlfyu.jpg&dp=2)

Жесткий диск mini IDE на 40 мб:

https://pic.maxiol.com/thumbs2/1631524634.3283275602.ov8tnln2n0.jpg (https://pic.maxiol.com/?v=1631524634.3283275602.ov8tnln2n0.jpg&dp=2)

Контроллер:

https://pic.maxiol.com/thumbs2/1631524673.3283275602.go7ansqylbg.jpg (https://pic.maxiol.com/?v=1631524673.3283275602.go7ansqylbg.jpg&dp=2)

https://pic.maxiol.com/thumbs2/1631524697.3283275602.iimjjlwcem.jpg (https://pic.maxiol.com/?v=1631524697.3283275602.iimjjlwcem.jpg&dp=2)

Шлейф контроллера распаян слегка нестандартно, поэтому пришлось вызвонить и спаять переходник:

https://pic.maxiol.com/thumbs2/1631524749.3283275602.dwm0yzmoxg8.jpg (https://pic.maxiol.com/?v=1631524749.3283275602.dwm0yzmoxg8.jpg&dp=2)

Сняли дамп:

https://cloud.mail.ru/public/2tPN/aapK7cmUj

По ссылке файлы dump_uknc_hdd и dump_uknc_hdd_invert.

Единственное, что пока мною не считано - это загрузчик с РТ5. Надо сделать без выпаивания, но пока что не пробовал КНГМД с УКНЦ, не проверял дисководы и не писал/читал дискеты.

***
Картридж УДС:

https://pic.maxiol.com/thumbs2/1631525640.3283275602.2zzmj83uddo.jpg (https://pic.maxiol.com/?v=1631525640.3283275602.2zzmj83uddo.jpg&dp=2)

https://pic.maxiol.com/thumbs2/1631525662.3283275602.smxirn903tk.jpg (https://pic.maxiol.com/?v=1631525662.3283275602.smxirn903tk.jpg&dp=2)

Дампы ПЗУ также по ссылке выше - rom_uds_uknc и rom_uds_uknc_invert.

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

Если требуется ещё какая-то информация и т.д., пока что всё у меня на руках, по возможности могу предоставить.

mig_25
18.01.2022, 10:52
Коллеги!
Благодаря помощи xolod и советам Radon17, с помощью утилитки RDRMC удалось таки дернуть дамп-загрузчик из Р556РТ5, не выпаивая микросхемы (качество сборки данной платки плохое, хотелось без выпаивания). Вот он: https://cloud.mail.ru/public/jWHQ/qQz1wNKM7
https://cloud.mail.ru/public/C22i/Tk7o6ErZo

Radon попробовал использовать его в ukncbtl, но не работает.
Форумчане, в частности, nzeemin, можно попросить ознакомиться с дампом, установить, годен ли он и можно ли его использовать в эмуляторе с образом диска, выложенным выше?

https://pic.maxiol.com/thumbs2/1642492473.3645077898.img20220114231634.jpg (https://pic.maxiol.com/?v=1642492473.3645077898.img20220114231634.jpg&dp=2)

gid
18.01.2022, 12:59
Radon попробовал использовать его в ukncbtl, но не работает.
Судя по беглому анализу содержимого UKNC-IDE-doubleRT5.rom, дамп придётся разбить на две части.
первые 512 байт - должны начинаться с адреса 0. и занимают адресное пространство 0..0777
вторые 512 байт - скорее всего должны начинаться с адреса 0100000, но это только на мой первый взгляд. С наскока в коде разобраться не получается, особенно во всяких непонятных портах и регистрах

Alex_K
18.01.2022, 22:22
Radon попробовал использовать его в ukncbtl, но не работает.
Форумчане, в частности, nzeemin, можно попросить ознакомиться с дампом, установить, годен ли он и можно ли его использовать в эмуляторе с образом диска, выложенным выше?
В этом ПЗУ для чтения данных с IDE используется порт с адресом 0111016, аналог порта 0110016. Если его поддержать в UKNCBTL, то может быть и возможно будет загрузиться.
Я в ПЗУ в двух местах заменил 0111016 на 0110016, получил запрос на номер диска, но далее не пошло.
Формат диска сильно отличается. В формате диска от ЭР в самом первом секторе было записано кол-во секторов и сторон.

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

Ещё обнаружилось обращение к регистру 0114002.
На выложенном образе винчестера есть программка для чтения секторов. Настроена жёстко на 18 секторов в дорожке, 4 стороны. Также читает сектор не в словном режиме (16 бит), а в байтовом. Также там есть обращение к регистру 0114002.

mig_25
25.01.2022, 12:54
Alex_K, тут ещё вот в чем дело... Шлейф и разъем также не лучшим образом реализован у этого диска, поэтому уже после первой разборки без всевозможных "поджиманий" и "подгибаний" он не грузился - хотя шлейф я прозванивал, а разъем пропаял. Получал такие ошибки - и не выводилась надпись выбора диска при обращении к "кассете ПЗУ", и при выборе номера диска он вис, и при выборе диска падал в halt:
https://pic.maxiol.com/thumbs2/1643104231.3645077898.4bl16rvfs5o.jpg (https://pic.maxiol.com/?v=1643104231.3645077898.4bl16rvfs5o.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1643104251.3645077898.jkyemeyxjzi.jpg (https://pic.maxiol.com/?v=1643104251.3645077898.jkyemeyxjzi.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1643104267.3645077898.tnwr5jwmlq.jpg (https://pic.maxiol.com/?v=1643104267.3645077898.tnwr5jwmlq.jpg&dp=2)

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

Плюс диск нужно отправлять назад Сергею, исходя из этого вопрос, сам дамп корректен? Считывать ещё раз не требуется?

Alex_K
25.01.2022, 18:49
Он работает, грузится, но собранный в корпус уже обычно нет) Скорее всего где-то в каких-то положениях неконтакт. А, может, и непропай на плате.
Неконтакт легко может быть и в разъёме ВУ1,ВУ2, это разъём в УКНЦ, куда вставляется контроллер. Тем более в самом контроллере в ответной части ламели с припоем, они окисляются, что не есть хорошо.

Плюс диск нужно отправлять назад Сергею, исходя из этого вопрос, сам дамп корректен? Считывать ещё раз не требуется?
А о каком конкретно дампе идёт речь - ПЗУ или винчестера?
Если ПЗУ, то её с помощью RDRMC можно прочесть как с разъёма ВУ1, так и с разъёма ВУ2. А по поводу винчестера - разбивка там довольно нестандартная, сильно отличается от HDD, которые использовали с контроллером от ЭР. На этом образе первый раздел RT-11 я увидел со смещений 0x8800, а это уже сектор 68. До этого в этих 68 секторах информация повторяется. По информации из инета у IBM WDA-240 CHS=1122/2/38.
Ещё по поводу других регистров. В контроллере от ЭР используется только вход CS1P, а CS3P не используется, потому доступны только основные регистры. Эти регистры сидят в "окне" в диапазоне 0110000-0117777. Сами регистры занимают диапазон 0110000-0110017, далее они размножаются, т.е. регистр 0110002 и 0110022 - одно и тоже. А вот как сделано в этом контроллере, использует он вход CS3P или нет. Если использует, то есть ещё набор дополнительных регистров. А если не использует, то аналогично как в контроллере от ЭР.
Так же в эмуляторе UKNCBTL размножение регистров не сделано, там используется жёсткий набор 0110000-0110016.

Alex_K
26.01.2022, 18:47
Плюс диск нужно отправлять назад Сергею, исходя из этого вопрос, сам дамп корректен? Считывать ещё раз не требуется?
А имеется возможность ещё раз попробовать считать содержимое винчестера? Изменением образа ПЗУ и корректировкой первого сектора образа винчестера удалось в UKNCBTL запустить загрузку. Но при загрузке с образов много ошибок, часто выпадает в пультовый отладчик.

Alex_K
26.01.2022, 21:56
Для того, чтобы образ загрузился в UKNCBTL, сделал патч образа ПЗУ и самого образа диска. Расположены здесь (https://drive.google.com/drive/folders/1w9wgmgN-9a7zEZiM-TU6xMY929GI_Y_Y?usp=sharing).
Соответственно ROMCTR.BIN - образ ПЗУ, а DUMP_UKNC_HDD_invert.img - образ винчестера. Как выяснилось, сам винчестер имеет 4 стороны по 17 секторов. Для UKNCBTL важно, чтобы в самом первом сектор в первых двух байтах было прописано количество секторов и количество сторон. Соответственно прописал. Далее выяснилось, что UKNCBTL не воспринимает образы HDD, где получается более 1024 дорожек. Соответственно также обрезал образ.
Так как грузится с глюками и при записи может испортить образ, то на образ HDD рекомендуется обязательно поставить атрибут ReadOnly. Так хоть кое-как можно загрузится и осмотреть разделы.
По поводу этих глюков пока ничего не могу сказать, может образ ПЗУ считался с ошибкой, а может и какая-нибудь недоработка в UKNCBTL.

Titus
26.01.2022, 22:14
Так хоть кое-как можно загрузится и осмотреть разделы.
Софт интересный на образе есть?

Alex_K
26.01.2022, 22:16
Софт интересный на образе есть?
Посмотрите, узнаете. А так видел игрушки, систему POLYSS, КУМИР.

Titus
26.01.2022, 22:18
Посмотрите, узнаете. А так видел игрушки, систему POLYSS, КУМИР.
Я не знаю, как смотреть образ)

Alex_K
26.01.2022, 22:22
Я не знаю, как смотреть образ)
А этот образ никакими средствами не посмотреть. Только загрузится в UKNCBTL.

Titus
26.01.2022, 22:25
А этот образ никакими средствами не посмотреть. Только загрузится в UKNCBTL.
Ну так вы пишете, что он нормально не загружается, или считан с ошибками.

Alex_K
26.01.2022, 22:28
Ну так вы пишете, что он нормально не загружается, или считан с ошибками.
Глюки есть, но при загрузке можно выйти на приглашение RT-11 и посмотреть содержимое каталогов.

Titus
26.01.2022, 22:29
В общем, подожду, пока все устаканится и обезглючится)

Alex_K
26.01.2022, 22:43
В общем, подожду, пока все устаканится и обезглючится)
Может и никогда.

Titus
26.01.2022, 23:12
Может и никогда.
Главное, чтобы образ без ошибок был. А остальное - дело техники.

Radon17
26.01.2022, 23:26
Чисто теоретически - если на реале загрузка с винчестера успешная, можно загрузиться с дискеты и при помощи какого-нибудь софта посчитать контрольную сумму всего жёсткого диска по лёгкому алгоритму?

nzeemin
26.01.2022, 23:45
Мало было времени, чтобы заняться этой темой, но я всё же добрался.
И даже не заметил, что вы тут прошли дальше в понимании что к чему.

В аттаче UKNCBTL отладочной версии, с изменениями именно под этот IDE.
Изменения:
- размаплены порты 111016 и 0114002
- задана жёстко геометрия диска 4 головки, 17 секторов, 1024 дорожки

Начинает грузить RT-11 с диска, но падает.
Эта версия пишет файл trace.log, логируются основные действия с винчестером.
Надеюсь, это позволит продвинуться дальше.

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

nzeemin
27.01.2022, 03:23
Разделы по 10200 блоков, это почти 5 МБ каждый раздел.

Содержимое раздела 0:


Volume: АДОС
Owner:
System: ТИАСУР АДОС

16 available segments, last opened segment: 1

Filename Blocks Date Start Bytes
---------- ----- ----------- ----- --------
SWAP .SYS 27 01-Nov-1994 38 13824
RT11SJ.SYS 78 01-Nov-1994 65 39936
TT .SYS 2 01-Nov-1994 143 1024
MZ .SYS 4 01-Nov-1994 145 2048
HD1 .SYS 3 01-Nov-1994 149 1536
LP .SYS 5 01-Nov-1994 152 2560
LD .SYS 8 01-Nov-1994 157 4096
JS .SYS 3 01-Nov-1994 165 1536
NS .SAV 1 01-Nov-1994 168 512
DATE .SAV 3 01-Nov-1994 169 1536
DIR .SAV 17 01-Nov-1994 172 8704
PIP .SAV 26 01-Nov-1994 189 13312
DUP .SAV 47 01-Nov-1994 215 24064
RESORC.SAV 22 01-Nov-1994 262 11264
TESTMZ.SAV 15 01-Nov-1994 284 7680
BINCOM.SAV 23 01-Nov-1994 299 11776
HANDLE.SAV 7 01-Nov-1994 322 3584
EDIK .SAV 20 01-Nov-1994 329 10240
FORSHD.SAV 27 01-Nov-1994 349 13824
DESS .SAV 18 01-Nov-1994 376 9216
SEKUK .SAV 3 01-Nov-1994 394 1536
FORUKD.SAV 4 01-Nov-1994 397 2048
REG .SAV 2 01-Nov-1994 401 1024
ZAPUK .SAV 4 01-Nov-1994 403 2048
RDUKD .SAV 5 01-Nov-1994 407 2560
SKOR .SAV 2 01-Nov-1994 412 1024
SCE .SAV 30 01-Nov-1994 414 15360
PP .SYS 2 01-Nov-1994 444 1024
HDE .PZU 2 01-Nov-1994 446 1024
S .COM 1 01-Nov-1994 448 512
SL .SYS 10 26-Nov-1994 449 5120
< UNUSED > 6 459 3072
THEM .SAV 6 01-Nov-1994 465 3072
SKOW .SAV 2 01-Nov-1994 471 1024
STARTS.BAK 1 01-Nov-1994 473 512
SK .SAV 2 01-Nov-1994 474 1024
SR .SAV 2 01-Nov-1994 476 1024
SCE .HLP 2 01-Nov-1994 478 1024
HD .SYS 3 30-Sep-1994 480 1536
FORHDN.SAV 27 01-Nov-1994 483 13824
HDEN .PZU 2 01-Nov-1994 510 1024
TSTHD .PZU 2 01-Nov-1994 512 1024
TREE .SAV 6 01-Nov-1994 514 3072
A .BAK 1 01-Nov-1994 520 512
A .COM 1 01-Nov-1994 521 512
RDUKDN.MAC 8 01-Nov-1994 522 4096
RDUKDN.SAV 5 01-Nov-1994 530 2560
FORSID.SAV 23 01-Nov-1994 535 11776
STARTS.COM 1 01-Nov-1994 558 512
FORMZ .SAV 2 01-Nov-1994 559 1024
HD2 .SYS 3 31-Dec-1993 561 1536
< UNUSED > 4818 564 2466816
< UNUSED > 4818 5382 2466816
---------- ----- ----------- ----- --------
50 Files, 520 Blocks
9642 Free blocks



- - - Updated - - -

Содержимое раздела 1:


Volume: АДОС
Owner:
System: ТИАСУР АДОС

16 available segments, last opened segment: 1

Filename Blocks Date Start Bytes
---------- ----- ----------- ----- --------
SWAP .SYS 27 01-Nov-1994 38 13824
RT11SJ.SYS 78 01-Nov-1994 65 39936
TT .SYS 2 01-Nov-1994 143 1024
MZ .SYS 4 01-Nov-1994 145 2048
HD1 .SYS 3 01-Nov-1994 149 1536
LP .SYS 5 01-Nov-1994 152 2560
LD .SYS 8 01-Nov-1994 157 4096
JS .SYS 3 01-Nov-1994 165 1536
NS .SAV 1 01-Nov-1994 168 512
DATE .SAV 3 01-Nov-1994 169 1536
DIR .SAV 17 01-Nov-1994 172 8704
PIP .SAV 26 01-Nov-1994 189 13312
DUP .SAV 47 01-Nov-1994 215 24064
RESORC.SAV 22 01-Nov-1994 262 11264
TESTMZ.SAV 15 01-Nov-1994 284 7680
BINCOM.SAV 23 01-Nov-1994 299 11776
HANDLE.SAV 7 01-Nov-1994 322 3584
EDIK .SAV 20 01-Nov-1994 329 10240
FORSHD.SAV 27 01-Nov-1994 349 13824
DESS .SAV 18 01-Nov-1994 376 9216
SEKUK .SAV 3 01-Nov-1994 394 1536
FORUKD.SAV 4 01-Nov-1994 397 2048
REG .SAV 2 01-Nov-1994 401 1024
ZAPUK .SAV 4 01-Nov-1994 403 2048
RDUKD .SAV 5 01-Nov-1994 407 2560
SKOR .SAV 2 01-Nov-1994 412 1024
SCE .SAV 30 01-Nov-1994 414 15360
PP .SYS 2 01-Nov-1994 444 1024
HDE .PZU 2 01-Nov-1994 446 1024
S .COM 1 01-Nov-1994 448 512
SL .SYS 10 26-Nov-1994 449 5120
TS .SAV 6 01-Nov-1994 459 3072
THEM .SAV 6 01-Nov-1994 465 3072
SKOW .SAV 2 01-Nov-1994 471 1024
STARTS.BAK 1 01-Nov-1994 473 512
SK .SAV 2 01-Nov-1994 474 1024
SR .SAV 2 01-Nov-1994 476 1024
SCE .HLP 2 01-Nov-1994 478 1024
HD .SYS 3 30-Sep-1994 480 1536
FORHDN.SAV 27 01-Nov-1994 483 13824
HDEN .PZU 2 01-Nov-1994 510 1024
TSTHD .PZU 2 01-Nov-1994 512 1024
TREE .SAV 6 01-Nov-1994 514 3072
A .BAK 1 01-Nov-1994 520 512
A .COM 1 01-Nov-1994 521 512
RDUKDN.MAC 8 01-Nov-1994 522 4096
RDUKDN.SAV 5 01-Nov-1994 530 2560
FORSID.SAV 23 01-Nov-1994 535 11776
STARTS.COM 1 01-Nov-1994 558 512
FORMZ .SAV 2 01-Nov-1994 559 1024
HD2 .SYS 3 31-Dec-1993 561 1536
BLANK .SAV 21 27-Jul-1992 564 10752
PLATRE.BLN 7 09-Dec-1991 585 3584
< UNUSED > 9608 592 4919296
---------- ----- ----------- ----- --------
53 Files, 554 Blocks
9608 Free blocks


- - - Updated - - -

Содержимое раздела 2:


Volume: АДОС
Owner:
System: ТИАСУР АДОС

16 available segments, last opened segment: 1

Filename Blocks Date Start Bytes
---------- ----- ----------- ----- --------
HD .SYS 3 30-Sep-1994 38 1536
SWAP .SYS 26 10-Apr-1991 41 13312
RT11SJ.SYS 72 21-Aug-1986 67 36864
TT .SYS 2 19-Sep-1986 139 1024
MZ .SYS 4 10-Jan-1993 141 2048
LD .SYS 8 08-Dec-1986 145 4096
SL .SYS 10 28-Dec-1987 153 5120
LP .SYS 5 24-Jan-1990 163 2560
QQ .SYS 4 05-Mar-1992 168 2048
VM .SYS 3 09-Oct-1992 172 1536
STARTS.COM 1 25-Jan-1994 175 512
TS .SAV 40 31-Jul-1992 176 20480
VMCOPY.SAV 6 24-Jan-1993 216 3072
TLS .SAV 20 13-Apr-1993 222 10240
DIR .SAV 19 12-Mar-1985 242 9728
DUP .SAV 45 24-Sep-1986 261 23040
PIP .SAV 29 24-Apr-1985 306 14848
UCL .SAV 4 18-Sep-1987 335 2048
TLG .SAV 5 14-May-1992 339 2560
RDTLG .SAV 7 25-May-1993 344 3584
WRTLG .SAV 8 26-May-1993 351 4096
MZFORM.SAV 6 11-Jun-1989 359 3072
DAY .SAV 4 05-May-1986 365 2048
DPL .SAV 2 16-Oct-1991 369 1024
NED .SAV 15 26-Nov-1987 371 7680
DESS .SAV 19 13-Apr-1990 386 9728
RDWR .SAV 3 14-Nov-1987 405 1536
MZF .SAV 12 05-Aug-1992 408 6144
QQ .COM 1 04-Nov-1991 420 512
TETRIS.SAV 47 30-Jul-1991 421 24064
ANT .SAV 51 28-Mar-1992 468 26112
GOBLIN.SAV 61 -BAD- 519 31232
RBMOR .SAV 82 11-Dec-1991 580 41984
KALAH .SAV 18 13-Dec-1988 662 9216
MOS .SAV 30 01-Mar-1991 680 15360
JUJA .SAV 31 14-Sep-1990 710 15872
COL .SAV 29 30-Jul-1991 741 14848
GOROD .SAV 29 02-May-1988 770 14848
CAT .SAV 52 11-Mar-1990 799 26624
TETUK .SAV 8 23-Feb-1989 851 4096
WALL .SAV 22 11-Sep-1990 859 11264
KOSTI .SAV 24 14-Jul-1990 881 12288
SPION .SAV 13 23-Nov-1989 905 6656
STALK .SAV 49 17-Oct-1988 918 25088
KINGOM.SAV 67 01-Nov-1988 967 34304
TET .SAV 28 01-Nov-1988 1034 14336
KOSMOS.SAV 36 12-Nov-1988 1062 18432
KWB .SAV 9 11-Oct-1983 1098 4608
ROBOT .SAV 6 26-Jul-1985 1107 3072
PLANE .SAV 42 28-Apr-1982 1113 21504
PACMAN.SAV 49 03-Jan-1986 1155 25088
SPM .SAV 18 09-Dec-1985 1204 9216
MARS .SAV 15 04-Oct-1988 1222 7680
GETWIN.SAV 6 17-Sep-1991 1237 3072
< UNUSED > 10 1243 5120
TIR .SAV 8 03-Nov-1983 1253 4096
< UNUSED > 2 1261 1024
PVO .SAV 16 05-Feb-1990 1263 8192
ESPANS.SAV 79 05-Apr-1991 1279 40448
MISION.SAV 54 11-Apr-1991 1358 27648
POKER .DAT 1 -BAD- 1412 512
MARS .DAT 2 -BAD- 1413 1024
< UNUSED > 5 1415 2560
KING .DAT 1 -BAD- 1420 512
< UNUSED > 8779 1421 4494848
---------- ----- ----------- ----- --------
61 Files, 1366 Blocks
8796 Free blocks


- - - Updated - - -

Раздел 3:


Volume: АДОС
Owner:
System: ТИАСУР АДОС

16 available segments, last opened segment: 1

Filename Blocks Date Start Bytes
---------- ----- ----------- ----- --------
SWAP .SYS 27 01-Nov-1994 38 13824
RT11SJ.SYS 78 01-Nov-1994 65 39936
TT .SYS 2 01-Nov-1994 143 1024
MZ .SYS 4 01-Nov-1994 145 2048
HD1 .SYS 3 01-Nov-1994 149 1536
LP .SYS 5 01-Nov-1994 152 2560
LD .SYS 8 01-Nov-1994 157 4096
JS .SYS 3 01-Nov-1994 165 1536
NS .SAV 1 01-Nov-1994 168 512
DIR .SAV 17 01-Nov-1994 169 8704
PIP .SAV 26 01-Nov-1994 186 13312
DUP .SAV 47 01-Nov-1994 212 24064
TESTMZ.SAV 15 01-Nov-1994 259 7680
HANDLE.SAV 7 01-Nov-1994 274 3584
SL .SYS 10 26-Nov-1994 281 5120
HD .SYS 3 30-Sep-1994 291 1536
DATE .SAV 3 01-Nov-1994 294 1536
RESORC.SAV 22 01-Nov-1994 297 11264
BINCOM.SAV 23 01-Nov-1994 319 11776
DESS .SAV 18 01-Nov-1994 342 9216
STARTS.COM 1 01-Nov-1994 360 512
FORMZ .SAV 2 01-Nov-1994 361 1024
BLANK .SAV 21 27-Jul-1992 363 10752
EDIK .SAV 23 27-Jul-1992 384 11776
EDK .SAV 20 01-Nov-1994 407 10240
EP .SYS 13 24-Feb-1992 427 6656
RDWR .SAV 3 14-Nov-1987 440 1536
UCL .SAV 4 18-Sep-1987 443 2048
DPL .SAV 2 16-Oct-1991 447 1024
NORML .SAV 7 18-Oct-1991 449 3584
NORM .SAV 7 18-Oct-1991 456 3584
NORMSL.SAV 7 18-Oct-1991 463 3584
BOLDL .SAV 7 29-Oct-1991 470 3584
STANDA.SAV 7 29-Oct-1991 477 3584
ASTRAL.SAV 7 29-Oct-1991 484 3584
EPP .SYS 13 24-Feb-1992 491 6656
MAU .TT 11 06-Oct-1992 504 5632
EDIK .DOC 17 22-Mar-1992 515 8704
EDIK .HLP 26 28-Apr-1992 532 13312
SETKEY.SAV 2 13-Dec-1991 558 1024
TXT .DSK 900 25-Mar-1995 560 460800
PLATPR.BLN 5 25-Mar-1995 1460 2560
PLTR .BLN 4 13-Apr-1995 1465 2048
< UNUSED > 8731 1469 4470272
---------- ----- ----------- ----- --------
43 Files, 1431 Blocks
8731 Free blocks


- - - Updated - - -

Раздел 4:


Volume: АДОС
Owner:
System: ТИАСУР АДОС

16 available segments, last opened segment: 1

Filename Blocks Date Start Bytes
---------- ----- ----------- ----- --------
SWAP .SYS 26 26-Aug-1993 38 13312
RT11CD.SYS 70 26-Aug-1993 64 35840
TT .SYS 2 26-Aug-1993 134 1024
SL .SYS 10 26-Aug-1993 136 5120
MZ .SYS 8 04-Apr-1992 146 4096
LP .SYS 4 26-Aug-1993 154 2048
NL .SYS 2 26-Aug-1993 158 1024
VM .SYS 2 26-Aug-1993 160 1024
RMU .SYS 7 26-Aug-1993 162 3584
MIM .SYS 44 26-Aug-1993 169 22528
MIM .END 4 26-Aug-1993 213 2048
MC .SYS 6 26-Aug-1993 217 3072
PIP .SAV 25 26-Aug-1993 223 12800
DUP .SAV 45 26-Aug-1993 248 23040
UCL .SAV 4 10-Mar-1986 293 2048
DAY .SAV 4 31-Mar-1987 297 2048
DIR .SAV 5 26-Aug-1993 301 2560
RULON .SAV 2 01-Jul-1991 306 1024
< UNUSED > 1 308 512
SC .SAV 54 26-Aug-1993 309 27648
SC .EXE 1 26-Aug-1993 363 512
SC .TMP 3 26-Aug-1993 364 1536
SC .KEY 1 26-Aug-1993 367 512
SC .MEN 5 26-Aug-1993 368 2560
KEYS .SAV 2 13-May-1993 373 1024
RMU .SAV 43 26-Aug-1993 375 22016
FTS9 .SAV 8 26-Aug-1993 418 4096
BOOT6 .SAV 2 26-Aug-1993 426 1024
BASIC .SAV 56 26-Aug-1993 428 28672
NETUK .SAV 8 26-Aug-1993 484 4096
RMU .COM 1 26-Aug-1993 492 512
KUMIR .SAV 62 26-Aug-1993 493 31744
EDK .SAV 20 26-Aug-1993 555 10240
MZFORM.SAV 6 26-Aug-1993 575 3072
KWUR .E 1 13-May-1991 581 512
SUMTAB.E 1 13-May-1991 582 512
AA .E 1 13-May-1991 583 512
ADD .E 1 23-Jan-1992 584 512
NODT .E 1 05-Jul-1991 585 512
BIT .E 1 13-May-1991 586 512
PRST .E 1 13-May-1991 587 512
HAPPY .E 2 13-May-1991 588 1024
UPR5V1.E 1 29-Jun-1991 590 512
GERON .E 1 13-May-1991 591 512
NOD .E 1 13-May-1991 592 512
UPR5V2.E 1 29-Jun-1991 593 512
UPR5V3.E 1 30-Jun-1991 594 512
FAKT1 .E 1 02-Jul-1991 595 512
NOK .E 1 05-Jul-1991 596 512
POISK1.E 1 13-May-1991 597 512
FAKT2 .E 1 02-Jul-1991 598 512
STARTS.BAK 1 01-Feb-1994 599 512
HD .SYS 3 30-Sep-1994 600 1536
STARTS.COM 1 01-Feb-1994 603 512
< UNUSED > 9596 604 4913152
---------- ----- ----------- ----- --------
53 Files, 565 Blocks
9597 Free blocks


- - - Updated - - -

Раздел 5:


Volume: АДОС
Owner:
System: DECRT11A

16 available segments, last opened segment: 1

Filename Blocks Date Start Bytes
---------- ----- ----------- ----- --------
SWAP .SYS 26 31-Dec-1987 38 13312
RT11SJ.SYS 72 24-Aug-1990 64 36864
MZ .SYS 4 15-Jan-1990 136 2048
SL .SYS 10 04-Jul-1991 140 5120
TT .SYS 2 24-Nov-1989 150 1024
LP .SYS 6 29-Jun-1990 152 3072
POLYSS.SAV 88 28-Dec-1991 158 45056
PIP .SAV 30 24-Nov-1989 246 15360
DIR .SAV 14 24-Nov-1989 276 7168
DAY .SAV 4 30-Jan-1987 290 2048
DUP .SAV 45 07-Aug-1987 294 23040
ASTERM.SAV 3 24-Nov-1989 339 1536
DESS .SAV 19 24-Apr-1987 342 9728
REKL1 .PLS 126 28-Dec-1991 361 64512
REKL2 .PLS 126 04-Jul-1991 487 64512
REKL4 .PLS 126 28-Dec-1991 613 64512
REKL3 .PLS 126 04-Jul-1991 739 64512
SENDIK.SHR 8 04-Jul-1991 865 4096
SUPER .SHR 10 04-Jul-1991 873 5120
ALISA .SHR 4 04-Jul-1991 883 2048
IBM .SHR 4 04-Jul-1991 887 2048
STAND .SHR 4 04-Jul-1991 891 2048
SEND1 .SHR 4 04-Jul-1991 895 2048
SEND2 .SHR 8 04-Jul-1991 899 4096
SUPER .SPR 10 04-Jul-1991 907 5120
EDIK .SAV 23 27-Jul-1992 917 11776
START .COM 1 06-Mar-1993 940 512
SETKEY.SAV 2 13-Dec-1991 941 1024
HD .SYS 3 30-Sep-1994 943 1536
REZ21 .LST 8 30-Oct-1997 946 4096
KREST .SPR 1 02-Nov-1997 954 512
REZ100.LST 25 01-Nov-1997 955 12800
< UNUSED > 9220 980 4720640
---------- ----- ----------- ----- --------
32 Files, 942 Blocks
9220 Free blocks


- - - Updated - - -

Раздел 6:


Volume: АДОС
Owner:
System: ТИАСУР АДОС

16 available segments, last opened segment: 2

Filename Blocks Date Start Bytes
---------- ----- ----------- ----- --------
SWAP .SYS 26 10-Apr-1991 38 13312
RT11SJ.SYS 72 21-Aug-1986 64 36864
TT .SYS 2 19-Sep-1986 136 1024
MZ .SYS 4 15-Jan-1990 138 2048
LD .SYS 8 08-Dec-1986 142 4096
SL .SYS 10 13-Dec-1991 150 5120
EP .SYS 13 24-Feb-1992 160 6656
DIR .SAV 19 12-Mar-1985 173 9728
DUP .SAV 45 24-Sep-1986 192 23040
PIP .SAV 29 24-Apr-1985 237 14848
RDWR .SAV 3 14-Nov-1987 266 1536
UCL .SAV 4 18-Sep-1987 269 2048
DAY .SAV 4 05-May-1986 273 2048
DPL .SAV 2 16-Oct-1991 277 1024
NORML .SAV 7 18-Oct-1991 279 3584
NORM .SAV 7 18-Oct-1991 286 3584
NORMSL.SAV 7 18-Oct-1991 293 3584
BOLDL .SAV 7 29-Oct-1991 300 3584
STANDA.SAV 7 29-Oct-1991 307 3584
ASTRAL.SAV 7 29-Oct-1991 314 3584
EPP .SYS 13 24-Feb-1992 321 6656
MAU .TT 11 06-Oct-1992 334 5632
BLANK .SAV 21 27-Jul-1992 345 10752
MZFORM.SAV 6 13-Dec-1991 366 3072
EDIK .SAV 22 13-Dec-1991 372 11264
SETKEY.SAV 2 13-Dec-1991 394 1024
EDIK .DOC 17 22-Mar-1992 396 8704
EDIK .HLP 26 28-Apr-1992 413 13312
DOV .KKK 3 19-Jul-1994 439 1536
DOV .DUB 3 05-Aug-1994 442 1536
EDK .SAV 23 30-Apr-1990 445 11776
BALANS.PER 4 25-Oct-1995 468 2048
HD .SYS 3 30-Sep-1994 472 1536
< UNUSED > 8 475 4096
< UNUSED > 86 483 44032
AVT .BIO 7 31-Oct-1995 569 3584
< UNUSED > 48 576 24576
SPR .KAD 2 01-Jan-1996 624 1024
< UNUSED > 58 626 29696
BIO .DOG 13 05-Jan-1996 684 6656
< UNUSED > 88 697 45056
PFR1 .DOG 13 24-Jan-1996 785 6656
< UNUSED > 29 798 14848
KSER .PRS 2 25-Mar-1997 827 1024
< UNUSED > 64 829 32768
REZ5 .LST 6 08-Oct-1997 893 3072
REZ4 .LST 6 08-Oct-1997 899 3072
REZ7 .LST 6 15-Oct-1997 905 3072
REZ3 .LST 6 15-Oct-1997 911 3072
REZ1 .LST 7 20-Oct-1997 917 3584
REZ2 .LST 7 20-Oct-1997 924 3584
< UNUSED > 7 931 3584
REZ6 .LST 7 20-Oct-1997 938 3584
REZ8 .LST 7 20-Oct-1997 945 3584
REZ9 .LST 7 20-Oct-1997 952 3584
REZ10 .LST 7 21-Oct-1997 959 3584
REZ11 .LST 6 21-Oct-1997 966 3072
< UNUSED > 7 972 3584
REZ12 .LST 7 22-Oct-1997 979 3584
< UNUSED > 14 986 7168
REZ21 .LST 8 30-Oct-1997 1000 4096
< UNUSED > 148 1008 75776
REZ102.1 25 01-Nov-1997 1156 12800
< UNUSED > 39 1181 19968
REZ101.LST 12 12-Nov-1997 1220 6144
< UNUSED > 19 1232 9728
REZ100.2 18 12-Nov-1997 1251 9216
REZ103.1 18 12-Nov-1997 1269 9216
< UNUSED > 8 1287 4096
SOCH .ALE 3 16-Nov-1997 1295 1536
REZ100.13 15 16-Nov-1997 1298 7680
< UNUSED > 100 1313 51200
REZ111.1 14 28-Nov-1997 1413 7168
< UNUSED > 15 1427 7680
REZ115.1 15 28-Nov-1997 1442 7680
REZ112.1 15 28-Nov-1997 1457 7680
REZ114.2 14 02-Dec-1997 1472 7168
REZ114.3 15 04-Dec-1997 1486 7680
< UNUSED > 15 1501 7680
REZ114.6 14 04-Dec-1997 1516 7168
< UNUSED > 3 1530 1536
VZRYV .BAK 4 07-Dec-1997 1533 2048
VZRYV .PRS 4 07-Dec-1997 1537 2048
REZ114.4 13 26-Dec-1997 1541 6656
REZ114.1 15 26-Dec-1997 1554 7680
PRIKAZ.LST 3 26-Dec-1997 1569 1536
< UNUSED > 6860 1572 3512320
---------- ----- ----------- ----- --------
68 Files, 778 Blocks
7616 Free blocks


- - - Updated - - -

Про раздел 7 пока не понял, выглядит так что его нет.

В аттаче лежит rt11dsk.exe, приспособленная конкретно для этого диска.
Используйте команды, начинающиеся на "h" - "hl", "hx", "hpl", "hpe".

- - - Updated - - -

Список разделов:


# Blocks Bytes Offset
--- ------ --------- ----------
0 10200 5222400 0x00008800
1 10200 5222400 0x00503800
2 10200 5222400 0x009fe800
3 10200 5222400 0x00ef9800
4 10200 5222400 0x013f4800
5 10200 5222400 0x018ef800
6 8432 4317184 0x01dea800
--- ------ --------- ----------

mig_25
27.01.2022, 09:57
А имеется возможность ещё раз попробовать считать содержимое винчестера?
Да, ещё могу. Может быть, стоит мне и ПЗУ перечитать, потому что я пропаивал плату. Постараюсь в ближайшие дни.

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


Чисто теоретически - если на реале загрузка с винчестера успешная, можно загрузиться с дискеты и при помощи какого-нибудь софта посчитать контрольную сумму всего жёсткого диска по лёгкому алгоритму?

Я не смогу загрузиться с дискеты. Мы пробовали что у нас в музее, что в МТУСИ, результат отрицательный

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


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

Не совсем понимаю, почему он может быть считан с ошибками. Он был подключен к компьютеру и дернут HxD. И ещё чем-то (UltraISO, вроде, или WinImage)

Но я попробую ещё раз. Может, дело опять в этом шлейфе.

Alex_K
27.01.2022, 18:59
Начинает грузить RT-11 с диска, но падает.
Эта версия пишет файл trace.log, логируются основные действия с винчестером.
Надеюсь, это позволит продвинуться дальше.
Сбой происходит после операции записи. Вероятно после этого сбоя читается всякая ерунда.

HDD COMMAND 20 (READ MULT): C=7, H=2, SN=8, SC=2
HDD Read sector start ed3f
HDD Read sector complete
HDD Read sector start 2323
HDD Read sector complete
HDD COMMAND 20 (READ MULT): C=7, H=2, SN=9, SC=9
HDD Read sector start 2323
HDD Read sector complete
HDD Read sector start 0102
HDD Read sector complete
HDD Read sector start faec
HDD Read sector complete
HDD Read sector start 3a3b
HDD Read sector complete
HDD Read sector start 7f6b
HDD Read sector complete
HDD Read sector start ff7f
HDD Read sector complete
HDD Read sector start fa39
HDD Read sector complete
HDD Read sector start ff88
HDD Read sector complete
HDD Read sector start b1b6
HDD Read sector complete
HDD COMMAND 30 (WRITE MULT): C=7, H=2, SN=9, SC=5
HDD Write sector start dcdc
WriteSector 40c00
HDD Write sector start fefd
WriteSector 40e00
HDD Write sector start 0513
WriteSector 41000
HDD Write sector start c5c4
WriteSector 41200
HDD Write sector start 8094
WriteSector 41400
HDD COMMAND 20 (READ MULT): C=2, H=2, SN=12, SC=2
HDD Read sector start 7f6b
HDD Read sector start f6ee
HDD Read sector complete
HDD Read sector start ffff
HDD Read sector complete
В логе два раза подряд идёт строка "HDD Read sector start". Это исполнение команды SET SL ON. Сначала загружаются два первых блока при исполнении SET SL ON. Потом SL.SYS грузит себя в память (9 блоков), записывает сам в себя (5 блоков). А потом сбой при чтении.

Alex_K
27.01.2022, 23:59
Где-то в UKNCBTL происходит сбой при эмуляции буфера HDD. Грузился с диска 4. После запроса даты идёт запись этой даты на диск, а потом чтение двух секторов (оверлей KMON) по адресу 134002. Ниже лог:

HDD COMMAND 20 (READ MULT): C=602, H=2, SN=8, SC=2
HDD Read sector start d688
HDD Read sector start e83f
HDD Read sector complete
HDD Read sector start f57a
HDD Read sector complete
134002 024567 000013 000012 000027 000037 020177 044033 045033 w)········ ·H·J
134022 020123 020164 020141 020162 020164 020165 020160 063040 S t a r t u p f
134042 064440 066040 062440 035040 006412 036475 036475 036475 i l e :··======
134062 036475 036475 036475 036475 036475 036475 036475 036475 ================
134102 005075 005015 051415 020145 051525 020122 067516 073523 =····Se USR NoSw
134122 070141 020040 020040 006440 051412 020145 074105 072151 ap ··Se Exit
134142 047040 051557 060567 020160 020040 006440 051412 020145 NoSwap ··Se
134162 071105 067562 020162 067516 062556 020040 020040 006440 Error None ·
134202 051412 020145 052124 051440 067543 062560 020040 020040 ·Se TT Scope
134222 013700 000054 016002 000300 042702 176777 010267 001022 ю·,···ю·бEЪЩ│···
134242 016002 000370 042702 177737 010267 001032 004767 000710 ··Ь·бEъЪ│···В·х·
134262 010701 062701 001256 021221 001404 005711 001415 061101 а·аe┤·÷"··и···Ab
134302 000772 004767 000662 005721 061100 005721 005711 001556 З·В·╫·я·@bя·и·n·
134322 022112 001373 111110 000207 005027 000000 022712 076732 J$Ш·H≥►·····й%з}
134342 001463 010704 062704 000746 022712 043327 001520 062704 3·д·дeФ·й%вFP·дe
134362 177754 022712 021411 001513 005762 000002 001127 062704 ЛЪй%·#K·Р···W·дe
134402 177754 021227 103112 001503 006067 177716 011200 012701 ЛЪ⌠"J◄C·7·нЪ↑·а·
134422 120000 000402 000241 006001 160100 101002 001417 060100 ·╢··┴···@Ю·←··@`
134442 020127 000120 103367 020027 000036 103500 020027 000045 W P·В◄· ··@►· %·
134462 101075 160012 162700 000036 010067 177636 004467 000524 =←·ЮюЕ··7·▓Ъ7·T·
134502 000072 021227 100040 001004 010704 062704 000612 000437 :·⌠" ↑··д·дe╛···
134522 013700 000054 066012 000412 012742 075250 012762 075273 ю·,··l··Б·╔zР·╣z
134542 000006 012700 001417 104374 010200 004767 163264 010200 ··ю···Э╕↑·В·╧Ф↑·
134562 104037 103552 016704 006470 005077 006452 005000 005046 ·╕j►д·8·?·*···&·
134602 012746 001000 010446 104217 103541 062704 000400 114500 Ф···&·╖╕a►дe··@°
134622 000300 105000 154500 162700 047117 001402 122525 000402 ю··╛@ыюЕON··U├··
134642 004767 000346 004767 000320 010401 000403 000521 005721 В·Ф·В·п·····Q·я·
134662 022142 012103 001517 022221 001372 021221 001371 010402 b$C·O·÷$З·÷"Ы···
134702 011101 100402 005700 001506 005700 001001 022222 006301 A··↓ю·F·ю···≥$а·
134722 100036 004467 000276 000075 010500 005300 006301 000261 ·↑7·╡·=·@·ю·а·╞·
134742 100001 000241 004767 010654 020500 001464 006201 121527 ·↑┴·В·╩·@!4·↓·W┐
134762 000056 001012 032701 040000 001406 042701 040000 010005 .···а5·@··аE·@··
135002 005205 005726 000751 005305 012600 004767 000172 042701 ▼·ж·И·е·↑·В·z·аE
135022 140000 060102 016701 177302 004712 103432 105765 177777 ·юB`а·бЧй··►У╙ЪЪ
135042 001404 004467 000156 000054 000662 026704 006202 101025 ··7·n·,·╫·д-←··←
135062 016704 006174 005000 005046 012746 001000 010446 104237 д·|···&·Ф···&·█╕
135102 103032 004767 162710 000136 000167 163032 000167 164022 ·◄В·хЕ^·w··Фw··Х
135122 000167 162642 004767 162656 001134 013700 000054 042760 w·╟ЕВ·┤Е\·ю·,·ПE
135142 001000 000300 056760 000112 000300 042760 000040 000370 ··ю·П]J·ю·ПE ·Ь·
135162 056760 000122 000370 000207 010702 062702 010554 010046 П]R·Ь·►·б·бel·&·
135202 004767 010400 001745 012600 005205 124527 000040 001775 В···Е·↑·▼·W╪ ·Щ·
135222 177777 177777 177777 177777 177777 177777 177777 177777 ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ
135242 177777 177777 177777 177777 177777 177777 177777 177777 ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ
135262 177777 177777 177777 177777 177777 177777 177777 177777 ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ
135302 177777 177777 177777 177777 177777 177777 177777 177777 ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ
135322 177777 177777 177777 177777 177777 177777 177777 177777 ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ
135342 177777 177777 177777 177777 177777 177777 177777 177777 ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪ
135362 177777 177777 177777 005205 000207 122445 001003 124527 ЪЪЪЪЪЪ▼·►·%├··W╪
135402 000040 001775 122425 000204 001000 075131 062000 100005 ·Щ··├▲···Yz·d·↑
135422 000000 005003 000240 010327 000000 000207 000040 075131 ····╢·в···►· ·Yz
135442 062000 100005 000000 005003 000240 010327 000000 000207 ·d·↑····╢·в···►·
135462 000004 035164 000000 100021 000000 002000 066621 021140 ··t:···↑····÷m`"
135502 100014 000134 032144 014400 100024 000024 073507 062310 ·↑\·d4···↑··Gwхd
135522 100037 000404 000240 040377 006452 000207 050377 006444 ·↑··╢·Ъ@*·►·ЪP$·
135542 000207 005303 000240 110367 000013 010700 062700 000010 ►·ц·╢·В×··ю·юe··
135562 104351 000207 000033 000000 005003 000240 060703 062703 И╕►·······╢·цaцe
135602 000040 013701 000054 062701 003722 012321 021327 177777 ·а·,·аeр·я·в"ЪЪ
135622 001374 005723 012361 177404 011361 175140 000207 004367 Э·с·Я··ЪЯ·`З►·В·
135642 002616 020010 012704 000010 000240 000240 177777 000401 ╘·· д···╢·╢·ЪЪ··
135662 100000 120011 001403 004767 000470 010011 117504 000000 ·↑·╢··В·8···D█··
135702 177777 004767 000000 017751 000026 000434 017751 000026 ЪЪВ···И·····И···
135722 076713 000027 042614 000023 045130 000024 000000 110464 к}··╒E··XJ····4÷
135742 000016 000436 035130 000001 021420 000000 000000 021042 ····X:···#····""
135762 000000 000376 107772 000036 021042 000034 073636 000030 ··Ч·З╖··""··▓w··
Сначала читается какая-то ерунда (Startup File). В итоге первый сектор начинается с адреса 134222 по 135220. Далее вместо второго сектора читаются значения 177777, и второй сектор начинается с адреса 135370.

Alex_K
28.01.2022, 20:30
Вроде бы ошибка в UKNCBTL:

void CHardDrive::HandleCommand(uint8_t command)
{
m_command = command;
switch (command)
{
case IDE_COMMAND_READ_MULTIPLE:
case IDE_COMMAND_READ_MULTIPLE1:
// DebugPrintFormat(_T("HDD COMMAND %02x (READ MULT): C=%d, H=%d, SN=%d, SC=%d\r\n"),
// command, m_curcylinder, m_curhead, m_cursector, m_sectorcount);


m_status |= IDE_STATUS_BUSY;


m_timeoutcount = TIME_PER_SECTOR * 3; // Timeout while seek for track
m_timeoutevent = TIMEEVT_READ_SECTOR_DONE;
break;
Необходимо ещё сбросить бит готовности буфера:
m_status &= ~IDE_STATUS_BUFFER_READY;
Данная прошивка после подачи команды чтения не смотрит бит занятости BUSY, а сразу опрашивает бит готовности буфера.

nzeemin
29.01.2022, 13:43
Вроде бы ошибка в UKNCBTL:
Необходимо ещё сбросить бит готовности буфера:
m_status &= ~IDE_STATUS_BUFFER_READY;
Данная прошивка после подачи команды чтения не смотрит бит занятости BUSY, а сразу опрашивает бит готовности буфера.

Алексей, спасибо - вы абсолютно правы.
Поправленная версия - в этом сообщении.

Alex_K
30.01.2022, 17:19
В присоединенном файле дизассемблированная прошивка с комментариями.

По поводу формата диска. Все разделы расположены начиная с дорожки 1, разделы выровнены по дорожкам. На нулевой дорожке записаны сектора с описанием геометрии диска и таблицей разделов. Сама прошивка осуществляет поиск по четырём сторонам и первым пяти секторам в дорожке.
Формат сектора описания разделов:
Слово 0 - ключ 052251, по этому значению прошивка считает, что это сектор с описанием разделов. В противном случае ищется следующий сектор.
Слово 1 - 0177757, не используется, назначение не известно;
Слово 2 - 0177377, не используется, назначение не известно;
Слово 3 - 02000, не используется, назначение не известно;
Слово 4 - количество секторов в дорожке на одной сторон;
Слово 5 - количество секторов в дорожке на всех сторонах. Если это слово (слово 5) поделить на слово 4, то получим количество сторон.
Со слова 6 по слово 13, всего восемь слов, это таблица начальных дорожек для разделов с HD0 по HD7.
Со слова 14 по слово 21, всего восемь слов, это таблица размеров разделов в секторах, с HD0 по HD7.
Если раздела нет, то в соответствующих словах записаны нули.

Распределение памяти, используемое прошивкой:
В ОЗУ ЦП используется только ячейка с адресом 0140, так называемый вектор. В нём хранится адрес блока параметров для операций чтения-записи.
Сам блок параметров состоит из пяти слов:
Слово 0 - байт ошибок. 0 - ещё идёт операция, положительный байт - операция завершена успешно, отрицательный байт - произошла ошибка.
Слово 1 - номер начального блока для операции;
Слово 2 - адрес в памяти ОЗУ ЦП;
Слово 3 - количество считываемых/записываемых слов. Положительное значение - чтение, отрицательное - запись. Ноль - запрос объёма раздела.
Слово 4 - номер устройства.
Для реализации запроса объёма тома (SPFUN 373) необходимо в слово 4 записать номер устройства, а в слово 3 - ноль. Ответ будет получен в слове 1.

В ОЗУ ПП сама программа и данные располагаются в области векторов прерываний и используют неиспользуемые ячейки.
0120 - 0171 - там располагается подпрограмма для запуска выполнения операций.
0204 - байт ошибок;

С 0206 по 0257 располагается считанная информация с сектора описания разделов:
0206 - 0177757, не используется, назначение не известно;
0210 - 0177377, не используется, назначение не известно;
0212 - 02000, не используется, назначение не известно;
0214 - количество секторов в дорожке на одной сторон;
0216 - количество секторов в дорожке на всех сторонах. Если это слово (слово 5) поделить на слово 4, то получим количество сторон.
0220 - 0237 - таблица начальных дорожек для разделов с HD0 по HD7;
0240 - 0257 - таблица размеров разделов в секторах, с HD0 по HD7;

0260 - номер блока. Меняется во время операции.
0262 - адрес в ОЗУ ЦП в формате РА. Меняется во время операции.
0264 - количество слов, меняется во время операции.
0266 - размер текущего раздела.
0270 - сохраняется ССП перед операцией. Хотя эта ячейка являетя адресом первой видеостроки, но видеострока невидимая, так что никакого эффекта нет.
0274 - номер устройства * 2, индекс для доступа к таблицам разделов.
0276 - адрес блока параметров в ОЗУ ЦП в формате РА.

Блок с 0344 по 0355 используется для засылки в регистры IDE:
0344 - номер стороны, в регистр 0110002;
0346 - номер дорожки (старший байт), в регистр 0110004;
0350 - номер дорожки (младший байт), в регистр 0110006;
0352 - номер сектора, в регистр 0110010;
0354 - количество секторов, в регистр 0110012.

0356 - если при переводе из номера блока с CHS возникла ошибка, то там -1, иначе 0.

0360-0401 - подпрограмма для запуска начальной инициализации и считывания сектора с описанием разметки. Используется только при первоначальном запуске прошивки.

Таким образом, чтобы прочесть/записать информацию, необходимо сформировать блок параметров из пяти слов. Обязательно очистить байт ошибок. В ячейку 0140 записать адрес этого блока. В ПП вызвать подпрограмму по адресу 0120. Анализировать байт ошибок. Как только он стал ненулевой, то операция завершилась. Отрицательный байт - ошибка, положительный - всё успешно.

nzeemin
30.01.2022, 19:14
При загрузке системы драйвер выводит инфу:
SuperHD V4.5 - Дpaйвep жecткoгo диcкa УК-НЦ ("БИНAP" г.CAPAТOB)

Программа FORHDN с диска 0 - вроде как предназаначена для форматирования и разметки винчестера, но в выборе типа диска нет данной модели:

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

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

В программе FORSHD немного другой набор винчестеров:

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

Alex_K
30.01.2022, 20:00
Программа FORHDN с диска 0 - вроде как предназаначена для форматирования и разметки винчестера, но в выборе типа диска нет данной модели:
Вообще-то все ниже перечисленные диски - это диски MFM.

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

Для IDE есть программа FORSID.

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

Так значит были контроллеры MFM. На этом же диске есть файлы с прошивкой ПЗУ - HDE.PZU и HDEN.PZU. В HDE.PZU используются регистры 0177160-017176, доступ к данным байтовый, не словный. В HDEN.PZU регистры расположены вроде в "окне" по адресам 0110000-0110016,0111016,0114002. Но доступ к данным тоже байтовый, немного мудрёный. Старые винчестеры IDE вроде поддерживали байтовый доступ к порту данных для совместимости с 8-разрядной шиной данных, но как он включался, я не знаю.

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

Также весьма вероятно формат дисков у MFM и IDE был одинаковый. Так что, по всей видимости, неиспользуемые значения в IDE, это какие нибудь номера дорожек для предкомпенсации, времена перехода с дорожки на дорожку. IDE эти параметры не нужны.

Radon17
30.01.2022, 21:43
Так значит были контроллеры MFM.
По-моему вот. Почерк разработчика (две РТ5) вроде угадывается.

https://pic.maxiol.com/thumbs2/1643567538.1559557793.cc05e5ead299.jpg (https://pic.maxiol.com/?v=1643567538.1559557793.cc05e5ead299.jpg&dp=2)

Вот тут выкладывали - https://zx-pk.ru/threads/16685

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

И ещё другой вариант mfm контроллера TheGWBV выкладывала (https://zx-pk.ru/threads/18595-uknts-karty-rasshireniya.html?p=777377&viewfull=1#post777377). Но скорее всего он к теме не имеет отношения т.к. там одна РФ5.

https://pic.maxiol.com/thumbs2/1643568125.1559557793.20150127105553.jpg (https://pic.maxiol.com/?v=1643568125.1559557793.20150127105553.jpg&dp=2)

Alex_K
30.01.2022, 22:03
Вот тут выкладывали - https://zx-pk.ru/threads/16685
Я его когда-то и опознал как MFM. Давно это было.

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


И ещё другой вариант mfm контроллера TheGWBV выкладывала. Но скорее всего он к теме не имеет отношения т.к. там одна РФ5.
Но там есть 155РЕ3, как и в контроллере IDE от "Электронных работ".

mig_25
31.01.2022, 10:41
Коллеги, очень круто, спасибо, что разобрались! Рад, что запустилось в эмуляторе.