VOGONS


TNDLPT : Tandy Sound on parallel port

Topic actions

First post, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
another project in progress : TNDLPT : a parallel port soundcard that uses an SN76489AN chip.

TNDLPT.png
Filename
TNDLPT.png
File size
27.15 KiB
Views
4303 views
File license
Fair use/fair dealing exception

Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS SE & X16GS sound card : https://www.serdashop.com/X2GS-SE ,
Thanks for your support !

Reply 2 of 173, by SpeedySPCFan

User metadata
Rank Member
Rank
Member

I've never owned any device capable of Tandy sound, so I'm very much interested in this. 😁

Musician & music gear/game reviewer.

MIDI hardware: JD-990, SC-55, SC-880, SD-90, VL70-m, Motif ES, Trinity, TS-10, Proteus 2000, XK-6, E6400U

Reply 5 of 173, by Scali

User metadata
Rank l33t
Rank
l33t
carlostex wrote:

This will only work with 386 and up, but a very welcome addition!

Nope, it can be made to work on 8088 as well.
Remember that we patched various games to replace out C0h, al with int C0h? So that we could redirect them to another port on ATs, because of the second DMA controller?
For the TNDLPT we simply need to use a different TSR, which outputs to the LPT, and it can work with all patched games.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 8 of 173, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie

~Puts in an I/O controller card with parallel port, bringing the total number of parallel ports up to three~
Bring it on!

So this is the elusive secret project that you said would come before the OPL3LPT? I approve and are already eagerly awaiting the finished product.

Now I have to find me a nice 3d printing shop in my city to print out cases for CVX4 and OPL2LPT. As undoubtedly a certain someone will make a case for this as well one day... The anticipation rises.

Reply 9 of 173, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie
AnacreonZA wrote:

I'd also prefer an ISA card. LPT port getting pretty crowded by now.

You have to keep in mind that these range of products seem mainly aimed at ppl with either a modern PC that still have a parallel port but ofc no ISA so they can enjoy old games with correct sound, or ppl with older laptops that lack ISA expansion slots altogether.

Reply 10 of 173, by carlostex

User metadata
Rank l33t
Rank
l33t
Scali wrote:
Nope, it can be made to work on 8088 as well. Remember that we patched various games to replace out C0h, al with int C0h? So tha […]
Show full quote
carlostex wrote:

This will only work with 386 and up, but a very welcome addition!

Nope, it can be made to work on 8088 as well.
Remember that we patched various games to replace out C0h, al with int C0h? So that we could redirect them to another port on ATs, because of the second DMA controller?
For the TNDLPT we simply need to use a different TSR, which outputs to the LPT, and it can work with all patched games.

Yes you are right. I didn't remember the int C0h patch, because i focused mainly on patching games to defeat Tandy machine detection.

All in all, i would prefer to see a multi ISA card to include, Tandy, Innovation SSI, CMS/Gameblaster and the upcoming Covox Sound Master. It would be a multi PSG card + SID chip.

Reply 11 of 173, by bjwil1991

User metadata
Rank l33t
Rank
l33t

I have the Lo-Tech Tandy Compatible Sound Card in my Packard Bell Pack-Mate 28 Plus that I purchased on eBay last year, and it sounds amazing. Too bad there isn't a Lo-Tech Tandy Sound Card that has the DAC since some games require that (Police Quest 3).

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser

Reply 12 of 173, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

This is an interesting idea, but what do you intend to do with the issue that stalled the lo-tech product? That card's issue was that the sound chip's registers are not silenced on startup until written.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 13 of 173, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie
AnacreonZA wrote:

LPT port getting pretty crowded by now.

Well, that creates another product opportunity for dreamblaster: a multi-port "LPT bus" adaptor. Basically, a small device that plugs into the PCs parallel port and provides multiple ports, to which such devices can be connected. There are a few ways to approach such a design, but it should be quite feasible. With a unified TSR to support all of these devices, it should also be possible to make it relatively efficient.

Reply 14 of 173, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
Great Hierophant wrote:

This is an interesting idea, but what do you intend to do with the issue that stalled the lo-tech product? That card's issue was that the sound chip's registers are not silenced on startup until written.

Couldn't that be overcome with a uC and buffer logic? Latch all the required pins inactive until sound output is required? Maybe I don't understand the issue.

Maybe there's a way to have a uC performing translation between the native ISA interface for OPL2/Tandy/CMS/whatever and the requisite Serdaco parallel port device? Initialize all the requisite data structures for translation specific for the device via a DOS utility?

All hail the Great Capacitor Brand Finder

Reply 15 of 173, by Scali

User metadata
Rank l33t
Rank
l33t
gdjacobs wrote:

Couldn't that be overcome with a uC and buffer logic? Latch all the required pins inactive until sound output is required? Maybe I don't understand the issue.

The problem is two-fold:
1) A uC requires programming, so it will be more difficult for people to build their own. They not only need to solder a kit, but they also need to have the equipment to program the uC.
2) How do you determine when to mute, and when to unmute? (preferably you don't want to rely on some DOS utility, to maintain compatibility with booters, since early PCjr/Tandy games were booters).

Aside from that there's a decided anachronism and lack of elegance in using a microcontroller for such a simple 80s device.
I'd much prefer a simple discrete solution if one exists.

I personally think that just having an easy to access volume knob, or even a mute switch on the device would be good enough. Simple and cheap to build, and very effective.
Other than that, I have suggested using some kind of adder circuit, which generates the proper sequence of volume commands on-the-fly. Would probably be simpler and cheaper than a uC, and also true to simple 80s tech.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 16 of 173, by AnacreonZA

User metadata
Rank Newbie
Rank
Newbie
jaZz_KCS wrote:
AnacreonZA wrote:

I'd also prefer an ISA card. LPT port getting pretty crowded by now.

You have to keep in mind that these range of products seem mainly aimed at ppl with either a modern PC that still have a parallel port but ofc no ISA so they can enjoy old games with correct sound, or ppl with older laptops that lack ISA expansion slots altogether.

Yip - I do accept that, but I would definitely be interested in buying a few ISA PCBs if they were ever produced. Sadly lo-tech's board seems permanently out of stock now and my own attempts at PCB manufacture are not precise enough to make cards like this.

I definitely prefer bare PCBs for products like this. I actually have stock of most of the necessary chips already and it's fun soldering them together in small numbers so all I really need is the PCBs themselves.

Reply 17 of 173, by matze79

User metadata
Rank l33t
Rank
l33t

Is there already some Piece of Code ? 😀

Whats the Second IC ?
Clock Generatoration ?
EDIT: 74HC04

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 18 of 173, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

To shut off the chip entirely, you need to send the following four bytes to it :
9F
BF
DF
FF

I would suggest something like a 4-bit counter (with a pair of inputs unused so it functions as a 2-bit adder) that controls a line driver whose inputs are connected to +5v. When the device is powered on or a reset button is pressed, this adder does its thing and between it and the driver those logic values are sent to the chip.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 19 of 173, by Scali

User metadata
Rank l33t
Rank
l33t
Great Hierophant wrote:

I would suggest something like a 4-bit counter (with a pair of inputs unused so it functions as a 2-bit adder) that controls a line driver whose inputs are connected to +5v. When the device is powered on or a reset button is pressed, this adder does its thing and between it and the driver those logic values are sent to the chip.

Yup, the adder can be triggered by the clock.
According to the datasheet, the SN76496 would require 32 cycles at its own clock of 3.579 MHz, which is about right (I measured that the SN76496 needs about 42 CPU cycles at 4.77 MHz for each command).
We will have a 3.579 MHz signal anyway, since that is the input for the chip itself.
So if we add a clock divider of 32 (or 64 to be on the safe side), we can use that as input for the adder (if we use a 4-bit adder and use the top 2 bits only, then we get a 'free' divider of 4x from the low 2 bits). It will make sure that the adder generates the commands at the speed the chip can handle.

Last edited by Scali on 2018-01-11, 20:56. Edited 1 time in total.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/