Commodore 1541

Commodore 1541 (eli CBM 1541, alkuperäiseltä nimeltään VIC-1541) on Commodoren valmistama 5¼" levykkeitä käyttänyt levykeasema, joka tuli myyntiin vuonna 1983. Se käyttää Commodoren omaa sarjakaapeliliitäntää, ja on yhteensopiva Commodoren 8-bittisten kotitietokoneiden kanssa, ja oli mm. Commodore 64:n käyttäjien keskuudessa suosittu levyasema.

Commodore 1541
Commodore64 fdd1541 front demodified.jpg
Tyyppi massamuistilaite
Valmistaja(t) Commodore
Tallennusmedia 170 KB levyke
Alusta Commodore 64

1541 käyttää kaksinkertaisen tiheyden (Double Density) levykkeitä yksipuolisena. Yhdelle levypuolelle voidaan tallentaa 170 kilotavua tietoa; kapasiteetti johtuu siitä, että levyn koodaustapana on Group Code Recording (GCR). Myös yhdelle uralle mahtuvien sektorien määrä vaihtelee 17–21 sen mukaan, miten kaukana ura on levyn keskustasta. Monesti kaksipuolisista levyistä kuitenkin käytännössä käytettiin molemmat puolet, koska levy toimi myös ympäri käännettynä.

Asema ei pysty lukemaan lainkaan CP/M:n MFM-koodausta käyttäviä levykkeitä. Tämä oli ongelman esim. Commodore 128:n kanssa, joka pystyy ajamaan CP/M-ohjelmia. Commodorella on myös MFM-koodausta tukeva levykeasema Commodore 1571 joka on myös yhteensopiva 1541:n kanssa.

1541:ssä on oma MOS 6502 -mikroprosessori ja 2 kilotavua RAM-muistia. Suoritin toimii sekä levykontrollerina että levyaseman käyttöjärjestelmän hoitajana: tämän ansiosta tietokonetta itseään ei tarvittu kaikkien levytoimenpiteiden tekemiseen, tietokonetta pystyi käyttämään pitkien levyoperaatioiden aikana (esimerkiksi levykkeiden alustus vei pitkän aikaa), eikä tietokoneeseen itseensä tarvinnut asentaa mitään ylimääräisiä laitteita tai muistiin ladata erillisiä apuohjelmia. Levykeaseman käyttöjärjestelmä tunnetaan nimellä CBM DOS 2.6.

Liitäntä on Commodoren oma sarjaliitäntä CBM-488. Tämä väylä otettiin käyttöön VIC-20:ssa korvaamaan Commodore PET -koneissa käytetty liian kallis IEEE-448-rinnakkaisliitäntä. Liittimenä on DIN-6. Commodoren dokumentit listaavat tiedonsiirron nopeudeksi 300 tavua sekunnissa.[1] Sarjaliitännän äärettömän hidas nopeus johtuu VIC-20-koneen aiemman Commodore 1540 -levyaseman 6522 VIA -UART-piirin bugista. Viallisen komponentin vuoksi asema joutui käyttämään ohjelmallista tiedonsiirtoa ja purkamaan tavut biteiksi ja siirtämään ne yksi kerrallaan. Ominaisuus säilytettiin 1541:ssa yhteensopivuuden vuoksi.

KäyttöMuokkaa

Commodore 64:ssa levykkeen hakemiston tarkastelu tapahtuu komennolla LOAD "$",8. Tämä lataa hakemiston BASIC-ohjelmien muistiavaruuteen (ja tuhoaa olemassa olevan ohjelman). Tämän jälkeen hakemiston voi listata komennolla LIST. Commodore BASIC 3.5 ja uudemmissa on myös komento CATALOG.

Tiedoston tallentaminen tapahtuu BASICistä avaamalla tiedosto ja kirjoittamalle sinne. Esimerkkikoodi: OPEN 3,8,4,"0:TIEDOSTO,SEQ,WRITE" avaa ja luo levykkeelle TIEDOSTO-nimisen SEQ-tyyppisen tiedoston.

OPEN-komennon parametrit ovat:

  • tiedoston numero (3), joka vastaa Unix-tyyppisen käyttöjärjestelmän tiedostokuvaajaa (File Descriptor, FD). Tämä on käyttöjärjestelmän tietorakenne joka ei välity levykeasemalle.
  • oheislaitteen numero (8). Ensimmäinen levykeasema on numero 8 ja toinen 9. Laitteet 0--3 ovat näppäimistö, kasettiasema, sarjaportti ja näyttö.
  • kommunikaatiokanava (4) tietokoneen ja levykeaseman välillä. Näin voidaan käsitellä useita tiedostoja samaan aikaan.
  • lainausmerkeissä on levykeasemalle lähettävä komentorivi. SEQ ja WRITE -parametrit voi myös kirjoittaa lyhyemmin S ja Q.

Tiedostoon voi kirjoittaa käskyllä: PRINT#3, "Terve maailma" Tiedosto on suljettava käskyllä: CLOSE 3.

Tämän jälkeen ohjelma:

10 OPEN 2,8,2,"0:TIEDOSTO,S,R"
20 INPUT#2, RIVI$
30 CLOSE 2
40 PRINT RIVI$

Lukee tiedostosta yhden rivin ja tulostaa sen.[2]

Levykeaseman käyttöjärjestelmälle pääsee antamaan komentoja käyttämällä komentokanavaa, joka on kommunikaatiokanava 15. Tämän avulla suoritetaan toimintoja kuten levykkeen alustaminen, tiedostojen poisto ja uudelleennimeäminen, kopiointi, aseman resetointi ja tiedostojärjestelmän tarkistus (vastaa CHKDSK/fsck-toimintoja muissa käyttöjärjestelmissä).

Tiedoston poisto levykkeeltä tapahtuisi komennolla: OPEN 15,8,15,"S0:TIEDOSTO":CLOSE 15.

DOS ja tiedostojärjestelmäMuokkaa

1541 ja sen levykäyttöjärjestelmä voi tallentaa levylle 144 tiedostoa. Järjestelmä ei tule alihakemistoja. Päähakemisto on tallennettu varatulle uralle 18, joka on noin levyn puolivälissä. Tiedoston nimi voi olla 16 tavua pitkä ja päättyy nollamerkkiin.

Tiedostoja on muutamia eri tyyppisiä:

  • SEQ on tavuvirta-tyyppinen (Unix-tyyppinen) tiedosto, jonka voi lukea alusta loppuun. Tiedostolla jossa ei ole sisäistä rakennetta.
  • PRG on ohjelmatiedosto. Tiedoston kaksi ensimmäistä tavua ovat osoite josta KERNALin rutiini aloittaa ohjelman suorituksen.
  • REL on rakenteinen tietokanta-tyyppinen tiedosto. Tiedostossa on indeksointimekanismi ja korkeintaan 254-tavuisia tietueita, joita voi ladata tiedoston eri kohdista.
  • USR tämä tyyppi on identtinen SEQ-tiedostojen kanssa. Alkuperäisenä tarkoituksena oli että nämä ovat levykeaseman levykäyttöjärjestelmän ohjelmatiedostoja.
  • DEL dokumentoimaton tyyppi, joita ei voi suoraan luoda.

Jos hakemistolistauksessa tiedoston tyypin edessä on *-merkki, se merkitsee että tiedostoa ei suljettu oikein tallentamisen yhteydessä ja se voi olla vioittunut. Jos tiedosto poistetaan se merkitään *DEL-tyyppiseksi ja sen tilan voi myöhemmin käyttää uusien tiedostojen tallentamiseen. <-merkki merkitsee että tiedosto on kirjoitussuojattu. Tälläistä tiedostoa ei voi poistaa ilman kolmannen osapuolen ohjelmaa.

Tilanvaraus tapahtuu BAM (Block Availability Map) -tietorakenteella. 1541 varaa yhden tavun tallentamaan kunkin uran sektorien määrän ja kolme tavua, jotka sisältävät bittikartan uran varatuista sektoreista. Jokaisesta tiedostolle varatusta 256 tavun sektorista varataan kaksi tavua osoittamaan seuraavaa tiedostolle varattua uraa ja sektoria.

OngelmatMuokkaa

1541:ssä oli myös ongelmia. Levyn lukupäiden kohdistus meni suhteellisen helposti pois paikoiltaan ja korjaaminen vaati huoltoa. Alkuperäisessä mallissa aseman tunnusnumeron muuttaminen oli suhteellisen vaikeaa, toimenpide oli kuitenkin tarpeellinen jos käytössä oli useita asemia. Asemassa on sisäinen virtalähde, mikä tuottaa runsaasti lämpöä (käyttäjien keskuudessa asemaa kutsuttiinkin usein leivänpaahtimeksi), tämä hankaloitti aseman sijoittelua.

 
Commodore 1541-II

Levyasemasta tehtiin paranneltuja malleja: 1541C (1986) oli vaaleanvärinen malli, joka sopi paremmin Commodore 64C:n ja Commodore 128:n väreihin. 1541-II (1988) oli pieni malli, jossa oli tehty useita teknisiä uudistuksia ja virtalähde oli ulkopuolinen.

Aiheesta muuallaMuokkaa

ViitteetMuokkaa

  1. ftp://www.zimmers.net/pub/cbm/schematics/drives/new/1571/manual/01.html
  2. muokattu esimerkistä. teoksessa Commodore-64 Data Files -- A BASIC Tutorial, David Miller, 1984, sivu 31