[HN Gopher] Katy - 68000 Linux on a Solderless Breadboard (2014)
___________________________________________________________________
Katy - 68000 Linux on a Solderless Breadboard (2014)
Author : caned
Score : 175 points
Date : 2024-05-19 05:12 UTC (17 hours ago)
(HTM) web link (www.bigmessowires.com)
(TXT) w3m dump (www.bigmessowires.com)
| nolist_policy wrote:
| Heh, Using a 555 timer for preemptive scheduling in Linux is one
| of the biggest flexes I've seen in a while.
| codeflo wrote:
| For me, the whole thing is an impressive flex, but I know next
| to nothing about electronics. Can you elaborate what's
| interesting about using 555 timers in particular?
| gnunez wrote:
| The 555 timer is considered one of the most successful chip
| designs in electronics. It has a simple, well understood,
| design. The timing on the 555 can be configured to generate a
| periodic signal using just a few resistors and capacitors.
| The 555 is often used as a timer in electronic circuits. The
| Linux scheduler is usually configured to respond to
| interrupts generated by a cpu. To replace those cpu
| interrupts by a simple 555 timer is impressive due to the
| unconventional nature of the setup.
| javcasas wrote:
| Also, the 555 is an ancient chip, that pretty much appeared
| as the basic chip (along with it's friend, the 741 general
| purpose op-amp), being the two of them the protagonists of
| pretty much 70% of the hobby circuits in the 80s.
| drewzero1 wrote:
| There's a bit of a meme among electronics hobbyists that for
| so many projects with an Arduino, somebody in the comments
| says "I could've done that with a 555". It's a very common
| chip with a wide range of uses from arcade sound generation
| to the timer on a toaster to light/motion activated alarms.
| pjmlp wrote:
| As someone that grew up reading Elektor articles, that
| pretty much sums up most of the gadgets I see on Maker
| magazines.
|
| The big difference is that is much easier to program a
| microcontroller in software, than mastering electronics,
| specially when analogue circuits are evolved, and the only
| debugging tools are a multimeter, pen and paper.
| szundi wrote:
| There is something about the 555 that triggers love from
| people
| unwind wrote:
| Yeah most chips don't get stuff like a discrete version [1]
| or a furniture recreation [2].
|
| 1: https://shop.evilmadscientist.com/productsmenu/652
|
| 2: https://www.google.com/amp/s/www.instructables.com/Giant
| -555...
| phendrenad2 wrote:
| I don't think it's a flex per se, but more of a nod to where
| many people start off in their electronics careers. The LM555
| has been used for four(?) decades to teach electronics to
| students.
|
| A cheap $1 8-pin microcontroller (attiny, avr8, pic) could do
| the job of an LM555 without the LM555's required
| capacitors/resistors. But that's not as fun.
| rawland wrote:
| HN 2014: https://news.ycombinator.com/item?id=8622720
|
| Video showcasing it: https://www.youtube.com/watch?v=SRdLlaUmmpM
| by it's original designer: Steve Chamberlin. :)
| Beijinger wrote:
| Follow up with the real board:
| https://www.bigmessowires.com/68-katy/
| DeathArrow wrote:
| So it's possible to run Linux on any 8 bit CPU?
| guenthert wrote:
| The MC68008 has an external 8bit data bus. Internal registers
| are 32bit wide. Typically one means CPUs with 8bit wide
| registers when one talks about a 8bit CPU, e.g. 6502, 8080 etc.
|
| The Linux kernel requires a MMU for virtual memory support.
| Here a severly stripped-down version, mClinux, is used which
| doesn't support virtual memory and (hence) doesn't require a
| MMU, so any CPU with a 32bit linear address space (implying
| 32bit wide address registers) could be supported. At the very
| least a C compiler (supporting GNU extensions) for that CPU is
| needed.
|
| Said that, there is ELKS (a subset of Linux functionality for
| 8086) and there is even a (memory-enhanced) C64 running a Linux
| VM (very, very slowly though).
| DeathArrow wrote:
| My bad, I thought registers are 8 bit wide in MC68008. What
| you are saying totally makes sense.
| nopakos wrote:
| So, a Unix running on a Sinclair QL, which is based on 68008
| would be possible, theoretically!
| bitwize wrote:
| That was Linus's first computer! I wonder if he'd be
| interested in writing such a kernel, to revisit an old
| friend...
| RetroTechie wrote:
| You could, if you'd emulate a 32b cpu on that 8-bitter.
|
| The real limitation here is memory. Imho it says a lot about
| modern day software bloat that even an ancient 2.0 series
| _kernel_ needs ~600KB (ROM /RAM combined). For what, really?
| That's already a lot of features & almost all hw drivers
| stripped from it, right? What's that remaining ~600KB code+data
| doing then?
| szundi wrote:
| 640kb "should be enough for everyone"
| lproven wrote:
| (2014)
| krater23 wrote:
| But can it run Doom?
| mikewarot wrote:
| >it was unstable when tested at 4 MHz
|
| I'd be willing to bet that sprinkling in handful of bypass
| capacitors on the rails, and keeping those leads short, would get
| everything up to 4 Mhz. I don't think those leads are long
| enough, or have enough capacitance, to be the limiting factor.
| bogantech wrote:
| The breadboard itself has a bit of capacitance too doesn't it?
| whartung wrote:
| So I assume with UCLinux on a 68K, there's nothing to stop a
| rogue program from destabilizing the system? (Mind, not a hostile
| program, just a buggy program.)
|
| On an 8086, you can get a modicum of protection by limiting your
| processes to the Tiny or Small memory model (thus a rogue 16 bit
| address can't easily "leak" out of their respective segments and
| clobber the kernel).
| szundi wrote:
| Yes but probably the only program is you one or two executables
| GarrettBodley wrote:
| This post is really making me want to order one of Ben Eater's 8
| bit computer kits
| ngcc_hk wrote:
| I ordered but never open the box. For Covid hotel q 2 week
| project. They changed the rule and hence no 2 week isolation to
| do that sadly.
___________________________________________________________________
(page generated 2024-05-19 23:00 UTC)