diff --git a/asm_routines/dos33_routines.s b/asm_routines/dos33_routines.s index 8788ab7f..98d4aae4 100644 --- a/asm_routines/dos33_routines.s +++ b/asm_routines/dos33_routines.s @@ -2,16 +2,18 @@ ; "Beneath Apple DOS" by Don Worth and Pieter Lechner ; FIXME: make these a parameter +; filename disk_buff EQU $6000 read_size EQU $2A00 ; (3*256*14) ;; For the disk-read code -;RWTSH EQU $F1 -;RWTSL EQU $F0 -;DOSBUFH EQU $EF -;DOSBUFL EQU $EE -;FILEMH EQU $ED -;FILEML EQU $EC +;RWTSL EQU $F0 +;RWTSH EQU $F1 +;DOSBUFL EQU $EE +;DOSBUFH EQU $EF +;FILEML EQU $EC +;FILEMH EQU $ED + ;; DOS Constants OPEN EQU $01 @@ -221,10 +223,10 @@ dos33_read: sta (FILEML),y ldy #6 ; point to number of bytes to read - lda #>read_size + lda #read_size sta (FILEML),y ldy #8 ; buffer address diff --git a/chiptune_player/Makefile b/chiptune_player/Makefile index 24fe3788..24688242 100644 --- a/chiptune_player/Makefile +++ b/chiptune_player/Makefile @@ -7,7 +7,8 @@ all: chiptune_player.dsk chiptune_player.dsk: CHIPTUNE_PLAYER OUT.0 $(DOS33) -y chiptune_player.dsk BSAVE -a 0x1000 CHIPTUNE_PLAYER - $(DOS33) -y chiptune_player.dsk BSAVE -a 0x6000 OUT.0 + $(DOS33) -y chiptune_player.dsk SAVE B OUT.0 +# $(DOS33) -y chiptune_player.dsk BSAVE -a 0x6000 OUT.0 CHIPTUNE_PLAYER: chiptune_player.o diff --git a/chiptune_player/OUT.0 b/chiptune_player/OUT.0 index 3a887fd5..5a9c3b1f 100644 Binary files a/chiptune_player/OUT.0 and b/chiptune_player/OUT.0 differ diff --git a/chiptune_player/TODO b/chiptune_player/TODO index 749e2854..41ba9bd6 100644 --- a/chiptune_player/TODO +++ b/chiptune_player/TODO @@ -1,5 +1,4 @@ -+ Load from disk -+ Starfield ++ Starfield -- takes too much ram (3k+) + Volume Bars + Print Descriptive Text + Print time diff --git a/chiptune_player/chiptune_player.s b/chiptune_player/chiptune_player.s index 901499bf..a24f0915 100644 --- a/chiptune_player/chiptune_player.s +++ b/chiptune_player/chiptune_player.s @@ -5,21 +5,23 @@ CHUNK_BUFFER EQU $6000 ;============================= - ; Print message + ; Setup ;============================= jsr HOME jsr TEXT + ; init variables + lda #0 sta DRAW_PAGE sta CH sta CV sta DONE_PLAYING sta XPOS - - lda #0 sta MB_FRAME_DIFF + ; print detection message + lda #mocking_message @@ -40,12 +42,12 @@ CHUNK_BUFFER EQU $6000 jmp forever_loop ; and wait forever mockingboard_found: - lda #found_message - sta OUTH - inc CV - jsr move_and_print +; lda #found_message +; sta OUTH +; inc CV +; jsr move_and_print ;============================ ; Init the Mockingboard @@ -55,7 +57,6 @@ mockingboard_found: jsr reset_ay_both jsr clear_ay_both - ;========================= ; Setup Interrupt Handler ;========================= @@ -71,7 +72,7 @@ mockingboard_found: ; Enable 50Hz clock on 6522 ;============================ - lda #$40 ; Generate continuous interrupts, don't touch PB7 + lda #$40 ; Continuous interrupts, don't touch PB7 sta $C40B ; ACR register lda #$7F ; clear all interrupt flags sta $C40E ; IER register (interrupt enable) @@ -91,7 +92,7 @@ mockingboard_found: ;============================ - ; Setup Graphics + ; Draw title screen ;============================ jsr set_gr_page0 @@ -124,6 +125,7 @@ mockingboard_found: sta INH lda #