diff --git a/chiptune_player/README.chiptune b/chiptune_player/README.chiptune index 04828b07..c5395ef8 100644 --- a/chiptune_player/README.chiptune +++ b/chiptune_player/README.chiptune @@ -4,6 +4,7 @@ Challenges found writing an Apple II chiptune player http://www.deater.net/weave/vmwprod/chiptune/ ==================================================== + 27 February 2018 GOAL: ~~~~~ @@ -21,7 +22,10 @@ USING: Applewin works fine (even under Wine on Linux). MESS does too, it's harder to setup (ROMs) but the audio sounds clearer. - Space pauses, Left/Right arrow switches songs. + Key bindings: + Spacebar -- pauses + Left/Right arrow -- switches songs + R -- enables/disables rasterbars You can load up your own YM5 files. Get the "ym5_to_krw" utility found in the repository https://github.com/deater/vmw-meter/ diff --git a/chiptune_player/chiptune_player.dsk b/chiptune_player/chiptune_player.dsk index c4b9e10b..3939686b 100644 Binary files a/chiptune_player/chiptune_player.dsk and b/chiptune_player/chiptune_player.dsk differ diff --git a/chiptune_player/chiptune_player.s b/chiptune_player/chiptune_player.s index fb02b14d..893d8702 100644 --- a/chiptune_player/chiptune_player.s +++ b/chiptune_player/chiptune_player.s @@ -26,6 +26,9 @@ NUM_FILES EQU 15 sta MB_CHUNK_OFFSET sta DECODE_ERROR + lda #$ff + sta RASTERBARS_ON + lda #14 ; start at WAVE sta WHICH_FILE diff --git a/chiptune_player/interrupt_handler.s b/chiptune_player/interrupt_handler.s index 36d42fd5..d2b3a346 100644 --- a/chiptune_player/interrupt_handler.s +++ b/chiptune_player/interrupt_handler.s @@ -266,7 +266,10 @@ done_interrupt: ;============================ jsr clear_top + lda RASTERBARS_ON + beq skip_rasters jsr draw_rasters +skip_rasters: jsr volume_bars jsr page_flip @@ -278,12 +281,21 @@ check_keyboard: beq exit_interrupt cmp #(' '+$80) - bne key_left + bne key_R key_space: lda #$80 eor DONE_PLAYING jmp quiet_exit +key_R: + cmp #'R' + bne key_left + + lda #$ff + eor RASTERBARS_ON + sta RASTERBARS_ON + jmp done_key + key_left: cmp #'A' bne key_right diff --git a/chiptune_player/zp.inc b/chiptune_player/zp.inc index 8e6761e6..fff64073 100644 --- a/chiptune_player/zp.inc +++ b/chiptune_player/zp.inc @@ -109,6 +109,7 @@ WHICH_FILE EQU $8A ;LAST_MAP_COLOR EQU $89 ;DRAW_SKY EQU $8A COLOR_MASK EQU $8B +RASTERBARS_ON EQU $8C ;KEY_COUNT EQU $8C ;KEY_OFFSET EQU $8D ;DRAW_BLUE_SKY EQU $8E