processor 6502 Unknown equ $00 INPTCTRL equ $01 ;Input control AUDC0 equ $15 ;Audio Control Channel 0 AUDC1 equ $16 ;Audio Control Channel 1 AUDF0 equ $17 ;Audio Frequency Channel 0 AUDF1 equ $18 ;Audio Frequency Channel 1 AUDV0 equ $19 ;Audio Volume Channel 0 AUDV1 equ $1A ;Audio Volume Channel 1 INPT0 equ $08 ;Paddle Control Input 0 INPT1 equ $09 ;Paddle Control Input 1 INPT2 equ $0A ;Paddle Control Input 2 INPT3 equ $0B ;Paddle Control Input 3 INPT4 equ $0C ;Player 0 Fire Button Input INPT5 equ $0D ;Player 1 Fire Button Input COLUBK equ $20 ;Background Color P0C1 equ $21 ;Palette 0 - Color 1 P0C2 equ $22 ;Palette 0 - Color 2 P0C3 equ $23 ;Palette 0 - Color 3 WSYNC equ $24 ;Wait For Sync P1C1 equ $25 ;Palette 1 - Color 1 P1C2 equ $26 ;Palette 1 - Color 2 P1C3 equ $27 ;Palette 1 - Color 3 MSTAT equ $28 ;Maria Status P2C1 equ $29 ;Palette 2 - Color 1 P2C2 equ $2A ;Palette 2 - Color 2 P2C3 equ $2B ;Palette 2 - Color 3 DPPH equ $2C ;Display List List Pointer High P3C1 equ $2D ;Palette 3 - Color 1 P3C2 equ $2E ;Palette 3 - Color 2 P3C3 equ $2F ;Palette 3 - Color 3 DPPL equ $30 ;Display List List Pointer Low P4C1 equ $31 ;Palette 4 - Color 1 P4C2 equ $32 ;Palette 4 - Color 2 P4C3 equ $33 ;Palette 4 - Color 3 CHARBASE equ $34 ;Character Base Address P5C1 equ $35 ;Palette 5 - Color 1 P5C2 equ $36 ;Palette 5 - Color 2 P5C3 equ $37 ;Palette 5 - Color 3 OFFSET equ $38 ;Unused - Store zero here P6C1 equ $39 ;Palette 6 - Color 1 P6C2 equ $3A ;Palette 6 - Color 2 P6C3 equ $3B ;Palette 6 - Color 3 CTRL equ $3C ;Maria Control Register P7C1 equ $3D ;Palette 7 - Color 1 P7C2 equ $3E ;Palette 7 - Color 2 P7C3 equ $3F ;Palette 7 - Color 3 SWCHA equ $280 ;P0, P1 Joystick Directional Input SWCHB equ $282 ;Console Switches CTLSWA equ $281 ;I/O Control for SCHWA CTLSWB equ $283 ;I/O Control for SCHWB Pokey equ $450 PAUDF0 = Pokey ; extra audio channels and frequencies PAUDC0 = Pokey+1 PAUDF1 = Pokey+2 PAUDC1 = Pokey+3 PAUDF2 = Pokey+4 PAUDC2 = Pokey+5 PAUDF3 = Pokey+6 PAUDC3 = Pokey+7 PAUDCTL = Pokey+8 ; Audio Control RANDOM = Pokey+10 ; 17 bit polycounter pseudo random SKCTL = Pokey+16 ; Serial Port control SEG.U data org $40;Fast-ram! dlend ds.b 16 ;Index of end of each DL ypos2 org $51 tempoffset org $52 tempval org $53 tempdlend org $54 tempzone org $55 currspr org $56; current object being processed org $57 xpos ds.b 1 ;X Position of sprite ypos ds.b 1 ;Y Position of sprite temp ds.b 1 dlpnt ds.w 1 org $5C numspr ds.b 1 org $60 A ds.b 1 B ds.b 1 C ds.b 1 D ds.w 1 G ds.w 1 Groundtype ds.b 1 Scroll ds.b 1 Curspr ds.b 1 Level ds.b 1 Noscrl ds.b 1 Repeatcounter ds.b 1 Joy ds.b 1 Ptr ds.w 1 Xtemp ds.b 1 Ytemp ds.b 1 Boingenable ds.b 1 PLptr ds.w 1 PDptr ds.w 1 Temppointer ds.w 1; DO NOT USE ANYTHING BEYOND THIS P ds.w 1 COLOR0 ds.b 1 ; DO NOT USE org $B8 Enemytype ds.b 8; Type of sprite Enemystat ds.b 8; Variation/info Enemyhealth ds.b 8; Health of sprite Enemytimr0 ds.b 8 Enemytimr1 ds.b 8 org $E0 Spawnptr ds.b 1 Wait ds.b 1 Wait_ ds.b 1 temp1 ds.b 1 Wall ds.b 1 Timr2 ds.b 1 ColXPOS ds.b 1 ColYPOS ds.b 1 COLXPOS ds.b 1 COLYPOS ds.b 1 Eptr ds.w 1 PwPtr ds.w 1 org $FA Special ds.b 5 org $140 Frame ds.b 1 Stack ds.b 191 org $200 Blank FREE org $1800 Wallcollision ds.b 1 Buffer ds.b 16 Novistile ds.b 1 Enemypointer ds.w 1 Animtimr ds.b 1 Score ds.b 20 Subtype ds.b 12 Subtimr0 ds.b 12 Subtimr1 ds.b 12 Sublocation ds.b 12 XPOS org $1900 CXPOS2 org XPOS+12 YPOS org $1940 CYPOS org YPOS+12 GFXLO org $1980 CFXLO org GFXLO+12 GFXHI org $19C0 CFXHI org GFXLO+12 PALWDH org $1A00 COLWDH org PALWDH+12 WRITEMODE ORG $1A40 org $1B00 org $1F00 RESERVED ds.b 40 Row0 org $2200 Row1 org $2220 Row2 org $2240 Row3 org $2260 Row4 org $2280 Row5 org $22A0 Row6 org $22C0 Row7 org $22E0 Row8 org $2300 Row9 org $2320 Row10 org $2340 Row11 org $2360 Row12 org $2380 org $2400; Free Conneralive ds.b 1 Hspeed ds.b 1 Vspeed ds.b 1 Jumptimr ds.b 1 ABuff ds.b 12 Collision ds.b 1 _ ds.b 2 Forstart ds.b 1 Prevcollision ds.b 1 Pointer ds.b 1 Beforecollision ds.b 1 Falltimr org Pointer+2 org Pointer+3 Pipe ds.b 1 Endscrl ds.b 1 pipepointer ds.b 1 Changecounter ds.b 1 Over ds.b 1 Onplat ds.b 1; Denotes if on platform or not Gotopos ds.b 1 Ftimr ds.b 1 Lives ds.b 1 Bkcol ds.b 1 Cxpos ds.b 1 Musptr ds.b 1 Wait2 ds.b 1 VOL0 ds.b 1 VOL1 ds.b 1 Wait3 ds.b 1 Musptr2 ds.b 1 Hmomentum ds.b 1 Direction ds.b 1 Subpxl ds.b 1; 5 bit variable (1 screen = 32*160 possible subpixels) Fireworks ds.b 1 Patch6 ds.b 1; Fixes CXPOS error during animation Hmax ds.b 1; Allows for more than one speed. (Selected using button 2) CXPOS ds.b 1 Cstate ds.b 1 Pptr ds.b 1; Pointer for powerup to spawn Iframes ds.b 1 Coins ds.b 1; # of Coins Conner has Cframes ds.b 1; Frames Conner can't collect stuff Dotitle ds.b 1 Mode ds.b 1 Patch12 ds.b 1 Bkpal ds.b 1; Bottom half pallete Estyle ds.b 1; Enviroment style Timer ds.w 1; Timer End_flag ds.b 1; Cool Flag_timer ds.b 1 DO_EC ds.b 1; Enable titlescreen? ( 1 = no) Currpwr ds.b 1 Sppwr ds.b 1; What powerup to spawn? NOBK ds.b 1 SPNDSH ds.b 1 Levelptr ds.b 1 org $2500 DLRAM SEG code org $4000 START ; A78 Header v3.1 ; ; Use this file to add an a78 header via the source code of your ROM. ; ; _Implementation Notes_ ; ; * Include this header near the beginning of your DASM source, but after ; your initial ROM ORG statement. ; * Change the fields withn the file to describe your game's hardware ; requirements to emulators and flash carts. ; * All unused/reserved bits and bytes must be set to zero. .ROMSIZE = $C000; 48KB ; Update with your total ROM size. ; Auto-header ROM allocation follows. If the current address is page aligned, ; we backup 128 bytes. This may cause issues if you use a different ORG+RORG ; at the start of your ROM - in that case, account for the 128 bytes of ; header within your game ROM start ORG+RORG statements. if ( . & $FF ) = 0 ; Check if we're at an even page. ORG (. - 128),0 ; If so, go -128 bytes, for header space. else ORG .,0 ; In case zero-fill wasn't specified endif ; orginally. .HEADER = . ; Format detection - do not modify. DC.B 3 ; 0 header major version DC.B "ATARI7800" ; 1..16 header magic string - zero pad ORG .HEADER+$11,0 DC.B "It's Conner time! Made by ECERNO" ; 17..48 cartridge title string - zero pad ORG .HEADER+$31,0 DC.B (.ROMSIZE>>24) ; 49..52 cartridge ROM size DC.B (.ROMSIZE>>16&$FF) DC.B (.ROMSIZE>>8&$FF) DC.B (.ROMSIZE&$FF) DC.B %00000000 ; 53 cartridge type A DC.B %01000000 ; 54 cartridge type B ; Ballblazer uses 10000010101100 ; _Cartridge Type A_ ; bit 7 ; POKEY @ $0800 - $080F ; bit 6 ; EXRAM/M2 (halt banked RAM) ; bit 5 ; BANKSET ; bit 4 ; SOUPER ; bit 3 ; YM2151 @ $0461 - $0462 ; bit 2 ; POKEY @ $0440 - $044F ; bit 1 ; ABSOLUTE ; bit 0 ; ACTIVISION ; _Cartridge Type B_ ; bit 7 ; EXRAM/A8 (mirror RAM) ; bit 6 ; POKEY @ $0450 - $045F ; bit 5 ; EXRAM/X2 (hotspot banked RAM) ; bit 4 ; EXFIX (2nd last bank @ $4000) ; bit 3 ; EXROM (ROM @ $4000) ; bit 2 ; EXRAM (RAM @ $4000) ; bit 1 ; SUPERGAME ; bit 0 ; POKEY @ $4000 - $7FFF DC.B 1 ; 55 controller 1 device type DC.B 1 ; 56 controller 2 device type ; 0 = none ; 1 = 7800 joystick ; 2 = lightgun ; 3 = paddle ; 4 = trakball ; 5 = 2600 joystick ; 6 = 2600 driving ; 7 = 2600 keypad ; 8 = ST mouse ; 9 = Amiga mouse ; 10 = AtariVox ; 11 = SNES2Atari DC.B %00000000 ; 57 tv type ; bits 7..2 ; reserved ; bit 1 ; 0:component,1:composite ; bit 0 ; 0:NTSC,1:PAL DC.B %00000000 ; 58 save peripheral ; bits 7..2 ; reserved ; bit 1 ; SaveKey/AtariVox ; bit 0 ; High Score Cart (HSC) ORG .HEADER+62,0 DC.B %00000000 ; 62 external irq source ; bits 7..5 ; reserved ; bit 4 ; POKEY @ $0800 - $080F ; bit 3 ; YM2151 @ $0461 - $0462 ; bit 2 ; POKEY @ $0440 - $044F ; bit 1 ; POKEY @ $0450 - $045F ; bit 0 ; POKEY @ $4000 - $7FFF DC.B %00000000 ; 63 slot passthrough device ; bits 7..1 ; reserved ; bit 0 ; XM module ORG .HEADER+100 ; 100..127 footer magic string DC.B "ACTUAL CART DATA STARTS HERE" ;************** Clear zero page and hardware ****** Anewfrontier lda #%01100000 sta CTRL huh lda #%01100000 sta CTRL ldx #$40 lda #$00 crloop1 sta $00,x ;Clear zero page sta $100,x ;Clear page 1 inx bne crloop1 ldy #$00 ;Clear Ram crloop2 sta $1800,y sta $1900,y sta $1a00,y sta $1b00,y sta $1c00,y sta $1d00,y sta $1e00,y sta $1f00,y sta $2200,y sta $2300,y sta $2400,y sta $2500,y sta $2600,y sta $2700,y iny bne crloop2 lda #$07 sta INPTCTRL ;Lock into 7800 mode lda #$7F sta CTRL ;Disable DMA lda #$00 sta OFFSET sta INPTCTRL ldx #$FF ;Reset stack pointer txs LDA #$14 STA CTLSWB ; set bits 2 and 4 of PORT B for output LDA #0 STA SWCHB ; output 0 on bits 2 and 4 of PORT B lda #$75 sta COLUBK lda #$00; DLL starts at "1800" sta DPPH lda #$80 sta DPPL lda #%01001111 sta $1800; Tell MARIA (GFX CHIP) that "Sprite one's DL is lda #$18; at $1803 and that it uses 16 pixel high holey sta $1801; DMA." lda #$03 sta $1802 lda #$0F sta P0C1; Set Player 0 color 2 to "White" sta P0C2 ldx #$00 stx ypos stx xpos stx GFXLO stx GFXLO+1 stx GFXLO+2 lda #%01100000 sta XPOS+1 sta YPOS+1 lda #$40 sta CHARBASE lda #$03 sta SKCTL lda #0 sta AUDV0 sta AUDV1 Count1 sta XPOS,x dex bne Count1 ldx #$00 lda #$00 Count lda #0 sta YPOS sta YPOS+1 sta YPOS+2 sta YPOS+3 sta YPOS+4 sta YPOS+5 sta YPOS+6 lda #$FF sta PALWDH sta PALWDH+1 sta PALWDH+2 sta PALWDH+3 sta PALWDH+4 Lda #0 lda #$FF lda #$00 sta GFXLO sta GFXLO+8 lda #$20 sta GFXLO+1 sta GFXLO+9 lda #$40 sta GFXLO+2 sta GFXLO+10 lda #$60 sta GFXLO+3 sta GFXLO+11 lda #$80 sta GFXLO+4 sta GFXLO+12 lda #$A0 sta GFXLO+5 lda #$C0 sta GFXLO+6 lda #$E0 sta GFXLO+7 lda #0 sta Scroll lda #$22 ldx #$08 jmp Count2 Count2 dex sta GFXHI,x bne Count2 lda #$23 ldx #$04 Count3 sta GFXHI+7,x dex bne Count3 lda #$00 sta G+1 lda #$0 sta Groundtype lda #$80 sta CHARBASE lda #$C9 sta P0C3 lda #$F0 sta P0C2 lda #$04 sta P0C1 lda #$45 sta P1C1 lda #$0F sta P1C2 lda #$FE sta P1C3 jsr getlevel lda #$20 sta XPOS+14 sta YPOS+14 lda #$C8 sta P2C1 lda #$F2 sta P2C3 lda #$3C sta P2C2 lda #$34 sta P3C1 lda #$0A sta P3C2 lda #$3D sta P3C3 lda #$20 sta XPOS+13 sta YPOS+13 lda #$29 sta $1F00,x inx lda #$00 sta $1F00,x inx lda #$79 sta $1F00,x inx lda #$28 sta $1F00,x inx lda #$00 sta $1F00,x inx lda #$FA sta $1F00,x inx lda #$48 sta $1F00,x inx lda DLPOINTH,y sta $1F00,x inx lda DLPOINTL,y sta $1F00,x inx ldy #$00 DLLloop2 lda #$4F ;16 lines sta $1F00,x inx lda DLPOINTH+1,y sta $1F00,x inx lda DLPOINTL+1,y sta $1F00,x inx iny cpy #$0B ;12 DLL entries bne DLLloop2 lda #%10001111 sta $1F00,x inx lda #$00 sta $1F00,x inx lda #$7D sta $1F00,x inx iny DLLloop3 lda #$0F sta $1F00,x inx lda #$00 sta $1F00,x inx lda #$7D sta $1F00,x inx iny cpy #$0E bne DLLloop3 DLL lda #$08 sta $1F00,x inx lda #$00 sta $1F00,x inx lda #$7D sta $1F00,x lda #$00 sta Hmomentum lda #Score sta $FC lda #%11101100; Pallete 7, width of 20 sta $FD lda #$00 sta $FE lda #$0F sta P7C1 lda #$07 sta P7C2 lda #$00 sta P7C3 lda #$02 sta Score+2 sta Score+3 sta Score+4 sta Score+5 sta Score+6 sta Score+7 sta Score+8 sta Score+9 sta Score+10 sta Score+11 sta Score+12 sta Score+13 sta Score+14 sta Score+15 sta Score+16 sta Score+17 sta Score+18 sta Score+19 lda #$30 sta Timer lda #%01010011 sta CTRL sta CTRL sta CTRL lda #$3C sta Score+15 lda #1 sta Level jsr getlevel lda #$1F sta DPPH lda #$00 sta DPPL jsr ECERNOSOFT_ANNOUNCEMENT jmp Mainloop START2 jmp START Colors; Sets of 4 colors each, this determines ; Color for BK pallete and COLUBK ; In order of: ; COLUBK, P0C1, P0C2, P0C3 hex 7504F0C9 hex 75450FFF hex 75C73C0F hex 00 Colors2 hex 00000000 hex 00000000 hex 98B4F883 hex 00000000 Mainloop lda #$00 bne START2 jmp Mainloop Do_ec jmp ECERNOSOFT_ANNOUNCEMENT NMI lda DO_EC bne Do_ec lda #%01100000 sta CTRL lda Coins and #$0F sta temp cmp #$0A bne Why lda Coins adc #$05 sta Coins Why lda #$40 sta COLUBK lda #0 sta currspr lda #21 sta numspr lda #0 sta dlend; fixes glitch at top of screen sta $7D jmp J Patch9 jmp nobottom J lda #5 ldx #$0C cleardlend sta dlend,x; set all dlends to 0 dex bne cleardlend makegfx ;format = ; 1: low adress ; 2 : write mode on 7, indirect mode on 5 ; 3 : High adress + lower nybble of y pos ; 4 = pallete + width ; 5 = xpos ldx currspr; 3 lda YPOS,x; 7 beq Patch9 and #$0F; 9 sta tempoffset; 12 lda YPOS,x; 16 lsr; 18 lsr; 20 lsr;22 lsr;24 tax;26 lda DLPOINTH,x; 33 sta dlpnt+1; 36 lda DLPOINTL,x; 40 sta dlpnt; 43 ldy dlend,x; 47 stx tempzone; 50 ldx currspr; which sprite to process? 53 lda GFXLO,x; low byte 57 sta (dlpnt),y; 63 iny; 65 lda WRITEMODE,x; write mode 67 sta (dlpnt),y; 73 iny; 75 lda GFXHI,x; high byte + low nybble of ypos 79 ora tempoffset; 82 sta (dlpnt),y; 88 iny; 90 lda PALWDH,x; pallete and width 94 sta (dlpnt),y; 100 iny; 102 lda XPOS,x; xpos 106 sta (dlpnt),y; 112 iny ldx tempzone; 115 sty dlend,x; 119 lda tempoffset; 122 beq nobottom; don't draw bottom 124 inx; 126 lda DLPOINTH,x; 130 sta dlpnt+1; 133 lda DLPOINTL,x; 137 sta dlpnt; 140 ldy dlend,x; 144 stx tempzone; save the current zone 147 ldx currspr; which sprite to process? 150 lda GFXLO,x; 154 sta (dlpnt),y; 160 iny; 162 lda WRITEMODE,x; 164 sta (dlpnt),y; 170 iny; 172 lda tempoffset; 175 eor #$0F; 177 sta temp; to do the bottom, we need some extra 180 lda GFXHI,x; computations! grr! 184 clc; 186 sbc temp; 189 sta (dlpnt),y; 195 iny; 197 lda PALWDH,x; 201 sta (dlpnt),y; 207 iny; 209 lda XPOS,x; 213 sta (dlpnt),y; 219 iny ldx tempzone; 222 sty dlend,x; 226 nobottom inc currspr; 231, 129 lda currspr; 234, 132 cmp numspr; 237, 135 beq dontmakegfx; 239, 137 jmp makegfx; 242, 140 dontmakegfx ldx #$0C dlendloop dex lda DLPOINTL,x sta dlpnt lda DLPOINTH,x sta dlpnt+1 ldy dlend,x iny lda #$0 sta (dlpnt),y txa bne dlendloop lda #%00000001 bit SWCHB bne Nores jmp huh Nores lda Iframes beq NoIframes dec Iframes NoIframes lda #$25 sta COLUBK lda SWCHA and #$F0 sta Joy lda INPT0 lsr lsr lsr lsr lsr ora Joy sta Joy lda INPT1 lsr lsr lsr lsr lsr lsr ora Joy sta Joy lda Noscrl bne Noscroll lda Scroll and #%00000111 bne Skip jsr Levelgenerator jsr Enemygenerator jmp (Eptr) Donte Skip inc Scroll Noscroll jsr background lda Forstart bne Nostop lda Scroll cmp Endscrl bne Nostop lda #1 sta Noscrl sta Forstart inc Scroll lda #$FF sta Conneralive; Activate Conner sprite Nostop jsr POKEY lda #0 sta COLUBK lda End_flag beq Too_much_code lda #%01000001 sta Joy lda #0 sta Timer+1 lda #1 sta End_flag inc Levelptr lda Timer beq Dectimer dec Timer inc Coins Dectimer lda Over cmp #%10000000 bne Too_much_code lda #0 sta End_flag lda #1 sta Pipe lda #$FE sta Conneralive Too_much_code jsr Conner lda #%01010000 sta CTRL sta COLUBK lda Conneralive bne ITS_ALIVE lda #0 sta Spawnptr sta Enemytype sta Enemytype+1 sta Enemytype+2 sta Enemytype+3 sta Enemytype+4 sta Enemytype+5 sta Enemytype+6 sta Enemytype+7 sta Enemytype+8 ITS_ALIVE lda #%10100010 sta COLUBK lda XPOS+12 and #$F8 sta COLXPOS lda YPOS+12 and #$F0 sta COLYPOS jsr Spawner Currentpatch lda Subtype beq Noboomerang ldx #0 jsr Boomerang Noboomerang lda #$57 sta COLUBK jsr Timercode lda #$75 sta COLUBK rti DLPOINTH .byte $25,$25,$25,$25,$26,$26,$26,$26,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27,$27 DLPOINTL .byte $00,$40,$80,$C0,$00,$40,$80,$C0,$00,$40,$80,$C0,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$FA,$fa,$fa,$fa,$fa To_tilemap_High hex 22222222222222222223232323 To_tilemap_Low hex 000020406080A0C0E000204060 LEVELDIRECTORY Word #Patch1 Word #Welcome_to_dream_land-1 Word #Bonus1-1 word #Welcome_to_dream_land+72 Word #In_ze_sky+2 word #For_brenda Word #Castle Word #Test Enemydirectory word #Patch10 word #Welcome_to_dream_land_enemies word #Bonus1enemies word #Afterbonus1 word #Level2 word #Level3enemies Word #Nothing2 Nameptrs hex 001121304352606A Namelengths byte #17,#16,#15,#19,#14,#14,#10,#14 Names Estyles; 1 byte for each level. byte #0 byte #0 byte #0 byte #0 byte #0 byte #1; 1 = water @ row 9, cloulds at row 1-4 byte #0 byte #0 Pipelocations; Where each pipe goes to (FF = not usable) hex FE hex FF01FF04 hex 04; Patch 24 : Issue where the 1st flagpole sent Conner to the wrong location. (oops) hex 020202 hex FF hex 09 Pipedistances; When to load next pointer hex FF hex 28 hex 22; Patch 24 hex 08 hex FFFF hex FF byte #57 hex 4004 hex FF; All pipes in castle lead to start LevelID byte #$40 byte #$24 byte #$24 byte #$24 byte #$24 byte #$24 byte #$24 byte #$3D LevelIDh byte #$0E byte #$24 byte #$24 byte #$24 byte #$26 byte #$28 byte #$30 byte #$24 Patch13; Each byte here is the invisible byte in said level. byte #2 byte #$40 byte #$40 byte #$40 byte #$40 byte #$40 byte #$40 byte #$40 Leveldata; 2 bytes that hold the level data ; Byte 1 = The initial pipe pointer. ; Byte 2: ;Pallete number for the level. (0-7) ;|||Base character address. (0-7) ;||||||Enemy style. (0-3) ;76543210 byte #0 byte #$00 byte #$01 byte #%00000000; Welcome to dream land byte #$05 byte #%00000000; Bonus 1 byte #$04 byte #$00; Also welcome to dream land byte #7 byte #%00100000; Level 2 byte #8 byte #%01001000; Level 3 byte #10 byte #%01001000; Level 3.5 byte #$FF byte #%00001000 Deathlevel byte #1 byte #1 byte #5 byte #5 byte #5 byte #6 Flaglevel hex 0404040404 Powerupdirectory word $0000 word $0000 word $0000 word $0000 word $0000 word $0000 Timervalues; 0 means No overwrite. hex 2020; L hex 0000 hex 3030 hex 00 hex 30 Nothing2 hex FF00FF00FF00FF00 ; Format:hex = BC ; B = # of times to repeat block down screen IF not 0 ; C = What type of block to repeat ; If B = 0 then C = how many columns to repeat (Basically, ; draw what's in the buffer C times) Patch1 hex 00F603 hex A1300F hex 9140 hex A13003 Timercode inc Frame lda Frame cmp #45 bne OWWW lda End_flag bne Cool3 lda #0 sta Frame dec Timer+1 lda Timer+1 and #$0f cmp #$0F bne OWWW lda #9 sta Timer+1 dec Timer lda Timer and #$0F cmp #$0F bne OWWW lda Timer sbc #$06 sta Timer OWWW lda Timer ora Timer+1 beq Timeup Cool3 rts Timeup lda Joy cmp #%01010001 beq Cool3 lda Conneralive cmp #$FE beq Cool3 lda #175 sta CYPOS rts Devlevel hex 00 hex A13005 hex 911600 Castle; Go high, medium, high, low, medium, high, low hex 00CD1DA02D0F hex 1D601D00 hex 1D301D00 hex 0F hex 1D30FD; Go high hex 1D902D0F hex 1D601D00 hex 1D301D00 hex 0F hex 1D4D20FD; Go medium hex 1D902D0f hex 1D601D00 hex 1D301D00 hex 0F hex 1D30FD; Go high hex 1D902D0F hex 1D601D00 hex 1D301D00 hex 0F hex 8D2000; Go low hex 1D902D0F hex 1D601D00 hex 1D301D00 hex 0F hex 1D4D20FD; Go medium hex 1D902D0f hex 1D601D00 hex 1D301D00 hex 0F hex 1D30FD; Go high hex 1D902D0F hex 1D601D00 hex 1D301D00 hex 0F hex 8D2000; Go low Welcome_to_dream_land hex A1300F0071192130A1200381161720C0C101A130 hex 311A hex 211831309115306118C1 hex 61183130 hex 6118211600 hex 6118313003 hex 61182148 hex 61181158 hex 61182148 hex 61183130 hex 03 hex 5115183130 hex A102 hex D101 hex 9140 hex 00 hex D101 hex 8150 hex 00 hex D102 hex 811667 hex D102 hex 211831164730 hex 911530 hex D1 hex 911630 hex 61164730 hex D102 hex 311CD1 hex 311B7730 hex A13003 hex 812830 hex 711F hex 2830 hex 61282A30 hex 5116171F2830 hex 812830 Patch23 hex AA30 hex A1200F00 Bonus1 hex D8 hex A33008 hex 911630 hex A33008 hex D80F Bonus1enemies hex 0100 hex FF0F; Scrollstop In_ze_sky hex FFFFFFFFFFFFFFFFFFFFFFFF hex 91300F hex 10 hex 1FD1 hex 1F511DC1 hex 1F511DCE hex 611DC1 hex D101 hex 511F1DC1 hex 311D111F1DC1 hex 311D2E1DCE hex 311D111F1DC1 hex 211311191F1DC1; Wow, that is a LOT! hex 1113C1; Tile at A is the hidden block. hex 13C102 hex 111300 hex 210300 hex 111F411D111FC101 hex 111F411DCE hex 211D311DC1 hex 19111D3E1DC1 hex 211DC1 hex 1113C1 hex 13C100 hex 1113311D1FC1 hex 511DCE hex 511d1FC101 hex 311FC101 hex 311dC1 hex 1F211dCE hex 311d811D hex A11D21 hex A11D2E; Addie??? hex 91151D21 hex 511DC1 hex 1F2116171DCe hex 1F411DC1 hex D102 hex 311DC1 hex 311DCE hex 311DC1 hex D1 hex 311F211DC1 hex 311F211DCE hex 311F211DC1 hex D102 hex 1F611Dc1 hex 1F611DCe hex 711D1FC1 hex 111FC101 hex 111F311DC1 hex 511DCE hex 511DC1 hex 911D31 hex 911D3E hex 111FC103 hex 711FC103 hex D103 hex 3113C1 hex 2113C1 hex 1113C1 hex 2113C1 hex 3113C1 hex A13005 hex 911630 hex A1300F hex 0F hex D10F hex 0F0F0F0F0F Getdeathlevel lda Conneralive cmp #$FE beq Nobra lda Deathlevel,x sta Level jmp Nobra getlevel lda #0 sta Repeatcounter sta Changecounter sta End_flag sta Bkpal sta Mode lda CYPOS and #%11110000 cmp #176 beq Getdeathlevel Nobra lda Level asl tax lda LEVELDIRECTORY,x sta G lda LEVELDIRECTORY+1,x sta G+1 lda Enemydirectory+1,x sta D+1 lda Enemydirectory,x sta D lda Powerupdirectory,x sta PwPtr lda Powerupdirectory+1,x sta PwPtr+1 lda #0 sta Wait_ sta Wait sta Spawnptr sta Repeatcounter lda Scroll adc #183 sta Endscrl lda Leveldata,x sta pipepointer lda Leveldata+1,x sta A and #%11100000 lsr lsr lsr tax lda Colors,x sta COLOR0 lda Colors+1,x sta P0C1 lda Colors+2,x sta P0C2 lda Colors+3,x sta P0C3 lda Colors2+1,x sta P5C1 lda Colors2+2,x sta P5C2 lda Colors2+3,x sta P5C3 lda A and #%00011100 sta B asl asl asl adc #0 sta Groundtype lda B lsr lsr tax lda Patch13,x sta Novistile ldx Level lda Pipedistances,x sta Changecounter lda Timervalues,x beq No_overwrite sta Timer lda #0 sta Timer+1 No_overwrite lda Estyles,x and #%00000001 asl tax lda Eptrs,x sta Eptr lda Eptrs+1,x sta Eptr+1 Noirq rts IRQ rti Levelgenerator lda Changecounter beq Cp dec Changecounter jmp Continue2 Cp inc pipepointer lda pipepointer tax lda Pipedistances,x sta Changecounter lda Pipelocations,x sta Level; For when to load the next level Continue2 ldx #0 lda Repeatcounter beq Step1 dec Repeatcounter jmp Step3 Step1 lda (G),y sta A and #$0F asl adc Groundtype sta C inc G lda G bne noinc inc G+1 noinc lda A lsr lsr lsr lsr sta B bne Step2 lda A and #$0F sta Repeatcounter jmp Step3 Step2 lda C sta Buffer,x inx cpx #13 beq Step3 dec B lda B bne Step2 jmp Step1 Step3 lda Scroll lsr lsr lsr adc #22 and #%00011111 tax lda Buffer sta Row0,x lda Buffer+1 sta Row1,x lda Buffer+2 sta Row2,x lda Buffer+3 sta Row3,x lda Buffer+4 sta Row4,x lda Buffer+5 sta Row5,x lda Buffer+6 sta Row6,x lda Buffer+7 sta Row7,x lda Buffer+8 sta Row8,x lda Buffer+9 sta Row9,x lda Buffer+10 sta Row10,x lda Buffer+11 sta Row11,x RTS2 rts Helloatariage lda #1 sta Conneralive sta Noscrl lda #$40 sta XPOS+12 sta YPOS+12 lda #$A0 sta GFXHI+12 jmp SKIP Animpatch byte #0 byte #2 Forpatch7 byte #32 byte #64 Conner lda Conneralive beq RTS2 lda CXPOS adc #3 lsr lsr lsr sta ColXPOS lda CYPOS adc #7 lsr lsr lsr lsr sta ColYPOS lda Joy and #%00000010 lsr tax lda Forpatch7,x sta Hmax cmp #64 bne Do_people_read_these; Anyone who plays MC knows this. lda Subtype bne Do_people_read_these lda Cstate and #1 beq Do_people_read_these; No boomerang? Can't throw it. lda #1 sta Subtype lda #8 sta Subtimr0 lda #0 sta Subtimr1 lda CXPOS sta XPOS Do_people_read_these lda Direction beq Left Right lda Hmomentum and #%00011111 sta temp lda Subpxl and #%00011111 adc temp sta Subpxl and #%00100000 beq PLEASEWORK2 lda CXPOS and #%11111000 cmp #72 beq Patch5; Screen scroll glitch where subpixel overflow movement (SOM) inc CXPOS; still affected player during scrolling. Patch5 lda Subpxl and #%00011111 sta Subpxl PLEASEWORK2 lda Hmomentum lsr lsr lsr lsr lsr sta temp lda Direction cmp #$02 beq Horiz_momentum lda CXPOS adc temp sta CXPOS jmp Horiz_momentum Left lda Hmomentum and #%00011111 sta temp lda Subpxl and #%00011111 adc temp sta Subpxl and #%00100000 beq PLEASEWORK dec CXPOS lda Subpxl and #%00011111; Smoother movement of player sta Subpxl PLEASEWORK lda Hmomentum lsr lsr lsr lsr lsr sta temp lda Direction cmp #$02 beq Horiz_momentum lda CXPOS sbc temp sta CXPOS jmp Horiz_momentum GotoAtariage jmp Helloatariage Horiz_momentum lda Conneralive cmp #$FF beq GotoAtariage lda Conneralive cmp #$FE beq Dopipe SKIP lda #1 sta Boingenable jsr Getcollision lda Pipe beq Continue; If we aren't in a pipe... lda #%00100000 bit Joy bne Continue Dopipe inc GFXHI+12 dec Pipe lda #0 sta Jumptimr sta AUDV0 sta Repeatcounter lda Level asl tax lda Leveldata,x sta pipepointer lda #$FE sta Conneralive lda Pipe beq Nrts2 rts Nrts2 lda #$0 sta Conneralive lda #0 sta Forstart lda #0 sta Noscrl inc Level jsr getlevel jmp RTS2 Continue lda #1 sta Noscrl lda CYPOS and #%11111000 cmp #168 bne Nogototop lda #2 sta GFXLO+12 lda #$0 sta Conneralive lda #0 sta Forstart lda #0 sta Noscrl sta Scroll Patch20 jsr getlevel jmp RTS2 rts Nogototop lda CYPOS and #%11111000 cmp #8 bne Nogotobottom lda #0 sta Jumptimr sta AUDV0 lda #9 sta Falltimr Nogotobottom hi lda #$40 sta WRITEMODE+12 lda #$00 sta GFXLO+12 lda #$3E sta PALWDH+12 lda Collision and #1 beq Nofall lda Jumptimr bne Nofall inc Falltimr lda Falltimr lsr lsr sta temp lda Onplat bne Doit lda CYPOS adc temp sbc #1 sta CYPOS Nofall jmp Patch2 Doit lda Gotopos sbc #$08 sta YPOS+12 Patch2 lda #0 sta Fireworks lda #%10000000 bit Joy bne Noleft lda #1 sta Fireworks lda Animtimr and #%00001111 lsr lsr tax lda Animframes+4,x sta CFXLO lda #$A0 sta GFXHI+12 lda Widths,x sta COLWDH inc Animtimr lda CXPOS and #%11111000 cmp #72 beq Doscrl dec Ftimr lda Ftimr bne Patch3; Glitch where you could stand on a platform not in the center of the lda #0; Screen and walk in the air. sta Onplat Patch3 lda Hmomentum cmp Hmax beq Noin lda Hmomentum adc #4 sta Hmomentum Noin lda #1 sta Direction jmp Noleft Doscrl lda #2 sta Direction lda #0 sta Noscrl lda Ftimr beq Noleft dec Ftimr lda Ftimr bne Noleft lda #0 sta Onplat Noleft lda #%01000000 bit Joy bne Nolef2 lda #1 sta Fireworks lda Hmomentum cmp Hmax beq Patch7; Fixes infinite speed glitch lda Hmomentum adc #4 sta Hmomentum Patch7 lda #0 sta Direction lda Animtimr and #%00001111 lsr lsr tax lda Animframes,x sta CFXLO lda #$C0 sta GFXHI+12 lda Widths,x sta COLWDH inc Animtimr lda Ftimr beq Patch4 dec Ftimr lda Ftimr bne Patch4; Part of patch 3, works in the opposite direction. However it's lda #0; bug applied all the time, even in X locations other than #72. sta Onplat Patch4 Nolef2 lda Fireworks bne Noimpt lda Hmomentum and #%11111100 beq Very_sad lda Hmomentum sbc #4 sta Hmomentum jmp Noimpt Very_sad lda #2 sta Direction Noimpt lda Collision and #1 bne HUNGER lda #%00000100 bit Joy beq HUNGER lda #16 sta Jumptimr lda #0 sta Onplat HUNGER lda Collision and #2 beq Dirty lda #20 sta Jumptimr Dirty lda Over and #%00000100 beq Noceiling lda #0 sta Jumptimr sta AUDV0 lda CYPOS and #$F8 adc #$07 sta CYPOS jmp nosub Noceiling lda Jumptimr beq nosub lda Jumptimr lsr lsr sta temp lda CYPOS sbc temp sta CYPOS lda Jumptimr sbc #1 sta AUDV0 sbc #16 sta AUDF0 lda #$04 sta AUDC0 dec Jumptimr lda #0 sta Falltimr nosub lda Joy and #%00100000 bne Here2 lda #%00111110 sta COLWDH lda Animtimr lsr and #%00000110 sta GFXLO+12 lda #$E0 sta GFXHI+12 lda CXPOS sta CXPOS2 rts Here2 lda COLWDH and #%00000001 tax lda Animpatch,x sta Patch6 lda CXPOS sbc Patch6 adc #0 sta CXPOS2 RTS rts; End of Conner's code Cool hex C0A0 Patch19 lda #$3E sta COLWDH lda #$A0 sta CFXHI lda #$00 sta CFXLO rts Is1 lda #1 sta Collision lda INPT0 beq no lda #16 sta Jumptimr lda #0 sta Onplat sta Collision no rts Doesz byte #$FE byte #2 Getcollision lda Onplat bne Is1 lda CXPOS adc Scroll adc #3 lsr lsr lsr and #%00011111 sta Collision+2 tax lda Row0,x sta ABuff lda Row1,x sta ABuff+1 lda Row2,x sta ABuff+2 lda Row3,x sta ABuff+3 lda Row4,x sta ABuff+4 lda Row5,x sta ABuff+5 lda Row6,x sta ABuff+6 lda Row7,x sta ABuff+7 lda Row8,x sta ABuff+8 lda Row9,x sta ABuff+9 lda Row10,x sta ABuff+10 lda Row11,x sta ABuff+11 lda CYPOS adc #$F lsr lsr lsr lsr sta Collision+1 tax lda ABuff,x sta Prevcollision lsr tax lda Values,x sta Collision lda Boingenable beq DONTDO; Also disables use of pipes lda Collision and #%01000000 beq Nopipe ldx pipepointer lda Pipelocations,x cmp #$FF beq Nopipe; $FF = Pipe isn't usable. lda #%00100000 bit Joy bne Nopipe lda #16 sta Pipe; This enables the pipe transition lda CYPOS and #$F0 Patch21 sta CYPOS; Fixes the bug where you could see Conner inside the pipe, or when garbage would appear above him in pre-1.1. Nopipe lda Collision cmp Beforecollision beq Is_same lda Collision and #%00001000 bne DONTDO; Don't process this since the coin will be collected shortly. lda #0 sta Falltimr lda Collision and #1 bne Is_same lda CYPOS and #$F0 ora #$01 sta CYPOS Is_same lda Collision sta Beforecollision DONTDO lda Collision+1 sbc #1 tax lda ABuff,x lsr sta temp tax lda Values,x sta Over and #%00010000 beq Notqblk lda #$FF sta COLUBK ldx #0 Checkspots lda Enemytype,x beq Available inx cpx #8 bne Checkspots Available lda #19 sta Enemytype,x lda CYPOS sbc #32 sta YPOS+13,x lda CXPOS sta XPOS+13,x lda Collision+1 sbc #2 asl and #%00011110 tax lda Pointers,x sta Temppointer lda Pointers+1,x sta Temppointer+1 ldy Collision+2 lda #2 sta (Temppointer),y Notqblk lda Collision and #%00001000 beq Cursor_glitch; Check for Coins inc Coins lda Collision+1 asl and #%00011110 tax lda Pointers,x sta Temppointer lda Pointers+1,x sta Temppointer+1 ldy Collision+2 lda #2 sta (Temppointer),y Cursor_glitch ldx Direction lda CXPOS adc Scroll adc Patch18,x lsr lsr lsr tay lda YPOS+12 lsr lsr lsr and #%00011110 tax lda Pointers,x sta Temppointer lda Pointers+1,x sta Temppointer+1 lda (Temppointer),y lsr tay sta COLUBK sta $1FFF lda Wallvalues,y and #1 beq Notwall2 lda #0 sta Hmomentum lda #0 sta Subpxl ldx Direction lda Patch15,x sta temp lda Joy and #1 bne Patch22 lda CXPOS adc temp sta CXPOS jmp Notwall Notwall2 lda Wallvalues,y and #2 beq Notwall3; Object isn't left facing (/) slope. lda #0 sta temp jsr Slopehandler jmp Notwall Notwall3 lda Wallvalues,y and #%00000100 beq Notwall; Object isn't right facing (\) slope. lda #1 sta temp jsr Slopehandler Notwall rts Patch22 lda #16 sta Jumptimr rts; Fixes the "get stuck at flag error" Wallvalues; For every wall there is a value. byte #1 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #1 byte #1 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 Patch18 byte #$FF byte #$7 byte #7 Patch15 byte #1 byte #$FF byte #$FF org Wallvalues+32; Beach theme values byte #0; Nothing byte #0; Platform byte #0; Platform with pole byte #0; Pole on bridge byte #0; rope (Bridge) byte #0; Water (0) byte #0; Water (1) byte #0; Clould (0) byte #1; Sand byte #0; Sand (Under) byte #0; Top of tree byte #0; Bottom of tree byte #1; Castle blocks byte #0; Pole byte #0; Diagonal thing byte #0; Veg ; Clould (1) Pointers word Row0 word Row1 word Row2 word Row3 word Row4 word Row5 word Row6 word Row7 word Row8 word Row9 word Row10 word Row11 word Row11 Values ; Format: ; Bit 0 = Top enable ; Bit 1 = Bouncy? ; Bit 2= Ceiling enable ; bit 3 = Collectible? ; Bit 4 and 5: ; 01 = gives powerup ; 10 = Pullupable <-- Doesn't work yet ; 11 = Slope <-- ; Bit 6 = Object is a pipe byte #%00000100; Ground (For some reason, 0 = collision) byte #%00000001; SKY (Don't get confused w/ what is at $0A) byte #%00000001; Sky (?) byte #%00001001; Coin (Currently veg) byte #%00011000; FLOWER byte #%00000010; Spring byte #%01000000; Pipe byte #%00000001; Lower half of pipe byte #%00000100 byte #%00010100; ? block byte #%10000000; End tile byte #%00000000 byte #%00000000 byte #%00000000 byte #%00000001 byte #%00000001 Free_space byte "Thanks 4 playing" org Values+32 byte #%00000001 byte #%00000000 byte #%00000100 byte #%00000001 byte #%00000001 byte #%00000001 byte #%00000001 byte #%00000001 byte #%00000001 byte #%00000100 byte #%00000100 byte #%00000001 byte #%00000001 byte #%00000100 byte #%00000001 byte #%00000001 ENEMYDIRECTORY word #Carson word #Goofball word #Shellcreeper word #Plat0init word #Boxthing word #Pirana_plant; THIS IS NOT A MARIO GAME!! word #bouncer word #Goofball word #Shellcreeper word #Plat0init word #Boxthing word #Pirana_plant word #bouncer word #Flagpole_object word #Scrollock word #Shutoffmode word #Shell word #Plat0 word #Plat1 word #Boomerangpowerup word #Lostboomerang; #20 word #Scrollock word #PWRUPch; Spawns Powerup. word #Bossinit Carson lda #0 sta YPOS+13,x sta Enemystat,x sta Enemyhealth,x lda #160 sta XPOS+13,x Huh jmp Done Spawner lda #0 sta Curspr lda A pha lda B pha lda C pha lda G pha lda G+1 pha step1 ldx Curspr lda Enemytype,x asl tax lda ENEMYDIRECTORY,x sta Enemypointer lda ENEMYDIRECTORY+1,x sta Enemypointer+1 lda Curspr tax jmp (Enemypointer) Done inc Curspr lda Curspr cmp #$08 bne step1 pla sta G+1 pla sta G pla sta C pla sta B pla sta A rts Goofball; What else am I going to name these? lda Noscrl bne Listening_to dec XPOS+13,x Listening_to lda XPOS+13,x and #%11110000 cmp #$F0 bne I_used_a_dli lda #0 sta Enemytype,x I_used_a_dli lda YPOS+13,x cmp #170 bne __ lda #) sta Enemytype,x __ lda Conneralive beq Cant inc Enemytimr0,x lda Enemytimr0,x and #1 beq Cant jsr Collision2 lda Collision cmp #$FF bne What ldx Curspr lda #0 sta Enemytype,x lda #8 sta Jumptimr What lda Collision and #1 beq Nofall2 lda Collision inc YPOS+13,x inc YPOS+13,x Nofall2 lda Enemytimr0,x and #%00001000 lsr lsr lsr tay lda Frames,y sta GFXLO+13,x dec XPOS+13,x nodd lda #$5E sta PALWDH+13,x lda #$40 sta WRITEMODE+13,x lda #$A0 sta GFXHI+13,x Cant jmp Done Frames byte #4 byte #6 Frames2 byte #8 byte #10 Collision2 lda YPOS+13,x adc #$08 lsr lsr lsr lsr; Because tiles are 16 pixels high adc #1 tay lda To_tilemap_High,y sta Temppointer+1 lda To_tilemap_Low,y sta Temppointer lda XPOS+13,x adc Scroll lsr lsr lsr; because tiles are 8 pixels wide tay lda #0 sta Collision lda (Temppointer),y lsr tay lda Evals,y sta Collision Snowball lda #0 sta temp1 lda YPOS+12 and #$F0 sta temp lda YPOS+13,x and #$F8 cmp temp bne fail lda #1 sta temp1 lda XPOS+12 sbc #3 and #$F8 sta temp lda XPOS+13,x and #$F8 sta Temppointer cmp temp bne fail lda #$FF sta Collision lda #8 sta Jumptimr fail lda Iframes bne dangit lda YPOS+12 and #$F0 sbc #$10 lda YPOS+13,x and #$F0 cmp temp bne dangit lda XPOS+12 adc #3 and #$F8 sta temp lda XPOS+13,x and #$F8 cmp temp bne dangit lda Cstate beq KILL lda #0 sta Direction sta Cstate lda #$40 sta Hmomentum lda #60 sta Iframes dangit rts KILL lda #175 sta CYPOS rts Enemygenerator lda Wait beq spawnenemy dec Wait rts spawnenemy lda Wait_ and #%00000111 tax ldy Spawnptr lda (D),y sta Wait iny lda (D),y sta temp and #$F0 sta YPOS+13,x lda temp and #$0F sta Enemytype,x inc Wait_ iny sty Spawnptr rts DO jmp Done Shellcreeper lda YPOS+13,x cmp #175 bne Goo lda #0 sta Enemytype,x Goo lda Noscrl bne Notscroll dec XPOS+13,x Notscroll lda Conneralive beq DO lda #$A0 sta GFXHI+13,x lda XPOS+13,x and #$F0 cmp #$F0 bne Norm lda #0 sta Enemytype,x Norm lda #$5E sta PALWDH+13,x lda #$40 sta WRITEMODE+13,x inc Enemytimr0,x lda Enemytimr0,x and #1 bne Music_puts_carson_to_sleep lda Enemytimr0,x and #%00001000 lsr lsr lsr tay lda Frames2,y sta GFXLO+13,x dec XPOS+13,x nod jsr Collision2 lda Collision cmp #$FF bne GOon lda #$10 sta Enemytype,x GOon lda Collision and #1 beq DIAGONAL_MARIO inc YPOS+13,x DIAGONAL_MARIO Music_puts_carson_to_sleep jmp Done Shell lda #$40 sta WRITEMODE+13,x lda #$A0 sta GFXHI+13,x lda #12 sta GFXLO+13,x lda #$ inc XPOS+13,x lda XPOS+13,x cmp #176 bne Nothing lda #0 sta Enemytype,x Nothing jsr Collision2 lda Collision cmp #$FF bne Music_puts_carson_to_sleep lda #1 sta Enemytimr0,x jmp Music_puts_carson_to_sleep Welcome_to_dream_land_enemies; Format: ; 2 bytes: ; Byte #1: # of blocks to wait untill next enemy spawns +1 ; byte #2: YT ; || ; |The type of the enemy. ; The high nybble of the YPOS of the enemy. hex 01920572 hex 01510751 hex 0152 hex 0192 hex 009100910A91 hex 0E720652FF0D Noenemies hex FF00FF00 Evals hex 000100000000000000000000000000000000 Afterbonus1 hex FF52 Plat0init lda #%01000000 sta WRITEMODE+13,x lda YPOS+13,x and #$f0 tay lda Platforms,y sta Enemytype,x pha lda #%00111100 sta PALWDH+13,x pla cmp #17 bne Hu lda #16 sta YPOS+13,x Hu lda #0 sta Enemytimr0,x sta Enemytimr1,x lda #$A0 sta GFXHI+13,x lda #$16 sta GFXLO+13,x ding jmp Done Platforms byte #17 byte #18 byte #18 byte #18 byte #18 byte #18 byte #18 byte #18 byte #18 byte #18 byte #18 byte #18 byte #18 byte #22; D (Powerup changer) byte #23; E (Boss spawner) byte #0; F (Nothing) byte #0 byte #0 byte #0 Plat0 lda Jumptimr beq Noset lda #0 sta Enemytimr0,x Noset lda Noscrl bne Choclate dec XPOS+13,x lda XPOS+13,x cmp #$E0 bne Choclate lda #0 sta Enemytype,x Choclate lda Onplat bne Stillgoing lda XPOS+12 and #$F0 sta temp lda #$18 sta COLUBK lda XPOS+13,x and #$F0 cmp temp bne Notalig lda #$48 sta COLUBK lda YPOS+13,x and #$F0 sta temp lda YPOS+12 and #$F0 cmp temp bne Notalig lda #1 sta Enemytimr0,x lda YPOS+13,x sta YPOS+12 lda #0 sta Falltimr sta Jumptimr lda #1 sta Onplat lda Scroll and #$0F sta temp lda #24 sbc temp sta Ftimr Stillgoing lda Enemytimr0,x beq Notalig lda YPOS+13,x sta Gotopos lda Curspr lda #$28 sta COLUBK lda #0 sta Falltimr Notalig lda Enemytimr1,x bne Up inc YPOS+13,x lda YPOS+13,x and #% lda YPOS+13,x cmp #160 bne ding2 lda #1 sta Enemytimr1,x jmp Done Up dec YPOS+13,x lda YPOS+13,x cmp #16 bne ding2 lda #0 sta Enemytimr1,x jmp Done Plat1 lda #0 sta Enemytype,x ding2 jmp Done Level2; Note that $03 spawns a vertical platform if it's ypos is 00 ; And a horizontal (NOT FUNCTONAL) one if at 16 ($10) hex 03000C52 hex 04030703 hex 06120541 hex 2C04 byte #06 byte #03 hex 0403 Animframes byte #2 byte #4 byte #2 byte #7 byte #14 byte #16 byte #14 byte #19 Widths byte #%00111110 byte #%00111101 byte #%00111110 byte #%00111101 byte #%00111110 byte #%00111101 byte #%00111110 byte #%00111101 Test4plat hex 0100010301A4FFa5 POKEY lda VOL0 lsr ora #$A0 sta PAUDC0 lda VOL0 beq ____ dec VOL0 ____ lda VOL1 lsr lsr ora #$A0 sta PAUDC1 lda VOL1 beq _____ dec VOL1 _____ lda Wait2 bne DRUMMOND lda #6 sta Wait2 lda Musptr and #%01111111 tax inc Musptr lda MUSICOMG,x Nobass sta PAUDF0 lda Timings,x beq No lda #$1F sta VOL0 No lda Wait3 bne Uh_oh Doitanyway ldx Musptr2 lda Baselengths,x sta Wait3 bne gon lda #0 sta Musptr2 jmp Doitanyway rts gon lda Base,x sta PAUDF1 lda #$1F sta VOL1 inc Musptr2 RTS3 rts DRUMMOND dec Wait2 rts Uh_oh dec Wait3 lda Wait3 beq Doitanyway rts MUSICOMG byte #160 byte #95 byte #95 byte #120 byte #95 byte #95 byte #120 byte #120 byte #145 byte #145 byte #145 byte #90 byte #90 byte #90 byte #120 byte #120 byte #160 byte #80 byte #80 byte #120 byte #80 byte #80 byte #120 byte #120 byte #160 byte #160 byte #160 byte #106 byte #106 byte #106 byte #120 byte #120 byte #160 byte #95 byte #95 byte #120 byte #95 byte #95 byte #120 byte #120 byte #145 byte #145 byte #145 byte #90 byte #90 byte #90 byte #120 byte #120 byte #160 byte #80 byte #80 byte #120 byte #80 byte #80 byte #60 byte #60 byte #62 byte #62 byte #106 byte #120 byte #106 byte #106 byte #120 byte #120 byte #120 byte #60 byte #60 byte #80 byte #60 byte #60 byte #80 byte #80 byte #90 byte #90 byte #90 byte #60 byte #60 byte #60 byte #80 byte #80 byte #120 byte #60 byte #60 byte #80 byte #60 byte #60 byte #80 byte #80 byte #106 byte #106 byte #106 byte #120 byte #106 byte #106 byte #95 byte #95 byte #120 byte #60 byte #60 byte #80 byte #60 byte #60 byte #80 byte #80 byte #90 byte #90 byte #90 byte #60 byte #60 byte #60 byte #80 byte #80 byte #120 byte #60 byte #60 byte #80 byte #60 byte #60 byte #53 byte #53 byte #60 byte #60 byte #95 byte #106 byte #95 byte #95 byte #106 byte #106 Base byte #190 byte #180 byte #160 byte #215 byte #190 byte #180 byte #160 byte #120 byte #125 byte #215 byte #120 byte #180 byte #120 byte #125 byte #120 byte #180 byte #120 byte #106 byte #120 byte #215 Baselengths byte #8 byte #8 byte #8 byte #8 byte #8 byte #8 byte #4 byte #4 byte #4 byte #4 byte #8 byte #8 byte #8 byte #8 byte #8 byte #8 byte #4 byte #4 byte #4 byte #4 byte #0 Timings byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #1 byte #0 byte #1 byte #0 byte #1 byte #0 byte #1 byte #1 byte #1 byte #0 byte #1 byte #0 Boxinit lda #1 sta Enemyhealth,x lda #$A0 sta GFXHI+13,x lda #$1A sta GFXLO+13,x lda #$FE sta PALWDH+13,x lda #144 sta YPOS+13,x lda #168 sta XPOS+13,x jmp Done Boxthing lda #$40 sta WRITEMODE+13,x lda Enemyhealth,x beq Boxinit lda XPOS+13,x adc Scroll lsr lsr lsr tay lda Row10,y cmp Novistile bne Nochangestate lda #2 sta Enemyhealth,x; Lets the object know it can "push" Nochangestate; the "switch". lda Enemyhealth,x cmp #2 bne Notfalling lda YPOS+13,x cmp #176 beq Notfalling inc YPOS+13,x Notfalling lda #0 sta Wall Patch16 lda Enemyhealth; Patch 16! lda YPOS+12; Glitch and #$F0 Patch17 sbc #$10; Offset glitch (Patch 17!) sta temp lda YPOS+13,x cmp temp bne Nopush lda XPOS+13,x and #%11111000 sta temp lda CXPOS and #%11111000 adc #0 cmp temp bne Nopush lda #1; bit 1 = wall to the right sta Wall lda #0 sta Subpxl lda #8 sta Hmomentum lda CXPOS adc #$08 sta XPOS+13,x lda #8 sta Timr2 Nopush lda Timr2 beq Nosound lda #2 sta AUDC1 lda #14 sta AUDF1 dec Timr2 lda Timr2 Nosound sta AUDV1 lda Noscrl bne Notscrol dec XPOS+13,x Notscrol jmp Done Rightsreserved background lda #%01100000; Write mode sta $2501 sta $2541 sta $2581 sta $25C1 sta $2601 sta $2641 sta $2681 sta $26C1 sta $2701 sta $2741 sta $2781 sta $27C1 lda #$00; Low byte sta $2500 sta $2700 lda #$20 sta $2540 sta $2740 lda #$40 sta $2580 sta $2780 lda #$60 sta $25C0 sta $27C0 lda #$80 sta $2600 lda #$A0 sta $2640 lda #$C0 sta $2680 lda #$E0 sta $26C0 lda #$22; High byte sta $2602 sta $2642 sta $2682 sta $26C2 sta $2502 sta $2542 sta $2582 sta $25C2 lda #$23 sta $2702 sta $2742 sta $2782 sta $27C2 lda Scroll lsr lsr lsr tax lda Patch8,x sta $2503 sta $2543 sta $2583 sta $25C3 sta $2603 sta $2643 sta $2683 sta $26C3 ora Bkpal sta $2703 sta $2743 sta $2783 and #%00011111 sta $27C3 lda Scroll eor #$FF sta $2504 sta $2544 sta $2584 sta $25C4 sta $2604 sta $2644 sta $2684 sta $26C4 sta $2704 sta $2744 sta $2784 sta $27C4 lda #$36 sta Score lda Coins and #$F0 lsr lsr lsr adc #$22 sta Score+1 lda Coins and #$0F asl adc #$22 sta Score+2 lda Timer and #$F0 lsr lsr lsr adc #$22 sta Score+16 lda Timer and #$0F asl adc #$22 sta Score+17 lda Timer+1 and #$0F asl adc #$22 sta Score+18 ldx Level lda LevelID,x sta Score+5 lda LevelIDh,x sta Score+7 lda #$38 sta Score+6 lda #$3E sta Score+4 jmp No_dbug lda pipepointer asl adc #$22 sta Score+13 No_dbug rts I_hope byte #28 byte #30 Boomerang; Type 1 lda XPOS and #$F8 sta Xtemp lda #%00111110 sta PALWDH lda Subtimr0 and #1 tay lda I_hope,y sta GFXLO lda #$A0 sta GFXHI lda #$40 sta WRITEMODE ldy Sublocation lda #0 sta $1B00,y lda CYPOS sta YPOS Positive lda Subtimr1 beq Pos2 lda XPOS sbc Subtimr0 sta XPOS inc Subtimr0 lda Subtimr0 cmp #9 bne RTS4 lda #0 sta Subtype sta YPOS sta Subtimr0 jmp RTS4 Pos2 lda XPOS adc Subtimr0 sta XPOS dec Subtimr0 lda Subtimr0 bne RTS4 lda #1 sta Subtimr1 jmp RTS5 RTS4 RTS5 rts Patch8 byte #11 byte #10 byte #9 byte #8 byte #7 byte #6 byte #5 byte #4 byte #3 byte #2 byte #1 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 byte #0 Xlocations byte #0,#1,#2,#3,#4,#5,#6 byte #7,#8,#9,#10,#11,#12 byte #13,#14,#15,#16,#17 byte #18,#19,#20,#20,#0, byte #0,#0,#0,#0,#0,#0,#0 byte #0,#0,#0,#0,#0 Ylocations byte #0,#20,#40,#60,#80 byte #100,#120,#140,#160 byte #180,#200,#240,#240 byte #240,#0,#0 Placelocation; ONLY for subsprites lda XPOS,x;4 adc #3; 6 lsr; 8 lsr; 10 lsr; 12 tay; 14 Divide by 8 lda Xlocations,y; 18 sta temp; 21 lda YPOS,x; 25 adc #7; 27 lsr; 29 lsr; 31 lsr; 33 lsr; 35 tay; 37 Divide 16 lda Ylocations,y; 31 adc temp; 34 sbc #1; 36 sta Sublocation,x; 37 rts;43 Pwrlocations word #$0000 word # Pwrstart byte #0 byte #0 byte #1 Pwrwait Welcome_to_dream_land_2 hex Powerup_spawner Bpwrstartup lda #$40 sta WRITEMODE+13,x lda #28 sta GFXLO+13,x lda #%00111110 sta PALWDH+13,x lda #$A0 sta GFXHI+13,x lda #1 sta Enemyhealth,x jmp Done Boomerangpowerup lda Enemyhealth,x beq Bpwrstartup lda Noscrl bne Notscrolling dec XPOS+13,x lda XPOS+13,x and #$F8 cmp #248 bne Notscrolling lda #0 sta Enemytype,x Notscrolling lda XPOS+13,x and #$F8 cmp COLXPOS bne Oldcommercial lda YPOS+13,x and #$F0 cmp COLYPOS bne Oldcommercial lda #1 sta Cstate lda #0 sta Enemytype,x sta Enemyhealth,x sta Enemystat,x Oldcommercial jmp Done Pirana_plant_init lda #1 sta Enemyhealth,x lda #$A0 sta GFXHI+13,x lda #0 sta Enemytimr0,x; Timr 0 is for the animation. lda #%01011110 sta PALWDH+13,x lda #$40 sta WRITEMODE+13,x jmp Done Pirana_plant lda Enemyhealth,x beq Pirana_plant_init inc Enemytimr0,x lda Enemytimr0,x and #%00001000 lsr lsr lsr tay lda FramesL,y sta GFXLO+13,x sta COLUBK lda Noscrl bne Notscrolll dec XPOS+13,x Notscrolll inc Enemytimr1,x lda Enemytimr1,x cmp #85 bne Hope lda #0 sta Enemytimr1,x Hope lda Enemytimr1,x lsr tay lda FramesH,y sta GFXHI+13,x cmp #$AF beq Just_3_bytes jsr Ccollision Just_3_bytes jmp Done Rightsbackup byte "Pirate version! " FramesH hex AFAEADACABAAA9A8A7A6A5A4A3A2A1A0A0A0A0A0A0A0A0A1A2A3A4A5A6A7A8A9AAABACADAEAFAFAFAFAFAFAF FramesL byte #32 byte #34 Patch10 hex FF00 Ccollision; For PIRANA PLANTS only. (Objects that don't show their death.) lda Iframes bne Wow; Invincible? Don't do collision code. lda XPOS+13,x lsr lsr lsr sta temp1 cmp ColXPOS bne Wow lda YPOS+13,x lsr lsr lsr lsr sta temp cmp ColYPOS bne Wow lda Cstate bne Lucky lda #175 sta CYPOS lda #0 sta Coins; Reset coins to 0. Wow lda ColYPOS cmp temp bne Wow2 lda Xtemp cmp temp1 bne Wow2 lda #0 sta Enemytype,x inc Coins lda #$0F sta COLUBK jmp Done Wow2 rts Lucky lda #0 sta Cstate sta Direction lda #$4F sta Hmomentum lda #60 sta Iframes rts bouncerinit lda #1 sta Enemyhealth,x lda #$A0 sta GFXHI+13,x lda #%01111110 sta PALWDH+13,x; Bouncers are always the "red" variant, but don't have it's properties. lda #0 sta Enemytimr0,x; Jump timer. sta Enemystat,x; Wait on ground timr. lda #$40 sta WRITEMODE+13,x jmp Done bouncer; type ? lda #%00110101 sta COLUBK lda Enemyhealth,x beq bouncerinit jsr Collision3 lda Collision cmp #$FF bne So_much_code jsr Amusement5 So_much_code lda Noscrl bne Notscroolling dec XPOS+13,x lda XPOS+13,x and #$F8 cmp #248 bne Notscroolling lda #0 sta Enemytype,x sta AUDV1 Notscroolling lda #$10 sta AUDF1 lda #$07 sta AUDC1 lda Enemystat,x bne Waiting lda #36 sta GFXLO+13,x lda Enemytimr0,x lsr lsr and #$0F sta temp lda Enemytimr0,x bpl Positive2 lda YPOS+13,x adc temp sta YPOS+13,x dec XPOS+13,x dec Enemytimr0,x lda Enemytimr0,x sta AUDV1 cmp #$F0 beq Endofjump Positive2 lda YPOS+13,x sbc temp adc #0 sta YPOS+13,x dec Enemytimr0,x dec XPOS+13,x lda XPOS+13,x and #$F8 cmp #248 bne RED lda #0 sta Enemytype,x RED jmp Done Waiting dec Enemystat,x lda #38 sta GFXLO+13,x; Not moving. jmp Done Endofjump lda #15 sta Enemystat,x lda #16 sta Enemytimr0,x lda YPOS+13,x sbc #3 sta YPOS+13,x jmp Done Collision3 lda #0 sta Collision lda XPOS+13,x and #$F8 cmp COLXPOS bne Amusement lda YPOS+13,x and #$F0 cmp COLYPOS bne Amusement2 Amusement5 lda Cstate bne Amusement3 lda #175 sta CYPOS Amusement rts; Why does that take 6 cycles???\ byte "Atari" sei ora ($00),y Amusement2 lda YPOS+13,x and #$F0 sbc #$10 cmp COLYPOS bne Amusement lda #$FF sta Collision rts Amusement3 lda #0 sta Cstate sta Direction lda #60 sta Iframes lda #$4F sta Hmomentum rts Lostboomeranginit lda #1 sta Enemyhealth,x lda CXPOS sta XPOS+13,x lda CYPOS sta YPOS+13,x lda #$40 sta WRITEMODE+13,x lda #%00111110 sta PALWDH+13,x lda #15 sta Cframes; Cframes = frames Conner can't collect stuff lda #8 sta Enemytimr0,x lda #$A0 sta GFXHI+13,x lda #0 sta Enemytimr1,x jmp Done Lostboomerang lda Enemyhealth,x beq Lostboomeranginit lda Enemytimr1,x beq China lda Enemytimr0,x sta temp lda YPOS+13,x adc temp sbc #1 sta YPOS+13,x inc Enemytimr0,x lda Enemytimr0,x cmp #8 bne rom lda #0 sta Enemytype,x jmp rom China lda Enemytimr0,x sta temp lda YPOS+13,x sbc temp sta YPOS+13,x dec Enemytimr0,x lda Enemytimr0,x bne rom lda #1 sta Enemytimr1,x lda #0 sta Enemytimr0,x rom jmp Done Savescode hex 100f0e0d0c0b0a09080706050403020100FFFEFDFCFBfaf9f8f7f6f5f4f3f2f1f0 Gethit lda Cstate beq Kill sta temp and #2 bne Loose_key and #1 bne Loose_brang and #%00001100 bne Downgrade Kill lda #175 sta YPOS+13,x rts Loose_brang lda #20 sta temp lda #$FE sta temp1 doit ldy #0 Count4 lda Enemytype,y beq Available2 iny cpy #8 beq Available2 jmp Count4 Available2 lda temp sta Enemytype,y lda #0 sta Enemyhealth,y sta Direction lda Cstate and temp1 sta Cstate lda #$4F sta Hmomentum lda #60 sta Iframes rts Loose_key lda #21 sta temp lda #%11111101 sta temp1 jmp doit Downgrade lda #180 sta Iframes lda #0 sta Enemytype,x lda Cstate and #%11110011 sta Cstate rts Patch11 lda #20 sta Enemytype,x DLPNTL byte 0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,#115 DLPNTL2 hex 0020406080A0C0E00020406080A0C0E00020406080A0C0E00020406080A0C0E0 DLPNTH hex 2424242424242424252525252525252526262626262626262727272727272727 For_brenda ; 1 is platform ; 2 is platform with pole hex 00; Reset playfeild hex 50125E29 hex 50115003 hex 50125E29 hex 50115004 hex 50125E29 hex 50115003 hex 50125E29 hex 50115004 hex 50125E29 hex 50115003 hex 50125E29 hex 50115004 hex 50125E29 hex 50115003 hex 50125E29 hex 50115004 hex 50125E29 hex 50115003 hex 50125E29 hex 50115004 hex B003 hex 50125E29 hex 50115003 hex B003 hex 50125E29 hex 50115003 hex B003 hex 50125E29 hex 50115003 hex A01F29 hex 901F39 hex 301160193A; A = bottom of sand hex 30126E00 hex 30116000 hex 9000 hex 701100 hex 70122E00 hex 70112000 hex 9003 hex 30116000 hex 30126E00 hex 30116000 hex 9000 hex 701100 hex 70122E00 hex 70112000 hex 9003 hex 30116000 hex 30126E00 hex 30116000 hex 9000 hex 701100 hex 70122E00 hex 70112000 hex 9003 hex 30116000 hex 30126E00 hex 30116000 hex 9000 hex 701100 hex 70122E00 hex 70112000 hex 9003 hex 30116000 hex 30126E00 hex 30116000 hex 9000 hex 701100 hex 70122E00 hex 70112000 hex 9003 hex B000 hex 90193A hex 801F00 hex 701F1000 hex 601F1000 hex 501F1000 hex 401F1000 hex 2D101F1000 hex 102D1F1D00 hex 9D01 Level3enemies hex 00004000 hex 000F hex 100F hex 3084FF0E ES1; Enviroment style one code. lda RANDOM and #1 bne Not0 lda Subtimr1+1 bne Not0 lda #2 sta Subtimr1+1 Not0 lda Scroll and #%00001000 lsr lsr lsr tax lda Scroll lsr lsr lsr adc #21 and #%00011111 tay lda Mode bne M lda #%10100000 sta Bkpal lda Waterf,x sta Row9,y lda Row5,y cmp #$40 beq M lda Bridgf,x sta Row4,y M lda Subtimr1+1 beq DONE ldx Subtimr1+1 lda Patch14,x sta Row1,y dec Subtimr1+1 jmp Donte DONE jmp Donte Waterf byte #$4A,#$4C Bridgf byte #$48,$46 Patch14 byte #$4E byte #$50 byte #$4E Eptrs word #Donte word #ES1 Shutoffmode lda #1 sta Mode lda #0 sta Bkpal sta Enemytype,x Here jmp Done Scrollock lda Noscrl beq Overwrite_scroll jmp Done Overwrite_scroll lda #1 sta Noscrl lda Direction cmp #2 bne Here lda #1 sta Direction jmp Done Flagpole_object lda Prevcollision cmp #$0E bne Really lda #1 sta End_flag jmp Done Really jmp Done Cool2 hex 01020304050607080909090909090909 Spinframes EC_SETUP lda #1 sta DO_EC jmp PLESS ECERNOSOFT_ANNOUNCEMENT lda #0 sta PAUDC0 sta PAUDC1 sta PAUDC2 sta PAUDC3 lda DO_EC beq EC_SETUP lda DO_EC cmp #2 beq ECPT2 lda #%01100000 sta CTRL ldy #32 Count5 lda ECLOGO,y sta Row0,y lda ECLOGO+32,y sta Row1,y lda ECLOGO+64,y sta Row2,y lda ECLOGO+96,y sta Row3,y lda ECLOGO+128,y sta Row4,y lda ECLOGO+160,y sta Row5,y lda ECLOGO+192,y sta Row6,y lda ECLOGO+224,y sta Row7,y lda ECLOGO+256,y sta Row8,y lda ECLOGO+288,y sta Row9,y lda ECLOGO+320,y sta Row10,y lda ECLOGO+352,y sta Row11,y lda ECLOGO+384,y sta Row12,y dey cpy #$FF bne Count5; Wow! lda #2 sta DO_EC lda #%01000000 sta CTRL lda #$F0 sta Scroll jsr background lda #1 sta temp rti PLESS rts ECPT2 lda INPT0 bne LSEL lda INPT1 bne ENDEC ENDEC2 rti ENDEC lda #0 sta DO_EC sta Scroll lda #%01010000 sta CTRL rti ECPT3 rti LSEL inc Frame lda Frame cmp #15 bne ECPT3 lda #0 sta Frame inc Row1+31 inc Level jsr getlevel rti ECLOGO hex 0000000200000002020002000202020202020202020202020202020202020202 hex 0200020202000202000200020202020202020202020202020202020202020202 hex 0200020202000202020202000202020202020202020202020202020202020202 hex 0000000202000202020200020202020202020202020202020202020202020202 hex 1010100202100202100202100210020210021010100210101002020202020202 hex 1002020210021002101002100210100210021010100210101002020202020202 hex 1002020210021002100210100210021010021002020210100202020202020202 hex 1010100202100202100202100210020210021010100210021002020202020202 hex 0200000002000200000202020002000000020200020202020202020202020202 hex 0202000202020200020002000002000000020200020202020202020202020202 hex 0202000202000200020200020002000202020202020202020202020202020202 hex 0202000202000200020202020002000000020200020202020202020202020202 hex 0202020202020202020202020202020202020202020202020202020202020202 PWRUPch ldy Currpwr; And just like that, it never existed. lda (PwPtr),y sta Sppwr lda CYPOS sbc #32 sta YPOS+13,x inc Currpwr jmp Done; 4K mark! Slopehandler lda Joy and #$C0 beq Dort stx temp1 asl temp; Shift left lda Direction and #1 ora temp tax lda Table,x bne Down dec CYPOS dec CYPOS rts Down inc CYPOS inc CYPOS rts Table byte #0; 0 = down, 1 = up (This word is for left slopes) byte #1 byte #1; This 2 byte seg is for right slopes byte #0 Dort rts Crabguy org $7FF6; Simple stuff like checking the reset switch. lsr SWCHB ; test Game Reset switch bcc start rts start jmp start org $7FFF byte #$00 org $8000; 01 is grey, 11 is green, 10 is brown (CHARS), ; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red23 byte %10101010,%10101010,0,0,%11111010,%10111011,%00110000,%00001100,%00000011,%11000000,%11111111,%11111111,%00001101,$F0,%00001101,$F0,%10011001,%10011001,%00111111,%11111100,$00,$00,%01001111,%11110000,%00000000,%00000001,%00001010,%10100000,$FF,$FF,%00001010,%10100000,$FF,$FF,%00010101,%01010000,%01010101,%01010100,%01010101,%01010100,%01010101,%01010000,%00000000,%00000100,%01010101,%01010000,%00010101,%01010000,%01000000,%00000000,%00010101,%01010000,%00010101,%00000000,%00010101,%00000000,0,0,0,0 byte %00010000,$00,$55,$00,0,0,$00,$00,$01,$40,%00000101,%01010000,$00,$00,%00000000,%00000000,%00000011,%11000000,%00000000,%00000000,%00000000,%00000000,%10101010,%10101010,$AA,$AA,$00000101,%01010000,%00001010,%00100000,%11001100,%11001100,$01,$40,%11111100,%00000000,%00000110,%01010000,%00000000,%00000000 org $8100; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10011010,%10011010,0,0,%11001110,%10101100,%11101100,%00111011,%00000011,%11000000,%01000000,%00000001,%00000111,$F0,%00000111,$F0,%01100110,%01100110,%11101010,%10101011,$00,$00,%01011101,%11110000,%00000000,%00000001,%00101010,%10101000,$FF,$FF,%00101010,%10101000,$A0,$06,%01000000,%00000100,%00000001,%00000000,%01000000,%00000000,%00000000,%00000100,%00000000,%00000100,%00000000,%00010000,%01000000,%00000100,%00010000,%00000000,%01000000,%00000100,%00000000,%01000000,%01000000,%00000000,0,0,0,0 byte %00010000,$00,$40,$00,0,0,$00,$00,$01,$40,%00000001,%01000000,$00,$00,%00000000,%00000000,%00111111,%11111100,%00000000,%00000000,%00000000,%00000000,%10101010,%10101010,$AA,$AA,%00010101,%01010100,%00101010,%10100000,%11001100,%11001100,$01,$40,%00110000,%00000000,%00011010,%01100101,%00000000,%00000000 org $8200; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10100110,%10100110,0,0,%11110011,%00111111,%11101011,%11101011,%00001111,%11110000,%01000000,%00000001,%00001101,$F0,%00001101,$F0,%10011001,%10011001,%11101010,%10101011,$00,$00,%01010111,%11110000,%00000000,%00000101,%10101010,%10101010,$FF,$FF,%10101010,%10101010,$80,$02,%01000000,%00000100,%00000001,%00000000,%00010000,%00000000,%00000000,%00000100,%00000000,%00000100,%00000000,%00010000,%01000000,%00000100,%00000100,%00000000,%01000000,%00000100,%00000000,%00010000,%01000000,%00010100,0,0,0,0 byte %00010000,$00,$40,$00,0,0,$00,$00,$01,$40,%00000001,%01000000,$00,$00,%00000000,%00000000,%00111110,%11111100,%00000000,%00111111,%11111100,%00000000,%10101010,%10101010,$AA,$AA,%00010101,%01010100,%00101010,%10100000,%00110011,%00110011,$01,$40,%00111111,%00000000,%01010101,%01101000,%00000000,%00000000 org $8300; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10101010,%10101010,0,0,%00110011,%00110011,%11101010,%10101011,%00111111,%11111100,%00010000,%00000100,%00000111,$F0,%00000111,$F0,%01100110,%01100110,%11101001,%01101011,$00,$00,%01011101,%11110000,%00000000,%00000101,%10101001,%01101010,$FF,$FF,%10101010,%10101010,$A0,$06,%01000000,%00000100,%00000001,%00000000,%00000100,%00000000,%00000000,%00000100,%00010101,%01010100,%00000001,%01000000,%01000000,%00000100,%00000001,%00000000,%01000000,%00000100,%00000000,%00000100,%01000000,%00000000,0,0,0,0 byte %00010000,$54,$40,$00,0,0,$00,$00,$01,$40,%00000001,%01000000,$00,$00,%00000000,%00000000,%11111011,%10111111,%00001111,%11000011,%11111111,%11110000,%10101010,%10101010,$AA,$AA,%01010101,%01010101,%00001010,%00100000,%00110011,%00110011,$01,$40,%00001100,%00000000,%00000001,%01010000,%00000000,%00000000 org $8400; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10011010,%10011010,0,0,%00001100,%11001100,%00111010,%10101100,%11110011,%11001111,%00010000,%00000100,%00001101,$F0,%00001101,$F0,%10011001,%10011001,%11101001,%01101011,$00,$00,%01010111,%11110000,%00000000,%00010101,%10100101,%01011010,$FF,$FF,%10101010,%10101010,$FF,$FF,%01000000,%00000100,%00000001,%00000000,%00000001,%00000000,%00000101,%01010000,%00010000,%00000100,%00010100,%00000000,%00010101,%01010000,%00000000,%01000000,%00010101,%01010000,%00010101,%01010000,%01000000,%00000000,0,0,0,0 byte %00010000,$00,$40,$54,0,0,$00,$00,$01,$40,%00000001,%01000000,$00,$00,%00000000,%00000000,%11111110,%11101111,%00111100,%00111111,%11111111,%11111100,%10101010,%10101010,$AA,$AA,%01010101,%01010101,%00001010,%10101000,%11001100,%11001100,$01,$40,%00001111,%11000000,%00000101,%00010100,%00000000,%00000000 org $8500; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10100110,%10100110,0,0,%00001100,%00110011,%00111010,%10101100,%11000011,%11000011,%00000100,%00010000,%00000111,$F0,%00000111,$F0,%01100110,%01100110,%11101010,%10101011,$00,$00,%01011101,%11110000,%00000000,%00010101,%10010101,%01010110,$FF,$FF,%10101010,%10101010,$A0,$06,%01000000,%00000100,%00000001,%00000000,%00000000,%01000000,%00000000,%00000100,%00000100,%00000100,%01000000,%00000000,%01000000,%00000000,%00000000,%00010000,%01000000,%00000100,%01000000,%00000100,%01000000,%00010100,5,0,0,0 byte %00010000,$00,$40,$00,0,0,$00,$00,$01,$40,%00000001,%01000000,$00,$00,%00000000,%00000000,%00110000,%00110011,%11110000,%11111111,%11111111,%00111111,%10101010,%10101010,$AA,$AA,%01010101,%01010101,%00000010,%10101000,%11001100,%11001100,$01,$40,%00000011,%00000000,%00000101,%00010101,%01010101,%01010101 org $8600; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10101010,%10101010,0,0,%00000011,%00001100,%00111010,%10101100,%00000011,%11000000,%00000100,%00010000,%00001101,$F0,%00001101,$F0,%10011001,%10011001,%11101010,%10101011,$00,$00,%01010111,%11110000,%00000000,%01010101,%10010101,%01010110,$FF,$FF,%10101010,%10101010,$80,$02,%01000000,%00000100,%00000101,%00000000,%00010000,%00010000,%00000000,%00000100,%00000001,%00000100,%01000000,%00000000,%01000000,%00000000,%00000000,%00000100,%01000000,%00000100,%01000000,%00000100,%01000000,%00000000,0,0,0,0 byte %01010100,$54,$40,$54,0,0,$00,$00,$01,$40,%00000001,%01000000,$02,$80,%00110000,%00000011,%11000000,%00001100,%11111111,%11111111,%11111111,%11001111,%10101010,%10101010,$AA,$AA,%01010101,%01010101,%00000010,%10000000,%00110011,%00110011,$01,$40,%00000011,%11110000,%00010100,%00000000,%01000010,%10000001 org $8700; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10011010,%10011010,0,0,%00000000,%11110011,%00111010,%10101100,%00000011,%11000000,%00000001,%01000000,%00000111,$F0,%00000111,$F0,%01100110,%01100110,%11101010,%10101011,$00,$00,%01011101,%11110000,%00000000,%01010101,%10010101,%01010110,$FF,$FF,%10101010,%10101010,$A0,$06,%00010101,%01010000,%00000001,%00000000,%00000101,%01000000,%01010101,%01010000,%00000000,%01010100,%00010101,%01000000,%00010101,%01010000,%01010101,%01010100,%00010101,%01010000,%00010101,%01010000,%00010101,%00000000,0,0,0,0 byte %00000000,$00,$40,$00,0,0,$00,$00,$01,$40,%00000001,%01000000,$28,$28,%11000000,%00001100,%00110000,%00000011,%00111111,%11111111,%11110000,%11110011,%10101010,%10101010,$AA,$AA,%01010101,%01010101,%00001010,%10000000,%00110011,%00110011,$01,$40,%00000000,%11000000,%00000000,%00000000,%01101010,%10101001 org $8800; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10100110,%10100110,0,0,%00000000,%00001111,%00001110,%10110000,%00000011,%11000000,%00000001,%01000000,%00001101,$F0,%00001101,$F0,%10011001,%10011001,%11101010,%10101011,$00,$00,%01010111,%11110000,%00000001,%01010101,%10010101,%01010110,$FF,$FF,%10101010,%10101010,$FF,$FF,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$40,$00,0,0,$00,$00,$01,$40,%00000001,%01000000,$80,$02,%00110000,%00110011,%00000000,%00000000,%00000011,%11111111,%11111111,%00111111,%11101010,%11101010,$AA,$AA,%01010101,%01010101,%00001010,%10000000,%11001100,%11001100,$01,$40,%00000000,%11111100,%00000000,%00000000,%01000010,%10000001 org $8900; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10101010,%10101010,0,0,%00000000,%00000011,%00001110,%10110000,%00010101,%01010100,%00000100,%00010000,%00000111,$F0,%00000111,$F0,%01100110,%01100110,%11101001,%01101011,$00,$00,%01011101,%11110000,%00000001,%01010101,%10010101,%01010110,$FF,$FF,%10101010,%10101010,$00,$00,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$40,$00,0,0,$00,$00,$01,$40,%10000001,%01000010,$00,$00,%11001100,%11001111,%00000000,%00000000,%00000000,%11101111,%11111111,%00001100,%10101110,%10101110,$AA,$AA,%01010101,%01010101,%00100010,%10100000,%11001100,%11001100,$01,$40,%00000000,%00110000,%00000000,%00000000,%01000010,%10000001 org $8A00; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown,#%01010111,#%11110000; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10011010,%10011010,0,0,%00000000,%00000000,%00001110,%10110000,%01101010,%10101001,%00000100,%00010000,%00001101,$F0,%00001101,$F0,%10011001,%10011001,%11101001,%01101011,$00,$00,%01010111,%11110000,%00000101,%01011001,%10010101,%01010110,$FF,$FF,%10101010,%10101010,$00,$00,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$40,$00,0,0,$00,$00,$01,$40,%00100001,%01001000,$00,$00,%11110011,%00110011,%00000000,%00000000,%00000000,%00111011,%11111100,%00000000,%10101010,%10101010,$AA,$AA,%01010101,%01010101,%00100010,%10100000,%00110011,%00110011,$01,$40,%00000000,%00111111,%00000000,%00000000,%01101010,%10101001 org $8B00; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10100110,%10100110,0,0,%00000000,%00000000,%00001110,%10110000,%01101001,%01101001,%00010000,%00000100,%00000111,$F0,%00000111,$F0,%01100110,%01100110,%11101010,%01011011,$00,$00,%01011101,%11110000,%00000101,%01011001,%10100101,%01011010,$FF,$FF,%10101010,%10101010,$00,$00,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$40,$00,0,0,$00,$00,$01,$40,%00001111,%11110000,$00,$00,%11111110,%11101111,%00000000,%00000000,%00000000,%00111110,%11101100,%00000000,%11101010,%11101010,$AA,$AA,%01010101,%01010101,%00001010,%10100000,%00110011,%00110011,$01,$40,%00000000,%00001100,%00000000,%00000000,%00010010,%10000100 org $8C00; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10101010,%10101010,0,0,%00000000,%00000000,%00000011,%11000000,%01100101,%01011001,%00010000,%00000100,%00001101,$F0,%00001101,$F0,%10011001,%10011001,%11101010,%01011011,$00,$00,%01010111,%11110000,%00010101,%01011000,%10101001,%01101010,$FF,$FF,%10101010,%10101010,$00,$00,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$00,$00,0,0,$00,$00,$01,$40,%00000011,%11000000,$00,$00,%11111011,%10111111,%00000000,%00000000,%00000000,%00001111,%10110000,%00000000,%10101110,%10101110,$AA,$AA,%01010101,%01010101,%00001000,%10101000,%11001100,%11001100,$01,$40,%00000000,%00001111,%00000000,%00000000,%00011010,%10100100 org $8D00; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %10011010,%10011010,0,0,%00000000,%00000000,%00000011,%11000000,%01101001,%01101001,%01000000,%00000001,%11110111,$FF,%00000111,$F0,%01100110,%01100110,%11100101,%01011011,$00,$00,%01011101,%11110000,%00010101,%01101010,%10101010,%10101010,$FF,$FF,%10101010,%10101010,$00,$00,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$00,$00,0,0,$00,$00,$01,$40,%00000000,%00000000,$00,$00,%00111110,%11111100,%00000000,%00000000,%00000000,%00000011,%11000000,%00000000,%11101110,%11101110,$AA,$AA,%00110101,%01010100,%00001000,%10101000,%11001100,%11001100,$01,$40,%00000000,%00000011,%00000000,%00000000,%00000110,%10010000 org $8E00; SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %11101110,%11101110,0,0,%00000000,%00000000,%00000000,%00000000,%01101010,%10101001,%01000000,%00000001,%11111101,$FF,%00001101,$F0,%10011001,%10011001,%11100101,%01011011,$00,$00,%00001010,%10100000,%00000000,%00000000,%00101010,%10101000,$FF,$FF,%00101010,%10101000,$00,$00,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$00,$00,0,0,$AA,$AA,$AA,$AA,%00000000,%00000000,$00,$00,%00111111,%11111100,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%10111011,%10111011,$AA,$AA,%00011111,%01010100,%00001000,%10100000,%00110011,%00110011,$01,$40,%00000000,%00000011,%00000000,%00000000,%00000001,%01000000 org $8F00; 11 is green, 10 is brown, 01 is grey.SPACE SPACE SPACE SPACE SPACESPACE SPACE SPACE SPACE SPACE SPACE SPADE SPACE; 01 is grey, 11 is green, 10 is brown; 01 is grey, 11 is green, 10 is brown; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black byte %11111111,%11111111,0,0,%00000000,%00000000,%00000000,%00000000,%00010101,%01010100,%11111111,%11111111,%11110111,$FF,%00000111,$F0,%01100110,%01100110,%00111111,%11111100,$00,$00,%00000010,%10000000,%00000000,%00000000,%00001010,%10100000,$FF,$FF,%00001010,%10100000,$00,$00,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,#00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,0,0,0,0 byte %00000000,$00,$00,$00,0,0,$AA,$AA,$AA,$AA,%00000000,%00000000,$00,$00,%00000011,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%11101100,%11101110,$AA,$AA,%00000101,%01010000,%00001010,%10100000,%00110011,%00110011,$01,$40 Nopokrandom hex 4675436B2E594F6F0A745693863724BCD375Ab496CCDD597802B145245829560284752048BCBEEFF458828473EB28475255CDE66764B ; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red org $a000; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; .byte %00101010,%10000000,%10101010,%00101010,%00001111,%11000000,%00001100,%00110000,%00001111,%11001111,%00111111,%00111111,%00000010,%10101000,%00101010,$00,%00000000,%00000000,%00000000,%00000000,%10100000,%00000000,#$FF,#$FF,#$FF,#$FF,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000111,%01000000,%00000111,%01000000,%10101000,%00101010,%10101000,%00101010 org $a100; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %00010100,%00000000,%00000101,%00010100,%00000010,%10000000,%00111010,%10101100,%00000011,%11001100,%00000001,%01010100,%00000110,%01100101,%00010100,$00,%10000101,%01000000,%00100000,%00000010,%00000000,%00000000,#$82,#$82,#$82,#$82,%11011010,%10100111,%00000000,%00000000,%00000000,%00000000,%00010111,%01010000,%00010111,%01010000,%00100000,%00001000,%00100000,%00001000 org $a200; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %00010100,%00000000,%00000101,%00010100,%00000010,%10000000,%00111010,%10101100,%00000001,%01010100,%00100101,%10011001,%00000101,%10011001,%01010110,$00,%00100101,$01010010,%10000000,%00001001,%01001000,%00000000,#$82,#$82,#$82,#$82,%11011010,%10100111,%00000000,%00000000,%00000000,%00000000,%00011011,%01010000,%00011011,%01010000,%00100000,%00001000,%00001000,%00100000 org $a300; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %00010100,%00000000,%00000101,%00010100,%00001111,%10110000,%00001111,%11110000,%00100101,%10011001,%00100110,%01100100,%00000110,%01100101,%01010100,$00,%00001000,%01010101,%01000000,%00000001,%01010110,%00000000,#$FF,#$FF,#$FF,#$FF,%11100110,%10011011,%00000000,%00000000,%00000000,%00000000,%01010011,%00010100,%01010011,%00010100,%00001000,%00100000,%00000110,%10010000 org $a400; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01010101,%00000000,%00000101,%10010100,%00111110,%11100000,%00011010,%10100000,%00100110,%01100100,%00101001,%10011000,%00000001,%10010100,%01111101,$00,%00000001,%01010101,%00000000,%00000001,%01010100,%10000000,#$82,#$82,#$82,#$82,%11100110,%10011011,%00000000,%00000000,%00000000,%00000000,%01000011,%00000100,%01000011,%00000100,%00001000,%00100000,%00010111,%11010100 org $a500; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01010101,%00000000,%00000101,%10010100,%00011011,%11111100,%00101011,%11111100,%00101001,%10011000,%00101000,%01010000,%00000001,%01100100,%10111101,$00,%00000001,%01010100,%00000000,%00000001,%01010100,%00000000,#$82,#$82,#$82,#$82,%11101001,%01101011,%00000000,%00000000,%00000000,%00000000,%00000011,%00000000,%00000011,%00000000,%00001000,%00100000,%00011111,%11110100 org $a600; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01011010,%11110000,%00000101,%10010100,%00101011,%11111100,%00111111,%11111100,%00101000,%01010000,%00000000,%00000000,%00000000,%01010000,%10111101,$00,%00000001,%01010101,%10100000,%00000001,%01011010,%00000000,#$FF,#$FF,#$FF,#$FF,%11101001,%01101011,%00000000,%00000000,%00000000,%00000000,%00000100,%01000000,%00000100,%01000000,%00000110,%10010000,%01011111,%11110101 org $a700; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01011010,%11110000,%00000101,%10010100,%00001111,%11110000,%00001111,%11110000,%00111000,%01010000,%00000000,%00000000,%00000000,%00000000,%10100101,$00,%00111101,%01101001,%10111100,%00000001,%10101010,%11110000,#$00,#$00,#$00,#$00,%11101001,%01101011,%00000000,%00000000,%00000000,%00000000,%00010100,%01010000,%00010000,%00010000,%00010111,%11010100,%01111011,%10111101 org $a800; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01010101,%00000000,%00100101,%10010110,%00001111,%11110000,%00000011,%11000000,%10101100,%00000000,%00000000,%00000000,%00000000,%00000000,%01101001,$00,%00111110,%10101001,%00111100,%11111001,%10100100,%11110000,#$00,#$00,#$00,#$00,%11101001,%01101011,%01010110,%00000000,%01010000,%00000000,%00010100,%01010000,%00011000,%10010000,%00011011,%11110100,%10011011,%10110110 org $a900; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %00111111,%00000000,%00100101,%10010110,%00000011,%11000000,%00000000,%00000000,%00111000,%00000000,%00000000,%00000000,%00000000,%00000000,%01010101,$00,%00000010,%10100101,%00000000,%11111001,%01010100,%00000000,#$00,#$00,#$00,#$00,%11100110,%10011011,%01111110,%01010100,%01110100,%00000000,%00010100,%01010000,%00010000,%00010000,%01101110,%11110101,%10100101,%01011010 org $aA00; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01110000,%00000000,%10101100,%00001110,%00000000,%00000000,%00000000,%00000000,%00111000,%00000000,%00000000,%00000000,%00000000,%00000000,%00110000,$00,%00000000,%11000000,%00000000,%00000000,%11000000,%00000000,#$00,#$00,#$00,#$00,%11100110,%10011011,%00011001,%11110100,%01111000,%00000000,%00010100,%01010000,%00011000,%10010000,%01111111,%11111101,%00100000,%00001000 org $aB00; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01001111,%11000000,%10101111,%11111110,%00000000,%00000000,%00000000,%00000000,%00101000,%00000000,%00000000,%00000000,%00000000,%00000000,%01001111,$C0,%00000001,%00111111,%00000000,%00000001,%00111111,%00000000,#$00,#$00,#$00,#$00,%11011010,%10100111,%00000001,%01110100,%10100101,%00000000,%00010100,%01010000,%00010000,%00010000,%10011011,%10110110,%00000000,%00000000 org $aC00; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 is white, 01 is red; 11 is 11 is tan, 10 is grey, 01 is red .byte %01111000,%00000000,%11111000,%11001011,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111000,$00,%00000001,%11100000,%00000000,%00000001,%11100000,%00000000,#$00,#$00,#$00,#$00,%11011010,%10100111,%00000000,%01011010,%00011101,%01000000,%00000100,%01000000,%00011000,%10010000,%10100101,%01011010,%00000000,%00000000 org $aD00; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 ; 11 is brown, 10 is tan, 01 iis 11 is tan, 10 is grey, 01 is red .byte %01111010,%00000000,%11111010,%11101011,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111010,$00,%00000001,%11101000,%00000000,%00000001,%11101000,%00000000,#$00,#$00,#$00,#$00,%11111111,%11111111,%00000000,%00101101,%00011111,%01100100,%00000000,%00000000,%00000000,%00000000,%10100000,%00001010,%00000000,%00000000 org $aE00; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11; 11 is brown, 10 is tan, 01 is 1 is br 11 is tan, 10 is grey, 01 is red .byte %01010101,%00000000,%00000101,%01010100,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01010101,$00,%00000001,%01010100,%00000000,%00000001,%01010100,%00000000,#$00,#$00,#$00,#$00,%00001111,%11110000,%00000000,%00011101,%00010101,%10111101,%00000000,%00000000,%00000000,%00000000,%10100000,%00001010,%00000000,%00000000 org $aF00; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red,01 is white, 10 is gray, 11 is black,01 is white, 10 is gray, 11 is black; 11 is tan, 10 is white, 01 is red; 11 ; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is grey, 01 is red .byte %01000100,%01000000,%00000100,%01000100,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01000100,$40,%00000001,%00010001,%00000000,%00000001,%00010001,%00000000,#$00,#$00,#$00,#$00,%00000011,%11000000,%00000000,%00000101,%00000000,%10010101,%00000000,%00000000,%00000000,%00000000,%00100000,%00001000,%00000000,%00000000 org $B000; 11 is brown, 10 is tan, 01 is green; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red org $C000; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000010,%10101000,$00,%10101000,%00000000,%00001010,%00000000,%00000000,%00000000,%00000000,%00111111 org $C100; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%00010100,$00,%00010100,%00000000,%00000000,%10000000,%00001000,%00000001,%01010010,%11000000 org $C200; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%00010100,$00,%10010101,%00000000,%00100001,%01100000,%00000010,%10000101,%01011000,%00111111 org $C300; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%00010100,$00,%00010101,%00000000,%10010101,%01000000,%00000001,%01010101,%00100000,%11000000 org $C400; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%01010101,$00,%01111101,%00000010,%00010101,%01000000,%00000000,%01010101,%01000000,%00111111 org $C500; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%01010101,$00,%01111110,%00000000,%00010101,%01000000,%00000000,%00010101,%01000000,%00000000 org $C600; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00001111,%10100101,$00,%01011010,%00000000,%10100101,%01000000,%00000010,%10010101,%01000000,%11110011 org $C700; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00001111,%10100101,$00,%01101001,%00001111,%10101010,%01000000,%00001111,%10011010,%01111100,%00000000 org $C800; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%01010101,$00,%01101001,%00001111,%00011010,%01101111,%00001111,%00011010,%10111100,%11111111 org $C900; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%11111100,$00,%01010101,%00000000,%00010101,%01101111,%00000000,%00010110,%10000000,%00110011 org $CA00; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%00001101,$00,%00001100,%00000000,%00000011,%00000000,%00000000,%00000011,%00000000,%00001100 org $CB00; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000011,%11110001,$03,%11110001,%00000000,%11111100,%01000000,%00000000,%11111100,%01000000,%00000000 org $CC00; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%00101101,$00,%00101101,%00000000,%00001011,%01000000,%00000000,%00001011,%01000000,%00000000 org $CD00; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%10101101,$00,%10101101,%00000000,%00101011,%01000000,%00000000,%00101011,%01000000,%00000000 org $CE00; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000000,%01010101,$00,%01010101,%00000000,%00010101,%01000000,%00000000,%00010101,%01000000,%00000000 org $CF00; 11 is tan, 10 is white, 01 is red; 11 is tan, 10 is white, 01 is red ------------------ byte %00000001,%00010001,$01,%00010001,%00000000,%01000100,%01000000,%00000000,%01000100,%01000000,%00000000 org $E000; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %00000001,%01000000,%00000001,%01000000,%00000001,%01000000,%00000001,%01000000 org $E100; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %00000101,%01010000,%00000101,%01010000,%00000101,%01010000,%00000101,%01010000 org $E200; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %00010101,%01010100,%00100101,%01010100,%00010101,%01101000,%00010101,%01010100 org $E300; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %00010101,%01010100,%00100101,%01010100,%00010101,%10010100,%00010101,%01010100 org $E400; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %01010101,%10010101,%01011001,%01010101,%01010110,%01010101,%01010110,%10010101 org $E500; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %01010101,%10010101,%01010110,%10010101,%01010110,%01010101,%01010101,%01100101 org $E600; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %00010110,%01010100,%00010101,%01010100,%00010101,%01010100,%00010101,%01011000 org $E700; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tanv byte %00101001,%01010100,%00010101,%01010100,%00010101,%01010100,%00010101,%01011000 org $E800; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %00000101,%01010000,%00000101,%01010000,%00000101,%01010000,%00000101,%01010000 org $E900; 01 is red, 10 is white, 11 is tan; 01 is red, 10 is white, 11 is tan byte %00000001,%01000000,%00000001,%01000000,%00000001,%01000000,%00000001,%01000000 org $F000 Bosstable byte #0; W1 byte #0; W2 byte #0; W3 byte #0; W4 byte #0; W5 byte #0; W6 byte #0; W7 byte #0; W8 byte #0; W9 byte #0; WT Bossinit ldy Level lda LevelIDh,y sbc #$24; 1 = 0, 2 = 1, 3 = 2, etc tay lda Bosstable,y sta Enemytype,x lda #0 sta Enemystat,x sta Enemyhealth,x jmp DONE Test hex 00 hex A0310f hex F0F1F2F3f4f5f6f7f8f9fAfBfCfdfeff Testenemy hex 0000FFE3 hex FF00FF00; 512 blocks org $fff8 .byte $FF ;Region verification .byte $87 ;ROM start $4000 .word #NMI .word #START .word #IRQ