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 > CSDb Entries > Release id #245934 : Castlevania - Invitation of a Crazed Moon
2024-09-21 17:31
spider-j

Registered: Oct 2004
Posts: 485
Release id #245934 : Castlevania - Invitation of a Crazed Moon

Okay, after testing a bit, I'm moving the "possibly borked" *.sid file discussion here:

I guess it has something to do with the tune data overlapping into the BASIC ROM area (?!?). Relocating the tune i.e. to page 10 default with sidreloc fixes the problem.

I'm still not sure if it is a problem with the PSID header in the tune or with SID players in general (?!?).

sidreloc -s -t 0 -p 8F Castlevania_Crazed_Moon.sid ccm.sid

does write different values into +78 BYTE startPage (relocStartPage) and +79 BYTE pageLength (relocPages) than the original file. But the result still is borked then.
2024-09-21 17:58
chatGPZ

Registered: Dec 2001
Posts: 11291
This describes the logic which is used to setup $01: https://sourceforge.net/p/vice-emu/code/HEAD/tree/testprogs/vsi..

(This logic is used in sidplay/w, vsid and in TC64 player - probably also in others)

Seems the case of init/play NOT being "under ROM", but then the tune is overlapping with ROM anyway is not covered. Or to be exact - init/play is supposed to deal with setting up $01 correctly in this case.
2024-09-21 19:04
spider-j

Registered: Oct 2004
Posts: 485
Interesting. Didn't know that.

SID_file_format.txt does indeed gives this player implementation hint at the end:

When the init and play addresses are called the bank register value must be
written for every call and the value is calculated as follows:

if   address <  $A000 -> 0x37 // I/O, Kernal-ROM, Basic-ROM
else address <  $D000 -> 0x36 // I/O, Kernal-ROM
else address >= $E000 -> 0x35 // I/O only
else                  -> 0x34 // RAM only


But I must admit I would have also assumed it would be end address instead of load / init / play address.

Knowing that I guess musicians could start releasing music releases only as PRG with player code starting at >=$9F00, just to keep the HVSC team busy XD
2024-09-21 21:07
iAN CooG

Registered: May 2002
Posts: 3171
Yeah, if you want to get your tunes ignored, go on, do your best to piss me off =)
Jokes apart, it's not a big deal, in these cases it's normal to either put init/play jmps after the data or relocate the tune and be done with the need of extra jmps.
It only takes few seconds in both cases.
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
Guests online: 82
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 Comaland 100%  (9.6)
8 Wonderland XIV  (9.6)
9 No Bounds  (9.6)
10 Unboxed  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Morph  (9.5)
8 Dawnfall V1.1  (9.5)
9 Onscreen 5k  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Nostalgia  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.2)
Top Diskmag Editors
1 Magic  (9.8)
2 Jazzcat  (9.5)
3 hedning  (9.4)
4 Elwix  (9.1)
5 Remix  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.15 sec.