Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
Hlavní navigace

Názor k článku Druhé zastavení u počítače Commodore 64: disketová mechanika 1541-II od Pivson - Ad to kopírování... Ono se pomocí těch VIA...

  • 21. 5. 2024 9:11

    Pivson

    Ad to kopírování... Ono se pomocí těch VIA fyzicky řídil krokovej motor, který se dal posunout i mimo klasicke alignování tracků a pod. To také využívala řada ochran. Pak také bylo poměrně běžně dělání tvz. "paralel" kabelu, kdy se nevyužitá port jedné VIA spojil s CIA na C64 (8 bitů na USER portu) a serial se pak používal pouze jako SYNC. Přenosová rychlost tedy vzrostla více než řádově (asi 25x). Kvůly vyšší rychlosti načítání se také sektory fyzicky ukládali po offsetu 10, protože jak se jeden přečetl a dekódoval/přenesl, tak se k hlavě zrovna přibližoval fyzicky ten na druhé "půlce". Řada turboloaderů také zmenšovala počet bajtů na 0xE0 aby si zjendodušila GCR decoding (0x100 bajtů pouze potom) - nepřelázala přez stránku (cykl CPU navíc). Dneska je už také udělán GCR on the fly, kdy se dekóduje GCR při čekání na bajty. To dost zvedne, o dost, rychlost čtení. Naprostá většina loaderů (i CBS DOS) načte GCR, dekóduje a pošle.

    V C64 není 6502 ale 6510, kterýžto má jeden zásadní rozdíl, poměrně důležitý v tomto kontextu :) 6510 má nabíc jednu 8mi bitovou (6 vývodů) bránu, kterou C64 používá k ovládáná mem overlayů a kazeťáku.

    Nicmene - zásadní rozdíl je ale v pinu SO, který 6510 *nemá*. Na tomto pinu, při fall hraně dojde k setu V příznaku CPU, takže se dá použít k velmi rychlé (lépe to na tom CPU už ani nejde :) synchronizaci s HW.

    Kód teda vypada takto:

    ...
    CLV
    BVC *
    ...

    Za BVC jsme teda se zpožděním maximalně 4 cyklů od hrany signálu.

    Proto by se 6510 fungovat nemohla. Kontrétně zde se to používá k detekci SYNC, tj. 10 bitů na jedničce.

    O drajvu by se toho dalo napsat, zajímavých věcí tu je povícero ("multitask" JOBů v ROM etc...).

    Pivson

    PS: Commodore také udělal 3.5" mechaniku a také stála za to :) Pár jsem jich opravoval, je to také zvláštní počin.