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