
Сообщение от
ivagor
Теперь бы еще с подряд записанными большими файлами на hdd разобраться.
Вот
образ для примера. Там в user 4 несколько больших файлов (плеер в эмуляторе не работает). Начиная с bach44.wav дурит.
А эти файлы записаны последним плагином? И в образ раньше чем с моими третьего дня правками?
Просто я думал, что проблема с "заворотом" на четвертом большом последовательно лежащем файле оттого, что не правильно работал плагин (нумеровал экстенты больших файлов в каталоге в "переполненной" с точки зрения BDOS форме) плюс порушенная мной для эксперимента разрядность EX в BDOS.
Иначе (если оно так и на неправленной мной BDOS), с ходу не понятно на что и думать.
- - - Добавлено - - -
В-общем попробовал на неправленном BDOS, "заворачивается" оно на группе с номером 2000h. Вместо группы 2000h читает группу 0000h (т.е. каталог). Такое ощущение, что в коде BDOS где-то делается "groupN and 1FFFh".
Какие будут мысли?
Код:
09 50 45 54-4C 59 41 20-20 54 58 54-07 00 00 80 ○PETLYA TXT• А
FE 01 FF 01-00 02 01 02-02 02 03 02-04 02 05 02 ■☺*☺ ☻☺☻☻☻♥☻♦☻♣☻
09 50 45 54-4C 59 41 20-20 54 58 54-0F 00 00 80 ○PETLYA TXT☼ А
06 02 07 02-08 02 09 02-0A 02 0B 02-0C 02 0D 02 ♠☻•☻◘☻○☻◙☻♂☻♀☻♪☻
09 50 45 54-4C 59 41 20-20 54 58 54-17 00 00 80 ○PETLYA TXT↨ А
0E 02 0F 02-10 02 11 02-12 02 13 02-14 02 15 02 ♫☻☼☻►☻◄☻↕☻‼☻¶☻§☻
09 50 45 54-4C 59 41 20-20 54 58 54-1F 00 00 80 ○PETLYA TXT▼ А
16 02 17 02-18 02 19 02-1A 02 1B 02-1C 02 1D 02 ▬☻↨☻↑☻↓☻→☻←☻∟☻↔☻
09 50 45 54-4C 59 41 20-20 54 58 54-07 00 01 80 ○PETLYA TXT• ☺А
1E 02 1F 02-20 02 21 02-22 02 23 02-24 02 25 02 ▲☻▼☻ ☻!☻"☻#☻$☻%☻
09 50 45 54-4C 59 41 20-20 54 58 54-09 00 01 4E ○PETLYA TXT○ ☺N
26 02 27 02-00 00 00 00-00 00 00 00-00 00 00 00 &☻'☻
- - - Добавлено - - -
Вот DPB этого раздела:
Код:
C3 30 00 00-00 00 00 00-00 00 02 00-40 00 00 04
//-------------------------------------------------------------------- Orion specific
jump: array [0..7] of byte;
PAGE1: byte;
PAGE2: byte;
LEN1: byte; // phisical sector size (1=256, 2=512, 3=1024)
LEN2: byte; // sides (density?) (0=one_side, 1=double_sided)
SEC: word; // phisical sectors per track
TRK: word; // phisical tracks on disk (one side)
00 01 07 7F-07 FD 07 FF-01 80 00 80-00 01 00
//-------------------------------------------------------------------- CP/M standard
SPT: word; // logical sectors (128) per track
BSH: byte; // Block Shift - Block Size is given by 128 * 2^(BSH)
BLM: byte; // Block Mask - Block Size is given by 128 * (BLM +1)
EXM: byte; // Extent Mask
DSM: word; // user space size in kb = SEC * (TRK-OFF) - (CKS/8)
DRM: word; // max quantity of file records (FCBs) in catalog
AL: word; // 16-bit Directory Allocation Pattern
CKS: word; // Directory Check Sum = catalog size (in logical blocks)
OFF: word; // system tracks
Думаю, в проверке нуждаются EXM и DSM