Ona ta mechanika mela jeste jednu zvlastnost a sice ze nepouzivala optickou branu pro nulty sektor (tak je/bylo zvykem kdekoliv jinde). Tahle uspora znamenala, ze (krome nachazeni nulteho sektoru softwarovou cestou, podle toho co nacetla z diskety), ze se musely otacky kalibrovat (byl tam na to trimr), aby mechanika cetla disketu spolehlive.
Ale zase to melo malou vyhodu ze se daly pouzivat i hardsektorovy diskety (nemely jen jednu diru/otacku, ale tolik kolik mela mit sektoru na stopu) bez zadnyho omezeni (aby ne, kdyz mechanika tu diku/ty dirky vubec neresila).
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.
Zdravím a děkuji za spoustu detailů.
Jinak na 3,5" mechaniku jsem koukal (Commodore 1581), ta je ale cenově zcela mimo můj záběr. Aktuálně mi to na eBay našlo jediný kus, cena 10500 + 1500 dopravné z USA. Když jsem koukal dříve, tak myslím, že tam byly nabídky začínající i nad 20000,-. To je za pouhou mechaniku opravdu příliš.
Jinak si myslím, že dobově ta 5,25" sedí k osmibitům lépe. Třiapůlek mám dost na novějších strojích :-) Neříkám tím, že by se mi nelíbila :-D
Tak tak... Ono ani ta SW kompatibilita není, naprostá většina programů si do disku nahraje svůj probram (M-W a pak M-E příkazy na serial lince, nebo ty sofistikovanější pošlou "I" (init) a využijou toho, ze sector 18,0 zůstane na adrese $0400 a jen M-E kódu na nevyužitých bytes BAM, čímž se pár sekund ušetří).
A proto ta blbá kompabilita - většina věcí s ní nejela. Fungují jen věci co používají ROM.
Sběratelé, co to koupí a jen tak si to suší ve šjajzu bych pověsil za ... víš za co a víš kam :) Jednou jsem takovou sbírku viděl. Šilenost. A tenhle magor byl schopnej předražit myš třeba za 5 tisíc. Pak člověk nemá šanci si něco pořídit...
P.
Kde jsou ty doby kdy jsme s kamaradem na jeho C128 (umela mod C64) hrali hry pro dva, treba Bubble Booble, a on to spoustel z te disketove mechaniky. Ja jsem mel ZX s kazetakem, tak jsem si u nej pripadal jak v budoucnosti :)
Měl jsem ZX Spectrum a vždycky jen kazeťák. Bylo to hrozně nepohodlné, hlavně při programování. Ukládat pořád na kazetu bylo nepříjemné a byla to hrozná otrava, která zdržovala.
Vlastně jsme měli jen jediného kamaráda Radima s disketovkou D40 a strašně jsme mu ji záviděli. Všechno tam bylo hned, uložit z Promethea (assembler) aktuální program trvalo pár sekund. Byl to nedostižný sen, ke kterému jsem se pak dostal až s přechodem na PC.
Radim měl dokonce k té D40 připojenou ještě druhou mechaniku, takže mohl krásně kopírovat z jedné diskety na druou. V té druhé mechanice měl běžně strčenou disketu s nápisem „Harddisk“, na které měl ty nejpoužívanější nástroje jako Prometheus, správce souborů Koza (?) a další. Dělat na něčem takovém pak byla radost.
Neměla D40 také SNAP tlačítko? Tj. možnost uložit aktuální obsah paměti na disketu? Skvělá vychytávka.
Jinak jak jsem zmínil, tak my také doma bojovali s kazetou. Teda na Atari a továrním magnetofonu. Výhody to mělo - cena média, jeho dostupnost, snadnost kopírování a poměrně dost se na jednu kazetu vešlo. Ta manipulace ale byla otrava.
Díky tomu mne ani neláká rozchodit SW na kazetách, byť mám k Atari shodou náhod už dvě XC12, a tu první jsem i zrepasoval (nové gumičky pohonu). Ke Commodoru jsem ani o datasetu neuvažoval. A ani tyto komponenty nemají čestné místo doma na výstavce, jen si polehávají zabalené v krabici ve skládku. To 1541 má místo hned vedle Commodoru na poličce. A je to zábava na tom něco zkoušet.
Já naopak na pásky nedal dopustit. Oblíbené u mne bylo ukládání dat po blocích do souborů, které se pak sekvenčně načítaly.
Dodnes si pamatuji, jak jsem na IQ-151 s Minigrafem kreslil mapy: jednotlivé části (kontinenty) a jednotlivá zobrazení byly kusy kódu, ze kterých se skládal výsledek. Na kazetě bylo vždy namluvené, co následuje ("Afrika", "Bonneovo zobrazení", atd...), takže se to nechalo docela dobře hledat - následovalo pištění, které přidalo do programu řádky DATA nebo kus kódu. ;oD
Naposledy jsem před asi 10 lety z kazety nahrával programy do kamarádova ZX-Spectrum, ovšem nahrané jako audio do PC. Protože ten záznam byl letitý, byly v něm lupance a gapy, které jsem opravoval domalováním od ruky v Audacity
- a šlo to. ;oD
Ale zase si člověk toho přepsaného kódu vážil. Minimálně do vypnutí počítače. (To byla pakárna :-)
A pak taky bylo nahrávání programu z televize/radia. To když se podařilo zaznamenat bez chyb a spustit, to byl zázrak.
Jako kuriozitku vzpomenu, že v některých časopisech byly nahrané programy na deskách pro vinylové gramofony. Akorát místo vinylu byly z tenkého plastu a zvládly pouze pár přehrání, než se obrousily.
Pohledem na dnešní NVMe disky a SD karty si říkám, že jsem zvědavý, k čemu se dopracujeme za dalších 35 let.
Přehřívání disketovky jsem řešil malým stolním větrákem namířeným na žebrování na její zadní části. Po cca 15-20 minutách hraní Test drive to byla nutnost, jinak si člověk nezahrál .
Freespin
Pán připojil linku Data přes odpor do monitoru.
a ... tramtadadá C64 již není potřeba.
https://www.youtube.com/watch?v=zprSxCMlECA
Ano, bude zmíněno v dalších částech seriálu. Původně jsem to chtěl odzkoušet osobně, ale nevyšel mi na to čas. A hlavně pán z videa to probírá velmi pěkně, tak už bych jen duploval jeho hotovou práci.
Jinak opravdu zajímavý nápad. Zneužít sériovou linku jako videovýstup a motor pohonu jako zvukový doprovod - velmi nápadité využití HW mechaniky.
Díky za výlet do historie. Většina informací je pro mě nová i po těch letech, protože, jak píšete, disketová mechanika byla strašná vzácnost a navíc každý jsme měli doma jinou platformu, co se komu podařilo sehnat... Já se k práci s diskovými soubory dostal na Atari 130XE až díky panu Richterovi a jeho geniálnímu TTDOS, který vyrobil virtuální disketové jednotky v ramdisku. Jen si pak člověk musel dát pozor, aby včas zazálohoval na skutečnou kazetu než vypne počítač :)
Jinak si pamatuji, že kamarád s C64 k němu měl taky nějaký firemní dataset, podobně jako bylo XC12 k Atari. Zato ke Spektru se připojovalo téměř cokoli - pamatuju, jak jsem u známého valil oči na kotoučový magnetofon s hrami na Spektrum... My s tím kamarádem pak zkoušeli vlastní přenos po kabelu mezi Atari a C64. Rychlost byla mizerná, neměli jsme žádné zkušenosti (bylo nám 14), ale ten pocit překonání propasti mezi platformami! :)
Co nás to všechno spolehlivě naučilo, bylo programování na papíře nebo přepisování programu z papíru (3D cos jsem přepisoval taky! :) ), protože s kazetou bylo každé kolečko pokusného překladu snad na půl hodiny a ještě s velkým rizikem přepsání nějakého souboru omylem...
Ano ano, i pro C64 byl firemní dataset. Nicméně ten nevlastním. Možná jej časem pořídím pro doplnění sady, ale nehodlám jej používat. Shodou náhod mám k Atari už dvě XC12, ale ke kazetám se vracet nechci, těch jsem si užil v dětství dost, a lovení programů na páskách není zrovna ten nostalgický pocit, ke kterému se chci vracet :-) Nehledě na to, že bych musel pořídit nějaký rekordér, na kterém bych ty kazety vytvářel.
Nicméně pár kazet nyní pro Atari mám, asi je budu muset aspoň zkusit.
Zajímavé, to já naopak k nahrávání z kazet mám nostalgii silnou. Známý tón zavádějící hlavičky s charakteristickým poměrem a velikostí horizontálních pruhů, krátké zobrazení názvu programu (většinou hry ;)) a pak několik minut těšení na zobrazení nahrávané hry. Že by dopaminový efekt? :)
PS: Nebyla přenosová rychlost z kazety v TURBO 2000 (2400 baudů) nebo v TURBU Univerzal (u mne 4800 baudů) vyšší než tovární přenosová rychlost disketové mechaniky na C64?