home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib31b.dsk / GREAT.SHAPES.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  29 lines

  1. 1  REM  **********************
  2. 2  REM  *    GREAT.SHAPES    *
  3. 3  REM  * BY MARK R. CRAVEN  *
  4. 4  REM  * COPYRIGHT (C) 1987 *
  5. 5  REM  * BY MICROSPARC, INC *
  6. 6  REM  * CONCORD, MA  01742 *
  7. 7  REM  **********************
  8. 10  TEXT : HOME 
  9. 20  HCOLOR= 3: ROT= 0: SCALE= 1:PD =  PEEK(48896) = 76:LA = 43634 +5191 *PD:AA = 48728
  10. 30 D$ =  CHR$(4)
  11. 40 L$(1) = "6000": REM  FIRST LOAD ADDRESS
  12. 50 L$(2) = "1000": REM  SECOND LOAD ADDRESS
  13. 60  VTAB 1: HTAB 8: PRINT "MULTIPLE SHAPE TABLE DEMO": FOR I = 1 TO 40: PRINT "-";: NEXT 
  14. 70  FOR I = 1 TO 2
  15. 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
  16. 90 HI(I) =  PEEK(LA +1):LO(I) =  PEEK(LA): REM  BLOAD ADDRESS POINTERS FOR HI AND LO BYTES
  17. 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
  18. 110  GOSUB 220
  19. 120  NEXT 
  20. 130  HOME : POKE 230,32: CALL 62450: HGR : VTAB 22: PRINT "PRESS '1' FOR TABLE.1--'2' FOR TABLE.2"
  21. 140  VTAB 23: PRINT "PRESS <ESCAPE> TO EXIT PROGRAM";:
  22. 150  VTAB 23: HTAB 32: GET X$: POKE  -16368,0:X =  VAL(X$): ON X GOTO 180,180
  23. 160  IF X$ =  CHR$(27)  THEN  TEXT : HOME : END 
  24. 170  PRINT  CHR$(7): GOTO 150: REM  BEEP AND INPUT AGAIN
  25. 180  POKE 232,LO(X): POKE 233,HI(X): REM  SHAPE TABLE LOCATION
  26. 190 SHAPES =  PEEK(256 *HI(X) +LO(X)): REM  NUMBER OF SHAPES IN THE TABLE
  27. 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 
  28. 210  HOME : GOTO 130
  29. 220  VTAB 23: PRINT "PRESS <RETURN> TO CONTINUE";: GET Y$: POKE  -16368,0: RETURN