Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums

Forums > C64 Composing > Configurable addresses in multi sid tunes please
2019-08-31 22:03

Registered: Mar 2003
Posts: 1587
Configurable addresses in multi sid tunes please

Hi guys!

If you want to make a fellow scener a tiny bit happier than he already is:

In multi sid tunes (2 sid chips or more) it would be super nice if more people started to add the possibility to configure the adress of the extra sid chips before the tune starts playing. After all, if you play multi sid tunes on a real machine it may not be easy to change the addressing of the extra sids you have. Sometimes there are jumpers which allow a bit of configuration (such as switching between de00 and df00, or between d4xx/d5xx or something). However, in many cases the configuration options are limited. For example, in my 3sid-machine, the sid chips are located at $d400, $d420 and $d500 and that's that. I can't change it. No jumpers or stuff like that. :)

I understand that most people use VICE or various cross platform music editors, or emulated+configurable "sid chips" like the ones in the 1541U2, when they deal with multi sid stuff, but still.. the real machine with real hardware sid chips is always the main target, right? ;)

Thanks in advance! ;)
... 36 posts hidden. Click here to view all posts....
2021-08-31 15:38

Registered: Nov 2002
Posts: 1178
I'm right in the middle of checking if I found reliable way that is shorter and simpler than TLR's tester (which I love but don't fully understand xD), still I gotta try it on real hardware. I simply set mirrored waveform register to $09, mirrored SR to $F0, and then corresponding registers in basic SID to $00. After frame or two of delay real extra SIDs should have CH3 ADSR output read as non-zero whereas empty mirrors should be zero for a change.
2021-08-31 15:38
iAN CooG

Registered: May 2002
Posts: 2965
> Maybe Ian can give us some statistics on the software used for 2sid and 3sid tunes released so far? :)

it's easy as typing these 2 commands in HVSC\ :
pi.exe -m -s *_2sid.sid>2sid.txt
pi.exe -m -s *_3sid.sid>3sid.txt


Good luck finding an universal recipe tho, even those made with Goattracker don't have 2 times the $d400-18 writes at the same offsets, due to the dynamic nature of the generated players =)
2021-08-31 15:41

Registered: Nov 2002
Posts: 1178
Yeah. In GT absolute address is adjusted for extra SID writing in order to make savings on single LDX #new_offset, which in turn will make my life a hell on Earth ;)
2021-08-31 17:50

Registered: Mar 2003
Posts: 1587
Arent there some monitor commands that one could use in VICE that will tell you exactly where in RAM to find those places that write to $d420-$d7fff?

@Ian: Thanks! Perfect.

@Jammer: If you come up with something that people could actually reuse, don't hesitate to put it up on Codebase64!
2021-08-31 19:10

Registered: Jun 2002
Posts: 1911
I would hack LFT’s Sidreloc to also reloc SID-base addys
2021-08-31 20:36

Registered: Dec 2001
Posts: 10385
In GT absolute address is adjusted for extra SID writing in order to make savings on single LDX #new_offset, which in turn will make my life a hell on Earth ;)

so just bank out io, write to ram, and then copy the values whereever you want in the same order GT does. no rocket science at all :)
2021-08-31 21:46

Registered: Oct 2004
Posts: 288
What Groepaz said.

With all modern player routines (GoatTracker and SID-Wizard in particular) it is absolutely safe to handle them this way.

At least that is my experience from my "No-Skip Mix" collections where I use the same concept (writing to RAM instead of IO and then copy later to "real" SID) to be able to i.e. easily fade out tunes.
2021-08-31 22:33

Registered: Dec 2001
Posts: 10385
yep. don't overcomplicate it :)
2021-09-01 00:20

Registered: Nov 2002
Posts: 1178
@Groepaz: <3

@Frantic: so far my detection works correctly only in emu (including Micro64). SidFx returns a lot more of extra eddresses which meet my conditions. TLR's test shows exact same pool of SID mirrors returning anything but he eventually detects correct SID model at right address. Gotta investigate further :)
2021-09-05 10:22

Registered: Dec 2018
Posts: 5
I did a program to test for SIDs called SIDdetect.
SIDdetector V1.0

It can detect a lot of different SID and also return multi SIDs using TLR method of using random number generator.

I provided information about detection of replacement SIDs to Gideon to use in Ultimate64.
Previous - 1 | 2 | 3 | 4 | 5 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Users Online
Codey/Second Dimension
serato/Finnish Gold
Guests online: 43
Top Demos
1 E2IRA  (9.7)
2 Edge of Disgrace  (9.6)
3 Coma Light 13  (9.6)
4 Uncensored  (9.6)
5 Comaland 100%  (9.6)
6 Bromance  (9.6)
7 Lunatico  (9.5)
8 Memento Mori  (9.5)
9 Wonderland XII  (9.5)
10 Median  (9.5)
Top onefile Demos
1 Copper Booze  (9.5)
2 Daah, Those Acid Pil..  (9.5)
3 Dawnfall V1.1  (9.5)
4 Cityscape 2730  (9.5)
5 Barry Boomer - Trapp..  (9.5)
6 Lovecats  (9.5)
7 Elite Code Mechanics  (9.5)
8 Square Booze  (9.5)
9 To Norah  (9.4)
10 Plasma Ninja  (9.4)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Crest  (9.3)
4 Censor Design  (9.2)
5 1001 Crew  (9.2)
Top Original Suppliers
1 Baracuda  (9.4)
2 Derbyshire Ram  (9.3)
3 hedning  (9.2)
4 Jazzcat  (8.9)
5 Irata  (8.7)

Home - Disclaimer
Copyright © No Name 2001-2022
Page generated in: 0.063 sec.