diff --git a/asm_routines/gr_fast_clear.s b/asm_routines/gr_fast_clear.s index 796b985a..e291e63f 100644 --- a/asm_routines/gr_fast_clear.s +++ b/asm_routines/gr_fast_clear.s @@ -152,6 +152,7 @@ clear_screens_notext: ; clear_all ;========================================================= ; clear 48 rows + ; clear color: clear_all_color+1 clear_all: clc ; 2 diff --git a/still_alive/interrupt_handler.s b/still_alive/interrupt_handler.s index f18a91fd..4012985c 100644 --- a/still_alive/interrupt_handler.s +++ b/still_alive/interrupt_handler.s @@ -239,51 +239,13 @@ done_interrupt: ;===================== - ; Update time counter + ; Update frame count ;===================== update_time: inc FRAME_COUNT ; 5 lda FRAME_COUNT ; 3 cmp #50 ; 3 - bne done_time ; 3/2nt - lda #$0 ; 2 - sta FRAME_COUNT ; 3 - -update_second_ones: - inc $7d0+TIME_OFFSET+3 ; 6 - inc $bd0+TIME_OFFSET+3 ; 6 - lda $bd0+TIME_OFFSET+3 ; 4 - cmp #$ba ; one past '9' ; 2 - bne done_time ; 3/2nt - lda #'0'+$80 ; 2 - sta $7d0+TIME_OFFSET+3 ; 4 - sta $bd0+TIME_OFFSET+3 ; 4 -update_second_tens: - inc $7d0+TIME_OFFSET+2 ; 6 - inc $bd0+TIME_OFFSET+2 ; 6 - lda $bd0+TIME_OFFSET+2 ; 4 - cmp #$b6 ; 6 (for 60 seconds) ; 2 - bne done_time ; 3/2nt - lda #'0'+$80 ; 2 - sta $7d0+TIME_OFFSET+2 ; 4 - sta $bd0+TIME_OFFSET+2 ; 4 -update_minutes: - inc $7d0+TIME_OFFSET ; 6 - inc $bd0+TIME_OFFSET ; 6 - ; we don't handle > 9:59 songs yet -done_time: - ;============= - ; 90 worst - - - ;================================= - ; Moved visualization here as a hack - ;================================= - - ;============================ - ; Visualization - ;============================ check_keyboard: @@ -292,26 +254,12 @@ check_keyboard: beq exit_interrupt cmp #(' '+$80) - bne key_left + bne done_key key_space: lda #$80 eor DONE_PLAYING jmp quiet_exit -key_left: - cmp #'A' - bne key_right - - lda #$40 - bne quiet_exit - -key_right: - cmp #'D' - bne done_key - - lda #$20 - bne quiet_exit - done_key: jmp exit_interrupt diff --git a/still_alive/still_alive.s b/still_alive/still_alive.s index dd9a06cb..ca3802a4 100644 --- a/still_alive/still_alive.s +++ b/still_alive/still_alive.s @@ -48,12 +48,6 @@ NUM_FILES EQU 15 jmp forever_loop ; and wait forever mockingboard_found: -; lda #found_message -; sta OUTH -; inc CV -; jsr move_and_print ;============================ ; Init the Mockingboard @@ -103,17 +97,24 @@ mockingboard_found: ; Draw title screen ;============================ - lda #$4 ; draw page 1 + + ;=========================== + ; clear both screens + ;=========================== + + ; Clear text page0 + + lda #0 sta DRAW_PAGE - - jsr clear_screens ; clear both screens - + lda #(' '+$80) + sta clear_all_color+1 + jsr clear_all ;================== - ; load first song + ; load song ;================== - jsr new_song + jsr load_song ;============================ ; Init Background @@ -188,10 +189,10 @@ forever_loop: ;================= - ; load a new song + ; load our song ;================= -new_song: +load_song: ;========================= ; Init Variables @@ -208,24 +209,6 @@ new_song: lda #3 sta CHUNKSIZE - ;=========================== - ; Print loading message - ;=========================== - - jsr clear_bottoms ; clear bottom of page 0/1 - - lda #0 ; print LOADING message - sta CH - lda #21 - sta CV - - lda #loading_message - sta OUTH - jsr print_both_pages - - ;=========================== ; Load in KRW file ;=========================== @@ -236,17 +219,6 @@ new_song: lda #>krw_file sta INH - lda #8 - sta CH - lda #21 - sta CV - - lda INL - sta OUTL - lda INH - sta OUTH - jsr print_both_pages - disk_buff EQU LZ4_BUFFER read_size EQU $4000 @@ -385,8 +357,6 @@ krw_file: ;========= mocking_message: .asciiz "LOOKING FOR MOCKINGBOARD IN SLOT #4" not_message: .byte "NOT " -found_message: .asciiz "FOUND" -;done_message: .asciiz "DONE PLAYING" loading_message: .asciiz "LOADING" .include "ascii_art.inc"