Díky za článek, Jen drobné upozornění - pokud vím, tak autostart z diskety C64 neumí vůbec, to není chyba tohoto zařízení. Kromě toho je dobrý příkaz Load"*",8, který načte první program na disku, což obvykle bývá ten spustitelný
Co se fastloaderů týče, těch existovalo velké množství, některé vyžadovaly i HW úpravu. Kdysi jsem různé loadery testoval, nejrychlejší mi vyšel Dolphine DOS s rychlostí cca 8kB/s, což je na osmibit neskutečné.
Podrobnosti zde: https://switch2mac794093770.wordpress.com/2019/05/08/rychlosti-disketovych-jednotek-pro-commodore-c64/
No, nevim jestli to je nekde v clancich vysvetleno ale je rozdil mezi load ,8,1 a ,8. To ",1" znamena ze se program nahraje do pameti kam patri - ma to ulozeno v hlavicce. Bez te jednicky se nahraje na zacatek pameti pro BASIC (coz je adresa $0801). S autostartem to souvisi tak ze je mozne dat do hlavicky takovou adresu ze prepise ty spravne vektory takze se program spusti sam. Viz treba https://www.pagetable.com/?p=568 - kapitola Autostart.
Ale je pravda ze narozdi od nahravani z kazety stiskem dvou klaves pro disketovku nic takoveho neni bez nejakeho cartridge typu FC III. Fakt je potreba napsat treba LOAD"*",8,1 na to, aby se nahral prvni program na diskete a pripadne se sam spustil.
16. 6. 2022, 12:36 editováno autorem komentáře
Nojo, uz to tam vidim, tak sorry za zbytecny sum :-) Kazdopadne to je dalsi psani par znaku navic, ktere melo byt default, neznam moc pripadu z praxe kdy by clovek nechtel chovani ktere dela ",1" - pokud je to program patrici na $0801 nahraje se tam stejne a pokud ne tak nema smysl ho tam nahravat, jen si clovek prepise co nechce a stejne to nebude fungovat.
Tipuju ze je to tak kvuli nejakym rozsirenim basicu ktere se nahraji na $0801 a po spusteni se navesi na basic vektory a posunou zacatek basicoveho programu za svuj konec. To by pak nahrani basicoveho programu s ,1 prepsalo ten basic extender, ale kolik takovych bylo? Vetsina z nich se spis nakopirovala na $8000 jako cartridge a posunula spis konec basicu dolu. To melo jeste vyhodu ze reset tam ten BASIC zachoval v RAM jako by to byl cartridge (diky CBM80 signature na zacatku $8000).
Hmm nebo by to chovani ,8 mohlo pomoct kdyby do C64 nekdo nahraval BASIC program z jineho pocitace (VIC-20?) kde mozna basic program zacina jinde? Pokud to teda vubec jde a ma sanci fungovat.
Není třeba se omlouvat. Na tuto otázku odpověď neznám, bohužel jsem nenašel k tomu nějak moc podrobností, jen tuhle zmínku, co ten parametr znamená. U Atari 800 je podobná alternativa - tam zase některé programy vyžadují stisknutí klávesy při startu počítače, která zabrání nahrávání Basicu - používá se to tam, když aplikace potřebuje ušetřit paměť. Takže jestli to tu není taky jako forma vynuceného využití paměti. Zase na druhou stranu proč, když si ten program může stejně potřebnou adresu vyžádat...
Poslední možnost je zajímavá myšlenka, teoreticky C64 je schopné spustit BASICové programy z VICa. Jenže by byl problém s příkazy PEEK a POKE, tedy těmi, které počítají s konkrétními adresami HW, který je ale mezi počítači naprosto nekompatibilní. To by musel být opravdu velmi jednoduchý program.
Hoj, radší nebudu říkat nic okolo, nebo to zdejší cenzor neunese a smaže bez udání důvodu (a na čínu se nadává :)
Je rozdíl mezi "*" a ":*" etc.
* nahraje _posledni_ použitý soubor, pokud je disk po resetu, tak _prvni_
:* nahraje vzdy _prvni_ PRG soubor
Proto nemusi * fungovat, ale :* ano. A jak funguje * po vymene diskety je celkove zvlastni, mam pocit, ze pouziva proste posletni t/s z disku. Ale to nevim jiste.
Jinak :* je vlastne zasupny zapis pro 0:* kdyz na to prijde.
P.
16. 6. 2022, 10:36 editováno autorem komentáře