CD-i ROM Hacking (Zelda: Wand of Gamelon)

Anything relating to CD-i can be discussed in this forum. From the multiple hardware iterations of the system to the sofware including games, reference, music and Video CDs. Maybe you hold an interest in Philips Media and the many development houses set up to cater for CD-i if so then this is the forum.
Post Reply
S65
Burn:Cycle Activated
Posts: 3
Joined: Wed Aug 01, 2007 4:44 am

CD-i ROM Hacking (Zelda: Wand of Gamelon)

Post by S65 » Wed Aug 01, 2007 4:48 am

I've been trying to hack Zelda: Wand of Gamelon. (Discussion of things like this is allowed, right? Because it's not a ROM request.) Finding data is no problem; I've located many raw text banks. But whenever you change a single byte of the ROM, it refuses to load and just gives a black screen, then switches back to the CD-i menu.

Would anyone know how I can stop this from happening?

User avatar
cdifan
CD-i Emulator Author
Posts: 926
Joined: Fri Jun 24, 2005 6:19 am
Location: The Netherlands
Contact:

Post by cdifan » Wed Aug 01, 2007 3:20 pm

You say 'ROM' but you're really editing a disc image file (ISO), right?
And using it with a real CD-i player, not CD-i Emulator?

In this case editing bytes won't work because every sector contains error correction (ECC) and detection (EDC) bytes (like CRC but different). If you change data bytes, the ECC and EDC bytes need to be updated; the player checks them when reading the disc.

I don't know if there are tools to update the ECC/EDC bytes for you; this is probably not something done very often.

If you're using CD-i Emulator, it doesn't check ECC/EDC and editing data bytes without updating ECC/EDC should work.

S65
Burn:Cycle Activated
Posts: 3
Joined: Wed Aug 01, 2007 4:44 am

Post by S65 » Wed Aug 01, 2007 4:23 pm

Yeah, I'm editing from the ISO, but I'm using CD-i Emulator, not an actual CD-i. I'm not editing the ASM segments, only data segments (e.g. "Start New Game", things like that).

User avatar
cdifan
CD-i Emulator Author
Posts: 926
Joined: Fri Jun 24, 2005 6:19 am
Location: The Netherlands
Contact:

Post by cdifan » Wed Aug 01, 2007 10:44 pm

There is also another internal checksum on code modules; this is checked by the OS-9 operating system. The algorithm is described somewhere in the OS-9 documentation; check the F$Crc system call.

S65
Burn:Cycle Activated
Posts: 3
Joined: Wed Aug 01, 2007 4:44 am

Post by S65 » Thu Aug 02, 2007 3:09 am

Okay, I checked that F$CRC thing out...didn't really understand it. What would I be looking for here, and how would I disable this kind of checksum system (it's easier than updating it every time I make a minor edit)?

Also, what format would the FMVs be?
Sorry I'm asking so many questions.

Post Reply