Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user diskwzrd ! (Registered 2025-02-01) 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: 503
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: 11418
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: 503
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: 3207
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: 547
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.6)
4 Mojo  (9.6)
5 Edge of Disgrace  (9.6)
6 Uncensored  (9.6)
7 Wonderland XIV  (9.6)
8 Comaland 100%  (9.6)
9 Unboxed  (9.5)
10 Memento Mori  (9.5)
Top onefile Demos
1 Party Elk 2  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Barry Boomer - Trapp..  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.2)
Top Original Suppliers
1 Derbyshire Ram  (9.7)
2 Fungus  (9.3)
3 Black Beard  (9.2)
4 Baracuda  (9.2)
5 hedning  (9.1)

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