|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2528 (0x9e0) Notes: Mikados TextFile, Mikados_K Names: »DUMP«
└─⟦ec8c1e0b0⟧ Bits:30007442 8" floppy ( MIKPROG vol. 1-3, MIKREL vol. 1-3, PCSE 4.7.80 vol 1-3, GL.SYS ) └─ ⟦this⟧ »DUMP« └─⟦f1b095e24⟧ Bits:30005320 Katalogisering af disketter └─ ⟦this⟧ »DUMP«
PROGRAM DUMP; (* AN 800104 *) TYPE BLOCK = PACKED ARRAY (0..255) OF CHAR; VAR DISCBUFFER: BLOCK; DISC, TRACK, SECTOR, IOCODE, ERRORCODE, I, J, K, L, P, CHARCODE, CIF1, CIF2: INTEGER; UDBUF: STRING; PROCEDURE PSCIU(VAR DISCBUFFER: BLOCK; DISC, TRACK, SECTOR, IOCODE: INTEGER; VAR ERRORCODE: INTEGER); EXTERNAL; PROCEDURE WRITEHEX(I: INTEGER); BEGIN P := P+1; IF I < 10 THEN UDBUF(P):=CHR(I+48) ELSE UDBUF(P):=CHR(I+55); END; PROCEDURE MAIN; BEGIN UDBUF := ' 0'; (*$R-*) UDBUF(0) := CHR(64) (*$R+*); FILLCHAR(UDBUF(3),62,' '); ERRORCODE := 0; REPEAT WRITE('Indtast pladelagerbetegnelse: P'); READLN; IF EOF THEN EXIT(MAIN); READ(DISC); WRITE('Indtast spornummer: '); READLN; IF EOF THEN EXIT(MAIN); READ(TRACK); WRITE('Indtast sektornummer: '); READLN; IF EOF THEN EXIT(MAIN); READ(SECTOR); IOCODE := 1; PSCIU(DISCBUFFER,DISC,TRACK,SECTOR,IOCODE,ERRORCODE); IF ERRORCODE <> 0 THEN EXIT(MAIN); WRITELN(LIST,'DUMP FRA DISK P',DISC:1,', SPOR ',TRACK:3, ', SEKTOR ',SECTOR:2); WRITELN(LIST); FOR I := 0 TO 15 DO BEGIN P := 0; WRITEHEX(I); P := 5; J := I * 16; K := J + 15; FOR L := J TO K DO BEGIN IF L MOD 4 = 0 THEN P := P+1; P := P+1; CIF1 := ORD(DISCBUFFER(L)) MOD 128; IF (CIF1 <= 126) AND (CIF1 >= 32) THEN UDBUF(P) := CHR(CIF1) ELSE UDBUF(P) := '.'; END; P := P+3; FOR L := J TO K DO BEGIN IF L MOD 4 = 0 THEN P:=P+1; CIF1 := ORD(DISCBUFFER(L)) DIV 16; CIF2 := ORD(DISCBUFFER(L)) MOD 16; WRITEHEX(CIF1); WRITEHEX(CIF2); END; WRITELN(LIST,UDBUF); END; WRITELN(LIST,CHR(12)); UNTIL FALSE; END; BEGIN WRITELN('DUMP EN SEKTOR'); MAIN; IF ERRORCODE <> 0 THEN WRITELN ('ERRORCODE:', ERRORCODE:4); WRITELN('DUMP terminated'); END.