#Modding the MGS1 emulator

1 messages · Page 10 of 1

pure radish
#

what's the latest version of git for win98

pure radish
#

got a CD copy of the original PC release

dawn flare
#

Damn

zinc ferry
#

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

SolidSnake11さん(@RSolidSnake11)のツイートで知ったのですがマスターコレクション版のMGS1ではジアゼパムと風邪薬のアイテムBOXのデザインが変更されていたんですね。

1998年のオリジナル及び2008年のゲームアーカイブス版では赤十字だったのですが、マスコレ版は緑背景に白の十字になっています。

↘️ Quoting SolidSnake11 (@RSolidSnake11)

That moment when you can't put a red cross in your game anymore.

pure radish
#

good to know!

#

will have a look for that when I get back home

cerulean coral
pure radish
#

noice

finite peak
#

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

red cradle
finite peak
#

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

zinc ferry
zinc ferry
# finite peak The steam deck release is now public and I did one with the shader and one witho...

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) :>

kindred chasm
#

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

finite peak
finite peak
#

Make it Vortex friendly!

kindred chasm
#

How are you liking the deck?

finite peak
#

Love it but it has quirks

finite peak
#

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

pure radish
pure radish
#

The King of Cope

#

Merry Christmas

finite peak
#

Merry Christmas everybody!

pure radish
#

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

pure radish
#

anyone seen this dope installer

dusty radish
#

now they all say fitgirl repack sadge

pure radish
#

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

finite peak
#

That thing is an ancient relic of the past

finite peak
#

well duckstation doesnt suck in linux, thats odd

dusty radish
#

why is that odd

past sonnet
#

yea thats not odd, most emulators work fine on linux

dusty radish
#

oh wait i rember ur the one with the duckstation hate boner

#

for reasons im sure

pure radish
#

cuckstation amirite

dusty radish
#

more like YUCKstation coolrick

finite peak
#

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

finite peak
#

duckstation is pretty cool now

pure radish
pure radish
cerulean bough
kindred chasm
#

One step closer to the Genova suggestion

chrome path
#

There's a convention for fans of Genola?

soft falcon
#

One step closer to heaven

pure radish
#

i coulda turned on the fast input months ago lol

#

i wasn't sure if it did anything

soft falcon
#

...at inputting

sick osprey
pure radish
#

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)

kindred chasm
#

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

pure radish
#

so i just extracted v1.4.0 and this is the bit they added

kindred chasm
#

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 mgnSweat

pure radish
#

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

kindred chasm
#

So their fix for unlimited speed introduced input delay

pure radish
#

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

chrome path
pure radish
#

reminds me of modding my tf2 config for null cancelling

kindred chasm
#

I keep forgetting m2 did the emulator. They did fighting games before?

pure radish
#

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

chrome path
#

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

pure radish
#

the "M2EpiArchSubInfo" enums and such don't suggest there's much architected yet besides psx and 16bit era stuff

chrome path
#

I wouldn't be surprised if they had a bit of Saturn there.

pure radish
#

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

pure radish
#

gulf war order

past sonnet
#

Honestly the best thing DSP ever did was start the Kojima World Order meme

#

Pretty much the funniest thing he ever came up with

dusty radish
#

idk i still think about the jerk cam

chrome path
#

That's PTSD.

hoary pier
#

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

dusty radish
#

it's all u needed

#

🤤

pure radish
#

wonderin what people are most interested in rn

#

im gonna look at a rom modding system otherwise

soft falcon
pure radish
#

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

indigo quartz
#

Why do I see people on Reddit and Steam saying MGS1 has "audio compression" issues?

cerulean coral
# pure radish

maybe related to how fast you press a button, I remember a guy complained because he was too fast pressing buttons lol

cerulean bough
#

Theres still a few with chaff nades, alerts in some rooms, and codec sounds

#

But honestly most people it makes no difference

pure radish
#

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

red cradle
#

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

pure radish
#

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

indigo quartz
#

Would it be possible to memory-patch English item descriptions into Integral?

pure radish
#

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

red cradle
#

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

pure radish
#

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

pure radish
#

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

kindred chasm
#

What am i looking at mgnSweat

pure radish
#

a successful proof of concept

kindred chasm
#

Mgs1 finally gets sex update?

#

I'm missing context is this for ripping ISOs from alldata or inputting isos?

pure radish
kindred chasm
#

Dsp is a curse why does he keep blessing us

pure radish
#

i mean i guess you can inject an iso this way but

#

very terribly

kindred chasm
#

Oh damn. That's actually big

pure radish
#

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

kindred chasm
#

So this process leads to creation of new patches?

red cradle
#

this is awesome for future MGS1 modding

pure radish
#

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

kindred chasm
#

Could just use integal for all modding purposes

pure radish
#

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

red cradle
#

well I'm amazed you figured out all these so quickly

finite peak
#

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

pure radish
#

i have LCDs and no issue

chrome path
#

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.

pure radish
#

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

finite peak
pure radish
#

oof

kindred chasm
#

I hadn't notice any screen tearing but i haven't played long enough to notice tbh

finite peak
#

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

dusty radish
#

oh yah?? well mines 78 inch!! dogedevil

pure radish
finite peak
#

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

finite peak
#

I wonder how hard geometry correction would be on the decomp

kindred chasm
#

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?

pure radish
#

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

pure radish
#

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

kindred chasm
#

Says you. I'll grow some 1.1 integal versions

pure radish
#

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

pure radish
#

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

pure radish
chrome path
#

Ooooooooo

#

What've you changed?

pure radish
#

im adding a mod loader

chrome path
#

I got that from the mod directory thing. That looks like you're actually modifying bytes.

#

I'm asking what's getting changed there

pure radish
#

it's applying a chinese fan translation patch

#

well

#

game boots

#

to the devmenu

#

guess i need to play some

chrome path
#

ohhhh!

pure radish
#

kinda works?!

#

normal

chrome path
#

Ohhhhh! You actually did it!

pure radish
#

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

chrome path
#

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.

pure radish
#

we can just patch the german copy back to the original using this

#

rather than the extra effort to add extra disks

red cradle
#

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

pure radish
#

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

red cradle
#

hope all modders can see your tool news

#

this is exciting

pure radish
#

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

red cradle
#

yeah, glad we have our own systeam

pure radish
#

any patches made for this will work in other emulators too

pure radish
#

alright, fixed it so it works fully i think

#

needed to understand iso9660 a bit lol

pure radish
#

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

red cradle
#

pretty neat, btw the chinese translation is only worked with Eng dub, I wonder if it can modified with JP dub

pure radish
#

it will support all the versions

#

it'll load as many patches as you have in the correct dir

red cradle
pure radish
#

so you can have multiple

#

as long as they don't conflict ofc

red cradle
#

damn that's awesome

pure radish
#

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

red cradle
#

btw they didn't translate the staff radio stuff in integral. So it's normal seeing nonsense texts when you test the game

pure radish
#

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

red cradle
#

with this maybe you can actually add the blur back on Johnny's ass lol

pure radish
#

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

hoary pier
#

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

pure radish
#

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

hoary pier
#

Every aspect of remaking it would be pretty hard

pure radish
#

3 is hard enough

#

but 1 would be brutal

hoary pier
#

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

pure radish
#

tbh TTS is way more graphic with Johnny

#

don't wanna see what that looks like without censor tbh

hoary pier
#

Hahaha

pure radish
#

i can just about manage the PSX version

#

in TTS its very goatse

hoary pier
#

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

pure radish
#

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

dusty radish
#

tts is silly fun

#

first person aiming breaks the entire thing

pure radish
#

i like that they added first person movement in mgs1 pc

#

that was a good QoL change that didn't break the game

pure radish
#

anyone got a name suggestion for this mod loader

#

im thinking "ketchup"

dusty radish
#

i like ketchup

pure radish
pure radish
#

yeah probably going with ketchup

#

foxdie is reserved for something much more important

hoary pier
#

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

hoary pier
kindred chasm
#

Personally I'm for ketchup in the context that Konami slipped in the path to success

#

Nuggslet' Ketchup Manager mgnLUL

#

Hal in 2 looks like he discovered hentai and hasn't left all month

chrome path
#

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.

pure radish
pure radish
#

kojima kojima gulf war order

meager ice
# chrome path

The lighting can make him look like hammered shit but TTS Snake always looked really good IMO

pure radish
#

its new years eve who doesnt look hammered rn

meager ice
#

I'm sure raiden is doing fine unless he's on petrol

meager ice
#

2 years flat is a world record

chrome path
#

He hit the clone wall.

meager ice
#

It'd probably be more fair if TTS had an HD equivalent to MGS2's model

#

Hey Konami!

hoary pier
# chrome path

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)

chrome path
#

The Gamecube's lighting models are all kinda... vibrant.

hoary pier
#

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

chrome path
#

I think that might just be down to Silicon Knights. Meryl looks fine in MGS2.

#

Or down to the Gamecube hardware or something.

meager ice
#

The environments definitely felt very "MGS2" in a bad way, Shadow moses was way too clean in TTS compared to MGS1

chrome path
#

They were definitely silicon knights.

#

They had a tight polygon budget.

hoary pier
chrome path
#

I don't think so. Slightly modified, perhaps.

hoary pier
#

Ah, okay

chrome path
#

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.

hoary pier
chrome path
#

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.

hoary pier
#

Ah

#

Let's not fill this thread with too much off topic stuff. We should maybe move to #mgs1

chrome path
#

Oh. My bad. Too much new year spirits I guess.

meager ice
#

Right right

chrome path
chrome path
#

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.

meager ice
#

Or is that too broad

chrome path
#

I think he wants something a bit smug.

#

Tongue-in-cheek.

meager ice
#

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

chrome path
#

I think Handker suits it better, since it literally "patches" something in-game.

#

I mean, kind of.

chrome path
meager ice
#

Don't Snake and Otacon fight to prevent that kind of dystopian future?

chrome path
#

The Patriots are an American group. A (Cross) as Enter is American control.

#

The Sonynuneno are controlling you.

meager ice
#

Fair argument, would make it closer to the og releases lol

chrome path
#

START3

#

I dunno. Ketchup's goofy. Handker's a very dark joke.

#

Shape Memory Alloy.

#

I'm gonna go die in bed.

pure radish
#

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

pure radish
#

we're making progress boys

#

release date: 2024

glad frost
#

What is this for ^ ?

pure radish
#

20 mins until u find out

glad frost
#

😮

pure radish
cerulean bough
#

Seriosuly, godlike work on getting this together! Happy New Year and heres to a year full of glorious MGS1 modding!

pure radish
#

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

red cradle
#

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

kindred chasm
red cradle
#

hmm so the mod folders didn't included in the zip? we need to create directory ourselves?

red cradle
kindred chasm
#

That'll be great then mgnLove

#

If not asking help from experienced modders wouldn't hurt

red cradle
#

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

kindred chasm
#

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 mgnLove

finite peak
#

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

meager ice
finite peak
#

then get back to me on that one lol

meager ice
#

I've been meaning to replay TTS, just need Dolphin to stop being a bitch with my Xbox controller

finite peak
#

oh that, PM me

#

I can help you with that one

meager ice
#

Nice nice

#

Might get the music pack too

red cradle
# pure radish

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

chrome path
#

I don't know Chinese, but the Ration thing looks accurate based on the LIFE text.

chrome path
#

Ahhhhhhh

kindred chasm
#

Progress is progress. At least it's possible, hiccups can be studied and fixed

red cradle
#

for sure, I just glad most of the things works

wanton salmon
#

Hmm, is it possible to create a resolution mod using this?

kindred chasm
#

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

pure radish
#

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

pure radish
#

lol well thats a leftover i guess

zinc ferry
#

They have a ton of credits, they made the Genesis classic and all that

https://en.m.wikipedia.org/wiki/M2_(game_developer)#Games

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...

red cradle
#

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

pure radish
#

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

pure radish
#

also this entire modding system is less than 300 lines of code so i think it was the right way to go lol

tribal acorn
#

have you tried activating this

dusty radish
pure radish
#

can certainly try

#

i prefer the first person walking they added in mgs pc tbh

#

but yeah should be possible

tribal acorn
#

do you activate it similar to how they do the gameshark cheat?

#

or how would you do it

pure radish
#

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

pure radish
#

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

dusty radish
pure radish
#

i dont really understand why that works

#

but

#

iunno i just got a sense man

#

alright, another release i guess?

pure radish
#

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

red cradle
# pure radish

oof you're almost there, so close, this is the correct words

pure radish
#

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

red cradle
#

interesting...

pure radish
#

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

red cradle
#

this is a good thing we learned, so we can avoid the conflict stuff for the possible mods in the future

pure radish
#

ppf files are definitely fine coz it all works with the MC patches off

#

(and ketchup in principle is working fine)

red cradle
#

well I guess if the this CN ppf get released have to noted that turn off the MC patches in the settings

pure radish
#

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

red cradle
#

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

pure radish
#

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

red cradle
#

so for now the solution is add a setting that can turn off all the patches?

pure radish
#

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

red cradle
#

oh the ram didn't effect it, nice

pure radish
#

yeah, I guess I can do that then

red cradle
#

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

pure radish
#

wdym see the original form in the ppf?

#

ppf is a patch that turns X ISO into Y ISO

finite peak
pure radish
#

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

kindred chasm
#

Isn't it more likely they removed the blur from the game itself

pure radish
#

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

kindred chasm
#

I guess? I still don't understand how they messed with the. German version

pure radish
#

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

kindred chasm
#

I know but that still doesn't make sense to me like that's a lot of work for an unreleased version

pure radish
#

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)

kindred chasm
#

Dumb question but what if for the EU language pack, the german's the base game and the other languages are just patch?

pure radish
#

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

kindred chasm
#

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

pure radish
#

that matches the original releases tho right

kindred chasm
#

Dunno if it means anything but for having 6 different ISO packs it's only twice as big as US and Japan

pure radish
#

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?

kindred chasm
#

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

pure radish
#

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

kindred chasm
#

I must be misremembering it then that does seem right

pure radish
#

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

red cradle
#

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

pure radish
#

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

red cradle
#

yeah, the ppf method is efficient

pure radish
#

yeah, exactly, want to reuse existing stuff where possible

red cradle
#

well after this I guess the next step we can try bring the Japanese dub into Integral

#

jp dub with eng sub etc

pure radish
#

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

cerulean coral
#

Do you know how to modify the savestate and inject other game executables?

chrome path
#

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?"

dawn flare
#

Poor guards having an existential crisis because everything sounds wrong.

chrome path
#

They wanted to prevent Genome Altzheimers.

#

"Whose footprints are these??"
"We're gonna get you home, grandpa."

dawn flare
#

Go home Grandpa, you're Foxdying.

pure radish
#

wish i was foxdying

pure radish
pure radish
#

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

pure radish
#

ok there are actual patch clashes confirmed

#

very slowly dumping the clashing addresses

#

at least i can afk

red cradle
#

well hope this issue will be resolved soon

pure radish
#

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

red cradle
#

That's ok, take the times you need. I can imagine finding what causing the clashes is really time consuming

pure radish
#

yeah a lot of this work is actually quite easy just takes a long time

chrome path
#

Sadly the Metal Gear community is a trade of all jacks.

#

Well. That's good in ways.

floral dock
#

All of the cool people are here though

chrome path
#

How long has the Metal Gear Network been around?

pure radish
#

does the game really install all the DLCs by default now

chrome path
#

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.

kindred chasm
#

Afaik no, Konami just randomly dumps it on us

#

Probably still can't figure out how to grab the steam DLC links

pure radish
#

im surprised that caused them so much grief

#

they've got this far

pure radish
#

when do we get Darksydephil: KWO Wars

pure radish
#

just stuck it on a separate branch for now

#

i prefer ketchup loading after MC patches since it allows overriding MC patches

pure radish
#

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

cerulean coral
floral dock
pure radish
#

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

cerulean coral
#

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.

pure radish
#

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

cerulean coral
#

talking about how to start the mgs emulator

pure radish
#

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

cerulean coral
#

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

pure radish
#

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

cerulean coral
#

Well, you've already come very far.

pure radish
#

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

cerulean coral
#

The next thing to check is why it does not load custom SRAMs.

pure radish
#

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 🤣

cerulean coral
#

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.

pure radish
#

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

cerulean coral
cerulean coral
#

Why don't you look at the "getCdRomLocSeek" part, it's some information about where it is reading or where it starts

pure radish
#

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)

cerulean coral
#

Well, for me it is still a mystery how the savestates are loaded xd

pure radish
#

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

cerulean coral
#

About the entrypoint, is it adjusted by region or by executable? I mean the point that selects the emulator in SRAM to start

pure radish
#

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

cerulean coral
pure radish
#

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

cerulean coral
#

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...

pure radish
#

the lz4a is mostly unmodified (besides the section they bulldozed)

#

they removed a bunch of PSX libraries that are implemented in native code / HLE

cerulean coral
#

Will this be some partial compilation of the game?

pure radish
#

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

#

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

cerulean coral
#

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

pure radish
#

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 McCoughy

cerulean coral
#

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.

pure radish
#

the accelerators themselves are in the emulator exe

cerulean coral
#

I already looked at your code, I don't get along very well with C, only C# xd

cerulean coral
pure radish
#

the emu itself

cerulean coral
#

Aaaah xd main from NX

pure radish
#

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

red cradle
#

damn, this ketchup mod loader gonna be get better and better

pure radish
#

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

cerulean coral
pure radish
#

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

red cradle
#

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

pure radish
#

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"

red cradle
#

right, maybe like "for modders testing or only disable it for particular mods"

pure radish
#

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

north estuary
#

There's nothing for upscale the resolution of the game yet?

pure radish
#

nobody working on it

#

so why would it just appear lol

pure radish
#

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

pure radish
#

alright

#

v1.1 incoming

cerulean coral
#

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.

pure radish
#

i haven't actually looked at that stuff much yet

#

but yeah, could do

cerulean coral
#

and there won't be more graphic options by any chance?

pure radish
#

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

cerulean coral
#

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

pure radish
#

LOL

#

10/10

cerulean coral
#

I guess the PC version can work

pure radish
#

anyone made a patch to restore the german version yet lul

#

i guess I should do that

#

"official" MGSM2Fix example mod

cerulean coral
#

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.

pure radish
#

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? 😛

hoary pier
#

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

pure radish
#

nah the MC is a NEWER build

#

2 weeks later

hoary pier
#

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

cerulean coral
#

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

pure radish
#

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

cerulean coral
#

Well, there must be something about this version they call MC, that they made more compilation than other versions

chrome path
pure radish
#

lmao

#

guess i should actually look at the 1.4.0 exe

#

got so much to do im only doing this now

red cradle
pure radish
#

is it actually gibberish tho

cerulean coral
# chrome path MGS1's emulation has nothing to do with it Bluepoint, right?

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.

pure radish
#

did you also try GlobalRAM = false?

red cradle
#

hmm ok I'm try that now

#

holy shit it's fixed

pure radish
#

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

red cradle
#

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

pure radish
#

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

red cradle
#

here is something interesting, GlobalRAM = false GlobalCDROM = true, the item description is normal, but this is still looks like this

pure radish
#

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

indigo quartz
#

Anyone have insight into why johnnys boxers were changed from gray to brown?

chrome path
cerulean coral
chrome path
#

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.

pure radish
#

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

cerulean coral
pure radish
#

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

red cradle
#

oh wow

pure radish
#

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

red cradle
#

for all 3 disc right?

pure radish
#

nah just disc 1

red cradle
#

I see

pure radish
#

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

red cradle
#

pretty nice improvement

pure radish
#

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

pure radish
#

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

pure radish
#

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

chrome path
pure radish
#

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