DataMuseum.dk

Presents historical artifacts from the history of:

Ohio Scientific Inc.

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Ohio Scientific Inc.

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦4bc45432f⟧

    Length: 4080 (0xff0)
    Notes: OS65UFile, OSU65U-BASIC
    Names: »MFDUMP«

Derivation

└─⟦2f57871a3⟧ Bits:30009355 Ohio Scientific OS-OMS Nucleus, delvist oversat til dansk
    └─⟦this⟧ »MFDUMP« 

BASIC

00001 PRINT"** PROGRAM NOT EXECUTABLE FROM CONSOLE **":RUN"DBMSYS","PASS"
00002 CLOSE:CLEAR:REM 1/79  MASTER FILE DUMP  (MFDUMP)
00003 REM
00020 FLAG 11: REM ENABLE SPACE SUPPRESSION ON OUTPUT
00030 FLAG 9: REM WE CHECK DISC ERRORS
00031 FLAG 21:REM  TURN OFF NUL INPUT BREAK
00032 POKE 2976,13:POKE 2972,13
00035 POKE 2888,0
00036 REM
00037 REM     DV$(1)=CURRENT DEVICE
00040 DV(1)=PEEK(9832):IF DV(1)>127 THEN DV(1)=DV(1)-128+4
00050 DV$(1)=CHR$(DV(1)+65)
00100 FOR I=1 TO 27:PRINT:NEXT I
00110 PRINT"DB-2  -  UDSKRIFT AF MASTER FIL"
00120 PRINT"===============================":PRINT:PRINT
00122 PRINT
00128 REM
00129 REM     GET OUTPUT DEVICE
00130 PRINT:INPUT"\NSKES UDSKRIFT P] KONSOL (K) ELLER PRINTER (P)";DV$(3)
00140 IF LEFT$(DV$(3),1)="P" THEN DV=5: GOTO 160
00150 IF LEFT$(DV$(3),1)="K" OR DV$(3)="" THEN DV=PEEK(11665):GOTO 161
00151 GOTO 130
00158 REM
00159 REM     GET FILE NAME AND PASSWORD AND STORAGE DEVICE
00160 PRINT:INPUT"HVILKEN PORT \NSKES UDSKRIFT P] ";DV:PRINT:PRINT
00161 PRINT:INPUT"INDTAST STATIONEN HVOR MASTER FILEN LIGGER ";DV$(2)
00162 IF DV$(2)="" THEN DV$(2)=DV$(1)
00164 IF LEN(DV$(2))<>1THENPRINT"*** FORKERT STATION ***":GOTO 160
00165 IF DV$(2)<"A"ORDV$(2)>"E"THENPRINT"*** FORKERT STATION ": GOTO 160 
00168 POKE 2972,58: POKE 2976,44: REM , AND : TERMINATORS ON
00170 INPUT"INDTAST MASTER FIL NAVN, KODEORD ";F$,PW$
00171 IFF$=""ORPW$=""THENPRINT:PRINT"*** FORKERT":GOTO 170
00172 IFLEN(F$)<5THENF$=F$+" ":GOTO172
00173 IFLEN(F$)=6ANDRIGHT$(F$,1)="0"GOTO176
00174 IFLEN(F$)>6THENPRINT:PRINT"UMULIGT FILNAVN":GOTO 170
00175 IFLEN(F$)<6THENF$=F$+"0":REM XXXXX0
00176 IFPW$="."ORPW$="."THENPW$="ANAN"
00177 IFLEN(PW$)<>4THENPRINT:PRINT"UMULIGT KODEORD":GOTO 170
00200 POKE 2976,13: POKE 2972,13: REM , AND : TERMINATORS OFF
00210 IF PW$="." THEN PW$="ANAN"
00215 IF LEN(PW$)<>4THENPRINT"*** FORKERT KODEORD":GOTO 200
00248 REM
00249 REM     OPEN MASTER FILE AND GET HEADER
00250 DEV DV$(2): OPEN F$,PW$,1
00255 F$=LEFT$(F$,5)
00260 INPUT%1,T$: IF T$<>F$ THEN ERR=1: GOTO 30000
00270 INDEX<1>=6: INPUT%1,T: IF T<>10 THEN ERR=2: GOTO 30000
00280 INDEX<1>=9: INPUT%1,EODF
00290 INDEX<1>=20: INPUT%1,BODF
00300 INDEX<1>=31: INPUT%1,RL
00310 INDEX<1>=42: INPUT%1,RN
00320 INDEX<1>=53:N=1: REM DETERMINE THE NUMBER OF FIELDS
00330 INPUT%1,T$: INPUT%1,T
00340 IF INDEX(1)<BODF THEN N=N+1: GOTO 330
00350 INDEX<1>=53: DIM FDLB$(N),FL(N)
00360 FOR I=1 TO N: INPUT%1,FDLB$(I): INPUT%1,FL(I): FL(I)=FL(I)-1:NEXT I
00398 REM
00399 REM
00400 REM
00498 FOR A=1 TO 25: PRINT:NEXT A
00499 REM
00500 REM   OUTPUT HEADERS
00520 PRINT#DV
00530 PRINT#DV,"FIL: ";F$
00540 PRINT#DV,"ANTAL RECORDS: ";RN
00550 PRINT#DV
00560 REM R1****
00565 DIM FC$(N)
00570 FOR J=1 TO N:
00580 FC$(J)="":FOR K=1 TO FL(J):FC$(J)=FC$(J)+"-":NEXT K
00590 PRINT#DV, TAB(1);FDLB$(J);TAB(33);FC$(J)
00598 REM
00599 REM
00600 NEXT J
00604 PRINT#DV
00605 PRINT#DV,"RECORD:  1";TAB(32);"INDEX: ";BODF
00610 RPTR=1:FPTR=1:FOS=0
00620 INDEX<1>=BODF+((RPTR-1)*RL)+FOS
00630 IF INDEX(1)=EODF GOTO 1000
00640 INPUT%1,S$
00650 PRINT#DV,TAB(1);FDLB$(FPTR);TAB(33);S$
00670 FPTR=FPTR+1
00680 IF FPTR<=N THEN FOS=FOS+(FL(FPTR-1)+1): GOTO 620
00690 FPTR=1:RPTR=RPTR+1: FOS=0
00700 IF RPTR>RN GOTO 1000
00710 PRINT#DV
00720 INDEX<1>=((RPTR-1)*RL)+BODF
00730 PRINT#DV,"RECORD: ";RPTR;TAB(32);"INDEX: ";INDEX(1)
00740 GOTO 630
01000 PRINT#DV:PRINT#DV,"   SLUT P] DEN BENYTTEDE DEL AF FILEN"
02000 CLOSE 1:DEV DV$(1):REM RETURN TO INITIAL DEVICE
02004 PRINT:GOTO50150
50000 DE=PEEK(10226):DL=PEEK(11774)+PEEK(11775)*256:PRINT
50020 IF DE=133 AND DL=250 THEN CLOSE:GOTO 250
50030 N=N+1:IFN<2GOTO50100
50040 PRINT"*** KONTROLER AT DISKETTERNE ER PLACERET RIGTIGT ***"
50100 PRINT"*** FEJL ";DE;" I LINIE ";DL;" ***"
50150 PRINT:INPUT"TAST RETURN, HVIS FORS[TTELSE";QS$
50200 FLAG12:FLAG22:POKE2972,58:POKE2976,44
50210 FORX=1TOPEEK(15908):PRINT#DV:NEXT
50220 IFER<1ANDDV=5THENFORX=1TOPEEK(15908):PRINT#DV:NEXT
50300 CLOSE:DEVDV$(1):RUN"DBMSYS","PASS

Full view