Устал от программирования. Когда вернусь - не знаю :) Может - временами и понемногу, но.. не знаю.. :)
Вид для печати
Устал от программирования. Когда вернусь - не знаю :) Может - временами и понемногу, но.. не знаю.. :)
за что возьметесь ?
А то, что-то тема (кроме этой ветки) совсем заглохла. У многих есть рабочие PDP, Электроники, ДВК, но - тишина. Кто что на них делает ? Зачем заимели ?
Хобби. Приятные и простые машинки времен молодости!!!
Я, например, до сих пор "балдею" с MACRO (хотя с тех пор были освоены Fortran77(и далее), C, C++, Java, Perl).
Увы, серия FPGA машинок от forth32 c процессорами от Vslav.
FPGA конечно "рулит" и "наше все", но мощно бесит - никакой стабильности :)))
Программирования сейчас на работе хватает, поэтому на неделе вообще тяжело опять в программирование погружаться.
А на выходных - назревает немного калыма, но там некоторые вещи прояснить надо - занимается свободное время.
Попробую повозиться с PDP-11X, всё таки не программирование
Играются в игрушки
Захотелось мне тут ... странного :)
Два вечера, часа четыре в сумме.
Результат:
Это ОЧЕНЬ ранний альфа вариант :)Код:>ImageUtilsX -unpack DECMATION_100Q_DISK2.rx02_sd @DecMATION_100Q_DISK2.rx02_sd cpm8 cpm
>type DECMATION_100Q_DISK2.rx02_sd.UnPack.MyLog.txt
#
# -unpack "DECMATION_100Q_DISK2.rx02_sd" @DecMATION_100Q_DISK2.rx02_sd" cpm8 cpm
#
MOVCPM .COM 76
PIP .COM 58
SUBMIT .COM 10
XSUB .COM 6
ED .COM 52
ASM .COM 64
DDT .COM 38
LOAD .COM 14
STAT .COM 41
REC .COM 5
DUMP .COM 4
SEN .COM 4
TYPICAL .ASM 73
WP .COM 64
WPEDPRNT.WPO 30
WPEDFORM.WPO 46
WPEDINIT.WPO 37
GENSYS .COM 6
WPEDDOCM.WPO 29
WPEDTYPE.WPO 7
XDIR .COM 16
WPEDHELP.WPO 15
WPEDCOPY.WPO 31
WPEDPAGE.WPO 17
WPEDSVRD.WPO 23
WPEDFILE.WPO 26
WPEDFI .WPO 3
WPEDFD .WPO 9
WPEDFCD .WPO 15
WPEDIT2 .WPO 114
WPEFL .WPO 20
WPEDIT .WPO 72
WPEDFIND.WPO 56
WPEDPRN2.WPO 154
HELP .WPH 184
VT100AV .ASM 120
PRINTER .SUB 2
TERMINAL.SUB 2
STD10 .ASM 35
INITFL .COM 5
DAISYIIF.ASM 41
BIOS64 .ASM 62
BIOS64 .ASM 62
42 files, 0 blocks
0 Free blocks
>dir @DecMATION_100Q_DISK2.rx02_sd
Directory of ..... @DecMATION_100Q_DISK2.rx02_sd
17.09.2024 20:39 <DIR> @metaFiles@
17.09.2024 20:39 8 192 ASM.COM
17.09.2024 20:39 7 936 BIOS64.ASM
17.09.2024 20:39 5 248 DAISYIIF.ASM
17.09.2024 20:39 4 864 DDT.COM
17.09.2024 20:39 512 DUMP.COM
17.09.2024 20:39 6 656 ED.COM
17.09.2024 20:39 768 GENSYS.COM
17.09.2024 20:39 23 552 HELP.WPH
17.09.2024 20:39 640 INITFL.COM
17.09.2024 20:39 1 792 LOAD.COM
17.09.2024 20:39 9 728 MOVCPM.COM
17.09.2024 20:39 7 424 PIP.COM
17.09.2024 20:39 256 PRINTER.SUB
17.09.2024 20:39 640 REC.COM
17.09.2024 20:39 512 SEN.COM
17.09.2024 20:39 5 248 STAT.COM
17.09.2024 20:39 4 480 STD10.ASM
17.09.2024 20:39 1 280 SUBMIT.COM
17.09.2024 20:39 256 TERMINAL.SUB
17.09.2024 20:39 9 344 TYPICAL.ASM
17.09.2024 20:39 15 360 VT100AV.ASM
17.09.2024 20:39 8 192 WP.COM
17.09.2024 20:39 3 968 WPEDCOPY.WPO
17.09.2024 20:39 3 712 WPEDDOCM.WPO
17.09.2024 20:39 1 920 WPEDFCD.WPO
17.09.2024 20:39 1 152 WPEDFD.WPO
17.09.2024 20:39 384 WPEDFI.WPO
17.09.2024 20:39 3 328 WPEDFILE.WPO
17.09.2024 20:39 7 168 WPEDFIND.WPO
17.09.2024 20:39 5 888 WPEDFORM.WPO
17.09.2024 20:39 1 920 WPEDHELP.WPO
17.09.2024 20:39 4 736 WPEDINIT.WPO
17.09.2024 20:39 9 216 WPEDIT.WPO
17.09.2024 20:39 14 592 WPEDIT2.WPO
17.09.2024 20:39 2 176 WPEDPAGE.WPO
17.09.2024 20:39 19 712 WPEDPRN2.WPO
17.09.2024 20:39 3 840 WPEDPRNT.WPO
17.09.2024 20:39 2 944 WPEDSVRD.WPO
17.09.2024 20:39 896 WPEDTYPE.WPO
17.09.2024 20:39 2 560 WPEFL.WPO
17.09.2024 20:39 2 048 XDIR.COM
17.09.2024 20:39 768 XSUB.COM
42 File(s) 215 808 bytes
>ImageUtilsX -unpack DECMATION_100Q_DISK3.rx02_sd @DecMATION_100Q_DISK3.rx02_sd cpm8 cpm
>type DECMATION_100Q_DISK3.rx02_sd.UnPack.MyLog.txt
#
# -unpack "DECMATION_100Q_DISK3.rx02_sd" @DecMATION_100Q_DISK3.rx02_sd" cpm8 cpm
#
TERLIB .HET 243
DIABLO .HEX 5
DIABLO50.HEX 6
EPSON .HEX 6
ANADEX .HEX 7
README2 .TXT 5
EPSON-G .HEX 6
IDS560 .HEX 6
IDSPRISM.HEX 10
MALIBU .HEX 6
NEC7710 .HEX 6
NEC7710S.HEX 8
NEC7710T.HEX 8
NEC7715 .HEX 6
NEC7715S.HEX 8
NEC7715T.HEX 8
OKI-83A .HEX 6
PRISM-CQ.HEX 7
PRISM-DQ.HEX 7
PRO-WTR .HEX 9
PSPC8023.HEX 10
QUME5 .HEX 6
SELLUMI .HEX 5
SPINWTR .HEX 5
STARWTR .HEX 5
XYMEC .HEX 6
ACT5A .HEX 6
DAISYIIF.ASM 41
BOLDPS .ASM 36
TYPICAL .HEX 5
PRPATCH .HEX 1
VT100AV .ASM 120
VT100NAV.ASM 120
README1 .TXT 5
DAISY-II.ASM 141
BOLDPSX .ASM 36
DIAB630 .ASM 88
BOLDPS96.ASM 46
CUBPS96 .ASM 41
EMPEROR .ASM 36
EMPERORX.ASM 36
MODERN .ASM 37
PRO-WTRF.ASM 34
STD10 .ASM 35
THEME11 .ASM 36
THEME11 .ASM 36
45 files, 0 blocks
0 Free blocks
>dir @DecMATION_100Q_DISK3.rx02_sd
Directory of ..... @DecMATION_100Q_DISK3.rx02_sd
17.09.2024 20:39 <DIR> @metaFiles@
17.09.2024 20:39 768 ACT5A.HEX
17.09.2024 20:39 896 ANADEX.HEX
17.09.2024 20:39 4 608 BOLDPS.ASM
17.09.2024 20:39 5 888 BOLDPS96.ASM
17.09.2024 20:39 4 608 BOLDPSX.ASM
17.09.2024 20:39 5 248 CUBPS96.ASM
17.09.2024 20:39 18 048 DAISY-II.ASM
17.09.2024 20:39 5 248 DAISYIIF.ASM
17.09.2024 20:39 11 264 DIAB630.ASM
17.09.2024 20:39 640 DIABLO.HEX
17.09.2024 20:39 768 DIABLO50.HEX
17.09.2024 20:39 4 608 EMPEROR.ASM
17.09.2024 20:39 4 608 EMPERORX.ASM
17.09.2024 20:39 768 EPSON-G.HEX
17.09.2024 20:39 768 EPSON.HEX
17.09.2024 20:39 768 IDS560.HEX
17.09.2024 20:39 1 280 IDSPRISM.HEX
17.09.2024 20:39 768 MALIBU.HEX
17.09.2024 20:39 4 736 MODERN.ASM
17.09.2024 20:39 768 NEC7710.HEX
17.09.2024 20:39 1 024 NEC7710S.HEX
17.09.2024 20:39 1 024 NEC7710T.HEX
17.09.2024 20:39 768 NEC7715.HEX
17.09.2024 20:39 1 024 NEC7715S.HEX
17.09.2024 20:39 1 024 NEC7715T.HEX
17.09.2024 20:39 768 OKI-83A.HEX
17.09.2024 20:39 896 PRISM-CQ.HEX
17.09.2024 20:39 896 PRISM-DQ.HEX
17.09.2024 20:39 1 152 PRO-WTR.HEX
17.09.2024 20:39 4 352 PRO-WTRF.ASM
17.09.2024 20:39 128 PRPATCH.HEX
17.09.2024 20:39 1 280 PSPC8023.HEX
17.09.2024 20:39 768 QUME5.HEX
17.09.2024 20:39 640 README1.TXT
17.09.2024 20:39 640 README2.TXT
17.09.2024 20:39 640 SELLUMI.HEX
17.09.2024 20:39 640 SPINWTR.HEX
17.09.2024 20:39 640 STARWTR.HEX
17.09.2024 20:39 4 480 STD10.ASM
17.09.2024 20:39 31 104 TERLIB.HET
17.09.2024 20:39 4 608 THEME11.ASM
17.09.2024 20:39 640 TYPICAL.HEX
17.09.2024 20:39 15 360 VT100AV.ASM
17.09.2024 20:39 15 360 VT100NAV.ASM
17.09.2024 20:39 768 XYMEC.HEX
45 File(s) 167 680 bytes
Работа с образом 8-ми дюймовки с ФС CP/M выявило некоторую проблему - у неё свой вариант логического (не аппаратного) интерлива. Пока описать несколько вариантов интерлива для одного физического типа устройства ImageUtils не позволяет - только за счёт описания нескольких вариантов устройств. Подумаю над этим, а то устройства слишком плодятся :)
Я тут в понедельник всё таки заболел (вирусняк), конкретно - до больничного. Обычно не беру - на удалённой работе. А тут вот - вот так...
Ну и к сегодняшнему дню самочувстивие стало чуть-чуть лучше, так что - воспользовался и дописал парсер предпоследней из известных мне файловых систем на PDP-11.
Пока нет парсера на RSTS.
Ну а unix системы мне никогда не нравились - не думаю, что буду делать парсер :)
Итак, встречаем - CAPS-11:
- - - Добавлено - - -Код:>dir
Directory of ...
26.04.2014 08:56 91 376 bascaps1.t60
02.10.2024 16:53 0 log.txt
02.10.2024 16:53 171 unp.cmd
>ImageUtilsX -unpack bascaps1.t60 @bascaps1.t60 tu60 caps11
>dir
Directory of ...
02.10.2024 16:53 1 070 !Log.txt
02.10.2024 16:53 <DIR> @bascaps1.t60
26.04.2014 08:56 91 376 bascaps1.t60
02.10.2024 16:53 988 bascaps1.t60.UnPack.MyLog.txt
02.10.2024 16:53 0 log.txt
02.10.2024 16:53 171 unp.cmd
>dir @bascaps1.t60
Directory of ...\@bascaps1.t60
02.10.2024 16:53 <DIR> @metaFiles@
09.05.1974 23:00 16 384 BAS8K.SLO
08.05.1974 23:00 4 096 BASED.OVL
08.05.1974 23:00 4 096 BASEX.OVL
11.05.1974 23:00 24 576 BASIC.SLO
08.05.1974 23:00 1 024 CTLOAD.SYS
09.08.1974 23:00 4 096 FPMPEA.OBJ
09.08.1974 23:00 3 584 FPMPEI.OBJ
09.08.1974 23:00 1 536 FPMPFP.OBJ
17.05.1974 23:00 24 576 FTBLA.OBJ
17.05.1974 23:00 1 024 PROG2.BAS
17.05.1974 23:00 512 PROG2.OBJ
>type bascaps1.t60.UnPack.MyLog.txt
#
# -unpack "bascaps1.t60" "@bascaps1.t60" tu60 caps11
#
Filesystem has 0 ufds, 11 files and 692 blocks
CTLOAD.SYS 8 09-MAY-1974
BASED .OVL 32 09-MAY-1974
BASEX .OVL 32 09-MAY-1974
BAS8K .SLO 128 10-MAY-1974
BASIC .SLO 192 12-MAY-1974
FTBLA .OBJ 192 18-MAY-1974
PROG2 .OBJ 4 18-MAY-1974
PROG2 .BAS 8 18-MAY-1974
FPMPEA.OBJ 32 10-AUG-1974
FPMPEI.OBJ 28 10-AUG-1974
FPMPFP.OBJ 12 10-AUG-1974
TOTL BLKS: 668
TOTL FILES: 11
В силу простоты ФС, думаю набросать и обратный процесс - создание ФС CAPS-11, но посмотрим...
В процессе написания процедур создания образа CAPS-11 выявлена ошибка, недописанный код (ну тут понятно - на момент написания для проверки ничего подходящего не было, так что оставил ловушку) и не совсем правильная реализация восстановления порядка файлов при СОЗДАНИИ образов (это из постепенной реализации возможности воссоздать полностью идентичный образ на основании файлов и метоинформации от процесса распаковки образа).
Поэтому - прикидочные варианты процедур создания образов и немного новый вариант подхода к сохранению и восстановлению (пока не полностью) метаинформации.
В планах - доделать создание полностью идентичных образов CAPS-11 и ещё продвинуться в сохранении метаинформации - в том числе, с учётом информации и знаний из первой задачи
Вроде CAPS-11 - не сильно сложная ФС, но процесс создания образа потребовал доработок внутренностей, так как примерно как и у ODS-1 - есть заголовок файла, не всю информацию из которого можно сохранить в файле Windows. По сути, в Windows можно сохранить только дату-время создания (ну и изменения, который есть в ODS-1). Собственно - сохранение информации из заголовка сделать было просто (на ODS-1 механизм был более менее отработан), а вот использование её при создании ФС - такого механизма не было.
Так что - рефакторинг работы с мета-информацией (кое-что из неё я уже использую) образа и прикидочный вариант сохранения(новый)-восстановления инфы из заголовка и дальнейшей работы с ней.
Пока ещё в проверке-отладке, но уже более менее работает - ленты CAPS-11 воссоздаются идентичные оригинальным :)
Кое-что из информации DOS-11 на лентах не сохранялось (и не восстанавливалось ессссвенно) по этой же причине - теперь можно будет доделать. На существующих тестах не проверялось, но теперь можно будет добавить и проверки идентичности создаваемого отбаза.