Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- processor 6502
- include "vcs.h"
- include "macro.h"
- SEG.U vars ;variables
- ORG $80
- SpriteXPosition ds 0
- ORG $81
- SpriteYPosition ds 0
- ORG $82
- P0Inputs ds 0
- ORG $83
- SpriteHeight ds 0
- ORG $84
- ColorCycleIndex ds 0
- ORG $85
- TitlePFColor ds 0
- SEG
- ORG $F000
- Reset
- lda #80 ;set playfield color to 80
- sta COLUPF
- lda #56 ;set player 0 sprite color to 56
- sta COLUP0
- lda #%00000000 ; clear out sprite graphics
- sta GRP0
- lda #%00000000 ; clear out playfield graphics
- sta CTRLPF
- lda #96 ; default sprite X position is 96
- sta SpriteXPosition
- lda #64 ; default sprite Y position is 64
- sta SpriteYPosition
- lda #0 ;starting color cycle index
- sta ColorCycleIndex
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Title sequence begins when game is turned on ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- TitleStartOfFrame ; we go back here when we start a new frame
- ; lda #64 ;set playfield color to red
- ; sta COLUPF
- inc ColorCycleIndex
- ldx ColorCycleIndex
- stx COLUPF ;one color increase per frame
- ;reset some variables
- ldx #8 ;8 scanlines of sprite
- stx SpriteHeight
- dex ; iterator
- lda #0
- sta GRP0
- TitleDecreaseP0Y
- ;read the joystick port to move the sprite.
- ;since we need to know if a switch is 0, we OR it against #%00000000.
- ;if a switch is pressed, its bit in A will be off.
- lda SWCHA ;SWCHA = joystick port input
- sta P0Inputs ;store it for later use
- ; is the reset button switched? if so, abort the title screen and go into the game
- TitleCheckReset ;video magic to check if we're going right
- lda #%00000001 ; D0 = RESET
- and SWCHB ; AND A against P0Inputs
- cmp #%00000000 ; compare that to off. if the switch is pressed, everything will be 0.
- beq BeginGame
- TitleRepositionSprite ; no sprites in the title screen dammit!
- TitleDrawFrame
- ; Start of vertical blank processing
- lda #0
- sta VBLANK
- lda #2
- sta VSYNC
- ; 3 scanlines of VSYNCH signal
- sta WSYNC
- sta WSYNC
- sta WSYNC
- lda #0
- sta VSYNC
- ; 37 scanlines of vertical blank
- ldx #0
- TitleVerticalBlank
- sta WSYNC
- inx
- cpx #37
- bne TitleVerticalBlank
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; 192 scanlines of picture...
- TitleDrawBackground ;set up the next frame
- ldx #0 ;black
- stx COLUBK ;background to black
- ldy #0 ;scanline counter starts at 0
- TitleDrawToEnd ;Now do it all in 72 cycles or less!!!
- sta WSYNC ; @0 - wait for TIA to reach next scanline
- lda ColorCycleIndex ;@2 get the color cycling index
- adc ColorCycleIndex,y ;@6 add it with the scanline coounter to produce a cool effect
- sta COLUPF ;@9 and store that in COLUPF
- TitleDrawingSprite ; no sprites in the title screen
- TitleStartDrawingSprite ; no sprites in the title screen
- TitleContinueDrawing ; draw our logo
- lda yos2_STRIP_0,y ; @13 - fetch graphic part 0
- sta PF0 ; @16 - write it to PF0 - between 0 and 22
- lda yos2_STRIP_1,y ; @20 - fetch graphic part 1
- sta PF1 ; @23 - write it to PF1 - between 0 and 28
- lda yos2_STRIP_2,y ; @26 - fetch graphic part 2
- sta PF2 ; @29 - write it to PF2 - between 0 and 38
- ;now we're drawing the right side of the screen
- lda yos2_STRIP_3,y ; @33 - fetch graphic part 3
- sta PF0 ; @36 - write it to PF0 - between 28 and 49
- lda yos2_STRIP_4,y ; @40 - fetch graphic part 4
- sta PF1 ; @43 - write it to PF1 - between 39 and 54
- lda yos2_STRIP_5,y ; @47 - fetch graphic part 5
- sta PF2 ; @50 - write it to PF2 - between 50 and 64
- iny ;y = scanline count @52
- cpy #192 ;are we at line 192 yet? - @54
- bne TitleDrawToEnd ; @57 <---- go start a new scanline
- ;30 lines of overscan
- ldx #0 ;blank
- stx PF0 ;reset PF registers to blank
- stx PF1
- stx PF2
- ldy #0 ;line counter
- TitleOverscanLine
- iny
- sta WSYNC
- cpy #30 ;have we had 30 lines of overscan yet?
- bne TitleOverscanLine
- jmp TitleStartOfFrame ;back to scanline 0
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; main game screen ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- BeginGame
- StartOfFrame ; we go back here when we start a new frame
- lda #80 ;set playfield color to red
- sta COLUPF
- ;reset some variables
- ldx #16 ;8 scanlines of sprite
- stx SpriteHeight
- dex ; iterator
- DecreaseP0Y
- dec SpriteYPosition ;move the sprite up by 8 to counter the effect of what we did below
- dex ; iterator
- cpx #0 ;is the iterator 0?
- bne DecreaseP0Y ;if not, keep doing your thing
- ;read the joystick port to move the sprite.
- ;since we need to know if a switch is 0, we OR it against #%00000000.
- ;if a switch is pressed, its bit in A will be off.
- lda SWCHA ;SWCHA = joystick port input
- sta P0Inputs ;store it for later use
- jsr CheckInputs
- RepositionSprite
- ; inc SpriteXPosition ;increase sprite X position variable
- lda SpriteXPosition ;move it to A
- ldx #0 ;iterator
- cpx #160 ;count to 160
- bcc LT160 ;keep counting until we hit 160
- ldx #0 ;move object 0
- LT160
- jsr PositionSprite ;A = horizontal position (0-159), X = P0/P1
- DrawFrame
- ; Start of vertical blank processing
- lda #0
- sta VBLANK
- lda #2
- sta VSYNC
- ; 3 scanlines of VSYNCH signal
- sta WSYNC
- sta WSYNC
- sta WSYNC
- lda #0
- sta VSYNC
- ; 37 scanlines of vertical blank
- ldx #0
- VerticalBlank
- sta WSYNC
- inx
- cpx #37
- bne VerticalBlank
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- DrawBackground ;set up the next frame
- ldx #0 ;black
- stx COLUBK ;background to black
- ldy #0 ;scanline counter starts at 0
- ldx #16 ;preload X with 8 to save cycles later
- TopOfBoxGraphic
- ; lda #%11111111
- ; sta PF0
- ; sta PF2
- DrawTopOfPlayfieldBox ;draw 16 solid background scanlines at the top of the screen
- sta WSYNC ;@0
- iny ;@2
- lda #%00000000 ;@4
- sta PF0 ;@7
- lda #%00111111 ;@9
- sta PF1 ;@12
- lda #%11111111 ;@14
- sta PF2 ;@17
- sleep 12 ;@33
- lda #%11111111 ;@35
- sta PF0 ;@38
- sta PF1 ;@41
- sleep 22 ;@63
- lda #%00011111 ;@65
- sta PF2 ;@68
- cpy #16 ;@70
- bne DrawTopOfPlayfieldBox ;@70
- DrawToEnd ;Now do it all in 72 cycles or less!!!
- sta WSYNC ; @0 - wait for TIA to reach next scanline
- lda #%00111000 ;@2 left side of the box
- sta PF1 ;@5 write that to the register
- lda #%00000000 ; @7 - disable the sprite graphic if it's enabled
- sta GRP0 ; @10 - write that to player graphic register
- sta PF2 ;@13
- cpy SpriteYPosition ; @15 - are we on the scanline where the sprite starts?
- bne ContinueDrawing ; @18 - if not, continue drawing the background
- DrawingSprite ; if we are...
- dex ;@20 - x is preloaded with 8 to produce an 8-high sprite
- cpx #0 ;@22 - have we drawn the sprite for 8 scanlines?
- beq ContinueDrawing ;@25 - if so, don't draw it anymore
- StartDrawingSprite ; draw one line of sprite
- inc SpriteYPosition ; @27 - increase SpriteYPosition so we draw the sprite on the next scanline too
- lda #%11111111 ; @29 - our sprite data
- sta GRP0 ; @32 - put the sprite data into a register
- ContinueDrawing
- ;now we're drawing the right side of the screen
- ;;;;;
- sleep 6 ;@25/32/39 ; 6 cycles to use here
- ;;;;;
- lda #%00000000 ;@27/34/41
- sta PF0 ;@30/37/44
- sta PF1
- lda #%00011100 ;@32/39/46
- ;;;;;;
- sleep 12 ; 12 cycles to use here
- ;;;;;;
- sta PF2 ;@35/42/49
- iny ;y = scanline count @37/44/51
- cpy #176 ;are we at line 176 yet? - @39/46/53
- ;;;;;;
- ; 20 cycles to use here
- ;;;;;;
- bne DrawToEnd ; @42/49/56 <---- go start a new scanline
- BottomOfBoxGraphic
- ; lda #%11111111
- ; sta PF0
- ; sta PF2
- DrawBottomOfPlayfieldBox ;draw 16 solid background scanlines at the top of the screen
- sta WSYNC ;@0
- iny ;@2
- lda #%00000000 ;@4
- sta PF0 ;@7
- lda #%00111111 ;@9
- sta PF1 ;@12
- lda #%11111111 ;@14
- sta PF2 ;@17
- sleep 12 ;@33
- lda #%11111111 ;@35
- sta PF0 ;@38
- sta PF1 ;@41
- sleep 22 ;@63
- lda #%00011111 ;@65
- sta PF2 ;@68
- cpy #192 ;@68
- bne DrawBottomOfPlayfieldBox ;@71
- ;30 lines of overscan
- ldx #0 ;blank
- stx PF0 ;reset PF registers to blank
- stx PF1
- stx PF2
- ldy #0 ;line counter
- OverscanLine
- iny
- sta WSYNC
- cpy #30 ;have we had 30 lines of overscan yet?
- bne OverscanLine
- jmp StartOfFrame ;back to scanline 0
- ; I didn't write any of this stuff below
- PositionSprite
- sec ;doing this before so that I have more time
- ;during the next scanline.
- sta WSYNC ;begin line 1
- DivideLoop
- sbc #15
- bcs DivideLoop ;+4/5 4/9.../54
- tay ;+2 6
- lda FineAdjustTableEnd,Y ;+5 11
- nop
- nop ;+4 15/20/etc. - 4 free cycles!
- sta HMP0,X ;+4 19/24/...
- sta RESP0,X ;+4 23/28/33/38/43/48/53/58/63/68/73
- sta WSYNC ;+3 0 begin line 2
- sta HMOVE ;+3
- rts ;+6 9
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Check the inputs subroutine
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- CheckInputs subroutine
- ;Check the joysticks, 1 = off, 0 = on. thanks atari
- .CheckP0Right ;video magic to check if we're going right
- lda #%10000000 ; D7 = P0 right
- and P0Inputs ; AND A against P0Inputs
- cmp #%00000000 ; compare that to off. if the switch is pressed, everything will be 0.
- bne .CheckP0Left
- inc SpriteXPosition ;increase the sprite's X position by 1.
- .CheckP0Left
- lda #%01000000 ; D6 = P0 left
- and P0Inputs ; AND A against P0Inputs
- cmp #%00000000 ; see if it's pressed
- bne .CheckP0Down
- dec SpriteXPosition ;decrease sprite's X position by 1.
- .CheckP0Down
- lda #%00100000 ; D5 = P0 down.
- and P0Inputs ; AND A against P0Inputs
- cmp #%00000000 ; see if it's pressed
- bne .CheckP0Up
- inc SpriteYPosition ;increase sprite's Y position by 1 to move it down a scanline.
- .CheckP0Up
- lda #%00010000 ; D4 = P0 up.
- and P0Inputs ; AND A against P0Inputs
- cmp #%00000000 ; see if it's pressed
- bne .MoveSprite
- dec SpriteYPosition ;decrease sprite's Y position by 1 to move it up a scanline.
- .MoveSprite
- ; 192 scanlines of picture.
- ; We want a buffer zone on the left and right of our 160-wide screen. So...
- .CheckOver128 ;are we moving the sprite to the right of 128?
- ldx SpriteXPosition
- cpx #128 ;compare X position to 128
- bne .CheckUnder0
- .SpriteRightBound ;if so, move us left one unit
- ldy #127 ;set our Y to 127.
- sty SpriteXPosition
- jmp .CheckUpperBound ;if we're right, we're not left
- .CheckUnder0 ;are we moving the sprite to the left of 36?
- ;x should be SpriteXPosition
- cpx #36 ;compare X position to 32.
- bne .CheckUpperBound
- .SpriteLeftBound ;if so, move us right one unit
- ldx #37 ;set our X to 33.
- stx SpriteXPosition
- ;jmp .CheckUpperBound ;if we're left, we're not right
- .CheckUpperBound ;are we too high?
- ldy SpriteYPosition
- cpy #16 ;are we on scanline 16?
- bne .CheckLowerBound ;if not too high, are we too low?
- .SpriteUpperBound ;if so, lower us
- ldx #17 ;set our Y to 1.
- stx SpriteYPosition
- ;jmp RepositionSprite ;if we're too high, we're not too low
- rts ;if we're too high, we're not too low
- .CheckLowerBound ;are we too low?
- ;y should be SpriteYPosition
- cpy #160 ;are we on scanline 176?
- ;bne RepositionSprite
- beq .SpriteLowerBound
- rts ; end of routine
- .SpriteLowerBound ;if so, raise us
- ldx #159 ;set our Y to 175.
- stx SpriteYPosition
- rts ; end of player positioning routine
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;our background graphic
- yos2
- yos2_STRIP_0
- .byte 0
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .byte 128
- .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
- .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
- .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
- .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
- .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
- .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
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- yos2_STRIP_1
- .byte 0
- .byte 23
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 20
- .byte 244
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 68
- .byte 71
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 62
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 60
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 34
- .byte 62
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- yos2_STRIP_2
- .byte 0
- .byte 251
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 10
- .byte 250
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 251
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 223
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 31
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- yos2_STRIP_3
- .byte 0
- .byte 224
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 224
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 112
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 16
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- yos2_STRIP_4
- .byte 0
- .byte 223
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 81
- .byte 209
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 17
- .byte 31
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 250
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 131
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 130
- .byte 250
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- yos2_STRIP_5
- .byte 0
- .byte 62
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 2
- .byte 62
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 32
- .byte 62
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 7
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 4
- .byte 0
- .byte 0
- .byte 0
- .byte 0
- ;end
- org $FF00
- FineAdjustTableBegin
- .byte %01100000 ;left 6
- .byte %01010000
- .byte %01000000
- .byte %00110000
- .byte %00100000
- .byte %00010000
- .byte %00000000 ;left/right 0
- .byte %11110000
- .byte %11100000
- .byte %11010000
- .byte %11000000
- .byte %10110000
- .byte %10100000
- .byte %10010000
- .byte %10000000 ;right 8
- FineAdjustTableEnd = FineAdjustTableBegin - 241
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; interrupt vectors ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ORG $FFFA
- .word Reset ; NMI
- .word Reset ; RESET
- .word Reset ; IRQ
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement