Close

Calcy's great uncle, and project updates

A project log for Vintage Z80 palmtop compy hackery (TI-86)

It even has a keyboard!

eric-hertzEric Hertz 09/21/2021 at 01:549 Comments

look at that wonderful VFD!

<s>Well, shoot, I took the batteries out, and they've since fallen well out of reach. You'll just have to take my word for it,</s> that's a nice little Vacuum Fluorescent Display. $2.99, how could I pass it up?!

Half of me wants to hack it into the TI-86 for some purpose... maybe displaying the z80's data/address bus? 8 digits is perfect... 24 address bits after the memory-mappers is 6 hex digits, two more for data... I had been contemplating single-stepping and toggle-switch inputs a while back...

Initially, upon seeing this i thought each digit was a separate display, which I thought would be great for a wristwatch, and maybe various other projects. But, even weirder than those flat VFDs you find in VCRs and such, this guy is in a glass /tube/, cylindrical! How 'bout that?

You can almost make it out, here. Interestingly, both ends have wires coming out, unlike most tubes.

... oh heck, I've already gone this far, and I left the lone screw out since it still snaps together quite nicely at some 50 years(?!) old.

I dig that the leads are spiralled out from the circular layout.

Bad shot, sorry... but there's really not much in there, and what is is mostly repairable/replaceable/hackable... I dig that, too. Probably part of the reason it's still around after fifty years.

Also, oddly, I noticed no friggin' datecodes! Best I found was maybe "45", but obviously that can't be right... right? Oh, hey, I just saw a vid the other day saying that Japan didn't use the AD year-system until after they were well into the electronics business. So, it might actually be from year '45, in whatever their system was, then. I may look that up, soon. That vid was about something from the late sixties, as I recall.

Anyhow, this guy's in near pristine condition, would be a bit of a shame to gut it... but who knows what its future holds. There's plenty of space inside, which could also make for a project-box... hmm...

Alternatively: i heard once of someone hacking a cheapo calculator for counting events: enter 1+1, then some sensor triggers the Equals key, repeatedly, automatically adding one each time. 

Along those lines, as long as all you intend to display is a single number up to 8 decimal digits long, the keyboard matrix could be broken-out for a microcontroller to control. Send a ribbon cable through the battery compartment and the vintage calc keeps its look, brains, and functionality... but can be used for other purposes too... hmm...

... A couple days later: one idea might be a Digital-Readout for an axis on a CNC machine, which also just happens to be a calculator, too, with a dimension already entered, ready to be divided by three for calculating the next move, or something... heh.

...

Anyhow...

In the compy backup realm... I've accounted for 500,000 of the 1million "missing" files. Yep, I had done some massive cleanup the day after my last backup in July, and even typed-up a log of my doing-so. Sometimes I'm not a complete idiot. But, still, that leaves 500,000 ,"missing" files still unaccounted-for. What The Heck Did I Do? 'diff -rq' doesn't even seem to help in that regard.... something burried deep in some folder that was in the trash? Maybe some kernel source or something?

Though, I think I've determined for sure that diff /is/ smart enough to recognize when two files are hardlinks to the same inode, so doesn't actually go through the process of comparing them byte-for-byte. VERY handy, since my backups link-dest each other... I was able to diff some 200+GB of backed-up files in about 15min... which would've taken /days/ otherwise, on this system's singular USB port.

Still... Where Are My Files?

...

Also, /finally/ organized all the backups I did from the TI-86... MANY different versions of the same include/libraries now organized to the latest versions, but with the oldest timestamps (being that backing up the same file again later gives it a new timestamp, now I have some idea /when/ they were last-modified). Also, getting rid of the various backups and earlier versions that were on the calc itself... this was no easy task, the files are binary, and contain a header which changes with each download/backup to the computer.

So now it's down to basically latest functioning-includes and latest test programs. This may sound simple enough, but remember, TI-OS doesn't have directories, and filenames are 8 characters, no extension. Here's an example: tParsePWM is the first version of the test program for parsing my PWM data... it became tPrsLASS, for parsing the PWM data in my Logic Analyzer ScreenShots, but I didn't like that name for long so it became tPrsPWMS, parsing PWM Screenshots. Then I'd be planning some huge modification so saved a backup to tPrsPWM1... Then 2... Then realized I couldn't recall which were backups and which was the latest a few days later... and were those backups of tParsPWM? No, tPrsPWMS. Then there's tPPWM, and I lost track of which number I was on, so they're like tPPWM1-3, then I thought I was near done and figured tPPWM9 was safe, but wound-up with tPPWMA (hex, now), then forgot again where I was, so figured Z would be a good bet... but, no, there may be a few more to come, so how about S? Right... tPPWMS, now was that a backup of tParsPWM, backup number S, or was it the first backup of tPrsPWMS? Or, heck, it changed names/numbering schemes so many times, maybe tPPWMS is /the/ latest version... would make sense, need a few extra digits for, say b[ackup] and a number... SHEEIT, which is it? Heh. Somewhere in there I eventually realized to replace the t prefix with b, but that was a ways in. (And, of course, doesn't work so well with my i for includes and t for their test programs, which one is backed-up in bDelayms?)

Sorting that /ONE/ program was a huge ordeal, and I've got well past a dozen, maybe two between various programs, include-files, and test programs for those includes... Heh.

Then there's iUARtTp1, iUARtTn1, tUARTtTxD, and tUARtTxN. Ask me about that mess...

But, even better, I wrote p1 and TxD first, thinking I'd use the graphlink through the DB-9, with p-for-positive logic... but RS-232/the DB-9 is inverted-logic. Then I copied it to n1 and TxN for negative logic thinking I'd wire the calc directly to the PL2303 at "TTL levels"... and went /way/ above and beyond documenting/commenting that file... then decided to use the DB-9 after-all. So the latest code is in p1 and TxD, which handles negative-logic (yahknow: p for negative), but the documentation is in n1 and TxN (which handles postitve logic, N for positive). Not sure how I'mma merge that... in TI-OS? Linux? Either way ain't easy. Then there's tUARtTxF... what's that? Oh yeah, the final product which was used to transfer my Flash's contents to the computer, the whole point of the UARtoST endeavor! But, wait, was it based on TxD or TxN? And some of its changes should probably propagate to both...

Hah!

...

I coulda sworn when I installed tilp there were a few other TI-calc-related packages that I can no longer find... one, I almost distinctly recall was for converting .8xp files to text files, and back... Which'd not only make diffing easier, but also side-by-side viewing, and then /editing/! But, I can't find it again, so I looked into the file format enough to extract the text content for viewing/diffing, but nowhere near enough for converting /back/ to a .86p file... So, no copy/paste between files, which would surely make a lot of this easier... The file format doesn't /seem/ too complicated, so I /might/ go that route... we'll see. I've /definitely/ alread gone /way/ deeper down the TI-OS rabbit hole than I ever expected. Heh. This was /mostly/ supposed to be about the hardware!

...

Came back to mention early ponderings in adding edge-lighting, as suggested by https://hackaday.io/hacker/1129684-tyler (who i can't "at")... those wound-up in the comments. Basically: I have linear LEDs easily-acquired from lightbulbs... can they be made to work? ... well 60V (my bulbs put two in series) is another endeavor, aka rabbit hole, I've been pursuing. One thing to consider is they're surely /far/ brighter, by design, than I'd want... so I'm betting even a few mA would be plenty. OTOH, generating/boosting ~60V could be very noisy to the rest of the 5V circuitry. Heh!

Discussions

ziggurat29 wrote 09/22/2021 at 22:09 point

The large DIP is telltale that it's from the mid 1970's because 16-pin was the largest we had in 1970.
“When you’ve got a Casio Memory, who needs an elephant?"
introduced in 1974 and discontinued in 1975.  great find.
Hitatchi HD3691 cpu and Toshiba E6535 tube.  can't find datasheets, alas.
VFD has high-ish voltages.  Could create a mild shock.  Lots lower than Nixie, though, which will open your eyes.

  Are you sure? yes | no

Eric Hertz wrote 09/23/2021 at 01:27 point

oh, interesting.... only manufactured for a single year! Yeah, now I can't possibly gut it!

I did a brief ebay glimpse and was surprised to find it's got a few suppliers at surprisingly low prices, so figured it must've been one of those products that was built like a tank and made and sought-after for years beyond its cutting the edge... (sound familiar? *cough* z80-based calcs manufactured until the 2000's?)

...

Am curious, now, you mention the CPU... Of that era, as I understand, microcontrollers were a pretty new concept... yet this guy has no separate RAM/ROM chips... the keyboard seems directly-wired... seems like a job for... a microcontroller! 

I've seen some /very/ weird "processors" in my collection, which spans the early 70's to mid-80's. Several have internal ROM which I gather from the docs means the designer/customer would contact the CPU-fab to essentially mask off portions of the ROM while the semiconductor was in production... (As opposed to: later down the line when OTP PROMs were built in to microcontrollers, which could be programmed by the distributor OR "customer" via "burning [out]" "fuses" in the blank ROM.) The datasheets' explanations of the process are great; the customer dials up their server, and can request their CPU time to run simulations and upload files... One I've got of that ilk actually came from the manufacturer pre-masked with a BASIC interpreter that gets its commands from an external ROM... it has a chip marking that totally disregards its origin, and Documentation-wise, you have to dig pretty deep to realize it's essentially a demo-CPU from that same fab pre-masked with BASIC, heh! "Basic Stamps" from twenty years prior, and in a typical 40-pin DIP, rather'n a custom multichip PCB. Weird!

Then I've got some others which are really groovy, they seem like they were /just/ prior to microcontrollers... they actually have a gold-plated socket, built atop the 40-pin ceramic, for an EPROM. Internally, though, I think I recall /far/ fewer than 128Bytes of RAM... (so in my hackery-mindset contemplated piggybacking an SRAM on the piggyback-ROM)

...

Yet, then... here are CPUs of the era in specific use-cases... I guess I kinda figured something like a calculator would be /so/ specific, transistor-wise (dealing with decimal, floating-point, etc.) that a typical "CPU" architecture of the time would be both overkill and underkill simultaneously. Kinda figured their guts would've been /very/ fine-tuned to the tasks... but why? Sure, even way back then, throw a typical CPU architecture at it, and code it up. Duh. Wasn't that the point of the 4004 and 8008?

...

VFD voltages... yeah...

Interestingly, https://hackaday.io/hacker/1129684-tyler (who I can't link via "at") suggested edge-lighting via LEDs... and I've been contemplating cracking open those 120V "filament" LED bulbs for the linear filament for the job... the one I've got has two in series, so each is ~60V at full brightness, which I'm sure would be way too bright. So, I'm already contemplating high voltage boosting. Though, I don't think I want to destroy the Casio :/ I also threw an EL panel behind my TI-82's screen /many/ years ago. I can't recall much detail except the inverter put out around 80V with two transistors, and seemed to not only drain the battery when the physical slide-switch was physically off, but also somehow resulted in countless unexpected "Memory Cleared." So, yeah, high voltage, especially at high frequencies (inverters, boost converters, no shielding), are not to be taken lightly!

...

Interesting tidbit Re: 16-pin  DIPs until 1970ish. Whodathunk? I've seen of many early chips in sorta surface-mount designs that made me think the technology was far more advanced than the consumer-grade products, but... now that you mention it, even those weren't of very high pin counts. Weird. E.g. even some of the earliest CPUs had data/address bus multiplexing, which really seems quite strange, since it requires more /transistors/... was pin-bonding /that/ expensive back then, to even supersede the low transistor density of the time?! 

  Are you sure? yes | no

ziggurat29 wrote 09/23/2021 at 15:47 point

your ceramic proc with a socket is cool, lol.
mask-programmed ROM was de rigueur in the 70's when going to production.  we're happily beyond all that now.
The weirdest processor I know is the NEC µPD7281.  It's not von Neumann!  It's not Harvard!  It's "dataflow"!  No program counter, lol.  Dataflow architecture in general didn't make it, though.
The biggest DIP I know of is 64 pins on the 68000.  I guess Motorola wasn't having any of that multiplex mess, but the long wires in the leadframe are problematic, so we got LCC QFP PGA BGA, and now the various CSP!
The earliest microcontroller I used was the 8748.  I did annoy my college profs when I would use that instead of the SSI that they intended for labs.  But they should have been more specific.  Later I had overheard some students say "Dr. xxx said we couldn't use a microcontroller -- who would do that?!"  Lol; my job is done.
I seemed to put 8748/9 and DL1416 in whatever I could.  My boss at the time took a dim view of my fondness for the DL1416 but who knew they'd be such a collector's item today.  I should have bought more.  Nah, the stock market would have been a far better bet...

  Are you sure? yes | no

Ken Yap wrote 09/23/2021 at 02:01 point

I'm not sure it's correct to say that 16 pins was the limit in 1970. There were already some TTL chips in 24 pin packages, such as the SN74154. I can't find the exact year for that chip, but 7400 TTL had been around since 1966: https://www.embedded.com/fifty-years-of-ttl/ Wider chip bodies are not an engineering challenge, only a cost one for customers.

Remember that the 4004 was designed for a Japanese calculator manufacturer in 1971 to shrink boards of MSI, so definitely calculators on a single chip are possible by in mid-70s. Multiplexing and key scanning, all those were standard by then. I still have a handful of these calculator chips from Texas Instruments: https://www.rskey.org/~mwsebastian/calcwebpg/tx_inst.htm

That daughter board under the VFD (which is also very typical of that era) is a voltage converter to generate the voltage needed for the VFD (in the region of 20-30V, easily handled by PMOS) as well as the filament voltage of a volt or two.

  Are you sure? yes | no

ziggurat29 wrote 09/23/2021 at 14:14 point

I will have to double check my understanding, however it's interesting that you mention the 4004, which is in a 16-pin package, and I had read that was specifically because that was the largest package available at the time.  But perhaps it was not the largest available in an absolute sense, but the largest available in some practical sense.
I do have a 4004 chipset (who knows what's on the ROMs) and they are 5 16-pin DIPs. The 8008 is in 18-pin dip and came out in '72.  The 4040 came out in '74 and is in a 24-pin package, but your TI set came out in '72 and has a 28-pin package, so maybe TI had more advanced manufacturing capabilities, lol!

  Are you sure? yes | no

Ken Yap wrote 09/23/2021 at 14:30 point

Well the 4004 wasn't the whole calculator, it still needed other subsystems, and it wasn't because of limitations of packaging that prevented Intel from using > 16 pins, it just didn't need more, partly because of multiplexing the address and data buses. In time, technology allowed putting all the subsystems including the input and output circuitry in a single chip. The TI calculator chips I have from the early 70s are such one-chip calculators. This was the base upon which Sinclair built its 1974 scientific calculator, with the help of a coding wizard who squeezed the firmware into 320 instructions.

Here's a project by Ken Shirriff, who has examined many semiconductor dies, about a TI calculator simulator built after reverse engineering the die (either that or from reading the patent): http://files.righto.com/calculator/TI_calculator_simulator.html You can see that it's not a general purpose computer architecture but one that's tailored to building calculators. So the requirements of ROM and working registers are lower.

  Are you sure? yes | no

ziggurat29 wrote 09/23/2021 at 15:39 point

Oh yes Shirriff is a master.  I'm always in awe of his ability to interpret silicon -- I just don't get it!
I didn't know Sinclair (RIP) use the TI chips; interesting.

  Are you sure? yes | no

Ken Yap wrote 09/23/2021 at 15:44 point

Nah, I have National Semiconductor chips like digital clocks with 24 or 28 pins from that era. There were many other manufacturers with wide packages. As I said, more pins are not a challenge, you just need a bigger lead frame.

Mostek, a forgotten name, was apparently the first with a one-chip calculator solution: https://en.wikipedia.org/wiki/Mostek You can see the wide ceramic chip in a photo.

  Are you sure? yes | no

ziggurat29 wrote 09/23/2021 at 15:51 point

lol as a Z-80 afficianado, I do remember Mostek.
OK, I stand corrected on my packaging history!

  Are you sure? yes | no