processor 6502 SEG.U vars ORG $0 MAXTILES = 128 TILESPERFRAME = 47 xposPtr ds 2 yposPtr ds 2 currdirPtr ds 2 tempVar1 ds 1 tempVar2 ds 1 rnd ds 1 frameCount ds 1 ORG $200 XPOS ds MAXTILES YPOS ds MAXTILES ORG $300 CURRDIR ds MAXTILES ORG $400 LASTTIH ds TILESPERFRAME LASTTIL ds TILESPERFRAME LIFETIH ds TILESPERFRAME LIFETIL ds TILESPERFRAME CURRVAL ds TILESPERFRAME SEG GAME ; iNES header ORG $BFF0 dc.b "NES",$1a dc.b $01 ; 1 16K PRG ROM dc.b $01 ; 1 8K CHR ROM dc.b $00 ; Mapper 0 NROM ; Binary Start org $c000, 0 RESET: SEI ; disable IRQs CLD ; disable decimal mode LDX #$40 STX $4017 ; disable APU frame IRQ LDX #$FF TXS ; Set up stack INX ; now X = 0 STX $2000 ; disable NMI STX $2001 ; disable rendering STX $4010 ; disable DMC IRQs vblankwait1: ; First wait for vblank to make sure PPU is ready BIT $2002 BPL vblankwait1 vblankwait2: ; Second wait for vblank, PPU is ready after this BIT $2002 BPL vblankwait2 LoadPalettes: LDA $2002 ; read PPU status to reset the high/low latch LDA #$3F STA $2006 ; write the high byte of $3F00 address LDA #$00 STA $2006 ; write the low byte of $3F00 address LDX #$00 ; start out at 0 LoadPalettesLoop: LDA palette,x ; load data from address (palette + the value in x) STA $2007 ; write to PPU INX ; X = X + 1 CPX #$20 ; Compare X to hex $10, decimal 16 - copying 16 bytes = 4 sprites BNE LoadPalettesLoop ; Branch to LoadPalettesLoop if compare was Not Equal to zero ; if compare was equal to 32, keep going down LoadSprites: LDX #$00 ; start at 0 LoadSpritesLoop: LDA sprites,x ; load data from address (sprites + x) STA $0200,x ; store into RAM address ($0200 + x) INX ; X = X + 1 CPX #$10 ; Compare X to hex $10, decimal 16 BNE LoadSpritesLoop ; Branch to LoadSpritesLoop if compare was Not Equal to zero ; if compare was equal to 16, keep going down LDA $2002 ; read PPU status to reset the high/low latch LDA #$20 STA $2006 ; write the high byte of $2000 address LDA #$00 STA $2006 ; write the low byte of $2000 address LDY #03 LDX #$00 LDA #$FF WriteTile STA $2007 ; write to PPU INX BNE WriteTile DEY BPL WriteTile ; Randomly fill attributes LDA $2002 ; read PPU status to reset the high/low latch LDA #$23 STA $2006 ; write the high byte of $3F00 address LDA #$C0 STA $2006 ; write the low byte of $3F00 address LDX #$3F ; start out at 0 FillAttributes JSR Random STA $2007 ; write to PPU DEX BNE FillAttributes LDX #MAXTILES-1 InitDots JSR Random LSR ADC #64 STA XPOS,X JSR Random STA CURRDIR,X JSR Random LSR ADC #64 STA YPOS,X DEX BPL InitDots LDA #XPOS STA xposPtr+1 LDA #YPOS STA yposPtr+1 LDA #CURRDIR STA currdirPtr+1 LDA #0 STA frameCount LDA #%10001000 ; enable NMI, sprites from Pattern Table 0, background from Pattern Table 1 STA $2000 LDA #%00011110 ; enable sprites, enable background, no clipping on left side STA $2001 Forever: JMP Forever ;jump back to Forever, infinite loop NMI: ; LDA #$00 ; STA $2003 ; set the low byte (00) of the RAM address ; LDA #$02 ; STA $4014 ; set the high byte (02) of the RAM address, start the transfer ; ; ;LatchController: ; LDA #$01 ; STA $4016 ; LDA #$00 ; STA $4016 ; tell both the controllers to latch buttons ; ; ;ReadA: ; LDA $4016 ; player 1 - A ; AND #%00000001 ; only look at bit 0 ; BEQ ReadADone ; branch to ReadADone if button is NOT pressed (0) ; ; add instructions here to do something when button IS pressed (1) ; LDA $0203 ; load sprite X position ; CLC ; make sure the carry flag is clear ; ADC #$01 ; A = A + 1 ; STA $0203 ; save sprite X position ;ReadADone: ; handling this button is done ; ; ;Re.byte: ; LDA $4016 ; player 1 - B ; AND #%00000001 ; only look at bit 0 ; BEQ Re.byteDone ; branch to Re.byteDone if button is NOT pressed (0) ; ; add instructions here to do something when button IS pressed (1) ; LDA $0203 ; load sprite X position ; SEC ; make sure carry flag is set ; SBC #$01 ; A = A - 1 ; STA $0203 ; save sprite X position ;Re.byteDone: ; handling this button is done ; Clear old and draw new tiles during VBLANK LDA $2002 LDY #$FF LDX #TILESPERFRAME-1 DrawTile LDA LASTTIH,X STA $2006 LDA LASTTIL,X STA $2006 STY $2007 ; Clear old tile LDA LIFETIH,X STA $2006 LDA LIFETIL,X STA $2006 LDA CURRVAL,X STA $2007 ; Draw new tile DEX BPL DrawTile ;;This is the PPU clean up section, so rendering the next frame starts properly. LDA #%10001000 ; enable NMI, sprites from Pattern Table 0, background from Pattern Table 1 STA $2000 LDA #%00011110 ; enable sprites, enable background, no clipping on left side STA $2001 LDA #$00 ;;tell the ppu there is no background scrolling STA $2005 STA $2005 ; Advance to next frame INC frameCount LDA frameCount AND #$01 TAX LDA TILEINDEXOFFSETLO,X STA xposPtr STA currdirPtr LDA TILEINDEXOFFSETHI,X STA yposPtr LDY #TILESPERFRAME-1 NextPixel TYA AND #1 LSR ROR LSR STA tempVar2 ; Move all dots LDA (currdirPtr),Y LSR LSR TAX BCS MoveUp LDA (yposPtr),Y CMP #231 BNE NoRev1 SEC SBC #1 STA (yposPtr),Y LDA (currdirPtr),Y EOR #2 STA (currdirPtr),Y JMP Sideways NoRev1 ADC #1 STA (yposPtr),Y JMP Sideways MoveUp LDA (yposPtr),Y CMP #8 BNE NoRev2 CLC ADC #1 STA (yposPtr),Y LDA (currdirPtr),Y EOR #2 STA (currdirPtr),Y JMP Sideways NoRev2 SBC #1 STA (yposPtr),Y Sideways TXA LSR BCS MoveLeft LDA (xposPtr),Y CMP #255 BNE NoRev3 SEC SBC #1 STA (xposPtr),Y LDA (currdirPtr),Y EOR #4 STA (currdirPtr),Y JMP MovementDone NoRev3 ADC #1 STA (xposPtr),Y JMP MovementDone MoveLeft LDA (xposPtr),Y CMP #0 BNE NoRev4 CLC ADC #1 STA (xposPtr),Y LDA (currdirPtr),Y EOR #4 STA (currdirPtr),Y JMP MovementDone NoRev4 SBC #1 STA (xposPtr),Y MovementDone ; Calc all dot and tile updates LDA LIFETIH,Y STA LASTTIH,Y LDA LIFETIL,Y STA LASTTIL,Y ; Tile Low Byte 1 LDA (yposPtr),Y TAX ASL ASL AND #%11100000 STA tempVar1 ; Tile High Byte TXA ROL ROL ROL AND #3 CLC ADC #$20 STA LIFETIH,Y ; Tile Low Byte 2 LDA (xposPtr),Y LSR LSR LSR ORA tempVar1 STA LIFETIL,Y ; Tile # TXA AND #%00000111 ASL ASL ASL STA tempVar1 LDA (xposPtr),Y AND #%00000111 ORA tempVar1 ORA tempVar2 STA CURRVAL,Y DEY BPL ContinueLoop RTI ; return from interrupt ContinueLoop JMP NextPixel ;;;;;;;;;;;;;; Random LDA rnd BNE .skipInit LDA #$FF .skipInit: ASL ASL ASL EOR rnd ASL ROL rnd RTS .org $E000 palette: .byte $3F,$21,$22,$23, $3F,$25,$36,$3B, $3F,$28,$29,$2A, $3F,$2C,$3D,$10 ;;background palette .byte $3F,$00,$00,$00, $3F,$00,$00,$00, $3F,$00,$00,$00, $3F,$00,$00,$00 ;;sprite palette sprites: ;vert tile attr horiz .byte $80, $32, $00, $80 ;sprite 0 .byte $80, $33, $00, $88 ;sprite 1 .byte $88, $34, $00, $80 ;sprite 2 .byte $88, $35, $00, $88 ;sprite 3 .org $F000 TILEINDEXOFFSETLO .byte 0*TILESPERFRAME, 1*TILESPERFRAME TILEINDEXOFFSETHI .byte 2*TILESPERFRAME, 3*TILESPERFRAME org $FFFA ;first of the three vectors starts here dc.w NMI ;when an NMI happens (once per frame if enabled) the ;processor will jump to the label NMI: dc.w RESET ;when the processor first turns on or is reset, it will jump ;to the label RESET: dc.w 0 ;external interrupt IRQ is not used in this tutorial SEG CHR ROM ORG $10000 .byte %10000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %01000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00100000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00010000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00001000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000100, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000010, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000001, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %10000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %01000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00100000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00010000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00001000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000100, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000010, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000001, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %10000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %01000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00100000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00010000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00001000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000100, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000010, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000001, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %10000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %01000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00100000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00010000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00001000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000100, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000010, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000001, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %10000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %01000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00100000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00010000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00001000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000100, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000010, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000001, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %10000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %01000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00100000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00010000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00001000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000100, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000010, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000001, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %10000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %01000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00100000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00010000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00001000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000100, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000010, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000001, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %10000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %01000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00100000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00010000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00001000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000100 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000010 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000001 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %10000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %10000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %01000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %01000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00100000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00100000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00010000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00010000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00001000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00001000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000100, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000100, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000010, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000010, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000001, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000001, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %10000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %10000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %01000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %01000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00100000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00100000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00010000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00010000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00001000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00001000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000100, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000100, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000010, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000010, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000001, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000001, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %10000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %10000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %01000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %01000000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00100000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00100000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00010000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00010000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00001000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00001000, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000100, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000100, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000010, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000010, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000001, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000001, %00000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %10000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %10000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %01000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %01000000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00100000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00100000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00010000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00010000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00001000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00001000, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000100, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000100, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000010, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000010, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000001, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000001, %00000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %10000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %10000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %01000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %01000000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00100000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00100000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00010000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00010000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00001000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00001000, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000100, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000100, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000010, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000010, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000001, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000001, %00000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %10000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %10000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %01000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %01000000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00100000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00100000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00010000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00010000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00001000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00001000, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000100, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000100, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000010, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000010, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000001, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000001, %00000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %10000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %10000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %01000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %01000000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00100000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00100000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00010000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00010000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00001000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00001000, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000100, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000100, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000010, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000010, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000001, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000001, %00000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %10000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %10000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %01000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %01000000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00100000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00100000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00010000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00010000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00001000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00001000 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000100 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000100 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000010 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000010 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000001 .byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000000, %00000001 ORG $12000-1,0 .byte %00000000