; "Treasure Cove" ; Designed by Brett Bilbrey, Marion Nalepa, and Michael Toth ; ; This Z80 assembly source file will assembly using ZMac to an exact ; byte-for-byte 8K replicate of the the Bally/Astrocade cartridge ; game, "Treasure Cove." ; ; This disassembly of the cartridge begun by Adam Trionfo on ; August 9, 2011. This disassembly is based upon the incomplete ; printout of source code sent by Brett Bilbrey to Adam Trionfo ; in April of 2009. ; ; - Version (.13) - 8/25/2011 (Update by RCD) ; - VERY Minor change. Disassembled a couple of lines ; at $327A. ; ; - Version (.12) - 8/25/2011 (Update by RCD) ; - Disassembled Music Routines at $2C54-$2FFF ; and $3F20-$3FFF ; ; - Version (.11) - 8/20/2011 (Update by RCD) ; - Cleaned up Source Code ; - RAM cells noted ; ; - Version (.10) - August 19, 2011 ; - This is a MAJOR revision, and thus code revision history ; jumps from .02 to .10 (there were NO other released versions) ; Version .02 will be kept around because it is nearly 100% ; identical to the incomplete printout. Version .02 can be ; considered a non-functional version that can be referred ; back to in the future for reference. ; - This version of the source is the first to match ; byte-for-byte with the 1983 cartridge release. ; - This release worked backward from the cartridge dump rather ; than the re-typed source code. The code was disassembled ; using a Z80 disassembler and then the original comments ; were added back in. This allowed a HUGE amount of the ; original code to be saved (well over 90%)! ; - The incomplete printout's code of version .02 ended at ; about 3K (byte $2C52 of the ROM). The rest of the 5K of ; the program in this release was added to this version. ; Thus ALL work after that point is new to this release. ; - Some of the specific changes in this version include: ; - Located nearly all patterns and commented them. ; - Located all of the title screen. ; - Disassembled and began commenting of Music Score ; from $255D-$2D5C. ; ; -- Version (.02) - March 3, 2010 ; - First release of retyped incomplete source. ; - Assembles fine using Zmac. ; - This version does NOT run. ; - When run under MESS .135, it "locks up." When the ; debugger is used, the game is getting "stuck" in the WRITP ; routine in the system ROM. The problem has been traced ; back to when the cartridge calls the WRITP routine ; from $27DE. The game never returns from this call. ; - Richard Degler suggests, "Sounds like the Stack area is ; getting clobbered by the WRITPattern - there is no bounds ; checking so if it draws too far down it just can't find ; its way back." ; ; -- Version (.01) - March 1, 2010 ; - Source typed in by Adam Trionfo ; - Typed-in from January 22 - March 1, 2010 ; - Assembles without errors. ; - A few changes to the source had to be made: ; - Lines 386 and 387: The label HALT was changed to HALT1 ; - Lines 426 and 442: The label POP changed to POP1 ; INCLUDE "HVGLIB.H" ; Home Video Game Library ; OTHER EQUATES (BYTE VALUES) NUMFIS EQU 26 ; NUMber of FISh DMAX EQU 10 ; Diver patterns MAXimum SNDCLR EQU $74 ; SaND CoLoR = 116 (YELLOW) GREEN EQU $CC ; = 204 BLUE EQU $F8 ; = 248 (DARK BLUE) BLACK EQU $00 OYSPD EQU 10 ; THIS VARIES OCT Y SPEED BDELT EQU $45 ; Boat [positive] DELTa ?? [to BODXL] CLEAN EQU $0EF3 ; CLEAR (3827 bytes) TO END OF VECTOR AREA FLOAT EQU $0015 ; ANTI-GRAV FACTOR ; RAM STORAGE EQUATES ; for FISH 1 to 6 ; note: bytes +15 and +16 store +VBOAL and +VBOAH, swapped if +17 counted down to 0 ?? 1 or 2 VECT1 EQU $4E88 ; VECTor blocks [18-bytes each ??] IndeXed from FISHVT table VECT2 EQU $4E9A VECT3 EQU $4EAC VECT4 EQU $4EBE VECT5 EQU $4ED0 VECT6 EQU $4EE2 GSTACK EQU $4F53 ; Game STACK area CONVRT EQU $4F55 ; CONVeRT ?? to BCD for DISNUM SCROL EQU $4F56 ; SCROLling Color 3 value ?? for title MUZRET EQU $4F58 ; MUSIC RAM BLOCK [init to $90,xx,$B0,xxxx,$C9] INSTAT EQU $4F5E ; IN ?? STATe 0 / 1=drawing flag BONTOT EQU $4F5F ; BONus TOTal ?? 3-bytes LEVSCO EQU $4F62 ; LEVel SCOre ?? 3-bytes IYSAVE EQU $4F65 ; IY SAVE ?? word ANISPD EQU $4F67 ; ANImation SPeeD ?? upper limit of ANIMAT upcounter ?? OXSTAT EQU $4F68 ; OXygen STATus ?? TIMER EQU $4F69 ; oxyger TIMER ?? downcounter resets to 20 OXCONT EQU $4F6A ; OXygen CONTrol ?? 100 to 0=dead OCT3 EQU $4F6B ; OCTopus 3 ?? SUBV1 EQU $4F6D ; ?? SUBroutine table ?? Value 1 ?? SUBV2 EQU $4F6F ; ?? SUBroutine table ?? Value 2 ?? OCTPAT EQU $4F71 ; OCTopus PATtern ?? OCT2 EQU $4F73 ; OCTopus 2 ?? OCTANI EQU $4F75 ; OCTopus ANImation step ?? CMF EQU $4F76 ; CMF ?? TCOUNT EQU $4F77 ; Treasure COUNT 0 to 4=EOB: SAVEBC EQU $4F78 ; ?? temp word TTAB EQU $4F7A ; 4 TEMP. WORD ENTRIES ANIMAT EQU $4F82 ; ANIMATion step ?? 0 to ANISPD VECLIM EQU $4F83 ; VECtor LIMit table ?? DELTA EQU $4F85 ; diver [positive] DELTA DIVER EQU $4F87 ; current DIVER pattern BOMAG EQU $4F89 ; BOat MAGic register ?? non-IndeXed Vector Block BOSTAT EQU BOMAG+VBSTAT BOTIME EQU BOMAG+VBTIMB BODXL EQU BOMAG+VBDXL BODXH EQU BOMAG+VBDXH BOXL EQU BOMAG+VBXL BOXH EQU BOMAG+VBXH BOXCK EQU BOMAG+VBXCHK BODYL EQU BOMAG+VBDYL BODYH EQU BOMAG+VBDYH BOYL EQU BOMAG+VBYL BOYH EQU BOMAG+VBYH BOYCK EQU BOMAG+VBYCHK OMAG EQU $4F96 ; Octopus MAGic register ?? non-IndeXed Vector Block OSTAT EQU OMAG+VBSTAT OTIME EQU OMAG+VBTIMB ODXL EQU OMAG+VBDXL OXH EQU OMAG+VBXH OXCK EQU OMAG+VBXCHK ODYL EQU OMAG+VBDYL OYH EQU OMAG+VBYH OYCK EQU OMAG+VBYCHK VBMREG EQU $4FA3 ; Vector Block, Magic Register [IndeXed, for diver] MSTACK EQU $4FB8 ; Music Stack Pointer PBLOCK EQU $4FBA ; Player BLOCK ?? 4 blocks of ?? PLAY1 EQU PBLOCK ; 5-bytes each ?? Indexed from PLATAB table PLAY2 EQU $4FBF PLAY3 EQU $4FC4 PLAY4 EQU $4FC9 NUMPLA EQU NUMPLY ; NUMDIV EQU ENDSCR ; both $4FF4 ?? SWAP EQU NUMDIV CPP EQU $4FF5 ; Current Player Port ($10 to $13) PIN EQU $4FF6 ; COUNT EQU $4FFB ; DINDEX EQU $4FFC ; VECTOR EQU $4FFD ; ; ORG FIRSTC ; FIRST address in Cartridge JP L2003 ; Autostart "Treasure Cove" ; First Byte of "Treasure Cove" Program ; Initialize $4000-$4FFF to all zeros L2003: LD HL,$4000 ; Source for LDIR LD DE,$4001 ; Destination for LDIR LD BC,$0FFF ; Counter for LDIR LD (HL),L ; Load L ($00) into 16384 LDIR IM 2 ; Set Interrupt Mode 2 Condition LD SP,GSTACK SYSTEM INTPC ; UPI INTerPret with Context create ; DO COLSET ; UPI COLors SET DW $3131 ; ... Address of Color Table ; DO SETOUT ; UPI SET some OUTput ports DB 95*2 ; ... Set VERBL (Port $0A) VERtical Blanking Line DB 26 ; ... Set HORCB (Port $09) HORizontal Color Boundary DB 0 ; ... Set INMOD (Port $0E) INterrupt MODe ; DO RECTAN ; UPI paint a RECTANgle DB 0 ; ... X Coordinate DB 87 ; ... Y Coordinate DB 160 ; ... X Size (Width) DB 8 ; ... Y Size (Height) DB $55 ; ... Color Mask to Write Rectangle with ; DO STRDIS ; UPI STRing DISplay DB 38 ; ... X Coordinate DB 1 ; ... Y Coordinate DB 01001100B ; ... Options (2x2 Pixels, Color=3 on Color=0) DW TREAS ; ... String "TREASURE" ; DO STRDIS ; UPI STRing DISplay DB 92 ; ... X Coordinate DB 16 ; ... Y Coordinate DB 01001100B ; ... Options (2x2 Pixels, Color=3 on Color=0) DW COVE ; ... String "COVE" ; DO BMUSIC ; UPI Begin playing MUSIC DW MSTACK ; ... Music Stack Pointer DB $FC ; ... Setup Voices, Use Tone A, B and C DW L2C54 ; ... Score Address for BACKGROUND music ; DONT XINTC ; UPI eXit INTerpreter with Context ; LD A,$FF LD ($4FEC),A SYSSUK RECTAN ; UPI paint a RECTANgle DB 23 ; ... X DB 86 ; ... Y DB 138 ; ... Width DB 2 ; ... Height DB $55 ; ... Color ; LD BC,PATTAB ; Table of Patterns CALL NEXPAT ; do Draw ALL PATterns [not First Diver Pat !!] LD DE,L286E LD HL,$3000 ; First Diver Pattern LD (DIVER),HL LD A,10 LD (ANISPD),A CALL STADIV ; Start the Diver SYSSUK COLSET ; UPI COLors SET DW TITCOL ; ... Table Address ; LD HL,$0020 ; Setup Diver Vector LD (DELTA),HL LD A,9 LD (PIN),A LD HL,TITLIM LD (VECLIM),HL LD A,170 ; Interrupt Line Number OUT (INLIN),A ; Port $F, write INterrupt LINe LD A,3 LD (SCROL),A ; init SCROlling colors to GRAY LD HL,TITIES LD (SWAP),HL LD A,8 OUT (INMOD),A ; Port $E, write INterrupt MODe LD HL,TIT1 CALL INTSET DO_1: JR DO_1 ; loop "FOREVER" TIT1: LD A,(SCROL) ADD A,8 LD (SCROL),A LD B,57 CYCLE: ADD A,$8 OUT (COL3R),A ; Port $3, COLor 3 Right OUT (COL3L),A ; Port $7, COLor 3 Left OUT (COL3R),A ; Port $3, COLor 3 Right OUT (COL3L),A ; Port $7, COLor 3 Left OUT (COL3R),A ; Port $3, COLor 3 Right OUT (COL3L),A ; Port $7, COLor 3 Left OUT (COL3R),A ; Port $3, COLor 3 Right OUT (COL3L),A ; Port $7, COLor 3 Left DJNZ CYCLE LD A,BLACK OUT (COL3R),A ; Port $3, COLor 3 Right OUT (COL3L),A ; Port $7, COLor 3 Left CALL STIMER ; Seconds and music TIMER LD A,(VBMREG+VBXCHK) BIT VBCLAT,A JR Z,YCHEK LD A,1 LD (VBMREG+VBXCHK),A LD A,(PIN) XOR 12 LD (PIN),A LD HL,(SWAP) LD DE,(VECLIM) LD (SWAP),DE LD (VECLIM),HL YCHEK: LD A,(VBMREG+VBYCHK) BIT VBCLAT,A JR Z,SET2 LD A,$01 LD (VBMREG+VBYCHK),A LD A,(PIN) XOR 3 LD (PIN),A SET2: LD HL,TIT2 LD (VECTOR),HL LD A,80 OUT (INLIN),A ; Port $F, write INterrupt LINe EI RET TIT2: CALL DVRRTN LD HL,TIT3 LD (VECTOR),HL LD A,186 OUT (INLIN),A ; Port $F, write INterrupt LINe EI RET TIT3: LD A,SNDCLR OUT (COL0R),A ; Port $0, Set COLor 0 Right OUT (COL0L),A ; Port $4, Set COLor 0 Left CALL MUSIC ; do Check MR/MS for Off/On IN A,(SW0) ; read SWitch bank 0 for player 1 hand control AND A JR NZ,GSTART IN A,(KEY0) ; KEYboard column 0 (right side) AND A JR NZ,GSTART IN A,(KEY1) ; KEYboard column 1 (center right) AND A JR NZ,GSTART IN A,(KEY2) ; KEYboard column 2 (center left) CP $03 ; [is none, 'MS' or 'UpArrow' pressed?] JP M,W1 AND A ; [is any-other in that column pressed?] JR NZ,GSTART W1: IN A,(KEY3) ; KEYboard column 3 (left side) CP $01 ; [is 'C' pressed?] JP Z,GSTART CP $03 ; [is none, 'MR' or 'C' pressed?] JP M,W2 AND A ; [is any-other in that column pressed?] JR NZ,GSTART W2: LD HL,TIT1 LD (VECTOR),HL LD A,$00 OUT (INLIN),A ; Port $F, write INterrupt LINe LD B,$FF WAITER: NOP DJNZ WAITER LD A,GREEN OUT (COL0R),A ; Port $0, Set COLor 0 Right OUT (COL0L),A ; Port $4, Set COLor 0 Left EI RET GSTART: POP HL LD HL,MUINT CALL INTSET IN A,(KEY3) ; KEYboard column 3 (left side) CP $01 ; [is 'C' key NOT pressed?] JR NZ,L2165 CALL ERASE SYSSUK STRDIS ; UPI STRing DISplay DB 25 ; ... X = 25 DB 20 ; ... Y = 20 DB $0C ; ... Options DW DESIGN ; ... String Address of "DESIGNED BY:" ; L2160: IN A,(KEY3) ; KEYboard column 3 (left side) AND A JR Z,L2160 ; [loop until any key in that column pressed] L2165: CALL ERASE SYSSUK COLSET ; UPI COLors SET DW PSCOL ; ... Table Address ; SYSSUK SETOUT ; UPI SET some OUTput ports DB 183 ; ... VERBL*2 = 183 DB 41 ; ... HORCB/4 = 41 DB 8 ; ... INMOD = 8 LD A,$FF LD ($4FEC),A SYSTEM ACTINT ; UPI ACTivate sub timer ; LD DE,LOGO NOGOOD: SYSSUK GETPAR ; UPI GET game PARameter from user DW PROMPT ; ... Prompt Address DB 1 ; ... Digits DW NUMPLA ; ... Parameter Address ; LD A,(NUMPLA) AND A JR Z,NOGOOD CP 5 JP P,NOGOOD LD DE,LOGO2 SYSSUK GETPAR ; UPI GET game PARameter from user DW DPRMPT ; ... Prompt Address DB 1 ; ... Digits DW NUMDIV ; ... Parameter Address ; LD A,(NUMDIV) AND A JR NZ,OK LD A,4 LD ($4F57),A OK: LD (NUMDIV),A CALL ERASE LD A,186 ; [show 93 pixel-lines] OUT (VERBL),A LD A,$EC ; [HORizontal=44 bytes, Border Color=3] OUT (HORCB),A LD DE,$0004 LD A,(NUMPLA) LD B,A LD A,(NUMDIV) LD HL,PBLOCK+3 INIT: LD (HL),A INC HL LD (HL),1 ADD HL,DE DJNZ INIT ONE: LD BC,$100 TWO: SYSSUK COLSET ; UPI COLors SET DW BANDW ; ... Table Address ; LD A,B LD HL,PLATAB-2 SYSTEM INDEXW ; UPI INDEX Word by A ; NOP PUSH DE POP IY LD (IYSAVE),DE LD A,15 ADD A,B LD (CPP),A LD HL,MUINT CALL INTSET LD A,(IY+3) AND A JR NZ,LIVING INC C LD A,4 CP C JP Z,GAMEND JR SKIPLA LIVING: LD (SAVEBC),BC LD A,44 ; [HORiz. split=44, Color of Border=0] OUT (HORCB),A SYSSUK STRDIS ; UPI STRing DISplay DB $20 ; ... X DB 20 ; ... Y DB 4 ; ... Options DW PLAYUP ; ... String Address ; LD A,$30 OR B LD C,4 LD DE,$1459 SYSTEM CHRDIS ; UPI CHaRacter DISplay ; CALL ADDERL CALL SCODIS XOR A LD ($4F76),A CALL FPULL ; In the preliminary source this CALLed PULLED LD HL,DUMMY CALL INTSET WAIT: JR WAIT CONTNU: DI POP HL ; Throw Away Dummy Return Value CALL ERASE SYSSUK COLSET ; UPI COLors SET DW TOPCOL ; ... Address of Color Table ; JR PLOOP RETURN: CALL FPULL DRET: LD B,180 HALT1: HALT DJNZ HALT1 LD HL,MUINT CALL INTSET CALL ERASE LD BC,(SAVEBC) SKIPLA: INC B LD A,5 CP B JP Z,ONE JP TWO PLOOP: LD A,1 LD (INSTAT),A LD HL,INT1 CALL INTSET SYSSUK RECTAN ; UPI paint a RECTANgle DB 0 ; ... X DB 0 ; ... Y DB 160 ; ... Width DB 10 ; ... Height DB $FF ; ... Color ; SYSSUK RECTAN ; UPI paint a RECTANgle DB $00 ; ... X DB $58 ; ... Y DB $A0 ; ... Width DB $06 ; ... Height DB $55 ; ... Color ; LD BC,GPTAB CALL NEXPAT ; do Draw ALL PATterns SYSSUK RECTAN ; UPI paint a RECTANgle DB 23 ; ... X DB 86 ; ... Y DB 138 ; ... Width DB 2 ; ... Height DB $55 ; ... Color ; SYSSUK WRITP ; UPI WRITe with Pattern size DB 24 ; ... X DB 87 ; ... Y DB $10 ; ... Magic DW L32E6 ; ... "OXY" Patten Address ; LD B,4 PUSH HL PUSH AF POP1: POP AF POP HL REPEAT: SYSSUK RANGED ; UPI RANGED random number DB 26 ; ... Cutoff = 26 ; LD E,A LD D,0 LD HL,$4C86 ADD HL,DE PUSH HL LD E,$50 ADD HL,DE PUSH AF LD A,(HL) AND 60 CP 60 JR Z,POP1 POP AF SLA A SLA A ADD A,24 LD E,A LD D,82 LD HL,L3700 ; Treasure Pattern LD A,$10 SYSTEM WRITP ; UPI WRITe with Pattern size ; LD HL,TTAB-2 LD A,B SYSTEM INDEXW ; UPI INDEX Word by A ; POP DE LD (HL),E INC HL LD (HL),D DJNZ REPEAT LD A,$20 LD (OMAG),A LD (BOMAG),A LD A,$80 LD (OSTAT),A LD (BOSTAT),A LD A,1 LD (BOXCK),A LD A,3 LD (OXCK),A LD (OYCK),A LD HL,BDELT LD (BODXL),HL SYSSUK RANGED ; UPI RANGED random number DB 100 ; ... Cutoff = 100 ; ADD A,30 LD (BOXH),A SYSSUK VWRITR ; UPI Vector WRITe Relative DW BOMAG ; ... Vector Block DW L3706 ; ... Address of Boat Pattern ; XOR A LD (OMAG+4),A LD (OMAG+5),A LD (OMAG+9),A LD (OMAG+10),A LD (VBMREG+VBSTAT),A LD (TCOUNT),A SYSTEM RANGED ; UPI RANGED random number ; LD (ODXL),A LD A,OYSPD LD (ODYL),A SYSSUK RANGED ; UPI RANGED random number DB 60 ; ... Cutoff = 60 ; ADD A,40 LD (OXH),A LD A,66 LD (OYH),A SYSSUK VWRITR ; UPI Vector WRITe Relative DW OMAG ; ... Vector Block = 20374 DW L3764 ; ... Address of Octopus Pattern ; LD HL,L3764 LD (OCTPAT),HL LD HL,$3999 LD (OCT2),HL LD HL,OCTP3 LD (OCT3),HL LD A,5 LD (OCTANI),A LD A,(IY+4) INC A INC A CP 7 JP M,LIMIT LD A,6 LIMIT: LD (CMF),A LD A,$90 ; SETUP BEEP LD (MUZRET),A LD A,$B0 LD (MUZRET+2),A LD A,$C9 LD (MUZRET+5),A LD HL,SUBTAB LD (SUBV1),HL LD HL,SUBTB2 LD (SUBV2),HL LD DE,BONTOT CALL DESET XOR A LD (INSTAT),A HOME: CALL FIS HEREIS: LD A,100 LD (OXCONT),A LD A,1 LD (INSTAT),A SYSSUK RECTAN ; UPI paint a RECTANgle DB 37 ; ... X DB 88 ; ... Y DB 102 ; ... Width DB 3 ; ... Height DB $FF ; ... Color ; SYSSUK RECTAN ; UPI paint a RECTANgle DB 38 ; ... X DB 89 ; ... Y DB 100 ; ... Width DB 1 ; ... Height DB 0 ; ... Color ; XOR A LD (INSTAT),A CALL FPULL HITIS: CALL FISHW XOR A LD (OXSTAT),A LD A,(CPP) ; GET CURRENT PLAYER PORT LD C,A IN A,(C) BIT CHTRIG,A ; IS TRIGGER PULLED? JR Z,HITIS ; NOPE, WAIT LD A,(BOMAG) LD E,A LD A,(BOXH) BIT 6,E JR Z,LOAD LD E,A LD A,138 SUB E LOAD: LD E,A LD D,10 ; Y START POSITION LD HL,GAMLIM LD (VECLIM),HL ; SET VECTOR LIMIT TABLE LD HL,$3000 LD (DIVER),HL XOR A LD (ANIMAT),A CALL STADIV ; START DIVER TWATCH: CALL MOVDIV LD A,(VBMREG+VBSTAT) CP 1 JP Z,DRET LD B,4 DITTO: LD A,B LD HL,TTAB-2 SYSTEM INDEXW ; UPI INDEX Word by A ; XOR A SUB E JR Z,GONE LD A,(DE) AND A JR NZ,GOTIT GONE: DJNZ DITTO JR TWATCH GOTIT: XOR A LD (HL),A LD A,E SLA A SLA A LD E,A LD D,82 LD HL,L3700 LD A,1 LD (INSTAT),A LD A,$20 SYSTEM WRITP ; UPI WRITe with Pattern size ; LD DE,DING CALL DOBEEP XOR A LD (INSTAT),A BWATCH: CALL MOVDIV LD A,(VBMREG+VBSTAT) CP $FF JP Z,BWATCH CP 1 JP Z,DRET LD A,(BOMAG) BIT 6,A LD A,(BOXH) JR Z,NBFLOP LD L,A LD A,128 SUB L NBFLOP: SRL A SRL A LD L,A LD H,0 LD DE,$4190 ADD HL,DE LD B,8 NOHOME: LD A,(HL) AND A JR NZ,BACK INC HL DJNZ NOHOME JR BWATCH BACK: XOR A LD (OXSTAT),A LD (VBMREG+VBSTAT),A LD HL,(DIVER) LD A,(VBMREG+VBYH) LD D,A LD A,(VBMREG+VBXH) LD E,A LD A,1 LD (INSTAT),A LD A,(VBMREG) SYSTEM WRITR ; UPI WRITe RELATIVE ; XOR A LD (INSTAT),A LD DE,HOMER CALL DOBEEP LD HL,LEVSCO ; ADD TREASURE PUSH IY POP DE LD B,3 SYSTEM BCDADD ; UPI BCD ADDition ; CALL ADDERO LD A,(TCOUNT) INC A LD (TCOUNT),A CP 4 JR Z,EOB LD B,120 HALT2: HALT PUSH BC CALL FISHW POP BC DJNZ HALT2 JP HEREIS EOB: INC (IY+4) CALL ENDADD JP RETURN ; ADD SCORES, BONUS,... MOVDIV: LD A,(CPP) LD C,A LD A,2 LD (ANISPD),A IN A,(C) LD HL,$0100 LD (DELTA),HL BIT 4,A JR Z,CONT LD HL,(DELTA) ADD HL,HL LD (DELTA),HL PUSH AF LD A,1 LD (ANISPD),A POP AF CONT: AND $F ; MASK OFF TRIGGER LD (PIN),A ; SAVE PLAYER INPUT FISHW: LD A,(CMF) AND A RET Z LD B,A FISHER: LD A,B DEC A LD HL,FISHVT SYSTEM INDEXW ; UPI INDEX Word by A ; PUSH DE POP IX BIT VBSACT,(IX+VBSTAT) CALL Z,SAFISH DJNZ FISHER RET FIS: LD A,(CMF) LD B,A X1: LD A,B DEC A LD HL,FISHVT SYSTEM INDEXW ; UPI INDEX Word by A ; PUSH DE POP IX SYSSUK RANGED ; UPI RANGED random number DB 80 ; ... Cutoff = 80 ; LD (IX+VBXH),A CALL FIRST DJNZ X1 RET SAFISH: LD (IX+VBXH),0 FIRST: LD A,4 ; DETERMINE # OF FISH PATS ADD A,(IY+VBDXH) CP NUMFIS JP M,NOLOAD LD A,NUMFIS NOLOAD: SYSTEM RANGED ; UPI RANGED random number ; LD HL,FISHIN SYSTEM INDEXW ; UPI INDEX Word by A ; LD A,(DE) LD (IX+VBOAL),A INC DE LD A,(DE) LD (IX+VBOAH),A INC DE LD A,(DE) LD (IX+15),A INC DE LD A,(DE) LD (IX+16),A INC DE LD A,(DE) LD (IX+VBDXH),A XOR A SYSTEM RANGED ; UPI RANGED random number ; BIT 7,A JR Z,NOMAGF LD (IX+VBMR),$60 JR MAGF NOMAGF: LD (IX+VBMR),$20 MAGF: LD (IX+VBXL),0 LD (IX+VBDYH),0 LD (IX+VBYL),0 LD A,225 SYSTEM RANGED ; UPI RANGED random number ; ADD A,30 LD (IX+VBDXL),A LD A,225 SYSTEM RANGED ; UPI RANGED random number ; ADD A,30 LD (IX+VBDYL),A LD A,30 SYSTEM RANGED ; UPI RANGED random number ; ADD A,25 LD (IX+VBYH),A LD (IX+VBXCHK),1 LD (IX+VBYCHK),3 LD (IX+17),2 LD A,1 LD (INSTAT),A LD H,(IX+VBOAH) LD L,(IX+VBOAL) SYSTEM VWRITR ; UPI Vector WRITe Relative ; LD (IX+VBSTAT),$80 XOR A LD (INSTAT),A RET INT1: EX AF,AF' OUT (HORCB),A EXX CALL STIMER ; Seconds and music TIMER LD A,140 OUT (INLIN),A ; write INterrupt LINe LD HL,INT2 LD (VECTOR),HL LD A,(OXSTAT) AND A JR Z,TTSKIP LD A,(CPP) LD C,A IN A,(C) LD B,A BIT CHTRIG,B JR Z,B_2 LD B,3 JR TREPT B_2: LD B,1 TREPT: LD A,(TIMER) DEC A LD (TIMER),A JR NZ,TSKIP LD A,20 ; OXYGEN TIMER LD (TIMER),A LD A,(OXCONT) DEC A LD (OXCONT),A JR NZ,TSKIP XOR A LD (OXSTAT),A LD DE,MDEAD CALL DOBEEP LD A,$FF LD (VBMREG+VBSTAT),A JR TTSKIP TSKIP: DJNZ TREPT TTSKIP: LD DE,$598A LD A,(INSTAT) AND A JR NZ,PSAFE LD A,(OXCONT) LD C,A LD A,100 SUB C LD C,A LD B,A LD A,E SUB B LD E,A LD A,$AA LD B,1 SYSTEM RECTAN ; UPI paint a RECTANgle ; PSAFE: EXX LD A,$C0 EX AF,AF' EI RET DUMMY: EXX EX AF,AF' CALL STIMER ; Seconds and music TIMER CALL MUSIC ; do Check MR/MS for Off/On LD A,(CPP) LD C,A IN A,(C) BIT CHTRIG,A JP NZ,CONTNU EX AF,AF' EXX EI RET MUINT: EXX EX AF,AF' CALL STIMER ; Seconds and music TIMER CALL MUSIC ; do Check MR/MS for Off/On EX AF,AF' EXX EI RET INT2: EX AF,AF' OUT (HORCB),A EXX PUSH IX PUSH IY LD A,(INSTAT) AND A JR NZ,MAGIC1 LD IY,(IYSAVE) ; [read SUBroutine TABle (or TaB 2) for JumP address] LD A,(COUNT) INC A CP 6 JR NZ,STORE XOR A STORE: LD (COUNT),A LD HL,(SUBV1) LD E,A LD D,0 SLA E ; [plus COUNT as a word x 2] RL D ADD HL,DE LD E,(HL) INC HL LD D,(HL) LD HL,MAGIC1 PUSH HL EX DE,HL JP (HL) MAGIC1: LD A,19 OUT (INLIN),A ; write INterrupt LINe LD HL,INT1 LD (VECTOR),HL POP IY POP IX EXX XOR A EX AF,AF' EI RET STADIV: LD A,E LD (VBMREG+VBXH),A LD A,D LD (VBMREG+VBYH),A XOR A LD (VBMREG+VBXL),A LD (VBMREG+VBYL),A INC A LD (VBMREG+VBXCHK),A LD (VBMREG+VBYCHK),A LD A,$80 LD (VBMREG+VBSTAT),A LD A,1 LD (INSTAT),A LD A,$20 LD (VBMREG),A LD HL,(DIVER) SYSTEM WRITR ; UPI WRITe RELATIVE ; XOR A LD (INSTAT),A LD A,1 LD (OXSTAT),A LD A,25 LD (TIMER),A LD A,(ANISPD) CP 10 RET Z LD A,1 LD (INSTAT),A SYSSUK RECTAN ; UPI paint a RECTANgle DB 37 ; ... X = 37 DB 88 ; ... Y = 88 DB 102 ; ... Width = 102 DB 3 ; ... Height = 3 DB 255 ; ... Color = 255 ; SYSSUK RECTAN ; UPI paint a RECTANgle DB 38 ; ... X = 38 DB 89 ; ... Y = 89 DB 100 ; ... Width = 100 DB 1 ; ... Height = 1 DB 0 ; ... Color = 0 ; XOR A LD (INSTAT),A RET ATTOP: LD A,1 LD (VBMREG+VBSTAT),A DEC (IY+3) RET DDRTN: LD HL,DEADPT ; Address of Dead Diver Pattern LD (DIVER),HL ; Current Diver is Dead Diver LD HL,GAMLIM ; Limit Table Address for VECT LD DE,$0000 LD (VBMREG+VBDXL),DE LD DE,$FF00 LD (VBMREG+VBDYL),DE LD A,1 LD (VBMREG+VBTIMB),A SYSTEM VECT ; UPI VECTor move coordinate ; LD HL,(DIVER) ; Pattern Address of Diver SYSTEM VWRITR ; UPI Vector WRITe Relative ; LD A,(VBMREG+VBYCHK) BIT VBCLAT,A JR NZ,ATTOP RET DVRRTN: LD A,(VBMREG+VBSTAT) CP 1 RET Z BIT VBSACT,A RET Z LD HL,(DIVER) ; Diver Pattern Address LD IX,VBMREG ; Diver Vector Address SYSTEM VWRITR ; UPI Vector WRITe Relative ; LD A,(VBMREG+VBSTAT) CP $FF JR Z,DDRTN ; If Diver is dead, then Jump LD A,(PIN) AND A JP Z,MOVED LD A,(ANISPD) LD B,A LD A,(ANIMAT) INC A CP B LD (ANIMAT),A JP M,MOVED XOR A LD (ANIMAT),A LD A,(DINDEX) INC A CP DMAX LD (DINDEX),A JP M,NDPATT XOR A LD (DINDEX),A NDPATT: LD HL,DPTAB SYSTEM INDEXW ; UPI INDEX Word by A ; LD (DIVER),DE MOVED: LD A,(PIN) LD B,A LD A,(VBMREG) BIT 2,B JR NZ,LEFT BIT 3,B JR NZ,RIGHT JR SKIP LEFT: BIT 6,A JR NZ,SKIP LD A,$60 JR FLIP RIGHT: BIT 6,A JR Z,SKIP LD A,$20 FLIP: LD (VBMREG),A LD A,(VBMREG+VBXH) LD E,A LD A,$87 SUB E LD ($4FA9),A SKIP: LD A,(VBMREG) LD C,A LD HL,(DELTA) LD DE,(DELTA) SYSTEM MSKTD ; UPI MaSK joystick in B To Deltas ; LD (VBMREG+VBDXL),DE LD DE,FLOAT CCF SBC HL,DE LD (VBMREG+VBDYL),HL LD A,$01 LD (VBMREG+VBTIMB),A LD HL,(VECLIM) SYSTEM VECT ; UPI VECTor move coordinate ; IN A,(INTST) ; Port $8, Clear INTercept STatus LD HL,(DIVER) SYSTEM VWRITR ; UPI Vector WRITe Relative ; IN A,(INTST) ; Port $8, Check INTercept STatus AND A JR Z,NDEAD LD DE,$3F75 CALL DOBEEP LD A,$FF LD (VBMREG+VBSTAT),A XOR A LD (OXSTAT),A NDEAD: RET BOMOV: SYSSUK VWRITR ; UPI Vector WRITe Relative DW BOMAG DW L3706 ; BOAT PATTERN ; LD A,(BOXCK) BIT VBCLAT,A JR Z,MBO LD A,1 LD (BOXCK),A LD A,(BOMAG) XOR $40 LD (BOMAG),A LD A,(BOXH) LD E,A LD A,124 SUB E LD (BOXH),A MBO: LD A,1 LD (BOTIME),A SYSSUK VECT ; UPI VECTor move coordinate DW BOMAG DW BOLIM ; SYSSUK VWRITR ; UPI Vector WRITe Relative DW BOMAG DW L3706 ; BOAT PATTERN ; RET OCT: LD IX,OMAG LD HL,(OCTPAT) SYSTEM VWRITR ; UPI Vector WRITe Relative ; XOR A SYSTEM RANGED ; UPI RANGED random number ; LD (ODXL),A LD A,1 LD (OTIME),A SYSSUK VECT ; UPI VECTor move coordinate DW OMAG DW OLIM ; LD HL,OCTANI DEC (HL) JR NZ,OCTSKP LD (HL),3 LD HL,(OCT3) LD DE,(OCT2) LD (OCT3),DE LD DE,(OCTPAT) LD (OCT2),DE LD (OCTPAT),HL OCTSKP: LD HL,(OCTPAT) SYSTEM VWRITR ; UPI Vector WRITe Relative ; LD HL,(SUBV1) LD DE,(SUBV2) LD (SUBV1),DE LD (SUBV2),HL RET ; [Draws ALL patterns in the table] routine NEXPAT: LD A,(BC) LD E,A INC BC LD A,(BC) LD D,A INC BC LD A,(BC) LD L,A INC BC LD A,(BC) LD H,A INC BC LD A,$FF CP E ; [End of Table?] JR Z,OUT1 LD A,$10 ; [MR for OR write] SYSTEM WRITP ; UPI WRITe with Pattern size lookup ; JR NEXPAT OUT1: RET ERASE: LD BC,CLEAN UERASE: LD HL,$4000 LD DE,$4001 LD (HL),L LDIR RET AFISH: BIT VBSACT,(IX+VBSTAT) RET Z LD H,(IX+VBOAH) LD L,(IX+VBOAL) SYSTEM VWRITR ; UPI Vector WRITe Relative ; LD HL,FISLIM LD (IX+VBTIMB),1 SYSTEM VECT ; UPI VECTor move coordinate pair ; BIT VBCLAT,(IX+VBXCHK) JR Z,ANIM LD (IX+VBSTAT),0 RET ANIM: DEC (IX+17) JR NZ,NOSWAP LD (IX+17),2 LD E,(IX+VBOAL) LD D,(IX+VBOAH) LD L,(IX+15) LD H,(IX+16) LD (IX+VBOAL),L LD (IX+VBOAH),H LD (IX+15),E LD (IX+16),D NOSWAP: LD H,(IX+VBOAH) LD L,(IX+VBOAL) L286E: SYSTEM VWRITR ; UPI Vector WRITe Relative ; RET FISH1: LD IX,VECT1 JR PHONE FISH2: LD IX,VECT2 JR PHONE FISH3: LD IX,VECT3 JR PHONE FISH4: LD IX,VECT4 JR PHONE FISH5: LD IX,VECT5 JR PHONE FISH6: LD IX,VECT6 PHONE: CALL AFISH EI RET INTSET: DI LD (VECTOR),HL LD HL,VECTOR LD A,H LD I,A ; High byte of Interrupt Vector LD A,L OUT (INFBK),A ; Port $D, write INterrupt FeedBacK EI RET GAMEND: LD HL,MUINT CALL INTSET LD A,$2C OUT (HORCB),A ; HORizontal Color Boundary = 44 bytes DI SYSSUK STRDIS ; UPI STRing DISplay DB 32 ; ... X DB 25 ; ... Y = 25 DB $04 ; ... Options = 4 DW GAMOVR ; ... String Address of "FAREWELL" ; LD L,0 LD (IYSAVE),HL CALL SCODIS EI RESET: IN A,(SW0) ; read SWitch bank 0 for player 1 hand control BIT 4,A JR Z,RESET RST $00 ; System ReSeT FPULL: CALL FISHW PULLED: LD A,(CPP) LD C,A IN A,(C) BIT CHTRIG,A JR NZ,FPULL ; In the preliminary source this jumped to PULLED RET SCODIS: LD A,($4F57) CP $04 JR NZ,L28F3 SYSSUK RECTAN ; UPI paint a RECTANgle DB 0 ; ... X DB 5 ; ... Y Db 160 ; ... Width = 160 DB 11 ; ... Height DB $FF ; ... Color ; SYSSUK RECTAN ; UPI paint a RECTANgle DB 1 ; ... X DB 6 ; ... Y DB 158 ; ... Width DB 9 ; ... Height DB $00 ; ... Color ; SYSSUK STRDIS ; UPI STRing DISplay DB 5 ; ... X DB 7 ; ... Y DB $0C ; ... Options DW L3F0D ; ... String Address of "*TOURNAMENT LEVEL*" ; L28F3: SYSSUK STRDIS ; UPI STRing DISplay DB 32 ; ... X DB 39 ; ... Y DB $0C ; ... Options DW SCODIV ; ... String Address of "SCORE" ; SYSSUK WRITR ; UPI WRITe RELATIVE DB 86 ; ... X DB 39 ; ... Y DB $20 ; ... Magic Register DW $3000 ; ... Pattern Address of Diver ; LD A,(IYSAVE) AND A JR NZ,NOEND LD HL,$3D76 ; [pattern-2 for 0,0 displacement ??] JR CHEST NOEND: LD A,(IY+$04) DEC A CP $1F JP M,L2919 LD A,$19 JR MAXED L2919: CP $10 JP M,MAXED SUB $05 MAXED LD HL,FISHIN SYSTEM INDEXW ; UPI INDEX Word by A ; LD A,(DE) LD L,A INC DE LD A,(DE) LD H,A CHEST: LD A,$20 ; [X-OR write] LD DE,$207E ; [X=126, Y=32 ??] SYSTEM WRITR ; UPI WRITe RELATIVE ; XOR A NEXNUM: LD HL,PLATAB SYSTEM INDEXW ; UPI INDEX Word by A ; EX DE,HL PUSH AF LD D,A SLA D SLA D SLA D LD A,48 ADD A,D LD D,A POP AF LD E,$20 LD BC,$8608 SYSTEM DISNUM ; UPI DISplay NUMber ; LD E,$63 LD B,$01 INC HL INC HL INC HL SYSTEM DISNUM ; UPI DISplay NUMber ; LD E,126 INC HL PUSH AF LD A,(HL) AND $F0 LD B,A LD A,(HL) DEC A AND $F0 CP B JR Z,SAME LD A,(HL) ADD A,6 LD (HL),A SAME: LD A,(HL) LD HL,CONVRT ADD A,0 DAA LD (HL),A POP AF LD B,$82 SYSTEM DISNUM ; UPI DISplay NUMber ; LD C,12 PUSH AF LD E,20 ADD A,$31 SYSTEM CHRDIS ; UPI CHaRacter DISplay ; LD A,(NUMPLA) LD B,A POP AF INC A CP B JP NZ,NEXNUM RET ADDERL: LD B,(IY+$04) LD DE,LEVSCO CALL DESET LD HL,HUND ADD1: PUSH BC LD B,$03 SYSTEM BCDADD ; UPI BCD ADDition ; POP BC DJNZ ADD1 RET ADDERO: LD A,(OXCONT) LD B,A LD DE,BONTOT LD HL,ONEP ADD2: PUSH BC LD B,$03 SYSTEM BCDADD ; UPI BCD ADDition ; POP BC DJNZ ADD2 RET ENDADD: PUSH IY POP DE LD HL,BONTOT LD B,$03 SYSTEM BCDADD ; UPI BCD ADDition ; RET DESET: XOR A LD (DE),A INC DE LD (DE),A INC DE LD (DE),A DEC DE DEC DE RET DOBEEP: DI PUSH DE LD A,($4FD4) ; Voices LD (MUZRET+1),A LD HL,($4FD2) ; Volumes LD ($4F5B),HL LD DE,($4FCE) ; MUZPC LD HL,($4FD0) ; MUZSP DEC HL LD (HL),D DEC HL LD (HL),E POP DE LD ($4FCE),DE ; MUZPC LD ($4FD0),HL ; MUZSP EI RET ; scan keypad MR to Stop, or MS to Start MUSIC MUSIC: IN A,(KEY3) ; KEYboard column 3 (left side) BIT 1,A ; [is 'MR' key un-pressed?] JR Z,STARTM SYSSUK BMUSIC ; UPI Begin playing MUSIC DW MSTACK ; ... Music Stack DB $FC ; ... Setup Voices, Use Tone A, B and C DW L327A ; ... Music Score Address for SILENCE ; RET ; START background Music [if desired] STARTM: IN A,(KEY2) ; KEYboard column 2 (center left) BIT 1,A ; [is 'MS' key un-pressed?] RET Z SYSSUK BMUSIC ; UPI Begin playing MUSIC DW MSTACK ; ... Music Stack DB $FC ; ... Setup Voices, Use Tone A, B and C DW L2C54 ; ... Music Score Address for BACKGROUND ; RET DESIGN: DB "DESIGNED BY: " DB "BRETT BILBREY MARION NALEPA MICHAEL TOTH",0 TOPCOL: DB $F8 DB $F7 DB $77 DB GREEN DB $F8 DB $77 DB $F7 DB GREEN ; ?? [not used ??] L2A6A: DB $00 DB $96 DB $74 DB $CC ; Color Table TITCOL: DB 248 DB 154 DB 116 DB 163 DB 248 DB 119 DB 116 DB 163 PSCOL: DB 248 DB 0 DB 247 DB 163 BANDW: DB $77 ; Color Table for COLSET DB $00 DB $07 DB $F2 PLATAB: DW PLAY1 DW PLAY2 DW PLAY3 DW PLAY4 FISHVT: DW VECT1 DW VECT2 DW VECT3 DW VECT4 DW VECT5 DW VECT6 FISHIN: DW L2AC6 ; F1 DW L2ACB ; F2 DW L2AD0 ; F3 DW L2AD5 ; F4 DW L2ADA ; F5 DW L2ADF ; F6 DW L2AE4 ; F7 DW L2AE9 ; F8 DW L2AEE ; F9 DW L2AF3 ; F10 DW L2AF8 ; F11 DW L2AFD ; F12 DW L2B02 ; F13 DW L2B07 ; F14 DW L2B0C ; F15 DW L2B11 ; F16 DW L2B16 ; F17 DW L2B1B ; F18 DW L2B20 ; F19 DW L2B25 ; F20 DW L2B2A ; F21 DW L2B2F ; F22 DW L2B34 ; F23 DW L2B39 ; F24 DW L2B3E ; F25 DW L2B43 ; F26 L2AC6: DW L3200 ; Black Fishie Pattern DW L31D4 ; Black Fishie Pattern, Alt DB $03 L2ACB: DW L3A6E ; Nosefish Pattern DW L3A92 ; Nosefish Pattern, Alt DB $02 L2AD0: DW L3E4D ; Turtle Pattern DW $3E74 ; Turtle Pattern, Alt DB 1 L2AD5: DW L3E9B ; Snark Pattern DW L3EA5 ; Snark Pattern, Alt DB 3 L2ADA: DW L3210 ; Yellow Anim ?? DW L3EAF ; Yellow Anim, Alt ?? DB 2 L2ADF: DW L3DDC ; Seahorse Pattern DW L3E13 ; Seahorse Pattern, Alt DB 3 L2AE4: DW L3220 ; Generic Fish 1 DW L31C4 ; Generic Fish 1, Alt DB 2 L2AE9: DW L3230 ; Spiderfish Pattern DW L3255 ; Spiderfish Pattern, Alt DB 2 L2AEE: DW L37AE ; Shark Pattern DW L3BF4 ; Shark Pattern, Alt DB 2 L2AF3: DW L3B2C ; Swordfish Pattern DW L3B90 ; Swordfish Pattern, Alt DB 2 L2AF8: DW L31E4 ; Goldfish Pattern DW L31F2 ; Goldfish Pattern, Alt DB 2 L2AFD: DW L36B9 ; Eel Pattern DW L36D1 ; Eel Pattern, Alt DB 3 L2B02: DW L3980 ; Clam Pattern DW L3972 ; Clam Pattern, Alt DB 2 L2B07: DW L390E ; Party Sub DW L39E3 ; Party Sub Pattern, Alt DB 1 L2B0C: DW L3C5B ; Sailfish DW L3CBA ; Sailfish, Alt DB 2 L2B11: DW L3D12 ; Squid Pattern DW L3280 ; Squid Pattern, Alt DB 2 L2B16: DW L3EBF ; Generic Fish Pattern 2 DW L3ED3 ; Generic Fish Pattern 2, Alt DB 4 L2B1B: DW L3EAF ; Yellow Anim, Alt ?? DW L3210 ; Yellow Anim ?? DB 3 L2B20: DW L3A47 ; Crab Pattern DW L3A57 ; Crab Pattern, Alt DB 3 L2B25: DW L3E13 ; Seahorse Pattern, Alt DW L3DDC ; Seahorse Pattern DB 5 L2B2A: DW L39E3 ; Party Sub Pattern, Alt DW L390E ; Party Sub DB 5 L2B2F: DW L3280 ; Squid Pattern, Alt DW L3D12 ; Squid Pattern DB 5 L2B34: DW L3B90 ; Swordfish Pattern, Alt DW L3B2C ; Swordfish Pattern DB 5 L2B39: DW L3CBA ; Sailfish, Alt DW L3C5B ; Sailfish DB 6 L2B3E: DW L3BF4 ; Shark Pattern, Alt DW L37AE ; Shark Pattern DB 6 L2B43: DW L3999 ; Octopus Pattern DW L3764 ; Octopus Pattern, Alt DB 5 HUND: DB 0 ONEP: DB 1 DB 0 DB 0 TITLIM: DB 100 DB 130 DB 30 DB 45 GAMLIM: DB 0 DB 130 DB 10 DB 74 BOLIM: DB 0 DB 124 TITIES: DB 0 DB 30 DB 30 DB 45 OLIM: DB 20 DB 120 DB 64 DB 66 FISLIM: DB 0 DB 125 DB 12 DB 55 SUBTAB: DW DVRRTN DW BOMOV DW OCT DW FISH1 DW FISH2 DW FISH3 SUBTB2: DW DVRRTN DW BOMOV DW OCT DW FISH4 DW FISH5 DW FISH6 DPTAB: DW L3000 ; Diver Pattern (Animation Frame 1) DW L302E ; Diver Pattern (Animation Frame 2) DW L305C ; Diver Pattern (Animation Frame 3) DW L308A ; Diver Pattern (Animation Frame 4) DW L30B8 ; Diver Pattern (Animation Frame 5) DW L30E6 ; Diver Pattern (Animation Frame 6) DW L310E ; Diver Pattern (Animation Frame 7) DW L313C ; Diver Pattern (Animation Frame 8) DW L3164 ; Diver Pattern (Animation Frame 9) DW L3192 ; Diver Pattern (Animation Frame 10) ; PATern TABle [list of X, Y, and Pattern Addresses to Draw with NEXPAT] PATTAB: DB 17 ; X= DB 30 ; Y= DW L3BF6 ; Shark Pattern DB 72 DB 84 DW L3DAE ; Anchor Pattern DB 105 DB 74 DW L3D78 ; Chest Pattern DB 0 DB 70 DW L3212 ; Fish Pattern DB 10 DB 10 DW L3212 ; Fish Pattern DB 121 DB 70 DW L3212 ; Fish Pattern DB 111 DB 66 DW L3202 ; Fish Pattern (Black ??) DB 77 DB 64 DW L3212 ; Fish Pattern DB 154 DB 47 DW L3212 ; Fish Pattern DB 67 DB 55 DW $3202 ; Fish Pattern (Black ??) DB 87 DB 36 DW L3212 ; Fish Pattern DB 25 DB 15 DW L3212 ; Fish Pattern DB 60 DB 40 DW L3910 ; Sub Pattern DB 100 DB 90 DW L3700 ; Treasure Pattern DB 33 DB 89 DW L3700 ; Treasure Pattern DB 44 DB 87 DW L3700 ; Treasure Pattern DB 0 DB 43 DW L3300 ; Start of Ship DB 4 DB 79 DW L332A ; Pattern DB 8 DB 38 DW L3330 ; Pattern DB 16 DB 40 DW L3396 ; Pattern DB 51 DB 23 DW L3428 ; Pattern DB 55 DB 27 DW L342F ; Pattern DB 59 DB 31 DW L3436 ; Pattern DB 63 DB 23 DW L3441 ; Pattern DB 68 DB 40 DW L3465 ; Pattern DB 60 DB 40 DW L346C ; Pattern DB 72 DB 44 DW L3480 ; Pattern DB 76 DB 48 DW L3487 ; Pattern DB 80 DB 52 DW L348E ; Pattern DB 48 DB 56 DW L3495 ; Pattern DB 60 DB 59 DW L349A ; Pattern DB 68 DB 64 DW L34D2 ; Pattern DB 76 DB 69 DW L3500 ; Pattern DB 84 DB 72 DW L351C ; Pattern DB 92 DB 64 DW L3538 ; Pattern DB 96 DB 59 DW L354F ; Pattern DB 100 DB 61 DW L3560 ; Pattern DB 28 DB 43 DW L3567 ; Pattern DB 36 DB 45 DW L35B9 ; Pattern DB 52 DB 40 DW L360D ; Pattern DB 44 DB 47 DW L3669 ; Pattern DB 133 DB 69 DW L3766 ; Octopus Pattern ; in-Game Patern TABle [continues list of X, Y, and Pattern Addresses] GPTAB: DB 0 DB 81 DW L3825 ; Start of Ground DB 15 DB 86 DW L383C ; Pattern (Ground, 2x2) DB 25 DB 81 DW L3886 ; Pattern (Ground, 5x5) DB 49 DB 84 DW L38A1 ; Pattern (Ground, 3x2) DB 70 DB 81 DW L38A9 ; Pattern (Ground, 11x5) DB 121 DB 82 DW L38E2 ; Pattern (Ground, 5x4) DB 147 DB 81 DW L38F8 ; Pattern (Ground, 4x5) DB $FF ; End of Pattern Table DB $46 ; [leftover byte ??] ; BACKGROUND Music Score [called with Voices = $FC] ; ---------------------- L2C54: MASTER OA3 ; set TONMO to $23 DB $91 ; Non-standard, use PUSHN $02 !! L2C57: ; [repeat twice] CALL L2D17 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 ; Duration= TC= TB= TA= NOTE3 $0E, G8, G8, F1 NOTE3 $0E, G8, G8, E1 NOTE3 $0E, G8, G8, F1 VOLUME $56,$03 ; VA = 6, VB = 5, VC= 3 NOTE3 $1C, B0, D1, G1 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8, F1 VOLUME $56,$03 ; VA = 6, VB = 5, VC= 3 NOTE3 $1C, G0, C1, E1 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8, G1 VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $1C, E1, G1, C2 NOTE3 $0E, E1, G1, C2 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8, B1 NOTE3 $0E, G8, G8, A1 NOTE3 $0E, G8, G8, B1 VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $1C, D1,FS1, C2 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8, A1 LEGSTA ; Toggle to LEGato VOLUME $67,$06 ; VA = 7, VB = 6, VC= 6 NOTE3 $2B, G1, B1, D2 LEGSTA ; Toggle to STAccato VOLUME $66,$06 ; VA = 6, VB = 6, VC= 6 NOTE3 $1C, G1, B1, D2 REST $18 DSJNZ L2C57 ; CALL L2D17 VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $0E, C1, F1, A1 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8,GS1 VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $0E, C1, F1, A1 NOTE3 $1C, D1, G1, B1 NOTE3 $0E, D1, G1, B1 NOTE3 $1C, E1, G1, C2 NOTE3 $0E, E1, G1, C2 NOTE3 $1F, F1, B1, D2 NOTE3 $0F, F1, B1, D2 NOTE3 $21, G1, C2, E2 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $10, G8, G8, C2 VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $26, F1, B1, D2 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $13, G8, G8, B1 VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $5B, E1, G1, C2 REST $60 DB $C1,$5F,$2D ; MuzJP to L2D5F [should be a $C3] L2D17: VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $2B, C1, E1, G1 NOTE3 $2B, E1, G1, C2 NOTE3 $2B, E1, G1, C2 NOTE3 $2B, C1, E1, G1 NOTE3 $0E, C1, F1, A1 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8,GS1 VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $0E, C1, F1, A1 NOTE3 $1C, F1, A1, C2 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8, A1 LEGSTA ; Toggle to LEGato VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $2B, C1, E1, G1 LEGSTA ; Toggle to STAccato NOTE3 $1C, C1, E1, G1 VOLUME $05,$00 ; VA = 5, VB = 0, VC= 0 NOTE3 $0E, G8, G8, G1 RET ; L2D5C: ?? NOT USED ?? QUIET ; L2D5D: ?? filler ?? DB $00 DB $55 ; MORE ?? Music Score [Voices still = $FC] ; ---------------------- L2D5F: MASTER OA3 ; set TONMO to $23 DB $91 ; Non-standard, use PUSHN $02 !! L2D62: ; [repeat twice] CALL L2E41 NOTE3 $0F, A0, E1, C2 NOTE3 $0F, A0, E1, A1 NOTE3 $1E, A0, F1, D2 NOTE3 $1E, A0, E1, A1 REST $18 DSJNZ L2D62 ; DB $91 ; Non-standard, use PUSHN $02 !! L2D7B: ; [repeat twice] NOTE3 $2D, C2, E2, C3 NOTE3 $0F, C2, E2, C3 LEGSTA ; Toggle to LEGato NOTE3 $0F, C2, E2, C3 NOTE3 $0F, C2, E2,AS2 NOTE3 $0F, C2, E2, A2 NOTE3 $0F, C2, E2, G2 NOTE3 $1E, F1, A1, F2 NOTE3 $1E, C2, E2, C3 LEGSTA ; Toggle to STAccato NOTE3 $3C, F1, C2, A2 DSJNZ L2D7B ; NOTE3 $1E, F2, A2, D3 NOTE3 $0F, F2, A2, D3 NOTE3 $0F, F2, A2, D3 NOTE3 $1E, C2, E2, A2 NOTE3 $1E, C2, E2, A2 NOTE3 $1E, A2, D3, F3 NOTE3 $0F, F2, A2, E3 NOTE3 $0F, F2, A2, D3 NOTE3 $1E, E2, A2, C3 NOTE3 $1E, C2, E2, A2 NOTE3 $1E, F2, A2, D3 NOTE3 $1E, F2, A2, F3 NOTE3 $0F, A2, C2, E3 NOTE3 $07, A2, C2, F3 NOTE3 $07, A2, C2, E3 NOTE3 $1E, E2,GS2, D3 NOTE3 $0F, A1, E2, C3 NOTE3 $0F, A1, E2, A2 NOTE3 $1E, A1, F2, D3 NOTE3 $3C, A1, E2, A2 CALL L2E41 NOTE3 $0F, A0, E1, C2 NOTE3 $0F, A0, E1, A1 NOTE3 $1E, A0, F1, D2 NOTE3 $3C, A1, E2, A2 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $0F, A1, E2, C3 NOTE3 $0F, A1, E2, A2 NOTE3 $1E, A1, F2, D3 NOTE3 $3C, A2, E3, A3 VOLUME $44,$04 ; VA = 4, VB = 4, VC= 4 NOTE3 $0F, A0, E1, C2 NOTE3 $0F, A0, E1, A1 NOTE3 $1E, A0, F1, D2 NOTE3 $3C, A1, E2, A2 NOTE3 $3C, A1, E2, A2 VOLUME $33,$03 ; VA = 3, VB = 3, VC= 3 NOTE3 $3C, D2, F2, A2 NOTE3 $78, A1, E2, A2 REST $60 DB $C1,$76,$2E ; MuzJP to L2E76 - should be a $C3 L2E41: DB $91 ; Non-standard, use PUSHN $02 !! L2E42: ; [repeat twice] VOLUME $56,$05 ; VA = 6, VB = 5, VC= 5 NOTE3 $0F, A0, E1, C2 NOTE3 $0F, A0, E1, A1 NOTE3 $1E, A0, F1, D2 NOTE3 $1E, A0, E1, A1 REST $18 DSJNZ L2E42 ; NOTE3 $1E, A0, E1, C2 ; [finish sub-routine] NOTE3 $1E, D1, A1, F2 NOTE3 $0F, C1, A1, E2 NOTE3 $07, C1, A1, F2 NOTE3 $07, C1, A1, E2 NOTE3 $1E, E1,GS1, D2 RET L2E73: ; ?? QUI[E]T ?? not used ?? QUIET ; L2E74: block ?? DB $00 DB $05 ; ?? Chorus ?? muzJumP'ed to L2E76: MASTER OA3 ; set TONMO to $23 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, G2, E2, C2 NOTE3 $12, G2, E2, C2 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $12,FS2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, G2, E2, C2 NOTE3 $12, E2, C2, G1 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $12, C2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, E2, C2, G1 NOTE3 $12, G2, E2, C2 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $12,FS2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, G2, E2, C2 NOTE3 $24, E2, C2, G1 NOTE3 $09, E2, C2, G1 NOTE3 $09, E2, C2, G1 NOTE3 $36, G2, E2, C2 NOTE3 $36, A2, E2, C2 NOTE3 $1B, F2, D2, B1 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $09, E2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, F2, D2, B1 NOTE3 $24, D2, B1, F1 NOTE3 $12, A2, F2, D2 NOTE3 $1B, A2, F2, D2 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $09, D2, G8, G8 NOTE3 $12, D2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, F2, D2, B1 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $12, E2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, D2, B1, F1 NOTE3 $24, F2, D2, B1 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $12, D2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $36, A2, F2, C2 NOTE3 $09, G2, E2, C2 NOTE3 $1B, G2, E2, C2 NOTE3 $12, G2, E2, C2 NOTE3 $24, G2, D2, B1 NOTE3 $12, F2, D2, B1 NOTE3 $1B, E2, B1, G1 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $09, D2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, E2, B1, G1 NOTE3 $24, C2, G1, E1 NOTE3 $12, G2, E2, C2 NOTE3 $12, G2, E2, C2 NOTE3 $12, A2, E2, C2 NOTE3 $12, G2, E2, C2 NOTE3 $12, E2, C2, G1 NOTE3 $12, C2, G1, E1 NOTE3 $12, E2, C2, G1 NOTE3 $12, G2, E2, C2 NOTE3 $12,FS2, E2, C2 NOTE3 $12, G2, E2, C2 NOTE3 $24, E2, C2, G1 NOTE3 $09, E2, C2, G1 NOTE3 $09, E2, C2, G1 NOTE3 $36, G2, E2, C2 NOTE3 $36, A2, E2, C2 NOTE3 $1B, F2, D2, B1 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $09, E2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, F2, D2, B1 NOTE3 $24, D2, B1, F1 NOTE3 $12, A2, F2, D2 NOTE3 $12, A2, F2, D2 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $12, D2, G8, G8 NOTE3 $12, E2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, F2, D2, B1 NOTE3 $12, E2, C2, G1 NOTE3 $12, D2, A1, F1 NOTE3 $12, F2, D2, B1 NOTE3 $12, E2, C2, G1 NOTE3 $12, D2, B2, F2 NOTE3 $36, A2, F2, D2 NOTE3 $09, G2, E2, C2 NOTE3 $1B, G2, E2, C2 NOTE3 $12, G2, E2, C2 NOTE3 $24, G2, D2, B1 NOTE3 $12, F2, D2, B1 NOTE3 $1B, E2, C2, G1 VOLUME $00,$05 ; VA = 0, VB = 0, VC= 5 NOTE3 $09, D2, G8, G8 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $12, E2, C2, G1 NOTE3 $24, C2, G1, E1 REST $30 REST $30 REST $30 REST $30 DB $C1,$54,$2C ; MuzJP to L2C54 - should be a $C3 ; L2FFC: 4 junk bytes ?? DB $00 DB $4D DB $4A DB $4E ; Diver Pattern, Animation Frame 1 (24 Pixels Wide x 7 Pixels High) ; ----------------------------------------------------------------- ; ; . . . . . 3 2 2 . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . 3 . . . 2 2 . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . 3 . . . . . . 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . 3 3 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . 3 . . . . . . . . . . . . . . . 2 . . . . ; . . . . . . . . . . . . . . . . . . . . 2 2 2 1 ; . . . . . . . . . . . . . . . . . . . . . . . . ; L3000: DB $0,0 ; X,Y Displacement DB $6,7 ; X,Y Size DB 00000000B,00111010B,00000000B,00010101B,01010100B,00001000B DB 00000000B,11000000B,10100000B,00010101B,01010111B,01010101B DB 00000011B,00000000B,00001010B,10101001B,10101010B,11101001B DB 00000000B,11111010B,10101010B,10101001B,10101010B,10111100B DB 00000011B,00000000B,00000000B,00000000B,00000010B,00000000B DB 00000000B,00000000B,00000000B,00000000B,00000000B,10101001B DB 00000000B,00000000B,00000000B,00000000B,00000000B,00000000B ; Diver Pattern, Animation Frame 2 (24 Pixels Wide x 7 Pixels High) ; ----------------------------------------------------------------- ; ; . . . 3 3 3 2 2 . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . . . . . 2 2 . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . . . . . . . . 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . . 3 2 2 2 . . . 2 2 2 1 2 2 2 2 2 3 3 . ; . . . . 3 . . . . 2 2 2 . . . . . . . 2 . . . . ; . . . 3 . . . . . . . . . . . . . . . . 2 . . . ; . . . . . . . . . . . . . . . . . . . . . 2 2 1 ; L302E: DB $0,0 ; X,Y Displacement DB $6,7 ; X,Y Size DB 00000011B,11111010B,00000000B,00010101B,01010100B,00001000B DB 00000000B,00000000B,10100000B,00010101B,01010111B,01010101B DB 00000000B,00000000B,00001010B,10101001B,10101010B,11101001B DB 00000000B,00111010B,10000000B,10101001B,10101010B,10111100B DB 00000000B,11000000B,00101010B,00000000B,00000010B,00000000B DB 00000011B,00000000B,00000000B,00000000B,00000000B,10000000B DB 00000000B,00000000B,00000000B,00000000B,00000000B,00101001B ; Diver Pattern, Animation Frame 3 (24 Pixels Wide x 7 Pixels High) ; ----------------------------------------------------------------- ; ; . . . . . . . . . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . 3 3 3 2 2 2 . . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . . . 3 2 2 2 2 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . 3 . . . . 2 2 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . 3 . . . . . . . . . . . . . . . 2 . . . . ; . . . . . . . . . . . . . . . . . . . 2 . . . . ; . . . . . . . . . . . . . . . . . . . . 2 1 . . L305C: DB $0,0 ; X,Y Displacement DB $6,7 ; X,Y Size DB $00,$00,$00,$15,$54,$08 DB $03,$FA,$80,$15,$57,$55 DB $00,$3A,$AA,$A9,$AA,$E9 DB $00,$C0,$2A,$A9,$AA,$BC DB $03,$00,$00,$00,$02,$00 DB $00,$00,$00,$00,$02,$00 DB $00,$00,$00,$00,$00,$90 ; Diver Pattern, Animation Frame 4 (24 Pixels Wide x 7 Pixels High) ; ----------------------------------------------------------------- ; . . . . . . . . . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . . 3 2 2 . . . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . . 3 . . . 2 2 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . 3 3 3 2 2 2 . . 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . . . . . . . . . . . . . . . . . 2 . . . . ; . . . . . . . . . . . . . . . . . . . 2 . . . . ; . . . . . . . . . . . . . . . . . . . 1 . . . . ; L308A: DB $0,0 ; X,Y Displacement DB $6,7 ; X,Y Size DB $00,$00,$00,$15,$54,$08 DB $00,$3A,$00,$15,$57,$55 DB $00,$C0,$AA,$A9,$AA,$E9 DB $03,$FA,$82,$A9,$AA,$BC DB $00,$00,$00,$00,$02,$00 DB $00,$00,$00,$00,$02,$00 DB $00,$00,$00,$00,$01,$00 ; Diver Pattern, Animation Frame 5 (24 Pixels Wide x 7 Pixels High) ; ----------------------------------------------------------------- ; ; . . . . . 3 2 2 . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . 3 . . . 2 2 . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . 3 . . . . . . 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . 3 3 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . 3 . . . . . . . . . . . . . . . 2 . . . . ; . . . . . . . . . . . . . . . . . . 2 . . . . . ; . . . . . . . . . . . . . . . . 1 2 . . . . . . ; L30B8: DB $0,0 ; X,Y Displacement DB $6,7 ; X,Y Size DB $00,$3A,$00,$15,$54,$08 DB $00,$C0,$A0,$15,$57,$55 DB $03,$00,$0A,$A9,$AA,$E9 DB $00,$FA,$AA,$A9,$AA,$BC DB $03,$00,$00,$00,$02,$00 DB $00,$00,$00,$00,$08,$00 DB $00,$00,$00,$00,$60,$00 ; Diver Pattern, Animation Frame 6 (24 Pixels Wide x 6 Pixels High) ; ----------------------------------------------------------------- ; ; . . . . . 3 2 2 . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . 3 . . . 2 2 . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . 3 . . . . . . 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . 3 3 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . 3 . . . . . . . . . . . . . . . 2 . . . . ; . . . . . . . . . . . . . . . 1 2 2 2 . . . . . ; L30E6: DB $0,0 ; X,Y Displacement DB $6,6 ; X,Y Size DB $00,$3A,$00,$15,$54,$08 DB $00,$C0,$A0,$15,$57,$55 DB $03,$00,$0A,$A9,$AA,$E9 DB $00,$FA,$AA,$A9,$AA,$BC DB $03,$00,$00,$00,$02,$00 DB $00,$00,$00,$01,$A8,$00 ; Diver Pattern, Animation Frame 7 (24 Pixels Wide x 7 Pixels High) ; ----------------------------------------------------------------- ; This pattern ALSO contains a Color Table starting at $3131. ; The color table is using all zeros to fill the eight ; color registers. ; ; . . . 3 3 3 2 2 . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . . . . . 2 2 . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . . . . . . . . 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . . 3 2 2 2 . . . 2 2 2 1 2 2 2 2 2 3 3 . ; . . . . 3 . . . . 2 2 2 . . . . . 1 2 2 . . . . ; . . . 3 . . . . . . . . . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . . . . . . . . ; L310E: DB $0,0 ; X,Y Displacement DB $6,7 ; X,Y Size DB $03,$FA,$00,$15,$54,$08 DB $00,$00,$A0,$15,$57,$55 DB $00,$00,$0A,$A9,$AA,$E9 DB $00,$3A,$80,$A9,$AA,$BC DB $00,$C0,$2A,$00,$1A,$00 DB $03,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00 ; Diver Pattern, Animation Frame 8 (24 Pixels Wide x 6 Pixels High) ; ----------------------------------------------------------------- ; . . . . . . . . . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . 3 3 3 2 2 2 . . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . . . 3 2 2 2 2 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . 3 . . . . 2 2 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . 3 . . . . . . . . . . . . . . . 1 . . . . ; . . . . . . . . . . . . . . . . . . . . . . . . ; L313C: DB 0,0 ; X,Y Displacement DB 6,6 ; X,Y Size DB $00,$00,$00,$15,$54,$08 DB $03,$FA,$80,$15,$57,$55 DB $00,$3A,$AA,$A9,$AA,$E9 DB $00,$C0,$2A,$A9,$AA,$BC DB $03,$00,$00,$00,$01,$00 DB $00,$00,$00,$00,$00,$00 ; Diver Pattern, Animation Frame 9 (24 Pixels Wide x 7 Pixels High) ; ----------------------------------------------------------------- L3164: DB 0,0 ; X,Y Displacement DB 6,7 ; X,Y Size ; . . . . . . . . . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . . 3 2 2 . . . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . . 3 . . . 2 2 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . 3 3 3 2 2 2 . . 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . . . . . . . . . . . . . . . . . 2 2 1 . . ; . . . . . . . . . . . . . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . . . . . . . . DB $00,$00,$00,$15,$54,$08 DB $00,$3A,$00,$15,$57,$55 DB $00,$C0,$AA,$A9,$AA,$E9 DB $03,$FA,$82,$A9,$AA,$BC DB $00,$00,$00,$00,$02,$90 DB $00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00 ; Diver Pattern, Animation Frame 10 (24 Pixels Wide x 6 Pixels High) ; ----------------------------------------------------------------- ; ; . . . . . 3 2 2 . . . . . 1 1 1 1 1 1 . . . 2 . ; . . . . 3 . . . 2 2 . . . 1 1 1 1 1 1 3 1 1 1 1 ; . . . 3 . . . . . . 2 2 2 2 2 1 2 2 2 2 3 2 2 1 ; . . . . 3 3 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 3 3 . ; . . . 3 . . . . . . . . . . . . . . . 2 2 2 2 1 ; . . . . . . . . . . . . . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . . . . . . . . ; L3192: DB 0,0 ; X,Y Displacement DB 6,7 ; X,Y Size DB $00,$3A,$00,$15,$54,$08 DB $00,$C0,$A0,$15,$57,$55 DB $03,$00,$0A,$A9,$AA,$E9 DB $00,$FA,$AA,$A9,$AA,$BC DB $03,$00,$00,$00,$02,$A9 DB $00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00 DB $00 DB $00 DB $00 DB $00 ; Generic Fish 1 Pattern, Alt (8 Pixels Wide x 6 Pixels High) ; ----------------------------------------------------------- L31C4: DB 13,0 ; X,Y Displacement DB 2,6 ; X,Y Size DB $14,$00 ; . 1 1 . . . . . DB $05,$00 ; . . 1 1 . . . . DB $55,$40 ; 1 1 1 1 1 . . . DB $15,$D0 ; . 1 1 1 3 1 . . DB $41,$40 ; 1 . . 1 1 . . . DB $01,$00 ; . . . 1 . . . . ; Black Fishie, Alt (8 Pixels Wide x 6 Pixels High) ; ------------------------------------------------- L31D4: DB 13,0 ; X,Y Displacement DB 2,6 ; X,Y Size DB $3C,$00 ; . 3 3 . . . . . DB $0F,$00 ; . . 3 3 . . . . DB $FF,$C0 ; 3 3 3 3 3 . . . DB $3F,$30 ; . 3 3 3 . 3 . . DB $C3,$C0 ; 3 . . 3 3 . . . DB $03,$00 ; . . . 3 . . . . ; Goldfish Pattern (8 Pixels Wide x 5 Pixels High) ; ------------------------------------------------ L31E4: DB 13,0 ; X,Y Displacement DB 2,5 ; X,Y Size DB $04,$00 ; . . 1 . . . . . DB $45,$00 ; 1 . 1 1 . . . . DB $17,$40 ; . 1 1 3 1 . . . DB $45,$00 ; 1 . 1 1 . . . . DB $04,$00 ; . . 1 . . . . . ; Goldfish Pattern, Alt (8 Pixels Wide x 5 Pixels High) ; ----------------------------------------------------- L31F2: DB 13,0 ; X,Y Displacement DB 2,5 ; X,Y Size DB $44,$00 ; 1 . 1 . . . . . DB $25,$00 ; . 2 1 1 . . . . DB $17,$40 ; . 1 1 3 1 . . . DB $25,$00 ; . 2 1 1 . . . . DB $44,$00 ; 1 . 1 . . . . . ; Black Fishie (8 Pixels Wide x 6 Pixels High) ; -------------------------------------------- L3200: DB 13,0 ; X,Y Displacement L3202: DB 2,6 ; X,Y Size DB $0C,$00 ; . . 3 . . . . . DB $CF,$00 ; 3 . 3 3 . . . . DB $3F,$C0 ; . 3 3 3 3 . . . DB $3F,$30 ; . 3 3 3 . 3 . . DB $C3,$C0 ; 3 . . 3 3 . . . DB $0F,$00 ; . . 3 3 . . . . ; Yellow Anim ?? Pattern (8 Pixels Wide x 6 Pixels High) ; ------------------------------------------------------ L3210: DB 13,0 ; X,Y Displacement L3212: DB 2,6 ; X,Y Size DB $08,$00 ; . . 2 . . . . . DB $8A,$00 ; 2 . 2 2 . . . . DB $2A,$80 ; . 2 2 2 2 . . . DB $2A,$20 ; . 2 2 2 . 2 . . DB $82,$80 ; 2 . . 2 2 . . . DB $0A,$00 ; . . 2 2 . . . . ; Generic Fish 1 Pattern (8 Pixels Wide x 6 Pixels High) ; ------------------------------------------------------ L3220: DB 13,0 ; X,Y Displacement DB 2,6 ; X,Y Size DB $04,$00 ; . . 1 . . . . . DB $45,$00 ; 1 . 1 1 . . . . DB $15,$40 ; . 1 1 1 1 . . . DB $15,$10 ; . 1 1 1 . 1 . . DB $41,$40 ; 1 . . 1 1 . . . DB $05,$00 ; . . 1 1 . . . . ; Spiderfish Pattern (12 Pixels Wide x 11 Pixels High) ; ---------------------------------------------------- L3230: DB 11,0 ; X,Y Displacement DB 3,11 ; X,Y Size DB $00,$C0,$0F ; . . . . 3 . . . . . 3 3 DB $0C,$20,$B0 ; . . 3 . . 2 . . 2 3 . . DB $32,$22,$0F ; . 3 . 2 . 2 . 2 . . 3 3 DB $00,$A8,$00 ; . . . . 2 2 2 . . . . . DB $02,$AA,$30 ; . . . 2 2 2 2 2 . 3 . . DB $02,$AA,$80 ; . . . 2 2 2 2 2 2 . . . DB $02,$AA,$30 ; . . . 2 2 2 2 2 . 3 . . DB $00,$A8,$00 ; . . . . 2 2 2 . . . . . DB $32,$22,$00 ; . 3 . 2 . 2 . 2 . . . . DB $0C,$20,$BF ; . . 3 . . 2 . . 2 3 3 3 DB $00,$C0,$00 ; . . . . 3 . . . . . . . ; Spiderfish Pattern, Alt (12 Pixels Wide x 11 Pixels High) ; --------------------------------------------------------- L3255: DB 11,0 ; X,Y Displacement DB 3,11 ; X,Y Size DB $00,$C0,$00 ; . . . . 3 . . . . . . . DB $0C,$20,$BF ; . . 3 . . 2 . . 2 3 3 3 DB $32,$22,$00 ; . 3 . 2 . 2 . 2 . . . . DB $00,$A8,$00 ; . . . . 2 2 2 . . . . . DB $02,$AA,$30 ; . . . 2 2 2 2 2 . 3 . . DB $02,$AA,$80 ; . . . 2 2 2 2 2 2 . . . DB $02,$AA,$30 ; . . . 2 2 2 2 2 . 3 . . DB $00,$A8,$00 ; . . . . 2 2 2 . . . . . DB $32,$22,$0F ; . 3 . 2 . 2 . 2 . . 3 3 DB $0C,$20,$B0 ; . . 3 . . 2 . . 2 3 . . DB $00,$C0,$0F ; . . . . 3 . . . . . 3 3 ; SILENCE Music Score [called with Voices = $FC] ; ------------------- L327A: REST $01 JP L327A ; muzJumP to loop [until a BMUSIC] DB $00 ; Squid Pattern, Alt (28 Pixels Wide x 14 Pixels High) ; ---------------------------------------------------- ; ; . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . ; . . . . 3 3 3 . . . . . . . . . . . . . . . . . . . . . ; . . 3 . . . . 3 . . . . . . . . . . . . . . . . . . . . ; . . 3 3 3 . 3 3 3 . . . . . . . . . . . . . . . . . . . ; . . . . . 3 . . 3 3 3 3 3 . . . . . . . . 3 3 3 . . . . ; . . . . 3 . . 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . ; . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ; . . . . 3 . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . ; . . . . . . . . 3 3 3 3 3 . . . . . . . . 3 3 3 . . . . ; . . . 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . ; . . 3 3 3 . . 3 . . . . . . . . . . . . . . . . . . . . ; . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . ; . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . ; . . . . 3 3 . . . . . . . . . . . . . . . . . . . . . . ; L3280: DB 0,0 ; X,Y Displacement DB 7,14 ; X,Y Size DB $00,$C0,$00,$00,$00,$00,$00 DB $00,$FC,$00,$00,$00,$00,$00 DB $0C,$03,$00,$00,$00,$00,$00 DB $0F,$CF,$C0,$00,$00,$00,$00 DB $00,$30,$FF,$C0,$00,$3F,$00 DB $00,$C3,$FB,$FF,$FF,$FF,$F0 DB $00,$3F,$FF,$FF,$FF,$FF,$FF DB $00,$CF,$FF,$FF,$FF,$FF,$F0 DB $00,$00,$FF,$C0,$00,$3F,$00 DB $03,$FF,$C0,$00,$00,$00,$00 DB $0F,$C3,$00,$00,$00,$00,$00 DB $00,$0C,$00,$00,$00,$00,$00 DB $00,$30,$00,$00,$00,$00,$00 DB $00,$F0,$00,$00,$00,$00,$00 ; "OXY" Pattern (12 Pixels Wide x 5 Pixels High) "OXY" L32E6: DB 3,5; X,Y Size DB 11111100B,11001100B,11001100B; 3 3 3 . 3 . 3 . 3 . 3 . DB 11001100B,11001100B,11001100B; 3 . 3 . 3 . 3 . 3 . 3 . DB 11001100B,00110000B,00110000B; 3 . 3 . . 3 . . . 3 . . DB 11001100B,11001100B,00110000B; 3 . 3 . 3 . 3 . . 3 . . DB 11111100B,11001100B,00110000B; 3 3 3 . 3 . 3 . . 3 . . TREAS: DB "TREASURE",0 ; Start of Ship Pattern (8 Pixels Wide x 20 Pixels High) L3300: DB 2,20 ; X,Y Size DB $00,$02 DB $00,$2B DB $2A,$BF DB $BF,$FA DB $BF,$FB DB $BF,$FB DB $BF,$FA DB $BF,$FB DB $2F,$FB DB $0B,$FA DB $02,$FF DB $02,$FF DB $00,$AA DB $00,$BF DB $00,$BF DB $00,$2F DB $00,$2F DB $00,$2F DB $00,$0B DB $00,$0A ; Pattern (4 Pixels Wide x 4 Pixels High) L332A: DB 1,4 ; X,Y Size DB $02 ; . . . 2 DB $02 ; . . . 2 DB $0B ; . . 2 3 DB $0F ; . . 3 3 ; Pattern (8 Pixels Wide x 50 Pixels High) L3330: DB 2,50 ; X,Y Size DB $AA,$00 DB $BF,$AA DB $BF,$FF DB $BF,$FF DB $BF,$FF DB $BF,$FF DB $EB,$FF DB $FE,$AA DB $FF,$FF DB $AB,$FF DB $EE,$BA DB $EF,$BB DB $AB,$BB DB $EE,$BA DB $EF,$BB DB $AB,$BB DB $FE,$BA DB $FF,$FF DB $AA,$FF DB $FF,$AA DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $AA,$FF DB $2F,$AA DB $2F,$FF DB $0B,$FF DB $0B,$FF DB $02,$FF DB $02,$FF DB $00,$BF DB $00,$BA DB $00,$2F DB $00,$BF DB $02,$FF DB $0B,$FF DB $0B,$FF DB $2F,$FF DB $BF,$FF DB $FF,$FE DB $FF,$FE DB $FF,$FB DB $FF,$FB DB $FF,$EF DB $3F,$EF DB $0F,$BF DB $03,$BF DB $00,$FF ; Pattern (12 Pixels Wide x 48 Pixels High) L3396: DB 3,48 DB $AA,$00,$00 DB $FF,$AA,$00 DB $FF,$FF,$AA DB $FF,$FF,$FF DB $FA,$AF,$FF DB $AF,$FA,$BF DB $FF,$FF,$EF DB $FF,$FF,$FA DB $FF,$FF,$FF DB $AB,$FF,$FF DB $EE,$BA,$FF DB $EF,$BB,$AB DB $AB,$BB,$EE DB $EE,$BA,$EF DB $EF,$BB,$AB DB $AB,$BB,$EE DB $FE,$BA,$EF DB $FF,$FF,$AB DB $AA,$FF,$FE DB $FF,$AA,$FF DB $FF,$FF,$AA DB $FF,$FF,$FF DB $FF,$FF,$FF DB $FF,$FA,$FF DB $FF,$FA,$FF DB $AA,$EB,$FF DB $FF,$BA,$FF DB $FE,$EF,$AA DB $FE,$EF,$FF DB $FB,$BF,$FF DB $AF,$BF,$FF DB $FE,$FF,$FF DB $FE,$FF,$FF DB $FB,$FF,$FF DB $FB,$FF,$FF DB $EA,$FF,$FF DB $EF,$AA,$AA DB $BF,$FF,$FF DB $BF,$FF,$FF DB $FF,$FF,$FF DB $FF,$FF,$FF DB $FF,$FF,$FF DB $FF,$FF,$FF DB $FF,$FF,$FC DB $FF,$FF,$F0 DB $FF,$FF,$C0 DB $FF,$FC,$00 DB $C0,$00,$00 ; Pattern (4 Pixels Wide x 5 Pixels High) L3428: DB 1,5 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . DB $0A ; . . 2 2 DB $02 ; . . . 2 ; Pattern (4 Pixels Wide x 5 Pixels High) L342F: DB $1,5 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . DB $0A ; . . 2 2 DB $02 ; . . . 2 ; Pattern (8 Pixels Wide x 9 Pixels High) L3436: DB 1,9 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . DB $0A ; . . 2 2 DB $02 ; . . . 2 DB $0B ; . . 2 3 DB $0B ; . . 2 3 DB $2F ; . 2 3 3 DB $2F ; . 2 3 3 ; Pattern (8 Pixels Wide x 17 Pixels High) L3441: DB 2,17 ; X,Y Size DB $00,$20 ; . . . . . 2 . . DB $00,$A0 ; . . . . 2 2 . . DB $00,$A0 ; . . . . 2 2 . . DB $02,$A0 ; . . . 2 2 2 . . DB $02,$A2 ; . . . 2 2 2 . 2 DB $0A,$A2 ; . . 2 2 2 2 . 2 DB $0A,$A8 ; . . 2 2 2 2 2 . DB $2E,$A8 ; . 2 3 2 2 2 2 . DB $2E,$A0 ; . 2 3 2 2 2 . . DB $BF,$E0 ; 2 3 3 3 3 2 . . DB $BF,$80 ; 2 3 3 3 2 . . . DB $FF,$80 ; 3 3 3 3 2 . . . DB $BE,$00 ; 2 3 3 2 . . . . DB $AE,$00 ; 2 2 3 2 . . . . DB $E8,$00 ; 3 2 2 . . . . . DB $FA,$00 ; 3 3 2 2 . . . . DB $E2,$80 ; 3 2 . 2 2 . . . ; Pattern (8 Pixels Wide x 5 Pixels High) L3465: DB 1,5 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . DB $0A ; . . 2 2 DB $02 ; . . . 2 ; Pattern (8 Pixels Wide x 9 Pixels High) L346C: DB 2,9 ; X,Y Size DB $FF,$82 ; 3 3 3 3 2 . . 2 DB $FE,$00 ; 3 3 3 2 . . . . DB $FE,$00 ; 3 3 3 2 . . . . DB $F8,$00 ; 3 3 2 . . . . . DB $F8,$00 ; 3 3 2 . . . . . DB $E0,$00 ; 3 2 . . . . . . DB $E0,$00 ; 3 2 . . . . . . DB $80,$00 ; 2 . . . . . . . DB $80,$00 ; 2 . . . . . . . ; Pattern (4 Pixels x 5 Pixels High) L3480: DB 1,5 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . DB $0A ; . . 2 2 DB $02 ; . . . 2 ; Pattern (4 Pixels x 5 Pixels High) L3487: DB 1,5 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . DB $0A ; . . 2 2 DB $02 ; . . . 2 ; Pattern (4 Pixels x 5 Pixels High) L348E: DB 1,5 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . DB $0A ; . . 2 2 DB $02 ; . . . 2 ; Pattern (4 Pixels x 3 Pixels High) L3495: DB 1,3 ; X,Y Size DB $80 ; 2 . . . DB $A0 ; 2 2 . . DB $28 ; . 2 2 . ; Pattern (8 Pixels x 27 Pixels High) L349A: DB 2,27 ; X,Y Size DB $80,$00 DB $A8,$00 DB $BE,$80 DB $BF,$E0 DB $BF,$FA DB $FF,$FF DB $FF,$FF DB $FA,$FF DB $FB,$BF DB $FB,$EB DB $FB,$FB DB $FA,$FB DB $FF,$BB DB $FF,$EB DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $3F,$FF ; Pattern (8 Pixels x 22 Pixels High) L34D2: DB 2,22 ; X,Y Size DB $A0,$00 DB $88,$00 DB $8A,$80 DB $8B,$E0 DB $AB,$FA DB $FB,$FF DB $FF,$FF DB $FF,$FF DB $FF,$AF DB $FF,$BB DB $FF,$BE DB $FF,$BF DB $FF,$AF DB $FF,$FB DB $FF,$FE DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FC DB $FF,$F0 DB $FF,$00 DB $F0,$00 ; Pattern (8 Pixels x 13 Pixels High) L3500: DB 2,13 ; X,Y Size DB $80,$00 DB $E0,$00 DB $FA,$00 DB $F8,$80 DB $F8,$A8 DB $B8,$BE DB $BA,$BF DB $BF,$BF DB $BF,$FF DB $BF,$FF DB $FF,$FA DB $FF,$FB DB $00,$03 ; Pattern (8 Pixels x 13 Pixels High) L351C: DB 2,13 ; X,Y Size DB $00,$02 DB $00,$02 DB $80,$0B DB $E8,$0B DB $FE,$2F DB $FF,$AF DB $FF,$BB DB $FF,$BA DB $BF,$BB DB $EB,$AB DB $FB,$FB DB $03,$FF DB $00,$0F ; Pattern (4 Pixels x 21 Pixels High) L3538: DB 1,21 ; X,Y Size DB $02 DB $02 DB $0B DB $0B DB $2F DB $2F DB $BF DB $BF DB $FF DB $FF DB $FE DB $FE DB $F8 DB $F8 DB $E0 DB $A0 DB $FA DB $FF DB $FF DB $F0 DB $F0 ; Pattern (4 Pixels x 15 Pixels High) L354F: DB 1,15 ; X,Y Size DB $08 DB $28 DB $28 DB $BA DB $BF DB $FF DB $FF DB $FE DB $FE DB $F8 DB $F8 DB $E0 DB $E0 DB $80 DB $80 ; Pattern (4 Pixels x 5 Pixels High) L3560: DB 1,5 ; X,Y Size DB $A0 DB $E0 DB $E0 DB $80 DB $80 ; Pattern (8 Pixels x 40 Pixels High) L3567: DB 2,40 ; X,Y Size DB $AA,$00 DB $FF,$AA DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $BF,$FF DB $EA,$AB DB $FF,$FB DB $FF,$FE DB $BA,$FF DB $BB,$AB DB $BB,$EE DB $BA,$EF DB $BB,$AB DB $BB,$EE DB $BA,$EF DB $FF,$AB DB $FF,$FE DB $AA,$FF DB $FF,$AA DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $AA,$FF DB $FF,$AA DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $AA,$BF DB $FF,$EA DB $FF,$FF DB $FF,$FF DB $FC,$0F DB $FC,$03 ; Pattern (8 Pixels x 41 Pixels High) L35B9: DB 2,41 ; X,Y Size DB $AA,$00 DB $FF,$AA DB $FF,$FE DB $FF,$FE DB $FF,$FE DB $FF,$FE DB $FF,$FE DB $AA,$BE DB $FF,$EA DB $BF,$FE DB $BF,$FF DB $BF,$FF DB $BF,$FE DB $BF,$FE DB $BF,$FB DB $BF,$AE DB $FE,$FF DB $FB,$BF DB $AF,$EF DB $FB,$FB DB $FB,$FB DB $FE,$FE DB $FE,$FF DB $FE,$FF DB $FF,$BA DB $AA,$AF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $AB,$FF DB $FE,$AF DB $FF,$FA DB $FF,$FF DB $0F,$FF DB $00,$3F DB $00,$03 ; Pattern (8 Pixels x 45 Pixels High) L360D: DB 2,45 ; X,Y Size DB $00,$02 DB $00,$02 DB $00,$0B DB $00,$0B DB $00,$2F DB $00,$2F DB $00,$BF DB $00,$BF DB $02,$FF DB $02,$FE DB $0B,$FE DB $0B,$F8 DB $2F,$F8 DB $AF,$E0 DB $EF,$E0 DB $FB,$80 DB $FE,$80 DB $FF,$E0 DB $FF,$FA DB $AF,$F8 DB $BB,$F8 DB $BE,$B8 DB $BF,$BA DB $AF,$BF DB $FB,$BF DB $FE,$BF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $00,$3F ; Pattern (8 Pixels Wide x 39 Pixels High) L3669: DB 2,39 ; X,Y Size DB $80,$00 DB $E0,$00 DB $F8,$00 DB $FE,$00 DB $FF,$A0 DB $FF,$88 DB $FF,$8A DB $FF,$8B DB $BF,$AB DB $AF,$FB DB $FA,$FF DB $EF,$BF DB $EB,$EF DB $FA,$EF DB $BE,$EF DB $EB,$EF DB $FE,$EF DB $FF,$AF DB $FF,$BF DB $FE,$FF DB $BB,$FF DB $AF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $FF,$FF DB $AF,$FF DB $FA,$FF DB $FF,$AC DB $FF,$C0 ; Eel Pattern (20 Pixels Wide x 5 Pixels High) ; -------------------------------------------- L36B9: DB 5,0 ; X,Y Displacement DB 4,5 ; X,Y Size DB $00,$01,$40,$00; . . . . . . . 1 1 . . . . . . . DB $50,$05,$50,$54; 1 1 . . . . 1 1 1 1 . . 1 1 1 . DB $14,$14,$15,$5D; . 1 1 . . 1 1 . . 1 1 1 1 1 3 1 DB $05,$50,$05,$54; . . 1 1 1 1 . . . . 1 1 1 1 1 . DB $01,$40,$00,$00; . . . 1 1 . . . . . . . . . . . ; Eel Pattern,alt (20 Pixels Wide x 5 Pixels High) ; ------------------------------------------------ L36D1: DB 5,0 ; X,Y Displacement DB 4,5 ; X,Y Size DB $01,$40,$00,$54 ; . . . 1 1 . . . . . . . 1 1 1 . DB $05,$50,$05,$5D ; . . 1 1 1 1 . . . . 1 1 1 1 3 1 DB $14,$14,$15,$54 ; . 1 1 . . 1 1 . . 1 1 1 1 1 1 . DB $50,$05,$50,$00 ; 1 1 . . . . 1 1 1 1 . . . . . . DB $00,$01,$40,$00 ; . . . . . . . 1 1 . . . . . . . PROMPT: DB "NUMBER OF PLAYERS",0 DB $00 ; Treasure Pattern (4 Pixels Wide x 4 Pixels High) L3700: DB 1,4 ; X,Y Size DB 00111100B ; . 3 3 . DB 11111111B ; 3 3 3 3 DB 11111111B ; 3 3 3 3 DB 00111100B ; . 3 3 . ; Boat Pattern (36 Pixels Wide x 10 Pixels High) ; --------------------------------------------------------- ; ; . . . . . . . . . . . . . . . . . . . . . . 2 2 2 . . . . . . . . . ; . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . ; . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . ; . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 2 . . . . . . . . ; . . . . . . . . . . . . . . . . 1 1 . . . 2 2 1 1 2 . . . . . . . . ; . 2 . . . . . . 2 2 . . 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . . . . 1 1 1 . ; 2 . 2 . . . . 2 2 2 . 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 . . ; . . . 2 . . . 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . ; . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . ; . . . 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 . . . ; L3706: DB 0,0 ; X,Y Displacement DB 9,10 ; X,Y Size DB $00,$00,$00,$00,$00,$0A,$80,$00,$00 DB $00,$00,$00,$00,$00,$02,$00,$00,$00 DB $00,$00,$00,$00,$00,$02,$00,$00,$00 DB $00,$00,$00,$00,$00,$2A,$A0,$00,$00 DB $00,$00,$00,$00,$50,$29,$60,$00,$00 DB $20,$00,$A0,$AA,$AA,$AA,$A0,$05,$54 DB $88,$02,$A2,$AA,$AA,$A9,$55,$55,$50 DB $02,$02,$A9,$55,$55,$55,$55,$55,$40 DB $05,$55,$55,$55,$55,$55,$55,$55,$40 DB $02,$AA,$AA,$AA,$AA,$AA,$AA,$AA,$80 ; Octopus Pattern, Alt (20 Pixels Wide x 14 Pixels High) ; ------------------------------------------------- L3764: DB 7,0 ; X,Y Displacement L3766: DB 5,14 ; X,Y Size DB $00,$00,$3F,$00,$00 ; . . . . . . . . . 3 3 3 . . . . . . . . DB $00,$00,$FF,$C0,$00 ; . . . . . . . . 3 3 3 3 3 . . . . . . . DB $00,$00,$FF,$C0,$00 ; . . . . . . . . 3 3 3 3 3 . . . . . . . DB $00,$3C,$FF,$C3,$C0 ; . . . . . 3 3 . 3 3 3 3 3 . . 3 3 . . . DB $00,$CC,$DD,$CC,$30 ; . . . . 3 . 3 . 3 1 3 1 3 . 3 . . 3 . . DB $00,$0C,$FF,$CC,$C0 ; . . . . . . 3 . 3 3 3 3 3 . 3 . 3 . . . DB $00,$0C,$3F,$0C,$00 ; . . . . . . 3 . . 3 3 3 . . 3 . . . . . DB $3C,$30,$FF,$F0,$3C ; . 3 3 . . 3 . . 3 3 3 3 3 3 . . . 3 3 . DB $C3,$FF,$FF,$FF,$C3 ; 3 . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . 3 DB $30,$0F,$33,$F0,$0C ; . 3 . . . . 3 3 . 3 . 3 3 3 . . . . 3 . DB $00,$30,$33,$3C,$00 ; . . . . . 3 . . . 3 . 3 . 3 3 . . . . . DB $00,$30,$33,$03,$CC ; . . . . . 3 . . . 3 . 3 . . . 3 3 . 3 . DB $03,$C3,$33,$00,$30 ; . . . 3 3 . . 3 . 3 . 3 . . . . . 3 . . DB $00,$00,$C0,$F0,$00 ; . . . . . . . . 3 . . . 3 3 . . . . . . ; Shark Pattern (36 Pixels Wide x 11 Pixels High) ; ----------------------------------------------- ; . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . . . . . . . . . . ; 3 3 . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . . . . . . . . ; . 3 3 3 . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . ; . . 3 3 3 3 . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . ; . 3 3 3 3 . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . 3 . 3 . 3 3 2 3 3 3 3 . . . . ; 3 3 . . . . . . . . 3 3 3 3 3 3 3 3 3 3 . 3 . 3 . 3 3 3 3 3 3 3 3 3 . . ; . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . ; . . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 . . . . . . ; . . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . . . . ; L37AE: DB 0,0 ; X,Y Displacement DB 9,11 ; X,Y Size DB $00,$00,$00,$F0,$00,$00,$00,$00,$00 DB $F0,$00,$00,$3F,$00,$00,$00,$00,$00 DB $3F,$00,$00,$3F,$F0,$00,$00,$00,$00 DB $0F,$F0,$00,$0F,$FC,$00,$00,$00,$00 DB $03,$FF,$FF,$FF,$FF,$FF,$C0,$00,$00 DB $03,$FF,$FF,$FF,$FF,$FF,$FF,$F0,$00 DB $3F,$CF,$FF,$FF,$FF,$33,$3E,$FF,$00 DB $F0,$00,$0F,$FF,$FF,$33,$3F,$FF,$F0 DB $00,$00,$00,$3F,$FF,$FF,$FF,$FF,$C0 DB $00,$00,$00,$00,$03,$FF,$FF,$F0,$00 DB $00,$00,$00,$00,$0F,$00,$00,$00,$00 SCODIV: DB "SCORE",0 ; L381B: not used ?? DB $45 DB $00 DB $15 DB $40 DB $15 DB $90 DB $41 DB $40 DB $05 DB $00 ; Start of Ground L3825: DB 3,7 ; X,Y Size DB $55,$00,$00 ; 1 1 1 1 . . . . . . . . DB $55,$50,$00 ; 1 1 1 1 1 1 . . . . . . DB $55,$55,$00 ; 1 1 1 1 1 1 1 1 . . . . DB $55,$55,$40 ; 1 1 1 1 1 1 1 1 1 . . . DB $55,$55,$50 ; 1 1 1 1 1 1 1 1 1 1 . . DB $55,$55,$54 ; 1 1 1 1 1 1 1 1 1 1 1 . DB $55,$55,$55 ; 1 1 1 1 1 1 1 1 1 1 1 1 L383C: DB 2,2 ; X,Y Size DB $00,$01 ; . . . . . 1 DB $15,$55 ; 1 1 1 1 1 1 GAMOVR: DB "FAREWELL",0 DPRMPT: DB "NUMBER OF DIVERS",0 LOGO2: DB "SOFTWARE FROM SPECTRECADE ",0 L3886: DB 5,5 ; X,Y Size DB $00,$05,$40,$00,$00 ; . . . . . . 1 1 1 . . . . . . . . . . . DB $00,$05,$50,$00,$00 ; . . . . . . 1 1 1 1 . . . . . . . . . . DB $05,$55,$55,$40,$00 ; . . 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . DB $15,$55,$55,$55,$00 ; . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . DB $55,$55,$55,$55,$50 ; 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . L38A1: DB 3,2 ; X,Y Size DB $05,$55,$00 ; . . 1 1 1 1 1 1 . . . . DB $55,$55,$55 ; 1 1 1 1 1 1 1 1 1 1 1 1 L38A9: DB 11,5 ; X,Y Size ; ; . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . 1 1 1 . . . . . . . . . . . ; . . . . . 1 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . 1 1 1 1 1 1 1 . . . . . . . . . . ; . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . ; . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . ; 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . ; DB $00,$05,$55,$40,$00,$00,$00,$05,$40,$00,$00 DB $00,$15,$55,$50,$00,$00,$01,$55,$50,$00,$00 DB $00,$55,$55,$55,$40,$00,$55,$55,$55,$40,$00 DB $05,$55,$55,$55,$55,$00,$55,$55,$55,$50,$00 DB $55,$55,$55,$55,$55,$55,$55,$55,$55,$55,$54 L38E2: DB 5,4 ; X,Y Size DB $00,$01,$54,$00,$00 ; . . . . . . . 1 1 1 1 . . . . . . . . . DB $00,$55,$55,$00,$00 ; . . . . 1 1 1 1 1 1 1 1 . . . . . . . . DB $05,$55,$55,$50,$00 ; . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . DB $55,$55,$55,$55,$55 ; 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 L38F8: DB 4,5 ; X,Y Size DB $00,$01,$55,$40 ; . . . . . . . 1 1 1 1 1 1 . . . DB $00,$15,$55,$40 ; . . . . . 1 1 1 1 1 1 1 1 . . . DB $00,$15,$55,$40 ; . . . . . 1 1 1 1 1 1 1 1 . . . DB $01,$55,$55,$40 ; . . . 1 1 1 1 1 1 1 1 1 1 . . . DB $55,$55,$55,$40 ; 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . ; Sub Pattern (40 Pixels Wide x 12 Pixels High) ; --------------------------------------------- L390E: DB 0,0 ; X,Y Displacement ; ; . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . ; . . . . . . . . . . . . . . 2 2 2 2 2 . . . . . . . . . . . . . ; . . . . . . . . . . . . . 2 2 1 2 1 2 2 . . . . . . . . . . . . ; 2 2 . . . . . . . . . . . 2 2 2 2 2 2 2 . . . . . . . . . . . . ; 2 2 2 . . . . . . . . . 2 2 2 2 2 2 3 3 3 3 3 3 . . . . . . . . ; 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 . . ; 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 2 2 1 2 1 2 2 2 2 2 3 3 2 2 . ; 2 2 3 . . 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . ; . . 3 2 2 2 2 2 3 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 . . ; . . 3 . . 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . . . . ; . . . . . . . . . 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . . . . . ; L3910: DB 8,12 ; X,Y Size DB $00,$00,$00,$00,$3C,$00,$00,$00 DB $00,$00,$00,$00,$30,$00,$00,$00 DB $00,$00,$00,$0A,$A8,$00,$00,$00 DB $00,$00,$00,$29,$9A,$00,$00,$00 DB $A0,$00,$00,$2A,$AA,$00,$00,$00 DB $A8,$00,$00,$AA,$AF,$FF,$00,$00 DB $AA,$AA,$AA,$AA,$BA,$AA,$AA,$A0 DB $AA,$AA,$AF,$FF,$E9,$9A,$AB,$E8 DB $AC,$2A,$BA,$AA,$AA,$AA,$AA,$A8 DB $0E,$AA,$E9,$99,$9A,$AA,$AA,$A0 DB $0C,$2A,$EA,$AA,$AA,$AA,$AA,$00 DB $00,$00,$2A,$AA,$AA,$AA,$A8,$00 ; Clam Pattern, Alt (8 Pixels Wide x 5 Pixels High) L3972: DB 13,0 ; X,Y Displacement DB 2,5 ; X,y Size DB $0F,$F0 ; . . 3 3 3 3 . . DB $35,$5C ; . 3 1 1 1 1 3 . DB $FF,$FF ; 3 3 3 3 3 3 3 3 DB $35,$5C ; . 3 1 1 1 1 3 . DB $0F,$F0 ; . . 3 3 3 3 . . ; Clam Pattern (8 Pixels Wide x 9 Pixels High) L3980: DB 13,0 ; X,Y Displacement DB 2,9 ; X,Y Size DB $03,$F0 ; . . . 3 3 3 . . DB $0D,$5F ; . . 3 1 1 1 3 3 DB $35,$FC ; . 3 1 1 3 3 3 . DB $3F,$00 ; . 3 3 3 . . . . DB $C0,$00 ; 3 . . . . . . . DB $3F,$00 ; . 3 3 3 . . . . DB $35,$FC ; . 3 1 1 3 3 3 . DB $0D,$5F ; . . 3 1 1 1 3 3 DB $03,$F0 ; . . . 3 3 3 . . DB $00 DB $00 DB $00 ; Octopus Pattern (20 Pixels Wide x 14 Pixels High) ; ------------------------------------------------- L3999: DB 7,0 ; X,Y Displacement DB 5,14 ; X,Y Size DB $00,$00,$3F,$00,$00 ; . . . . . . . . . 3 3 3 . . . . . . . . DB $00,$00,$FF,$C0,$00 ; . . . . . . . . 3 3 3 3 3 . . . . . . . DB $00,$00,$FF,$C0,$00 ; . . . . . . . . 3 3 3 3 3 . . . . . . . DB $00,$C0,$FF,$C0,$F0 ; . . . . 3 . . . 3 3 3 3 3 . . . 3 3 . . DB $03,$30,$EE,$C3,$0C ; . . . 3 . 3 . . 3 2 3 2 3 . . 3 . . 3 . DB $00,$0C,$FF,$C3,$30 ; . . . . . . 3 . 3 3 3 3 3 . . 3 . 3 . . DB $00,$0C,$3F,$0C,$00 ; . . . . . . 3 . . 3 3 3 . . 3 . . . . . DB $0C,$30,$FF,$F0,$0C ; . . 3 . . 3 . . 3 3 3 3 3 3 . . . . 3 . DB $33,$3F,$FF,$FF,$F3 ; . 3 . 3 . 3 3 3 3 3 3 3 3 3 3 3 3 3 . 3 DB $C0,$CF,$C3,$C0,$03 ; 3 . . . 3 . 3 3 3 . . 3 3 . . . . . . 3 DB $30,$30,$C3,$F0,$00 ; . 3 . . . 3 . . 3 . . 3 3 3 . . . . . . DB $00,$C3,$0C,$0C,$C0 ; . . . . 3 . . 3 . . 3 . . . 3 . 3 . . . DB $03,$03,$0C,$03,$00 ; . . . 3 . . . 3 . . 3 . . . . 3 . . . . DB $03,$3C,$03,$00,$00 ; . . . 3 . 3 3 . . . . 3 . . . . . . . . ; Party Sub, Alt (32 Pixels Wide x 12 Pixels High) ; ------------------------------------------------ ; ; . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . ; . . . . . . . . . . . . . . 2 2 2 2 2 . . . . . . . . . . . . . ; . . . . . . . . . . . . . 2 2 1 2 1 2 2 . . . . . . . . . . . . ; 2 2 . . . . . . . . . . . 2 2 2 2 2 2 2 . . . . . . . . . . . . ; 2 2 2 . . . . . . . . . 2 2 2 2 2 2 3 3 3 3 3 3 . . . . . . . . ; 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 . . ; 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 2 2 1 2 2 2 2 2 2 2 3 3 2 2 . ; 2 2 . . . 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . ; . . 3 2 2 2 2 2 3 2 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 . . ; . . . . . 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . . . . ; . . . . . . . . . 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . . . . . ; L39E3: DB 0,0 ; X,Y Displacement DB 8,12 ; X,Y Size DB $00,$00,$00,$00,$3C,$00,$00,$00 DB $00,$00,$00,$00,$30,$00,$00,$00 DB $00,$00,$00,$0A,$A8,$00,$00,$00 DB $00,$00,$00,$29,$9A,$00,$00,$00 DB $A0,$00,$00,$2A,$AA,$00,$00,$00 DB $A8,$00,$00,$AA,$AF,$FF,$00,$00 DB $AA,$AA,$AA,$AA,$BA,$AA,$AA,$A0 DB $AA,$AA,$AF,$FF,$E9,$AA,$AB,$E8 DB $A0,$2A,$BA,$AA,$AA,$AA,$AA,$A8 DB $0E,$AA,$E9,$99,$9A,$AA,$AA,$A0 DB $00,$2A,$EA,$AA,$AA,$AA,$AA,$00 DB $00,$00,$2A,$AA,$AA,$AA,$A8,$00 ; Crab (8 Pixels Wide x 6 Pixel Height) ; ------------------------------------- L3A47: DB 13,0 ; X,Y Displacement DB 2,6 ; X,Y Size DB $0C,$C0 ; . . 3 . 3 . . . DB $3F,$F0 ; . 3 3 3 3 3 . . DB $FB,$BC ; 3 3 2 3 2 3 3 . DB $3F,$F0 ; . 3 3 3 3 3 . . DB $30,$30 ; . 3 . . . 3 . . DB $3C,$F0 ; . 3 3 . 3 3 . . ; Crab, Alt (8 Pixels Wide x 6 Pixel Height) ; ------------------------------------------ L3A57: DB 13,0 ; X,Y Displacement DB 2,6 ; X,Y Size DB $0C,$C0 ; . . 3 . 3 . . . DB $3F,$F0 ; . 3 3 3 3 3 . . DB $F3,$3C ; 3 3 . 3 . 3 3 . DB $3F,$F0 ; . 3 3 3 3 3 . . DB $30,$30 ; . 3 . . . 3 . . DB $0C,$C0 ; . . 3 . 3 . . . ; "COVE" String COVE: DB "COVE",0 ; L3A6C ?? not used ?? DB $A0 DB $00 ; Nosefish Pattern (16 Pixels Wide x 8 Pixels High) ; ------------------------------------------------- L3A6E: DB 9,0 ; X,Y Displacement DB 4,8 ; X,Y Size DB $00,$55,$40,$00 ; . . . . 1 1 1 1 1 . . . . . . . DB $01,$55,$50,$00 ; . . . 1 1 1 1 1 1 1 . . . . . . DB $21,$55,$74,$00 ; . 2 . 1 1 1 1 1 1 3 1 . . . . . DB $A1,$55,$54,$10 ; 2 2 . 1 1 1 1 1 1 1 1 . . 1 . . DB $A9,$69,$55,$40 ; 2 2 2 1 1 2 2 1 1 1 1 1 1 . . . DB $81,$5A,$55,$00 ; 2 . . 1 1 1 2 2 1 1 1 1 . . . . DB $01,$69,$54,$00 ; . . . 1 1 2 2 1 1 1 1 . . . . . DB $00,$55,$50,$00 ; . . . . 1 1 1 1 1 1 . . . . . . ; Nosefish Pattern, Alt (16 Pixels Wide x 8 Pixels High) ; ------------------------------------------------------ L3A92: DB 9,0 ; X,Y Displacement DB 4,8 ; X,Y Size DB $00,$55,$40,$00 ; . . . . 1 1 1 1 1 . . . . . . . DB $01,$55,$50,$00 ; . . . 1 1 1 1 1 1 1 . . . . . . DB $81,$55,$74,$00 ; 2 . . 1 1 1 1 1 1 3 1 . . . . . DB $A1,$69,$54,$00 ; 2 2 . 1 1 2 2 1 1 1 1 . . . . . DB $A9,$5A,$55,$00 ; 2 2 2 1 1 1 2 2 1 1 1 1 . . . . DB $81,$69,$55,$50 ; 2 2 2 1 1 1 2 2 1 1 1 1 . . . . DB $01,$55,$54,$00 ; . . . 1 1 1 1 1 1 1 1 . . . . . DB $00,$55,$50,$00 ; . . . . 1 1 1 1 1 1 . . . . . . ; Octopus Pattern (20 Pixels Wide x 14 Pixels High) ; ------------------------------------------------- OCTP3: DB 7,0 ; X,Y Displacement DB 5,14 ; X,Y Size DB $00,$00,$FC,$00,$00 ; . . . . . . . . 3 3 3 . . . . . . . . . DB $00,$03,$FF,$00,$00 ; . . . . . . . 3 3 3 3 3 . . . . . . . . DB $00,$03,$FF,$03,$00 ; . . . . . . . 3 3 3 3 3 . . . 3 . . . . DB $0F,$03,$FF,$0C,$C0 ; . . 3 3 . . . 3 3 3 3 3 . . 3 . 3 . . . DB $30,$C3,$77,$30,$C0 ; . 3 . . 3 . . 3 1 3 1 3 . 3 . . 3 . . . DB $00,$C3,$FF,$0C,$00 ; . . . . 3 . . 3 3 3 3 3 . . 3 . . . . . DB $00,$30,$FC,$30,$00 ; . . . . . 3 . . 3 3 3 . . 3 . . . . . . DB $3C,$33,$FF,$C0,$00 ; . 3 3 . . 3 . 3 3 3 3 3 3 . . . . . . . DB $C3,$3F,$FF,$FF,$C0 ; 3 . . 3 . 3 3 3 3 3 3 3 3 3 3 3 3 . . . DB $C0,$CC,$CF,$C0,$30 ; 3 . . . 3 . 3 . 3 . 3 3 3 . . . . 3 . . DB $30,$30,$CF,$30,$C0 ; . 3 . . . 3 . . 3 . 3 3 . 3 . . 3 . . . DB $00,$33,$03,$0C,$00 ; . . . . . 3 . 3 . . . 3 . . 3 . . . . . DB $03,$C3,$03,$03,$C0 ; . . . 3 3 . . 3 . . . 3 . . . 3 3 . . . DB $00,$0C,$00,$C0,$00 ; . . . . . . 3 . . . . . 3 . . . . . . . ; Dead Diver Pattern (20 Pixels Wide x 8 Pixels High) ; --------------------------------------------------- DEADPT: DB 0,0 ; X,Y Displacement DB 5,8 ; X,Y Size DB $02,$80,$00,$00,$00 ; . . . 2 2 . . . . . . . . . . . . . . . DB $08,$2A,$A9,$AA,$BC ; . . 2 . . 2 2 2 2 2 2 1 2 2 2 2 2 3 3 . DB $0C,$02,$A9,$AA,$E9 ; . . 3 . . . . 2 2 2 2 1 2 2 2 2 3 2 2 1 DB $3A,$A8,$15,$56,$15 ; . 3 2 2 2 2 2 . . 1 1 1 1 1 1 2 . 1 1 1 DB $20,$00,$15,$56,$08 ; . 2 . . . . . . . 1 1 1 1 1 1 2 . . 2 . DB $20,$00,$00,$08,$00 ; . 2 . . . . . . . . . . . . 2 . . . . . DB $30,$00,$00,$20,$00 ; . 3 . . . . . . . . . . . 2 . . . . . . DB $C0,$00,$00,$C0,$00 ; 3 . . . . . . . . . . . 3 . . . . . . . ; Swordfish Pattern (32 Pixels Wide x 11 Pixels High) ; --------------------------------------------------- ; . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . ; 3 . . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . ; . 3 . . . . . . . . . . . . . . 3 3 3 3 3 3 . . . . . . . . . . ; . 3 3 . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . ; . . 3 3 . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 . . . . . . . ; . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ; . . 3 3 . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . ; . 3 3 . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . ; . 3 . . . . . . . 3 . . . . . . . . . 3 3 . . . . . . . . . . . ; 3 . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . ; L3B2C: DB 0,0 ; X,Y Displacement DB 8,11 ; X,Y Size DB $00,$00,$00,$00,$3C,$00,$00,$00 DB $00,$00,$00,$00,$0F,$00,$00,$00 DB $C0,$00,$00,$00,$0F,$C0,$00,$00 DB $30,$00,$00,$00,$FF,$F0,$00,$00 DB $3C,$00,$03,$FF,$FF,$FF,$00,$00 DB $0F,$3F,$FF,$FF,$FF,$FE,$C0,$00 DB $0F,$FF,$FF,$FF,$FF,$FF,$FF,$FF DB $0F,$03,$FF,$FF,$FF,$FC,$00,$00 DB $3C,$00,$3F,$FF,$FF,$FF,$C0,$00 DB $30,$00,$30,$00,$03,$C0,$00,$00 DB $C0,$00,$00,$00,$3F,$00,$00,$00 ; It looks like these eight bytes SHOULD have been the bottom row of ; the Swordfish Pattern, but the Y Size used was 11 instead of 12 DB $00,$00,$00,$F0,$00,$00,$00,$00 ; Swordfish Pattern, Alt (32 Pixels Wide x 11 Pixels High) ; -------------------------------------------------------- ; ; . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . ; . 3 . . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . ; . . 3 . . . . . . . . . . . . . 3 3 3 3 3 3 . . . . . . . . . . ; . . 3 3 . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 . . . . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ; . . . 3 3 . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . ; . . 3 3 . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . ; . . 3 . . . . . 3 . . . . . . . . . . 3 3 . . . . . . . . . . . ; . 3 . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . ; . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . ; L3B90: DB 0,0 ; X,Y Displacement DB 8,12 ; XY Size DB $00,$00,$00,$00,$3C,$00,$00,$00 DB $00,$00,$00,$00,$0F,$00,$00,$00 DB $30,$00,$00,$00,$0F,$C0,$00,$00 DB $0C,$00,$00,$00,$FF,$F0,$00,$00 DB $0F,$00,$03,$FF,$FF,$FF,$00,$00 DB $03,$FF,$FF,$FF,$FF,$FD,$C0,$00 DB $03,$FF,$FF,$FF,$FF,$FF,$FF,$FF DB $03,$C3,$FF,$FF,$FF,$FF,$00,$00 DB $0F,$00,$3F,$FF,$FF,$FC,$00,$00 DB $0C,$00,$C0,$00,$03,$C0,$00,$00 DB $30,$00,$00,$00,$0F,$00,$00,$00 DB $00,$00,$00,$00,$3C,$00,$00,$00 ; Shark Pattern, Alt (and for Title Screen (36 Pixels Wide x 11 Pixels High) ; -------------------------------------------------------------------------- ; ; . . . . . . . . . . . 3 3 . . . . . . . . . . . . . . . . . . . . . . . ; . . . . . . . . . . . . 3 3 3 . . . . . . . . . . . . . . . . . . . . . ; 3 3 . . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . ; . 3 3 3 . . . . . . . . . 3 3 3 3 3 . . . . . . . . . . . . . . . . . . ; . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . . . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 . . . . ; . 3 3 3 3 . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . ; 3 3 . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . 3 3 3 . . . ; . . . . . . . . . . . . . . . . . . . 3 3 3 3 3 3 3 3 3 . . . . . . . . ; . . . . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . . . . . . ; L3BF4: DB 0,0 ; X,Y Displacement for Shark, Alt L3BF6: DB 9,11 ; X,Y Size DB $00,$00,$03,$C0,$00,$00,$00,$00,$00 DB $00,$00,$00,$FC,$00,$00,$00,$00,$00 DB $F0,$00,$00,$FF,$C0,$00,$00,$00,$00 DB $3F,$00,$00,$3F,$F0,$00,$00,$00,$00 DB $0F,$FF,$FF,$FF,$FF,$FF,$C0,$00,$00 DB $03,$FF,$FF,$FF,$FF,$FF,$FF,$F0,$00 DB $03,$FF,$FF,$FF,$FF,$FF,$FE,$FF,$00 DB $3F,$C0,$0F,$FF,$FF,$FF,$FF,$FF,$F0 DB $F0,$00,$00,$3F,$FF,$FF,$F0,$0F,$C0 DB $00,$00,$00,$00,$03,$FF,$FF,$00,$00 DB $00,$00,$00,$00,$03,$C0,$00,$00,$00 ; Sailfish Pattern (35 Pixels Wide x 11 Pixels High) ; -------------------------------------------------- ; ; 3 3 . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . ; 3 3 . . . . . . . . . . 1 1 1 1 1 1 1 1 1 . . . . . . . . . ; 3 3 3 . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . ; 3 3 . 3 . . . . 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 . . . . . . . ; 3 3 . 3 3 . . . 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . ; 3 3 . . 3 3 . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 . . . . ; 3 3 . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ; 3 3 . . 3 3 . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . ; 3 3 . 3 3 . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . ; 3 3 . 3 . . . . . . . 3 . . . . . . . . 3 3 . . . . . . . . ; 3 3 3 . . . . . . . . . . . . . . . 3 3 3 . . . . . . . . . ; L3C5B: DB 0,0 ; X,Y Displacement DB 7,11 ; X,Y Size DB $00,$00,$00,$05,$50,$00,$00 DB $00,$00,$05,$55,$54,$00,$00 DB $C0,$01,$55,$55,$55,$00,$00 DB $30,$05,$55,$57,$FF,$C0,$00 DB $3C,$05,$57,$FF,$FF,$FC,$00 DB $0F,$3F,$FF,$FF,$FF,$FB,$00 DB $0F,$FF,$FF,$FF,$FF,$FF,$FF DB $0F,$03,$FF,$FF,$FF,$FC,$00 DB $3C,$00,$3F,$FF,$FF,$F0,$00 DB $30,$00,$30,$00,$0F,$00,$00 DB $C0,$00,$00,$00,$FC,$00,$00 PLAYUP: DB "PLAYER UP",0 DB $00 DB $00 ; Sailfish Pattern, Alt (35 Pixels Wide x 12 Pixels High) ; ------------------------------------------------------- ; ; . . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . ; . . . . . . . . . . 1 1 1 1 1 1 1 1 1 . . . . . . . . . ; . 3 . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . ; . . 3 . . . 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 . . . . . . . ; . . 3 3 . . 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 . . . . ; . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ; . . . 3 3 . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . ; . . 3 3 . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . ; . . 3 . . . . . 3 . . . . . . . . . 3 3 . . . . . . . . ; . 3 . . . . . . . . . . . . . . . 3 3 . . . . . . . . . ; . . . . . . . . . . . . . . . . 3 3 . . . . . . . . . . ; L3CBA: DB 0,0 ; X,Y Displacement DB 7,12 ; X,Y Size DB $00,$00,$00,$05,$50,$00,$00 DB $00,$00,$05,$55,$54,$00,$00 DB $30,$01,$55,$55,$55,$00,$00 DB $0C,$05,$55,$57,$FF,$C0,$00 DB $0F,$05,$57,$FF,$FF,$FC,$00 DB $03,$FF,$FF,$FF,$FF,$FB,$00 DB $03,$FF,$FF,$FF,$FF,$FF,$FF DB $03,$C3,$FF,$FF,$FF,$F0,$00 DB $0F,$00,$3F,$FF,$FF,$FC,$00 DB $0C,$00,$C0,$00,$0F,$00,$00 DB $30,$00,$00,$00,$3C,$00,$00 DB $00,$00,$00,$00,$F0,$00,$00 ; Squid (28 Pixels Wide x 14 Pixels High) ; --------------------------------------- ; ; . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . ; . . . . 3 3 3 . . . . . . . . . . . . . . . . . . . . . ; 3 3 . . . . . 3 . . . . . . . . . . . . . . . . . . . . ; . . 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . ; . . . . . . . . 3 3 3 3 3 3 . . . . . . . 3 3 3 . . . . ; . . . . . . 3 3 3 3 . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . ; . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ; . . . . . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . . ; . . . . . . . . 3 3 3 3 3 3 . . . . . . . 3 3 3 . . . . ; . 3 3 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . . ; 3 3 . . . . . 3 . . . . . . . . . . . . . . . . . . . . ; . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . ; . . . . 3 3 . . . . . . . . . . . . . . . . . . . . . . ; . . 3 3 . . . . . . . . . . . . . . . . . . . . . . . . ; L3D12: DB 3,0 ; X,Y Displacement DB 7,14 ; X,Y Size DB $03,$00,$00,$00,$00,$00,$00 DB $00,$FC,$00,$00,$00,$00,$00 DB $F0,$03,$00,$00,$00,$00,$00 DB $0F,$FF,$C0,$00,$00,$00,$00 DB $00,$00,$FF,$F0,$00,$3F,$00 DB $00,$0F,$F3,$FF,$FF,$FF,$F0 DB $0F,$FF,$FF,$FF,$FF,$FF,$FF DB $00,$0F,$FF,$FF,$FF,$FF,$F0 DB $00,$00,$FF,$F0,$00,$3F,$00 DB $3F,$FF,$C0,$00,$00,$00,$00 DB $F0,$03,$00,$00,$00,$00,$00 DB $00,$0C,$00,$00,$00,$00,$00 DB $00,$F0,$00,$00,$00,$00,$00 DB $0F,$00,$00,$00,$00,$00,$00 ; Chest (16 Pixels Wide x 13 Pixels High) ; --------------------------------------- L3D78: DB 4,13 ; X,Y Size DB $00,$03,$F0,$00 ; . . . . . . . 3 3 3 . . . . . . DB $03,$FF,$AF,$00 ; . . . 3 3 3 3 3 2 2 3 3 . . . . DB $00,$EA,$FA,$C0 ; . . . . 3 2 2 2 3 3 2 2 3 . . . DB $00,$3E,$BF,$FC ; . . . . . 3 3 2 2 3 3 3 3 3 3 . DB $3F,$FF,$EA,$AC ; . 3 3 3 3 3 3 3 3 2 2 2 2 2 3 . DB $EB,$D5,$7F,$EF ; 3 2 2 3 3 1 1 1 1 3 3 3 3 2 3 3 DB $EA,$BD,$55,$7F ; 3 2 2 2 2 3 3 1 1 1 1 1 1 3 3 3 DB $EA,$AF,$FF,$FC ; 3 2 2 2 2 2 3 3 3 3 3 3 3 3 3 . DB $EA,$AE,$AA,$AC ; 3 2 2 2 2 2 3 2 2 2 2 2 2 2 3 . DB $3E,$AE,$AA,$AC ; . 3 3 2 2 2 3 2 2 2 2 2 2 2 3 . DB $03,$EE,$AA,$AC ; . . . 3 3 2 3 2 2 2 2 2 2 2 3 . DB $00,$3E,$AA,$AC ; . . . . . 3 3 2 2 2 2 2 2 2 3 . DB $00,$03,$FF,$F0 ; . . . . . . . 3 3 3 3 3 3 3 . . ; Anchor (16 Pixels Wide x 11 Pixels High) ; ---------------------------------------- L3DAE: DB 4,11 ; X,Y Size DB $00,$FC,$0F,$00 ; . . . . 3 3 3 . . . 3 3 . . . . DB $00,$03,$F3,$00 ; . . . . . . . 3 3 3 . 3 . . . . DB $30,$00,$3F,$C0 ; . 3 . . . . . . . 3 3 3 3 . . . DB $FC,$00,$C0,$3F ; 3 3 3 . . . . . 3 . . . . 3 3 3 DB $30,$03,$00,$00 ; . 3 . . . . . 3 . . . . . . . . DB $30,$0C,$00,$00 ; . 3 . . . . 3 . . . . . . . . . DB $0C,$30,$00,$00 ; . . 3 . . 3 . . . . . . . . . . DB $03,$C0,$00,$00 ; . . . 3 3 . . . . . . . . . . . DB $03,$C0,$30,$00 ; . . . 3 3 . . . . 3 . . . . . . DB $00,$3F,$FC,$00 ; . . . . . 3 3 3 3 3 3 . . . . . DB $00,$00,$30,$00 ; . . . . . . . . . 3 . . . . . . ; Seahorse Pattern (12 Pixels Wide x 17 Pixels High) ; -------------------------------------------------- L3DDC: DB 11,0 ; X,Y Displacement DB 3,17 ; X,Y Size DB $00,$30,$00 ; . . . . . 3 . . . . . . DB $00,$3C,$00 ; . . . . . 3 3 . . . . . DB $00,$FF,$00 ; . . . . 3 3 3 3 . . . . DB $03,$FE,$C0 ; . . . 3 3 3 3 2 3 . . . DB $00,$3F,$FC ; . . . . . 3 3 3 3 3 3 . DB $00,$FF,$FF ; . . . . 3 3 3 3 3 3 3 3 DB $03,$FC,$00 ; . . . 3 3 3 3 . . . . . DB $00,$3C,$00 ; . . . . . 3 3 . . . . . DB $01,$3F,$00 ; . . . 1 . 3 3 3 . . . . DB $01,$7F,$00 ; . . . 1 1 3 3 3 . . . . DB $01,$7F,$C0 ; . . . 1 1 3 3 3 3 . . . DB $01,$3F,$C0 ; . . . 1 . 3 3 3 3 . . . DB $00,$3F,$C0 ; . . . . . 3 3 3 3 . . . DB $30,$3F,$00 ; . 3 . . . 3 3 3 . . . . DB $C0,$FC,$00 ; 3 . . . 3 3 3 . . . . . DB $F3,$F0,$00 ; 3 3 . 3 3 3 . . . . . . DB $3F,$00,$00 ; . 3 3 3 . . . . . . . . ; Seahorse Pattern, Alt (12 Pixels Wide x 18 Pixels High) ; -------------------------------------------------- L3E13: DB 11,0 ; X,Y Displacement DB 3,18 ; X,Y Size DB $00,$00,$00 ; . . . . . . . . . . . . DB $00,$30,$00 ; . . . . . 3 . . . . . . DB $00,$3C,$00 ; . . . . . 3 3 . . . . . DB $00,$FF,$00 ; . . . . 3 3 3 3 . . . . DB $03,$FE,$C0 ; . . . 3 3 3 3 2 3 . . . DB $00,$3F,$FC ; . . . . . 3 3 3 3 3 3 . DB $00,$FF,$FF ; . . . . 3 3 3 3 3 3 3 3 DB $03,$FF,$00 ; . . . 3 3 3 3 3 . . . . DB $00,$0F,$00 ; . . . . . . 3 3 . . . . DB $05,$0F,$C0 ; . . 1 1 . . 3 3 3 . . . DB $01,$5F,$C0 ; . . . 1 1 1 3 3 3 . . . DB $01,$5F,$F0 ; . . . 1 1 1 3 3 3 3 . . DB $00,$4F,$F0 ; . . . . 1 . 3 3 3 3 . . DB $0C,$0F,$F0 ; . . 3 . . . 3 3 3 3 . . DB $33,$0F,$C0 ; . 3 . 3 . . 3 3 3 . . . DB $30,$3F,$00 ; . 3 . . . 3 3 3 . . . . DB $0F,$FC,$00 ; . . 3 3 3 3 3 . . . . . DB $03,$C0,$00 ; . . . 3 3 . . . . . . . ; Turtle Pattern (20 Pixels Wide x 7 Pixels High) ; ----------------------------------------------- L3E4D: DB 7,0 ; X,Y Displacement DB 5,7 ; X,Y Size DB $00,$3F,$FF,$00,$00 ; . . . . . 3 3 3 3 3 3 3 . . . . . . . . DB $00,$D7,$75,$C0,$00 ; . . . . 3 1 1 3 1 3 1 1 3 . . . . . . . DB $03,$5D,$5D,$70,$54 ; . . . 3 1 1 3 1 1 1 3 1 1 3 . . 1 1 1 . DB $0F,$FF,$FF,$FD,$75 ; . . 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 3 1 1 DB $56,$BF,$FF,$A5,$55 ; 1 1 1 2 2 3 3 3 3 3 3 3 2 2 1 1 1 1 1 1 DB $0A,$80,$00,$A8,$00 ; . . 2 2 2 . . . . . . . 2 2 2 . . . . . DB $0A,$00,$00,$28,$00 ; . . 2 2 . . . . . . . . . 2 2 . . . . . ; Turtle Pattern, Alt (20 Pixels Wide x 7 Pixels High) ; ---------------------------------------------------- L3E74: DB 7,0 ; X,Y Displacement DB 5,7 ; X,Y Size DB $00,$3F,$FF,$00,$00 ; . . . . . 3 3 3 3 3 3 3 . . . . . . . . DB $00,$D7,$75,$C0,$54 ; . . . . 3 1 1 3 1 3 1 1 3 . . . 1 1 1 . DB $03,$5D,$5D,$70,$75 ; . . . 3 1 1 3 1 1 1 3 1 1 3 . . 1 3 1 1 DB $43,$FF,$FF,$FD,$55 ; 1 . . 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 DB $16,$BF,$FF,$A5,$00 ; . 1 1 2 2 3 3 3 3 3 3 3 2 2 1 1 . . . . DB $02,$80,$00,$A0,$00 ; . . . 2 2 . . . . . . . 2 2 . . . . . . DB $00,$A0,$02,$80,$00 ; . . . . 2 2 . . . . . 2 2 . . . . . . . ; Snark Pattern (4 Pixels Wide x 3 Pixels High) ; ---------------------------------------------- L3E9B: DB 13,0 ; X,Y Displacement DB 2,3 ; X,Y Size DB $CF,$00 ; 3 . 3 3 . . . . DB $3D,$C0 ; . 3 3 1 3 . . . DB $CF,$00 ; 3 . 3 3 . . . . ; Snark Pattern, Alt (4 Pixels Wide x 3 Pixels High) ; --------------------------------------------------- L3EA5: DB 13,0 ; X,Y Displacement DB 2,3 ; X,Y Size DB $3F,$00 ; . 3 3 3 . . . . DB $FD,$C0 ; 3 3 3 1 3 . . . DB $3F,$00 ; . 3 3 3 . . . . ; Yellow Anim Pattern, Alt ?? (8 Pixels Wide x 6 Pixels High) ; ----------------------------------------------------------- L3EAF: DB 13,0 ; X,Y Displacement DB 2,6 ; X,Y Size DB $28,$00 ; . 2 2 . . . . . DB $0A,$00 ; . . 2 2 . . . . DB $AA,$80 ; 2 2 2 2 2 . . . DB $2A,$E0 ; . 2 2 2 3 2 . . DB $82,$80 ; 2 . . 2 2 . . . DB $02,$00 ; . . . 2 . . . . ; Generic Fish Pattern 2, (16 Pixels Wide x 4 Pixels High) ; --------------------------------------------------------------------- L3EBF: DB 8,0 ; X,Y Displacement DB 4,4 ; X,Y Size DB $00,$00,$50,$00 ; . . . . . . . . 1 1 . . . . . . DB $50,$FF,$FF,$80 ; 1 1 . . 3 3 3 3 3 3 3 3 2 . . . DB $07,$FF,$FF,$FF ; . . 1 3 3 3 3 3 3 3 3 3 3 3 3 3 DB $10,$00,$04,$00 ; . 1 . . . . . . . . 1 . . . . . ; Generic Fish Pattern 2, Alt (16 Pixels Wide x 4 Pixels High) ; -------------------------------------------------------------------------- L3ED3: DB 8,0 ; X,Y Displacement DB 4,4 ; X,Y Size DB $00,$00,$50,$00 ; . . . . . . . . 1 1 . . . . . . DB $10,$FF,$FF,$80 ; . 1 . . 3 3 3 3 3 3 3 3 2 . . . DB $07,$FF,$FF,$FF ; . . 1 3 3 3 3 3 3 3 3 3 3 3 3 3 DB $50,$00,$01,$00 ; 1 1 . . . . . . . . . 1 . . . . LOGO: DB " (C) 1983 SPECTRE SYSTEMS ",0 L3F0D: DB "*TOURNAMENT LEVEL*",0 ; L3F20: ?? 80 NOPs not used ?? DEFS $50 ; Sound Effect made when Player is HOME Safe [lower pitched "DING"] HOMER: MASTER OA2-1 ; set TONMO to $46 JP L3F8A ; muzJumP to DING+2 ; Sound Effect made when Player is DEAD (x2) MDEAD: MASTER $90 REST $05 ; Duration= TC= TB= TA= NOTE3 $28, A1,CS2, E2 NOTE3 $28, E1,GS1, B1 MASTER OA3 ; set TONMO to $23 REST $10 JP MUZRET ; muzJumP to $4F58 [in RAM] ; Sound Effect made when Player picks up PEARL DING: MASTER OA3 ; set TONMO to $23 L3F8A: REST $05 DB $91 ; Non-standard, use PUSHN $02 !! L3F8D: ; [two times TRIANGLE DECAY ENVELOPE] VOLUME $FF,$0F ; VA = 15, VB = 15, VC= 15 NOTE3 $01, E3,$24,$23 VOLUME $EE,$0E ; VA = 14, VB = 14, VC= 14 NOTE3 $01, E3,$24,$23 VOLUME $DD,$0D ; VA = 13, VB = 13, VC= 13 NOTE3 $01, E3,$24,$23 VOLUME $CC,$0C ; VA = 12, VB = 12, VC= 12 NOTE3 $01, E3,$24,$23 VOLUME $BB,$0B ; VA = 11, VB = 11, VC= 11 NOTE3 $01, E3,$24,$23 VOLUME $AA,$0A ; VA = 10, VB = 10, VC= 10 NOTE3 $01, E3,$24,$23 VOLUME $99,$09 ; VA = 9, VB = 9, VC= 9 NOTE3 $01, E3,$24,$23 VOLUME $88,$08 ; VA = 8, VB = 8, VC= 8 NOTE3 $01, E3,$24,$23 VOLUME $77,$07 ; VA = 7, VB = 7, VC= 7 NOTE3 $01, E3,$24,$23 VOLUME $66,$06 ; VA = 6, VB = 6, VC= 6 NOTE3 $01, E3,$24,$23 VOLUME $55,$05 ; VA = 5, VB = 5, VC= 5 NOTE3 $01, E3,$24,$23 VOLUME $44,$04 ; VA = 4, VB = 4, VC= 4 NOTE3 $01, E3,$24,$23 VOLUME $33,$03 ; VA = 3, VB = 3, VC= 3 NOTE3 $01, E3,$24,$23 VOLUME $22,$02 ; VA = 2, VB = 2, VC= 2 NOTE3 $01, E3,$24,$23 VOLUME $11,$01 ; VA = 1, VB = 1, VC= 1 NOTE3 $01, E3,$24,$23 DSJNZ L3F8D ; REST $05 MASTER OA3 ; set TONMO to $23 JP MUZRET ; muzJumP to $4F58 [in RAM]