VOGONS


First post, by wbc

User metadata
Rank Member
Rank
Member

hey there again!

I've recently experimenting with 386+ hardware debugging features, and especially with Debug Extensions, available on Intel Pentium/AMD K5 and later, which allow (with some limitations) to implement simple I/O port trapping in pure real mode. As an example, I've made a TSR to redirect writes to port 0xC0 (used for Tandy Sound) to any other I/O port or to TNDLPT device on parallel port, while not requiring Virtual 8086 mode - this may have better compatibility than existing solutions like TNDY.COM or TNDLPT TSRs.

Download and source code: https://github.com/wbcbz7/TNDYBP

Please note that this method will not work on 386/486 (and possibly Cyrix CPUs), as these CPUs do not support hardware I/O port breakpoints, plus it works with real mode applications only - but as Tandy games are mostly written for the 8086/8088, this shouldn't be a much of issue. Although the hardware breakpoint feature can be used to circumvent Tandy checks, it is not implemented, so you still have to use patches executables with Tandy checks removed.

Any feedback/suggestions/bug fixes, as always, is welcome :)

--wbcbz7

Reply 1 of 2, by coldturkey

User metadata
Rank Newbie
Rank
Newbie

Just wanted to send a shout-out for TNDYBP! I recently bought a Picogus and was trying to use TNDY to do the port redirection. For some reason, as soon as I changed a directory in DOS after running TNDY a "General Protection Fault" would be thrown which seemed to crash TNDY and send me back to realmode. I had emm386 disabled and a very bare bones autoexec.bat and config.sys.

Although I assume with enough searching and experimenting I could probably have gotten TNDY to work with my rig, I was not looking forward to the dozens of hours that was going to take. Then I discovered TNDYBP, and it worked perfectly on the first try. Thank you so much for taking the time to write this!

Reply 2 of 2, by wbc

User metadata
Rank Member
Rank
Member
coldturkey wrote on 2024-06-24, 16:12:

Although I assume with enough searching and experimenting I could probably have gotten TNDY to work with my rig, I was not looking forward to the dozens of hours that was going to take. Then I discovered TNDYBP, and it worked perfectly on the first try. Thank you so much for taking the time to write this!

wow, glad to hear it worked perfectly for you! :)

--wbcbz7