From b954d23a6b4f87593978bb1a314539046e171798 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 11 Aug 2019 10:22:14 +0200 Subject: [PATCH] multiple SID silencing improvement --- STATUS.md | 2 +- c64/kernal/fda3.ioinit.s | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/STATUS.md b/STATUS.md index 7a71fed7..211c014d 100644 --- a/STATUS.md +++ b/STATUS.md @@ -6,7 +6,7 @@ Here are the features of the Open ROMs not found in the original ROMs from the 8 * improved keyboard scanning, supports multi-key roll-over and rejection of spurious joystick input * joystick (port 1) can be used to move text cursor * uses RAM under ROM and I/O: 61436 bytes free -* cold/warm start silences 4 SID chips - assumes addresses $D400, $D420, $D440, $D460 +* cold/warm start silences SID chips - $D400, $D420, ..., $D4E0, $D500 * extended `LOAD` command * start/end addresses are displayed, in the Final cartridge style * command with just the file name tries to use the last device if it's number seems sane; otherwise uses 8 diff --git a/c64/kernal/fda3.ioinit.s b/c64/kernal/fda3.ioinit.s index 7572e3cf..92cd3b7c 100644 --- a/c64/kernal/fda3.ioinit.s +++ b/c64/kernal/fda3.ioinit.s @@ -20,7 +20,7 @@ ioinit: sta CPU_R6510 stx CPU_D6510 - ;; Silence the SID chips + ;; Silence the SID chips in the $D4xx range ldy #$00 * @@ -31,10 +31,13 @@ ioinit: clc adc #$20 tay - cpy #$80 ; $20 * amount of chips to silence, $80 to silence 4 chips bne - + ;; Silence the SID chip on $D500 + lda SID_SIGVOL+$100 + and #$F0 + sta SID_SIGVOL+$100 ;; XXX: calibrate TOD for both CIA's, see here: https://codebase64.org/doku.php?id=base:efficient_tod_initialisation