Source:Eamon DOS Remover
Jump to navigation
Jump to search
This page is a verbatim reproduction of original source material and should not be edited except for maintenance. | |
Description |
The Applesoft BASIC source code of the Eamon utility program Eamon DOS Remover. |
---|---|
Source | |
Date |
c. 1988 |
Author | |
License |
The use of this item is permitted on the grounds that it's free or in the public domain. |
10 TEXT : HOME :D$ = CHR$ (4)
20 FOR J = 768 TO 800: READ I: POKE J,I: NEXT
30 DATA 169,3,160,10,32,217,3,96,0,0,1,96,1,0,0,0,27,3,0,32,0,0,1,0,0,96,1,0,1,239,216,0,0
40 HTAB 14: PRINT "DOS REMOVER": PRINT : PRINT : PRINT "USE THIS *ONLY* WITH UNMODIFIED DOS 3.3": PRINT : PRINT
50 PRINT "SLOT?";: GET S$: PRINT S$:S = VAL (S$): IF S < 1 OR S > 7 THEN 50
60 PRINT : PRINT "DRIVE?";: GET S$: PRINT S$:D = VAL (S$): IF D < > 1 AND D < > 2 THEN 60
70 POKE 779,S * 16: POKE 793,S * 16: POKE 780,D: POKE 794,D
80 POKE 781,0: POKE 792,0
90 POKE 791,0: POKE 790,1
100 PRINT : PRINT "INSERT DISK TO BE MODIFIED, AND PRESS 'C' TO REMOVE DOS, OR ANY OTHER KEY TO ABORT":
110 GET A$: PRINT A$: IF A$ < > "C" THEN END
120 POKE 782,17: POKE 783,0: POKE 786,0: POKE 787,32
130 CALL 768: GOSUB 2000
150 FOR X = 60 TO 67 STEP 4: POKE 8192 + X,255: POKE 8193 + X,255: NEXT
160 POKE 790,2: CALL 768: GOSUB 2000
170 FOR X = 8192 TO 8448: POKE X,0: NEXT
180 POKE 786,0: POKE 787,32
190 POKE 790,2: FOR X = 0 TO 2: FOR Y = 0 TO 15: POKE 782,X: POKE 783,Y: CALL 768: GOSUB 2000
210 NEXT : NEXT
300 FOR I = 8192 TO 8345: READ A: POKE I,A: NEXT
320 FOR I = 12288 TO 12323: READ A: POKE I,A: NEXT
330 CALL 12288
400 END
1500 DATA 0,173,232,192,169,240,133,54,169
1510 DATA 253,133,55,32,88,252,32,221,251
1520 DATA 169,0,141,5,3,172,5,3,185
1530 DATA 51,8,32,237,253,238,5,3,173
1540 DATA 5,3,201,96,240,3,76,23,8
1550 DATA 32,27,253,76,0,198,212,200,201
1560 DATA 211,160,196,201,211,203,197,212,212
1570 DATA 197,160,196,207,197,211,160,206,207
1580 DATA 212,160,200,193,214,197,160,196,207
1590 DATA 211,160,207,206,160,201,212,141,208
1600 DATA 204,193,195,197,160,212,200,197,160
1610 DATA 211,217,211,212,197,205,160,196,201
1620 DATA 211,203,197,212,212,197,160,201,206
1630 DATA 160,196,210,201,214,197,160,163,177
1640 DATA 141,193,206,196,160,208,210,197,211
1650 DATA 211,160,188,210,197,212,213,210,206
1660 DATA 190,141,160,160,160,160,160,160,160
1670 DATA 160
1700 DATA 169,48,160,10,32,217,3,96,0
1710 DATA 0,1,96,1,0,0,0,32,48
1720 DATA 0,32,0,0,2,0,0,96,1
1730 DATA 0,0,0,0,0,0,1,239,216
2000 E = PEEK (791): IF E < > 16 AND E < > 64 AND E < > 128 THEN POKE 791,0: RETURN
2020 IF E = 16 THEN PRINT : PRINT "WRITE PROTECTED"
2040 IF E = 64 THEN PRINT : PRINT "DRIVE ERROR"
2050 IF E = 128 THEN PRINT : PRINT "READ ERROR"
2070 PRINT CHR$ (7); CHR$ (7): TEXT : END