Tube Time Profile picture
Jan 9, 2022 61 tweets 16 min read Read on X
i'm working on a Micro Channel POST (power on self test) card. the PS/2 BIOS writes checkpoint values to an IO port, and this card will be able to read and display those values. i'll keep this thread up to date as i design it. Image
yesterday on the live stream i designed the address decoder. i started to design the LED display but hit a snag when i realized that the 4511 chips only do BCD to decimal and can't handle A-F. Image
there aren't any readily-available chips that do binary to 7-segment hexadecimal. alternatives include
❓PALs/GALs
❓a microcontroller
❓a CPLD
❓a pile of TTL
❓a ROM chip
each has drawbacks. i am hesitant to use a programmable device on the board, or at least one that requires expensive programming hardware. there are also the ongoing supply chain issues.
using a microcontroller might work--there are still some ATmega devices available in DIP. but i would also need two additional 8-bit latch chips since the Micro Channel bus is very fast. the ATmega would just drive the LED display. Image
but how about a GAL? a 16V8 could easily decode binary to 7-segment hex. there are a couple of approaches i've thought of Image
one is to have the 16V8 decode the full 8-bit value as it is written, and then store the segment data into four 8-bit latches. that is 5 chips total.
(this board will support two 8-bit number displays, aka 4 digits)
another approach is to have two 8-bit latches to store the values, and then have two GALs to decode an 8-bit number into a multiplexed dual 7-segment display. this is 4 chips plus an external oscillator (or bus clk divided down by a 5th chip)
or each display digit could have its own GAL16V8, with 7 outputs driving the segments, 4 inputs from the bus, and the clock input would drive a built in latch. this is pretty much a 4511 with hexadecimal capability, but with more pins.
and yes there are a bunch of other ways to do this, like with a TIL311 display that has a built-in decoder. they're a bit more expensive and harder to get, however. Image
one advantage of using a 16V8 is that they're not hard to find, there's tons of stock in surplus, they're cheap, and can be programmed with a very cheap TL866.
a disadvantage is that i hate WinCupl. 😐 Image
to use the built-in latches in the 16V8, the magic incantation is to drive the '.d' extension. this is the data input of the pin latch. did i mention i hate WinCupl?
quick test bench and this looks good. Image
now to try it out irl. this is my TL866A. true story: i won it at a holiday gift exchange a few years ago, but i had to "steal" it from someone else. hehe Image
and here it is, working. the tact switch goes to the clock input to trigger the latch. Image
the 16V8 can drive the LEDs directly, but only with a logic '0' output since it can sink a lot more current than it can source. i just use a common anode display and drive the cathodes. Image
oh yeah some folks are saying "galasm" instead of WinCupl. here's why i will never use galasm. Image
so if i design something using galasm, then that design can never be a commercial product, even if i am not the one who manufactures it. oh well.
so here's the (mostly) finished schematic for one of the two hex displays. dial in the address and it will display whatever gets written there. Image
i'm starting to get other ideas too. maybe adding an activity LED would be nice. something that would flash whenever the port gets written to (or even read from?)
now for the info panel. that's this LED display. it was only present on the PS/2 Model 95, but the code to support it is present in the BIOS of other systems, such as the Model 77 that i fixed for Curious Marc. Image
fortunately it has already been well studied, and others have figured out the schematic.
ardent-tool.com/85_95/Op_Panel…
the display is actually two HDLG-2416 4-character displays right next to each other. Image
you can still get them but Digi-Key wants $40 each!
digikey.com/en/products/de…
hmm, perhaps this should be an optional feature lol
going to use a GAL to decode the address since it is always at 0108-010F. unfortunately it looks like i need something bigger than a 16V8 since i need to latch the A0 and A1 lines. or maybe a separate latch chip. Image
A 22V10 or a 20V8 would work. or i could put in a 74XX174 which has 6 D flip flops. i could use two of them for the dual hex displays. Image
it might look like this. (there are two sets of displays so you could use either the HDLx-1414 or the HDLx-2416) Image
or maybe i could add support for the HDSP-2113. 8 digits and Digi-Key wants $55 each, so that's cheaper than two of the 4 digit ones. Image
only problem is that the HDSP-2113 address lines are set up such that the leftmost character location is at 000. the other displays put 00 at the rightmost character location, like a calculator i guess. ImageImage
no problem though, i can switch to using a 74xx175 which has 4 flip flops and outputs the normal and inverted signals. the latched and inverted A2 line can come from the spare output on the 16V8. the remaining two latches can be used for the dual hex displays! Image
today i ended up redoing this part of the circuit using a GAL20V8 (or 22V10). Image
added a voltage monitoring circuit. the LED won't turn on until the voltage exceeds a particular threshold. Image
now for the boring part. Image
footprint time! looks like kicad 6 has a new color scheme. not sure how i feel about it. Image
the next step is parts placement. everything has to go in the right spot. Image
here's the first cut at a parts placement. the mess on the left are three options for the 8-digit LED status display. they overlap since only one can be used at a time. Image
i'm not entirely happy with this design. do i really need two hex displays to examine two I/O ports at once? do i really need the fancy analog voltage monitor?
there, this is a bit more compact. also a lot cheaper to order from the usual board shops. Image
the layout is a bit tight for 2 layers. Image
always takes a bit longer for layout than you plan for... still needs a bunch of cleanup, then silkscreen Image
oh look, a board came in! Image
got it soldered up, too. i'm skipping on the 8-digit display for now, at least until i get the 2-digit display working. Image
it passes the smoke test! Image
it's got some weird issues in the actual PS/2 machine though. basically the display updates constantly when it shouldn't be updating. Image
looks like i'm going to need the logic analyzer connections. oh well. Image
so the Saleae is showing me that the address comparators are randomly tripping when they shouldn't be. in other words, the address doesn't match but the output asserts anyway. Image
ahh, the voltage on one of the comparator inputs is around 1.5V! this is because the pulldown resistors are 10K but the input current required to drive VIL is up to 600uA! gotta love 74F series logic. ImageImage
well, that seemed to fix the problem. but now there is a new one--a glitch on the select output causing the LED driver to double-latch the data byte. unfortunately the second runt pulse always latches FF. Image
swapped an OR gate with an AND gate and added a bodge wire. let's see if this works. Image
oh yeah! it works now.
let's see if this 8-digit LED display works. Image
nice! it works but I had to swap out a chip. so now the POST display doesn't work. just have to figure out how to have them both work at once. Image
here's the glitch that was causing the issue. it's only 18ns wide. hmm. ImageImage
let's add a little RC delay to CMD. this is actually sorta terrible since this is straight off the bus, no buffer. Image
no more glitch! Image
oh it works in my model 95 as well! the display here just mirrors the one on the front panel. Image
and it works in @curious_marc's PS/2 model 77! this machine doesn't come with an 8-character status display but the code to support it still exists in the BIOS. Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tube Time

Tube Time Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @TubeTimeUS

Jun 13, 2023
here's a weird object! it's some kind of foot pedal with an IBM logo. is it for a sewing machine? electronic synthesizer? what do you think? 🧵 Image
it's got a cursed connector! what IS that? Image
amazingly enough, I found something with the mating connector on it! but what is it? Image
Read 24 tweets
Jan 11, 2023
hey so remember the world's cutest oscilloscope i picked up last year? i think it's time to fix the probe socket issue.
i printed a new panel insert that has two BNC sockets on it (the original probes would have had captive cables)
the tricky part is that this oscilloscope has a 333K ohm input impedance instead of 1M like umm every other scope on the planet. fortunately someone designed a little conversion circuit...
Read 11 tweets
Jan 5, 2023
in honor of Sim Wong Hoo, here's a quick historical review of the Sound Blaster! 🧵
but first we have to go back to their first sound card, the Creative Music System from 1987. (image credit: Bratgoul on Wikipedia)
this card has some special "CMS-301" chips. if you peel back the sticker, they have had their top marks removed. they're actually SAA1099 synthesizer chips made by Philips. Creative wrote music composition software for musicians on the PC.
Read 23 tweets
Dec 31, 2022
Tube Time: a 2022 retrospective 🧵
(and stuff you might have missed!) Image
starting things off in january, i found a tube of super old 555 timer chips! i also decapped one of them.
i also started fixing up an old HP 150 computer. it's not PC compatible but it runs MS-DOS--how odd!
Read 65 tweets
Dec 29, 2022
today's mini project: fixing this Radius Thunder IV GX daughtercard. it looks fine, but... 🧵 Image
one of the chips has some broken pins! Image
looks like two of the pins got mashed and broke right at the plastic package. Image
Read 11 tweets
Dec 8, 2022
on the bench of healing tonight: my coffee grinder which decided to bite the dust. Image
symptoms: i push the start button and the motor just bumps a little bit and stops.
how to take it apart? hmm, i bet there are screws under the rubber feet. Image
Read 23 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(