home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib31b.dsk
/
GREAT.SHAPES.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
29 lines
1 REM **********************
2 REM * GREAT.SHAPES *
3 REM * BY MARK R. CRAVEN *
4 REM * COPYRIGHT (C) 1987 *
5 REM * BY MICROSPARC, INC *
6 REM * CONCORD, MA 01742 *
7 REM **********************
10 TEXT : HOME
20 HCOLOR= 3: ROT= 0: SCALE= 1:PD = PEEK(48896) = 76:LA = 43634 +5191 *PD:AA = 48728
30 D$ = CHR$(4)
40 L$(1) = "6000": REM FIRST LOAD ADDRESS
50 L$(2) = "1000": REM SECOND LOAD ADDRESS
60 VTAB 1: HTAB 8: PRINT "MULTIPLE SHAPE TABLE DEMO": FOR I = 1 TO 40: PRINT "-";: NEXT
70 FOR I = 1 TO 2
80 VTAB 10: HTAB 1: CALL -958: PRINT "LOADING TABLE."I;:PA = PEEK(AA) +256 * PEEK(AA +1): PRINT : PRINT D$"BLOAD TABLE."I;",A$"L$(I): REM LOAD FIRST SHAPE TABLE AT 24576, SECOND AT 4096
90 HI(I) = PEEK(LA +1):LO(I) = PEEK(LA): REM BLOAD ADDRESS POINTERS FOR HI AND LO BYTES
100 IF PD THEN IF PA < > PEEK(AA) +256 * PEEK(AA +1) THEN HI(I) = PEEK(AA +1):LO(I) = PEEK(AA): REM PRODOS ADJUSTMENT FOR 'A' PARAMETER
110 GOSUB 220
120 NEXT
130 HOME : POKE 230,32: CALL 62450: HGR : VTAB 22: PRINT "PRESS '1' FOR TABLE.1--'2' FOR TABLE.2"
140 VTAB 23: PRINT "PRESS <ESCAPE> TO EXIT PROGRAM";:
150 VTAB 23: HTAB 32: GET X$: POKE -16368,0:X = VAL(X$): ON X GOTO 180,180
160 IF X$ = CHR$(27) THEN TEXT : HOME : END
170 PRINT CHR$(7): GOTO 150: REM BEEP AND INPUT AGAIN
180 POKE 232,LO(X): POKE 233,HI(X): REM SHAPE TABLE LOCATION
190 SHAPES = PEEK(256 *HI(X) +LO(X)): REM NUMBER OF SHAPES IN THE TABLE
200 FOR J = 1 TO SHAPES: DRAW J AT 130,80: HOME : VTAB 21: HTAB 1: PRINT "SHAPE # ";J" OF TABLE."X: GOSUB 220: XDRAW J AT 130,80: NEXT
210 HOME : GOTO 130
220 VTAB 23: PRINT "PRESS <RETURN> TO CONTINUE";: GET Y$: POKE -16368,0: RETURN