Close
0%
0%

Random Ridiculosities and Experiments

Sometimes yah's just gots tah try somethin', regardless of whether it'll become a full-fledged "project"...

Similar projects worth following
Seems I'm trying out random things here and there... they may never become worthy of a dedicated project-page, but surely worthy of at least a log-entry or two.

So far:
* "32-bit NOPulator" -- Bare-minimum deadbugging a 486 chip to cycle through addresses (a binary counter?)
* Class-D audio-amplifier as a motor-driver...?
* Others I've probably forgotten (check those logs)

Ridiculosities found here, thus far (See the logs):

  • What can I do with a bare minimally-deadbugged 486 chip? -- "32-bit NOPulator"

https://hackaday.io/project/8348-random-ridiculosities-and-experiments/log/27602-bare-486-chip

https://hackaday.io/project/8348-random-ridiculosities-and-experiments/log/27656-bare-486-chip-oddities-and-misunderstandings

https://hackaday.io/project/8348-random-ridiculosities-and-experiments/log/27684-bare-486-and-8-bit-memories

(I could've sworn I had way more than this Re: the 32-bit Nopulator, in fact, I could've sworn I'd eventually created a dedicated project-page AND that it got blogged. Is my memory that bad? Maybe I'm thinking of #Improbable AVR -> 8088 substitution for PC/XT ? OTOH, the odd mentions of Thanks in these logs to comments that don't exist seems indicative... Weird.)

 Ooooh, Someone's taken it a step further! 

OTHER PROJECTS HERE:

  • How about a multi-purpose breadboard for both .1in through-hole parts as well as .05in SMTs?
  • Hacking a previously-unhacked Wifi 'Router'?
  • Class-D audio-amplifier as a motor-driver? And PCB-etching.
  • Class-AB audio-amplifiers as a motor-driver
    • (much more thoroughly-experimented-with than the class-D)

SD70.HEX

Spectradata SD70 v1.8 ROM, Intel Hex

hex - 45.01 kB - 06/13/2022 at 02:31

Download

CARDCO.HEX

Cardco C64-to-Centronics adapter ROM, Intel Hex

hex - 22.51 kB - 06/13/2022 at 02:31

Download

SD70.BIN

Spectradata SD70 v1.8 ROM, Raw Binary

octet-stream - 16.00 kB - 06/13/2022 at 02:31

Download

CARDCO.BIN

Cardco C64-to-Centronics adapter ROM, Raw Binary

octet-stream - 8.00 kB - 06/13/2022 at 02:31

Download

  • My Own Invention

    Eric Hertz06/16/2022 at 09:03 3 comments

    2: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...

    Eric Hertz05/30/2022 at 12:40 4 comments

    Found 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...

    Read more »

  • Another z80 system!

    Eric Hertz05/17/2022 at 01:51 15 comments

    Update 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,...

    Read more »

  • TMS9900 Workspaces -> 16MB+?

    Eric Hertz05/09/2022 at 23:14 21 comments

    I'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?

    Eric Hertz04/21/2022 at 04:23 0 comments

    What 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

    Eric Hertz05/01/2017 at 10:14 0 comments

    Heh, 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...

    Read more »

  • SAD1024 - Analog Delay (?!)

    Eric Hertz02/06/2017 at 13:45 6 comments

    Just found this groovy thing in my rarely-accessed analog-ICs bin.

    A variable-analog-delay!

    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'

    Eric Hertz01/24/2017 at 12:59 2 comments

    UPDATE: 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

    https://hackaday.io/project/19483-tjipp8-a-chip-8-game-console/log/52343-chip-8-interpreter-is-working/

    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.

    https://hackaday.io/project/19483-tjipp8-a-chip-8-game-console/log/52343-chip-8-interpreter-is-working/

    ------------

    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?

    Eric Hertz01/22/2017 at 02:00 6 comments

    (Run simulation, here)

    @Ted Yapo, you might like this one...

    Can you guess what I (likely mis-)perceive it to be?

  • 74HCT/ACTs at 3.3V?

    Eric Hertz01/19/2017 at 13:54 6 comments

    UPDATE: 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...

    Read more »

View all 34 project logs

Enjoy this project?

Share

Discussions

Nicholas Amrich wrote 11/08/2015 at 03:19 point

I'm looking at The Indispensable PC Hardware Book 4 and they've got quite a lot of data on the 486.  It's out of my league, but here are some things that may help:

- A0 & A1 are can be determined in some way by the states of BE0, BE1, BE2 & BE3.  
- If these are floating in your circuit: pull AHOLD low, pull /EADS high, pull /FLUSH high
- Maybe pull /BOFF low to prevent it trying to drive the data bus? "The 486 will deactivate its bus with the next clock cycle."

Also, I wonder if the 486 just keeps happily executing nops, runs the program counter right out of the valid address space and starts executing undefined garbage.  At least, on the AVR I'm sure you have to have a jmp somewhere to loop, not sure about x86.  Would be one explanation for all the oddities you're observing.

  Are you sure? yes | no

Eric Hertz wrote 11/08/2015 at 11:59 point

Great info and ponderings, thanks!

I think you're spot-on with the A0 and A1 thing, I was just reading about that, in fact.

Yah almost got me with the BOFF method, but I think BOFF disables the address bus, as well, and if I understand correctly, that means it will stall while waiting for the next instruction, then resume wherever it left-off when BOFF is disabled. Though it's an interesting concept... maybe tying it to another bus-output pin to selectively disable the bus only for certain types of bus accesses... hmm...

Hah, now you got me wondering if it's *possible* to run the 486's program counter beyond the address-space... would think it'd just wrap around, but maybe not! Hmm... (I think A20Masking might prevent that, if used, but what if not-used?).

I think you're spot-on about AVRs, though, since they have inbuilt FLASH, no address-lines for it, (and a harvard-architecture), what would stop the program-counter from exceeding the amount of inbuilt flash, unless the PC was actually limited in bit-width to the amount of FLASH... It'd be funny as heck if you just discovered how to execute code from the AVR's RAM ;)

  Are you sure? yes | no

Jarrett wrote 11/06/2015 at 18:52 point

The inside of your mind is a fascinating place.

  Are you sure? yes | no

Eric Hertz wrote 11/07/2015 at 02:51 point

Woot! Glad someone thinks so, 'cause I get to spend a *lot* of time in there!

  Are you sure? yes | no

Yann Guidon / YGDES wrote 01/16/2017 at 00:19 point

you caught us with you, damniiiiit !

  Are you sure? yes | no

Eric Hertz wrote 01/16/2017 at 09:33 point

@Yann Guidon / YGDES. Don't fall for it! It's a trap!

  Are you sure? yes | no

Yann Guidon / YGDES wrote 01/16/2017 at 14:01 point

too late :-P

  Are you sure? yes | no

zakqwy wrote 11/06/2015 at 15:54 point

I feel like I saw a project a few years ago (maybe using a 486?) that was pretty much a hot pad for a cup of coffee using an ancient processor of some kind. Great application IMHO.

  Are you sure? yes | no

zakqwy wrote 11/06/2015 at 15:55 point

got it: #quad-386 coffee heater. Might be a good starting point?

  Are you sure? yes | no

Eric Hertz wrote 11/06/2015 at 19:09 point

Hah, I remember hearing of something like that, hadn't actually seen it though. Thanks for sharing! I see he used the "self-test" mode to get 'em actually chugging... was wondering, 'cause this 486 is running about 75% as fast as it's rated and isn't even hand-warm. Got me thinking about looking into this self-test mode... wonder whether it plays with the outputs... hmm...

--erm, nope, "the external bus isn't modified"-ish... but could plausibly be useful for something besides heating coffee... not that that's not cool as heck, but it's already been done ;)

Oh, and thanks for the follow!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates