Commodore tumpelo-opas

Tämän pikaoppaan tarkoitus on auttaa aloittelevaa käyttäjää vanhojen Commodore-koneiden ihmeelliseen maailmaan. Tarkoitus olisi kerätä ihan perusjuttuja laitteiston käytöstä, joilla pääsee alkuun. Pieni muistinvirkistys tekee hyvää myös vanhoille guruille, jotka ovat koskeneet koneisiin viimeksi toistakymmentä vuotta sitten.

[Kasettiasema]  [Levykeasema]  [Kirjoitin]

Kasettiasema (Commodore C2N, 1530, 1531, Load-It ym.)

Kasettiasema, tuo nauhaa pyörittävä ihmekone, joka on jäänyt mysteeriksi nykyiselle CD-sukupolvelle. Itse asiassa se on eräs yksinkertaisimmista C= lisälaitteista, mistä johtuen sen käyttö vaatii hieman enemmän käyttäjältä. Jotta kasetilta voisi ladata mitään, täytyy tietää oikea kohta kasetilta nauhalaskurin avustuksella tai on tiedettävä ladattavan tiedoston nimi. Pelikaseteissa riittää, että kasetti on kelattu alkuun, eli kaikki nauha on vasemmanpuoleisella kelalla.

Commodoren vakiokasettiasemat ottavat virtansa keskusyksiköltä, joten yksi kaapeli laitteiden välille riittää. Ihmetystä saattaa tosin aiheuttaa keskusyksikköön sopivan liittimen kyljestä roikkuva noin vaaksan mittainen punottu metallijohto, jonka toisessa päässä on pyöreä ruuvinalusliitin. Johto on maadoitusjohto, alkuperäisenä siinä on mukana lappu, jossa teksti: "Important: This ground cable is for use in USA only - to comply with FCC regulations." Tätä johtoa ei tarvitse kytkeä mihinkään ja useammat ovatkin katkoneet sen liittimen juuresta poikki jotta se ei aiheuttaisi vahingossa koneen takana oikosulkua. Vanhan mantereen puolella ei tarvitse välittää amerikkalaisista säännöksistä.

Keskusyksikkö pystyy pysäyttämään kasettiaseman moottorin latauksen jälkeen, sekä tunnistamaan play näppäimen painalluksen. Normaalin latauksen yhteydessä kuusnelosen kuvaruutu sammutetaan latauksen ajaksi toiminnan tehostamiseksi. VIC:illä koneen teho riittää näytön päällä pitämiseen.

LOAD

Pelkkä LOAD komento olettaa seuraavia asioita: käytetään kasettiasemaa (laitenumero 1) ja ladataan seuraava kasetilta löytyvä ohjelma muistiin. Komennon jälkeen pyydetään käyttäjään painamaan play näppäintä, jonka jälkeen aletaan etsimään ohjelman alkua. Sen löydyttyä ohjelman nimi näytetään hetken aikaa ruudulla ja lataus jatkuu. Valmistuttuaan lataus pysähtyy ready ilmoitukseen jolloin ohjelma voidaan käynnistää RUN komennolla.

LOAD"nimi"

Hienostuneempi muoto LOAD komennosta, joka etsii nimen mukaista ohjelmaa kasetilta ja lataa sen muistiin jos se löytyy ennen kasetin loppumista. Etsiminen on yhtä hidasta kuin kasetilta lataaminen, joten suositeltavampi tapa on pitää kirjaa nauhalaskurin avulla ohjelmien oikeasta alkamiskohdasta. Tavallinen ruutupaperi on tehokkain nauha-arkiston hallintajärjestelmä. Kasetin kansilehti käy nopeasti pieneksi ja sotkuiseksi.

LOAD"nimi",1,1

Erikoistapaus, joka etsii ja lataa nimen mukaisen konekieliohjelman kasetilta oikealle paikalle koneen muistiin. Tarvitaan ladattaessa sellaisia konekieliohjelmia, joiden alussa ei ole yksirivistä BASIC käynnistintä SYS komennon muodossa. Ohjelman aloitusosoite on tiedettävä, jotta ohjelman saisi latauksen jälkeen käyntiin SYS komennolla.

SHIFT + RUN STOP

Näppäintoiminto, joka lataa seuraavan kasetilta löytyvän ohjelman ja käynnistää sen automaattisesti RUN komennolla. Tällä näppäilyllä pääsee yleensä käynnistämään normaalit pelikasetit. Eli shift näppäin pohjaan ja painetaan run stop näppäintä, jolloin kuvaruudulle ilmestyy LOAD komento ja jäädään odottamaan kasettiaseman play näppäimen painallusta.

Levykeasema (Commodore 1540, 1541, 1541-II, 1551, 1570, 1571 ym.)

Levykeasema on älykkyydeltään verrattavissa itse tietokoneeseen. Se pystyy itsenäisesti joihinkin levyoperaatioihin ja se ylläpitää automaattisesti jokaiselta levykkeeltä löytyvää sisällysluetteloa. Tästä johtuen levykkeiden käyttö on helpompaa ja nopeampaa kuin kasettien käyttö. Tosin Commodoren levykeasemat ovat tunnettuja hitaudestaan. Väitetään että ruohon kasvu on nopeampaa kuin Commodoren levykeaseman käyttö, joten levyturbon käyttö on enemmän kuin suositeltavaa. Levyturbo on pienikokoinen konekielirutiini, joka ladataan ennen varsinaisen isokokoisen ohjelman lataamista muistiin. Se nopeuttaa levykkeeltä lataamista moninkertaisesti. Useimmat kaupalliset pelit käyttävät latauksessa omia levyturbojaan. Levyturbon löydät esim. [Suomen Commodore-arkisto - C-64 Levyapuohjelmat] sivulta.

Commodore 1541 ja 1570 levykeasemat käyttävät levykettä ainoastaan toiselta puolelta, joten levyke on käännettävä jos haluaa hyödyntää sen molempia puolia. Tämä vaatii omaa käännettävää levyketyyppiä, tai sitten kirjoitussuojakolon askartelemista myös levykkeen toiseen laitaan. Levykkeet olivat aikoinaan suhteettoman kalliita, joten tätä konstia käytettiin yleisesti. Tosimiehet käyttivät jotain terävää työkalua ja hienostelijat ostivat erityisen disk notcherin. Nykyisistä korpuista poiketen lerpulle voi kirjoittaa kun kolo on auki, suojauksen saa päälle peittämällä kolon läpinäkymättömällä teipinpalalla.

Commodore 1571 levykeasema pystyy käyttämään levykkeen molempia puolia automaattisesti, jolloin kääntämistä ei tarvita paitsi jos käyttää vanhojen asemien kanssa yhteensopivaa formaattia. Levykkeen on oltava DD (Dual Density) tyyppinen, HD (High Density) levykkeitä ei kannata yrittää käyttää niiden vaatiman suuremman kirjoitusvoimakkuuden takia. Vinkkinä toimimattomalle levykkeelle on pyyhkiä se IBM-yhteensopivalla koneella jollain tyhjennysohjelmalla ja kokeilemalla sen jälkeen uudelleenformatointia Commodoren asemalla.

Commodoren tiedostojen nimet koostuvat enimmillään 16 merkistä, jossa ei saa olla kertomerkkiä (*), kysymysmerkkiä (?), pilkkua (,) eikä kaksoispistettä (:). Tiedostotyypin tarkenninta ei liitetä tiedoston nimeen, vaan se määritellään erikseen tiedoston luontivaiheessa. Yleisin tyyppi on ohjelmatiedostoilla PRG. Muita tyyppejä ovat peräkkäistiedostot SEQ, suhteelliset tiedostot REL ja käyttäjän tiedostot USR. Sulkemattomien tiedostojen tyypin alussa on *-merkki ja lukittujen tiedostojen lopussa <-merkki.

Levykettä pystyy myös käsittelemään suoraan lohkotasolla satunnaissaantitiedostona BLOCK-READ, BLOCK-WRITE, BLOCK-EXECUTE, BLOCK-ALLOCATE ja BLOCK-FREE komennoilla, mutta nämä ovat harvinaisempia erikoistapauksia.

LOAD"$",8

Lataa levykkeen hakemiston muistiin josta sen saa näkyville LIST komennolla. Tuhoaa aikaisemmin muistissa olleen ohjelman, joten mitään kätevää se ei ole. Apuohjelmilla pystyy katsomaan hakemiston ilman, että ohjelma tuhotaan muistista. Hakemistolistauksesta ilmenee levykkeen nimi, ID-numero, levykkeen formaatti "2A", ohjelmien nimet ja koot sekä levykkeellä vapaana oleva tila. Tiedostojen koot ilmoitetaan blokkeina jotka ovat noin neljänneskilotavun kokoisia (tarkalleen 254 tavua, koska kaksi ensimmäistä tavua kertoo seuraavan uran ja sektorin numeron).

LOAD"nimi",8

Lataa nimen mukaisen ohjelman levykeasemalta, jonka laitenumero on oletuksena 8. Muita vaihtoehtoja vakioasemilla ovat 9, 10 ja 11. Ohjelman pitäisi käynnistyä RUN komennolla tai sitten se on ladattava ,1 parametrillä. Koko nimeä ei tarvitse kirjoittaa, vaan loppuosan voi korvata tähdellä *.

LOAD"nimi",8,1

Lataa konekieliohjelman levykkeeltä. Ohjelma joko käynnistyy automaattisesti tai ohjelman käynnistysosoite on tiedettävä ja annettava SYS komennolla. Useimmiten tiedoston nimessä oleva numerosarja, esim. 49152 on tämä tarvittava osoite. Toisio-osoitteena käytetään yleensä numeroa 1 mutta se voi olla mikä tahansa kokonaisluku väliltä 1-14.

LOAD"*",8,1

Lataa ensimmäisen ohjelman levykkeeltä. Tätä muotoa käytetään yleensä pelilevykkeiden kanssa, joilla ensimmäinen ohjelma käynnistää varsinaisen pelin latausohjelman.

1 OPEN 15,8,15
2 INPUT#15,A,B$,C,D
3 PRINT A;B$;C;D
4 CLOSE 15
RUN

Levykeaseman virheilmoituksen lukeminen komentokanavan (15) kautta. Jos levykeaseman punainen valo alkaa vilkkumaan, virheen syy löytyy yllä olevalla ohjelmanpätkällä. Ensimmäinen tulostuva numero on virheen numero, merkkijono on virheen nimi ja kaksi viimeistä numeroa ovat mahdolliset ura ja sektorinumerot, joilla virhe tapahtui. Jos kaikki on kunnossa, ohjelma palauttaa arvon "0 OK 0 0". Heti levykeaseman käynnistämisen jälkeen tulostetaan virhe 73 jossa näkyy levykeaseman tyyppi ja sen käyttöjärjestelmäversio. esim. "73 CBM DOS V2.6 1541 0 0"

OPEN 15,8,15,"N0:LEVYN NIMI,ID":CLOSE 15

(NEW + ID) Alustaa levykkeen ja antaa sille nimen ja ID-tunnuskoodin. Komennot ja parametrit voi antaa open-käskyn perässä lainausmerkeissä, ensimmäinen merkki on lyhennetty komennon nimi ja numero nolla joka tarkoittaa kyseisen levy-yksikön ensimmäistä asemaa, joka yksiasemaisilla on aina nolla. Levykkeen nimi voi olla korkeintaan 16 merkkiä ja tunnuskoodi 2 merkkiä. Tunnuskoodi kirjoitetaan alustettaessa kaikkien sektorien otsikkolohkoihin. Tunnuskoodin pitäisi periaatteessa olla erilainen kaikilla levykkeillä, jotta levykeasema huomaa levykkeen vaihtumisen. Kopiosuojauksissa käytetään joskus erilaisia tunnuskoodeja. Alustaminen kestää noin 80 sekuntia ja operaation alussa kuullaan perinteinen kirjoituspään pärinä rajoitinta vasten, jolla varmistetaan että levykkeen urat tulevat kohdalleen ja levykeaseman säädöt menevät ajan myötä pieleen. Suositeltavampaa olisi käyttää jotain pika-alustusohjelmaa, joka hoitaa hommansa murto-osassa ajasta ja ei yritä saada asemaa pois säädöistä.

OPEN 15,8,15,"N0:LEVYN NIMI":CLOSE 15

(NEW) Jo alustetun levykkeen nopea alustus ilman tunnuskoodia. Tyhjentää ainoastaan tilanvaraustaulukon ja hakemiston alun.

OPEN 15,8,15,"I0":CLOSE 15

(INITIALIZE) Levykeaseman alustaminen, jolloin päivitetään aseman muistiin levykkeellä oleva nimi, tunnuskoodi ja tilanvaraustaulukko. Olisi suositeltavaa antaa, ennen kuin levykkeelle aiotaan kirjoittaa uutta tietoa, jotta tilanvaraustaulukko ei sotkeentuisi. Tällä autetaan levykeasemaa huomaamaan levykkeen vaihtuminen, varsinkin jos tunnuskoodi on sama peräkkäisillä levykkeillä.

OPEN 15,8,15,"V0":CLOSE 15

(VALIDATE) Tarkistaa tiedostojen käyttämät lohkot vapauttaen virheellisesti varattuja lohkoja esim. sulkemattomien tiedostojen jäljiltä. Ei suorita levykkeen pinnan tarkistusta vaan keskeytyy mahdollisiin lukuvirheisiin. Tätä komentoa ei saa käyttää levykkeillä, joilla on satunnaissaantitiedostoja jotka varaavat levyn lohkoja suoraan ohi kirjanpidon.

OPEN 15,8,15,"S0:NIMI":CLOSE 15

(SCRATCH) Tiedoston poistaminen levykkeeltä. Poistaa tiedoston hakemistosta ainoastaan nollaamalla tiedoston tyypin, joten tiedosto on palautettavissa sopivalla apuohjelmalla. Tiedoston nimessä voi käyttää jokerimerkkejä ? ja *, myöskin tyypin mukaan voi poistaa esim. S0:*=SEQ poistaa kaikki sarjasaantitiedostot.

OPEN 15,8,15,"C0:NIMI 2=0:NIMI 1":CLOSE 15

(COPY) Kopioi nimi 1 tiedoston samalle levykkeelle nimi 2 nimiseksi. Ei voi käyttää kopiointiin levykkeeltä toiselle.

OPEN 15,8,15,"R0:UUSI NIMI=VANHA NIMI":CLOSE 15

(RENAME) Tiedoston nimen muuttaminen. Vanha nimi muutetaan uudeksi nimeksi.

Kirjoitin (Commodore 1515, 1520, 1525, DPS nnnn, MPS nnnn ym.)

Kirjoittimen käyttäminen vaatii käytännössä aina ohjelmointia. Edes kuvaruututulostuksia ei saa ilman sopivaa apuohjelmaa paperille. Kirjoitin kytketään samaan sarjaväylään levykeaseman kanssa, tästä johtuen molemmissa on yleensä kaksi sarjaliitintä. Kytkentäjärjestyksellä, kumpi on lähempänä keskusyksikköä, ei ole merkitystä.

OPEN 4,4:CMD 4:LIST:CLOSE 4

Tulostaa muistissa olevan ohjelman listauksen kirjoittimelle. CMD komento ohjaa kaiken kuvaruudulle tulevan tekstin laitteelle 4 avattuun tiedostoon.

OPEN 4,4:PRINT #4,"tekstia paperille":CLOSE 4

Tulostaa print lauseen tekstin paperille. Tekstin joukkoon voi lisätä kirjoittimen tuntemia ohjauskomentoja, jotka muotoilevat tekstin esim. lihavoiduksi.

© Niila T Rautanen 2003

[Takaisin]