Reply 20 of 22, by carlostex
- Rank
- l33t
DaveDDS wrote on 2025-09-04, 14:08:Thanks, I will admit that since you seem knowlegable in things like patching software, DOS INts, instructuion sizes etc. I have assumed that
you have a fairly high level of technical skill ... If any of out suggestions sound interesting enough that you might want to try them, but aren't
emtirely sure how to do so ... by all means, ask - we can help you figure outa lot of that stuff.
Thank you, i always appreciate help. And often when i do need help, i do ask people who know more than me. My skill level is not that high, but enough that i could focus on the goal i set for this project. Sometimes i do surprise myself, i don't remember the game but on one occasion, i was in dire need to find space to place some sound routines. I found a series of instructions that were writing zeroes in sequential memory addresses. Each one of those was 6 or 7 bytes, so i decided to push the register i needed to the stack and use REP STOSW to replace those writes. Even with PUSHing / POPping registers i saved some 40 bytes, more than enough space to place my routines always assuring i wouldn't destroy anything in the process. Very satisfying.
DaveDDS wrote on 2025-09-04, 14:08:I will say however that figuring out some things (like a suitable INT to trap to get control after a program has unpack itself) will need
more "figuring" on your part - these kinds of things are just not consistent enough for people who don't have direct access to it do much
more than offer suggestions.
Yeah I'm aware of that, that's why i focused on this first, which is already a big and a lot of work. I did not close the door on doing other patches like replacing OUT C0, AL with INT C0, AL. Although the latter is simpler in terms of patching, it also faces dealing with difficulties like encryption / compression. While implementing a loader is a very smart idea, it is beyond what i can do at the moment, specially considering the scale of the project. I offer this for free at the expense of my free time and sometimes my sanity, and still somehow some are bickering / disappointed. I don't know what more I can do.
All in all, i have almost 200 games patched already, and this maintaining 2 folders with patches for port 1E0h and other for port 2C0h. I mean, just choose the appropriate patches for where you set the ISA card, drop the file(s) at the game's directory and it will work. No need to use extra programs, TSR's or whatever. How is this so horrible?
I also modified and recompiled the John Miles AIL2 (ADV), AIL3 (MDI) and protected mode AIL/32 (DLL). With those, the number of games supported grows immensely.