diff --git a/chiptune_player/interrupt_handler.s b/chiptune_player/interrupt_handler.s index 05240ae9..68a3e2f0 100644 --- a/chiptune_player/interrupt_handler.s +++ b/chiptune_player/interrupt_handler.s @@ -81,9 +81,9 @@ mb_not_13: lda #MOCK_AY_LATCH_ADDR ; latch_address for PB1 ; 2 sta MOCK_6522_ORB1 ; latch_address on PB1 ; 4 sta MOCK_6522_ORB2 ; latch_address on PB2 ; 4 - lda #MOCK_AY_INACTIVE ; go inactive ; 2 - sta MOCK_6522_ORB1 ; 4 - sta MOCK_6522_ORB2 ; 4 + ldy #MOCK_AY_INACTIVE ; go inactive ; 2 + sty MOCK_6522_ORB1 ; 4 + sty MOCK_6522_ORB2 ; 4 ; value lda REGISTER_DUMP,X ; load register value ; 4 @@ -91,12 +91,11 @@ mb_not_13: sta MOCK_6522_ORA2 ; put value on PA2 ; 4 lda #MOCK_AY_WRITE ; ; 2 sta MOCK_6522_ORB1 ; write on PB1 ; 4 + sty MOCK_6522_ORB1 ; 4 sta MOCK_6522_ORB2 ; write on PB2 ; 4 - lda #MOCK_AY_INACTIVE ; go inactive ; 2 - sta MOCK_6522_ORB1 ; 4 - sta MOCK_6522_ORB2 ; 4 + sty MOCK_6522_ORB2 ; 4 ;=========== - ; 62 + ; 60 mb_no_write: inx ; point to next register ; 2 cpx #14 ; if 14 we're done ; 2 diff --git a/xmas_2019/loader.s b/xmas_2019/loader.s index f2f6a371..e01062f9 100644 --- a/xmas_2019/loader.s +++ b/xmas_2019/loader.s @@ -406,9 +406,9 @@ L7: ; should automate this somehow - lda #<($2000+6247+11-8) + lda #<($2000+6279+11-8) sta LZ4_END - lda #>($2000+6247+11-8) + lda #>($2000+6279+11-8) sta LZ4_END+1 lda #$40 ; load to $4000 diff --git a/xmas_2019/music/jingle_fast.pt3 b/xmas_2019/music/jingle_fast.pt3 index af9e0fcc..dc7acc1b 100644 Binary files a/xmas_2019/music/jingle_fast.pt3 and b/xmas_2019/music/jingle_fast.pt3 differ diff --git a/xmas_2019/xmas2019.dsk b/xmas_2019/xmas2019.dsk index 8f301bb1..961bced2 100644 Binary files a/xmas_2019/xmas2019.dsk and b/xmas_2019/xmas2019.dsk differ diff --git a/xmas_2019/xmas2019.s b/xmas_2019/xmas2019.s index 2580ee77..57651438 100644 --- a/xmas_2019/xmas2019.s +++ b/xmas_2019/xmas2019.s @@ -108,6 +108,25 @@ TREESIZE = 12 bit LORES bit PAGE0 + + ;=========================== + ; Check for Apple IIe + ;=========================== + ; fonts are offset so patch to make scroll effect same on II+ + + lda $FBB3 ; IIe and newer is $06 + cmp #6 + bne apple_ii_regular + + lda #$54 + sta tl_smc1+1 + lda #$55 + sta tl_smc2+1 + +apple_ii_regular: + + + ;========================= ; set up sound ;========================= @@ -188,7 +207,10 @@ snow_init_loop: lda #$8 jsr load_rle_gr + jmp blah_align +.align $100 +blah_align: ;========================================================== ;========================================================== @@ -243,6 +265,7 @@ top_loop: ; even lines PAGE1 bit SET_TEXT ; 4 bit LORES ; 4 +tl_smc1: bit PAGE1 ; 4 ; 65-12 = 53 - 25 - 2 = 26 lda #26 ; 2 @@ -251,6 +274,7 @@ top_loop: ; odd lines PAGE0 bit SET_TEXT ; 4 bit LORES ; 4 +tl_smc2: bit PAGE0 ; 4 ; 65-12 = 53 - 25 - 2 -2 -3 =21 lda #21 ; 2 @@ -267,12 +291,12 @@ top_loop: middle_loop: + bit PAGE0 ; 4 bit SET_GR ; 4 bit HIRES ; 4 - ; 23 + ; 19 - lda COLOR ; 3 - lda COLOR ; 3 + nop lda COLOR ; 3 lda COLOR ; 3 lda COLOR ; 3 @@ -288,11 +312,12 @@ middle_loop: nop nop nop - nop + lda COLOR bit HIRES ; 4 ; 5cycles nop - lda COLOR + ;lda COLOR + nop lda COLOR ; 3 nop