home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib29b.dsk
/
PS.UTILITY.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
5KB
|
136 lines
10 REM **********************
20 REM * PS.UTILITY *
30 REM * BY STEVE ARMSTRONG *
40 REM * COPYRIGHT (C) 1986 *
50 REM * BY MICROSPARC, INC *
60 REM * CONCORD, MA 01742 *
70 REM **********************
80 LOMEM: 16988: GOSUB 450:EF = 1: ONERR GOTO 1270
90 PRINT CHR$(4)"BLOAD PS.CONVERT"
100 REM MENU
110 EF = 2: GOSUB 390
120 PRINT
130 PRINT
140 PRINT
150 HTAB 5: PRINT "PS.UTILITY BY STEVE ARMSTRONG"
160 HTAB 3: PRINT "COPYRIGHT 1986 BY MICROSPARC, INC"
170 HTAB 3: PRINT "APPLE HI-RES TO PRINT SHOP GRAPHIC"
180 PRINT
190 PRINT
200 HTAB 5: PRINT "1. LOAD HIRES SCREEN"
210 PRINT
220 HTAB 5: PRINT "2. FRAME PRINT SHOP GRAPHIC"
230 PRINT
240 HTAB 5: PRINT "3. GENERATE PRINT SHOP GRAPHIC FILE"
250 PRINT
260 HTAB 5: PRINT "4. HELP SCREEN"
270 PRINT
280 HTAB 5: PRINT "5. QUIT"
290 PRINT
300 PRINT
310 HTAB 3: PRINT "ENTER CHOICE (1 - 5):";
320 HTAB 24: VTAB 20: GET A$: PRINT A$
330 IF A$ = "5" THEN 360
340 IF A$ <"1" OR A$ >"5" THEN PRINT CHR$(7): GOTO 320
350 ON VAL(A$) GOSUB 520,610,920,1060: GOTO 370
360 HOME : VTAB 10: INPUT "ARE YOU SURE YOU WANT TO QUIT? ";YN$: ON YN$ < >"Y" AND YN$ < > CHR$(121) GOTO 110: END
370 GOTO 100
380 REM SET SCREEN TO TEXT
390 TEXT : HOME
400 RETURN
410 REM SET SCREEN TO GRAPHICS
420 POKE -16300,0: POKE -16302,0: POKE -16304,0: POKE -16297,0
430 RETURN
440 REM INITIALIZATION
450 ROT= 0: SCALE= 1: TEXT : HOME
460 SH = 16964
470 RESTORE : FOR ZZ = SH TO SH +22: READ BY: POKE ZZ,BY: NEXT
480 POKE 232,SH - INT(SH/256) *256
490 POKE 233, INT(SH/256)
500 RETURN
510 REM LOADING HI-RES PICTURE
520 GOSUB 390: VTAB 10
530 PRINT "ENTER PICTURE FILE NAME"
540 PRINT "(<RETURN> TO CANCEL, ? FOR CATALOG)": INPUT "-> ";PC$
550 IF PC$ = "" THEN 600
560 IF PC$ = "?" THEN PRINT CHR$(4) LEFT$("CATALOG",7 -4 *( PEEK(48896) = 76)): GOTO 530
570 HOME : VTAB 10
580 HGR : POKE -16302,0
590 PRINT CHR$(4);"BLOAD ";PC$;",A$2000"
600 RETURN
610 REM FRAMING GRAPHIC
620 GOSUB 420: POKE 230,32
630 X = 139:Y = 95: POKE 49168,0
640 SCALE= 10
650 POKE 49168,0: XDRAW 2 AT X,Y: FOR ZZ = 1 TO 10: NEXT : XDRAW 2 AT X,Y
660 X3 = PEEK(49152): IF X3 <128 THEN 650
670 POKE 49168,0:X3 = PEEK(49152)
680 IF X3 < >8 THEN 700
690 X = X -8: IF X < = 0 THEN X = 0: GOTO 910
700 IF X3 < >21 THEN 720
710 X = X +8: IF X > = 191 THEN X = 191: GOTO 910
720 IF X3 < >65 AND X3 < >11 THEN 740
730 Y = Y -8: IF Y < = 0 THEN Y = 0: GOTO 910
740 IF X3 < >90 AND X3 < >10 THEN 760
750 Y = Y +8: IF Y > = 140 THEN Y = 140: GOTO 910
760 IF X3 < >81 THEN 810
770 SCALE= 1
780 POKE 49168,0
790 GOSUB 390
800 RETURN
810 IF X3 < >73 THEN 830
820 Y = Y -1: IF Y < = 0 THEN Y = 0: GOTO 910
830 IF X3 < >77 THEN 850
840 Y = Y +1: IF Y >140 THEN Y = 140: GOTO 910
850 IF X3 < >74 THEN 870
860 X = X -1: IF X <0 THEN X = 0: GOTO 910
870 IF X3 < >75 THEN 890
880 X = X +1: IF X >191 THEN X = 191: GOTO 910
890 IF X3 < >63 AND X3 < >47 THEN 910
900 GOSUB 1060: GOSUB 420
910 POKE 49168,0: GOTO 650
920 REM CONVERTING AND SAVING GRAPHIC
930 GOSUB 380: VTAB 10
940 PRINT "ENTER FILE NAME FOR PRINT SHOP GRAPHIC"
950 PRINT "(<RETURN> TO CANCEL, ? FOR CATALOG)": INPUT "-> ";PS$
960 IF PS$ = "" THEN 1020
970 IF PS$ = "?" THEN PRINT CHR$(4) LEFT$("CATALOG",7 -4 *( PEEK(48896) = 76)): GOTO 940
980 GOSUB 420
990 HCOLOR= 3
1000 POKE 950,X -256 *(X >255): POKE 951,X >255: POKE 952,Y: CALL 768
1010 PRINT CHR$(4);"BSAVE ";PS$;",A$4000,L$240"
1020 RETURN
1030 DATA 2,0,6,0,8,0,5,0
1040 DATA 45,45,45,45,53,54,54
1050 DATA 63,63,63,63,39,36,36,0
1060 REM HELP SCREEN
1070 GOSUB 380: PRINT : PRINT
1080 HTAB 6: PRINT "HELP SCREEN"
1090 PRINT
1100 HTAB 4: PRINT "RECTANGLE CURSOR MOVEMENT"
1110 PRINT
1120 HTAB 4: PRINT "<- LEFT 8 PIXELS"
1130 HTAB 4: PRINT "-> RIGHT 8 PIXELS"
1140 HTAB 4: PRINT "A UP 8 PIXELS"
1150 HTAB 4: PRINT "Z DOWN 8 PIXELS"
1160 HTAB 4: PRINT "J LEFT 1 PIXEL"
1170 HTAB 4: PRINT "K RIGHT 1 PIXEL"
1180 HTAB 4: PRINT "I UP 1 PIXEL"
1190 HTAB 4: PRINT "M DOWN 1 PIXEL"
1200 PRINT
1210 HTAB 4: PRINT "Q DONE WITH CURSOR POSITIONING"
1220 PRINT
1230 HTAB 4: PRINT "? DISPLAY HELP SCREEN"
1240 PRINT : PRINT
1250 HTAB 4: PRINT "PRESS <RETURN>";: GET A$: PRINT A$: GOSUB 380
1260 RETURN
1270 E = PEEK(222):EL = PEEK(218) +256 * PEEK(219): CALL -3288
1280 IF E = 6 AND EF = 1 THEN EM$ = "PS.CONVERT FILE NOT ON THIS DISK": GOTO 1350
1290 IF E = 6 THEN EM$ = "FILE NOT ON THIS DISK": GOTO 1340
1300 IF E = 8 THEN EM$ = "I/O ERROR--CHECK DRIVE DOOR": GOTO 1340
1310 IF E = 13 THEN EM$ = "FILE TYPE MISMATCH--MUST BE BINARY"
1320 IF E = 11 AND PEEK(48896) = 76 THEN EM$ = "ILLEGAL PRODOS FILE NAME"
1330 EM$ = "ERROR " + STR$(E) +" IN LINE " + STR$(EL) +"."
1340 HOME : TEXT : VTAB 12: PRINT EM$: VTAB 21: PRINT "PRESS <RETURN> TO CONTINUE";: GET Z$: PRINT : ON EF GOTO 80,110
1350 HOME : TEXT : VTAB 12: PRINT EM$: VTAB 21: PRINT "<RETURN> TO CONTINUE, <ESC> TO QUIT";: GET Z$: PRINT : ON Z$ = CHR$(27) GOTO 1360: GOTO 80
1360 END