Scr #10 ( GRAPHICS - SUBROUTINE WORD ) : SUBROUTINE O VARIABLE -2 ALLOT [COMPILE] ASSEMBLER ?EXEC !CSP ; --> Thanks to Valpar International for the use of this word. Scr #11 ( VBLANK EQUATES, INSTALL ) HEX 224 @ CONSTANT OLDBLANK E45C CONSTANT SETVBL E462 CONSTANT JVB DECIMAL CODE INSTALL ( ADDR -- ) # 1 LDA, SETUP JSR, XSAVE STX, N LDY, N 1+ LDX, # 7 LDA, SETVBL JSR, XSAVE LDX, NEXT JMP, C; --> SCR #12 ( GRAPHICS - VBLANK ROUTINE ) 0 CONSTANT OFF 1 CONSTANT ON : VBLANK ( ADDR/ON or OFF -- ) IF INSTALL ELSE OLDBLANK INSTALL ENDIF ; --> To use: Compose SUBROUTINE, then turn on with: SUBROUTINE ON VBLANK Turn off with: OFF VBLANK Scr #13 ( GRAPHICS - TEST VBLANK ) SUBROUTINE ROTBAK 712 INC, ( INCREMENT COLOR4 ) JVB JMP, ( MUST END THIS WAY ) : TEST ROTBAK ON VBLANK ; Scr #20 ( DISPLAY LIST INSTALLATION ) : DLI ( ADDR/ON or OFF -- ) IF 192 54286 C! 512 ! ELSE 64 54286 C! ENDIF; --> To use: Compose SUBROUTINE, then turn on with: SUBROUTINE ON DLI Turn off with: OFF DLI Scr #21 ( MODIFY THE GR. 7 DISPLAY LIST) : DLIMOD 7 GR. 560 @ ( FIND DISPLAY LIST ) DUP 85 + SWAP 6 + DO I C@ 128 + I C! LOOP ; --> Sets the high bit in every mode 7 (Antic D) line. Scr #22 ( DISPLAY LIST INTERRUPT ) HEX 0 VARIABLE COUNTR D01A CONSTANT COLBAK D40A CONSTANT WSYNC 0200 CONSTANT COLTAB SUBROUTINE GR7DLI PHA, TXA, PHA, COUNTR INC, WSYNC STA, COLBAK STA, # 4F CPX, EQ IF, # 0 LDA, COUNTR STA, ENDIF, PLA, TAX, PLA, RTI, C; DECIMAL --> SCR #23 ( 80 COLORS ON THE SCREEN ! ) : 80COLORS DLIMOD GR7DLI ON DLI ; SCR #24 ( GRAPHICS 7 RAINBOW ) 0 VARIABLE RESET SUBROUTINE RAINBOW PHA, COUNTR INC, COUNTR LDA, WSYNC STA, COLBAK STA, SEC, RESET SBC, # 79 CMP, EQ IF, RESET LDA, COUNTR STA, ENDIF, PLA, RTI, C; : SPECTRUM DLIMOD RESET @ COUNTR ! RAINBOW ON DLI ; --> Scr #25 ( CYCLE THE COLORS IN VBLANK ) 1 VARIALBLE MVFLG SUBROUTINE CYCLE PHA, MVFLG LDA, EQ IF, COUNTR INC, ENDIF, PLA, JVB JMP, C; 1 CONSTANT UP 0 CONSTANT DOWN : MOVECOLORS ( UP or DOWN -- ) MVFLG ! CYCLE ON VBLANK SPECTRUM ; -->
Back to previous page