RIAG Crate 11: Super IOB Data Disk
Item Preview
Share or Embed This Item
Flag this item for
RIAG Crate 11: Super IOB Data Disk
- Language
- English
Notes
Disk info for Super_IOB_Data_Disk.dsk:
File Name: riag_011_Super_IOB_Data_Disk/Super_IOB_Data_Disk.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 102400
Used Space (bytes): 40960
Physical Size (KB): 140
Free Space (KB): 100
Used Space (KB): 40
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 400
Used Sectors: 160
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for Super_IOB_Data_Disk.dsk:
riag_011_Super_IOB_Data_Disk/Super_IOB_Data_Disk.dsk DISK VOLUME #254
A 002 HELLO
A 015 SUPER IOB
B 002 IOB.OBJ0
B 012 RWTS.BEYOND WOLF
A 016 SUPER IOB WOLF
A 016 XXX
A 016 SUPER IOB PS GRAPHIC LIB
A 017 SUPER IOB PRINT SHOP
DOS 3.3 format; 102,400 bytes free; 40,960 bytes used.
Text found in Super_IOB_Data_Disk.dsk/HELLO.bas:
5 HOME
10 PRINT TAB( 13)"STORING DISK"
Text found in Super_IOB_Data_Disk.dsk/SUPER IOB PRINT SHOP.bas:
10 REM *************************
20 REM ** SUPER IOB 1.2 **
30 REM ** BY RAY DARRAH **
40 REM *************************
50 REM SET HIMEM BELOW BUFFER AND XSET LOMEM ABOVE THE BLOADED XRWTS
60 LOMEM: 8960: HIMEM: 9983: GOTO 10010
70 REM INITIAL IOB SETUP
80 POKE BUF,39: POKE DRV,DV: POKE VOL,VL: POKE SLT,SO *16: RETURN
90 REM R/W SECTOR
100 BF = 0: POKE TRK,TK: POKE SCT,ST: POKE CMD,CD: CALL IO: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
110 RETURN
120 REM MOVE S PHASES
130 POKE 49289 +SO *16 +DV,0: POKE 49289 +SO *16,0:A = PH - INT(PH/4) *4: POKE 1144,128 +A: POKE 811,128 +S +A: POKE 813,SO *16: CALL 810: POKE 49288 +SO *16,0:PH = PH +S: IF PH <0 THEN PH = 0
140 RETURN
150 REM 16 SECTOR RWTS ALTERATIONS XX
160 REM ALTERED ENDING MARKS
170 READ A1,A2,A3,A4: POKE 47505,A1: POKE 47515,A2: POKE 47413,A3: POKE 47423,A4: RETURN
180 REM ALTERED ADDRESS MARKS
190 READ A1,A2,A3: POKE 47445,A1: POKE 47455,A2: POKE 47466,A3: RETURN
200 REM ALTERED DATA MARKS
210 READ A1,A2,A3: POKE 47335,A1: POKE 47345,A2: POKE 47356,A3: RETURN
220 REM NORMALIZER
230 POKE 47505,222: POKE 47515,170: POKE 47413,222: POKE 47423,170
240 POKE 47445,213: POKE 47455,170: POKE 47466,150: POKE 47335,213
250 POKE 47345,170: POKE 47356,173: POKE 47360,0: POKE 47498,183: RETURN
260 REM IGNORE ADDRESS CHECKSUM
270 POKE 47498,0: RETURN
280 REM ALTERED DATA CHECKSUM
290 READ A1: POKE 47360,A1: RETURN
300 REM THE SECTOR EDITOR
310 READ A$: IF RIGHT$(A$,7) < >"CHANGES" THEN 310
320 FOR A = 1 TO VAL(A$): READ A1,A2,A3,A4
330 IF A1 TK THEN NEXT : RETURN
340 POKE 9984 +(A1 -T1) *4096 +A2 *256 +A3,A4: NEXT : RETURN
350 REM SWAP RWTS AT $1900 WITH THE ONE AT $B800
360 POKE 253,25: POKE 255,184: POKE 224,8: CALL 832: RETURN
370 REM FORMAT DISK
380 A$ = "VOLUME NUMBER FOR COPY =>254": HOME : GOSUB 450: HTAB 32: INPUT "";VL$:VL = VAL(VL$): IF VL$ = "" THEN VL = 254
390 IF VL >255 OR VL <0 THEN 380
400 POKE CMD,INIT:SO = S2:DV = D2:A$ = "INSERT BLANK DISK IN SLOT " + STR$(S2) +", DRIVE " + STR$(D2): GOSUB 470
410 GOSUB 80: HOME :A$ = "FORMATTING": FLASH : GOSUB 450: NORMAL : CALL IO:VL = 0: RETURN
420 REM PRINT TRACK AND SECTOR #
430 VTAB 3: HTAB 10: PRINT "TRACK $" MID$ (HX$,TK *2 +1,2)" SECTOR $" MID$ (HX$,ST *2 +1,2)" ": RETURN
440 REM CENTER MESSAGE
450 HTAB 21 - LEN(A$)/2: PRINT A$;: RETURN
460 REM PRINT MESSAGE AND WAIT
470 HOME : VTAB 11: GOSUB 450: VTAB 13:A$ = "PRESS ANY KEY TO CONTINUE": GOSUB 450: WAIT -16384,128: GET A$: RETURN
480 REM TOGGLE READ/WRITE
490 CD = (CD = 1) +1: IF CD = RD THEN A$ = "INSERT SOURCE DISK.":SO = S1:DV = D1: GOTO 510
500 A$ = "INSERT TARGET DISK.":SO = S2:DV = D2
510 IF D1 = D2 AND S1 = S2 THEN GOSUB 470: HOME
520 VTAB 1: HTAB 1: PRINT SPC( 39);: FLASH :A$ = "READING": IF CD = WR THEN A$ = "WRITING"
530 GOSUB 450: NORMAL : GOTO 80
540 REM ONERR IGNORE UNREDAABLE SECTORS
550 CALL 822:ERR = PEEK(222)
560 IF ERR = 255 OR ERR = 254 OR CD < >RD THEN 10230
570 IF ERR >15 THEN POKE 216,0: RESUME
580 PRINT CHR$(7);: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
590 RETURN
1000 REM PRINT SHOP CONTROLLER
1010 TK = 0:ST = 0:LT = 34:CD = WR
1020 T1 = TK: GOSUB 490
1030 GOSUB 430: GOSUB 100:ST = ST +1: IF ST "S2 SPC( 8)"DRIVE=>"D2;
10150 HTAB 16:B$ = "7": GOSUB 10180" S2=VAL(A$)
10160 HTAB 32:B$ = "2": GOSUB 10180:D2 = VAL(A$): RETURN
10170 REM GET A KEY
10180 GET A$: IF (A$ <"1" OR A$ >B$) AND A$ < > CHR$(13) THEN 10180
10190 IF A$ = CHR$(13) THEN A$ = CHR$( PEEK( PEEK(40) + PEEK(41) *256 + PEEK(36)) -128)
10200 PRINT A$;: RETURN
10210 REM DISK ERROR
10220 ERR = PEEK(222): IF ERR >15 AND ERR <254 THEN POKE 216,0: CALL 822: RESUME
10230 IF ERR = 254 THEN PRINT "TYPE AGAIN PLEASE:": PRINT : RESUME
10240 IF ERR = 255 THEN STOP
10250 IF ERR = 0 THEN A$ = "INITIALIZATION ERROR"
10260 IF ERR = 1 THEN A$ = "WRITE PROTECTED"
10270 IF ERR = 2 THEN A$ = "VOLUME MISMATCH ERROR"
10280 IF ERR = 4 THEN A$ = "DRIVE ERROR"
10290 IF ERR = 8 THEN A$ = "READ ERROR"
10300 VTAB 12: GOSUB 450: PRINT CHR$(7): END
Text found in Super_IOB_Data_Disk.dsk/SUPER IOB PS GRAPHIC LIB.bas:
10 REM *************************
20 REM ** SUPER IOB 1.2 **
30 REM ** BY RAY DARRAH **
40 REM *************************
50 REM SET HIMEM BELOW BUFFER AND XSET LOMEM ABOVE THE BLOADED XRWTS
60 LOMEM: 8960: HIMEM: 9983: GOTO 10010
70 REM INITIAL IOB SETUP
80 POKE BUF,39: POKE DRV,DV: POKE VOL,VL: POKE SLT,SO *16: RETURN
90 REM R/W SECTOR
100 BF = 0: POKE TRK,TK: POKE SCT,ST: POKE CMD,CD: CALL IO: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
110 RETURN
120 REM MOVE S PHASES
130 POKE 49289 +SO *16 +DV,0: POKE 49289 +SO *16,0:A = PH - INT(PH/4) *4: POKE 1144,128 +A: POKE 811,128 +S +A: POKE 813,SO *16: CALL 810: POKE 49288 +SO *16,0:PH = PH +S: IF PH <0 THEN PH = 0
140 RETURN
150 REM 16 SECTOR RWTS ALTERATIONS XX
160 REM ALTERED ENDING MARKS
170 READ A1,A2,A3,A4: POKE 47505,A1: POKE 47515,A2: POKE 47413,A3: POKE 47423,A4: RETURN
180 REM ALTERED ADDRESS MARKS
190 READ A1,A2,A3: POKE 47445,A1: POKE 47455,A2: POKE 47466,A3: RETURN
200 REM ALTERED DATA MARKS
210 READ A1,A2,A3: POKE 47335,A1: POKE 47345,A2: POKE 47356,A3: RETURN
220 REM NORMALIZER
230 POKE 47505,222: POKE 47515,170: POKE 47413,222: POKE 47423,170
240 POKE 47445,213: POKE 47455,170: POKE 47466,150: POKE 47335,213
250 POKE 47345,170: POKE 47356,173: POKE 47360,0: POKE 47498,183: RETURN
260 REM IGNORE ADDRESS CHECKSUM
270 POKE 47498,0: RETURN
280 REM ALTERED DATA CHECKSUM
290 READ A1: POKE 47360,A1: RETURN
300 REM THE SECTOR EDITOR
310 READ A$: IF RIGHT$(A$,7) < >"CHANGES" THEN 310
320 FOR A = 1 TO VAL(A$): READ A1,A2,A3,A4
330 IF A1 TK THEN NEXT : RETURN
340 POKE 9984 +(A1 -T1) *4096 +A2 *256 +A3,A4: NEXT : RETURN
350 REM SWAP RWTS AT $1900 WITH THE ONE AT $B800
360 POKE 253,25: POKE 255,184: POKE 224,8: CALL 832: RETURN
370 REM FORMAT DISK
380 A$ = "VOLUME NUMBER FOR COPY =>254": HOME : GOSUB 450: HTAB 32: INPUT "";VL$:VL = VAL(VL$): IF VL$ = "" THEN VL = 254
390 IF VL >255 OR VL <0 THEN 380
400 POKE CMD,INIT:SO = S2:DV = D2:A$ = "INSERT BLANK DISK IN SLOT " + STR$(S2) +", DRIVE " + STR$(D2): GOSUB 470
410 GOSUB 80: HOME :A$ = "FORMATTING": FLASH : GOSUB 450: NORMAL : CALL IO:VL = 0: RETURN
420 REM PRINT TRACK AND SECTOR #
430 VTAB 3: HTAB 10: PRINT "TRACK $" MID$ (HX$,TK *2 +1,2)" SECTOR $" MID$ (HX$,ST *2 +1,2)" ": RETURN
440 REM CENTER MESSAGE
450 HTAB 21 - LEN(A$)/2: PRINT A$;: RETURN
460 REM PRINT MESSAGE AND WAIT
470 HOME : VTAB 11: GOSUB 450: VTAB 13:A$ = "PRESS ANY KEY TO CONTINUE": GOSUB 450: WAIT -16384,128: GET A$: RETURN
480 REM TOGGLE READ/WRITE
490 CD = (CD = 1) +1: IF CD = RD THEN A$ = "INSERT SOURCE DISK.":SO = S1:DV = D1: GOTO 510
500 A$ = "INSERT TARGET DISK.":SO = S2:DV = D2
510 IF D1 = D2 AND S1 = S2 THEN GOSUB 470: HOME
520 VTAB 1: HTAB 1: PRINT SPC( 39);: FLASH :A$ = "READING": IF CD = WR THEN A$ = "WRITING"
530 GOSUB 450: NORMAL : GOTO 80
540 REM ONERR IGNORE UNREDAABLE SECTORS
550 CALL 822:ERR = PEEK(222)
560 IF ERR = 255 OR ERR = 254 OR CD < >RD THEN 10230
570 IF ERR >15 THEN POKE 216,0: RESUME
580 PRINT CHR$(7);: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
590 RETURN
1000 REM GRAPHICS LIBRARY CONTROLLER BY GREG SCHROEDER
1010 TK = 0:ST = 0:LT = 35:CD = WR
1020 T1 = TK: GOSUB 490
1028 POKE 47405,24: POKE 47406,96: POKE 47497,24: POKE 47498,96
1030 GOSUB 430: GOSUB 100:ST = ST +1: IF ST "S2 SPC( 8)"DRIVE=>"D2;
10150 HTAB 16:B$ = "7": GOSUB 10180" S2=VAL(A$)
10160 HTAB 32:B$ = "2": GOSUB 10180:D2 = VAL(A$): RETURN
10170 REM GET A KEY
10180 GET A$: IF (A$ <"1" OR A$ >B$) AND A$ < > CHR$(13) THEN 10180
10190 IF A$ = CHR$(13) THEN A$ = CHR$( PEEK( PEEK(40) + PEEK(41) *256 + PEEK(36)) -128)
10200 PRINT A$;: RETURN
10210 REM DISK ERROR
10220 ERR = PEEK(222): IF ERR >15 AND ERR <254 THEN POKE 216,0: CALL 822: RESUME
10230 IF ERR = 254 THEN PRINT "TYPE AGAIN PLEASE:": PRINT : RESUME
10240 IF ERR = 255 THEN STOP
10250 IF ERR = 0 THEN A$ = "INITIALIZATION ERROR"
10260 IF ERR = 1 THEN A$ = "WRITE PROTECTED"
10270 IF ERR = 2 THEN A$ = "VOLUME MISMATCH ERROR"
10280 IF ERR = 4 THEN A$ = "DRIVE ERROR"
10290 IF ERR = 8 THEN A$ = "READ ERROR"
10300 VTAB 12: GOSUB 450: PRINT CHR$(7): END
Text found in Super_IOB_Data_Disk.dsk/SUPER IOB WOLF.bas:
10 REM *************************
20 REM ** SUPER IOB 1.2 **
30 REM ** BY RAY DARRAH **
40 REM *************************
50 REM SET HIMEM BELOW BUFFER AND XSET LOMEM ABOVE THE BLOADED XRWTS
60 LOMEM: 8960: HIMEM: 9983: GOTO 10010
70 REM INITIAL IOB SETUP
80 POKE BUF,39: POKE DRV,DV: POKE VOL,VL: POKE SLT,SO *16: RETURN
90 REM R/W SECTOR
100 BF = 0: POKE TRK,TK: POKE SCT,ST: POKE CMD,CD: CALL IO: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
110 RETURN
120 REM MOVE S PHASES
130 POKE 49289 +SO *16 +DV,0: POKE 49289 +SO *16,0:A = PH - INT(PH/4) *4: POKE 1144,128 +A: POKE 811,128 +S +A: POKE 813,SO *16: CALL 810: POKE 49288 +SO *16,0:PH = PH +S: IF PH <0 THEN PH = 0
140 RETURN
150 REM 16 SECTOR RWTS ALTERATIONS XX
160 REM ALTERED ENDING MARKS
170 READ A1,A2,A3,A4: POKE 47505,A1: POKE 47515,A2: POKE 47413,A3: POKE 47423,A4: RETURN
180 REM ALTERED ADDRESS MARKS
190 READ A1,A2,A3: POKE 47445,A1: POKE 47455,A2: POKE 47466,A3: RETURN
200 REM ALTERED DATA MARKS
210 READ A1,A2,A3: POKE 47335,A1: POKE 47345,A2: POKE 47356,A3: RETURN
220 REM NORMALIZER
230 POKE 47505,222: POKE 47515,170: POKE 47413,222: POKE 47423,170
240 POKE 47445,213: POKE 47455,170: POKE 47466,150: POKE 47335,213
250 POKE 47345,170: POKE 47356,173: POKE 47360,0: POKE 47498,183: RETURN
260 REM IGNORE ADDRESS CHECKSUM
270 POKE 47498,0: RETURN
280 REM ALTERED DATA CHECKSUM
290 READ A1: POKE 47360,A1: RETURN
300 REM THE SECTOR EDITOR
310 READ A$: IF RIGHT$(A$,7) < >"CHANGES" THEN 310
320 FOR A = 1 TO VAL(A$): READ A1,A2,A3,A4
330 IF A1 TK THEN NEXT : RETURN
340 POKE 9984 +(A1 -T1) *4096 +A2 *256 +A3,A4: NEXT : RETURN
350 REM SWAP RWTS AT $1900 WITH THE ONE AT $B800
360 POKE 253,25: POKE 255,184: POKE 224,8: CALL 832: RETURN
370 REM FORMAT DISK
380 A$ = "VOLUME NUMBER FOR COPY =>254": HOME : GOSUB 450: HTAB 32: INPUT "";VL$:VL = VAL(VL$): IF VL$ = "" THEN VL = 254
390 IF VL >255 OR VL <0 THEN 380
400 POKE CMD,INIT:SO = S2:DV = D2:A$ = "INSERT BLANK DISK IN SLOT " + STR$(S2) +", DRIVE " + STR$(D2): GOSUB 470
410 GOSUB 80: HOME :A$ = "FORMATTING": FLASH : GOSUB 450: NORMAL : CALL IO:VL = 0: RETURN
420 REM PRINT TRACK AND SECTOR #
430 VTAB 3: HTAB 10: PRINT "TRACK $" MID$ (HX$,TK *2 +1,2)" SECTOR $" MID$ (HX$,ST *2 +1,2)" ": RETURN
440 REM CENTER MESSAGE
450 HTAB 21 - LEN(A$)/2: PRINT A$;: RETURN
460 REM PRINT MESSAGE AND WAIT
470 HOME : VTAB 11: GOSUB 450: VTAB 13:A$ = "PRESS ANY KEY TO CONTINUE": GOSUB 450: WAIT -16384,128: GET A$: RETURN
480 REM TOGGLE READ/WRITE
490 CD = (CD = 1) +1: IF CD = RD THEN A$ = "INSERT SOURCE DISK.":SO = S1:DV = D1: GOTO 510
500 A$ = "INSERT TARGET DISK.":SO = S2:DV = D2
510 IF D1 = D2 AND S1 = S2 THEN GOSUB 470: HOME
520 VTAB 1: HTAB 1: PRINT SPC( 39);: FLASH :A$ = "READING": IF CD = WR THEN A$ = "WRITING"
530 GOSUB 450: NORMAL : GOTO 80
540 REM ONERR IGNORE UNREDAABLE SECTORS
550 CALL 822:ERR = PEEK(222)
560 IF ERR = 255 OR ERR = 254 OR CD < >RD THEN 10230
570 IF ERR >15 THEN POKE 216,0: RESUME
580 PRINT CHR$(7);: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
590 RETURN
1000 REM BEYOND WOLFENSTEIN CONTROLLER
1010 TK = 3:ST = 0:LT = 35:CD = WR
1020 T1 = TK: GOSUB 490: GOSUB 1110
1030 GOSUB 430: GOSUB 100:ST = ST +1: IF ST "S2 SPC( 8)"DRIVE=>"D2;
10150 HTAB 16:B$ = "7": GOSUB 10180" S2=VAL(A$)
10160 HTAB 32:B$ = "2": GOSUB 10180:D2 = VAL(A$): RETURN
10170 REM GET A KEY
10180 GET A$: IF (A$ <"1" OR A$ >B$) AND A$ < > CHR$(13) THEN 10180
10190 IF A$ = CHR$(13) THEN A$ = CHR$( PEEK( PEEK(40) + PEEK(41) *256 + PEEK(36)) -128)
10200 PRINT A$;: RETURN
10210 REM DISK ERROR
10220 ERR = PEEK(222): IF ERR >15 AND ERR <254 THEN POKE 216,0: CALL 822: RESUME
10230 IF ERR = 254 THEN PRINT "TYPE AGAIN PLEASE:": PRINT : RESUME
10240 IF ERR = 255 THEN STOP
10250 IF ERR = 0 THEN A$ = "INITIALIZATION ERROR"
10260 IF ERR = 1 THEN A$ = "WRITE PROTECTED"
10270 IF ERR = 2 THEN A$ = "VOLUME MISMATCH ERROR"
10280 IF ERR = 4 THEN A$ = "DRIVE ERROR"
10290 IF ERR = 8 THEN A$ = "READ ERROR"
10300 VTAB 12: GOSUB 450: PRINT CHR$(7): END
Text found in Super_IOB_Data_Disk.dsk/SUPER IOB.bas:
10 REM *************************
20 REM ** SUPER IOB 1.2 **
30 REM ** BY RAY DARRAH **
40 REM *************************
50 REM SET HIMEM BELOW BUFFER AND XSET LOMEM ABOVE THE BLOADED XRWTS
60 LOMEM: 8448: HIMEM: 9983: GOTO 10010
70 REM INITIAL IOB SETUP
80 POKE BUF,39: POKE DRV,DV: POKE VOL,VL: POKE SLT,SO *16: RETURN
90 REM R/W SECTOR
100 BF = 0: POKE TRK,TK: POKE SCT,ST: POKE CMD,CD: CALL IO: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
110 RETURN
120 REM MOVE S PHASES
130 POKE 49289 +SO *16 +DV,0: POKE 49289 +SO *16,0:A = PH - INT(PH/4) *4: POKE 1144,128 +A: POKE 811,128 +S +A: POKE 813,SO *16: CALL 810: POKE 49288 +SO *16,0:PH = PH +S: IF PH <0 THEN PH = 0
140 RETURN
150 REM 16 SECTOR RWTS ALTERATIONS XX
160 REM ALTERED ENDING MARKS
170 READ A1,A2,A3,A4: POKE 47505,A1: POKE 47515,A2: POKE 47413,A3: POKE 47423,A4: RETURN
180 REM ALTERED ADDRESS MARKS
190 READ A1,A2,A3: POKE 47445,A1: POKE 47455,A2: POKE 47466,A3: RETURN
200 REM ALTERED DATA MARKS
210 READ A1,A2,A3: POKE 47335,A1: POKE 47345,A2: POKE 47356,A3: RETURN
220 REM NORMALIZER
230 POKE 47505,222: POKE 47515,170: POKE 47413,222: POKE 47423,170
240 POKE 47445,213: POKE 47455,170: POKE 47466,150: POKE 47335,213
250 POKE 47345,170: POKE 47356,173: POKE 47360,0: POKE 47498,183: RETURN
260 REM IGNORE ADDRESS CHECKSUM
270 POKE 47498,0: RETURN
280 REM ALTERED DATA CHECKSUM
290 READ A1: POKE 47360,A1: RETURN
300 REM THE SECTOR EDITOR
310 READ A$: IF RIGHT$(A$,7) < >"CHANGES" THEN 310
320 FOR A = 1 TO VAL(A$): READ A1,A2,A3,A4
330 IF A1 TK THEN NEXT : RETURN
340 POKE 9984 +(A1 -T1) *4096 +A2 *256 +A3,A4: NEXT : RETURN
350 REM SWAP RWTS AT $1900 WITH THE ONE AT $B800
360 POKE 253,25: POKE 255,184: POKE 224,8: CALL 832: RETURN
370 REM FORMAT DISK
380 A$ = "VOLUME^NUMBER^FOR^COPY^=>254": HOME : GOSUB 450: HTAB 32: INPUT "";VL$:VL = VAL(VL$): IF VL$ = "" THEN VL = 254
390 IF VL >255 OR VL <0 THEN 380
400 POKE CMD,INIT:SO = S2:DV = D2:A$ = "INSERT^BLANK^DISK^IN^SLOT^" + STR$(S2) +",^DRIVE^" + STR$(D2): GOSUB 470
410 GOSUB 80: HOME :A$ = "FORMATTING": FLASH : GOSUB 450: NORMAL : CALL IO:VL = 0: RETURN
420 REM PRINT TRACK AND SECTOR #
430 VTAB 3: HTAB 10: PRINT "TRACK^$" MID$ (HX$,TK *2 +1,2)"^^SECTOR^$" MID$ (HX$,ST *2 +1,2)"^^": RETURN
440 REM CENTER MESSAGE
450 HTAB 21 - LEN(A$)/2: PRINT A$;: RETURN
460 REM PRINT MESSAGE AND WAIT
470 HOME : VTAB 11: GOSUB 450: VTAB 13:A$ = "PRESS^ANY^KEY^TO^CONTINUE": GOSUB 450: WAIT -1634,128: GET A$: RETURN
480 REM TOGGLE READ/WRITE
490 CD = (CD = 1) +1: IF CD = RD THEN A$ = "INSERT^SOURCE^DISK.":SO = S1:DV = D1: GOTO 510
500 A$ = "INSERT^TARGET^DISK.":SO = S2:DV = D2
510 IF D1 = D2 AND S1 = S2 THEN GOSUB 470: HOME
520 VTAB 1: HTAB 1: PRINT SPC( 39);: FLASH :A$ = "READING": IF CD = WR THEN A$ = "WRITING"
530 GOSUB 450: NORMAL : GOTO 80
540 REM ONERR IGNORE UNREDAABLE SECTORS
550 CALL 822:ERR = PEEK(222)
560 IF ERR = 255 OR ERR = 254 OR CD < >RD THEN 10230
570 IF ERR >15 THEN POKE 216,0: RESUME
580 PRINT CHR$(7);: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
590 RETURN
10000 REM CONFIGURATION TIME
10010 REM BLOAD RWTS HERE
10020 IF PEEK(768) * PEEK(769) = 507 THEN 10060
10030 HOME :A$ = "*^SUPER^IOB^*": GOSUB 450"PRINT:PRINT:A$="CRE AT ED ^BY ^RAY ^DARRAH ^":GOSUB 450
10040 VTAB 10:A$ = "INSERT^SUPER^IOB^DISK": GOSUB 450: PRINT : PRINT : PRINT :A$ = "PRESS^ANY^KEY^TO^CONTINUE": GOSUB 450: WAIT -16384,128: GET A$
10050 PRINT : PRINT CHR$(4)"BLOAD IOB.OBJ0,A$300"
10060 TK = ST = VL = CD = DV = SO:RD = 1:WR = 2:INIT = 4: ONERR GOTO 10220
10070 IO = 768:SLT = 779:DRV = 780:VOL = 781:TRK = 782:SCT = 783:BUF = 787:CMD = 790:OVL = 792
10080 HOME :DOS = 16:MB = 151:HX$ = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122"
10090 VTAB 8: PRINT :A$ = "ORIGINAL":S2 = 6:D2 = 1: GOSUB 10140:S1 = S2:D1 = D2
10100 PRINT : PRINT : PRINT :D2 = (D2 = 1) +1:A$ = "DUPLICATE": GOSUB 10140
10110 A$ = "FORMAT^BACK^UP^FIRST?^N" + CHR$(8): HOME : VTAB 12: GOSUB 450: GET A$: IF A$ = "Y" THEN GOSUB 380
10120 HOME :A$ = "INSERT^DISK^IN^PROPER^DRIVES.": GOSUB 470: HOME : GOTO 1000
10130 REM GET SLOT AND DRIVE #
10140 GOSUB 450: PRINT : PRINT : PRINT TAB( 10)"SLOT=>"S2 SPC( 8)"DRIVE=>"D2;
10150 HTAB 16:B$ = "7": GOSUB 10180" S2=VAL(A$)
10160 HTAB 32:B$ = "2": GOSUB 10180:D2 = VAL(A$): RETURN
10170 REM GET A KEY
10180 GET A$: IF (A$ <"1" OR A$ >B$) AND A$ < > CHR$(13) THEN 10180
10190 IF A$ = CHR$(13) THEN A$ = CHR$( PEEK( PEEK(40) + PEEK(41) *256 + PEEK(36)) -128)
10200 PRINT A$;: RETURN
10210 REM DISK ERROR
10220 ERR = PEEK(222): IF ERR >15 AND ERR <254 THEN POKE 216,0: CALL 822: RESUME
10230 IF ERR = 254 THEN PRINT "TYPE^AGAIN^PLEASE:": PRINT : RESUME
10240 IF ERR = 255 THEN STOP
10250 IF ERR = 0 THEN A$ = "INITIALIZATION^ERROR"
10260 IF ERR = 1 THEN A$ = "WRITE^PROTECTED"
10270 IF ERR = 2 THEN A$ = "VOLUME^MISMATCH^ERROR"
10280 IF ERR = 4 THEN A$ = "DRIVE^ERROR"
10290 IF ERR = 8 THEN A$ = "READ^ERROR"
10300 VTAB 12: GOSUB 450: PRINT CHR$(7): END
Text found in Super_IOB_Data_Disk.dsk/XXX.bas:
1 LIST 10120
10 REM *************************
20 REM ** SUPER IOB 1.2 **
30 REM ** BY RAY DARRAH **
40 REM *************************
50 REM SET HIMEM BELOW BUFFER AND XSET LOMEM ABOVE THE BLOADED XRWTS
60 LOMEM: 8448: HIMEM: 9983: GOTO 10010
70 REM INITIAL IOB SETUP
80 POKE BUF,39: POKE DRV,DV: POKE VOL,VL: POKE SLT,SO *16: RETURN
90 REM R/W SECTOR
100 BF = 0: POKE TRK,TK: POKE SCT,ST: POKE CMD,CD: CALL IO: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
110 RETURN
120 REM MOVE S PHASES
130 POKE 49289 +SO *16 +DV,0: POKE 49289 +SO *16,0:A = PH - INT(PH/4) *4: POKE 1144,128 +A: POKE 811,128 +S +A: POKE 813,SO *16: CALL 810: POKE 49288 +SO *16,0:PH = PH +S: IF PH <0 THEN PH = 0
140 RETURN
150 REM 16 SECTOR RWTS ALTERATIONS XX
160 REM ALTERED ENDING MARKS
170 READ A1,A2,A3,A4: POKE 47505,A1: POKE 47515,A2: POKE 47413,A3: POKE 47423,A4: RETURN
180 REM ALTERED ADDRESS MARKS
190 READ A1,A2,A3: POKE 47445,A1: POKE 47455,A2: POKE 47466,A3: RETURN
200 REM ALTERED DATA MARKS
210 READ A1,A2,A3: POKE 47335,A1: POKE 47345,A2: POKE 47356,A3: RETURN
220 REM NORMALIZER
230 POKE 47505,222: POKE 47515,170: POKE 47413,222: POKE 47423,170
240 POKE 47445,213: POKE 47455,170: POKE 47466,150: POKE 47335,213
250 POKE 47345,170: POKE 47356,173: POKE 47360,0: POKE 47498,183: RETURN
260 REM IGNORE ADDRESS CHECKSUM
270 POKE 47498,0: RETURN
280 REM ALTERED DATA CHECKSUM
290 READ A1: POKE 47360,A1: RETURN
300 REM THE SECTOR EDITOR
310 READ A$: IF RIGHT$(A$,7) < >"CHANGES" THEN 310
320 FOR A = 1 TO VAL(A$): READ A1,A2,A3,A4
330 IF A1 TK THEN NEXT : RETURN
340 POKE 9984 +(A1 -T1) *4096 +A2 *256 +A3,A4: NEXT : RETURN
350 REM SWAP RWTS AT $1900 WITH THE ONE AT $B800
360 POKE 253,25: POKE 255,184: POKE 224,8: CALL 832: RETURN
370 REM FORMAT DISK
380 A$ = "VOLUME NUMBER FOR COPY =>254": HOME : GOSUB 450: HTAB 32: INPUT "";VL$:VL = VAL(VL$): IF VL$ = "" THEN VL = 254
390 IF VL >255 OR VL <0 THEN 380
400 POKE CMD,INIT:SO = S2:DV = D2:A$ = "INSERT BLANK DISK IN SLOT " + STR$(S2) +", DRIVE " + STR$(D2): GOSUB 470
410 GOSUB 80: HOME :A$ = "FORMATTING": FLASH : GOSUB 450: NORMAL : CALL IO:VL = 0: RETURN
420 REM PRINT TRACK AND SECTOR #
430 VTAB 3: HTAB 10: PRINT "TRACK $" MID$ (HX$,TK *2 +1,2)" SECTOR $" MID$ (HX$,ST *2 +1,2)" ": RETURN
440 REM CENTER MESSAGE
450 HTAB 21 - LEN(A$)/2: PRINT A$;: RETURN
460 REM PRINT MESSAGE AND WAIT
470 HOME : VTAB 11: GOSUB 450: VTAB 13:A$ = "PRESS ANY KEY TO CONTINUE": GOSUB 450: WAIT -16384,128: GET A$: RETURN
480 REM TOGGLE READ/WRITE
490 CD = (CD = 1) +1: IF CD = RD THEN A$ = "INSERT SOURCE DISK.":SO = S1:DV = D1: GOTO 510
500 A$ = "INSERT TARGET DISK.":SO = S2:DV = D2
510 IF D1 = D2 AND S1 = S2 THEN GOSUB 470: HOME
520 VTAB 1: HTAB 1: PRINT SPC( 39);: FLASH :A$ = "READING": IF CD = WR THEN A$ = "WRITING"
530 GOSUB 450: NORMAL : GOTO 80
540 REM ONERR IGNORE UNREDAABLE SECTORS
550 CALL 822:ERR = PEEK(222)
560 IF ERR = 255 OR ERR = 254 OR CD < >RD THEN 10230
570 IF ERR >15 THEN POKE 216,0: RESUME
580 PRINT CHR$(7);: POKE BUF, PEEK(BUF) +1: IF PEEK(BUF) = >MB THEN BF = 1
590 RETURN
1000 REM BEYOND WOLFENSTEIN CONTROLLER
1010 TK = 3:ST = 0:LT = 35:CD = WR
1020 T1 = TK: GOSUB 490: GOSUB 360: ONERR GOTO 550
1030 GOSUB 430: GOSUB 100:ST = ST +1: IF ST 162 THEN PRINT CHR$(4)"BLOAD^RWTS.BEYOND^WOLF,A$1900"
10020 IF PEEK(768) * PEEK(769) = 507 THEN 10060
10030 HOME :A$ = "* SUPER IOB *": GOSUB 450: PRINT : PRINT :A$ = "CREATED BY RAY DARRAH": GOSUB 450
10040 VTAB 10:A$ = "INSERT SUPER IOB DISK": GOSUB 450: PRINT : PRINT : PRINT :A$ = "PRESS ANY KEY TO CONTINUE": GOSUB 450: WAIT -16384,128: GET A$
10050 PRINT : PRINT CHR$(4)"BL OAD IOB.OBJ0,A$300"
10060 TK = ST = VL = CD = DV = SO:RD = 1:WR = 2:INIT = 4: ONERR GOTO 10220
10070 IO = 768:SLT = 779:DRV = 780:VOL = 781:TRK = 782:SCT = 783:BUF = 787:CMD = 790:OVL = 792
10080 HOME :DOS = 16:MB = 151:HX$ = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122"
10090 VTAB 8: PRINT :A$ = "ORIGINAL":S2 = 6:D2 = 1: GOSUB 10140:S1 = S2:D1 = D2
10100 PRINT : PRINT : PRINT :D2 = (D2 = 1) +1:A$ = "DUPLICATE": GOSUB 10140
10110 A$ = "FORMAT BACK UP FIRST? N" + CHR$(8): HOME : VTAB 12: GOSUB 450: GET A$: IF A$ = "Y" THEN GOSUB 380
10120 HOME :A$ = "INSERT DISK IN PROPER DRIVES.": GOSUB 470: HOME : GOTO 1000
10130 REM GET SLOT AND DRIVE #
10140 GOSUB 450: PRINT : PRINT : PRINT TAB( 10)"SLOT=>"S2 SPC( 8)"DRIVE=>"D2;
10150 HTAB 16:B$ = "7": GOSUB 10180" S2=VAL(A$)
10160 HTAB 32:B$ = "2": GOSUB 10180:D2 = VAL(A$): RETURN
10170 REM GET A KEY
10180 GET A$: IF (A$ <"1" OR A$ >B$) AND A$ < > CHR$(13) THEN 10180
10190 IF A$ = CHR$(13) THEN A$ = CHR$( PEEK( PEEK(40) + PEEK(41) *256 + PEEK(36)) -128)
10200 PRINT A$;: RETURN
10210 REM DISK ERROR
10220 ERR = PEEK(222): IF ERR >15 AND ERR <254 THEN POKE 216,0: CALL 822: RESUME
10230 IF ERR = 254 THEN PRINT "TYPE AGAIN PLEASE:": PRINT : RESUME
10240 IF ERR = 255 THEN STOP
10250 IF ERR = 0 THEN A$ = "INITIALIZATION ERROR"
10260 IF ERR = 1 THEN A$ = "WRITE PROTECTED"
10270 IF ERR = 2 THEN A$ = "VOLUME MISMATCH ERROR"
10280 IF ERR = 4 THEN A$ = "DRIVE ERROR"
10290 IF ERR = 8 THEN A$ = "READ ERROR"
10300 VTAB 12: GOSUB 450: PRINT CHR$(7): END
- Addeddate
- 2014-11-11 02:25:54
- Emulator
- apple2e
- Emulator_ext
- dsk
- Identifier
- riag_011_Super_IOB_Data_Disk
- Scanner
- Internet Archive Python library 0.7.5