home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib38b.dsk
/
PSG.BROWSER.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
5KB
|
63 lines
10 REM ******************************
20 REM * PSG.BROWSER *
30 REM * BY BOB THRASHER *
40 REM * COPYRIGHT(C) 1990 *
50 REM * MINDCRAFT PUBL. CORP. *
60 REM * CONCORD, MA 01742 *
70 REM ******************************
80 ON PEEK(48896) = 76 GOTO 610: IF PEEK(104) < >96 THEN POKE 103,1: POKE 104,96: POKE 24576,0: PRINT CHR$(4)"RUN PSG.BROWSER"
90 HGR :D$ = CHR$(4): PRINT CHR$(21): ONERR GOTO 600
100 PRINT D$"BLOAD BROWSER.BIN":D = PEEK(43624):S = PEEK(43626):V = PEEK(46017)
110 FOR X = 0 TO 3:L(X) = 16384 +X *572: NEXT : POKE 34,20:N = 254::M = 32768:W = 22528
120 HOME : PRINT " PRINT SHOP GRAPHIC IMAGE BROWSER": HTAB 14: PRINT "by Bob Thrasher": HTAB 7: PRINT "(C) 1990 MindCraft Publ. Corp.": GOSUB 150: GOTO 180
130 HCOLOR= 3:X = 28:Y = 12: GOSUB 140:Y = 91: GOSUB 140: CALL M +12: RETURN
140 HPLOT X,Y TO X +93,Y TO X +93,Y +57 TO X,Y +57 TO X,Y: RETURN
150 VTAB 24: HTAB 6: PRINT "Press RETURN to continue : :";
160 VTAB 24: HTAB 33: GOSUB 630: POKE -16368,0: IF Z$ < > CHR$(13) THEN 160
170 PRINT : HOME : RETURN
180 HOME : HTAB 7: PRINT "Load graphic images from:": HTAB 6: PRINT "SLOT -, DRIVE -, VOLUME ---": PRINT : PRINT "Use (S), (D), (V) to edit or (RETURN):";
190 VTAB 22: HTAB 11: PRINT S;: HTAB 20: PRINT D;: HTAB 30: PRINT RIGHT$("00" + STR$(V),3);
200 VTAB 24: HTAB 39: GOSUB 630: ON Z$ = CHR$(27) GOTO 620: IF Z$ = CHR$(13) THEN 250
210 VTAB 24: HTAB 1: IF Z$ = "S" OR Z$ = "s" THEN 320
220 IF Z$ = "D" OR Z$ = "d" THEN 350
230 IF Z$ = "V" OR Z$ = "v" THEN 380
240 GOTO 200
250 PRINT : HOME : ONERR GOTO 270
260 PRINT D$"VERIFYZZ,S"S",D"D",V"V
270 POKE 216,0: IF PEEK(222) < >6 THEN 310
280 CALL M:U = PEEK(N) -1:T = U -3:F = 0: IF T <0 THEN T = 0
290 IF U < > -1 THEN 420
300 HOME : PRINT "There are no Print Shop compatible": PRINT "graphic files on this diskette": GOSUB 150: GOTO 180
310 HOME : PRINT "Slot "S", Drive "D", Volume "V: PRINT "is not responding to commands": PRINT "Please correct the parameters": GOSUB 150: GOTO 180
320 PRINT " Enter (1) thru (7) for slot selection:";
330 GOSUB 630: ON Z$ = CHR$(27) GOTO 180: IF Z$ <"1" OR Z$ >"7" THEN 330
340 S = VAL(Z$): GOTO 180
350 PRINT " Enter (1) or (2) for drive selection:";
360 GOSUB 630: ON Z$ = CHR$(27) GOTO 180: IF Z$ <"1" OR Z$ >"2" THEN 360
370 D = VAL(Z$): GOTO 180
380 PRINT " Enter a three digit volume number: ";:V1 = 0:V = V1
390 HTAB 36 +V1: GOSUB 630: ON Z$ = CHR$(27) GOTO 180: IF Z$ <"0" OR Z$ >"9" THEN 390
400 V = V + VAL(Z$) *((V1 = 0) *100 +(V1 = 1) *10 +(V1 = 2)): PRINT Z$;:V1 = V1 +1: IF V1 <3 THEN 390
410 GOTO 180
420 HOME : PRINT "A:";: HTAB 21: PRINT ":(N)ext, -> or DOWN": PRINT "B:";: HTAB 21: PRINT ":(P)rev, <- or UP"
430 PRINT "C:";: HTAB 21: PRINT ":(J)ump, (^Q)uit": PRINT "D:";: HTAB 21: PRINT ":(ESC) new disk : :";: CALL M +3: CALL M +6: GOSUB 130:F1 = -1
440 IF F1 = F THEN 500
450 VTAB 1: HTAB 1: PRINT : FOR X = 0 TO 3 *(U > = 4) +(U -1) *(U <4): ONERR GOTO 470
460 IF F +X < = U THEN PRINT D$"BLOAD";: FOR Y = 0 TO 29: PRINT CHR$( PEEK(W +(F +X) *30 +Y));: NEXT : PRINT ",A"L(X): GOTO 480
470 RESUME 450
480 NEXT
490 CALL M +6: POKE N,F:F1 = F: CALL M +9
500 VTAB 24: HTAB 38: GOSUB 630: IF Z$ = CHR$(27) THEN 180
510 IF Z$ = CHR$(17) THEN TEXT : HOME : END
520 IF Z$ = "N" OR Z$ = "n" OR Z$ = CHR$(21) OR Z$ = CHR$(10) THEN F = F +4: IF F >T THEN F = T
530 IF Z$ = "P" OR Z$ = "p" OR Z$ = CHR$(8) OR Z$ = CHR$(11) THEN F = F -4: IF F <0 THEN F = 0
540 IF Z$ < >"J" AND Z$ < >"j" THEN 440
550 ON U <4 GOTO 500: INVERSE : VTAB 21: HTAB 23: PRINT "N";: HTAB 30: PRINT "->";: HTAB 36: PRINT "DOWN";: VTAB 22: HTAB 23: PRINT "P";: HTAB 30: PRINT "<-";: HTAB 36: PRINT "UP";: NORMAL
560 POKE N,F: CALL M +9: VTAB 24: HTAB 38: GOSUB 630: IF Z$ = CHR$(13) THEN VTAB 21: HTAB 23: PRINT "N";: HTAB 30: PRINT "->";: HTAB 36: PRINT "DOWN";: VTAB 22: HTAB 23: PRINT "P";: HTAB 30: PRINT "<-";: HTAB 36: PRINT "UP";: GOTO 440
570 IF Z$ = "N" OR Z$ = "n" OR Z$ = CHR$(21) OR Z$ = CHR$(10) THEN F = F +1: IF F >T THEN F = T
580 IF Z$ = "P" OR Z$ = "p" OR Z$ = CHR$(8) OR Z$ = CHR$(11) THEN F = F -1: IF F <0 THEN F = 0
590 GOTO 560
600 TEXT : HOME : PRINT "Fatal Error --": PRINT : INVERSE : PRINT " BROWSER.BIN ": NORMAL : PRINT : PRINT "must be on this diskette...": PRINT : END
610 HOME : PRINT "THIS PROGRAM RUNS ONLY UNDER DOS 3.3": END
620 TEXT : HOME : END
630 WAIT -16384,128:ZZ = PEEK( -16384):Z$ = CHR$(ZZ -128): POKE -16368,0: RETURN