Not a sid tune ?? Why does it say this?

The place for musicians to share their knowledge and ideas about music and remixing, and to post WIP snippets and feedback. Also suggest tunes for remixing, here.
Post Reply
User avatar
Doddsy
Forum Celebrity
Forum Celebrity
Posts: 250
Joined: 11/10/2008 - 10:58
Location: UK
Contact:

Not a sid tune ?? Why does it say this?

Post by Doddsy » 08/07/2010 - 16:29

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.

User avatar
Analog-X64
I Adore My 64
I Adore My 64
Posts: 3593
Joined: 08/12/2002 - 3:50
Location: Canada
Contact:

Re: Not a sid tune ?? Why does it say this?

Post by Analog-X64 » 09/07/2010 - 0:46

Could it be the sid file is a SidPlay2 format and the SiD2MIDI cant handle that format?
d[-.-]b (+[___]x)d(>_<)b 52656d697836342e636f6d2073696d706c7920726f636b732120
Image

dcandc
Newbie
Newbie
Posts: 1
Joined: 19/05/2017 - 17:00

Re: Not a sid tune ?? Why does it say this?

Post by dcandc » 26/05/2017 - 16:49

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
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.
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.

Hope this helps someone else eventually.

Cheers,

- dcandc

User avatar
Analog-X64
I Adore My 64
I Adore My 64
Posts: 3593
Joined: 08/12/2002 - 3:50
Location: Canada
Contact:

Re: Not a sid tune ?? Why does it say this?

Post by Analog-X64 » 03/06/2017 - 14:20

dcandc wrote:
<span class="hotdate" style="color:#888;">26/05/2017 - 16:49</span>
Hi all,

Sorry to dredge up such an old post - but I got here by using a web search of the above error message.

Helpful post...thanks :)
d[-.-]b (+[___]x)d(>_<)b 52656d697836342e636f6d2073696d706c7920726f636b732120
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests