|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 15488 (0x3c80)
Types: TextFile
Names: »VERSA.RNO«
└─⟦398ae89d3⟧ Bits:30009789/_.ft.Ibm2.50007353.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »VERSA.RNO«
$#venstre240
$#højre1680
$#indryk120
$#linieafstand10
$#h/f-venstre216
$#h/f-højre1704
$#h/f-linieafstand10
$#hoved-højde50
$#fod-højde60
$#lige-margen0
$#sidenummer1
$#hovedav METANIC Aps.
$#hovedbv LGJ
$#hovedcv
$#hovedah 1984.02.20
$#hovedbh Side ##
$#hovedch Version 1.0
$#hovedam
$#hovedbm VersaDos-konvertering
$#hovedcm
$#hoveddm ______________________________________________________________
$#formatter
^FVejledning i konvertering af VersaDos-filsystemer til CP/M-filsystemer.^f
^UIndhold:^u
$#liste 240
$#punkt 1. Introduktion.
$#punkt 2. Systemoversigt.
$#punkt 3. Repræsentationsformer.
$#punkt 4. Konvertering trin for trin.
$#punkt 5. Program VERSAMRG.
$#punkt 6. Program VERSACON.
$#punkt Bilag A.
Eksempel på logudskrift fra program VERSACON.
$#punkt Bilag B.
Uddrag af "VersaDos System Facilities Reference Manual".
$#liste 0
^U1. Introduktion.^u
VersaDosprogrampakken benyttes ved konvertering af Ver^-saDos-filsystemer
til CP/M-filsystemer på 5 1/4" Butler-disketter. VersaDos-filsystemet
forudsættes at forefindes på en IBM 3740 diskette med 26 sektorer @ 128 oktetter
per ^-^-spor, men andre medier kan nemt accepteres, hvis de indled^-ende
trin i konverteringsproceduren modificeres og det for^-nødne materiel er
tilgængeligt.
Programpakken er fremstillet i januar/februar 1985 med henblik på
konvertering af kildeteksterne til NCR Udvik^-lingscenters EOS-system, og
er baseret på beskrivelser af Ver^-saDos-filsystemet leveret af NCR. Pakken
består dels af ad hoc programmer skrevet i Borland Turbopascal dels af
ad hoc programmer skrevet i Z80-assembler og dels af standard
CP/M-nytteprogrammer. Pakkens indhold fremgår af tabel 1.
$#kopier
$#blok-start
Program Forfatter Sprog
___________________________________________________________
læseprogram MoP Z80 assembler.
versamrg LGJ Turbopascal.
versacon LGJ Turbopascal.
dump LGJ Turbopascal.
format CP/M-nytteprogram.
stat CP/M-nytteprogram.
pip CP/M-nytteprogram.
ddt CP/M-nytteprogram.
___________________________________________________________
$#centrer
Tabel 1. Distributionsdiskettens indhold.
$#formatter
$#blok-slut
Disse programmer findes på distributionsdisketten, som er en Butlerdiskette,
der desuden benyttes til at opbevare en mel^-lemfil under konverteringen.
Ad hoc-programmerne er ikke afprøvet udtømmende (på grund af ikke-udtømmende
specifikationer), og kun de af NCR leverede disketter er benyttet som
afprøvningsmateriale. Det er dog efterprøvet, at de konverterede filer stemmer
ind^-holdsmæssigt overens med kildefilerne, og specielt er det kontrolleret, at
filernes dele (allokeringsblokke) er sam^-mensat i korrekt rækkefølge og uden
tab af data.
VersaDos-filsystemet tilbyder fire forskellige fil^-typer: "contiguous",
"sequential", "ISAM with no duplicate keys" og "ISAM with null keys and
duplicate keys allowed". Af disse kan kun den sidstnævnte type konverteres.
^U2. Systemoversigt.^u
$#blok-start
$#centrer
Figur 1. Systemdiagram.
$#formatter
$#blok-slut
Konverteringen finder sted ved tre kopieringer, og un^-dervejs antager
filsystemet 4 logisk forskellige former, som place^-res på hver sin diskette.
For disse former af filsystemet og de tilhørende disketter benyttes
betegnelsene
(1) kildeform og kildediskette,
(3) 1. mellemform og transportdiskette,
(5) 2. mellemform og distributionsdiskette og
(7) målform og måldiskette.
De tre kopieringer betegnes (2) fysisk konver^-tering, (4) samling og (6)
logisk konvertering.
^U3. Repræsentationsformer.^u
$#liste 120
$#punkt Kildeform og kildediskette:
Kildeformen er den form, hvori VersaDos-filsystemet le^-veres på 8" IBM^ 3740
diskette (kildedisketten), og ^-^-hvori det umiddelbart kan læses af en
Motorola ^-^-Exormacs. Kildeformen er beskrevet i bilag B, som stam^-mer fra
"VersaDos System Facilities Reference Manual".
$#punkt 1. mellemform og transportdiskette:
1. mellemform dannes udelukkende på grund af begræns^-ninger i det materiel,
som foretager kopieringen fra 8" disketter til 5 1/4" disketter. I
1. mellemform er fil^-systemet repræsenteret ved 8 CP/M-filer på en
Butler-diskette, hvis navne, omfang og indhold fremgår af ^-^-tabel 2.
De første 30 poster (@ 128 oktetter) i enhver af filerne indeholder
det læseprogram, som er benyttet til at læse fra kildedisketten. De
følgende 260 eller 182 poster respektivt indeholder sporene som ligeledes
an^-givet i tabellen.
$#venstre360
$#kopier
$#blok-start
Filnavn #Poster Indhold
(@128b)
_______________________________________________________
<VOL-ID>.1 290 kildediskettens spor 0 - 9
<VOL-ID>.2 290 kildediskettens spor 10 - 19
<VOL-ID>.3 290 kildediskettens spor 20 - 29
<VOL-ID>.4 290 kildediskettens spor 30 - 39
<VOL-ID>.5 290 kildediskettens spor 40 - 49
<VOL-ID>.6 290 kildediskettens spor 50 - 59
<VOL-ID>.7 290 kildediskettens spor 60 - 69
<VOL-ID>.8 212 kildediskettens spor 70 - 77
_______________________________________________________
$#formatter
<VOL-ID> betegner den tilsvarende kildediskettes volume-id.
$#centrer
Tabel 2. Første mellemforms filer.
$#blok-slut
$#venstre240
$#formatter
$#punkt 2. mellemform og distributionsdiskette:
I 2. mellemform er filsystemet repræsenteret ved een enkelt CP/M-fil
på en Butler-diskette (distributions^-disketten). Denne fil omfatter
2002 poster (@ 128 ok^-tetter) svarende til 77 spor @ 26 sektorer.
$#punkt Målform og måldiskette:
Målformen er det endelige resultat af konverteringen, og til enhver fil i det
oprindelige VersaDos-filsystem svarer en CP/M-fil på en Butler-diskette
(måldiskette). I VersaDos-filsystemet er det i modsætning til CP/M-filsystemet
muligt at komprimere blanktegn, og det er derfor muligt, at målformen af en
VersaDos-diskette er fordelt på flere måldisketter på grund af pladsmangel.
Filerne i målformen tildeles såvidt muligt samme navn, som de
tilsvarende filer i kildeformen, men da VersaDos-filsystemet har kataloger i
to niveauer kan der forekomme flere filer med samme navn og navneudvid^-else
("extension"). Hvis dette sker tildeles den første fil et nevn, som svarer
til kildeformsnavnet. De føl^-gende filer tildeles et navn, som svarer til
kilde^-formsnavnet med suffix a,b,c,...^ .
$#liste 0
^U4. Konvertering trin for trin.^u
Arbejdsgangen ved konvertering af en diskette kan be^-kvemt deles i
4 hovedtrin: Forberedelse, fysisk konverte^-ring, samling og logisk
konvertering. Disse trin gennemgås i det følgende efter tur. Hvis flere end
en diskette skal kon^-verteres er det mest praktisk først at foretage
klargøring og dernæst (2) fysisk konvertering for samtlige kildedisket^-ter.
Derefter veksles mellem (4) samling og (6) logisk kon^-vertering for hver enkelt
diskette. Er antallet af disketter knebent kan man veksle mellem (2)
fysisk konvertering, (4) Samling og (6) logisk konvertering for hver enkelt
diskette.
Der benyttes to datamater ved
konverteringen. Den ene betegnes kopianlægget og benyttes til den fysiske
konverte^-ring. Den anden betegnes Butler-datamaten og benyttes til samling
og logisk konvertering. Bemærk, at distributions^-disketten fra start til
slut er ^-^-placeret i Butler-datamatens A-drev.
$#liste 120
$#punkt (1) Klargøring.
$#klæb
$#klæb
1.1: Fremskaf alle kildedisketter, som skal konver^-teres, og find deres
"volume-id".
1.2: Formatter alle transport- og måldisketterne til 160 spor (2*80) ved
brug af formatprogrammet og B-drev^-et og overfør CP/M-systemet til dem.
1.3: Overfør ddt og læseprogrammet til den første ^-^-transportdiskette.
$#punkt (2) Fysisk konvertering.
$#klæb
$#klæb
2.1: Monter kildediskette og transportdiskette i kopi^-anlægget.
2.2: Aktiver ddt og læseprogrammet.
2.3: Benyt disse til sporvis som angivet i tabel 3 at læse kildedisketten
til indre lager og udskrive lager^-indholdet i filer på transportdisketten
med save-kom^-mandoen.
$#punkt (3) Samling.
$#klæb
$#klæb
3.1: Monter transportdisketten i Butler-datamatens B-drev.
3.2: Aktiver programmet versamrg og benyt dette til at danne 2. mellemform
i en fil på distributionsdisketten i A-drevet. Bemærk, at denne fil fylder
ca. 255 K ok^-tetter, som følgelig skal være ledige.
3.3: Udtag transportdisketten af B-drevet.
$#punkt (4) Logisk konvertering.
$#klæb
$#klæb
4.1: Indsæt måldisketten i Butler-datamatens B-drev.
4.2: Reset Butler-datamaten.
4.3: Aktiver programmet versacon og benyt dette til at danne målformen
af filsystemet på måldisketten. Fortsæt eventuelt på en ny måldiskette,
hvis ikke alle filer kan være på een.
$#liste 0
^U5. Program VERSAMRG.^u
Program Versamrg benyttes til at danne 2. mellem^-forms ene fil på
grundlag af 1. mellemforms 8 filer. Disse 8 filer forudsættes at foreligge
på B-drevet med navne og struktur som beskrevet i afsnit 3. Anden
mel^-lemforms fil dannes
på disketten i A-drevet med navnet <VOL-ID>.TXT, hvor <VOL-ID> angiver
den samme "volume-id", som benyttes i navnene på de 8 inddatafiler.
Fra hver af de 7 første filer kopieres 260 blokke @ 128 oktetter og fra
den sidste kopieres 182 blokke @ 128 oktetter jvf. afsnit 3 om 1. mellemform
og transport^-diskette. Hvis en fil er for kort standses programudførel^-sen, og
det angives, at en fejl er opstået. Er en fil for lang, bortkastes det
overskydende, og der fortsættes, som om intet var hændt.
^UOperatørdialog.^u
Kun "volume-id", som er en tegnstreng med længde 4, skal indtastes. Når dette
er sket vises for hver inddatafil den^-nes navn og derpå antallet af faktisk
kopierede blokke @ 128 oktetter. Til slut vises status for kopieringen som
helhed - succes eller failure.
^UFejlreaktioner.^u
$#liste 72
$#punkt Åbningsfejl. IOS = XX
Der er opstået en fejl ved åbningen af den sidstangivne inddatafil. fejlens
art fremgår af IOS (i/o-status). IOS = 1 betyder, at filen ikke eksisterer.
$#punkt
Hvis der opstår nogen anden i/o- fejl (f.eks. utilstræk^-kelig plads til
uddatafilen) går programmet ned.
$#liste 0
^U6. Program VERSACON.^u
Program Versacon benyttes til at danne målformen på måldisketten i
B-drevet på grundlag af 2. mellemforms fil på disketten i A-drevet.
Programmet udfører validering af det an^-givne "volume-id" mod
det "volume-id", som fremgår af fil^-systemet, samt af de øvrige
filsystemparametre, ligesom kom^-primerede blanktegn ekspanderes og
navnekonflikter opløses. Programmet danner een logudskrift og giver
advarsel ved ^-^-poster, som er længere end 80 tegn.
Målformens filer dannes og navngives som beskrevet ^-^-ovenfor. Hvis
filsystemet ikke kan være på een måldiskette, og den sidstskrevne fil
ikke er fuldstændig, bør den slet^-tes. Dette vil fremgå af logudskriften.
^UOperatørdialog.^u
Operatøren skal umiddelbart efter programmets aktive^-ring indtaste
"volume-id" for den tilsvarende kildediskette og antallet af filer, som
skal overspringes regnet fra fil^-systemets start og med gennemløb i preorden.
Derefter på^-begyndes konverteringen (som kan være langvarig), og der skal
ikke indtastes flere oplysninger.
Hvis hele filsystemet skal overføres angives 0 (nul). Ved start på
anden ^-^-måldiskette (for samme kildediskette) angives det antal fil^-er, som blev
konverteret korrekt (fuldstændigt) på den fore^-gående måldiskette.
^ULog-udskrift.^u
Programmet danner en log-udskrift, som redegører for hvilke filer, der
er konverteret. Følgende generelle attributter angives:
$#venstre360
$#kopier
Kildediskettens "volume-id".
Antallet af filer, der er oversprunget.
Antallet af filer, der er konverteret korrekt.
$#formatter
$#venstre240
Følgende fil-specifikke attributter angives:
$#venstre360
$#kopier
Katalognavn i VersaDos-filsystemet.
Filnavn i VersaDos-filsystemet på kildedisketten.
Filnavn i CP/M-filsystemet på måldisketten.
Antal sektorer i VersaDos-filsystemet (@256 oktetter).
Antal poster (linier) i filen.
$#formatter
$#venstre240
^UFejlreaktioner.^u
$#liste 72
$#blok-start
$#punkt "Contiguous files" ikke implementeret.
Den aktuelle fil har typen "contiguous". Filen springes over.
$#blok-slut
$#blok-start
$#punkt Fejl under kopiering.
Den aktuelle fil er ikke kopieret korrekt.
$#blok-slut
$#blok-start
$#punkt Filposition hinsides "eof".
Det forsøges at læse en blok, som ligger udenfor filen. Sandsynlige fejl er
inkonsistent filsystem eller program^-fejl. Forsøg igen med testudskrifter
aktiveret.
$#blok-slut
$#blok-start
$#punkt Filposition hinsides implementationsgrænse.
Det forsøges at læse en blok, hvis nummer er større end 32.767. Sandsynlige
fejl er inkonsistent filsystem eller programfejl. Forsøg igen med
testudskrifter aktiveret.
$#blok-slut
$#blok-start
$#punkt Filåbningsfejl. IOS = XXX
Fejl under åbning af inddatafilen. IOS = XXX angiver år^-sagen. 1 betyder,
ikke-eksisterende fil.
$#blok-slut
$#blok-start
$#punkt "Keyed ISAM (No duplicate keys)" ikke implementeret.
Den aktuelle fil har typen "keyed ISAM (no duplicate ^-^-keys)". Filen springes
over.
$#blok-slut
$#blok-start
$#punkt Læsefejl.
Fejl under læsning af en blok. Forsøg evt. igen med en ny inddatafil.
$#blok-slut
$#blok-start
$#punkt Postlængde = XXXXX > 80 i datasegment XX
En post med længden XXXXX er (forsøgt) kopieret fra data^-segment XX
indenfor den aktuelle "file access block". Mulige
fejl er inkonsistent filsystem eller programfejl. Forsøg igen med
testudskrifter aktiveret.
$#blok-slut
$#blok-start
$#punkt "Sequential files" ikke implementeret.
Den aktuelle fil har typen "sequential". Filen springes over.
$#blok-slut
$#blok-start
$#punkt Ukorrekt antal poster kopieret i datasegment # XX
Et ukorrekt antal poster er kopieret fra datasegment # XX indenfor den
aktuelle "file access block". Sandsynlige
fejl er inkonsistent filsystem eller programfejl. Forsøg igen med
testudskrifter aktiveret.
$#blok-slut
$#blok-start
$#punkt Ukorrekt antal poster kopieret. *** EOR LSN: (XX-XX-XX-XX)
Et ukorrekt antal poster er kopieret fra den aktuelle fil. Det totale
faktisk kopierede antal poster angives.
$#blok-slut
$#blok-start
$#punkt Ukorrekt antal sektorer kopieret i datasegment # XX
Et ukorrekt antal sektorer er kopieret fra datasegment # XX indenfor den
aktuelle "file access block". Sandsynlige
fejl er inkonsistent filsystem eller programfejl. Forsøg igen med
testudskrifter aktiveret.
$#blok-slut
$#blok-start
$#punkt Ukorrekt antal sektorer kopieret. *** EOR LSN: (XX-XX-XX-XX)
Et ukorrekt antal sektorer er kopieret fra den aktuelle fil. Det totale
faktisk kopierede antal sektorer angives.
$#blok-slut
$#blok-start
$#punkt Uoverensstemmende "volume_ids". VID.VOL = XXXX
Filsystemets "volume_id" stemmer ikke overens med det indtastede. Kontroller
eventuelt, om inddatafilens ind^-hold svarer til dens navn.
$#blok-slut
$#liste 0
$#centrer
--- o0o ---
«eof»