5 ms·
Katy – 68000 Linux on a Solderless Breadboard (2014)
- nolist_policy 2y agoHeh, Using a 555 timer for preemptive scheduling in Linux is one of the biggest flexes I've seen in a while.
- codeflo 2y agoFor 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 2y agoThe 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 2y agoAlso, 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.
- deleted 2y ago[deleted]
- drewzero1 2y agoThere'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 2y agoAs 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.
- drewzero1 2y agoI've seen it often on Hackaday over the years, and while they probably could do it all with a 555, I certainly couldn't... My specialties are software and mechanical stuff, for everything in-between I shove in an Arduino and hope it works!
- szundi 2y agoThere is something about the 555 that triggers love from people
- unwind 2y agoYeah most chips don't get stuff like a discrete version [1] or a furniture recreation [2]. 1: https://shop.evilmadscientist.com/productsmenu/652 https://shop.evilmadscientist.com/productsmenu/652 2: https://www.google.com/amp/s/www.instructables.com/Giant-555-Footstool/%3famp_page=true https://www.google.com/amp/s/www.instructables.com/Giant-555...
- BobbyTables2 2y agoI see what you did there :->
- phendrenad2 2y agoI 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 2y agoHN 2014: https://news.ycombinator.com/item?id=8622720 https://news.ycombinator.com/item?id=8622720 Video showcasing it: https://www.youtube.com/watch?v=SRdLlaUmmpM https://www.youtube.com/watch?v=SRdLlaUmmpM by it's original designer: Steve Chamberlin. :)
- Beijinger 2y agoFollow up with the real board: https://www.bigmessowires.com/68-katy/ https://www.bigmessowires.com/68-katy/
- DeathArrow 2y agoSo it's possible to run Linux on any 8 bit CPU?
- guenthert 2y agoThe 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, μClinux, 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 2y agoMy bad, I thought registers are 8 bit wide in MC68008. What you are saying totally makes sense.
- nopakos 2y agoSo, a Unix running on a Sinclair QL, which is based on 68008 would be possible, theoretically!
- bitwize 2y agoThat was Linus's first computer! I wonder if he'd be interested in writing such a kernel, to revisit an old friend...
- deleted 2y ago[deleted]
- RetroTechie 2y agoYou 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?
- lproven 2y ago(2014)
- krater23 2y agoBut can it run Doom?
- dboreham 2y agoIt seems so: https://github.com/krikzz/doom-68k https://github.com/krikzz/doom-68k
- deleted 2y ago[deleted]
- mikewarot 2y ago>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.
- whartung 2y agoSo 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 2y agoYes but probably the only program is you one or two executables
- GarrettBodley 2y agoThis post is really making me want to order one of Ben Eater's 8 bit computer kits
- ngcc_hk 2y agoI 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.