ScummVM logo Forum Index - ScummVM website - Contact us - Buy Supported Games: Rules - Search - Register - Login curved edge
Folder Forum Index > Dreamcast Port > Hex editing DC ScummVM
Hex editing DC ScummVM
  Author    Thread Reply to topic

Joined: 25 Dec 2008
Posts: 65
Hex editing DC ScummVM 

Hi all.

I've been attempting to hex edit ScummVM to only recognize certain games.

The reason? = Disc drive thrashing.

While I'd like to put multiple games on one disc, the more you put on one, the harder the disc searching beats on the drive.

It's actually worse for some games with lots of essential files (quantity), and not related to how much space they actual take up (size). It also seems to be unrelated to the age of the games, and some newer (more advanced engine) games are easier on the DC disc drive search.

SO, I went about opening the latest stable build files in a hex editor.

It was fairly simple to add 'single' games from different plugins (*.PLG) onto one disc (ie - 1 SCUMM engine game, 1 AGOS engine game, etc.) by hex editing the 'SCUMMVM.BIN' 'PLG' entry from the line starting at offset '0004C4060' to an arbitrary new extension like 'LUC'.

This allowed me to add games from differing engines onto one disc by modifying the extension of the PLG in the main binary, and then renaming the extension of the actual plugin.

I would then by use an app like Dream Inducer, or Selfboot Inducer (the same?), to burn two copies of the SCUMMVM.BIN to a disc. Example: One hex edited to work with plugins renamed to '*.LUC', and one hex edited to work with plugins renamed to '*.AGO'.

This greatly reduced search time on the disc, because the main binary/executable could only find the one game engine's data files.

Now I seem to be getting stuck on modifying the plugins themselves. I want to be able to put multiple games from the same engine on the same disc, but only have one game from the supported list recognized by using a hex editing method similar to what I did above.

Does anyone have any idea what part of the plugins I need to change to eliminate searching for certain files? If I were to use the 'required game data files' page from the wiki as a reference, could I then text search the plugin for those specific files? (Which I would then edit out...)

 Reply with quote  
Post Tue Oct 26, 2010 4:08 pm 
 View user's profile Send private message

Joined: 05 Nov 2005
Posts: 90
Location: Dream Land

ScummVM.ini support was added to the Dreamcast port, if the ini file is present on the CD the autodetection is bypassed, any game entries on the ini will display in the ScummVM menu. An easier way to achieve what you are trying to do is follow this example:

1 descramble SCUMMVM.BIN
3 add ScummVM.ini
4 make entry for Discworld in ScummVM.ini
5 duplicate SCUMMVM.BIN (rename if necessary)
6 hex edit duplicate SCUMMVM.BIN ini entry to Scumm01.ini
7 add whatever.PLG
8 add Scumm01.ini
9 make entry in Scumm01.ini for whatever game/s compatible with whatever.PLG
10 repeat 5 - 9 as necessary
11 create Dream Inducer menu entries for all SCUMMVM.BINs

Originally posted by Stryfe
I would then by use an app like Dream Inducer, or Selfboot Inducer (the same?)

Dream Inducer is a Dreamcast multi-binary loading menu system created by DCGrendel, Selfboot Inducer is a Windows application created by burnerO making it easy to use Dream Inducer. The later versions of Selfboot Inducer were updated by SiZiOUS, he labelled them as 'unofficial builds' for some reason or another (out of respect for burnerO I guess).

Good grief!, I need to get a life. Rolling Eyes
 Reply with quote  
Post Tue Oct 26, 2010 8:24 pm 
 View user's profile Send private message Visit poster's website
  Display posts from previous:      
Reply to topic

Forum Jump:

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
Forum design by ScummVM team, icons by raina
curved edge   curved edge