В процессе исправления косяков, недочётов и функционала...
- - - Добавлено - - -
Прогнал формальные тесты - вроде ничего не сломал - можно двигаться дальше..
В процессе исправления косяков, недочётов и функционала...
- - - Добавлено - - -
Прогнал формальные тесты - вроде ничего не сломал - можно двигаться дальше..
Здравствуйте вы закончили disasm можно его попросить на пробу?
Потихоньку (свободного времени катастрофически мало) доработываю обобщённый подход к переносу файлов из одной ФС в другую. В наследство от TU58fs достались только два метода - из ФС PDP11 в ФС хоста и из ФС хоста в фС PDP11 - но в ОЧЕНЬ простейшем варианте. Мой вариант будет более универсальным, в том числе - учитывающим особенности конкретной ФС. Типа поддержки или неподдержки каталогов. Но имена файлов всё ещё остаются проблемой..
Подвижки вперёд есть. Сделал класс для работы с ФС Windows - что бы можно было включить в общий подход. Умеет принимать файлы и отдавать файлы. В процессе исправил так же пару ошибок в соседних (RT-11 и ODS-1) классах. Пока получается, что дальше причёска кода и тестирование - особенно работа с именами файлов и поддержка каталогов - основные ошибки в процессе написания класса ФС Windows были связаны именно с этим.
Ну и фактически - создавать образ с ФС PDP-11 пока уммет только класс ФС RT-11.
Технически несложной должна быть реализация создания MT DOS-11.
Для XXDP есть некий под от автора (но в процессе разборок с ФС XXDP налетел на неточности и в разборке и сборке.
ФС DOS-11 похожа на ФС XXDP, основное отличие - поддержка каталогов, хотя технически каталог (один!) есть в XXDP
Ну и ODS-1 - это отдельная пестня.
Плюс ещё остаётся вопрос, что в разных ФС есть отличия в формате текстовых файлов и объектных (obj которые) файлов - тоже вопрос, который ждёт исследования - не про все ФС известно - как Точнее - Я не вентилировал ещё тонкости
Ну и ещё один функционал, который был реализован автором исходной утилиты, и на который я подзабил пока - это эмуляция TU58. В планах восстановление функционала есть, плюс хочется сделать ещё эмулятор и других лент (да и дисков тоже) через COM порт, но вот это всё остальное упирается в то, что на другой стороне должно быть НЕЧТО, что примет/отправит через COM порт команды/данные То есть задач - две
- - - Добавлено - - -
И да - времени по прежнему...
В первом приближении на новый подход (pack и unpack - это вариант переноса файлов между ФС, где на одной из сторон - ФС Windows) код прошерстил, написал и дописал. То есть ошибки и недописанное наверняка есть, но править буду по мере обнаружения.
Вот теперь готов к тому, с чего всё началось - запись на ленту в формате DOS-11 Может за выходные и успею накропать...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Было у меня подозрение, что - за выходные - это много Итак первый (ещё не все сценарии обрабатываются и взят каталог с распакованным образом диска RT-11 - но тем не менее) работающий вариант
В ФС RT-11 каталогов нет совсем, а ФС DOS-11 (в том числе и на ленте) по сути не имеет понятия - корневой каталог (точнее говоря - на дисках он есть, но там СПЕЦИФИЧЕСКИЕ записи) - поэтому было принято решение - всё из корневого каталога пихать в [1,1]Код:>ImageUtilsx -from @m013.Src.dsk Path WinFS -to m013.1.Int.tap tape dos11 >m013.1.tap.Pack.mylog.txt >type m013.1.tap.Pack.mylog.txt Filesystem has 1 ufds, 3 files and 429 blocks DIRECTORY [1,1] 06-APR-2024 FDF331.DOC 302 27-OCT-1989 <233> FDF333.DOC 118 27-OCT-1989 <233> FILE .BAD 1 09-FEB-1990 <233> TOTL BLKS: 421 TOTL FILES: 3 >type !Log.txt [2024-Apr-06 01:26:10 info ] initialize empty none file system on "m013.1.Int.tap" [2024-Apr-06 01:26:11] Files from "@m013.Src.dsk" written to "m013.1.Int.tap". [2024-Apr-06 01:26:11] 00:00:00.3128520
Следующая доработка-тест - запихать на ленту каталог с содержимым ODS-1.
А, да. Как вишенка на торт (тоже текущий вариант программы и тоже ФС RT-11):
Код:>ImageUtilsx -from m013.Test.NoInt.dsk disk rt11 -to m013.2.Int.tap tape dos11 >m013.2.tap.Pack.mylog.txt >type m013.2.tap.Pack.mylog.txt Filesystem has 1 ufds, 4 files and 4802 blocks DIRECTORY [1,1] 06-APR-2024 FDF331.DOC 302 27-OCT-1989 <233> FDF333.DOC 118 27-OCT-1989 <233> FILE .BAD 1 09-FEB-1990 <233> EMPTY .FIL 4371 xx-JAN-1972 <233> TOTL BLKS: 4792 TOTL FILES: 4 >type !Log.txt [2024-Apr-06 01:35:51 Warning] EMPTY.FIL - empty date [2024-Apr-06 01:35:51 info ] initialize empty none file system on "m013.2.Int.tap" [2024-Apr-06 01:35:53] Files from "m013.Test.NoInt.dsk" written to "m013.2.Int.tap". [2024-Apr-06 01:35:53] 00:00:02.0040217
Вроде всё доделал для создания лент DOS-11
Дальше по текущим планам - добавить возможность указания порядка файлов в ФС - обобщённый вариант (то есть будет работать для всех ФС.. ну.. кроме Windows )Код:>ImageUtilsx -from @m013.Src.dsk Path WinFS -to m013.1.Int.tap tape dos11 >m013.1.tap.Pack.mylog.txt >type m013.1.tap.Pack.mylog.txt Filesystem has 2 ufds, 4 files and 733 blocks DIRECTORY [1,1] 06-APR-2024 FDF331.DOC 302 27-OCT-1989 <233> FDF333.DOC 118 27-OCT-1989 <233> FILE .BAD 1 09-FEB-1990 <233> TOTL BLKS: 421 TOTL FILES: 3 DIRECTORY [2,2] 06-APR-2024 FDF331.DOC 302 27-OCT-1989 <233> TOTL BLKS: 302 TOTL FILES: 1 >type !Log.txt [2024-Apr-06 15:32:25 info ] initialize empty none file system on "m013.1.Int.tap" [2024-Apr-06 15:32:25 ERROR ] MTDOS11FileSystem does not support directory [NAMED] [2024-Apr-06 15:32:25] Files from "@m013.Src.dsk" written to "m013.1.Int.tap". [2024-Apr-06 15:32:25] 00:00:00.6702064
И проверки-исправления ошибок
А, да, сейчас хочу подсунуть созданную ленту в DOS-11 и посмотреть - как оно будет воспринято
- - - Добавлено - - -
SIMH помог найти ошибку Была в коде, который относится к записи на ленту, но который был написан без проверки. В нём нашлось две ошибки - одну нашёл в процессе написания и отладки, вторую нашел при попытке использовать ленту на SIMH, который делает больше проверок структуры ленты, чем ImageUtils. Результат:
Из занимательного - напрочь вылетело - как указывается каталог в DOS-11 В отличии от RSX (и VMS) в DOS-11 он указывается ПОСЛЕ имени файла Помогло вспомнить только чтение документацииКод:DOS/BATCH V9-20C DATE: 6-APR-99 TIME: 16:38 DIALOGUE? $ $LO 1,1 DATE:-06-APR-99 TIME:-16:38:24 $RU PIP PIP V10-02 #KB:<MT:FDF331.DOC[1,1] utwervden u1.00025-01 33 05-lu programmnoe obespe~enie dwk fortran/fodos-2 translqtor s fortrana rukowodstwo programmista u1.00025-01 33 05 listow 86
Последний раз редактировалось Hunta; 09.04.2024 в 10:10.
Указание порядка добавил, есть некоторые шерховатости, но совпадение образа ленты (полученного распаковкой а потом запаковкой) с оригиналом - ОЧЕНЬ сильное (шерховатости) Завтра попробую сошлифовать шерховатости
- - - Добавлено - - -
Однако разобрался Ленту делали в RSX - а она поддерживает 9 символов в имени файла на ленте DOS-11 Ну, дальше понятно, что делать
Некоторая проблема может быть с идентичностью лент, созданных в XXDP и, есть вероятность, в DOS-11 - в поле дата старший (15-ый) бит использует как флаг непрерываного файла. Мой класс Mapper пока работает максимум на уровне байт, описания и поддержки битовых полей на текущий момент нет, только задумки.Код:>ImageUtilsX -dos11 -unpack Src\11SKIT1_try1.tap 1\@11SKIT1_try1.tap tape >1\11SKIT1_try1.tap.UnPack.MyLog.txt >ImageUtilsX -from 1\@11SKIT1_try1.tap Path WinFS -to 1\11SKIT1_try1.Pack.tap tape dos11 >1\11SKIT1_try1.Pack.tap.Pack.MyLog.txt >fc 1\11SKIT1_try1.Pack.tap Src\11SKIT1_try1.tap /b Comparing files 1\11SKIT1_try1.Pack.tap and SRC\11SKIT1_TRY1.TAP FC: no differences encountered
Но, собственно, цель - возможность переноса файлов из Windows в DOS-11 (а фактически и в RSX-11) достигнута - даже с поддержкой имен 9.3 в RSX
Дальше в планах потестировать и вернутся к идее запуска DOS-11 с диска HD
- - - Добавлено - - -
Нашлось ещё интересное про ленты в формате DOS-11. На загрузочной ленте XXDP аппартно загружаемый монитор в имени файла использует больше шести символов
- - - Добавлено - - -Код:Filesystem has 1 ufds, 704 files and 18523 blocks DIRECTORY [2,2] 09-APR-2024 XXBOOT2 .MON 32 05-DEC-1988 <000> <--!!!! XXDPXM .SYS 39 05-DEC-1988 <000> XXDPSM .SYS 29 05-DEC-1988 <000> DRSXM .SYS 48 05-DEC-1988 <000> DRSSM .SYS 24 05-DEC-1988 <000> DIR .SYS 7 05-DEC-1988 <000> DB .SYS 2 05-DEC-1988 <000> DD .SYS 3 05-DEC-1988 <000> ...
Юмор из разряда - как посмотреть каталог Windows, используя ImageUtils
Надо бы ещё показ даты файла добавитьКод:>ImageUtilsX -dir "K:\Repo\ForDebug\ImageUtils\!ForCheck\@11SKIT1_try1.tap" path winfs Directory [1,20] CDA.OLB 79360 ICBLD.CMD 226 IPBLD.CMD 186 ISBLD.CMD 274 LAINIT.OLB 11264 UDCBLD.CMD 224 Total of 91534 bytes in 6 files Directory [1,24] CDABLD.BLD 10108 ICBLD.CMD 212 IPBLD.CMD 178 ISBLD.CMD 250 UDCBLD.CMD 212 Total of 10960 bytes in 5 files Directory [1,54] 11MTKB.TSK 86528 11MVMR.TSK 78336 INDFIX.OBJ 5232 Total of 170096 bytes in 3 files Directory [11,10] CODRV.MAC 4424 CRDRV.MAC 21526 IPDRV.MAC 126032 LADRV.MAC 45138 LPDRV.MAC 12626 TTATT.MAC 42944 TTCAN.MAC 16080 TTCIS.MAC 10796 TTDAT.MAC 35458 TTFP.MAC 6566 TTICH.MAC 75358 TTINI.MAC 19146 TTJZ.MAC 3268 TTMAC.MAC 9046 TTMIS.MAC 3530 TTMOD.MAC 10830 TTODN.MAC 8678 TTOIS.MAC 6354 TTRW.MAC 47404 TTSUB.MAC 23440 TTTBL.MAC 10994 TTYH.MAC 21350 TTYJ.MAC 2924 TTYL.MAC 4568 TTYZ.MAC 10358 XMDRV.MAC 33594 Total of 612432 bytes in 26 files Directory [2,20] 11SGEN.CMD 4656 11SGEN2.CMD 66602 ABOBAS.MAC 3334 ATLBAS.MAC 13810 BLXIOM.OBJ 266 BLXIOU.OBJ 156 BMPRE.MAC 1010 BRKBAS.MAC 1610 ERRBAS.MAC 2360 ERRMSG.MAC 2280 FCS11S.OBJ 11400 FMTDV.MAC 1632 FNDUCB.MAC 2632 GETNUM.MAC 1522 GNBLK.MAC 2046 KEYWD.MAC 2188 LKLST.MAC 2574 MCRBAS.MAC 8772 OPEBAS.MAC 35782 OTL.MAC 2330 OTLCD.MAC 8342 OTLCM.MAC 2602 OTLERR.MAC 7888 OTLHD.MAC 22926 OTLLB.MAC 32762 OTLLD.MAC 11876 OTLPRE.MAC 4030 OTLQIO.MAC 4222 OTLRD.MAC 7478 PRSBAS.MAC 2756 REDBAS.MAC 4500 REMBAS.MAC 5454 RMDMAP.OLB 54272 RMDUNM.OLB 38912 RPSBAS.MAC 6864 RUNBAS.MAC 9576 SETTIM.MAC 3498 SIP.MAC 6030 SIPBOO.MAC 38476 SIPCD.MAC 3292 SIPERR.MAC 3758 SIPLD.MAC 7926 SIPPRE.MAC 2834 SIPQIO.MAC 3838 TIMBAS.MAC 8866 TKTN.MAC 34320 Total of 504260 bytes in 46 files Directory [200,200] 11SCOPY.CMD 4178 BLDLAINIT.CMD 6716 SGNBLDDRV.CMD 9306 SGNEXEC.CMD 84888 SGNICIS.CMD 22512 SGNIP.CMD 14520 SGNKLAB.CMD 34848 SGNPER.CMD 89574 SGNTT.CMD 14616 SYSGEN.CMD 42646 Total of 323804 bytes in 10 files Directory [45,10] KAADMP.MAC 5606 KAADRV.MAC 11648 KAASO3.MAC 2346 KADAGR.MAC 2700 KADDRV.MAC 6648 KADGCH.MAC 10044 KADIN0.MAC 2764 KADIN1.MAC 3782 KADIN2.MAC 2794 KADIN3.MAC 3780 KADIN4.MAC 2812 KADIN5.MAC 3608 KADINP.MAC 6276 KADSWP.MAC 3330 KAST.MAC 6850 KBFRMG.MAC 6086 KBFSTS.MAC 5438 KCLOKA.MAC 2306 KCLOKB.MAC 4546 KCOMM.MAC 2224 KCVADF.MAC 2920 KDIGO.MAC 4626 KDIO.MAC 5708 KDISWP.MAC 3418 KDOSWP.MAC 3390 KDRDRV.MAC 15648 KDSCAD.MAC 1854 KDSDGO.MAC 1986 KDVDF.MAC 5236 KEFQA.MAC 4784 KFLT16.MAC 2972 KGHIST.MAC 10548 KIESTO.MAC 1840 KKWDRV.MAC 8572 KLQSUB.MAC 3358 KMLB.MLB 10752 KMUL.MAC 1384 KPAA.MAC 3184 KPRE.MAC 1650 KRATE.B2S 3028 KRATE.FTN 3250 KRCLKB.MAC 2062 KRLOC.MAC 1948 KRWBF.MAC 5812 KSET.MAC 6494 KSTADC.MAC 3468 KSTB.MAC 3230 KSTIBF.MAC 2378 KSTOP.MAC 2364 KSUB.MAC 4880 KSWDF.MAC 6440 LABMAC.MAC 2668 Total of 237440 bytes in 52 files Directory [45,20] ASMK.CMD 316 K4ASM.CMD 80 KCLEAN.CMD 52 KCOMBLD.CMD 136 KLABMLB.CMD 126 KLIBBLD.CMD 110 KLIBRP.CMD 156 Total of 976 bytes in 7 files Directory [45,24] ASMK.CMD 316 K4ASM.CMD 80 KCLEAN.CMD 52 KCOMBLD.CMD 130 KLABMLB.CMD 128 KLIBBLD.CMD 108 KLIBRP.CMD 156 Total of 970 bytes in 7 files Grand Total of 1952472 bytes in 162 files in 9 directories
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)