Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Source/drivers/asm/build/build_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,13 @@ def build(chip: str):
if x == y:
# NSFDRV
if len(t_nsfdrv) < 8:
t_nsfdrv.append("0x%02X" % int.from_bytes(x))
t_nsfdrv.append("0x%02X" % int.from_bytes(x, byteorder='little'))
# driver kernel
else:
t_hed.append("0x%02X" % int.from_bytes(x))
t_hed.append("0x%02X" % int.from_bytes(x, byteorder='little'))
else:
# pointer relocation
t_hed.append("0x%02X" % (int.from_bytes(x)-0xC1))
t_hed.append("0x%02X" % (int.from_bytes(x, byteorder='little')-0xC1))
reloc_query = in1.tell() - 1 - nsfdrv_size
if not reloc_lo.get(reloc_query) and not reloc_hi.get(reloc_query):
t_rel.append("0x%04X" % (reloc_query - 1))
Expand Down
37 changes: 30 additions & 7 deletions Source/drivers/asm/n163.s
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,6 @@ ft_n163_load_wave2:
bcc :+
;; !! !! if not, use wave_count - 1
lda (var_Temp_Pointer2), y
sec
sbc #1
:
;;; ;; ; Multiply wave index with wave len
Expand All @@ -328,30 +327,54 @@ ft_n163_load_wave2:
adc var_Temp_Pointer2 + 1
sta var_Temp_Pointer2 + 1
.else
sta var_Temp3
tay
lda var_ch_WaveLen - N163_OFFSET, x
and #$7F

dey
sty var_Temp2
lsr
sta var_Temp3
lda #$00
ldy #$04
@loop:
bcc @skip
adc var_Temp2
@skip:
ror
ror var_Temp3
bcc @skip2
adc var_Temp2
@skip2:
ror
ror var_Temp3
dey
bne @loop

tay
: tya
lda var_Temp3
clc
adc var_Temp_Pointer2
sta var_Temp_Pointer2
bcc :+
inc var_Temp_Pointer2 + 1
: dec var_Temp3
bne :--
tya
adc var_Temp_Pointer2 + 1
sta var_Temp_Pointer2 + 1
.endif
@EndMul: ; ;; ;;;

txa ; Save X
pha
lda var_ch_WaveLen - N163_OFFSET, x
and #$7F ;;; ;; ;
lsr
tax

; Load wave
ldy #$01 ;; !! !!
: lda (var_Temp_Pointer2), y
sta $4800
iny
lda (var_Temp_Pointer2), y
sta $4800
iny
dex
Expand Down