processor 6502 include vcs.h include macro.h SEG.U VARS ORG $80 P0_YPosFromBot ds 2 P0_Y ds 1 P0_Ptr ds 2 SEG CODE org $F000 GHOST_SPEED = #200 P0HEIGHT = 8 Start CLEAN_START lda #$00 ;start with a black background sta COLUBK lda #$0F ;bright white sta COLUP0 ;Setting some variables... lda #12 sta P0_YPosFromBot+1 ;Initial Y Position lda #>GhostGraphic ;grab the hight byte of the graphic location for score graphics.... sta P0_Ptr+1 ;2 byte MainLoop VERTICAL_SYNC lda #43 sta TIM64T ldx #0 lda #%01000000 ;Left? bit SWCHA bne SkipMoveLeft ldx #$10 ;a 1 in the left nibble means go left lda #%00001000 ;a 1 in D3 of REFP0 says make it mirror sta REFP0 SkipMoveLeft lda #%10000000 ;Right? bit SWCHA bne SkipMoveRight ldx #$F0 ;a -1 in the left nibble means go right... lda #%00000000 sta REFP0 ;unmirror it SkipMoveRight stx HMP0 ;set the move for player 0, not the missile like last time... ; for up and down, we INC or DEC ; the Y Position lda #%00010000 ;Down? bit SWCHA bne SkipMoveDown clc lda P0_YPosFromBot adc #GHOST_SPEED sta P0_YPosFromBot+1 ; inc P0_YPosFromBot+1 SkipMoveDown lda #%00100000 ;Up? bit SWCHA bne SkipMoveUp ; dec P0_YPosFromBot+1 sec lda P0_YPosFromBot sbc #GHOST_SPEED sta P0_YPosFromBot+1 SkipMoveUp ldx INPT4 bmi MouthIsClosed MouthIsOpen lda #