VOGONS


Tandy patching project REDUX

Topic actions

Reply 20 of 26, by carlostex

User metadata
Rank l33t
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.

Reply 21 of 26, by digger

User metadata
Rank Oldbie
Rank
Oldbie
carlostex wrote on 2025-09-05, 01:06:

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.

You also recompiled the AIL3 (MDI) drivers? Are the sources even available for those? I know John Miles released the source code of the AIL2/ADV and AIL/32 drivers, but as far as I know, the sources of the AIL3 drivers were never released. Or maybe you meant that you patched/modified the AIL3 drivers, while you recompiled the others?

Reply 22 of 26, by carlostex

User metadata
Rank l33t
Rank
l33t
digger wrote on 2025-09-05, 12:14:

You also recompiled the AIL3 (MDI) drivers? Are the sources even available for those? I know John Miles released the source code of the AIL2/ADV and AIL/32 drivers, but as far as I know, the sources of the AIL3 drivers were never released. Or maybe you meant that you patched/modified the AIL3 drivers, while you recompiled the others?

The sources are out there in the wild. I'm surprised you find this a surprise because there is a CMS.MDI driver made by Tronix and Innovation SSI INNOV.MDI made by bristlehog quite a while ago. Yes, i modified and recompiled the original TANDY.MDI driver. In fact, my doal was to make a digital driver for the AdLib Gold ADLGOLD.DIG (it never existed), but i only went so far as making detection work. I'm not qualified to work on the rest. Also modified and recompiled the direct drive digital TANEXTX.COM DIGPAK driver by John Ratcliffe, but this one is far far less interesting than the others.

Reply 23 of 26, by Muckrake

User metadata
Rank Newbie
Rank
Newbie
carlostex wrote on 2025-08-11, 21:58:

As an addendum, during the patching process i found something i never knew. So LUCASARTS dropped Tandy support for the 256 color version of Indiana Jones and the Last Crusade right?? Er... well they dropped the "ts" command line option from the EXE but the sound routines and the data are intact!!! So there's a patched version on the FTP that allows you to play Indy 256 color with Tandy 3 voice sound! Was just a matter of defeating Adlib detection + making it believe it's running on a Tandy PC and 3 voice Tandy will play!

So there is apparently another benefit to the patch you did. For the last few weeks, I've been patching Tandy games to run in 16-color graphics and 3-voice sound on a PCjr. But for some odd reason, when I patched the Tandy version of the Last Crusade (I patched multiple different versions, including both cracked and protected ones), it refused to recognize the 3 voice sound, with or without a sound driver (there are several for this purpose on the jr to make it compatible with the Tandy). It just played the beeper music instead, even with the "t" and "ts" command line options. Then I realized none of the patching instructions I found online for this game mentioned 3 voice sound, only the 16 color graphics. So I figured it was probably hopeless for me to even try, since even the patch authors couldn't figure it out. But here comes your patch. (I'm assuming it's the same one I found on Mobygamer's OldSkool site.)

Anyhow, as a last ditch effort, I patched that for 16 colors on the jr, dropped it into one of the Last Crusade rom dumps, and voila. Not only did the game run in 16 colors with that great 3 voice sound on the jr, but it did it without needing any command line arguments. What a save! So hats off to you, my friend. Your patch definitely helped me out, and for a purpose you probably never intended, 🤣.

Reply 24 of 26, by digger

User metadata
Rank Oldbie
Rank
Oldbie
carlostex wrote on 2025-09-05, 12:51:
digger wrote on 2025-09-05, 12:14:

You also recompiled the AIL3 (MDI) drivers? Are the sources even available for those? I know John Miles released the source code of the AIL2/ADV and AIL/32 drivers, but as far as I know, the sources of the AIL3 drivers were never released. Or maybe you meant that you patched/modified the AIL3 drivers, while you recompiled the others?

The sources are out there in the wild.

The're in the wild, but are those leaked sources, or were those drivers officially released as open source at one point? That's what I really meant to ask here.

I'm surprised you find this a surprise because there is a CMS.MDI driver made by Tronix and Innovation SSI INNOV.MDI made by bristlehog quite a while ago. Yes, i modified and recompiled the original TANDY.MDI driver.

As often as I'm on the forum, sometimes something does get past me. Thanks. 😅

I certainly appreciate your effort to develop such drivers. But in the end, the question whether those sources were leaked illegally or officially released under an open source license (or explicitly into the public domain) really does matter for the legality of any newly developed .DIG and .MDI AIL3 drivers. Unless those drivers were developed from scratch somehow without the use of any illegally leaked code, or perhaps from an independently developed alternative SDK that didn't use any illegally obtained code.

Reply 25 of 26, by carlostex

User metadata
Rank l33t
Rank
l33t
digger wrote on 2025-09-08, 15:30:

They're in the wild, but are those leaked sources, or were those drivers officially released as open source at one point? That's what I really meant to ask here.

I honestly have no idea, but if you're sure the ones that are out there are leaked, then that's what they are probably.

digger wrote on 2025-09-08, 15:30:

As often as I'm on the forum, sometimes something does get past me. Thanks. 😅

I certainly appreciate your effort to develop such drivers. But in the end, the question whether those sources were leaked illegally or officially released under an open source license (or explicitly into the public domain) really does matter for the legality of any newly developed .DIG and .MDI AIL3 drivers. Unless those drivers were developed from scratch somehow without the use of any illegally leaked code, or perhaps from an independently developed alternative SDK that didn't use any illegally obtained code.

Well in that case, assuming that the drivers are leaked, I'm going to talk to Jim, the FTP is his after all, and I wouldn't like to get anyone in trouble. I looked at it and it seems John Miles sold the IP to RAD and RAD was later acquired by Epic Games. There's no more mention of MSS3 on RAD Tools, but it's Epic's IP so yeah.

Reply 26 of 26, by MobyGamer

User metadata
Rank Member
Rank
Member
digger wrote on 2025-09-08, 15:30:

But in the end, the question whether those sources were leaked illegally or officially released under an open source license (or explicitly into the public domain) really does matter for the legality of any newly developed .DIG and .MDI AIL3 drivers. Unless those drivers were developed from scratch somehow without the use of any illegally leaked code, or perhaps from an independently developed alternative SDK that didn't use any illegally obtained code.

There is the letter of the law, and the spirit of the law.

  • By the letter of the law, AIL 3 was sold to Rad Game Tools, and the copyright is currently owned by Epic following their acquisition of Rad.
  • By the spirit of the law, the code in question is well beyond any form of economic recovery by Epic. They are not licensing AIL 3 for DOS projects any more, and haven't for several decades. They may not even have the sources and binaries any more. Furthermore, the licensing in question is not for distribution of the drivers, but for the SDK, support, and license for inclusion in a commercial product. It is murky how much of that applies to a patched driver that is enabling extra sound support for games the unpatched driver already came with.

I have no problem whatsoever hosting (on my FTP site) patched binary code that is well beyond economic recovery for the current copyright holder. So, not only are these patched drivers ok, I hope that interested parties continue adding more sound support to more games, and I am happy to host further patches.