| |
Raistlin
Registered: Mar 2007 Posts: 757 |
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"?? |
|
... 20 posts hidden. Click here to view all posts.... |
| |
Raistlin
Registered: Mar 2007 Posts: 757 |
Thanks Ian, that's perfect. Both the _2sid and _3sid files seem to work (on the current head version at least). Interestingly, I couldn't load the _3sid file in SidPlayerW so wasn't able to audibly test it that way - but that's fine, my tool will do a before/after verify anyway so should be all good. |
| |
Raistlin
Registered: Mar 2007 Posts: 757 |
SIDwinder is the NEW SIDBlaster :-)
https://github.com/RobertTroughton/SIDwinder
And we're back to v0.1.0.
It's worth looking at for the visualiser stuff now. I use a new (to me, anyway) technique for grabbing hold of the SID registers that means that audio playback should be PERFECT.
Basically, SIDwinder determines what memory address the SID will change in the Play() calls .. usually there's around 100 of these - but of course some players will be better or worse than others. Anyway, it then generates C64 code that can save and restore all those values.
With that, the SID Play() function can be called twice!
1) save data that might change in Play()
2) Play() <-- this is a "perfect" play call, no mods - nothing that will affect the audio at all
3) restore data
4) disable ROM
5) call Play() again
6) copy ghost bytes from $d400-d418
7) enable ROM
Due to the save in (1) and restore in (3), the 2nd Play() call is exactly like the 1st - but giving us access to the SID write values.
Try it out..! Just grab the binaries and:-
SIDwinder.exe -player=RaistlinBars input.sid output.prg
and that's it - it'll package it all up and crunch it for you. |
| |
Gordian
Registered: May 2022 Posts: 98 |
I thought it will be SIDBuster;) |
| |
iAN CooG
Registered: May 2002 Posts: 3235 |
SIDwinder is a native sid composing program, use some search before naming your tool after existing programs, but beware, you only have one life left =)
https://csdb.dk/search/?seinsel=all&search=SIDwinder&Go.x=0&Go... |
| |
TheRyk
Registered: Mar 2009 Posts: 2466 |
Well, then:
Quoting Gordian... it will be SIDBuster;)
...seems free :D
(at least as Tool Name) |
| |
hedning
Registered: Mar 2009 Posts: 4801 |
Quote: SIDwinder is a native sid composing program, use some search before naming your tool after existing programs, but beware, you only have one life left =)
https://csdb.dk/search/?seinsel=all&search=SIDwinder&Go.x=0&Go...
Did you know Ian coog was taken as well? 🤓
Jokes aside: Seems the old Sidwinder is abandoned since ~20 years. Up for grabs! |
| |
Burglar
Registered: Dec 2004 Posts: 1137 |
I'd like to suggest SIDIan :P |
| |
Raistlin
Registered: Mar 2007 Posts: 757 |
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. |
| |
Flotsam
Registered: Jan 2004 Posts: 85 |
Quoting RaistlinSIDwinder 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 |
| |
Bansai
Registered: Feb 2023 Posts: 54 |
Quoting RaistlinSIDwinder 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. |
Previous - 1 | 2 | 3 | 4 - Next |