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 Productions > SIDBlaster
2025-05-04 19:33
Raistlin

Registered: Mar 2007
Posts: 771
SIDBlaster

A little early perhaps to put here on CSDb as a full release .. but for anyone interested, here's a new tool from me:-

https://github.com/RobertTroughton/SIDBlaster

I have big plans with this.. main features right now (may be buggy!) are:-

- ability to add simple players to SIDs <-- later on of course this will allow full visualisers, SID information and more

- relocation of SIDs. The process used for this is very different to other relocators that I've seen. I essentially do a 10mins emulation of the CPU, running through the SID, checking what's data, what's code, what's read from, what's written to, etc... detecting indirect reads, and where the vectors for those come from ... dealing with "backups" of those vectors and all that nastiness. It's far from perfect .. but it works already with many SIDs and I'll look at other SIDs to see how easy those will be to fixup.

Next tasks:-
- exposing more information to players/visualisers
- allowing import of information/defines from txt files to pass to the visualisers
- adding an "insanity check" to the relocator - so I'll do 10mins' emulation of the SID before and after relocation, recording all the $d4xx writes and making sure they tally up.

Much more to be done ... feedback is of course welcome.

Windows/Ubuntu/Mac releases are there .. though I've only tested Windows - hopefully the others "just work"??
 
... 23 posts hidden. Click here to view all posts....
 
2025-05-24 17:03
Raistlin

Registered: Mar 2007
Posts: 771
Quote: I'd like to suggest SIDIan :P

Well, I’ve found with my companies (Coconut Lizard and Dino Sloth) that the best way to avoid clashes is to just create names that are so daft nobody could ever have used them before.

So… Happy Valley SID Chunker should be good. HVSC for short as that’s a bit of a mouthful.
2025-05-24 18:39
Flotsam

Registered: Jan 2004
Posts: 85
Quoting Raistlin
SIDwinder is the NEW SIDBlaster :-)


OK, I just called off my team of copyright lawyers, but I'll keep an eye on this thread just in case...

SID Blasters
2025-05-25 20:13
Bansai

Registered: Feb 2023
Posts: 54
Quoting Raistlin
SIDwinder is the NEW SIDBlaster :-)

https://github.com/RobertTroughton/SIDwinder

And we're back to v0.1.0.

Reading through the docs: quick note, but the $ notation for hex might blow up some shells for $A000-$FFFF as the following alphabetic character might be interpreted as a shell variable.
2025-05-25 20:24
Burglar

Registered: Dec 2004
Posts: 1137
Quote: Quoting Raistlin
SIDwinder is the NEW SIDBlaster :-)

https://github.com/RobertTroughton/SIDwinder

And we're back to v0.1.0.

Reading through the docs: quick note, but the $ notation for hex might blow up some shells for $A000-$FFFF as the following alphabetic character might be interpreted as a shell variable.


looks like 0xa000 notation is already supported and decimal too :)
2025-05-25 22:13
Bansai

Registered: Feb 2023
Posts: 54
Quoting Burglar
looks like 0xa000 notation is already supported and decimal too :)
Awesome, thanks!
2025-05-26 06:01
Raistlin

Registered: Mar 2007
Posts: 771
I've just submitted a new version, v0.2.5, which will automatically pickup SIDs that have existing shadow registers. It's rare - because SID write orders matter a lot.

In my test set of SIDs, there was actually only Stinsen's Diagonality tune that used shadow registers at all - here:-

.C:31f0 20 03 10 JSR $1003
.C:31f3 A2 18 LDX #$18
.C:31f5 B5 E0 LDA $E0,X
.C:31f7 9D 00 D4 STA $D400,X
.C:31fa CA DEX
.C:31fb 10 F8 BPL $31F5
.C:31fd 60 RTS

But anyway! For now, until I can get bytewise relocation working (where I can inject shadow-register writes that match the SID register writes - where the CPU timing differences would be negligible), this offers an option for those who want to have such as a 4x+ SID with a working visualiser. GoatTracker has an option to use shadow registers - maybe other players too... but maybe the change to the audio quality stops this from being useful?
2025-05-26 08:27
Bansai

Registered: Feb 2023
Posts: 54
Quoting Raistlin
I've just submitted a new version, v0.2.5, which will automatically pickup SIDs that have existing shadow registers. It's rare - because SID write orders matter a lot.

Isn't having shadow registers one mechanism where one can hijack voices for sound effects? From Lieblich's Transformers:
L_JMP_0F17_0ADA
L_JSR_0F17_0BB9
 ;------------------------------
 LDY #$06
 LDA L_D_EXTRA_VOICE_ENABLE
 BNE L_BRS_0F4C_0F1C
 ;------------------------------
L_BRS_0F1E_0F31
 ;------------------------------
 LDA L_SID_V1A,Y
 STA $D400,Y                           ; Voice 1: Frequency Control - Low-Byte
 LDA L_SID_V2A,Y
 STA $D407,Y                           ; Voice 2: Frequency Control - Low-Byte
 LDA L_SID_V3AB,Y
 STA $D40E,Y                           ; Voice 3: Frequency Control - Low-Byte
 DEY
 BPL L_BRS_0F1E_0F31
 LDA L_SID_D415A
 STA $D415                           ; Filter Cutoff Frequency: Low-Nybble
 LDA L_SID_D416A
 STA $D416                           ; Filter Cutoff Frequency: High-Byte
 LDA L_SID_D417A
 STA $D417                           ; Filter Resonance Control / Voice Input Control
 LDA L_SID_D418A
 STA $D418                           ; Select Filter Mode and Volume
 RTS
 ;------------------------------
L_BRS_0F4C_0F1C
L_BRS_0F4C_0F5F
 ;------------------------------
 LDA L_SID_V1B,Y
 STA $D400,Y                           ; Voice 1: Frequency Control - Low-Byte
 LDA L_SID_V2B,Y
 STA $D407,Y                           ; Voice 2: Frequency Control - Low-Byte
 LDA L_SID_V3AB,Y
 STA $D40E,Y                           ; Voice 3: Frequency Control - Low-Byte
 DEY
 BPL L_BRS_0F4C_0F5F
 LDA L_SID_D417B
 STA $D417                           ; Filter Resonance Control / Voice Input Control
 LDA L_SID_D418B
 STA $D418                           ; Select Filter Mode and Volume
 LDA L_SID_D415B
 STA $D415                           ; Filter Cutoff Frequency: Low-Nybble
 LDA L_SID_D416B
 STA $D416                           ; Filter Cutoff Frequency: High-Byte
 RTS
Previous - 1 | 2 | 3 | 4 - 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
Advanced
Users Online
Chesser/Blazon
Pac
TBC
kbs/Pht/Lxt
MCM/ONSLAUGHT
NthSt4r
Knight Rider/TREX 🦖
Worluk
DuncanTwain
Guests online: 282
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Wonderland XIV  (9.5)
9 Uncensored  (9.5)
10 Comaland 100%  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Grey  (9.5)
9 Dawnfall V1.1  (9.5)
10 Rainbow Connection  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Performers  (9.3)
5 Censor Design  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.5)
5 Facet  (9.5)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.039 sec.