Jiiira píše:
No, zatím jsem nenašel formátovací program, který by mi tu uspokojivě fungoval... Ten z Hobety taky nefunguje, teď už si nevzpomínám proč, ale mně tu nefunguje ani Hobeta, tak se asi není čemu divit...
Používal jsem ho v DOSu na PC se 150MHz Pentiem, pokud to zkoušíš v novějších Windows než 9x, tak opravdu fungovat nemusí.
Jiiira píše:
zxcygnus píše:
Ale pro přenos celých TRD imagů doporučuju svůj
http://cygnus.speccy.cz/popis_siftrd.php , je to mnohem praktičtější, data se dají posílat i z Linuxového PC s USB-RS232 redukcí, není potřeba disketová mechanika v PC atd... (na druhou stranu, je potřeba SIF u ZXS).
Ten program vypadá pěkně
rozhodně mě zaujal, tak příležitostně můžu ten SIF vytáhnout a zkusit... ale co na straně PC, musí tam být Linux?
Na straně PC může být cokoli, co dokáže přes správně nastavenou RS232 poslat syrová data. V Linuxu to je extrémně snadné, ve Windows by to mělo jít taky snadno, ale nepoužívám, nemám vyzkoušené.
Jiiira píše:
Mimochodem, ještě by to chtělo (další) program na přenos těch souborů .$B, .$C - jak jsem říkal, Hobeta mi pod XP nefunguje, jen nakreslí screen, ukáže správně soubory v adresáři (levý panel), v pravém ukáže, že našla mechaniku A:, zdá se, že čeká na její potvrzení, ale na tom končí, dál se nic neděje, ať mačkám co mačkám...
Aha WXP ... zkus MS DOS, nebo FreeDOS, nebo W9x s DOSem, nejspíš bude problém s přístupem k hardwaru přes NT vrstvu.
Udělat program, který bude přijímat Hobetí soubory, je maličko složitější, počínaje tím, že musí data zpracovávat a ne je jen přijímat a ukládat. Taky je potřeba řešit víc věcí při práci s disketou, tedy pracovat se soubory, ne jen ukládat sektory jeden po druhém. Ale možné. A asi by to bylo užitečné, protože lepší způsob, jak z TRDOSu dostat jednotlivé soubory neznám.
Tady (
http://cygnus.speccy.cz/download/utilit ... 27.tar.bz2) mám utilitku, která dělá totéž na Linuxu, ale jen s TRD imagem. Snad funkční, už to je nějaký čas, co jsem to používal naposledy.
Jiiira píše:
A ještě úplně mimochodem - je někde popsaný formát těch souborů .$B, .$C ...?
Ano je. V souboru HOBETA.ZIP je HOBETA.TXT
Stahoval jsem odsud
http://worldofspectrum.org/hackersanon/ ... vg-h03.htmKód:
Структура 17-байтного заголовка, добавляемого к TR-DOSным
файлам программой HoBeta.exe:
00-07 - имя файла
08 - тип файла
09-0A - Start
0B-0C - Length
0D-0E - Length в 256-байтных записях (байт 0E - pазмеp в сектоpах)
0F-10 - Контрольная сумма
Таким образом, первые 14 байт копируются из TR-DOSовского каталога.
Вычиление контрольной суммы: S=S+257*Di+i, где
S начальное=0
Di - значение байта
i - порядковый номер байта (если не ошибаюсь, начиная с 0, а не с 1)
C src:
union {
struct {
unsigned char tr_filename[8];
unsigned char tr_filetype;
unsigned int tr_address;
unsigned int tr_length;
unsigned int tr_tr;
unsigned int tr_crc;
} tr_head;
unsigned char head[17];
} header;
unsigned int CheckSum;
int i;
CheckSum=0;
for (i=0; i<=14; CheckSum = CheckSum + (header.head[i] * 257) + i, i++);
header.tr_head.tr_crc = CheckSum;
Вот в одной из своих программок нашел такой забавный способ подсчета
контрольной суммы заголовка:
checksum=0;
for (i=0; i<=14; checksum+=(unsigned char)*(bufptr+i), i++);
checksum*=257;
checksum+=105;
bufptr, очевидно, поинтер на начало заголовка.
_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS