VOGONS


First post, by carlostex

User metadata
Rank l33t
Rank
l33t

Hi friends,

since the first hardware became available for 3 voice sound on non-Tandy PC's i sorta became the official curator for patched binaries, that circumvent PCjr/Tandy 1000 machine detection, in order to playback on third party hardware. Back then, there was only the lo tech Tandy card, but today, we have a couple more options.

In the 3 years that have passed i patched mainly a few Sierra AGI versions, some old Windham and Telarium adventure titles, and the early Lucasarts adventures. ripsaw8080 contributed with Thexder and helped with Maniac Mansion, Scali if i remember correctly, contributed with the CGA version of Skate or Die. And little more was done since.

Last couple of months i've been working hard to compile a list with the games that were patched, and those that were left to patch. In the meantime, i patched quite a few more and i have uploaded them to ftp.oldskool.org already. There are a lot of games that do not need patching at all, and quite still a few left to patch.

There were games that sounded wrong when using port redirection. I found that the reason for it was that some titles write not only to port 0C0h, but also to port 0C1h. The TSR redirectors at the time did not listen to port 0C1h, thus wrong music was heard. So i contacted a few people (dreamblaster for the TNDLPT tool, and matze79 for the TNDY.COM tool) with some instructions to correct the problem. Thanks to that, this issue was mostly fixed.

This is still a work in progress, some games i lost a lot of time trying to patch, but i've been unable to, although it does seem possible. One such example is Accolade's "Bar Games". Other titles like "Defender of the Crown" or "Budokan" present their own challenges. My main tool has been IDA Pro, but i have no experience disassembling booter titles or DC's. "Budokan" is an even weirder one, as it seems to be encrypted in its own way.

So i'm attaching the main document, which lists the games that have been patched and what executable has been uploaded for them. As i stated before, you can get the binaries at ftp.oldskool.org, cortesy of Trixter aka Mobygamer.

Filename
Tandy patching project.txt
File size
23.71 KiB
Downloads
3 downloads
File license
Fair use/fair dealing exception
Last edited by carlostex on 2020-11-18, 21:19. Edited 1 time in total.

Reply 1 of 9, by maxtherabbit

User metadata
Rank Oldbie
Rank
Oldbie

Do you also patch the hard coded I/O address games to use "int 0c0h" instead of "out 0c0h" so people can use the games without port redirection software that requires a 386 or better? I remember scali describing this method and I thought he said it was you doing it but I could be wrong

Reply 2 of 9, by matze79

User metadata
Rank l33t
Rank
l33t

I really appreciate your Work!

Thanks carlostex!

Dreamblaster is still working on getting Metal Brackets for Tandy Cards, i hope it will not take too long until it will show up in serdashop 😁

But would it not better to make some sort of diff files and a patcher so there are no legal issues ? maybe in some countrys its illegal to distribute patched executables.

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 3 of 9, by Benedikt

User metadata
Rank Member
Rank
Member
matze79 wrote on 2020-11-17, 12:45:

But would it not better to make some sort of diff files and a patcher so there are no legal issues ? maybe in some countrys its illegal to distribute patched executables.

I'd like to suggest the VCDIFF format as standardized by the IETF in RFC 3229. The most widespread implementation is the command line tool xdelta.

Reply 4 of 9, by LordMortiferus

User metadata
Rank Newbie
Rank
Newbie

Thanks a lot for the patches, carlostex! And kudos to everyone else who helped.
Matze has also started a list for tandy 3-voice compatibility on non-tandy systems. Maybe you find additional games or workarounds in that list.

Reply 5 of 9, by matze79

User metadata
Rank l33t
Rank
l33t

Yeah but TSR changed a lot since it started so that is no longer recent maybe.

At least it would give some Start point

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 6 of 9, by carlostex

User metadata
Rank l33t
Rank
l33t
maxtherabbit wrote on 2020-11-17, 05:18:

Do you also patch the hard coded I/O address games to use "int 0c0h" instead of "out 0c0h" so people can use the games without port redirection software that requires a 386 or better? I remember scali describing this method and I thought he said it was you doing it but I could be wrong

No, that wasn't my goal. Although it can probably be done. In any case port 0C0h works well with both 8086/8088 and 286's. So i don't really see the point. But it can be done i guess.

matze79 wrote on 2020-11-17, 12:45:

But would it not better to make some sort of diff files and a patcher so there are no legal issues ? maybe in some countrys its illegal to distribute patched executables.

Is that really an issue? Because i really would rather finish this and have a repo with patched binaries than having to create a patcher. And i have no experience with that. And there's the question of multiple game versions...

LordMortiferus wrote on 2020-11-17, 18:35:

Matze has also started a list for tandy 3-voice compatibility on non-tandy systems. Maybe you find additional games or workarounds in that list.

I don't quite fully understand that spreadsheet (although its much better to use a spreadsheet than a .TXT file like i did). For instace, when looking at the Stunts entry i get that the game sounds fine on XT, 286,386 and 486 but then on a Pentium using the por redirectors there's an issue. The issue is described as a timing issue, but it's not that: as i explained on the OP some games write to port 0C1h besides port 0C0h. The port redirectors only listened and forwarded what was sent to port 0C0h, thus the garbled notes.

Prince of Persia and Prince of Persia 2 seem to be suffering from a similar issue but i've yet to find the cause for this one.

Reply 8 of 9, by maxtherabbit

User metadata
Rank Oldbie
Rank
Oldbie
carlostex wrote on 2020-11-18, 19:22:

No, that wasn't my goal. Although it can probably be done. In any case port 0C0h works well with both 8086/8088 and 286's. So i don't really see the point. But it can be done i guess.

286's have a second DMA controller at that address so not really

Reply 9 of 9, by LordMortiferus

User metadata
Rank Newbie
Rank
Newbie

You probably can add Ski or Die to your list. If I remember correctly and my entry in matze's spreadsheet is correct you can replace adski.smb with tnski.smb and start the game with "s.exe adlib" to get tndy 3-voice music.

Edit: I do not have any problems with port 0xC0 on my 286 PCs. However, to my knowledge problems with the 2nd DMA controller could occur when using a LAN or SCSI card in a 286.