ZX klonų CP/M diskų žiūreklis

Atnešė diskelių kurie buvo rašyti su ZX klonu. Juos nuskaitėm su Greaseweazle, bet joks emuliatorius neleido paleisti CP/M iš disko kopijų. O ir šiaip, labai norėjosi ištraukti failus. Tačiau, nei vienas CP/M diskų analizatorius nematė failų- paprasčiausiai, mūsų “hakeriai” kai konstravo tą kastruotą CP/M kažką kitaip padarė. O “viešos” programos neleido modifikuoti disko sektorių struktūros.

Todėl teko pasirašyti nepilnai veikiančią programą:
CP/M ZX disk image browser
Diskai tai HD (80 takelių)*, 5 sektoriai takelyje (cilindre) ir 1024 baitai sektoriuje. Tačiau CP/M blokas yra 2048 baitų.

Dabartinė programa gali eksportuoti failus, tačiau kol kas nesugalvojau, kaip eksportuoti failus kurie surašyti kaip keli įrašai direktorijoje (failai didesnis nei 8*2048 baitai). Direktorija- 20 ir 21 sektorius.
Rodos pagal CP/M specifikacijas failo dydis aprašomas vienaip, tačiau mūsų “santakistai” kažkaip ignoravo tuos laukelius ir ten visur nuliai (arba aš dar nesupratau kaip). Taip pat kiek neaišku su failo ilgiu- CP/M rašo 128 baitų blokais, tačiau failai ne visada būna kartotini 128 baitams.
Svarbu, kad didžioji dalis unikalių failų išsitraukė.

Tačiau! Kitas žmogus atnešė irgi “santakos diskelių” su CP/M ir jie vėl kitokie! Gal vėliau išgaminsim ir jiems programą ir patobulinsim šią. Tačiau kiek pavargom, gal net keturis vakarus rašėm softą.

Nelabai tikiu, kad kam nors to reikia, bet programą CPMD galima nusikrauti.

*) Rašė kaip HD, bet dėl ubagystės dažnai naudojo DD diskelius. Todėl dabar jie sunkiai nusiskaito.

P.S.
Kai parašiau programą, atsiliepė vienas iš “ten” ir paaiškino kaip sukonfiguruoti jo programą darbui su šiais diskais. Programa vadinasi “Steinblume”.

13 replies on “ZX klonų CP/M diskų žiūreklis”

  1. Santakos/Baltik CP/M diskų formatas gali būt paimtas iš Robotrono SCP – CP/M tipo operacinės sistemos. Prieš 30 metų buvau pasirašęs programėlę šitiem diskam skaityt – ten tikrai buvo 1024 baitų sektoriai.

  2. Biški toliau žaidžiu. Turiu keletą diskelių su DISK MONITOR programa. Koks asilas taip sumakliojo sektorius diskelyje. Jau baiginėju atburti, tik bėda su snapšotais- jei Z80 PC registras snapšote bus ROMe, tai gali būti tikimybė, kad emuliatoriaus ROMas neatitinka to kompo ROMo, o ir INT/NMI bus teisingai interpretuota. Tačiau bandom toliau…

    programa zx disk-mon snapshot

  3. Labas, Levai, sektorių seka “išmaišoma” todėl, kad prisiderinti prie sistemos (kompiuterio ir FDD) realaus sugebėjimo juos apdoroti iš eilės, tada padidėja bendras nuskaitymo/įrašymo greitis. Tai vadinama “interleave”. (Ar aš ne taip supratau?)

  4. Taip, yra toks reikalas kaip “interleave”. Bėda tame, kad į patį fizinį sektorių įkoduojama ir “pusė” ir sektoriaus numeris. Ir toliau atsiburti koks sektorius ir kaip išmaišyta nėra problemų. Tačiau kol kas kiek suprantu, pas disk monitor įkoduoti sektorių numeriai nesutampa su loginiais numeriais.
    O štai TR-DOS variante nėra įkoduotas “pusės” numeris- abi pusės nulinės. Matyt kad originali TR-DOS ėjo vienpusiems 3″ diskams.

    Disk monitor sector skew / interleave:

    01:03:05:02:04::11:13:15:12:14 – disko pusės ir fiziniai sektoriai
    00:01:02:03:05::06:07:08:09:10 – loginiai blokai

    HH:??:AU:AL:BU::BL:CU:CL:AA:??- čia headeris, nežinomas, ekrano A, B, C dalys (Upper, Lower), AA- atributai. Taip ir atbūrėm. Bandymų keliu.

  5. Chemija: NileRed, Extractions&Ire, Explosions&Fire
    Betkas: Coddy’sLab, Applied Science, Adam Savage’s Tested, Huygens Optics
    Elektra: CuriousMarc, Usagi Electric, David Tipton, The Signal Path, Hamster Time, mikeselectricstuff
    Meistryste: AvE, Matthias Wandel, jimmydiresta, Keith Fenner, Дядько Максим, New Yorkshire Workshop, Clickspring, Keith Rucker – VintageMachinery.org, Der Splint, EngelsCoachShop

    ir panašiai

Leave a Reply

Your email address will not be published. Required fields are marked *