Welcome, Guest!

Here are some links you may find helpful

Dreamcast GDEMU info

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
GDMENUCardManager.v1.3.5

Ive made 3 copies of Draconis track03 for you if it helps
https://drive.google.com/file/d/1OzVUvO2CfHFObJBdKDWJILtLRPmbtvxL/view?usp=sharing

One is process by GDIopt.exe
One is TOSEC
One is GDIshrink ( the latest repository you linked me https://git.code.sf.net/p/dcisotools/code dcisotools-code + GDIshrink.py from https://github.com/einsteinx2/gditools

The GDIopt.exe one clearly shows that repeating data consolidated at the end. That's the only reason I included it.

Search for offset 59350 in the Tosec file, that is pretty much the last bit of track03 GDIshrink will keep.
Everything after it gets destroyed and a tiny buffer placed.
We really need another 16 sectors of 00x0 after that buffer unless keeping this destroyed data is the fix we are looking for (or both).

If you find time take a look at what TOSEC SILENT SCOPE does too, it has an annoying SPECIAL.bin full of 250MB of FFxF.
Shrinks to 800MB but its really a sub 200mb game when shaved, no program can do it I have to do it manually. I think the copy I have was worked on by Madsheep ages ago but even that has a track03 full of 130mb of 0s.
 

Attachments

  • Screenshot_51.png
    Screenshot_51.png
    34.8 KB · Views: 0
Last edited:
  • Like
Reactions: FamilyGuy

FamilyGuy

2049 Donator
Donator
Registered
May 31, 2019
344
337
63
AGName
-=FamilyGuy=-
AG Join Date
March 3, 2007
GDMENUCardManager.v1.3.5

Ive made 3 copies of Draconis track03 for you if it helps
https://drive.google.com/file/d/1OzVUvO2CfHFObJBdKDWJILtLRPmbtvxL/view?usp=sharing

One is process by GDIopt.exe
One is TOSEC
One is GDIshrink ( the latest repository you linked me https://git.code.sf.net/p/dcisotools/code dcisotools-code + GDIshrink.py from https://github.com/einsteinx2/gditools

The GDIopt.exe one clearly shows that repeating data consolidated at the end. That's the only reason I included it.

Search for offset 59350 in the Tosec file, that is pretty much the last bit of track03 GDIshrink will keep.
Everything after it gets destroyed and a tiny buffer placed.
We really need another 16 sectors of 00x0 after that buffer unless keeping this destroyed data is the fix we are looking for (or both).

If you find time take a look at what TOSEC SILENT SCOPE does too, it has an annoying SPECIAL.bin full of 250MB of FFxF.
Shrinks to 800MB but its really a sub 200mb game when shaved, no program can do it I have to do it manually. I think the copy I have was worked on by Madsheep ages ago but even that has a track03 full of 130mb of 0s.
Alright, thanks!

I'm extremely busy right now, real life and everything. But I'll try to at least add a track03 padding option soonish. No promise though.

Edit:

Try this @syntax :

At line 795 of gditools.py, after the else clause, insert a line to add 16 to "first_blank_sector".

E.g.
Code:
    with GDIfile(absname) as gdi:
        itracks = gdi._gdi
        numtraks = len(itracks)
        if blank_check:
            first_blank_sector, first_file_sector = gdi.shrink_blank_check()
        else:
            first_blank_sector = gdi.get_last_toc_sector()
            first_file_sector = gdi.get_first_file_sector()
        sanity_check_file_A = gdi.get_file_by_record(gdi._sorted_records(crit='ex_loc')[0])
 
        first_blank_sector += 16

This should keep a supplementary 32768 bytes from track03.
 
Last edited:

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
You legend! Ill take a look and try it out.
No rush dude, life's hectic all round for everyone right now it seems.
Ill get some tests done and get back asap :)
 

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
OK, quick report back.
Tested shrinking RE2 which will bootloop if shrunk when testing with ReDream.
adding 16 sectors is far less than 30720 bytes, I thought it was more, but yeah still bootlooped.

Increased the extra sector count to 64, which is still under my byte count but guess what, it fixed RE2 and now it loads perfectly!
I know a title which needed more than RE2 so ill test that next but its looking pretty promising! :)
 

FamilyGuy

2049 Donator
Donator
Registered
May 31, 2019
344
337
63
AGName
-=FamilyGuy=-
AG Join Date
March 3, 2007
OK, quick report back.
Tested shrinking RE2 which will bootloop if shrunk when testing with ReDream.
adding 16 sectors is far less than 30720 bytes, I thought it was more, but yeah still bootlooped.

Increased the extra sector count to 64, which is still under my byte count but guess what, it fixed RE2 and now it loads perfectly!
I know a title which needed more than RE2 so ill test that next but its looking pretty promising! :)
16 sectors of user data is 32768 bytes.

If such a small amount of extra data can fix most games, I'll make a proper implementation and turn it on by defaults.
 

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
It does fix games but hold off for now, my testing was slowed down by Draconis not being fixed by this.
It took me forever to recreate my steps as to how I patched it to work with shrink, it turns out I actually only used shrinks track03, the rest was from GDIOPT.exe
I noticed this because there was a few MB difference in track05. Remember that data I said got destroyed? Turns out GDIshrink transfers it onto the start of track05 and breaks the game.
IYkuXz5.png
 
Last edited:

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
deleted
 
Last edited:

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
OK, I found the common pattern.
Any TOSEC release game that has a 5 track layout has the entire track02 data in track03 and track04.
GDIshrink will pull this TOSEC buffer from any track it finds it in and places it at the start of track05

If all instances of this TOSEC buffer are nulled to 0x00 GDIshrink performs perfectly.

Only seems to effect 5 track layout.

Here is the TOSEC dummy track you will find hiding inside track02/03/04.
Code:
Start 31 00 31 00 39 00 39 00 45 00 45 00 50 00 50 00
end FF B0 FF B0 FF B7 FF B7 FF E6 FF E6 FF 01 00 01



My not so fast way of doing it is null track04, GDIshrink, search track05 for FF B0 FF B0 FF B7 FF B7 FF E6 FF E6 FF 01 00 01, cursor at the end of the line, shift+ctrl+home, fill 0x00.
The neater way that leaves track 05 smaller is remove all instances of it before shrinking. but its a pain to highlight the top and tail in track03 to edit out.

Did an extract to hunt down what I was actually looking at.
Well this make a little more sense as to why they threw it all over the place.

Its the WARNING.DA track.... What a PITA, it was a stupid idea to begin with you'd have to have a super old CD player to damage anything with data audio.
Theres 2 versions of that too isnt there? English/UK and Japanese or does that one do both languages depending on bios region?

EDIT- Found the English one, TRACK2_ENGLISH.PCM, here are both files extracted.

https://drive.google.com/file/d/1GiQVw4LOY4KNZWQ1u2gYQDd9T34oLPy5/view?usp=sharing

The games that have TRACK2_ENGLISH.PCM inside their track03 do not end up getting it copied/transferred to the last track, it stays in track03 so this file is handled differently by GDIshrink.
Warning.DA seems to be the only one that gets copied/transferred.

If you found a way to remove all instances of those warning tracks then you save more space than the 16 sector patch takes and increase compatibility again.
 
Last edited:

sonik

Well-known member
Registered
Jul 24, 2019
52
33
18
AGName
sonik
AG Join Date
Mar 15, 2004
I'm pretty sure the version included on GDMENUCardManager is updated.
The bundled exe in my app is just the py code compiled as an windows executable.
But to be safe just use the py file from FamilyGuy.
 
  • Like
Reactions: FamilyGuy

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
I have run the entire blacklist thru USBGDrom and the patched GDIshrink adding 128 sectors to track03, I also did a hex search on the entire set and nulled every instance on warning.DA found.
The only titles that failed to load were

Tomb Raider - Revelations
Bust-A-Move 4
Death Crimson OX

So I extracted the TOSEC releases of those titles with GDItools, and rebuilt them truncated with GDIbuilder.exe which was super easy. Then shrunk them adding 128 sectors. They shrink and boot fine now.
This method seems to only work for some games. I tried it with Draconus and GDIbuilder.exe messed up track 5 bad. Funny thing is these wince rebuilt.gdi dont really work until I shrink them :/
Usually if you shrink a title like Silent Scope youll end up with a 900mb game. If you rebuilt it (and delete all data in special.ip) then shrink it its 96MB :) The DC-Swat guys worked that title in a similar way and only got it down to 213MB
Made sure I played thru Bubble Bobble 4 to hear the in game music ect.

Had a friend test on a clone and legit GDemu, everything ran fine.

I took a look at the list of games that run on Wince and was surprised to see the majority of the blacklist there. RE2 was the first one I tried to tackle fixing by rebuilding thinking I could get it smaller and working this way without the 128 sector fix.
Still needed the fix and my end result files were identical. No size difference from the previous patched versions I made. 4x4 came up 10MB smaller but still needed the sector patch to load.
So that tells me some wince dumps are messy and need the rebuild, GDIshrink handles them better as truncated rebuilt GDI, and RE2 was clean rip that GDIshrink handles fine just it needs the extra sectors.

Just rebuilt the entire blacklist and other problem titles, about 150 games, deleted the contents of anything that was filler like WARNING.DA, and reshrunk. Every title that refused to shave large empty space from track03 with GDIshrink is now fixed.
Any title that refused to work going from 3 track to 4 track was fixed and shaved this way too. Some lost 800mb.
 
Last edited:

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
If you extract with GDItools, then rebuild truncated with GDIbuilder.exe the resulting file can then be shrunk with maybe only 1 failure in the whole set.
Draconus.
I say maybe cause I only did this to around 200 titles as it was time consuming and I didnt automate it...
But yeah it preps the images perfectly for GDIshrink to handle without error.

https://github.com/Sappharad/GDIbuilder

There is a command line version you could probably attach to the SD builder and automate the whole process.

Extract all with gditools, rebuild truncated with gdibuilder, gditools shrink with 128 sector patch.

128sector patch confirmed to fix 4x4 and RE2, and did not break anything. I think you could drop it down to 64sectors but meh.

Anyway im done with the entire set, its pretty funny but I got it down to 237GB which fits a 256 card with 1 gig to spare!
This was never the goal or intention but yeah, pretty cool.


Screenshot_61.png

These titles refuse to work on my USBGDrom with Japanese Cake V1.032 BIOS.
Defense Commander (HomeBrew)
Grinch, The
Marvel vs Capcom 2 Accurate Mix (Mod)
NFL Blitz 2000
The Lost Golem Translation (Mod)

These run fine with a normal bios
Grinch, The
Marvel vs Capcom 2 Accurate Mix (Mod)
The Lost Golem Translation (Mod)
NFL Blitz 2000

These titles have a regional lock check that requires you to turn off any auto regional patching.
4 Wheel Thunder
Championship Surfer
Urban Chaos
 
Last edited:
  • Like
Reactions: sonik

syntax

Member
Registered
Mar 24, 2022
16
2
3
AGName
syntax
AG Join Date
25032022
eBay Username
none
Annoyingly stock bios is not VGA patched like GDmenu or JC_bios, so those problem titles needed to be checked for VGA compatibility.
NFL Blitz 2000 required a hex edit track03 to make it VGA compatible.
I think someone had just typoed it cos it was only a digit off from VGA.
Was
U 0799A00
but should of been
U 0799A10


The Grinch and NFL Blitz 2000 are the only unmodded titles that wont play on the JC_bios, I wonder what's different about those 2 titles?
I have The Grinch running on a Pal GDemu but wont run on a Japanese GDemu. So its something to do with the auto region patching I think.

Code:
DC-Swat games with incorrect VGA flag set ( second last digit of the settings string EG: U      0799A10 )

Change to 1

Aqua GT
Army Men - Sarge's Heroes
Conflict Zone - Modern War Strategy
Evil Dead - Hail to the King
Evolution - The World of Sacred Device
Fish Eyes Wild
Gunbird 2
Hidden & Dangerous
Hoyle Casino
Jimmy White's 2 - Cueball
L.O.L. - Lack of Love
Max Steel - Covert Missions
Midway's Greatest Arcade Hits Volume 1
Midway's Greatest Arcade Hits Volume 2
Ms. Pac-Man Maze Madness
NBA Showtime - NBA on NBC
Net de Tennis
Next Tetris, The - On-line Edition
NFL Blitz 2000
Nightmare Creatures II
Q-bert
Reel Fishing - Wild
Roadsters
SEGA Worldwide Soccer 2000
Soul Fighter [No VGA]
South Park - Chef's Luv Shack
South Park Rally
Sydney 2000
Tee Off
TNN Motorsports Hardcore Heat
Tom Clancy's Rainbow Six
TrickStyle
Vigilante 8 - 2nd Offense
Who Wants to Beat Up a Millionaire


Change to 0

ECW Anarchy Rulz [No VGA]
ECW Hardcore Revolution [No VGA]
Psychic Force 2012 [No VGA]
 
Last edited:

AnyNameYouWish

New member
Sep 8, 2022
1
0
1
There has been a lot of great work done here that is very difficult to replicate. If you have a 256gb SD card image with over 400 titles tested to be working and patched for VGA that would be highly desirable. Any chance of sharing your work?
 

Make a donation