-
Чистка ошибок продолжается...
Код:
# $VOLUM.INF - info about RT-11 volume on RL02 device.
# Produced by TU58FS at 2022-мар-27 13:28:48
pack_cluster_size=1
# Block number of first directory segment
first_dir_blocknr=6
system_version=V05
volume_id=BC-P607F-BC
owner_name=RL2 1/1
system_id=DECRT11A
# number of 512 byte blocks on volume
block_count=20480
# number of extra bytes per directory entry
dir_entry_extra_bytes=0
# Total number of segments in this directory (can hold 2139 files)
dir_total_seg_num=31
# Number of highest dir segment in use
dir_max_seg_nr=5
# Start block of file area = 68
# File 0,00 "SWAP .SYS".
No prefix.
Data 13824 = 0x13824 bytes, start block 68 @ 0x8800.
# File 1,00 "RT11AI.SYS".
No prefix.
Data 40960 = 0x40960 bytes, start block 95 @ 0xBE00.
# File 2,00 "RT11PI.SYS".
No prefix.
Data 48640 = 0x48640 bytes, start block 175 @ 0x15E00.
# File 3,00 "RT11BL.SYS".
No prefix.
Data 39936 = 0x39936 bytes, start block 270 @ 0x21C00.
- - - Добавлено - - -
Ещё почистил ошибки
TU58fs умеет распаковывать образы
Код:
SWAP .SYS 27P 20-дек-85 RT11AI.SYS 80P 20-дек-85
RT11PI.SYS 95P 20-дек-85 RT11BL.SYS 78P 20-дек-85
RT11SJ.SYS 79P 20-дек-85 RT11FB.SYS 93P 20-дек-85
RT11XM.SYS 106P 20-дек-85 CR .SYS 3P 20-дек-85
CT .SYS 6P 20-дек-85 DD .SYS 5P 20-дек-85
.....................
RTXM .MAP 33P 20-дек-85 SYSGEN.COM 230P 20-дек-85
BL .ANS 9P 20-дек-85 SJFB .ANS 9P 20-дек-85
XM .ANS 9P 20-дек-85 CONFIG.COM 27P 20-дек-85
CONFIG.SAV 7P 20-дек-85 V5USER.TXT 3P 20-дек-85
V5NOTE.TXT 41P 20-дек-85 CUSTOM.TXT 9P 20-дек-85
CONSOL.MAC 6P 20-дек-85 NITEST.MAC 22P 20-дек-85
206 files, 5023 blocks
15359 Free blocks
[2022-мар-27 13:52:11 info] Files extracted from "K:\Repo\2022\ForDebug\RT11.V05.03.RL.var1.dsk" and written to "K:\Repo\2022\ForDebug\Unpacked".
[2022-мар-27 13:52:11 info] Using serial port at 38400 baud with 8N1 format.
[2022-мар-27 13:52:11 info] No simulated drives were specified, emulator not started.
-
И после очередного исправления найденных ошибок...
TU58fs может собирать образы
Код:
SWAP .SYS 27 27-мар-99 RT11AI.SYS 80 27-мар-99
RT11BL.SYS 78 27-мар-99 RT11FB.SYS 93 27-мар-99
RT11PI.SYS 95 27-мар-99 RT11SJ.SYS 79 27-мар-99
RT11XM.SYS 106 27-мар-99 DD .SYS 5 27-мар-99
DDX .SYS 5 27-мар-99 TT .SYS 2 27-мар-99
DL .SYS 4 27-мар-99 DLX .SYS 5 27-мар-99
CR .SYS 3 27-мар-99 CT .SYS 6 27-мар-99
DM .SYS 5 27-мар-99 DMX .SYS 5 27-мар-99
DP .SYS 3 27-мар-99 DS .SYS 3 27-мар-99
DT .SYS 3 27-мар-99 DU .SYS 8 27-мар-99
DUX .SYS 9 27-мар-99 DW .SYS 5 27-мар-99
..........
USR .MAC 74 27-мар-99 V5NOTE.TXT 41 27-мар-99
V5USER.TXT 3 27-мар-99 VBGEXE.SAV 16 27-мар-99
VDT .OBJ 8 27-мар-99 VERIFY.COM 3 27-мар-99
VM .MAC 21 27-мар-99 VTCOM .REL 27 27-мар-99
VTCOM .SAV 24 27-мар-99 VTHDLR.OBJ 8 27-мар-99
VTMAC .MAC 7 27-мар-99 XC .MAC 1 27-мар-99
XL .MAC 28 27-мар-99 XM .ANS 9 27-мар-99
XM .MAC 1 27-мар-99 XMSUBS.MAC 40 27-мар-99
206 files, 5023 blocks
15417 Free blocks
[2022-мар-27 17:37:29 info] Files from "K:\Repo\2022\ForDebug\Unpacked" written to "K:\Repo\2022\ForDebug\test.dsk".
[2022-мар-27 17:37:29 info] Using serial port at 38400 baud with 8N1 format.
[2022-мар-27 17:37:29 info] No simulated drives were specified, emulator not started.
Вот только по идее образ должен был стать тоже загрузочным, но... Очередная ошибка? :)
- - - Добавлено - - -
Пока не понял, но вроде нет...
На очереди проверка работы с XXDP образами :)
- - - Добавлено - - -
Очередной фикс некоторого количества ошибок...
Нет некоторой уверенности - правильно ли прошло извлечение файлов, но по крайне мере всякие характеристики в листинге показываются правильно :)
Код:
[2022-мар-27 19:16:51 Warning] Monitor core start is 170 in RADI, but 189 in MFD1/2
[2022-мар-27 19:16:51 Warning] Position of bad block file not yet evaluated
[2022-мар-27 19:16:51 Warning] Monitor core start is 170 in RADI, but 189 in MFD1/2
[2022-мар-27 19:16:51 Warning] Position of bad block file not yet evaluated
ENTRY# FILNAM.EXT DATE LENGTH START VERSION
1 XXDPXM.SYS 24-янв-1988 39 2
2 XXDPSM.SYS 24-янв-1988 29 422
3 DRSXM .SYS 24-янв-1988 48 457
4 DRSSM .SYS 24-янв-1988 24 537
5 DIR .SYS 24-янв-1988 7 567
6 DB .SYS 24-янв-1988 2 576
7 DD .SYS 24-янв-1988 3 600
8 DL .SYS 24-янв-1988 4 603
9 DM .SYS 24-янв-1988 4 607
10 DR .SYS 24-янв-1988 3 613
11 DU .SYS 24-янв-1988 4 616
........................
696 ZVSVA0.BIN 24-янв-1988 11 41371
697 ZVSWB0.BIN 24-янв-1988 25 41404
698 ZVTHC0.BIC 24-янв-1988 25 41435
699 ZVTJB0.BIN 24-янв-1988 26 41466
700 ZVTLA0.BIN 24-янв-1988 12 41520
701 ZVTMA0.BIN 24-янв-1988 29 41534
702 ZVTNA0.BIC 24-янв-1988 13 41571
703 ZVTVA0.BIN 24-янв-1988 9 41606
FREE BLOCKS: 3197
[2022-мар-27 19:16:52 info] Files extracted from "K:\Repo\2022\ForDebug\XXDP_V2.6_L_DL.DSK" and written to "K:\Repo\2022\ForDebug\UXXDP".
[2022-мар-27 19:16:52 info] Using serial port at 38400 baud with 8N1 format.
[2022-мар-27 19:16:52 info] No simulated drives were specified, emulator not started.
Теперь уже есть определённая статистика по ошибкам. Если не считать некоторое количество пропущенного кода (из-за определённых переделок и пару раз - по невнимательности), то самые распространненные ошибки - ошибки двух классов. Не созданные внутренние объекты (в C нет классов, поэтому выделение памяти протекает малость по другому) и ошибки форматирования при выводе :)
И надо будет проверить - чего там наизвлекалось и навставлялось - в RT-11 вроде норм (но всё равно буду проверять), а вот с XXDP есть ошибка извлечения с вероятнстью 99,99 процентов :)
- - - Добавлено - - -
А вот и нет - месяц не правильно (должен быть февраль) :)
- - - Добавлено - - -
Месяц поправил.
RT-11 извлечение - ок, XXDP - бэд. Ну с XXDP ишо вожусь.
RT-11 запаковка - похоже бэд...
- - - Добавлено - - -
С файловой системой RT-11 вроде все ошибки поправил - и извлечение из образа и создание образа - узвлечённое из созданного образа совпадает с оригиналом по количеству и по содержимому :)
Теперь разборки с XXDP...
-
Распаковка-сборка RT11 и XXDP образов до какой то степени проверена :) В том числе (вроде) распакованный загрузочный RT11 и XXDP образ после сборки должен остататься загрузочным :) Но это надо будет проверить...
- - - Добавлено - - -
А, да - и первый коммит. Но в нём ещё никакой эмуляции и отсылки загрузчика... Этот код ещё надо допилить..
-
Допиливание COM порта, пока минимальный функционал.
-
Первый контакт Falcon-а и типа "TU58" есть :) Теперь напильничком по модулю TU58Drive :)
-
АССССА :D
Код:
@DD0
RT-11SJ V05.04 F
?LD-W-Unable to update disk copy of LD handler
.R MSCPCK
.SHO CONF
RT-11SJ V05.04 F
Booted from DD0:RT11SJ
USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
TT is set NOQUIET
ERROR is set ERROR
SL is set OFF
EDIT is set KED
KMON nesting depth is 3
SBC 11/21 (T11) Processor
56KB of memory
60 Cycle System Clock
FPU support
.
-
Где то (я уже примерно догадываюсь, где) сидит ошибка при записи, так что пускать на rw образ эмулятор не стОит
Чтение же вроде работает ок
Из интересных особенностей данного эмулятора:
Код:
@DD0
RT-11SB V05.07
?LD-W-Unable to update disk copy of LD handler
.R MSCPCK
.DIR
SWAP .SYS 28P 31-Oct-1998 RT11AI.SYS 96P 31-Oct-1998
RT11SB.SYS 97P 31-Oct-1998 RT11FB.SYS 106P 31-Oct-1998
.......
ARK .DSK 1200P 31-Oct-1998 MSRT .DSK 1000P 31-Oct-1998
DISSAV.DSK 200P 31-Oct-1998 TIMIT .MAC 1 29-Mar-2022
ERLG .MAC 1 29-Mar-2022 DD .SYS 5 29-Mar-2022
DDX .SYS 5 29-Mar-2022
231 Files, 16560 Blocks
3822 Free blocks
.TYP ERLG.MAC
ERL$G = 1
.
Если почитать доку по реальному TU58, то можно узнать, что его размер - всего 512 блоков :) Но эмулятор умеет работать и с образами бОльшего размера (до 32 мб, как обычно для XXDP, DOS-11 и RT-11), при этом он при запуске (если файловая система - RT) ищет DD.SYS и DDX.SYS и патчит их под размер текущего образа, а при остановке эмуляции - депатчит :) Результат виден по логу - был использован образ от RL02
- - - Добавлено - - -
Чито и требовалось доказать :)
Код:
@DD0
RT-11SB V05.07
.R MSCPCK
.COP TT: TEST.TXT
Files copied:
^WRITE TEST
^ZTT: to DK:TEST.TXT
.TYP TEST.TXT
WRITE TEST
.DIR/BLO TEST.TXT
TEST .TXT 1 16628
1 Files, 1 Blocks
3821 Free blocks
.
Из общего впечатления - какая то тормозная эта эмуляция девайса... На 38400 работает примерно как HX на 9600.
Подозрение, что я чего то недоперемудрил при переделки работы с временными задержками (есть там такое) под Windows.
Так что теперь в плане проверок - этот момент.
-
А фот виг вам - принял (не)желаемое за действительное.
Сделал два одинаковых образа, в одном настроил загрузку с HX, в другом - с DD и с секундамером засёк время загрузки (на одной скорости портов - 38400). HX - 2:37, а DD - 2:25, то есть DD даже чуть лучше :) Видимо в первый момент сказалось психологически привычное время загрузки с настроенной системы (и минимум драйверов), а на DD грузился с дистрибутивного носителя (а там куча драйверов, которые при загрузке RT проверяет).
Из ещё отмеченного - этот эмулятор TU58 (после переделки, понятно, но все переделки были сделаны в лоб) сильно грузит проц. Сказывается то, что он постоянно работает (в потоке эмуляции TU58) и не уводит этот поток в sleep. Надо будет подумать и переделать это
- - - Добавлено - - -
В целом, эмулятор доведён до приличного состояния - можно возвращатся к допиливанию ПЗУ Falcon-а :)
Ну и ещё в мыслях - на основе его кода сделать экстрактор файлов из образов для командной строки. А то TC я не жалую, а плагин ещё не удобен в том плане, что у меня 64-ёх битный FAR, да и люблю я командную строку :) Надо только попробовать допилить извлечение файлов из образов XXDP до полной поддержки этой файловой системы, а как ни странно, она поддерживает (но XXDP это почти не использует) двухуровневую систему каталогов :)
-
Работу с образом и подключенной папкой вроде проверил-поправил, но вот то ли второй уарт на плате, то ли работа с подключенной папкой сбоят, но - при копировании на устройство с подключенной папкой - эпизодический ошибки. Причём частота и место возникновения - не предсказуемы..
Я, конечно, привык сначала валить на себя, но как бы я не извращался с работой с ком-портом - эффекта ноль. Чисто внешне - приходит с Falcon-а пакет с ошибкой в контрольной сумме - при попытки записи на "устройство".. Вот уже начал думать, что, может - этот уарт на плате сбоит?
<Эксперименты с Falcon-ом, KDJ11-B, четырёхпортовкой и мултиконтроллером>
-
Продолжаю резку зависимостей и переделку внутренней структуры эмулятора. Переделал внутреннюю зависимость работы с файловой системой от конкретной реализации (читай - от конкретной ФС). Не могу пока сказать, насколько полностью, но прицел идёт - да-да - на ODS1 :) И появиться в RSX возможность работать с подмонтированной папкой :) Ну и как вишенка - автоматом - возможность распаковывать-упаковывать образы дисков (а потом и не только) RSX :)
Когда - пока не могу сказать - всё упирается в свободное время...