pt3_lib_ch6: actually more or less works

This commit is contained in:
Vince Weaver 2024-01-18 00:04:39 -05:00
parent 644f4476af
commit 86fcf6b3ee
7 changed files with 22 additions and 2004 deletions

View File

@ -5,15 +5,15 @@ PNG2GR = ../../utils/gr-utils/png2gr
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
EMPTY_DISK = ../../empty_disk
all: pt3_lib.dsk
all: pt3_lib_ch6.dsk
$(DOS33):
cd ../../utils/dos33fs-utils && make
pt3_lib.dsk: PT3_TEST HELLO
cp $(EMPTY_DISK)/empty.dsk pt3_lib.dsk
$(DOS33) -y pt3_lib.dsk SAVE A HELLO
$(DOS33) -y pt3_lib.dsk BSAVE -a 0x1000 PT3_TEST
pt3_lib_ch6.dsk: PT3_TEST HELLO
cp $(EMPTY_DISK)/empty.dsk pt3_lib_ch6.dsk
$(DOS33) -y pt3_lib_ch6.dsk SAVE A HELLO
$(DOS33) -y pt3_lib_ch6.dsk BSAVE -a 0x1000 PT3_TEST
HELLO: hello.bas
$(TOKENIZE) < hello.bas > HELLO

File diff suppressed because it is too large Load Diff

View File

@ -73,7 +73,6 @@ zero_song_structs_loop_2:
lda PT3_LOC_2+PT3_LOOP ; 4
sta pt3_loop_smc_2+1 ; 4
.if 0
;===============================
;
pt3_init_song_first:
@ -137,8 +136,6 @@ zero_song_structs_loop:
lda PT3_LOC+PT3_LOOP ; 4
sta pt3_loop_smc+1 ; 4
.endif
;========================
;========================
@ -290,6 +287,7 @@ not_ascii_number:
adc #$20 ; BIT->JMP 2C->4C ; 2
version_greater_than_or_equal_6:
sta version_smc_2 ; 4
sta version_smc ; 4
pick_volume_table:

View File

@ -6,10 +6,12 @@ pt3_irq_smc1:
bit MOCK_6522_T1CL ; clear 6522 interrupt by reading T1C-L ; 4
lda DONE_PLAYING ; 3
beq pt3_play_music_2 ; if song done, don't play music ; 3/2nt
beq pt3_play_music_2 ; if song done, don't play music; 3/2nt
jmp done_pt3_irq_handler ; 3
;============
; 13
;==================================
; play song2
pt3_play_music_2:
@ -19,9 +21,9 @@ pt3_play_music_2:
; handle song over condition
lda DONE_SONG_2
beq pt3_play_music ; if not done, continue
beq pt3_play_music ; if not done, continue to other song
lda LOOP_2 ; see if looping
lda LOOP_2 ; see if looping, if so continue(?)
beq pt3_play_music
pt3_loop_smc_2:
@ -32,23 +34,16 @@ pt3_loop_smc_2:
lda #$0
sta current_line_smc_2+1
sta current_subframe_smc_2+1
sta DONE_SONG_2 ; undo the next song
sta DONE_SONG_2 ; undo the done song
; beq done_pt3_irq_handler_2 ; branch always
beq pt3_play_music_2 ; branch always
;move_to_next:
; ; same as "press right"
; ldx #$20
; jmp quiet_exit
pt3_play_music:
.if 0
jsr pt3_make_frame
; handle song over condition
lda DONE_SONG
beq mb_write_frame ; if not done, continue
@ -74,7 +69,7 @@ move_to_next:
; same as "press right"
ldx #$20
jmp quiet_exit
.endif
;======================================
; Write frames to Mockingboard
;======================================
@ -82,7 +77,7 @@ move_to_next:
; the decode code
mb_write_frame:
.if 0
@ -135,7 +130,6 @@ mb_no_write:
;============
; 7
mb_skip_13:
.endif
;==================================
; do 6522 #2

View File

@ -12,7 +12,7 @@
; Location the files load at.
; If you change this, you need to update the Makefile
;PT3_LOC = song
PT3_LOC = song
PT3_LOC_2 = song2
; the below will make for more compact code, at the expense
@ -248,6 +248,7 @@ found_message: .asciiz "FOUND SLOT#4"
.endif
.include "pt3_lib_common.s"
.include "pt3_lib_core.s"
.include "pt3_lib_core2.s"
.include "pt3_lib_init.s"
.include "pt3_lib_mockingboard_setup.s"
@ -262,10 +263,10 @@ found_message: .asciiz "FOUND SLOT#4"
; this can be fixed but some changes would have
; to be made throughout the player code
song:
;.incbin "music/dya_dance_1.pt3"
.incbin "../pt3_player/music/EA.PT3"
.incbin "music/dya_dance_1.pt3"
;.incbin "../pt3_player/music/EA.PT3"
.align 256
song2:
;.incbin "music/dya_dance_2.pt3"
.incbin "../pt3_player/music/EA.PT3"
.incbin "music/dya_dance_2.pt3"
;.incbin "../pt3_player/music/EA.PT3"

Binary file not shown.

View File

@ -1,13 +1,11 @@
;; Zero page addresses
.if 0
ORNAMENT_L = $60
ORNAMENT_H = $61
SAMPLE_L = $62
SAMPLE_H = $63
LOOP = $64
DONE_SONG = $69
.endif
MB_ADDR_L = $65
@ -22,7 +20,6 @@ ORNAMENT_H_2 = $6D
SAMPLE_L_2 = $6E
SAMPLE_H_2 = $6F
.if 0
AY_REGISTERS = $70
A_FINE_TONE = $70
A_COARSE_TONE = $71
@ -42,7 +39,7 @@ ENVELOPE_SHAPE = $7D
PATTERN_L = $7E
PATTERN_H = $7F
.endif
AY_REGISTERS_2 = $80
A_FINE_TONE_2 = $80