*BREAKOUT GAME - BY DAN PINAL *ZERO PAGE EQUATES WINDOW EQU $F0 MSG EQU $F2 LINE2 EQU $F4 PO EQU $F6 *MISC EQUATES RTCLOC EQU $14 ATRACT EQU $4D SDLSTL EQU $230 STICKO EQU $278 STRIGO EQU $284 AUDF1 EQU $D200 ; PITCH I AUDC1 EQU $D201 ; DISTORTION/VOLUME I RANDOM EQU $D20A SETVBV EQU $E45C ; SET VBLANK ROUTINE XITVBV EQU $E462 ; DEFFERED VBLANK EXIT CONSOL EQU $D01F * EQUATES FOR CIO CIOV EQU $E456 ; ENTRY VECTOR * COMMANDS * OPEN EQU $03 ; OPEN FOR INPUT/OUTPUT GETREC EQU $05 ; GET RECORD GETCHR EQU $07 ; GET CHARACTER(S) PUTREC EQU $09 ; PUT RECORD PUTCHR EQU $0B ; PUT CHARACTER(S) CLOSE EQU $0C ; CLOSE DEVICE STATIS EQU $0D ; STATUS REQUEST SPECIL EQU $0E ; BEGINNING OF SPECIAL ENTRY COMMANDS * * SPECIAL COMMANDS * DRAWLN EQU $11 ; DRAW LINE FILLIN EQU $12 ; DRAW LINE WITH RIGHT FILL * * AUX1 VALUES * APPEND EQU $01 ; OPEN FOR WRITE APPEND OPNIN EQU $04 ; OPEN FOR INPUT OPNOT EQU $08 ; OPEN FOR OUTPUT OPNINO EQU OPNIN+OPNOT ; OPEN FOR INPUT AND OUTPUT MXDMOD EQU $10 ; OPEN FOR MIXED MODE (E:,S:) INSCLR EQU $20 ; OPEN WITHOUT CLEARING SCREEN (E:,S:) * * O.S. RAM EQUATES *1/0 CONTROL BLOCK EQUATES ROWCRS EQU $54 ; CURRENT GRAPHICS CURSOR ROW COLCRS EQU $55 ; & $56. LSB MSB OF CURRENT GRAPHICS CURSOR COLUMN ATACHR EQU $2FB ; LAST GRAPHICS CHARACTER READ OR WRITTEN * ICHID EQU $340 ; HANDLER INDEX SET BY O.S. ICDNO EQU $341 ; DEVICE # AS IN D1:,D2: ETC ICCOM EQU $342 ; COMMAND ICSTA EQU $343 ; STATUS RETURNED ICBAL EQU $344 ; BUFFER ADDRESS LO ICBAH EQU $345 ; BUFFER ADDRESS HI ICPTL EQU $346 ; PUT ONE BYTE VECTOR LO ICPTH EQU $347 ; PUT ONE BYTE VECTOR HI ICBLL EQU $348 ; BUFFER LENGTH LO ICBLH EQU $349 ; BUFFER LENGTH HI ICAUX1 EQU $34A ; AUXI ICAUX2 EQU $34B ; AUX2 ; ; ; ORG $4000 * JMP START ; SKIP PAST SUBROUTINES * GRAPHICS CALLS TO O.S. * * GRAPHICS * ACC=GR. MODE GRAPHICS PHA ; SAVE MODE LDX #$60 ; IOCB #6 FOR GRAPHICS LDA #CLOSE ; CLOSE #6 FOR SAFETY (CAN'T OPEN AN ALREADY OPEN DEVICE) STA ICCOM,X JSR CIOV LDA #OPEN STA ICCOM,X LDA #>FNAME ; FILENAME IS S: STA ICBAL,X LDA #VBI LDX #