mandag 5. juni 2017

RC2014 CP/M Installasjon

Dette er et innlegg relatert til RC2014, og vil mer eller mindre være mine egne notater relatert til konfigurasjon og installasjon av operativsystemet CP/M ved bruk av Compact Flash som lagringsenhet. For mer informasjon om hva CP/M er for noe samt systemkrav se innlegget RC2014 CP/M.

CP/M Installasjon

Som allerede nevnt i det forrige innlegget så skal vi her installere systemet på Compact Flash istedenfor disketter, mer eller mindre fordi disse fortsatt eksisterer i noen tilgjengelig form. Selvsagt får vi ikke brukt hele kapasiteten fullt ut i og med at 128 MB tross alt er eventyrlige størrelser for et system designet i en tid da disketter var på 8 tommer og hadde en kapasitet fra 80 KB til rundt 500 KB, gitt begrensningene i filsystemet så kan hver enhet maksimalt være på opptil 8 MB.

På selve CF-kortet vil vi få opprettet et sett med 8 MB disker, hver med sin egen stasjonsbokstav. I utgangspunktet så er kortet jeg mottok på 128 MB, men i praksis så var det litt mindre enn som så og jeg fikk dermed ikke brukt hele kapasiteten - uansett, begrenset til 64 MB så får man fortsatt enorme disker hele veien fra A til H!

Dette gjorde samtidig at jeg selvsagt ikke fikk brukt den ferdiglagde img-filen tilgjengelig på github fra skaperen av RC2014. Dette betyr at jeg må gjøre alt grunnarbeidet selv, mer moro å gjøre det på denne måten uansett - de stegene jeg brukte er for det meste basert på arbeidet Grant Searle gjorde da han i utgangspunktet designet utgangspunktet for det som etter hvert inngikk i programvaresiden av RC2014.

Første steg

Det første man må gjøre før man kan komme i gang med installasjonen... er å irritere seg over at seriell-modulens basis i 68B50 kretsen involverer et totalt fravær av flyt-kontroll! Det dette vil si er at den ikke er i stand til å gi beskjed dersom maskinen vi sender data fra, men heller bare kræsjer i stillhet uten å si stort - når man tar til etterretning av at laptopen min har en regnekraft som rundt gjettet ligger i skalaen 500 000 ganger kraftigere så sier det seg selv at dette skjer FORT.

For å komme rundt dette trenger vi en seriell-programvare som er i stand til å legge inn pauser mellom hver bit av data som sendes, dette er dessverre støttet i et fåtall av dem og kunne dermed ikke bruke PuTTY til dette. Endte opp med å benytte meg av en prøve utgave av SecureCRT, men dette er profesjonell programvare ment for alt annet enn småprosjekter og prisen er deretter så tror ikke jeg kommer til å betale inngangsprisen for denne etter evaluerings-perioden som heldigvis er lang nok til å få fullført installasjonen (fant senere ut at Tera Term også fungerer, helt åpen og uten en prislapp) - innstillingene jeg brukte er vist nedenfor til venstre.


Med det unna veien er man klar til å starte selve installasjonen, dersom alt er satt opp rett vil man ikke få opp BASIC lenger ettersom ROM-brikken med denne installert på nå ligger på roterommet et sted - du vil nå få opp CP/M bootloader slik vist ovenfor til høyre. Dersom denne ikke dukker opp, rykk tilbake til start - det vil si RC2014 CP/M.

Installasjonsfiler

Dette burde kanskje vært det første steget, men nå til dags har alle raske Internett-linjer så rekkefølge betyr ikke noe lenger. Med mindre man har Telenor, da må man vente litt lenger (true story).

Grant Searle laget som allerede nevnt den opprinnelige maskinen og har også satt sammen det meste av det som trengs av programvare - disse finner du på hans hjemmeside! Ikke les så nøye på alt annet som står der, det er altfor interessant til å klare å unngå å bli værende  - dessuten så vil det gjøre det absolutt åpenbart at jeg på dette tidspunktet bare oversetter det som står der (i det minste er jeg ærlig). Dersom jeg senere ikke eksplisitt sier hvorvidt filene kommer fra RC2014 eller Grant Searle, så er det sistnevnte jeg refererer til!
RC2014 har som allerede nevnt en annen brikke for håndtering av seriell trafikk, med andre ord vil vi måtte substituere filer med innhold tilpasset maskinvaren. Disse filene finner du på githup-repositoriet for RC2014:

Formatering av Compact Flash

CP/M kan selvsagt ikke lese filsystemer oppfunnet nesten 20 år sender, langt mindre dagens versjoner som tross alt annet snart er 40 år nyere. Med andre må kortet formateres med noe helt annet enn hva Windows tilbyr via sine tidvis amputerte menyer, heldigvis har Grant Searle skrevet rutiner for å gjøre dette direkte på maskinen.

Gitt at vi skal bruke et kort på 64 MB, eller på annen måte blir tvunget til det, så starter man med å overføre programvaren for dette mens man står inne i CP/M bootloader. Fra nedtrekksmenyen Transfer innenfor SecureCRT velger du alternativet "Send ASCI..." og angir filen form64.hex (form128.hex ved større kort). Konsollet vil printe ut prikker etterhvert som at programvaren lastes over, dersom denne låser seg eller at programvaren etterpå ikke kan kjøres - juster opp mengden forsinkelse ved overføring i klienten. Kort oppsummert, overfør følgende filer:

  • form64.hex (form128.hex ved større CF-kort)


Når man får opp "Load complete" så er programvaren lastet opp, angitt innad i filen er informasjon om at informasjonen vil være skrevet til minne på adressen $5000 og oppover. For å kjøre programmet på denne adressen angir du kommandoen G5000, dersom alt gikk bra så vil du få en utskrift slik som vist i bildet ovenfor - her vil du også se stasjonsbokstavene som vil være tilgjengelig senere.

Installasjon av CP/M

Jeg plagdes en del med dette steget, jeg tror grunnen til dette var at programmet for å formatere lagringsenheten fortsatt var i minnet - derfor anbefaler jeg å nullstille maskinen nå (det vil si koble fra strømmen) for å være sikker på at minnet nå er tomt!

CP/M installeres ved å laste over et nytt sett filer på samme måte som tidligere, men legg merke til at her skal to av filene substitueres med de som tilhører RC2014. Følgene filer lastes over, sjekk at det står "Load complete." etter hver overføring. Følgende filer skal lastes over:
  • cpm22.hex (RC2014)
  • cbios64.hex (RC2014, cbios128.hex ved større CF-kort)
  • putsys.hex
Med disse tre filene på plass i minnet, så er vi klar til å kjøre installasjonsprogramvaren - denne er igjen plassert på adressen $5000 så vi skal dermed igjen gi kommandoen G5000. Gitt at alt går som det skal så skal du få beskjeden "System transfer complete" - se skjermbilde nedenfor til venstre.


Nå skal systemfilene være på plass, trykk på reset-knappen for å bli kvitt eventuelle rester av installasjonsprogramvaren. Trykk på X fulgt av Y, gitt at nå får noe slikt som det vist ovenfor til høyre - så kan man ikke gjøre annet enn å ønske deg velkommen til CP/M!

Støtteprogrammer

Moro ikke sant? Ikke det? Det har nok en del å gjøre med at vi ikke har noe programvare å leke med, heller ikke noen måte å få de overført heller. Dette har også Grant Searle ordnet med, men for å gjøre det så må vi tilbake til CP/M bootloader så trykk på reset-knappen igjen!

Overfør følgende fil på samme måte som tidligere:
  • download2.hex
Dette vil ha lagret et program til minneadresse $FFE8, gi kommandoen GFFE8 for å kjøre dette. Maskinen vil nå i full fart gjøre en del omkalfatring før man forhåpentligvis igjen er tilbake i CP/M. Du kan nå lagre det nedlastede programmet til disk ved å gi kommandoen SAVE 2 DOWNLOAD.COM.


Dette vil nå ha lagret et program på A som vi kan benytte for å senere motta programmer uten å være nødt til å hoppe mellom systemene slik vi nettopp gjorde. Med DOWNLOAD.COM på plass så kan vi nå sende over programmer ved å lime dem inn i terminalen, i og med at vi fortsatt mangler grunnleggende kommandoer for å arbeide filer og lignende så er det en god ting.

Grant Searle har inkludert disse andre støtteprogrammene i en separat fil, filen CPM211FilesPkg.txt plassert i transientAppsPackage-katalogen. Du kan potensielt sett denne over på samme måte som tidligere, men slet med at denne ikke fungerte - endte opp med at innholdet ble listet ut i terminalen fremfor å bli lagret. Løste dette ved å laste dem over, en etter en ved å kopiere de tre tilhørende linjene til hver av dem - dette ser ut som noe slikt som følger:
A:DOWNLOAD LOAD.COM
U0
:C3400220434F505952494748542028432920313937382C204449474954414C2052455345...

Med litt tålmodighet så er alt straks på plass, og alt det som en grunninstallasjon av CP/M hadde å by på står nå til rådighet for deg. Du kan opprette filer, redigere dem og alt slikt - alt man kunne komme til å trenge fra en datamaskin. Selvsagt ingen Facebook, men ingen trenger egentlig Facebook...

Ingen kommentarer:

Legg inn en kommentar