123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642 |
- * INIT INITIALIZATION ROUTINES FOR MS PAC MAN
- * DO THE INITIALIZATION NEEDED AT THE VERY MINIMUM.
- STRTINIT JSR ZERORAM ;ZERO RAM, TURN OFF DISPLAY
- FILL $40,#0,#$60 ;NULL OUT LOWER PART OF PAGE ZERO
- JSR ZEROSCOR
- LDX #$1F ;RANDOMIZE SEED
- SIRRLOOP EOR $00,X
- DEX
- BPL SIRRLOOP
- STA NEWRAND
- LDX #$00 ;GET JOYSTICK STATE SET UP
- STX INPTCTRL
- LDA $3900 ;SEE IF HI SCORE CART IS THERE
- CMP #$C6
- BNE NOHSC
- LDA $3904
- CMP #$FE
- BNE NOHSC
- INX
- NOHSC STX HSCHERE
- LDA #$00
- STA CTLSWA ;INITIALIZE JOYSTICKS AND SWITCHES
- STA CTLSWB
- JSR OURINIT ;INIT IT OUR WAY
- LDA #$01
- STA STLEVEL ;START DEFAULT AT CHERRY LEVEL
- RTS
- * INITIALIZE STATE OUR WAY - USED ALSO AFTER HSC STUFF
- OURINIT JSR SCREENNO ;TURN SCREEN OFF
- LDA #BLACK
- STA BACKGRND ;PUT BACKGROUND TO BLACK
- JSR LOADDLST ;INITIALIZE DISPLAY LISTS
- JSR LOADFONT ;LOAD FONT
- LDA #H(STAMPS)
- STA CHARBASE ;INSTALL THE MS PAC MAN CHARACTERS
- LDA #L(DLL)
- STA DPPL ;SET DPPL AND DPPH TO DLLIST
- LDA #H(DLL)
- STA DPPH
- JMP SCREENON ;TURN SCREEN DISPLAY ON
- * INITIALIZE THE ENTIRE GAME. ZERO DATA AREAS AND SET CONTROL REGISTERS.
- GAMEINIT JSR ZERORAM ;ZERO RAM, TURN OFF SCREEN
- JSR SCREENON ;SCREEN BACK ON AGAIN
- LDA AUTOPLAY
- BNE GIJMP0
- JSR ZEROSCOR ;ZERO SCORE IF NOT IN AUTO-PLAY
- GIJMP0 LDA #$01 ;SET UP PLAYER 2
- STA PLAYER
- LDA STLEVEL ;SET STARTING LEVEL
- STA LEVEL
- STA ADJLEVEL
- JSR SETRACK
- JSR INITLIV ;INITIALIZE NUMBER OF LIVES
- JSR SCRNINIT ;INITIALIZE SCREEN AND TIMERS
- JSR SWITCHPL ;SET UP PLAYER 1
- LDA STLEVEL ;SET STARTING LEVEL
- STA LEVEL
- STA ADJLEVEL
- JSR SETRACK
- JSR INITLIV ;INITIALIZE NUMBER OF LIVES
- * THIS ROUTINE INITIALIZES THE STATE FOR A RACK
- RACKINIT JSR SCRNINIT
- JMP COMNINIT
- * THIS ROUTINE INITIALIZES THE SCREEN FOR A RACK
- SCRNINIT JSR LOADDOTS ;SET UP DOTS
- LDA #$38 ;SET NUMBER OF DOTS BEFORE FRUIT APPEAR
- STA FDOTS
- LDA #0
- STA DOTSEATN
- STA PINKDOTS
- STA BLUEDOTS
- STA GOLDDOTS
- STA DEATHFLG
- STA EATNDOTS
- STA TRELEASE
- SCRRAND JSR RAND ;GET A RANDOM NUMBER 0..3 FOR AUTOPLAY
- AND #$03
- BEQ SCRRAND ;DO NOT ALLOW 0 (SHE DIES TOO MUCH)
- STA RACKRAND
- RTS
- * THIS ROUTINE INITIALIZES BETWEEN PLAYERS
- OTHRINIT JSR SAVEDOTS ;UPDATE DOT ARRAY
- JSR SWITCHPL ;SWITCH PLAYERS
- * THIS ROUTINE IS USED IN COMMON BY RACKINIT AND OTHRINIT
- COMNINIT LDA #$00 ;ZERO OUR LOCAL CLOCKS
- STA RTLOCAL
- STA RTLOCAL+1
- STA NORMTIME
- STA NORMTIME+1
- JSR CLRSCRN ;TURN OFF THE SCREEN
- LDX RACK
- LDA DOTCOLOR,X ;SET COLORS
- STA P0C1
- LDA BARCOLOR,X
- STA P0C2
- LDA OUTCOLOR,X
- STA P0C3
- JSR LOADDLST ;RESTORE THE DISPLAY LISTS
- JSR LOADMAP ;SET UP SCREEN
- JSR WRTINDS ;WRITE INDICATORS - GO TO LIFEINIT
- * THIS ROUTIINE INITIALIZES A NEW LIFE (OTHRINIT FALLS THROUGH TO HERE)
- LIFEINIT JSR CLEARFRT ;SET UP FOR STARTING LIFE
- JSR INITPAC
- JSR INITMON
- JSR INITSPED
- JSR CLEARTUN
- JSR SETPAC
- JSR SETFRT
- JMP SETFLSH
- * TURN THE SCREEN OFF
- SCREENOF JSR WAITVBL ;WAIT TILL VBLANK STARTED
- LDA #$7F ;TURN GRAPHICS OFF
- STA CTRL
- JSR CLRSCRN ;CLEAR OFF LIVES, FRUITS, AND MONSTERS
- LDX #$00 ;CLEAR CHARACTER MAP, $1800-$1BFF
- TXA
- SOLOOP STA $1800,X
- STA $1900,X
- STA $1A00,X
- STA $1B00,X
- DEX
- BNE SOLOOP
- SOEND STA SCRNSTAT ;ZERO SOME STATE
- STA KNLTEMP0
- STA KNLTEMP1
- RTS
- * TURN THE SCREEN OFF WITHOUT ZEROING THE SCREEN
- SCREENNO JSR WAITVBL ;WAIT TILL VBLANK STARTED
- LDA #$7F ;TURN GRAPHICS OFF
- STA CTRL
- LDA #$00
- BEQ SOEND
- * TURN THE SCREEN ON
- SCREENON LDA SCRNSTAT ;SEE IF SCREEN WAS EVEN OFF
- BNE SOOUT
- JSR LOADER ;INITIALIZE KERNAL STATE
- JSR GETCOLOR ;GET OUR COLORS
- JSR WAITVBL
- LDA #$FF ;SET THE KERNAL STATE
- STA KNLTEMP0
- INC SCRNSTAT ;SAY THE SCREEN IS ON
- LDA #GRAPHON
- STA CTRL ;TURN GRAPHICS ON
- SOOUT RTS
- * A ROUTINE TO WATI TILL VBLANK
- WAITVBL BIT MSTAT ;IS VBLANK STARTED YET?
- BPL WAITVBL
- BIT MSTAT ;IS VBLANK STILL STARTED?
- BPL WAITVBL
- RTS
- * TURN MISCELLANEOUS GRAPHICS OFF. THE MOVING OBJECTS AND INDICATORS ARE
- * TURNED OFF.
- CLRSCRN LDA #OFFSCRN ;TURN OFF MOVING OBJECTS
- LDX #$05
- CSMLOOP STA HPLIST,X
- STA DOLIST,X
- DEX
- BPL CSMLOOP
- LDY #$0B ;PUT BONUS LIFE AND FRUIT INDICATORS
- LDX #$03 ; OFF SCREEN
- LDA #OFFSCRN
- CSBLOOP STA BDLIST0,X
- STA BDLIST1,X
- INX
- INX
- INX
- INX
- DEY
- BPL CSBLOOP
- RTS ;ALL DONE
- * THIS ROUTINE WRITES ALL THE INDICATORS ON THE SCREEN
- WRTINDS LDX LEVEL ;SET TYPE OF FRUIT AT BOTTOM
- CPX #$07
- BMI WISETFRT
- LDX #$07
- WISETFRT INX
- STX RACKFRT
- JSR LOADINDS ;SET UP THE INDICATORS
- JSR WRTSCORE ;WRITE THE SCORE
- JMP WRTLIVES ;FALL THROUGH TO LIFEINIT
- * THIS ROUTINE ADVANCES THE RACK
- NEXTRACK JSR CLEARTUN
- JSR FLASHBAR
- LDA AUTOPLAY ;SEE IF IN AUTO-PLAY MODE
- BNE NRAUTO
- LDX ADJLEVEL
- LDA ANIMTAB,X ;SEE IF ANIMATION DUE
- BMI NRCONT
- JSR ANIMATE ;ANIMATE
- NRCONT INC LEVEL ;INCREMENT LEVEL
- INC ADJLEVEL ;AND ADJUSTED LEVEL
- LDA ADJLEVEL ;SEE IF OUT OF RANGE
- CMP #$0E
- BMI NRJMP0
- LDA #$06 ;SET BACK TO LEVEL 6
- STA ADJLEVEL
- NRJMP0 JSR SETRACK
- JSR RACKINIT ;INIT THE NEW RACK
- JSR READY ;PUT PLAYER READY UP
- JSR WAIT
- JMP WCLEAR
- NRAUTO INC RACK ;AUTO-PLAY NEXT RACK
- LDX RACK
- CPX #NUMRACKS
- BPL NROVER
- LDA RACKLVL,X
- STA LEVEL
- STA ADJLEVEL
- JMP RACKINIT
- NROVER LDX #STACKPTR ;ALL OVER - GO BACK TO TITLE PAGE
- TXS
- JMP ATTRACT
- SETRACK LDX ADJLEVEL
- LDA RACKTAB,X ;GET THE RACK
- STA RACK
- RTS
- * THIS ROUTINE INITIALIZES THE DISPLAY LISTS
- LOADDLST LDX #$58
- LDLLOOP0 LDA DLISTS,X ;INITIALIZE SCREEN AND INDICATOR LISTS
- STA DLIST0,X
- STA DLIST1,X
- DEX
- BPL LDLLOOP0
- LDX #$06
- LDLLOOP1 LDA TDLIST,X ;INITIALIZE TOP DISPLAY LIST
- STA TOPDLIST,X
- DEX
- BPL LDLLOOP1
- LDX #$6E
- LDLLOOP2 LDA DLLIST,X
- STA DLL,X
- DEX
- BPL LDLLOOP2
- RTS
- * THIS ROUTINE MOVES THE BLACK BARS OFF THE SCREEN
- BARSOFF LDA #OFFSCRN
- STA DLIST0+$20
- STA DLIST0+$24
- STA DLIST1+$20
- STA DLIST1+$24
- RTS
- * THIS ROUTINE FLASHES THE BAR COLOR
- FLASHBAR LDY #$02
- LDX RACK ;GET BAR COLOR
- FBLOOP LDA #BLACK ;TURN BAR OFF
- STA P0C2
- JSR FBWAIT ;PAUSE
- LDA BARCOLOR,X ;TURN BAR ON
- STA P0C2
- JSR FBWAIT ;PAUSE
- DEY
- BPL FBLOOP
- RTS
- FBWAIT LDA RTLOCAL+1 ;WAIT A BIT FOR THE BAR FLASHING
- CLC
- ADC #$0E
- STA TEMP16
- FBWLOOP JSR SEEBNORM
- LDA TEMP16
- CMP RTLOCAL+1
- BPL FBWLOOP
- RTS
- * THIS ROUTINE ZEROS OUT THE RAM
- ZERORAM JSR SCREENOF ;TURN SCREEN OFF FIRST, ZERO $1800-1BFF
- LDA #$00
- LDX #$60 ;ZERO OUT $A0-$FF
- ZRLOOP0 STA $9F,X
- DEX
- BNE ZRLOOP0
- ZRLOOP STA $1C00,X ;ZERO OUT PAGES $1C00 AND $1D00
- STA $1D00,X
- DEX
- BNE ZRLOOP
- RTS
- * THIS ROUTINE ZEROS OUT THE SCORE
- ZEROSCOR LDX #$05
- ZSCLOOP LDA INITSCOR,X
- STA P1SCORE,X
- STA P2SCORE,X
- DEX
- BPL ZSCLOOP
- RTS
- * THIS ROUTINE SIMPLY DOES A BUSY-WAIT. THIS IS USED TO HALT ACTION TEMPORARIL
- WAIT LDA RTLOCAL+1
- CLC
- ADC #$40
- STA TEMP16
- WLOOP JSR SEEBNORM
- LDA TEMP16
- CMP RTLOCAL+1
- BPL WLOOP
- RTS
- * SWITCH DATA BETWEEN PLAYERS
- SWITCHPL LDX #$0B ;SWITCH PLAYER DEPENDANT DATA
- SPLLOOP LDA LIVES,X
- LDY BAKLIVES,X
- STY LIVES,X
- STA BAKLIVES,X
- DEX
- BPL SPLLOOP
- LDX #$7F ;SWITCH DOT ARRAYS
- SDTLOOP LDA DOTARRAY,X
- LDY BAKDOTS,X
- STA BAKDOTS,X
- TYA
- STA DOTARRAY,X
- DEX
- BPL SDTLOOP
- LDA PLAYER ;SWITCH PLAYER
- EOR #$01
- STA PLAYER
- LDA LIVES ;SWITCH BACK IF NO LIVES LEFT
- BMI SWITCHPL
- RTS
- * ROUTINE TO LOAD MS PAC MAN FONT - ALSO INITIALIZES BLACK CHARACTERS
- LOADFONT LDA #L(MSFONT) ;SET UP TEMP0 FOR READS FROM FONT
- STA TEMP0
- LDA #H(MSFONT)
- STA TEMP1
- LDA #$30 ;SET UP TEMP2 FOR WRITES TO STAMP AREA
- STA TEMP2 ; FONT STARTS AT $30
- LDA #$90 ;INDEX FOR OUTER LOOP - HOW MANY CHARS
- STA TEMP4 ; GET $60 CHARACTERS FROM FONT
- LDY #$00
- LFLOOP LDA #H(STAMPS+$500) ;SET HI BYTE OF WRITE
- STA TEMP3
- LDX #$05 ;INNER LOOP IS SIX BIG (SIZE OF CHAR)
- LFLOOP0 LDA (TEMP0),Y ;READ FROM FONT
- STA (TEMP2),Y ;WRITE TO STAMPS
- INC TEMP0 ;INCREMENT READ
- BNE LFLJMP0
- INC TEMP1
- LFLJMP0 DEC TEMP3 ;DECREMENT HI BYTE OF WRITE
- DEX
- BPL LFLOOP0
- INC TEMP2 ;INCREMENT TO NEXT RAM CHARACTER
- DEC TEMP4
- BNE LFLOOP
- LDA #$FF ;SET UP THE STAMP FOR BLACK BARS
- STA STAMPS+2 ; CHARACTERS 2 AND 3
- STA STAMPS+3
- STA STAMPS+$102
- STA STAMPS+$103
- STA STAMPS+$202
- STA STAMPS+$203
- STA STAMPS+$302
- STA STAMPS+$303
- STA STAMPS+$402
- STA STAMPS+$403
- STA STAMPS+$502
- STA STAMPS+$503
- LDA #$00 ;SET UP THE STAMP FOR BLANK AREA
- STA STAMPS+0 ; CHARACTERS 2 AND 3
- STA STAMPS+1
- STA STAMPS+$100
- STA STAMPS+$101
- STA STAMPS+$200
- STA STAMPS+$201
- STA STAMPS+$300
- STA STAMPS+$301
- STA STAMPS+$400
- STA STAMPS+$401
- STA STAMPS+$500
- STA STAMPS+$501
- LDX #$1D ;ZERO OUT KERNAL LISTS
- LDA #$00
- LFLOOP1 STA MSADDR,X
- STA FRTADDR,X
- STA M0ADDR,X
- STA M1ADDR,X
- STA M2ADDR,X
- STA M3ADDR,X
- DEX
- BPL LFLOOP1
- RTS
- * THIS ROUTINE LOADS THE BITMAPS FOR THE INDICATORS AND SETS UP FRUIT INDS
- LOADINDS LDA #L(MSCHAR+48) ;TEMP0 IS START OF MS PAC
- STA TEMP0
- LDA #H(MSCHAR+48)
- STA TEMP1
- LDA #$28
- STA TEMP4
- JSR LIBODY ;DO IT - WRITE THE MS PAC INDICATOR
- LDA #L(FRUITCHR) ;TEMP0 IS START OF FRUIT
- STA TEMP0 ; ENTRY POINT FOR CHANGING FRUIT
- LDA #H(FRUITCHR)
- STA TEMP1
- LDX #$00 ;WRITE THE FRUITS
- NFLOOP LDA FRTSTMP,X ;WHERE IT'S GOING TO
- STA TEMP4
- STX TEMP15
- JSR LIBODY ;DO IT
- LDX TEMP15
- LDA TEMP0 ;MOVE TO NEXT FRUIT STAMP
- CLC
- ADC #24
- STA TEMP0
- LDA TEMP1
- ADC #$00
- STA TEMP1
- INX
- CPX #$08
- BMI NFLOOP
- LDX STLEVEL ;NOW - SET UP FRUIT INDS
- BNE LIFLOAD
- LDA RACKFRT ;IF STARTING AT TDY BEAR AND GOING TO
- CMP #$07 ; BANANA, THEN DON'T DISPLAY TDY BEAR
- BMI LIFLOAD
- INX
- LIFLOAD LDY #$2D ;INDEX INTO DISPLAY LISTS
- LIFLOOP LDA BDLIST0,Y ;CHANGE PALETTE
- AND #$1F
- ORA FRTPAL,X
- STA BDLIST0,Y
- STA BDLIST1,Y
- DEY
- LDA FRTSTMP,X ;SET STAMP
- STA BDLIST0,Y
- CLC
- ADC #$02
- STA BDLIST1,Y
- DEY
- DEY
- DEY
- INX
- CPX RACKFRT
- BMI LIFLOOP
- LIFOUT RTS
- * THIS ROUTINE DOES THE WORK FOR THE FRUIT AND PAC WRITING ROUTINES
- LIBODY LDA #H(STAMPS+$500) ;SET TEMP8 TO DESTINATION
- STA TEMP9
- LDA TEMP0 ;SET (TEMP2) TO POINT TO SECOND PART
- CLC
- ADC #$0C
- STA TEMP2
- LDA TEMP1
- ADC #$00
- STA TEMP3
- LDX #$00 ;AND DO IT
- LDY #$00
- LILOOP LDA TEMP4 ;MOVING INTO STAMPS STARTING AT TEMP4
- STA TEMP8
- LDA (TEMP0),Y ;UPPER STAMP FIRST BYTE
- STA (TEMP8,X)
- INC TEMP8
- INY
- LDA (TEMP0),Y ;UPPER STAMP SECOND BYTE
- STA (TEMP8,X)
- INC TEMP8
- DEY
- LDA (TEMP2),Y ;LOWER STAMP FIRST BYTE
- STA (TEMP8,X)
- INC TEMP8
- INY
- LDA (TEMP2),Y ;LOWER STAMP SECOND BYTE
- STA (TEMP8,X)
- INC TEMP8
- INY ;GET SET FOR NEXT
- DEC TEMP9 ;MOVE TO NEXT OUTPUT PAGE
- LDA TEMP9
- CMP #H(STAMPS)
- BPL LILOOP
- RTS
- * DEFAULT TEMPLATE FOR DISPLAY LIST
- DLISTS DB L(SCREEN),$60,H(SCREEN),$00+$04,$18 ;SCREEN - PLAY FIELD
- DB 0,$20+$1E,H(STAMPS),OFFSCRN ;MS PAC
- DB 0,$40+$1E,H(STAMPS),OFFSCRN ;FRUIT
- DB 0,$60+$1E,H(STAMPS),OFFSCRN ;MONSTER 0
- DB 0,$80+$1E,H(STAMPS),OFFSCRN ;MONSTER 1
- DB 0,$A0+$1E,H(STAMPS),OFFSCRN ;MONSTER 2
- DB 0,$C0+$1E,H(STAMPS),OFFSCRN ;MONSTER 3
- DB $02,$20+$1E,H(STAMPS),$10 ;BLACK BAR
- DB $02,$20+$1E,H(STAMPS),$88 ;BLACK BAR
- DB $00,$00
- DB $00,$20+$1E,H(STAMPS),LEFTSIDE-$01 ;INDICATOR ZONE
- DB $00,$20+$1E,H(STAMPS),LEFTSIDE+$08 ; 5 INDS WITH PAC PLT
- DB $00,$20+$1E,H(STAMPS),LEFTSIDE+$11
- DB $00,$20+$1E,H(STAMPS),LEFTSIDE+$1A
- DB $00,$20+$1E,H(STAMPS),LEFTSIDE+$23
- DB $00,$00+$1E,H(STAMPS),RGHTSIDE-$44 ;FRUIT INDICATORS
- DB $00,$00+$1E,H(STAMPS),RGHTSIDE-$3A ; STAMP AND PALETTES
- DB $00,$00+$1E,H(STAMPS),RGHTSIDE-$30 ; MUST BE SET
- DB $00,$00+$1E,H(STAMPS),RGHTSIDE-$26
- DB $00,$00+$1E,H(STAMPS),RGHTSIDE-$1C
- DB $00,$00+$1E,H(STAMPS),RGHTSIDE-$12
- DB $00,$00+$1E,H(STAMPS),RGHTSIDE-$08
- DB $00,$00
- TDLIST DB L(SCORE),$60,H(SCORE),$00+$04,$18 ;SCORE DLIST
- DB $00,$00
- * THIS IS THE DISPLAY LIST LIST. THIS WILL BE DROPPED INTO RAM.
- DLLIST DB $0F,H(NULDLIST),L(NULDLIST) ;16 BLANK LINES
- DB $08,H(NULDLIST),L(NULDLIST) ;9 BLANK LINES
- DB $85,H(TOPDLIST),L(TOPDLIST) ;SCORE ZONE
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $85,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(DLIST0),L(DLIST0) ;PF ZONE - 0
- DB $05,H(DLIST1),L(DLIST1) ;PF ZONE - 1
- DB $85,H(BDLIST0),L(BDLIST0) ;INDICATOR ZONE - 0
- DB $85,H(BDLIST1),L(BDLIST1) ;INDICATOR ZONE - 1
- DB $0F,H(NULDLIST),L(NULDLIST) ;16 BLANK LINES
- DB $0F,H(NULDLIST),L(NULDLIST) ;16 BLANK LINES
- * COLORS FOR THE RACKS
- BARCOLOR DB PINK,BLUE,BROWN,DKBLUE
- OUTCOLOR DB LTPINK,LTBLUE,LTBROWN,LTGREEN
- DOTCOLOR DB BLUE,YELLOW,PINK,LTBLUE
- * MAPPING FROM LEVEL TO RACK
- RACKTAB DB 0,0,0,1,1,1,2,2,2,2,3,3,3,3
- ANIMTAB DB -1,-1,0,-1,-1,1,-1,-1,-1,2,-1,-1,-1,2
- * MAPPING FROM RACK TO LEVEL FOR AUTO-PLAY
- RACKLVL DB $01,$03,$06,$0A
- * TABLES TO INITIALIZE SCORES AND BONUSES
- INITSCOR DB $00,$00,$00,$00,$09,$99
- * MAPPING OF FRUIT TO PALETTE AND STAMP
- FRTPAL DB $60,$60,$80,$A0,$60,$60,$C0,$20
- FRTSTMP DB $FC,$F8,$F4,$F0,$EC,$E8,$E4,$E0
|