Not a sid tune ?? Why does it say this?
Not a sid tune ?? Why does it say this?
When I try to convert sid tunes to midi via the Sid2MIDIw application it says its not a midi file yet it has the sid extension and plays in the sidplayer. Whats going on? Way Of The Exploding Fist is one example.
- Analog-X64
- I Adore My 64
- Posts: 3518
- Joined: 08/12/2002 - 3:50
- Location: Canada
- Contact:
Re: Not a sid tune ?? Why does it say this?
Could it be the sid file is a SidPlay2 format and the SiD2MIDI cant handle that format?
Re: Not a sid tune ?? Why does it say this?
Hi all,
Sorry to dredge up such an old post - but I got here by using a web search of the above error message.
It seems the software: 'Sid2MIDIw' checks the first four bytes to make sure the header is a PSID file.
From the file format:
http://cpansearch.perl.org/src/LALA/Aud ... format.txt
It fooled Sid2MIDIw into thinking it was a 'real' sid file and happily churned through the conversion as normal.
Hope this helps someone else eventually.
Cheers,
- dcandc
Sorry to dredge up such an old post - but I got here by using a web search of the above error message.
It seems the software: 'Sid2MIDIw' checks the first four bytes to make sure the header is a PSID file.
From the file format:
http://cpansearch.perl.org/src/LALA/Aud ... format.txt
I was using an RSID sid file via the software and got this error message. I suspect you were probably doing the same. All I needed to do was to open up the sid file in a hex editor and change the first byte from an R (0x52) to a P (0x50). (This would probably also work in just a regular text editor).The SID file header v1
======================
The detailed structure of the SID header looks like the following. Header
offsets are in hexadecimal notation. Other integer values are decimal unless
explicitly marked otherwise. Any stored integer values are in big-endian
format:
+00 magicID: ``PSID'' or ``RSID''
This is a four byte long ASCII character string containing the value
0x50534944 or 0x52534944. 'RSID' (Real SID) denotes that the file strictly
requires a true Commodore-64 environment to run properly. 'PSID' files will
generally run trouble-free on older PlaySID and libsidplay1 based emulators,
too.
Some words about the Real C64 SID file format (RSID):
The RSID format was designed to contain tunes that are not PlaySID compatible,
but strictly require a real C64 environment to run. Tunes that are multi-speed
and/or contain samples and/or use additional interrupt sources or do busy
looping will cause older SID emulators to lock up or play very wrongly (if at
all).
By using the name RSID for such rips all existing SID emulators will reject
these tunes safely until they can be upgraded to cope with the additional
requirements.
Due to the nature of these tunes, every effort must be made to make sure they
are directly runnable on an actual C64 computer. As such the tunes will only
be presented with the default C64 power-on environment and expected to
configure and use all hardware appropriately.
RSID is based on PSIDv2NG with the following modifications:
magicID = RSID
version = only 2
loadAddress = 0 (reserved)
playAddress = 0 (reserved)
speed = 0 (reserved)
psidSpecific flag is called C64BASIC flag
The above fields MUST be checked and if any differ from the above then the
tune MUST be rejected. The definitions above will force tunes to contain
proper hardware configuration code and install valid interrupt handlers.
It fooled Sid2MIDIw into thinking it was a 'real' sid file and happily churned through the conversion as normal.
Hope this helps someone else eventually.
Cheers,
- dcandc
- Analog-X64
- I Adore My 64
- Posts: 3518
- Joined: 08/12/2002 - 3:50
- Location: Canada
- Contact:
Re: Not a sid tune ?? Why does it say this?
Helpful post...thanks
![Smile :)](./images/smilies/icon_smile.gif)
Re: Not a sid tune ?? Why does it say this?
Unfortunately that wont always work. Doing so will crash the program once you attempt to convert. I didn't test everything or narrow down the issue but from what I can tell if the RSID contains samples it'll crash. For example, Ghostbusters.siddcandc wrote: ↑<span class="hotdate" style="color:#888;">26/05/2017 - 16:49</span> I was using an RSID sid file via the software and got this error message. I suspect you were probably doing the same. All I needed to do was to open up the sid file in a hex editor and change the first byte from an R (0x52) to a P (0x50). (This would probably also work in just a regular text editor).
It fooled Sid2MIDIw into thinking it was a 'real' sid file and happily churned through the conversion as normal.