-
My Own Invention
06/16/2022 at 09:03 • 3 comments2:00AM Pacific Time, June 16, 2022
I hereby state that by my own invention, I lay claim to the idea of replacing LCD color filters with phospors, and using e.g. blue/UV backlighting, for increased brightness. Conversion of the incoming light, rather than blocking.
2:36AM
Also of my own invention, a separate idea of using a reflective polarizer on both the top and bottom of a backlit display, such that light blocked from the viewer at the front polarizer reflects back into the backlight for reuse. This differs from the use of only one relective polarizer at the backlight side of the display to reflect/reuse only the wrongly-polarized light coming from the light source, in that the second (front) reflective polarizer reflects light from the "dark" pixels back to the backlight, as well, rather than being absorbed by the front polarizer.
4:42AM
LOL, I spent at least an hour trying to figure out where I'd find phosphor to demonstrate this...
6-18-22:
Meh... it was not easy to find. But I found the patent. Application was in 2001(!). Surprised, even more, that I've never heard of it. And again even more than that by the fact its cited in 99 other patents, since. Seriously, how could this be so hard to find? Rather, how is it it's not already in products, or at least common-knowledge amongst folk like me that it is (or was) in the works? Heck, twenty years, you'd think there'd be a wikipedia page instead of one friggin' page for the patent near the bottom of a huge list of unrelated search results, and no other results regarding the 99 citations of it?!
Well, I learned some things from it, anyhow... Yes, I was right (almost to the quote-level) about 2/3rds of the light arriving at the pixel being wasted. But, they went so far as to list percentage of light transmitted vs. light produced, which is roughly 10%!!! Meaning your display's backlight is ten times brighter than you see if the screen is fully white! Sheesh! No wonder they're hard to see in sunlight.
-
Tubes! And undervolting in general...
05/30/2022 at 12:40 • 4 commentsFound this in drafts, several weeks later...
This *might* qualify as procrastination, being that I can't justify doing the projects I want to do, due to projects that need to be done, but for which I haven't the energy, so instead of doing either, I'm taking "short" breaks to "clear my mind," or maybe more realistically to "get my mind going in the project-direction"... but, which wind-up not being so short at all, and are instead sending me off in new ventures into project-imaginings....
OOOF.
I admit, I'm human... just as prone to such "distractions" as anyone.
But, if we take these distractions out of the picture, we're still left with the fact of spiralling subprojects making ultimate goals ever further-out.
"The original goal" (which is to say, the last goalpost I can recall having set, without spending hours trying to recall the one before it) was to get a reliable x86 system running. Which led to batteries. Ugh. That was weeks, and still *barely* resolved. But just about the time I almost had that solved, I wound-up depleting my "workshop battery" while trying to run simulations for the former.
So, the quick solution for that would've been to jumper-cable it to my alternator and charge 'er up! Sure, could throw a can of soup in front of the heater-vent and do a bunch of other things at the same time, maybe lay back and watch a flick on the ol' 28inch bigscreen!
But in the meantime gas prices have quite literally doubled in a handful of months, now nearly double the highest I've ever seen, FAR FAR surpassing inflation, just like far too many things these days.
And ain't it ironic that I spent my whole friggin' adult life without having even gotten a license, perfectly content with bussing and having a tiny carbon footprint... until I was quite literally faced with the choice of either living in a van, this van, this gas-guzzling van, being the only option for shelter I could afford, or face sleeping in cardboard boxes.
So, because some pretend-greenhorn who cares more about funding other countries than giving jobs to our own people allegedly thinks gas is the worst thing there is for the environment, I've got to figure out how to use coal, or kill birds, interfere with their migratory-patterns, or figure out how to dispose of worn-to-inefficiency football-field-sized carbon-fiber turbine-blades, or destroy salmon runs, or deal with spent Uranium, or deal with batteries which are notorious for burning down buildings, or so many other "greener" solutions... (I can say this because I was once "green").
Where was I?
Oh yeah...
So, now I need to recharge my "workshop battery" to continue working on whatever project it was that I've long nearly-forgotten, that whatever it was was kinda darn-near essential to my being who I am... Oh, right... A friggin' computer. HAH!
Right, so, once I resolve the "workshop battery" charging-scenario, then I can not only resume that project, but *also* use that same resolution to *power* it, once it's complete.
Right!
So, progress there halted to make way toward later progress there.
And I think I've come to that same conclusion about so many things with so many setbacks now that I've LONG forgotten what the original goal was, and many have been long-abandoned (was propagation of my genes ever in there?).
....
Right.
Where was I going with this?
I've been working for weeks on a suitable battery charger. YES. At this point I could've bought a dozen ready-to-use if I'da been paid minimum wage for the time I've spent on it. But I'm almost there, Just One More Day, REALLY!
OH YEAH, and I got sidetracked again by a mechanical disaster which I'm pretty sure, but not certain (no one has the heart nor balls to say) few folk in their right mind would not drop everything to have fixed immediately rather than keep pressing their luck on shoddy theories they've convinced themselves of, based on basically zero actual experience in the field... I mean, it looks BAD to me. And so far the best I've heard to a "been there, done that" was "well, we do what we have to to limp back to town." But, being that all the symptoms diminished immediately after I did a minor adjustment, symptoms which I've dealt with for Five Years, my guess is I've been on that limp back to town since day-one... And that minor adjustment made for smoother rides than I've ever known, so I've kinda been doing part-time trying to work myself up to fixing that and going back to the charging problem...
OOOF. Where was I?
BOTH are EXHAUSTING, and only *slightly* related to things I'm "good at" (if I'm good at anything, these days).
So, I've taken to distractions hoping they'll be motivating...
(Well, you have to understand that weather plays a huge part in all this, as well... and here the weather is even more octo-polar than I).
...
RIGHT!
So, I discovered A Video Series About Using Vacuum Tubes, at *reasonable* voltages!!!!
Holy crud, I had no idea.
I haven't yet gotten to the part where he builds a computer out of tubes.
....
And I'd long-forgotten why I started writing this until I saved the draft to get that link, then saw the title I wrote... Right...
.
UnderVolting.
.
Part of *BOTH* my charger-endeavor AND my x86-powering endeavor has actually come around to this on several occasions in the past months.
Say you need a diode that drops 0.5V at 2A... Where do you turn?
The obvious solution is Shotkey... Right?
Maybe not!
What if you have a high-current 20A TO-220 rectifying diode, rated at 600V sitting on an old TV's PCB?
Sure, look up them specs, and you'll find a forward-voltage nearing 2V. But That's At 20A!
You'll be lucky to find specs at 2A, but it may just turn out to be *exactly* the low-voltage, better'n Shotkey at 2A solution you need. Seriously.
Similar for MOSFETS.
If you're not concerned about space, you might have what you need in some ancient old PCB you'da thunk couldn't possibly have come from an era capable of such. Nah, they just packaged and rated them differently!
...
So, Strangely, the idea of UnderVolting tubes never really occurred to me as viable; I figured those high voltages were necessary to get those electrons flying. But, Usagi shows otherwise, and suddenly, especially after my recurring Diode/MOSFET discoveries, it makes a heck of a lot of sense.
Tubes' cathodes can emit something like a measly 30mA worth of electrons. That ain't much. (Unless you consider where those electrons come from, or where they have to go... then it seems downright amazing! Or) UNLESS you use Really High Voltages. No wonder they use speaker-matching transformers on old stereos.
BUT, if you're just trying to do some simple binary logic, 20mA is plenty, probably excessive, to feed the next stage. And, suddenly, something once so daunting as vacuum tube voltages can be brought down to a few 9V batteries!
(Distracted much? I've got a GNARLY wheel bearing to replace!)
...
It's now June 11th. I replaced the terifying wheel-bearing, thankfully, but it may need some adjustment, and I can't get the blasted dust cap on. Slather on the grease for now, think about that pop bottle that fits perfectly and duct-tape. Try Try Try to build up the energy to have another go at it.
...
I got as far in Usagi's Vacuum Tube Computer to see just how many tubes are necessary for 8 bytes of RAM, and my brain locked back into #Incandescent RAM. I now have a 4-bit refresher! And am unable to get my mind off it... 8 Bytes, And i'mma hook it up to a Z80, I guess... Because, well, for some reason I'm fascinated by the idea of using a regular memory-access instruction to access physical hardware that may take *seconds* to respond (holding WAIT, all the while)... I dunno, I mean, I could write a program that runs on Incandescent lightbulbs for its only RAM, running at some two or three instructions per second, *in C!* Hahahahaha!
Never did get around to charging my workshop battery. Really, that's kinda just as ridiculous; the nearest outlet is several hundred-foot extension cords away, and as I mentioned, the weather is octopolar, so I'd either have to invest in numerous extension cords, or make an umbrella (and a dolly?) for it. Of course solar's not a horrible idea, but $$$, yahknow... And it's not like I can just leave it set up for days on end. Though, as long as I've put this off, the battery probably would be fully-charged by now even if I'da just bout $20 worth of panels pumping out less than an amp whenever I opened the storage-unit. But then, of course, the next question is where do i store them? There's not a flat surface left in there, horizontal nor vertical. Heh! Money has been so tight for so long, the idea of spending even fifty bucks a month for twice the space is hard to wrap my head around. Now with gas so high, it seems even less feasible. But, realistically, it may actually be equalled in savings, driving less, possibly electricity nearer, being less subject to weather. I probably just have to wrap my head around it, and my head doesn't do that sorta thing easily. It's barely off #Incandescent RAM, as I write this.
-
Another z80 system!
05/17/2022 at 01:51 • 15 commentsUpdate 6-15-22, there is now a dedicated project-page at #Z80 Reverse-Engineering And Hacking Adventures . Be sure to head over there for the latest!
Update 6-13-22, this should probably get its own project page, by now. Adding pics and updates here is a bit unwieldy. But it's not happening right now, so please bear with the disorganization. Also, be sure to read the comments, where much progress has been made!
....
Picked up this guy because it was dirt-cheap... and it was probably dirt-cheap because apparently almost nowhere else is it mentioned on the interwebs, there's no manual, nor the sort of Model-Name, I/O, or UI where most folk can guess its purpose...
Spoiler Alert: It is, it would seem, an interface for a spectrum-analyzer.
But of course, I don't have the necessary attachments (stepper-controlled diffraction-grating, sensors, etc.). Nor do I know enough about this stuff to really grasp the UI...
So far I managed to, I think, configure it to scan between two wavelengths, but of course nearly everything errors-out due to aforementioned lack of hardware...
I'm going at this backwards.
I found this at a surplus shop which thankfully also had some things I need, so I could justify adding this to the cart. Heh.
I saw: Rackmount Test Equipment Enclosure, at that price, and was already half-convinced. Then I saw the front-panel... Nice buttons, decent-enough LCD (40x2)... Who knows what I could do with that?! From a few of the buttons, I thought it looked like maybe a VCR/Laserdisc controller for a TV station, or something? Obviously that's why it's so cheap, eh?
Then I saw "RS-232-C", 25-pin, *then* IEEE-488... And it sunk-in... Who cares what it does? There darn-near *has* to be a "computer" of exactly the era I can actually understand in there... Yahknow, a CPU in a 40-pin DIP, separate chips for timers and GPIO, whatnot... Basically a complete "CPU Trainer" or "Single Board Computer."
Which is right up my alley... "Upgrades" could literally be soldered to the top of the CPU pins, while it sits in its original circuit...
Anyhow, had to get it.
All those ideas I had while messing with #Vintage Z80 palmtop compy hackery (TI-86), learning about weird CPU features that could be used in even weirder ways... E.G. using the DRAM-refresh to refresh a dot-matrix LCD, or various ideas about memory-paging...
So, I got it, today, and sure-enough! It's a friggin' Z80 system, right down to the Z80B-CTC, Z80B-DART, 2 Z80B-PIOs, 2KB of SRAM, an EPROM, and a few others. Including, weirdly, an 8255, heh.
(There's also an AMD 40-Pin DIP I can't seem to find any info on... AMxy13PC. x and y were worn-off, but look like maybe x=2,9,3,5,or 8, and y=5,6,3 or 8? Am curious, for sure).
The GPIB IC sockets are empty, and sure-enough, the splash-screen upon powering it up suggests there's no support for it in this ROM. I do have a GPIB ISA card I thought maybe I'd hook it up to, though, really, what could I do with it with no manual, anyhow?
Maybe a future idea if I wind-up reprogramming this thing's ROM for some other purpose.
Anyhow, I also noticed an L297/L298 pair, which I recalled as being typically used with stepper motors, and indeed it's connected to a DB9 labelled "Filter." So, my guess was this thing had a color-filter wheel which spun around to analyze spectral-lines, one at a time. (After power-up, it complained about "grating", so I'm now guessing it used a diffraction grating).
The power-supply occupies a huge bit of space, as they did... It's mostly-linear with 12 and negative 12V regulators. But the 5V appears to come from an L296 switcher (yes, this has the L296, L297, and L298, despite their varying purposes).
I've never actually run into a power-supply with a toroidal transformer, so this is a first.
Oh, there are also pads, with no attached traces, for what looks like another stepper-driver. Heh. That and a few other oddities make me think this was either a bit of a prototype, or maybe a design for an actual product that eventually would be extended for a later slightly different product in a different line altogether. Sort of a first-go-product using their SBC design.
...
I dunno what I'mma do with it. There's ONE more in stock, apparently in the whole of the interweb, so I might just nab it so I can feel less-guilty about possibly modifying a piece of vintage gear.
Though, if I try, say, writing my own ROM to make this do something entirely different (it's got a front-panel UI!), then I'll definitely keep the original ROM with the unit.
And if I start getting into hardware-mods? Well, all the chips are in machine-pin sockets(!), and there appears to be a 20+ pin unpopulated header, and chip-clips are also an option. There's also a TON of space in the case, and the case itself is quite modular, with extruded aluminum, removable panels, and such... Anything I change could easily be reassembled as it came to me.
So, really, I could use this as a great way to start experimenting with those weird z80 ideas, without having to do all the hard (and mosy-unrelated) work of wiring-up the base system, CTC, PIO, DART, UI, etc. just to get going.
We'll see!
...
Of course, I've a ton of projects in the queue... And this purchase also contained parts and tools for some of them. I've been needing to monitor both voltage and current simultaneously regularly, recently... They happened to have multimeters for $5.25. So, I got two. Heh.
And I'd been struggling with what I thought were pretty good MOSFETs, with an RDS-On of 0.05ohms... Four of those in series controlling a 2A load would drop my 5V to 4.6V... I wasn't too pleased with that. These new-to-me ones are less than 0.017ohms, at a much higher current... So, this could be a game-changer for that project which has been dragging on for weeks trying to reduce the number of FETs in series.
...
Oh, pictures, I forgot the pictures!
Some trace-following...
Wait, What?
(Heh, Z8-D)
Wavelength-Selection
-
TMS9900 Workspaces -> 16MB+?
05/09/2022 at 23:14 • 21 commentsI've only *just* begun looking into the TMS9900 architecture; a 16-bit processor used in the TI/99-4[A] home computer during what otherwise was the 8-bit era.
This thing had a steep hill to climb... imagine a 16-bit computer with only 16 bits of address-space. Heck, even most 8-bitters could address 64KB! And adding paging to those was not at all uncommon, nor particularly difficult, wherein 4MB or more was definitely doable (see e.g. #Vintage Z80 palmtop compy hackery (TI-86) ) on even 8-bit systems.
So, of course, most of the vids I've seen on the matter basically blame its 16-bit address-space for its not having been used in basically anything other than the TI99, even though it was in the running for the IBM PC, before they decided on the x86 architecture (with 20 bits, 1MB, 16 times the address-space!).
So, I was pretty quick to dismiss it, myself, especially since I don't have one in my collection.
But, something really unusual caught my eye...
Instead of having its registers internal, like most processors I've seen, it has its registers located in the external RAM.
Even weirder, it has Multiple Sets of those registers, instead of using a stack. This allows for really fast context-switching. Calling a function, Handling an interrupt, surely more... No Pushes/Pops required. The "branch" (aka "call") instruction merely copies three bytes from RAM to its internal registers.
Now, I can imagine that can be pretty limiting in cases of recursion. (and what keeps track of where to return to? I haven't read closely enough to know, yet).
But...
This got me thinking...
In order to switch contexts, it loads the Working-Register-Pointer, from a lookup table, from RAM.
Now, if, say, you were to watch the memory-bus for accesses to that lookup-table, you could automatically switch to a different 64K page of RAM.
I've come up with a simple circuit to do-so.
To keep it really simple:
If you assume that any page-switch is essentially a completely separate "program", then the page's entry-point working-registers could all be located at the same address, (ala the reset address), and there needn't even be actual memory/registers to store each page's working-register-entry-pointer.
This is WAY simpler to implement than page-swapping on most CPUs I've seen (and, really they're not so complicated).
So, basically, all it takes is dedicating, say, addresses to this "page-swapping," an address-demultiplexer, an 8-bit register/latch, and a few AND gates.
Now you've got multitasking up to 8 separate tasks, each with 64K to work with.
Adding RAM/Registers for each, for the sake of saving/restoring and/or calling a specific function within another page shouldn't really need much additional work, when you consider that RAM /will/ be at that address, as well...
(I explicitely disable them in my schematic, during accesses to the page-lookup-table, But, maybe the First page should always be enabled during those accesses? Simply remove the disable-input to its 3-input AND).
...
So... Why?
Well, obviously multitasking... And comparatively huge amounts of RAM.
But also consider hardware is memory-mapped I/O... Each piece of hardware, /and its drivers/, could be in a page of its own (or a page dedicated to all the drivers/hardware). You've got to call its driver-functions, anyhow, this would be just as fast, either way, and free up RAM/address-space for the programs themselves.
Here's another thought: Address-decoding requires a lot of circuitry... But, here, each "page" is selected separately; it's already mostly decoded. Maybe 16MB on a 3MHz CPU is a bit silly, but 256 pre-decoded addresses would sure make adding custom hardware easier. Each add-on-card could be in its own page, address-decoding circuitry becomes easy-peasy.
I dunno. I guess with all the hacks used in systems of the era, I'm kinda surprised something this easy to remedy was overlooked, and its "killer."
-
TODO?
04/21/2022 at 04:23 • 0 commentsWhat to expect when you're expecting to scavenge PCBs for a diode or two:
https://www.digikey.com/short/vzrt90tv
So... if I'm lucky, it would seem Vf=0.4V at 2A is about the best-of-the-best, even in this era of switching converters everywhere, and even amongst, say, /really/ high-voltage/current diodes I might've found on old TVs, etc.
I figure old laptop mobos would probably be the best source, and sure-enough found many potential matches on a board from the early Pentium era... I'll check forward-voltages another day.
Unfortunately, 0.4V is quite a lot when power-steering between two 5V sources. And even though the diodes will save a *Couple* MOSFETs, it seems I need at least one, more likely two MORE in the chain before my device gets its power... at RDSon=0.05ohms, 2A=0.1V PER MOSFET. We're talking running a 5V device off of 4.4V, now, and that doesn't make me happy... Back to FETs, and I'll have to do another "What to expect" as I goofily thought 4 would be plenty for most my future needs many years ago, and now I need four for one friggin circuit, alone.
Yahthink RDSon=0.05ohms was common in the pentium era? What about the PBG3 era? Or maybe I'll find out that huge ol' TO-220's from old TVs will do better?
Find out in the next episode of "What to expect"
...
-
Operation: Learn To Drive
05/01/2017 at 10:14 • 0 commentsHeh, here's an exceptionally hopeful draft that was written and not published half a decade ago.... No, it didn't really help my social anxiety. In fact, the *reason* why I got my license had nothing to do with what I wrote about here, and that reason and many countless related-factors since have it made it much worse. *Sigh* To be "young" and optimistic [even when faced with horrendous circumstances], again.
...
Yep... I'm 34 in a month-ish, and never got my driver's license.
I took Driver's Ed at 15.5, like many/most(?)... But since I was staying late after school for those classes, I got more familiar than ever with the city's bus system... That newfound freedom, along with a combination of other factors, convinced me it was more than suitable to "be green." So, I didn't bother taking the driver's test, and never got my license.
Here's an irony to make me feel real old... The number of years since I was last behind a wheel is *more than* the number of years old I was when I could've gotten my license... 18+ years since I've been behind a wheel. Jeeze I'm old.
Worse, still, was a comment from my "instructor" who referred to the last time I'd practiced in that same parking-lot as "nearly 20 years ago." Sheesh I'm old.
----------------
Tonight was my first lesson. Thankfully it seemed to come back to me quite well... Surprisingly-so, in fact. OTOH, when I did it the first time 'round we had real-old stick-shifts, clutches, and many other factors... These newfangled dealy-bobs the kids learn on these days are... sheesh, they practically drive themselves.
.......
In the grand scheme of things, I think this is a good move.
Social anxiety has become strong with this one over the past several years... ("crippling", at times, I'd say). And feeling trapped in social environments makes it that much more difficult. I'd love to be able to visit family, etc... but with literally no exit except hours-long-walks... it's *really* difficult for me. I have anxiety/panic-attacks just *thinking* about it.
It's funny how many people I talk to who say flat-out "I can't ride a bus..." for reasons just like that, (I have extreme difficulty riding a bus, these days)... Similar people who say "I love visiting Mom, but have to have my car as an 'out'", and so-forth... And yet they lead pretty normal lives. Mine's not-so-normal, maybe it can normalize... I think this'd help.
Nevermind job-applications... Have you ever looked at job-apps with this limitation in mind? There are *countless* jobs which don't have driving in the job-description in any way, and yet require a drivers' license. Why? And, no, it's not about the commute, I'm talking even desk-jobs with perfectly good bus-access.
The list is endless... There are times I've been known to say "being green [on this matter] was the worst life-choice I ever made." Is that true? I dunno. But the options are *severely* limited without it.
Think about this... My home-town is well-known for being a "45-minute drive" from darn-near anything one might be interested in to gain some perspective... Hiking, Skiing, old mountain-pass railways turned shallow bike-trails, national parks, great beaches, wind-surfing, camping, tulip-fields, farms of all sorts, self-pick strawberry fields, there's even a friggin' rainforest, and a friggin' desert in the other direction. Or if somehow waterslides and theme-parks would do the trick, we got those too. (Sounds like he** to me, but maybe after a few hikes in the mountains, or trips to the desert, they'd be more appealing).
Guess how many of these things I've experienced over the past 20 years... And the past ten?
I could be reaching, here... But I'd go so far as to say that even from a purely logical standpoint, it would make sense that people surrounded by so much opportunity, yet trapped in such a small area (and with so many people, nevermind people who can regularly make use of those opportunities!), might just become somewhat skewed in their perspective of the world... Might even become somewhat anxious... Might just shy away from and/or get frustrated by conversation with folks who have those opportunities, and more... might just gain crippling anxieties.
There was one night I was so desperate, I approached a taxi driver, offering a shopping-mart gift-card as payment to "take me as far as you're willing to go and back." It wasn't even that far, some people commute that path several times a day... But I felt free for once... And the guy listened to my story and at some point I asked him to stop so I could have a smoke... He obliged and we talked in a strip-mall parking-lot... You have no idea how badly I needed that night.
This isn't even a big city... strip-malls are only 10-minute-drives (or hours of walking) away... If it wasn't so late, (and if I'd had any money other than that gift-card) going through a friggin' drive-through for a shitty burger would've been icing on the one-night-of-freedom-cake.
That was years ago, now... I'll never forget that taxi-driver.
---------
-
SAD1024 - Analog Delay (?!)
02/06/2017 at 13:45 • 6 commentsJust found this groovy thing in my rarely-accessed analog-ICs bin.
http://www.pmerecords.com/Docs/Archer_SAD-1024_Tech_Data.pdf
I like the description: "an analog-sampled data device which lies between linear and digital"
I have yet to wrap my head around how it works... though I think it's similar to CCDs, which I also have yet to wrap my head around... (How on earth is the *entire* charge supposed to make it from one end to the other, wouldn't all the intermediate capacitors spread it out?).
Anyways, pretty cool looking.
-----------
I also located 3 LM3914's (and a LM3915)... And, I think I might have another 3914 in another parts-box... And unless I made a horrendous mistake in a move, I should already have a wired-up 20x20 LED matrix from nearly 20 years ago (Jeeze I'm old!). So there may be some messing around with Lissajous and LEDs in my future.
Thanks #LED Oscilloscope Mk. II and #RGB LED Oscilloscope for the distraction!
-----
UPDATE: Bah... I can't find the matrix, and soldering 400 LEDs is a daunting prospect. Maybe later.
-
'maze'
01/24/2017 at 12:59 • 2 commentsUPDATE: Hah! It's even easier than that! See bottom...
----------------
Had no idea how easy it is to create a maze... This looks great on low-resolution.
@matseng has a brilliant looking one in only 64x32 pixels over at #Tjipp8 - A Chip-8 game console
Here it is in C... (not even remotely as efficiently-implemented!)
#include <stdio.h> #include <inttypes.h> #include <stdlib.h> //random char bitmaps[2][4][5] = {{ "\\ " , " \\ " , " \\ " , " \\" }, { " / " , " / " , "/ " , " /" }}; uint8_t lineBuffer[80/4]; int main(void) { uint8_t row, col; for(row=0; row<24; row++) { for(col=0; col<80/4; col++) { if(row%4 == 0) { lineBuffer[col] = (rand() & 0x01); } printf("%s", bitmaps[lineBuffer[col]][row%4]); } printf("\n"); } return 0; }
--------------------
Apparently the original program was a "classic" one-liner in Basic, that somehow seemed to slip through my experience until now...
Reimplemented in C, it's essentially nothing more than:
while (1) { printf("%c", (rand()&0x1) ? '\\' : '/' ); }
The earlier was coded-up from matseng's code-example which was designed for a system in graphics-mode, rather than character-mode. I guess what I've done, then, is re-implement the character-bitmaps with sub-characters... hahaha.Seriously, check out his log. There's a link to a *really short* code-routine in "Bit8" which looks a bit like assembly, and a link to a book that's all about that one liner. An interesting read, it would seem.
------------
As far as what I'd done, earlier... Reimplementing, essentially, a character with a block of characters, I guess it sorta "zooms in" on a line-drawing...
Here's the output from the one-liner:
(heh, note that the original I copied didn't have simply diagonals; for some reason one diagonal was vertically-shifted slightly... hmmm... kinda like the "dot" inside the boxes...).. -
Transistor Oddities III - CBJT?
01/22/2017 at 02:00 • 6 comments -
74HCT/ACTs at 3.3V?
01/19/2017 at 13:54 • 6 commentsUPDATE: Found some more sources, including one that explicitly mentions running HCT devices at 2V-6V. Sheesh. See the bottom.
-----------
I have no idea where, but somewhere in my projects' logs, I think, I wrote some thoughts regarding whether it would be within reason to expect 74xCT devices to run at 3.3V, like their 74xC counterparts...
Obviously, that's not within-spec (they're spec'd for 4.5-5.5V).
The point of xCT devices being to interface TTL devices' outputs to 74xC CMOS devices' inputs, when running at 5V. If you look at the input/output specs of the TTL and CMOS@5V, you'll note that:
74HC04@4.5V (why they don't specify at 5V boggles my mind):
Vih-min = 3.4V
Vil-max = 1.35V
whereas TTL:
Vih-min = 2.0V
Vil-max = 0.8V
-------
Why am I comparing Vih/Vil's rather than Vih/Vil to Voh/Vol...? Because the output-voltage parameters vary depending on the load... It's up to the designer to make sure the loading doesn't cause the output to "sag" out of range. If you designed your TTL circuit right, it's guaranteed to be able to drive a TTL input with Vih/Vil as-specified, above.
------
So, you can see, TTL's guaranteed output-voltages, when loaded, aren't in range of a 5V-CMOS input; TTL might just output 2.4V for a guaranteed high, but CMOS might just require 3.4V to be considered a guaranteed high.
-----
Alright, so they've invented the 'T' series (ACT, HCT, AHCT, whatnot, but NOT LVT, as I recall, that's different, so read them datasheets!)... They invented the 'T' series to interface TTL's outputs with CMOS's inputs (when running at 5V). The 'T' series is guaranteed to work with TTL-outputs connected to its inputs, while still being a CMOS part.
WEEE!
---------
Now, as a hacker, or maybe just "a hack," I'm looking for ways to make use of what I've got... And I've got... access to a lot more 'T'-series parts than 'C'-series... (and *significantly* more TTL/LS/A/S/F 5Volters, but that's another story).
And... now it's starting to get to the point where I'm actually using 3.3V in my experiments somewhat regularly.
----------
So, assuming the 'T' series only differs from the associated 'C' series in its *inputs*, it seems somewhat reasonable to assume they'd actually work *like* the 'C' series when run at 'C'-series voltages (except, of course, for their inputs). I can't really back up this theorizing, except to say that the 'C'-series and 'T'-series usually share the same datasheet with the only specified differences (I've noticed) being those of voltage-levels (and slightly increased propagation-delays for the T-series). So, my guess, is that they were developed pretty much alongside each other, probably using the same silicon processes, and internal circuitry, and the only difference is the input-circuitry.
--------------
Now, unlike the old old datasheets of yesteryear wherein they actually showed the BJT-equivalent circuits for TTL devices, I have yet to find MOSFET-level internal-circuits for 74-CMOS devices...
Until Now.
http://www.nxp.com/documents/user_manual/HCT_USER_GUIDE.pdf
Alright! I think we've got something to work with, here!
Definitely read the explanation in that user-guide.
But, basically, if I understand correctly, *really simplified* what they've done is insert an inverter at the input that runs at a slightly lower-voltage than the rest of the circuit... kinda like inserting a 74HC04 running at 3.3V between your TTL-output device and your 5V-CMOS device. (This is *really* simplified). Then they threw in P2 as, essentially, a pull-up resistor.
A little less-simplified, P1 allegedly is "cut out" of the circuit, entirely, when the input-voltage is greater than something like 2.7V, which is not guaranteed by TTL, but apparently is considered expectable. The main effect being a reduced current-draw, since N1 is on.
I'm not really seeing anything in this that suggests it wouldn't run at 3.3V... The input, then, would essentially be like a 74HC04 running at 2V (value pulled randomly out of the air). So, as long as the 3.3V CMOS output connected to this input pulls *low* enough for, say, a 74HC04@2V's Vil-max, we should be set, and otherwise we don't need to worry about its Vih-min, which will surely be higher than the equivalent HC@2V's Voh-min (and since Vi-max = VCC = 3.3V)
Vil-max@2V = 0.5V
Vol-max@3.3V = only specified in the uA loads... Let's say we're driving an LED, as well...
Vol-max@4.5V/4mA = 0.26V, and should be lower for lower VCC voltages (right?)
Seems entirely reasonable to me. But I've been known to make mistakes.
(NOTE, wherever that log went, I also found a page stating that TTL circuitry starts working at around 3.6V and is considered fully functional at 4V... I've run it at 3.6V successfully, albeit with lower speed and output-expectations than specified in the datasheet.)
Oh, and... Most things I've used that specify 3.3V are actually 3.0V-3.6V... So yahknow, for hack's sake, running the entire system at 3.6 would probably make it that much more reasonable.
---------------
WHOA! Check this out (same document):
There's apparently an intrinsic PNP transistor in the input-structure, which is generally ignored, but which can be used to advantage... That's *way* beyond me, at this point, but wow!
--------------
Jesus (That's pronounced "Hey Sus") H. Christ. (That's pronounced "Christ").
Earlier today, the result finding a document I'd been lacking regarding PC-133 specifications I'd been unable to locate for five friggin' years, at the friggin' top of my search results today, as if I'd never searched for *exactly* those terms before, in the past FIVE YEARS of working on that project.
Now, "hct input circuit" (again, how could that not've been amongst *the first* searches I'd've done the last time I looked into this?!) returns not only that one document, but now a whole slew of others from other manufacturers as well.
--------
Result from document two in *today's* search results, from what I'm damned-near certain are the results from an *exactly* identical set of search terms several days ago:
"Since internal switching layout is equivalent to HC circuits (with the exception of the input stage), these components could be operated from a 2-V to 6-V range. For HCT circuits operating at less than 4.5 V, the load-level noise margin is reduced and becomes incompatible with TTL thresholds, thus losing one of the primary advantages of the HCT devices" Right.
Go @Ted Yapo you've either been darn-near quoted!
http://www.ti.com/lit/an/scla011/scla011.pdf
Got some reading to do... Here's another that might be useful and at the very least didn't show up in my last search last time...