Top
Best
New

Posted by cyrc 6 days ago

I recreated the Apple Lisa computer inside an FPGA [video](www.youtube.com)
138 points | 68 comments
whartung 6 days ago|
What's cool about this is that we're at the point where a committed hobbyist can pull something like this off.

I don't know what's in the FPGA, and I honestly don't know that much about FPGAs, but I imagine it's a pretty much "drag and drop" of the Lisa logic board schematic rendered in whatever FPGA language is used, while leveraging as many, stock, "off the shelf" cores as necessary.

It's telling that they externalized the UART, since they couldn't find a core to use, and weren't comfortable creating one from scratch. Otherwise it's likely a 68000 core, and a bunch of logic gates, or higher level combinatorial logic ICs (directly rendered into FPGA language, or, perhaps, they drag and dropped a, e.g. shift-register IC core).

But the point is that FPGAs are that accessible today.

Add to that the board manufacture. This is no hobbyist through hole exercise. Get the board, break out the soldering iron. No, this was built in a modern electronic assembly facility. Cheap enough to do one off boards, vs runs of 10s or 100s.

Available to the every man.

Impressive achievement for the developer, but impressive we're in a place that this is a practical thing to try and do.

robinsonb5 6 days ago||
> But the point is that FPGAs are that accessible today.

They've been accessible for a lot longer than most people think. The original Minimig project (an FPGA recreation of the Amiga chipset, coupled with a real 68000 CPU) started in 2005 - more than 20 years ago! And 15 years ago there was already a complete Amiga core (chipset and CPU) running on the Terasic DE1 development board, the C-One FPGA computer, and the Turbo Chameleon 64 cartridge.

Today's FPGAs are certainly more affordable and more capacious (especially in terms of DSP and RAM blocks) but the biggest shift is that, as you say, it's now possible and affordable to have the complete PCB assembled in short runs, which is a real blessing given that so many FPGAs come in BGA packages.

derefr 6 days ago||
Accessible for development, sure. Developers and hobbyists are willing to pay $500 for an FPGA devkit, and that's been possible for a long time now.

But, more recently (last 10 years), we've seen increasingly-low-LE FPGAs on increasingly-minimal FPGA breakout boards, with no educational subsidies required to make the boards cheap. There are FPGA boards you can play with for under $50 now; and some <10k-LUT FPGA BGA ICs themselves going for $10-$15. That's to the point that it's just "a thing you can choose to add" to a board you're designing, rather than something so precious that it's the constraint you're designing your board around.

godzillabrennus 5 days ago||
This reminds me of the SuperStation One project, advertised as "The world's first affordable FPGA gaming console.": https://retroremake.co/pages/superstation%E1%B5%92%E2%81%BF%...

It also appears to have been spearheaded by Taki Udon, one guy who wanted something so he built it. We do indeed seem to be entering the golden age of FPGA.

JSR_FDED 6 days ago||
8 months of work, and it shows. Phenomenal result!

The thing that blew my mind as a kid on the original Lisa was the power button. You pressed it and it didn’t immediately cut the power like a PC, it was a request to cut the power and the OS would first clean up various things on the desktop before finally cutting the power on itself. It just seemed to have agency and a type of control over itself and its environment that gave an impression of intelligence.

AlexTheCat123 5 days ago|
Thank you!

Yeah, the soft power feels really magical compared to other systems of the time. And not only can it turn itself on/off in response to a user request from the power button, but you can also set an alarm within the microcontroller that handles soft power and the RTC and it'll automatically power itself on or off whenever the alarm goes off. Pretty neat for 1983.

musicale 6 days ago||
I really like having usable, cycle-accurate reimplementations of classic hardware (not to mention modern hardware such as RISC-V). It's the next best thing to running the real hardware, but with minimal storage space and maintenance overhead.

Cycle-accurate software emulators are great (for example people have made drop-in "hardware" CPUs [1,2] which are actually implemented in software on a microcontroller) but FPGA-based implementations are interesting not only in that they create a very realistic and usable version of the hardware, but also because an RTL implementation shows how the logic design could be implemented in hardware.

And modern FPGAs have tons of gates, more than enough to implement an entire system from the 1980s.

[1] https://microcorelabs.com

[2] https://eaw.app/picoz80/

ndiddy 5 days ago||
The same person who did this project also worked out how to compile the Lisa Office System code Apple released: https://github.com/alexthecat123/LisaSourceCompilation This took a lot of work because Apple didn't release any of the tooling required to build the code, and the code was actually too big to fit on a stock Lisa hard drive (the hard drive is 10 MB, the code is ~20 MB) so they had to hack the OS to patch in support for higher capacity drives.

It’s neat that there’s such passionate Lisa fans out there. If anyone here is a current day Lisa enthusiast, I’m curious what makes you interested in it.

AlexTheCat123 5 days ago||
My interest mainly just comes from the Lisa's unique architecture, both in terms of hardware and software. As I learned during my LOS compilation efforts, the OS was quite advanced for its time, and many of the decisions made in the hardware design (like soft power and the discrete-logic MMU) were quite impressive and advanced for a personal computer. I had already done the software side of things during my LOS compilation project, so I figured that the next logical step would be to recreate the hardware within an FPGA!
ndiddy 4 days ago||
Yeah from a technical perspective it's really impressive for its era. OS written in a high level language, preemptive multitasking, memory protection, stuff like that. I just wish there was more software available for the Lisa. It's a shame that Apple gave this all up for the Mac, it severely limited that platform as the computers grew over time. It would have been neat if Apple had based their larger computers (Mac II, etc) on Lisa OS and provided some sort of compatibility layer that programs intended for classic Macs would run inside.
AlexTheCat123 4 days ago||
I know. In a lot of ways (at least at an architectural level), Mac OS didn't fully catch up to the Lisa OS until the release of OS X, which is pretty crazy to think about. I'm hoping that this board will make the Lisa dev tools more accessible to a people (and also a lotttt faster) and maybe that'll inspire the development of some new Lisa apps!
yjftsjthsd-h 4 days ago||
> and the code was actually too big to fit on a stock Lisa hard drive (the hard drive is 10 MB, the code is ~20 MB) so they had to hack the OS to patch in support for higher capacity drives.

Then how was it originally developed? Did Apple also patch their own OS?

ndiddy 3 days ago||
Apple hooked up the Lisa to a much larger larger external hard disk, the Priam Datatower. It could hold ~84 MB. The Datatower is extremely rare and AFAIK nobody with the skills to figure out how it works for emulation or cloning has a working one with a Lisa interface card.
yjftsjthsd-h 3 days ago||
So then the OS did support higher capacity drives, just not anything that anybody can use these days
ndiddy 2 days ago||
The OS did, but the disk driver for the Lisa ProFile hard drives (which was distributed as part of the OS) did not. All existing emulation only supports the ProFile drives, not the DataTower. If you're actually interested, I think it would be a better use of your time to look at the readme file for the repo I linked (which goes over the patch) instead of nitpicking my comments.
yjftsjthsd-h 2 days ago||
I didn't mean to nitpick, I was actually confused and curious. And I'm willing to believe that it's discussed in that repo, but that's a lot of text to go through.
r4ge 6 days ago||
I've recently finished a project that implemented a mc68000 microcomputer board for a 80s industrial control system. It's a great way to do a deep dive into micro computer design, and the older technology makes it possible for 1 person to have a pretty decent understanding of how the system works. Implementing the programmable timer modules was definitely a challenge to get them cycle accurate.

I really want to adapt what I've done into an amiga500 accelerator board.

morphle 6 days ago||
Great work! I'll buy one for $250. Will it run AppleTalk?

I didn't correct for inflation but I wanted to buy the Lisa before it was released, it felt around 40000 Dutch guilders, maybe 80 times more expensive than this FPGA?

I did a few more back-of-the-envelope calculations of what I can do with these 2MB SRAMs:

Xerox Alto with Smaltalk-80 and Smalltalk-76 for $4. The Alto was the 1972 machine the Lisa tried to be the sucessor of.

Transputer T414/T800 for $50 but much faster than the original. You would make a supercomputer interconnecting hundreds of Transputers.

Vextrex without display but HDMI output for $50, $8 without the CRT/VGA/Oscilloscope, $100 with the cathode ray tube display built in.

200MB SRAM with 16000 cores 180nm WSI (Wafer Scale Integration) emulating most processors at $1000. It would outperform 2025 Blackwell NVDIA and Apple Silicon M3 Ultra Mac Studio because SRAM is faster than HBM or LPDDR5. It is much cheaper than the 2MB Sram on this Lisa FPGA (it costs around $25 per 2MB (16 Mbit) in batches of 1000 chips).

AlexTheCat123 5 days ago||
Hi everyone, I'm Alex, the creator of the LisaFPGA project. A couple people pointed me to this thread, so I figured I'd come over here and answer any questions that people might have. Let me know if there's anything you're curious about!
chocochunks 5 days ago||
I wonder how hard it would be to port it to the MiSTer, kinda surprised there isn't a core already for it. I guess it's not particularly useful.
rufo 5 days ago|
EDIT: For anyone unfamiliar, the MiSTer is a homebrew FPGA project originally built around a Terasic DE-10 Nano that can emulate in hardware a wide variety of consoles and computers, leading to extremely low latency and (often) higher accuracy than most software emulators due to it being easier/more efficient to recreate cycle-accurate effects in hardware. It’s extremely flexible, allowing for both HDMI and analog output (with scaler effects, if desired), as well as both modern USB/Bluetooth HIDs as well as adapters for original controllers. It’s a very cool project and worth checking out if you’re enthusiastic about such things - retroremake.co has had some well-liked clone/re-engineerings of the MiSTer hardware but they’re going through a big shipping backlog so I don’t know when they’re in stock; there were some decently regarded Aliexpress clones as well, but I don’t know what the status of those is. An authentic DE-10 Nano is an option too, it’ll just be more expensive and you’ll still need to get an SDRAM board to run most cores.

Exactly the first thought I had too. I know extremely little about FPGA development, but three things I noticed that came to mind re: difficulty:

- Alex used a Xilinx FPGA, the MiSTer uses an Altera Cyclone - dunno how portable code (if that’s even the right term for e.g. VHDL) is from one to the other. I know the MiSTer has a light framework for cores to plug into to get input handling, scalers, etc.; so maybe it’s more a matter of porting to the framework…?

- Alex mentioned the SCC didn’t have a pre-made FPGA core so they used a real one. I don’t think serial handling would be critical but I do suspect you’d at least need a dummy to get the OS to pass self-tests and boot properly. Possible that maybe the Mac core has already handled this, though.

- What little I know of RAM and the MiSTer would lead me to think the SDRAM card a MiSTer setup typically needs wouldn’t be a problem over the SRAM Alex used, and that either the framework or the wiring of the RAM card handles the details for you - but I definitely don’t know that.

On the plus side I suspect/hope maybe a bunch of stuff from the classic/original Mac core could be borrowed to get it up and running.

There’s definitely plenty of cores that haven’t yet been developed on the MiSTer… for instance there isn’t a color 68K Mac core, only recently have people started on 3D0 and CD-i and Apple IIgs cores, the Saturn core was pretty shaky until a recent overhaul, etc. I think what’s there is just a function of what was either already developed for an FPGA or what had the biggest demand from their respective communities.

Cockbrand 6 days ago||
This is so neat! There was a list entry for a Xenix HD image, I'd love to see that in action.
rbanffy 6 days ago|
Xenix is the best operating system Microsoft ever shipped, but they gave up on it because there was no way they could use their PC leverage to corner the Unix market.
derefr 6 days ago||
What did Xenix did that was so distinctive?
rbanffy 6 days ago||
It was a Unix. I believe the distinctive feature is not what it did, but what it didn’t - crash often.
mghackerlady 5 days ago||
There was another unix on the Lisa, i'd tell you more but there's literally nothing online about it and the only guy with copies of it hasn't responded to my letter. The company that made it dumped their Lisa unix stuff on him when they went bust because he sold lisa related stuff. Other than that tidbit of info, I haven't found anything online about it
AlexTheCat123 5 days ago||
That "other unix" is probably UniPlus Unix, which we actually do have copies of, as well as its source code. It runs great on the FPGA-based Lisa too.

Here's the source code: https://github.com/arcanebyte/uniplus

And here are the disk images, although I think you need to be logged in to download them: https://lisalist2.com/index.php/topic,103.0.html

mghackerlady 5 days ago||
How did I manage to miss that
AlexTheCat123 5 days ago||
To be fair, the disk images are actually pretty tough to find. There've been a few times where I've spent a while looking for them because I lost the files on my computer and forgot where they were online. And that page isn't indexed on Google, so you really need to know where to look.
rickreynoldssf 5 days ago|
I see this kind of thing and have two reactions.

1. Wow! That's so cool!

2. Why didn't someone this smart spend that time to build something that really matters?

glimshe 5 days ago||
It matters a lot... to them.

Is there anything better than to spend your time doing things that matter to you rather than needing some sort of external utility validation?

AlexTheCat123 5 days ago|||
I do stuff that actually matters too! The FPGA Lisa is just a fun project that I work on in my spare time, but I'm also a PhD student and I like to think that I contribute useful stuff to the body of knowledge of computer engineering through research.
Enginerrrd 5 days ago|||
On 2, there's a surprising amount of very intelligent people that are really underutilized for all kinds of reasons.

Some don't like to sell themselves and compete.

Some have confidence issues.

Some have ADHD and an on-paper track record that looks terrible.

Some want nothing to do with corporate America.

alnwlsn 5 days ago|||
>2

My personal philosophy on this is that in the grand scheme of things, there is almost nothing that "really matters". So you might as well spend as much of your time as is reasonable doing something fun.

rufo 5 days ago|||
Why doesn’t this project “really matter?”
mghackerlady 5 days ago||
It matters a lot IMO, the Lisa is expensive and this is a good inexpensive way to preserve it
rufo 5 days ago||
Oh, I completely agree. But I admit I'm a bit of a retro enthusiast and preservationist at heart, so I was curious what "mattered" to a rando HN commenter :P
kstrauser 5 days ago||
I played a piano this weekend. That didn't improve the world.

I'm typing here on HN this morning. I could've been doing something more useful.

I'm about to put this down and play Animal Crossing. That isn't something that matters.

You could reasonably argue that I'm not as smart as this person, but I'm 100% behind his desire to have hobbies he enjoys.

More comments...