SDROM
Vervanging voor Atom DOS door Kees van Oss en Charlie Robson (SirMorris).

Om de SDROM als een file systeem op een SD-kaartje te gebruiken heeft u de volgende componenten nodig:

  • Een Acorn Atom met geheugen op #2000 - #24FF
  • SD-kaartje interface, een interface met een SD-kaartje socket.
  • SD-kaartje , min 128 mB capaciteit is voldoende om 1023 Atom-DOS-disc images op te slaan.
    Note: niet alle SD-kaartjes kunnen worden gebruikt. Ik testte verschillende merken en het Scandisk 2 gB kaartje werkte prima.
  • De SDROM is een utility ROM voor de Acorn Atom om disk images op een SD-card te bewaren.
    Om disk images op een SD-card te bewaren, heeft u een interface nodig die werkt met de VIA of met een adres op #B400 (PL8).
De disk images zijn toegankelijk met de standaard Atom DOS commando's. De SDROM bestaat uit twee delen:
  • Software voor het SD-kaartje dat de disk-image handelingen en commando's verzorgt
  • Software voor afhandeling van Atom DOS compatibele commando's.

De SDROM start door SDDOS in te toetsen op de commando regel. Een lijst van de beschikbare commando's wordt op het scherm getoond door *DHELP in te toetsen op de commando regel.

Parameters:

    <drv>  Drive nummer (0 to 3)
    <dno> Disk nummer (0 to 1022, De geheugen capaciteit van de SD-card moet minimaal 128 Mb bedragen)
    <dnf>  Disk Naam Filter specificaties, b.v. de eerste letter van de disk naam

Parameters tussen haakjes zijn optioneel.
Note: Als disk titels spaties bevatten moeten die tussen haakjes staan.
SD-CARD INTERFACE:

De SDROM werkt met de AtoMMC interface op PL8. Het schema voor gebruik met de VIA ziet u hieronder. Deze SD kaart interface is een PCB dat op PL6/7 is bevestigd.


SD-CARD FORMAT:

Voordat de SD-kaart kan worden gebruikt moet hij worden geformatteerd op een speciale manier. Dat kan op twee verschillende manieren die hieronder beschreven staan:

  1. Start een programma op de Atom om het SD kaartje te formatteren.

     10 REM FORMAT SD-CARD
     20 REM ONLY FOR SDROM2.2!
     30
     40 DIM A(17)
     50 R=#F9;REM RWPTR
     60 T=#84;REM SECTOR
     70 L=#AE87;REM SD-SECTOR-W
     80
     90 $A="                ";REM 16 SPACES
    100 A?15=#F0
    110
    120 SDDOS
    130
    140 P.$12"SD-FORMAT V1.0"''
    150 F.S=0TO31
    160  P."FORMAT SD-SECTOR:"S$13
    170  IF S<>0;G.200
    180   !#2300=-1;!#2304=-1
    190   $#2308="SDDOS   ";REM 3 SPACES
    200  F.J=0TO15
    210   IF S=0 AND J=0;G.230
    220    $(#2300+J*16)=$A
    230  N.
    240  !R=#2300;!T=S
    250  LINK L
    260 N.
    270 P.'
    280 END

  2. Kopieer een sector-image op het SD-kaartje met een PC programma zoals HexWorkshop of DD.
    Een kopie van een sector-image kunt u hier vinden.

    Een klein, python script kunt u hier vinden dat bestaat uit 100k Atom disk images en maakt een een bruikbaar sector-image. De instructie staan in het script.
    Indien u niet over een Python interpreter beschikt, staat hier een Windows Script versie met dezelfde functie.
De COMMANDO'S:

 

  SDDOS

 

Opent het SD-card Operating System.

 

  *DOS

 

Opent het standaard Atom Disk Operating System.

 

  *COS

 

Opent het standaard Atom 300 baud Cassette Operating System

 

COMMANDO'S OM DISK-IMAGES OP DE SD-KAART OP TE SLAAN:

 

  *DIN <drv>,<dno>

 

Plaats de betreffende disk in de drive.

Voorbeeld: *DIN 0,23

 

Note: een disk kan niet in meer dan in een drive op hetzelfde moment aanwezig zijn. bijv. als Disk 200 in Drive 0 zit, en de

gebruiker typt in *DIN 2,200 , Disk 200 zal dan in Drive 2 zitten, and "No Disk" zal in Drive 0 melden.

 

  *DCAT <from dno>,<to dno> (,<dnf>)

 

Lists de geformatteerde disks in volgorde van disk nummer.

Een optionele Disk Naam Filter kan aangegeven worden.

Bijvoorbeeld: *DCAT 10,20,G toont alle (geformatteerde) disks met nummers van 10 tot

20 waarvan de disk titel begint met "G":

 

  12 GAMES 1       P

  19 GAMES 2       P

  21 GAMES 3       P

 

DISKS FOUND:    3

 

Note: "P" nadat de disk titel aangeeft dat de disk beveiligd is "read-only", en het aantal disks

dat voldoet aan de specificatie die is aangegeven onderaan de lijst.

 

  *DDISKS

 

List de drives ed welke disks aanwezig zijn "inserted" en de status ervan.

Bijvoorbeeld: *DDISKS

 

0:    2 GAMES 1        P

1:  127 DATABASE       P

2:    -

3:    -

 

  *DPROT <dno>

 

Beveiligt een disk zo dat de data slechts gelezen kan worden (read-only).

Bij voorbeeld: *DPROT 123

 

  *DUNPROT <dno>

 

Heft de beveiliging van de disk zo dat er weer op geschreven kan worden.

Bijvoorbeeld: *DUNPROT 123

 

  *DFREE

 

Toont het aantal ungeformatteerde disks, en het totaal aantal geformatterde en ongeformatterde disks.

Bijvoorbeeld: style="font-size: 12pt; font-family: 'Courier New';">*DFREE

 

 1019 OF  1023 DISKS FREE

 

  *DKILL <dno>

 

Markeert een disk als ongeformatterd.

Bijvoorbeeld: *DKILL 483

 

KILL DISK:

  483 JUNK DISK      P :(Y/N) Y

 

NB: Dit commando verandert geen data op het disk -oppervlak- en kan ongedaan gemaakt worden door *DRESTORE.

 

  *DRESTORE <dno>

 

Markeert een eerder ongeformateerde disk als geformatteerd.

Bijvoorbeeld: *DRESTORE 483

 

  *DNEW <drv>

 

Vind de eerste ongeformatteerde disk, formatteerd die en plaatst die in aangegeven drive.

Bijvoorbeeld: *DNEW 0

 

DISK   100 IN DRIVE 0

 

  *DFORM <dno>

 

Formatteerd de aangegeven ongeformatteerde disk. Dit vergelijkbaar met *DRESTORE maar een lege catalogus wordt naar de disk geschreven "surface".

 

  *DONBOOT <drv>,<dno>

 

Geeft aan welke disks aanwezig zijn in de drives 0 to 3 als de SDROM is geinitializeerd.

Bijvoorbeeld: *DONBOOT 0,23

 

  *DHELP

 

Toont de catalogus met *-commando van de disk-images op de SD-card

 

ATOM DOS COMMANDS:

 

  *CAT <drv>

 

Toont de catalogus. De eerste regel toont de titel van de disc an de geldende qualifier. De filenamen worden getoond in volgorde van de, met '#' dat aangeeft dat het file is beveiligd (locked). De catalogue wordt gelezen als er op een disk iets wordt veranderd, anders wordt het van de catalogus verwijderd. buffer (at #2000).

 

  *DELETE <filenaam>

 

Wist het genoemde file.

 

  *DIR <drv>

 

Leest de catalogus van de disc in de buffer toont die niet.

 

  *DRIVE <drv>

 

Selecteert de drive nummer zonder de catalogue te tonen

 

  *INFALL

 

            Toont de informatie van alle files op de disk. Het format is hetzelfde als *INFO

 

 

  *INFO <filenaam>

 

            Toont de informatie van het genoemde file. Het format is:

 

     qualifier lock  filenaam load    executie   lengte    start

               state          adres     adres   in bytes  sector

 

     s:           #   BASIC    C000     C2B2      00100     002

 

  *LOAD <filenaam> <loadaddress>

 

Laad het genoemde file. Het file wordt in het geheugen geladen op <loadaddress>, of op het start adres van het file indien geen specifiek adres aanwezig is.

 

  *LOCK <filenaam>

 

Beveiligd het file. Beveiligde files kunnen niet worden gewist of worden bijgewerkt.

 

  *MON

 

Zet de mededelingen aan. De volgende file operaties print de file's informatie in het format van *INFO.

 

  *NOMON

 

Zet de mededelingen uit

 

  *RUN <filenaam> <string>

 

Laad en runt het genoemde file, gebruikmakend van het start en executie adres <string> in het geheugen is gezet op #0100 en wordt met een CR afgesloten, waar het kan worden gevonden door het gegebruikers programma.

 

  *SAVE <filenaam> <startaddress> <eindaddress> <linkaddress>

 

Maakt een file aan. De inhoud van het geheugen van <startadres> tot <enidadres>-1 worden bewaard als het genoemde file. Als een file met de zelfde naam reeds bestaat, met dezlefde qualifier, wordt dit gewist. De adres <linkadres> is an optioneel executie adres and it defaults als <startadres> als dat niet vermeld wordt.

 

  *SET<qual>

 

Bepaald de qualifier voor alle volgende operaties op files naar <qual>. Operaties op bestaande files zullen slechts zoeken onder die files die onder dezelfde geldende qualifier. De default qualifier is spatie. Als u terug gaat naar de default qualifier, dan moet u een spatie invoeren na het SET commando.

 

  *TITLE <txt>

 

Bepaalt de titel van de disc tot the eerste 13 lettertekens van het file.

 

  *UNLOCK <filenaam>

 

Unlocks het genoemde file

 

  *USE<qual>

 

Zet tijdelijk de qualifier op <qual>. Het systeem gaat terug naar de vorige qualifier na de volgende succesvolle operatie. Twee op elkaar volgende USE commando's komen overeen met een SET.

 

  *<filenaam> <string>

 

Laad en runt genoemde file, met gebruik van het start and executie adres. <string> wordt ingevoerd in het geheugen op #0100 met een afsluitende CR, waar het kan worden gebruikt door het gebruikers programma.