home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Glitch Apple Disk Collection
/
2014.glitch.apple.collection.zip
/
indexed
/
FRENCHPC.DSK
/
SCRUNCHER3.bas
< prev
next >
Wrap
BASIC Source File
|
2014-09-09
|
3KB
|
75 lines
5 FOR X = 768 TO 797: READ Y: POKE X,Y: NEXT
10 D$ = CHR$(4)
20 IF PEEK(24576) = 76 AND PEEK(24578) = 96 THEN 40
30 PRINT : PRINT D$"BLOADSCRUNCH"
35 POKE 24587,112
40 TEXT : HOME
50 PRINT " HI-RES PICTURE SCRUNCHER/UNSCRUNCHER"
60 POKE 34,2: HOME : VTAB 5: PRINT " [L] LOAD PICTURE"
70 PRINT : PRINT " [S] SAVE PICTURE"
72 PRINT : PRINT " [F] FLIP PAGES"
75 PRINT : PRINT " [1] VIEW PAGE 1 ($2000)"
77 PRINT : PRINT " [2] VIEW PAGE 2 ($4000)"
78 PRINT : PRINT " [X] MOVE PAGE 1 TO 2"
79 PRINT : PRINT " [Y] MOVE PAGE 2 TO 1"
80 PRINT : PRINT " [Q] QUIT"
90 VTAB 3: PRINT "SELECT:";: POKE -16368,0: GET M$: PRINT M$
100 IF M$ = "Q" THEN TEXT : VTAB 22: END
110 IF M$ = "L" THEN 200
120 IF M$ = "S" THEN 200
130 IF M$ = "1" OR M$ = "2" THEN 500
140 IF M$ = "X" THEN 600
145 IF M$ = "Y" THEN 650
147 IF M$ = "F" THEN 3000
150 GOTO 90
200 HOME
203 VTAB 3: IF M$ = "L" THEN PRINT " LOAD FILE": GOTO 210
205 PRINT " SAVE FILE"
210 VTAB 7: PRINT "(OR [RETURN] FOR CATALOG)"
215 VTAB 4
220 PRINT : INPUT "FILENAME:";F$
230 IF F$ = "" THEN HOME : PRINT D$"CATALOG": PRINT : PRINT "PRESS ANY KEY:";: POKE -16368,0: GET A$: PRINT A$: GOTO 220
235 CALL -958
240 IF M$ = "S" THEN 305
250 PRINT : PRINT D$"BLOAD";F$
260 IF PEEK(43617) < >31 AND PEEK(43617) < >32 THEN 275
261 TEXT : VTAB 15: PRINT " (NORMAL PICTURE LOADED IN PAGE ";
262 IF PEEK(43635) = 64 THEN PRINT "2)": GOTO 300
264 PRINT "1)"
268 GOTO 300
275 TEXT
276 VTAB 13: PRINT "LOAD SCRUNCHED PICTURE INTO PAGE 1 OR 2:";: POKE -16368,0: GET P$: PRINT P$
277 GOSUB 2000
280 PRINT : PRINT D$"BLOAD";F$;",A$7000"
290 VTAB 15: PRINT " (SCRUNCHED PICTURE LOADED)"
295 POKE -16300,0: CALL 24579
300 VTAB 17: PRINT "PRESS ANY KEY:";: POKE -16368,0: GET A$: PRINT A$: GOTO 60
310 VTAB 9: PRINT "SAVE PAGE ";: INVERSE : PRINT "1";: NORMAL : PRINT " OR ";: INVERSE : PRINT "2";: NORMAL : PRINT " :";: POKE -16368,0: GET P$: PRINT P$
315 VTAB 7: PRINT "SAVE AS A ";: INVERSE : PRINT "S";: NORMAL : PRINT "CRUNCHED OR ";: INVERSE : PRINT "U";: NORMAL : PRINT "NSCRUNCHED PICTURE:";: POKE -16368,0: GET A$: PRINT A$
320 IF A$ = "U" THEN PRINT D$"BSAVE ";F$;",A$"; VAL(P$) *2;"000,L$1FF8": GOTO 60
330 IF A$ < >"S" THEN 310
335 GOSUB 2000
340 CALL 24576
350 L = PEEK(24590) *256 + PEEK(24589)
360 PRINT D$"BSAVE";F$;",A$7000,L";L
370 GOTO 60
500 POKE -16304,0: POKE -16302,0: POKE -16297,0
510 IF M$ = "1" THEN POKE -16300,0: GOTO 520
515 POKE -16299,0
520 POKE -16368,0: GET A$: PRINT A$: TEXT : GOTO 60
600 POKE 773,32: POKE 781,63: POKE 789,64: CALL 768
610 GOTO 60
650 POKE 773,64: POKE 781,95: POKE 789,32: CALL 768
660 GOTO 60
2000 IF P$ = "1" THEN POKE 24583,32: POKE 24585,63
2010 IF P$ = "2" THEN POKE 24583,64: POKE 24585,95
2020 RETURN
3000 POKE -16304,0: POKE -16302,0: POKE -16297,0: POKE -16299,0
3010 FOR X = 1 TO 200: NEXT
3020 X = PEEK( -16336): IF PEEK( -16384) >127 THEN 3100
3030 POKE -16300,0
3040 FOR X = 1 TO 200: NEXT
3050 X = PEEK( -16336): IF PEEK( -16384) >127 THEN 3100
3060 GOTO 3000
3100 GOTO 40
10000 DATA 169,0,133,60,169,32,133,61,169,255,133,62,169,63,133,63,169,0,133,66,169,64,133,67,160,0,32,44,254,96