Коллеги! А чем посмотреть содержимое посекторного образа диска DX (ГМД-7012)? Есть какое-то количество дисков, образы я делаю, а дальше тупик..
Вид для печати
Коллеги! А чем посмотреть содержимое посекторного образа диска DX (ГМД-7012)? Есть какое-то количество дисков, образы я делаю, а дальше тупик..
Вопрос был не о том как сделать чистый образ. В общем я получил ответы. А теперь я объясню почему мне не нравится то что делает плагин и эмулятор.
Например мне надо записать физически дискету из образа, зачем мне пляски с бубном если образ не стандартный или был 400 Кб посмотрел(сделал что-то) в эмуляторе и он стал 800 Кб а у меня дискета 400 Кб и опять пляски с бубном для записи обратно.
Нужно выложить сделанные образы - тогда будет легче понять, какая у них структура и чем их смотреть.
Чтобы при помощи плагина "лишить стандартности" стандартный образ - нужно сильно постараться. Копируя файлы в стандартный образ или удаляя лишние - изменить размер стандартного образа плагином невозможно.
одна сторона 77 дорожек по 26 секторов по 128 байт
нулевая дорожка (0-0xCFF) не используется.
С 0x1880 похоже идет каталог.
Если я выкидываю первую дорожку целиком - каталог не попадает на 0xC00. Если выкидываю только 25 (а не 26) секторов - вижу в плагине каталог, но начало и конец файлов попадают не туда.
Драйвер DX использует сдвиг дрожек и секторов ( DZ тоже так делает ).
Алгоритм "шифрования" диска драйвером DX следующий:
Кто первый это на C переведёт..Код:; NORMAL I/O, CONVERT TO TRACK AND SECTOR NUMBER AND INTERLEAVE
MOVB R2,FILLCT ;SAVE WORD COUNT IN CASE WE HAVE TO FILL
DECB FILLCT ; EXTRA SECTORS ON WRITE
ASL R2 ;MAKE WORD COUNT UNSIGNED BYTE COUNT
ASL R5 ;COMPUTE REAL SECTOR NUMBER
ASL R5 ; AS BLOCK*4
MOV (PC)+,R4 ;LOOP COUNT FOR 8 BIT DIVISION
.BYTE -7,-26. ;COUNT BECOMES 1, -26 IN HIGH BYTE FOR LATER
4$: CMP #26.*200,R5 ;DOES 26 GO INTO DIVIDEND?
BHI 5$ ;BRANCH IF NOT, C CLEAR
ADD #-26.*200,R5 ;SUBTRACT 26 FROM DIVIDEND, SET C
5$: ROL R5 ;SHIFT DIVIDEND AND QUOTIENT
INCB R4 ;DECREMENT LOOP COUNT
BLE 4$ ;BRANCH UNTIL DIVIDE DONE
MOVB R5,R1 ;COPY TRACK NUMBER 0:75, ZERO EXTEND
ADD R4,R5 ;BUMP TRACK TO 1-76, MAKE SECTOR<0
MOV R1,R4 ;COPY TRACK NUMBER
ASL R1 ;MULTIPLY
ADD R4,R1 ; BY
ASL R1 ; 6
6$: SUB #26.,R1 ;REDUCE TRACK NUMBER * 6 MOD 26
BGT 6$ ; TO FIND OFFSET FOR THIS TRACK, -26:0
MOV R1,TRKOFF ;SAVE IT
BR 8$ ;GO SAVE PARAMETERS AND START
Первый опыт использования плагина был именно таким :). Есть в наличии подборка образов (не помню как у меня оказалась) не стандартных размеров и учитывая что их можно сделать плагином не удивлюсь их появлению в дальнейшем (вопрос Titus http://zx-pk.ru/showpost.php?p=562930&postcount=147), и зачем тратить время на сжатие расжатие?
Это кончно флуд, но извините, мне эта ситуация начинает напоминать как на рубоарде выкладывали образы СД а потом набежали пионэры и давай выкладывать по трекам, не обращая внимания на то что нарезать образ на треки легко, а собрать из треков образ иногда уже и не возможно.
Это я к тому, что на образе только что сделанном с дискеты в секторах unused могут быть интересные файлы которые можно восстановить.
Patron, Заранее большое спасибо!!!!
Titus, А с дискеты загрузка? Тут ведь, понимаешь, какая закавыка, меня игры не интересуют. ;-)
Titus, пока погряз в 8" дискетах.
Относительно вариантов записи на 8" дискеты есть такая информация:
Код:There are several formats available for 8" floppy discs.
RX01: This is the single density original IBM format, with 128 bytes
per sector, 26 sectors per track, using tracks 1 through 76. (Track 0
was reserved for an IBM directory, and has been uselessly wasted ever
since!) The sector headers and the data are both written in single
density. The number of blocks available with RX01 formatting is 494.
RX02: This was DEC's modification to increase storage space. This
format still uses 26 sectors per track, tracks 1 through 76, but each
sector, while still having its header written in single density, writes
its data in double density. This doubles the available space for data
to 988 blocks.
RX03: When double-sided discs and drives became available, DEC did not
move up to them, though other manufacturers leaped for them.
Unfortunately this has led to two different formats, as there was no
standard!
Mark I: With this format, the disc is utilized in such a manner that
side zero is exactly the same as an RX02 floppy (blocks 0 through 987),
then blocks 988 through 1971 are on the other side of the floppy in the
same positions as the corresponding block (less 988) on side zero. This
has the advantage that a single-sided controller can still read the
first half of these discs.
Mark II: [I only recently learned of the existence of this format via
Billy Youdelman in the USA, who sent me some apparently unreadable
discs! This format has been allowed for in version 4 of DYC] This
format alternates heads on each track before moving to the next track:
ie starts at track 1, head 0, then goes to track 1, head 1; then track
2, head 0, track 2 head 1 and so forth.
It is interesting that the initial directory blocks in these two formats
are in exactly the same position on the disc, so you cannot tell which
format a disc was written in by examining the directory: you have to
look at one of the files stored further along the disc.
В приложении - исходник драйвера DY из РАФОС с поддержкой двусторонних дисковКод:The actual DEC RX02 dual floppy disk drive and the M8029 controller
for the Qbus did not have hardware support for double sided diskettes.
In addition, starting with V5.00 (if I remember correctly), DEC removed
the extra code that was in the DY.MAC file from V4.00 that supported
double sided hardware. So if you really want to see the code for a double-
side floppy drive which is RX02 compatible, that is a good starting point
(i.e. V4.00 DY.MAC from DEC - around 1980). Note however that
the 1980 DY.MAC file probably has a bug or two in the double-sided
code since I don't think DEC ever implemented an RX03. As far as I
know, the M8029 probably supported an RX03 (maybe the one from
that plotter company). In the digital interfaces handbook from 1980
at the very top of page 615, BIT 9 is the head select bit and can select
the head to be used for double sided operation. DSD hardware uses
the same bit.
( исходник содержит ошибки, делающие невозможным создание и использование драйвера DY для двусторонних дисков ).
...
02.01.2013 - Выложена исправленная и дополненная версия плагина: RT-11dsk.wcx.v01.06
Изменения:
1. Добавлена поддержка "шифрованных" образов односторонних дисков DX и DY.
2. Теперь при просмотре и копировании текста из него удаляются все нулевые байты.
3. Улучшен алгоритм опознавания текстовых файлов.
4. Исправлен алгоритм перекодирования меток дисков при помещении в список файлов образа.
...
03.01.2013 - Выложена исправленная версия плагина: RT-11dsk.wcx.v01.06a
Изменения:
1. Исправлен режим просмотра двоичных файлов, нарушенный в версии v01.06
...
04.01.2013 - Выложена исправленная версия плагина: RT-11dsk.wcx.v01.06c
Изменения:
1. Исправлен режим просмотра текстовых файлов, нарушенный в версии v01.06a
...
Нельзя ли сделать поддержку в плагине формата ПРОС от Электроники-85? Или хотя бы подскажите, что это за формат, и как его разобрать на файлы.
На прилагаемом диске игрушки от Электроники-85.
Методика самая дурацкая: запустил xhomer с P/OS, подключил образ как дискету, скопировал файлы на "винчестер", а винчестер прошника преобразоввывается в обычный образ простым откусыванием первого блока, после чего можно в обычном эмуляторе подключать как диск или монтировать в RSX как виртуальный диск.
Позже если не лень будет посмотрю как он блоки перемешивает на дискетах, тогда можно будет конвертилку сделать.
А где в этих файлах стартовый адрес, и что известно про их структуру?
Подробное описание есть в Task Builder Manual. Там есть формат заголовка.
Тогда считайте еще, пожалуйста, вот эти игры:
В данном случае первые два блока - заголовок файла, третий - заголовок задачи (он же начало программы с адреса 0), стартовый адрес видим в адресе 16(8) этого блока. Думаю, большинство игр уложится в эти рамки - вряд-ли там есть программы с большим заголовком.
Код:>TYP TEST.MAC
.TITLE TEST
.MCALL QIOW$,DIR$,EXIT$S
QIOW: QIOW$ IO.WVB,5,1,,,,<BUFF,BUFL,40>
START:: MOV #START,R1
MOV #BUFF,R0
MOV PC,R2
CALL $CBOMG
DIR$ #QIOW
EXIT$S
BUFF: .ASCII /XXXXXX/
BUFL = .-BUFF
.END START
>MAC TEST=TEST
>TKB TEST=TEST
>RUN TEST
001304
>DMP TI:=TEST.TSK
Dump of DU1:[FORM]TEST.TSK;20 - File ID 1116,13,0
Virtual block 0,000001 - Size 512. bytes
000000 000000 000000 026226 000000 000000 001777 001777 000020
000020 000020 000000 000401 000014 000101 000161 000003 000031
000040 000000 000000 000000 000000 000000 000000 000000 000000
000060 000000 000000 000000 000000 000000 000000 000000 000000
000100 000000 000000 000000 000000 000000 000000 000000 000000
000120 000000 000000 000000 000000 000000 000000 000000 000000
000140 000000 000000 000000 000000 000000 000000 000000 000000
000160 000000 000000 000000 000000 000000 000000 000000 000000
000200 000000 000000 000000 000000 000000 000000 000000 000000
000220 000000 000000 000000 000000 000000 000000 000000 000000
000240 000000 000000 000000 000000 000000 000000 000000 000000
000260 000000 000000 000000 000000 000000 000000 000000 000000
000300 000000 000000 000000 000000 000000 000000 000000 000000
000320 000000 000000 000000 000000 000000 000000 000000 000000
000340 000000 000000 000000 000000 001304 000000 000000 000002
000360 000002 000006 000005 000000 000000 000000 000000 000000
000400 000000 000000 000001 000000 000000 000000 000000 000000
000420 000000 000000 000000 000000 000000 000000 000000 000000
000440 000000 000000 000000 000000 000000 000000 000000 000000
000460 000000 000000 000000 000000 000000 000000 000000 000000
000500 000000 000000 000000 000000 000000 000000 000000 000000
000520 000000 000000 000000 000000 000000 000000 000000 000000
000540 000000 000000 000000 000000 000000 000000 000000 000000
000560 000000 000000 000000 000000 000000 000000 000000 000000
000600 000000 000000 000000 000000 000000 000000 000000 000000
000620 000000 000000 000000 000000 000000 000000 000000 000000
000640 000000 000000 000000 000000 000000 000000 000000 000000
000660 000000 000000 000000 000000 000000 000000 000000 000000
000700 000000 000000 000000 000000 000000 000000 000000 000000
000720 000000 000000 000000 000000 000000 000000 000000 000000
000740 000000 000000 000000 000000 000000 000000 000000 000000
000760 000000 000000 000000 000000 000000 000000 000401 000000
Dump of DU1:[FORM]TEST.TSK;20 - File ID 1116,13,0
Virtual block 0,000002 - Size 512. bytes
000000 054523 000000 054523 000000 054523 000000 054523 000000
000020 044524 000000 046103 000000 000000 000000 000000 000000
000040 000000 000000 000000 000000 000000 000000 000000 000000
000060 000000 000000 000000 000000 000000 000000 000000 000000
000100 000000 000000 000000 000000 000000 000000 000000 000000
000120 000000 000000 000000 000000 000000 000000 000000 000000
000140 000000 000000 000000 000000 000000 000000 000000 000000
000160 000000 000000 000000 000000 000000 000000 000000 000000
000200 000000 000000 000000 000000 000000 000000 000000 000000
000220 000000 000000 000000 000000 000000 000000 000000 000000
000240 000000 000000 000000 000000 000000 000000 000000 000000
000260 000000 000000 000000 000000 000000 000000 000000 000000
000300 000000 000000 000000 000000 000000 000000 000000 000000
000320 000000 000000 000000 000000 000000 000000 000000 000000
000340 000000 000000 000000 000000 000000 000000 000000 000000
000360 000000 000000 000000 000000 000000 000000 000000 000000
000400 000000 000000 000000 000000 000000 000000 000000 000000
000420 000000 000000 000000 000000 000000 000000 000000 000000
000440 000000 000000 000000 000000 000000 000000 000000 000000
000460 000000 000000 000000 000000 000000 000000 000000 000000
000500 000000 000000 000000 000000 000000 000000 000000 000000
000520 000000 000000 000000 000000 000000 000000 000000 000000
000540 000000 000000 000000 000000 000000 000000 000000 000000
000560 000000 000000 000000 000000 000000 000000 000000 000000
000600 000000 000000 000000 000000 000000 000000 000000 000000
000620 000000 000000 000000 000000 000000 000000 000000 000000
000640 000000 000000 000000 000000 000000 000000 000000 000000
000660 000000 000000 000000 000000 000000 000000 000000 000000
000700 000000 000000 000000 000000 000000 000000 000000 000000
000720 000000 000000 000000 000000 000000 000000 000000 000000
000740 000000 000000 000000 000000 000000 000000 000000 000000
000760 000000 000000 000000 000000 000000 000000 000000 000000
Dump of DU1:[FORM]TEST.TSK;20 - File ID 1116,13,0
Virtual block 0,000003 - Size 512. bytes
000000 000000 000172 140356 147100 000527 000527 170017 001304
000020 001254 000000 000000 000000 000000 000000 000000 000000
000040 000000 140172 000126 000000 000000 000000 000000 000000
000060 000000 000000 000000 000000 000000 000170 000006 052504
000100 000001 052504 000001 052504 000001 052504 000001 044524
000120 000000 046103 000000 000001 114024 000000 001777 000000
000140 000020 000003 000600 007406 001116 000013 000000 147100
000160 140356 000000 100077 000000 000000 000000 000000 000000
000200 000000 000000 000000 000000 000000 000000 000000 000000
000220 000000 000000 000000 000000 000000 000000 000000 000000
000240 000000 000000 000000 000000 000000 000000 000000 000000
000260 000000 000000 000000 000000 000000 000000 000000 000000
000300 000000 000000 000000 000000 000000 000000 000000 000000
000320 000000 000000 000000 000000 000000 000000 000000 000000
000340 000000 000000 000000 000000 000000 000000 000000 000000
000360 000000 000000 000000 000000 000000 000000 000000 000000
000400 000000 000000 000000 000000 000000 000000 000000 000000
000420 000000 000000 000000 000000 000000 000000 000000 000000
000440 000000 000000 000000 000000 000000 000000 000000 000000
000460 000000 000000 000000 000000 000000 000000 000000 000000
000500 000000 000000 000000 000000 000000 000000 000000 000000
000520 000000 000000 000000 000000 000000 000000 000000 000000
000540 000000 000000 000000 000000 000000 000000 000000 000000
000560 000000 000000 000000 000000 000000 000000 000000 000000
000600 000000 000000 000000 000000 000000 000000 000000 000000
000620 000000 000000 000000 000000 000000 000000 000000 000000
000640 000000 000000 000000 000000 000000 000000 000000 000000
000660 000000 000000 000000 000000 000000 000000 000000 000000
000700 000000 000000 000000 000000 000000 000000 000000 000000
000720 000000 000000 000000 000000 000000 000000 000000 000000
000740 000000 000000 000000 000000 000000 000000 000000 000000
000760 000000 000000 000000 000000 000000 000000 000000 000000
Dump of DU1:[FORM]TEST.TSK;20 - File ID 1116,13,0
Virtual block 0,000004 - Size 512. bytes
000000 000000 000000 000000 000000 000000 000000 000000 000000
000020 000000 000000 000000 000000 000000 000000 000000 000000
000040 000000 000000 000000 000000 000000 000000 000000 000000
000060 000000 000000 000000 000000 000000 000000 000000 000000
000100 000000 000000 000000 000000 000000 000000 000000 000000
000120 000000 000000 000000 000000 000000 000000 000000 000000
000140 000000 000000 000000 000000 000000 000000 000000 000000
000160 000000 000000 000000 000000 000000 000000 000000 000000
000200 000000 000000 000000 000000 000000 000000 000000 000000
000220 000000 000000 000000 000000 000000 000000 000000 000000
000240 000000 000000 147100 000002 000000 000000 006003 011000
000260 000005 000001 000000 000000 001336 000006 000040 000000
000300 000000 000000 012701 001304 012700 001336 010702 004767
000320 000104 012746 001254 104377 012746 000463 104377 054130
000340 054130 054130 020127 003554 103403 012746 021012 000435
000360 012746 011012 000432 012746 000065 012746 001261 104377
000400 103412 122737 000000 000046 001406 012746 025012 000415
000420 012746 025412 000412 012746 031010 000407 012746 031410
000440 000404 042701 177400 012746 015010 005702 001002 042716
000460 001000 012602 004567 000132 110205 105002 000302 006202
000500 103005 005701 100003 005401 112720 000055 010004 006002
000520 006002 006003 105003 150203 105002 152702 000060 010100
000540 010501 004767 000130 020127 000011 101402 062701 000007
000560 060201 010146 105303 003412 005700 001006 005702 100006
000600 005703 100002 042702 000020 004767 177724 112624 010400
000620 000207 010446 010346 010546 016605 000006 004736 012603
000640 012604 012605 000207 010046 012746 000021 005000 006000
000660 006001 103002 066600 000002 005316 003371 000415 012746
000700 000020 010146 005001 006300 006101 020116 103402 161601
000720 005200 005366 000002 003367 022626 000207 000000 000000
000740 000000 000000 000000 000000 000000 000000 000000 000000
000760 000000 000000 000000 000000 000000 000000 000000 000000
*** EOF ***
>
Думаю остальное обсуждение (если будет) лучше переместить в тему про RSX, она недалеко - недавно в нее писали :)
Напишу сюда так как содержится ссылка на сорцы проги которая читает FILES-11 - вдруг да... :)
PUTR умеет читать FILES-11. Без подкаталогов правда, но на дискетах вряд-ли кто-то устраивал их.
А за компанию утилитка для виндовса которая конвертит PROшный RX50 образ в человеческий.
если выходной файл не указан конвертится оригинал.Код:usage: dzcvt.exe [-o outfile] infile
Потому что нефиг менять настройки McAfee просто так потому что захотелось ;)
Никто другой (включая McAfee с обычными [и даже усиленными в меру] настройками) ничего не находит.
Прилагаю сорцы для MinGW если хочется самому собрать :)
Лучше сделать это самостоятельно - очень уж муторно цеплять к эмулятору, потом доставать оттуда файлы (а putr у меня не запустить ибо x64) :)