#Modding the MGS1 emulator
1 messages · Page 10 of 1
got a CD copy of the original PC release
Damn
Not sure if it's been thrown here, but here's one of the things the emulator's memory patches change:
https://fxtwitter.com/HEITAIs/status/1718150350874521623
noice
Got the newest release up on Nexus. For some random reason the original release was nuking the game with the new patch and on top of that nexus is requiring everyone to move the metal gear mods
Looks like they categorized them into individual games
The steam deck release is now public and I did one with the shader and one without the shader
Also made improvements to the shader, not sure how much more I can squeeze out of that
yes when you were not on Discord for a while we have a lot of these conversation on the server
Yeah my bad, I was busy learning all the ins and outs of the steam deck
I gave my damndest to try to get that shader in there in an easy to use way
But Linux dependencies say “nah breh”
Ironically the built in scan lines look fine on the steam deck
Anyway I left a hint on how to get the shader working but I’m not even going to be troubleshooting that lol
Yup, they had to do that to add native Vortex mod manager support to make modding easier for casual folks :3
That said if you zip the files exactly how they would be inside the MGS1 folder, the mod manager can now also handle setting them up automatically exactly how they need to be if you upload them as separate files (ie upload "No CRT Shaded.zip" and have only license, MGSM2Fix.asi, MGSM2Fix.ini, and d3d11.dll inside the zip file will make it automatically install right inside the MGS1 folder.)
Likewise, it's best to avoid having version numbers in the file name on the Nexus upload page (it's fine if the original zip has it) since that breaks automatic mod updates as it'll treat different named files as different variants of the mods, where as files with the same name but a different version number are automatically detected as updates, and will automatically replace old versions in the mod client
If you want I'm also more than happy to structure stuff for ya too to help out if you wanna temporarily add me as an editor for the Nexus page. The easier modding is for normies the better is my motto (especially since that means less troubleshooting pebkac issues in the long run too) :>
Yeah i like the new update screens so much on deck even if it stretches the image. It genuinely bugs me to see any form of letterboxing
Appreciate it, just PM me your nexus mods info
Sent!
How are you liking the deck?
Love it but it has quirks
Unlocking Arch Linux proved to be quite a pain
None of the tutorials posted work anymore. I’m contemplating doing some videos showing how to do it and save others some headache
DSP will go to hell for all the sins he has committed and the foul language used towards the almighty god himself -Hideo Kojima-
Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, parody, and research. Fair use is a u...
Merry Christmas everybody!
FYI I'll be back home in a couple days, will try to get a quick update out
probably just the medkit patch and v1.4 fixes
laptop is 20 years old
and brand new
it certainly doesn't have a working battery anywhere on the planet
it has serial and parallel ports my guy

That thing is an ancient relic of the past
well duckstation doesnt suck in linux, thats odd
why is that odd
yea thats not odd, most emulators work fine on linux
cuckstation amirite
more like YUCKstation 
steznek fixed a few weeks ago. just had a chat with him on the psx development discord
hdr glitch is still there but he fixed cpu geometry correction not working
hdr glitch is windows only
also post processing has crt lottes built into it
eyy

One step closer to the Genova suggestion
Fast input + analog input
One step closer to heaven
So in other words, konami was faster
...at inputting
I'm curious, does it do anything or is this an excellent Konami placebo?
yeah, it does do something
it probably resolves the input lag issue since I think that was tied to some kind of video mode (fullscreen or something? which influenced vsync)
but i never had any of those issues so i couldn't prove it did anything locally
i remember hearing complaints about vsync and it causing lag
the actual pad setting controls draw latency
so by using the rapid mode, it presumably selects the option with the least draw latency
there's other input options such as how it handles conflicting inputs but they haven't exposed those to the user
(prioritise new, prioritise last, consider as no input)
I play on steam deck and can confirm fast input is indeed something to do with input delay
Probably turned it off since it might've had a big impact on performance and didn't realize it didn't play nice? Idk
Having an impact on performance is all i can think about what justifies the warning about using it. In any case, turning it on for me made the game feel like I'm not ice skating anymore
We winning now boys
Was that for the menu to be added or added the functionality of Fast Input? I'm no programmer so this is like reading a foreign language to me 
yeah the bit that's highlighted is new in v1.4.0
it fetches the fast input pad setting
uses that to override the draw latency
"draw latency" sounds so close to something like vsync
so i wonder if they just "copied" what people here have been doing
So their fix for unlimited speed introduced input delay
MODE_0V/MODE_1V/MODE_2V just sounds like vsync count
no sync / one vblank / every second vblank
if it's stupid but it works it's not stupid i guess
Important for arcade/fighting games.
reminds me of modding my tf2 config for null cancelling
I keep forgetting m2 did the emulator. They did fighting games before?
i think so
you kinda have to take a lot of the code with a pinch of salt as a result
presumably there are lots of leftovers that aren't even applicable to the psx core
i'm not sure how far M2 got with this framework
is it just psx and a couple older platforms or do they have more cores
In something like Street Fighter, if you press backward then forward, you can charge a Sonic Boom whilst walking forward, making guile the strongest character in the game.
So there's a policy of not allowing that code error when allowing keyboard or custom controller input
the "M2EpiArchSubInfo" enums and such don't suggest there's much architected yet besides psx and 16bit era stuff
I wouldn't be surprised if they had a bit of Saturn there.
there are what look like mega drive leftovers etc
whenever i look at the scripts i have to do a lot of work to convince myself that the code i'm looking at is actually relevant to mgs
came for mgs, stayed for squirrel and M2 tho
mgs2/3 modding would be a lot less fun for me
A compilation of every moment of DSP singing the KWO theme from his MGS1 playthrough. Full credit goes to evilaj for providing the clips.
Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, parody, and research. Fair us...
gulf war order
Honestly the best thing DSP ever did was start the Kojima World Order meme
Pretty much the funniest thing he ever came up with
idk i still think about the jerk cam
That's PTSD.
Literally the first time I watched him live in years was that stream
I pulled up the stream and he was already in the middle of it
That was also the last time I watched him live lmao
wonderin what people are most interested in rn
im gonna look at a rom modding system otherwise
I would say ripping the rom would be cool. Also would shut people up about whether master collection is worth it or not if they could use the rom on anything they want lol
ah shit yea i still have to finish that up
its kinda necessary to patch the rom in the emulator anyway i guess
there's overlap
Why do I see people on Reddit and Steam saying MGS1 has "audio compression" issues?
maybe related to how fast you press a button, I remember a guy complained because he was too fast pressing buttons lol
Because theres a few uadio issues, alot of em have already been sorted but
Theres still a few with chaff nades, alerts in some rooms, and codec sounds
But honestly most people it makes no difference
not really audio compression issues since it's just emulated so has the original assets
wasn't there a workaround?
I've noticed there seems to be a few internal options for audio but haven't played with it much
I'd need to reproduce the issue 4 sure
hmmm maybe the unofficial MGS1 Integral Chinese translation rom I send you, see if it's possible to work extracting the related text files and put in the MC version as a patch modding
If it works then it might shed the light for those want to translate the game into another languages, but don't want to directly replace the whole rom, just need necessary files related as patch injection
#1168512986491670548 message ah sorry what I mean is the modified & translated subtitles related files inside the rom
well It's more like: there's already a translated PS1 rom way before the MC version, and with the already done modified files the fan team made, see if it works as a patch injection to show in the MC version.
so not simply the whole rom replaced
the patching system is really intersting, the way they censor Johnny's ass etc
it probably makes more sense to do something custom rather than add patches to their system
plan A is to support PPF and translate PS-X EXE patches to the correct RAM image offset
should be possible to convert that translated iso to a PPF patch
that's honestly more work
i'd like m2engage to be reading from an unpacked alldata tree, but even that doesn't make it simple to inject games
i'll prob do it eventually but it's very secondary
we already have the necessary primitives to rewrite the ram image or apply ISO overlays
it's what m2engage understands and m2fix by definition has access to
injecting games requires creating tons of metadata and converting the ISO to the required format
even then you don't have an accelerator so performance will probably be bad
well, for example
the german copy in MC is completely different, no idea where it comes from, it's not the original CD release
adding the original CD release to MC would be a substantial amount of work
(not that I'm not gonna try)
but adding a system to apply patches to the ISOs already present I consider to be less work
Would it be possible to memory-patch English item descriptions into Integral?
yes
honestly surprised konami didn't do that
this isn't really your typical emulator in how it's designed
so things that would probably make sense for cuckstation might not make sense for m2engage
not really but the tools for making PPFs and applying them are open source so
all I need to add is some kind of address translation for the PS-X EXE
And besides simply just rom replacement isn't very ideal, big rom size, and need to consider what if there's multiple mods in the future that players want to apply with, and players might feel kind of weird that what they do is just download a full game replacing the one in MC. At this point if you download that, you don't need the MC, just use it with another emulator
anything requiring manual repack of alldata.bin is pretty hardcore (so can't expect anybody playing the game to do that), and allowing m2engage to read an unpacked tree from the filesystem requires a ton of work and lots of problems solved
serialising PSBs being a major sticking point
a full unpack of alldata.bin is not really authentic in the sense that the m2engage engine isn't reading json files
those are just in the washed ISOs
thats why the bloody thing is 10gb
but they're divorced from the PS-X EXE which is preloaded into a separate RAM image
the washed ISOs are not bootable; they are just filesystems with assets
yeah, within the respective stages
it makes complete sense that they did it this way (for many many reasons that I already forgot), it wasn't really to make life difficult
essentially whatever patching system we implement just has to "bit bang" EmuTask::entryCdRomPatch and EmuTask::setRamValue
using the latter for PS-X EXE
the latter is not particularly interesting, but the former creates an overlay on top of the ISO filesystem that the psx will see when reading from cdrom
just used that to overwrite the entire ISO with zeroes
2023-12-30 01:42:13.649 ( 121.016s) [ 23E9BAEF] dllmain.cpp:403 INFO| M2: printf: cd_call: 'R9 < (int)G_N_ELEMENTS(s_func_tbl) && s_func_tbl[R9] != NULL' failed
2023-12-30 01:42:13.649 ( 121.016s) [ 23E9BAEF] dllmain.cpp:403 INFO| M2: printf: r0-7: 00000000,800a0000,00000000,00000003,00000000,0000e36c,00000000,0000000a
2023-12-30 01:42:13.649 ( 121.016s) [ 23E9BAEF] dllmain.cpp:403 INFO| M2: printf: r8-15: 00000000,00000013,0000fff0,00000000,00000000,00000000,00000000,00000000
2023-12-30 01:42:13.649 ( 121.016s) [ 23E9BAEF] dllmain.cpp:403 INFO| M2: printf: r16-23: 00000627,800b5eb0,00000000,000000a6,66666667,1b4e81b5,00000431,800b6288
2023-12-30 01:42:13.649 ( 121.016s) [ 23E9BAEF] dllmain.cpp:403 INFO| M2: printf: r24-31: 00000000,00000000,0008a914,00000000,800ac350,800b6278,800b62e0,800229d8
2023-12-30 01:42:13.649 ( 121.016s) [ 23E9BAEF] dllmain.cpp:403 INFO| M2: printf: pc: 0000f300, 0000fff0, hi: 00000000, lo: ccccccce, sr: 0x00000401
rip
What am i looking at 
a successful proof of concept
Mgs1 finally gets sex update?
I'm missing context is this for ripping ISOs from alldata or inputting isos?
Follow me on Twitch:
https://www.twitch.tv/evilaj2010
Follow me on Twitter:
https://twitter.com/evilaj2010
Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, parody, and research. Fair use is a use permitted by copyri...
Dsp is a curse why does he keep blessing us
neither really, for applying our own patches to the isos
i mean i guess you can inject an iso this way but
very terribly
Oh damn. That's actually big
emu crashes because the entire disk reads as zeroes
but thats just an example
seems like ownership of the SQArray transfers to EmuTask when you run that
if I try to reuse my SQArray the entire process crashes
but creating a new one each time works fine
code is just
for (unsigned int i = 0; i < 0x29296170; i += 16384) {
SQArray *data = SQArray::Create(_ss(v), 16384);
LOG_F(INFO, "entryCdRomPatch: %d", gEmuTask.EntryCdRomPatch(i, data));
}
no point me pushing that bit though coz im just screwing around
So this process leads to creation of new patches?
this is awesome for future MGS1 modding
yeah pretty much have everything i need now to implement PPF or whatever
m2fix needs to know what version of the game is running though lol
probably the only other thing needed
not too difficult
Could just use integal for all modding purposes
best thing about MC imo is having all the versions in one place
but individual patches will always target one specific version
as long as it theoretically works for any version im not bothered
well I'm amazed you figured out all these so quickly
So a few things to address here, the input thing just turns vsync off, that’s it
So if you experience input lag and it fixes it then your monitor has vsync lag issues which is super common on LCDs but not on manu OLEDS
Many*
Also the “audio compression” issues don’t exist. It’s all caused by frame rate issues.
Those profiles I put up on the mod fixes that
Different people are differently perceptive to input latency.
I'm quite attuned because I play fighting games, and I can sense mismatches between my reaction speed and the length of an animation.
Which is only a slightly better excuse than most PC autists.
the game isn't super responsive even in the best circumstances so
when we're comparing lag and a bit more lag i'd easily not notice the difference
I didn’t say all LCDs, but I know for a fact it turns it off cuz it causes screen tearing
oof
I hadn't notice any screen tearing but i haven't played long enough to notice tbh
Well it’s way more noticeable on the 77 inch OLED than it is on the steam deck
On the steam deck it’s barely noticeable because of the smaller screen size and the fact that when you play in deck mode it’s auto locked to 60 fps
And the lower resolution
oh yah?? well mines 78 inch!! 

I prefer to play it on steam deck though cuz 32 bit era and down look awesome on it
Especially now that cuckstation has been upgraded to non-cuckstation and it’s actually functional
I wonder how hard geometry correction would be on the decomp
I'm not sure what I'm looking at. Is that how we're going to see the files to modify? Like Johnny's booty?
nah its so any patch files you have get applied only to the correct game version
it also needs to know which RAM image was loaded to do the address translation
i think I pretty much have to hardcode the offsets for address translation
but that should be alright since new MGS ISOs dont grow on trees
Says you. I'll grow some 1.1 integal versions
i made a ppf of that chinese (i think?) translation - 3mb file per disk
so in theory just need to write something to translate the PS-X EXE addresses and port the patch loader to m2fix
i got some sorta mod directory structure set up
for integral it pulls from "mods/INTEGRAL/INTEGRAL/0" for disk 1, "mods/INTEGRAL/INTEGRAL/1" for disk 2, "mods/INTEGRAL/VR-DISK" for disk 3
im adding a mod loader
I got that from the mod directory thing. That looks like you're actually modifying bytes.
I'm asking what's getting changed there
it's applying a chinese fan translation patch
well
game boots
to the devmenu
guess i need to play some
ohhhh!
Ohhhhh! You actually did it!
yeah, and this is basically applying a patch that was generated using the original CD releases
so any patches that work on the PSX should work
There aren't that many, which is sad.
But that's still quite amazing.
Hopefully once decomp's done, people will start shitting out VR missions or something.
we can just patch the german copy back to the original using this
rather than the extra effort to add extra disks
yoooo that's amazing, hope there's a way can contact the fan team about this
so we can port this fan translation as the first MC MGS1 mod
i guess we can use it to translate integral to english too
but really anyone can make mods right now which is the cool part
just mod the psx game and it'll work
defo the right approach vs trying to use their patching system
interacting with their patches should only be about optionally removing some, not adding any
pain in the ass to add our own that way
yeah, glad we have our own systeam
any patches made for this will work in other emulators too
need to make sure it handles the disk swap properly (shouldn't be much work)
and then go through all of the roms as it only supports integral atm
yeah
i created the chinese ppf from the original ISOs
m2fix handles the weirdness in MC
same ppf would work to create a patched ISO that could run elsewhere
works out being as simple as dropping a file in a specific folder and then MC picks it up
not necessarily, its just integral they did the translation for
pretty neat, btw the chinese translation is only worked with Eng dub, I wonder if it can modified with JP dub
it will support all the versions
it'll load as many patches as you have in the correct dir
oh wow so not only the integral?
damn that's awesome
can prob make it support multiple formats like xdelta too
but the makeppf tool seems simple enough
xdelta has compression i think, thats basically the only difference
ppf is uncompressed
so ppf is easier to support
btw they didn't translate the staff radio stuff in integral. So it's normal seeing nonsense texts when you test the game
yeah i think the patching system works
after i fixed a crash issue lol
i didn't account for the cdrom filesystem having error correction and stuff
m2fix is basically mapping patched bytes in the PS-X EXE on CD-ROM to the RAM
means m2fix needs to know where the PS-X EXE starts in all CD-ROMs
but thats not too bad theres only like 10 of them
with this maybe you can actually add the blur back on Johnny's ass lol
that is very strange, i'm wondering if the renderer doesn't have the effect implemented or they actually blocked it in the renderer because they knew they were going to have underpants
i really wanna figure it out coz its so weird that it doesnt work with all the patches disabled
or the game optionally enables it based on some bios ram state
like those are all of the possible options
there's nothing else lol
definitely weird shit going on there
ok i think i pretty much just have to get the configs done for other isos now
I wonder if the Johnny change was to give context in case they do a remake and don't wanna have to model his asshole and junk
i'd hate to be on the team remaking MGS1
remaking it but preserving the atmosphere would be SUPER hard
no wonder they started with 3
Every aspect of remaking it would be pretty hard
Yeah, but they seem to be going the right direction with 3 at least
It looks like it's mostly unchanged, just some small things are touched up or more fluid
In the footage they showed it still went into first person when lying in grass, which I didn't expect them to keep but the fact they did made me less worried about what they might be messing with
tbh TTS is way more graphic with Johnny
don't wanna see what that looks like without censor tbh
Hahaha
I just hope when/if they remake MGS1 they leave the gameplay mostly alone. Even the small changes in TTS did a lot to mess up the overall game design. Also hope they don't make the whole game ugly like TTS
yeah and doesn't capture mgs1 atmosphere at all
went in a slapstick direction
its not ugly
wanna know what else is an impressive visual for GC
star fox adventures
fur effects are still good
LMAO
fuck sake rareware
how do u manage to port an n64 game to gc and have it look better than wii games
??????????????????
i don't hate TTS
it's just different
i like that they added first person movement in mgs1 pc
that was a good QoL change that didn't break the game
i like ketchup
yeah probably going with ketchup
foxdie is reserved for something much more important
The environments kinda do but the character models and lighting are atrocious (to be clear, it's all technically impressive, but in terms of aesthetic I think it looks pretty bad)
Doesn't even look like the same person
Otacon is even worse
Foxalive
Personally I'm for ketchup in the context that Konami slipped in the path to success
Nuggslet' Ketchup Manager 
Hal in 2 looks like he discovered hentai and hasn't left all month
The character models were done by KCEJ. The environments were done by Silicon Knights.
They just did them accurately to Shinkawa's art.
If anything, let's be real.
MGS2 snake's model is uhhhhh.
Very PS2 release lineup.
Give Twin Snakes credit where credit is due.
Give the devil his due.
kojima kojima gulf war order
The lighting can make him look like hammered shit but TTS Snake always looked really good IMO
its new years eve who doesnt look hammered rn
The legendary soldier aged like Foxdie
2 years flat is a world record
He hit the clone wall.
Yeah, seeing it next to Shinkawa's art like that I realize it is actually pretty accurate. I think it really is just the lighting/shading that makes him look really strange, and some of the face animations are really goofy looking at times (when he screams out "Foooox!" near the end for example he looks super unnatural and weird). I think Otacon and Wolf have straight-up just bad faces though. The only characters I think ever look kinda right are Ocelot and Mantis (the lack of a visible face for most of the latter's scenes really help)
The Gamecube's lighting models are all kinda... vibrant.
Something about just the overall style of TTS looks super off to me. I don't think it looks very much like MGS2 even if that's what they were going for. The way the lighting looks on every character model just makes it look kinda gross
I think that might just be down to Silicon Knights. Meryl looks fine in MGS2.
Or down to the Gamecube hardware or something.
The environments definitely felt very "MGS2" in a bad way, Shadow moses was way too clean in TTS compared to MGS1
Isn't that a different model though?
I don't think so. Slightly modified, perhaps.
Ah, okay
You might know better. They reused TTS Snake's body but made the shoulderpads more puffy.
MGS1 was their first game after Policenauts PS1, and all the 2D textures were drawn by hand. There's an obsessive level of detail drawn in everywhere.
Agreed here. It doesn't feel dark and cold and grimy like the original. This place is fully of overflowing, leaking nuclear waste. It should look a lot more unkempt than it does in TTS
There's one or two things TTS did that Kojima wanted done in MGS1.
Like, the windows in the storage building were meant to show the warheads going off into the distance. MGS4 later did this, after TTS.
Ah
Let's not fill this thread with too much off topic stuff. We should maybe move to #mgs1
Oh. My bad. Too much new year spirits I guess.
Right right
This was a NG+ thing for MGS1 Integral
Ketchup's fun.
Other stupid references:
ULTRABOX
Muktuk
Earpull
Revolver (the readme must use the name of the program at every opportunity possible)
When I bought Twin Snakes a decade or two ago now, the only reasonably priced ones were NTSC. So I needed to get something that let me boot NTSC discs, too. It was a cheat disk, and it came without a box. So I put it in a disused box, and drew a little blue W on it and called it the PAL Override Key.
FOXLoader?
Or is that too broad
Gotcha gotcha
Yeah I think Ketchup is a good one then
Is it possible to patch MGS1 so A is the confirm button instead of B? It's starting to piss me off
I think Handker suits it better, since it literally "patches" something in-game.
I mean, kind of.
If anything, we should patch the rest of the games so B is confirm.
Don't Snake and Otacon fight to prevent that kind of dystopian future?
The Patriots are an American group. A (Cross) as Enter is American control.
The Sonynuneno are controlling you.
Fair argument, would make it closer to the og releases lol
START3
I dunno. Ketchup's goofy. Handker's a very dark joke.
Shape Memory Alloy.
I'm gonna go die in bed.
not a bad idea
im going to get so drunk it makes me ill and pretend i can write code in the meantime
literally
i just have to fill this table in
and then i can release
but that is hard
when u have had too much wine
What is this for ^ ?
20 mins until u find out
😮

Seriosuly, godlike work on getting this together! Happy New Year and heres to a year full of glorious MGS1 modding!
so here's my disk 1 patch for integral CN
place that at steamapps\common\MGS1\mods\INTEGRAL\INTEGRAL\0
on MGSM2Fix v1.0
should work
holy moly you did it! I hope more people can see it and start to create mods!
ok I'll contact the CN team about it, see if they will agree to make it as the CN translation mod
If you can get in touch with them, see if they can help with pulling text from other languages so we can have multilanguage integal. As a workaround for the PAL versions and QoL for non English players
hmm so the mod folders didn't included in the zip? we need to create directory ourselves?
I think with nuggs's system, we can extract them and do it on our own
well this open a whole new gate, for sure modders who have interests will look at these stuff
maybe you can create a request on the forum and attach the nuggs's mods system link
If this mod loader gets a slogan, make it "I can't believe that actually worked."
In reference to a codec call with Otacon in duping Johnny with ketchup 
there's a 4k upscale and his point still stands, twin snakes definitely looks better than mgs2
I'm going to have to look into these ppf patches
there's a few things I would like to do
I'd like to do a full translation for the japanese version since there are significant difference in the original release
I just don't know anything about them or how they work, I've never looked into them before
Maybe, idk I've always liked both about equally
play twin snakes with the 4k upscale and overclocked in dolphin
then get back to me on that one lol
I've been meaning to replay TTS, just need Dolphin to stop being a bitch with my Xbox controller
ok after testing it for a while, although the plot dialogues are fine, the menu and item description texts appear all gibberish
they not like this when I test the original chinese translated rom with emulator
first image is like the words mapping is wrong, second is in gibberish
I don't know Chinese, but the Ration thing looks accurate based on the LIFE text.
well the correct one is this
Ahhhhhhh
Progress is progress. At least it's possible, hiccups can be studied and fixed
for sure, I just glad most of the things works
Hmm, is it possible to create a resolution mod using this?
No, it's modifying game asset. Resolution isn't an asset. That'd be something with the emulator itself, and apparently it's tricky?
End of the day it's still an emulation
with resolution there's stuff hardcoded all over the place in the emu, and its hard to tell quickly what needs changed and what can be left alone
need to basically go about it by reverse engineering the whole thing (and lots of reading about the PSX and how other emus work)
not really going to get lucky by spraying patches in that thing, i feel
needs an actually intelligent approach lol
now I wonder what caused it...
They have a ton of credits, they made the Genesis classic and all that
M2 Co., Ltd. (Japanese: 有限会社M2(エムツー)) is a Japanese video game developer and publisher, best known for handling emulation of re-released games, such as some Sega Ages titles, Virtual Console titles for Nintendo systems, the 3D Classics series for the Nintendo 3DS and their ShotTriggers range of classic STG games.
M2 has also created entirely ne...
ok I contacted the leader of the fan chinese translation team, I showed him the screenshot of menu and item description gibberish texts, and he replied that perhaps it didn't imported the scripts about item etc into ppf file? I'm not really familiar with ppf file so I'm curious how the process works? Like you extracted only the files about subtitles and maybe font texture files from the rom and turn it into ppf file? Or it's just the whole rom file turn into ppf patch file
its a diff between the original rom and patched rom
so if it doessn't match what you see when loading the patched rom in an external emu, then my PS-X EXE mapping isn't quite kosher (believable, it was cobbled together quite quickly and last minute)
ill have another look when I get a chance
it might also be that for integral I am not mapping the correct PS-X EXE
i think integral duplicates the PS-X EXE
its there twice on the disk
i think because in some regions one of the copies is the anti-piracy screen
but with integral it's just the full game twice
so one goes unused
basically: most likely cause is some of these numbers are wrong lol https://github.com/nuggslet/MGSM2Fix/blob/master/src/ketchup.cpp#L41C1-L101
also this entire modding system is less than 300 lines of code so i think it was the right way to go lol
have you tried activating this
A portion of the original Metal Gear Solid for the Sony Playstation, played with a Subsistence-style over-the-shoulder camera angle.
Update (2014-06-30): If you want to do this yourself, you'll need to use a Gameshark code, which works for MGS v1: 800A DBB0 0020. This cheat is prepackaged in ePSXe. Thanks to the cheerily-named dieingworthlessly...
this feels so wrong...
can certainly try
i prefer the first person walking they added in mgs pc tbh
but yeah should be possible
do you activate it similar to how they do the gameshark cheat?
or how would you do it
it'd be possible to add gameshark but for a quick test I can just kludge it, it's kinda how the stage select thing started out
I felt the stage select was worth a dedicated option tho
is there much interest in gameshark support
thats probably not much work
ah. shet
so the problem with the CN patch
ketchup seems to be working fine but
there's a patch clash with the MC patches
if I disable all of the MC patches, the CN patch works fine
yeah probably, will have to search through it tho
really need to have these all categorised into sets
there are a lot of the same patches duplicated over and over again
for things that are the same across the entire disk
got like 5% of the way there with some of the ones you can turn off with m2fix now but
still shitloads to do
like
for instance
the medicine one
that actually gets reverted like 10 times
i assume there's a copy of it in each stage
wonder if it goes away if i swap the order in which they're applied
at the moment MC patches run first then ketchup
don't really know how EmuTask will handle a conflict either, just kinda "fingers crossed" levels of understanding rn
oh huh
that fixes it
made it so that MC patches are applied after ketchup


i dont really understand why that works
but
iunno i just got a sense man
alright, another release i guess?
I converted the other CDs in the translation mod (and stuck their readmes in there for credits)
m2fix will ignore the readmes
these should at least be correct (should be possible to convert back to ISO 1:1) and its just m2fix that needs sorting out
oof you're almost there, so close, this is the correct words
huh
this is v interesting
yeah, again, if I disable the MC patches that shows correctly
i should generate a list of the actual conflicting addresses lol
its only the cdrom patches that I'm disabling (otherwise I'd have 100% steam completion)
w8 lemme double check
yeah, definitely displays correctly
ok
weird that applying the mod sooner has it look more correct
there's something more to this
it might be like
yeah i mean if the function i'm calling doesn't handle overlapping addresses/ranges properly
it will shit the bed
in strange ways
it might make sense to have m2fix store the patches the MC will apply and then just take over duties of applying them
interesting...
as I can then sort it all out ahead of time before passing it to EmuTask
lots of things we can try here
its good we have this patch coz it's pretty "big"
most mods probably wouldn't be quite so big
so its a good test
changes all across the ISO in this one
this is a good thing we learned, so we can avoid the conflict stuff for the possible mods in the future
ppf files are definitely fine coz it all works with the MC patches off
(and ketchup in principle is working fine)
well I guess if the this CN ppf get released have to noted that turn off the MC patches in the settings
if there are genuine clashes then we might have to group the MC patches fully
which is boring but
it might be that konami has just changed some strings so obviously that won't work with a translation mod
but if they can be logically grouped, can turn them off in the ini
oh right I see, I guess besides the three patch settings in the ini, there are other patches didn't include the may effect the cn translation
yeah, there's only 3 in the ini coz they're all i've figured out really lol
i mean a lot of others are obvious, it's just about grouping them together sensibly
they changed things like "memory card" etc
easy to imagine how that might mess shit up
since it's all right next to lots of strings
so for now the solution is add a setting that can turn off all the patches?
that is honestly not a terrible option tbh
probably should leave the RAM ones on
otherwise u get 20 achievements
and they don't seem to break the translation mod
oh the ram didn't effect it, nice
yeah, I guess I can do that then
so without these patches, I guess you can still see the original form in the ppf? Like Johnny's ass didn't get censor etc
Could probably get widescreen support with it so yeah
anyway, the Johnny situation is slightly different coz even with all the MC patches off u can see his bare ass
so that's likely something they broke in the emu itself
orrrr the game configures it based on some console region type / whatever and I haven't found out how yet
Isn't it more likely they removed the blur from the game itself
hmm, in the sense that they completely changed the german version?
i guess it's possible but most people seem to think the non-german versions are "basically" unmodified
I guess? I still don't understand how they messed with the. German version
german one is just an entirely different ISO
barely a match in a lot of critical areas
doesn't match what people had in the 90s
I know but that still doesn't make sense to me like that's a lot of work for an unreleased version
yeah, its just a completely different mechanism to how 'the MC patches' in inverted commas work typically
they straight up changed the rom there
(and, I can't reconstruct a bootable ISO from it, because I'm missing a code section)
Dumb question but what if for the EU language pack, the german's the base game and the other languages are just patch?
it might be possible to reconstruct it with more work
oh yeah I guess I should check how that works
I just extracted them all and dumped them ontop of each other
Like US and Japan are only 1 version of themselves. Meanwhile eu has like... 6 different versions?
Just spitballing idk what goes on in their heads
that matches the original releases tho right
Dunno if it means anything but for having 6 different ISO packs it's only twice as big as US and Japan
there's about
~7gb of ISOs in the "base game"
in japan you have integral and the original release
i think the sizes check out, no?
Might be explaining it poorly but EU should be like reeally big, considering all the discs but it's only twice as big as Japan. Japan has original and integal
Might be misremembering it tbh
so 11 ISOs in base game (5 european languages, 2 disks) and special missions
7gb
USA is just 2 disks and VR missions
1.8gb
japan is integral (2 disks plus missions) and original release (2 disks)
3gb
does that seem disproportionate still? not sure
i mean it must be correct lol
and yeah to understand PPF you have to think about how i'm generating them
you sent me the translation mod ISOs
i have the original integral ISOs
patch is generated from the two
I must be misremembering it then that does seem right
but that patch contains basically the difference between the two
so I can take that info in MC and apply the differences to what MC boots via the functions m2fix has access to
the only complication (in theory) was the fact that the PS-X EXE is scrubbed out of the ISO and loaded separately
so 'ketchup' as we called it checks the addresses in the ISO you're trying to write, and if its in the PS-X EXE, translates it to RAM writes
its using PPF in a different way, instead of generating an ISO you can burn/emulate/whatever it basically assembles it using the MC patching system each time you start it up
wut, elf?
ps-x exe is what the psx boots
ohh
thats what u meant by later
yeah
its just "the executable"
gets loaded completely to RAM (and the result of that load and any other BIOS garbo written to RAM is loaded from a separate file)
there's a small amount of BIOS code in that "RAM file"
coz apparently the PSX BIOS is slow as shit to read from
but its the only traces of BIOS code that I can see anywhere
oh wow I understand now, the ppf stuff is interesting, it's like catch the difference between base rom and modified rom, then produced the patch
yeah
its just an encoding of purely the changes the translation team made
like where and what
so its better to distribute it that way since you can only play it with your own copy of the original game (and its smaller)
its not practical to load entire ISOs with the ketchup method, only our own patches/mods really
loading other ISOs would be basically saying to MC "btw the entire thing is completely different" and it'd prob blow up
there's other ways we could load other ISOs but its a problem for later
requires lots of other crap to do it
yeah, the ppf method is efficient
yeah, exactly, want to reuse existing stuff where possible
well after this I guess the next step we can try bring the Japanese dub into Integral
jp dub with eng sub etc
its my first time really trying anything but MGS1_UK in MC and wow you can feel the framerate improvement from ntsc
PAL clown here
sniper wolf in 10fps
by watching lots of films in 24fps
Sick
Do you know how to modify the savestate and inject other game executables?
You can hear it in the cutscenes. Everything is higher pitch in NTSC.
I used to watch speedruns of MGS1, like, "Huh? How come their footsteps sound so fast? Is this some glitch I don't know about?"
"Huh? What was that noise? Whose footsteps are these? Mine?"
Poor guards having an existential crisis because everything sounds wrong.
Pfft.
They wanted to prevent Genome Altzheimers.
"Whose footprints are these??"
"We're gonna get you home, grandpa."
Go home Grandpa, you're Foxdying.
wish i was foxdying
yeah i know how but i havent done it yet lol
so there's actually two data structures that EmuTask accepts as CD-ROM patches
no fukin way can it handle collisions i bet
can pass an SQArray like ketchup does (and some of the smaller MC patches do)
but also a Resource
probably would've been quicker to just RE the command itself by now instead of guessing but guessing is kind of fun
oh hol up
not quite, Resource is how you get one, but the type it results in is an SQBinary
maybe can interact with these now
ok there are actual patch clashes confirmed
very slowly dumping the clashing addresses
at least i can afk
well hope this issue will be resolved soon
it'll be resolved when there's time and energy, ez
one man band here
things would be so much quicker if we had more hands lol
That's ok, take the times you need. I can imagine finding what causing the clashes is really time consuming
yeah a lot of this work is actually quite easy just takes a long time
How long has the Metal Gear Network been around?
does the game really install all the DLCs by default now
That'd be pretty funny.
Or it's detected that you've accepted them on Steam and it uses that to decide if it's installing them.
Afaik no, Konami just randomly dumps it on us
Probably still can't figure out how to grab the steam DLC links
Play the OFFICIAL Alex Jones video game! Save the world from the evil globalists’ plot to turn everyone into bug-eating pod-dwelling libtards! STAY TUNED FOR FUTURE BONUS LEVELS AND CHARACTERS.Classic Run-and-Gun Gameplay: Enjoy fast-paced action, intricate animations, and detailed environments as you blast your way through waves of enemies.Uniq...
$17.76
139
when do we get Darksydephil: KWO Wars
https://github.com/nuggslet/MGSM2Fix/commit/3391d1569157d6c7d65b12c61f58ea36c4aca3bb not sure i'll actually stick with this but i thought it was worth the light of day at least
just stuck it on a separate branch for now
i prefer ketchup loading after MC patches since it allows overriding MC patches
man
one of these patches
occurs like 100 times
but its so small i can't easily identify it
when there's so many instances of it, very sus
82 19 82 28 82 4C D0 06 82 18 80 00 80 00
still trying to find the best ways of identifying these
so much data
you are the hacker
free emulator
Discord? Not long, I made it Q3 last year.
the thing they are patching is always the same
there's another change they made like the medicine stuff 1000000%%%%
it looks very similar
no idea what it is tho
I only realized that:
When starting the emulator, the region is checked, and it looks for a list of patches in [ID]/config/title_patchdata.psb then it goes through that list and applies the patches to the default Disk hosted in [ID]/patch/[Namepatch].bin
Then it reboots a second time, applying the same patch to the Memory.
not sure what you mean by that
it definitely boots twice at startup but it's because it loads some random game version to start with before loading the one you choose
talking about how to start the mgs emulator
if you look at the m2fix log file you can see it happening
i have integral selected (and quick-boot into it) but it first boots the original JP release for no reason
you never see the JP release in my case, but it does do all of the work to load it, just to throw it away
This, I must assume, it does because the first boot, patches the Disk, then the second boot works like a Reset, as if loading a savestate into RAM
nah, they all load like that
even the first load is loading a savestate
EmuTask is instantiated pretty early on, long before the UI has got its socks on, and I guess it loading the original JP release is an artifact of that
the m2fix logs are pretty verbose and quite helpful to find your way around
the underlying M2 emulator has the ability to load a BIOS image IIRC, but MGS is not distributed with one so it only boots savestates
Well, you've already come very far.
we're missing certain components of the M2 engine which is a concern for booting other games
e.g. "acc_psx.dll: open failed"
because it has dedicated accelerators for each MGS release
for me when I start it up I get
2024-01-04 22:47:20.743 ( 2.451s) [ 3202C82E] dllmain.cpp:798 INFO| M2: Loaded ROM image: system/roms/mgs_jp_disc1-20230407.lz4a.
then
2024-01-04 22:47:22.736 ( 4.445s) [ 3202C82E] dllmain.cpp:798 INFO| M2: Loaded ROM image: system/roms/mgs_integral_disc1-20230407.lz4a.
a whole 2 seconds later it switches to the correct game
it is a bit strange
i wonder what it does if you don't have the japan DLC installed
if I was to guess: it doesn't make a difference because the lz4a are in the base game, its only the ISOs in the dlc packages
The next thing to check is why it does not load custom SRAMs.
have you tried?
i reckon it's possible with enough work (though I can't be sure of performance)
i'm wondering if vol2 will have more games using M2 (not sure what tho, PSP?)
i hope they do use M2 so i dont have to start over 🤣
First try to study the lz4a files. From the BizHawk emulator, for a version of mgs Spain, the match with a savestate was in frame 1124. I compressed it in the same compression as lz4a and the hashes coincided.
At this point, the console or emulator is loading the second executable of the game, filling the SRAM with that executable will start.
I tried doing it with other games, but it never loaded, even disabling all the patches that could interfere didn't help. There must be some patch in Main that first checks the PS-X EXE header and starts loading from a default point.
yeah, that screen is basically non-existent
it is booting a savestate, the lz4a is a compressed ram image
of the "main" executable (never this piracy screen)
the M2Patch script in the m2fix repo can decompress the lz4a files
You should see the behavior that the emulator has when reading this information in PS-X EXE
If you do not find the Bin washed, only the option to load them is disabled, as if it did not have DLC
Why don't you look at the "getCdRomLocSeek" part, it's some information about where it is reading or where it starts
that's the initial PC value of the game
entrypoint basically
i don't think there's any great mystery with this stuff rly
other than wtf their patches do
million ways you could go about trying to figure them out and im still not sure what is the best lol
when you're dealing with ~700mb of data it can take time
for instance: just play the game until you spot a difference (low skill but needs good eye)
Well, for me it is still a mystery how the savestates are loaded xd
it just decompresses the lz4a and loads it to the emu's ram region
mounts the ISO and jumps to the entrypoint
its not particularly clever
search for ram.le32.bin in the exe
thats where it loads the savestate
right above it is "bios.le32.bin" but MGS doesn't have any of them
or they're extremely well hidden that i havent found them in several months
About the entrypoint, is it adjusted by region or by executable? I mean the point that selects the emulator in SRAM to start
its different for each lz4a (so it will be the same for each disk 1 & 2 pair but otherwise probably different)
disk 1 & 2 share lz4a as the PS-X EXE is identical in those cases
thats why integral has disk1 and disk3 but no disk2
Damn, that bios will be compressed lol
tbh they mostly compressed it because it's a LOT of zeroes
it's an entire RAM snapshot, so lots of sections are just unpopulated at boot
The main executable seems to host patches for each region, one of them is that it preserves the camera logic in different areas, I think it is related to the overlays. I'm not sure if these things also interfere with loading other games, causing the emulator to get stuck, etc...
the lz4a is mostly unmodified (besides the section they bulldozed)
they removed a bunch of PSX libraries that are implemented in native code / HLE
Will this be some partial compilation of the game?
it's clever what they've done, but I haven't seen any evidence that they recompiled the source
other than maybe the german release
which is completely different to any other release
seems like somebody realised the libraries could be implemented natively since they're shared across most playstation titles
so just need to locate them
which they successfully did, as they bulldozed the entire area
but for most of the game versions the code that remains (which is most of the game logic / core engine) it's identical to the original CDs
there's certain points where the emulator detours the PSX code and runs some native hook
otherwise, most of the game remains the original r3000 machine code
german release is huge ??? wtf though
probably easier to express what hasn't changed than what has
finally got that into shape
to do the PS-X reconstruction you need the libs from https://github.com/nuggslet/MGSM2Libs
in system/roms
with dumpsxiso/mkpsxiso you can turn the MC images back to bootable ISOs in other emus now
(except german of course)
german is for another day
interesting, the emulator tells you that this is not an mgs executable and spits you out. There are many checks
I would still like to try to get a custom savestate to load from the start, unless that is what you did to make it start faster in your fixes
prob can't find an accelerator
it matches them with this
see also #1168512986491670548 message
if it flat out refuses to boot if there's no accelerator thats a bit lame
might be patchable
but the real fix is to add your own accelerator 
not bad, the truth is that you are great doing these things. I congratulate you and if you need someone who wants to try things, tell me. I'm very interested in how emulators work.
the accelerators themselves are in the emulator exe
I already looked at your code, I don't get along very well with C, only C# xd
Inside or outside PS-X EXE? There is a lot of SRAM data, essentially 2 before starting the executable, which the emulator asks for or else it crashes, the rest of the data can be filled with 0
literally "METAL GEAR SOLID.exe"
the emu itself
Aaaah xd main from NX
are u looking at the switch version?
damn
and yeah the m2fix code is probably a bit daunting at first glance lol
i'm trying to make it cleaner and more obvious as i go
essentially it links in a copy of the squirrel VM code
with a detour in the .exe when it instantiates SQVM
and that basically lets it do whatever with the VM itself
which has turned out to be quite powerful lol
damn, this ketchup mod loader gonna be get better and better
im just glad i finished up the m2patch update. i've been sat on some of those changes for a month lol
finishing stuff is important
Yes, I used the Switch version. I tried to use the PC one but the files take up a lot of space, maybe I would only make modifications from romfs, I don't feel prepared to use ghidra to modify main but I did see many interesting things about the functions
yeah I guess modding romfs is easiest on switch but a dll is easiest on PC
most of what m2fix does can be translated back to the equivalent squirrel if needed
Did you have a version of MGSM2Fix that have a option can turn off all patches, at the time being might want to continue testing the CN ppf if there's no further errors and such myself
not yet but i'll do that soon
just need to work out how to best present that option as it should really only be used if "you know what you're doing"
right, maybe like "for modders testing or only disable it for particular mods"
I'll also add an option to disable the RAM patches I think
I'll see
it might be such that I can keep one of the patches and avoid having the achievements unlock
if I understand things correctly
and that patch will not affect anything anyone tries to do as it exists in extra RAM
but that will give people the "pure" OG CD experience lol
these options need big warnings attached tho
There's nothing for upscale the resolution of the game yet?
ok nice, i was right
can disable all the RAM patches besides the "extra RAM" one
which should have no effect on any other mods coz they have no reason to patch that area
and that prevents achievement spam
my headcanon is that it's an achievement for seeing johnny's ass
alright
v1.1 incoming
You could enable the save state and cheat code options and allow cheats to be loaded without having to use m2Archivetool, of course, if that occurs to you.
and there won't be more graphic options by any chance?
never say never, i just only have so much time lol
if we get round to it, its possible
i don't think their cheat code system supports gameshark or anything like that
i'd prefer gameshark i think
There are also hidden options in Edit Save Data to export and import games from the Memory Card, these options do not work in NX because they require permissions to read or write
I guess the PC version can work
anyone made a patch to restore the german version yet lul
i guess I should do that
"official" MGSM2Fix example mod
This emulator is quite modifiable, it can even be used as a core to use as a wrapper in some other frontend if it is studied in depth. It could be the cross-platform POPStarter. If your mod manages to run another game in the future, there's no need to rush. I know people don't pay much attention to the potential of M2 emulators.
yeah, we've talked about using it as a frontend for future MGS decomp stuff too
oh hello
different file timestamps on germany
the original CD release was built 30/11/1998
the one in MC was built 16/12/1998
does that help anyone track it down? 😛
I think that pretty much confirms what I thought; that the German version in MC is an older build they had in case it didn't pass certification due to Germany's strict guidelines about blood/gore in video games at the time
Oh I misread
Interesting
Since it is that old though maybe it's still the case that it's a build they had ready in case it failed certification
Since it never got released until MC
Would that more recent version have debugging things that would allow you to work better on this collection? I read an anecdote about Bluepoint that they used to use the latest versions for their remasters, since many bugs were possibly corrected, unlike a source code that could have undergone many changes if it were used in The Twin Snakes
highly doubt it if its only 2 weeks later
the game already has a debug menu built in
STAGE.DIR is bigger in the MC version
18kb
Well, there must be something about this version they call MC, that they made more compilation than other versions
MGS1's emulation has nothing to do with it Bluepoint, right?
lmao
guess i should actually look at the 1.4.0 exe
got so much to do im only doing this now
ok progress, after testing it with 1.1., setting GlobalCDROM = false. As the references, the first image is still like that in gibberish, but the second image problem is fixed. So weird
is it actually gibberish tho
No, I only mentioned it because they have standardized how to preserve games.
Using GOLD versions of the game that have been released or later versions that have not been released and were archived. These studies already choose whether to take it to emulation, partial compilation or a complete port.
did you also try GlobalRAM = false?
HAH
thats sum bullshit
wonder which RAM patch breaks it
there arent many
only like 10
vast vast vast vast majority of the patches are CDROM
i can probably figure that part out
it's a clue for categorising them
btw worth to mention that when only set GlobalCDROM = false, although the title screen is back to "press start button", but in game the codec call is still in "press view" something like that
yeah it's probably just where that particular string resides
confirmed no BIOS lol
it all zeroes
but yeah with both GlobalRAM and GlobalCDROM set to false it should be the same as playing the original CDs
glad that it works
finally it makes sense
here is something interesting, GlobalRAM = false GlobalCDROM = true, the item description is normal, but this is still looks like this
yeah its a CD patch that breaks that one
i could solve it by making ketchup load before MC patches but
its not really a fix
true fix is to categorise them all
obviously shouldn't have any MC text patches enabled if using a translation mod
but for that kind of granularity we need to know which ones are text patches lol
Anyone have insight into why johnnys boxers were changed from gray to brown?
Bluepoint's decision process is heavily mythologised. They just use whoever up-to-date source code the publisher still has.
For instance, Substance for PS2 is a later edition. But they based their port on for Xbox version.
Certainly studies tend to exaggerate what they say. I prefer not to affirm anything since this information contradicts some words from the study itself here
They don't reverse engineer retail discs of the game.
They obviously have access to source code and assets, since they printed the HD collection with things that were meant only for MGS3's Trial Edition for example, or MGO assets and assets only made for MGO1's trailer, being somewhat left in despite only being on Disc 2 or not even in any official release before it.
Nobody really believes them when they say this.
I'm not having a go or anything.
i think you can work out the compile time of the german PS-X EXE
based on the time delta between other files
wait, is that even necessary
prob just an artifact of my tampering that i can't see it
Part of it is hard to determine, they only said they used archived art or asset, but not the source code. If they had used it, it would also be linked to 3DS functions and custom camouflage.
But it tends to be a misleading article, the art director of Silent Hill denied some accusations about SH3 that were made there
Sorry, these are other titles and it's off topic xd
so i've generated a list of the CDROM patches that conflict with the chinese translation
this is for disk 1
but presumably its a similar situation on disk 2 and once we know what disk 1's problems are it should be easy to work those out
they patched a fucking shitload of this game
if this is just the conflicts with one mod lol
oh wow
there's actually
even more than that
i improved the script and found more
one sec
moar
that is every patch conflict for sure
in cdrom anyway
for all 3 disc right?
nah just disc 1
I see
there's not really much point doing all 3 since if we identify disc 1 i think the others will just be more of the same
can just match them by their content then
if we identify all of these then I can make separate settings for them so as much of the MC stuff can exist alongside the translation
pretty nice improvement
achievements definitely won't unlock with GlobalCDROM and GlobalRAM turned off
i've done just enough to avoid them all unlocking instantly
but they won't unlock normally
i think im gonna focus on not-mods-or-patches for a bit
things are fairly ok and i don't think its the best use of time to stare at le data for weeks and weeks
probably better to look at the emulator itself a bit more
ahhhhhhhh
i think i know how they broke the blur
there is much more to this puzzle
they've been a bit naughty and used the accelerator system to hook into the game and apply additional stuff
one of these accelerator routines is checking the current stage name
this one checks stages s17a and s18a
the work that has gone into this is staggering
hooked the module load func
clone all of the modules into m2fix -> modify them -> load the modified one instead -> profit?
this is the next frontier i think
gives us a door into the emu itself
I honestly don't understand why they'd do all that.
its an incredible amount of work
anyway, its much quicker to figure out this stuff if I can hook it all and see what it does in real time vs staring at le disassembly
since its basically a huge array it seems tractable to clone it into m2fix memory if I can figure out the fairly simple looking structures
there are seemingly three types of module
which i've called "system" "kernel" and "user" based on what they seem to be used for
system is hw-like stuff
kernel is bios-like stuff or psx libraries
user is game-specific stuff
there's a different user set for each game version



