There are many ways to build your own Macintosh clone, and while the very latest models remain a little inaccessible, there are plenty of Intel-based so-called “Hackintoshes” which deliver an almost up-to-date experience. But the Mac has been around for a very long time now, and its earliest incarnation only has 128k of RAM and a 68000 processor. What can emulate one of those? Along comes [Matt Evans], with a working Mac 128k emulated on a Raspberry Pi Pico. Such is the power of a modern microcontroller that an RP2040 can now be a Mac!
The granddaddy of all Macs might have been a computer to lust after four decades ago, but the reality was that even at the time the demands of a GUI quickly made it under-powered. The RP2040 has plenty of processing power compared to the 68000 and over twice the Mac’s memory, so it seemed as though emulating the one with the other might be possible. This proved to be the case, using the Musashi 68000 interpreter and a self-built emulator which has been spun into a project of its own called umac. With monochrome VGA and USB for keyboard and mouse, there’s MacPaint on a small LCD screen looking a lot like the real thing.
If you want a 1980s Mac for anything without the joy of reviving original hardware, this represents an extremely cheap way to achieve it. If it can be compiled for microcontrollers with more available memory we could see it would even make for a more useful Mac, though your Mac mileage may vary.
Of course, this isn’t the only take on an early Mac we’ve brought you.
“over twice the Mac’s memory”
Twice 128K is still a very small number.
My 68008-based, 128kB Sinclair QL was enough to get me through University in the late 1980s :-) ! It was enough to run a Word processor, Spreadsheet, Database, Pascal and Assembler (SuperBasic was built-in). The QL was Linus Torvold’s first computer!
A 256kB Mac would have been quite usable between 1984 and 1988. Practical application sizes up to 160kB (with segmentation) or MacWrite documents of about 20K words. Pretty decent.
“A 256kB Mac would have been quite usable between 1984 and 1988. Practical application sizes up to 160kB (with segmentation) or MacWrite documents of about 20K words. Pretty decent.”
The problem was the logic board (motherboard) design, however.
Upgrading from 128KB to 512KB didn’t require a redesign for the memory wiring.
The RAM chips used had a compatible pinout, essentially.
The RAM chips required for a 256KB total were different, so it made no sense.
– Speaking under correction, however.
Also, other “PCs” of the time didn’t bother with having 256KB.
Both Amiga 1000 and Atari ST had 512KB, at least.
Ok, strictly speaking A1000 had 256KB initially, but the upgrade slot behind the front cover took another 256KB and was there for a good reason.
Without the upgrade, only a few applications ran.
So 512KB was the reasonable basic configuration, without hacky third-party memory expansions.
Most IBM PC compatibles had 512KB in ~1985, as well, with the 640KB option often being advertised.
The Atari ST Mega series was even more professional here.
The original models sold in ca. 1987 had 2MB and 4MB. The 1 MB model shipped years after this.
Working Memory is the most important part of a computer.
Unfortunately, in the days of DOS and C64 people didn’t realize this.
Because on those platforms, a program either fits into memory or not.
Real operating systems do need reserve memory, however.
Users of Windows 3 had to learn this the hard way when they came from DOS (2MB wasn’t enough by any means). ;)
C64 never had any form of memory management, the entire 64k RAM was directly accessed and virtually all programs were made with the 64k limit in mind. There are 3 different sized REU (which could be hacked to have 2MB), a GEORAM module that added 512k for GEOS, and CMD RamLink that allowed up to 16MB but very few programs took any advantage of extra RAM so those products didn’t sell well and are very expensive to find in used market.
C128 did have MMU built in and with little mod, as much as 1MB can be added. 256k can be used with simple modification but a little extra work is needed to have 512k or 1MB. Again, not many programs are designed to take advantage of extra RAM and still assumes 128KB.
Apple did have 512k Macs (and 512ke which has whooping 800k disk drive, the first 2 Macs can only read single sided which limited to 400k)
IMO Mac Plus is probably the best of early model to use since it supported up to 4MB RAM, SCSI for external hard drive, and a few other useful options.
I second this, vMac emulates the Plus, as well.
I remember original vMac, because there’s a DOS port that runs fine on 486 PCs.
https://en.wikipedia.org/wiki/VMac
Especially the 4MB RAM support is something that people don’t want to miss.
4MB looks like overkill, but a complete installation of System 6 or 7 doesn’t leave much remaining RAM to applications.
It’s about enough to display a VGA sized GIF file in a picture viewer such as GraphicConverter or Pixelcat.
Some of those applications even want System 7.1 and/or QuickTime in order to run.
That reminds me of using Windows 3.1x back then, by the way.
Without virtual memory (swap file), 4MB really was required to run more sophisticated productivity software such as Works, especially if working with larger files.
This is very interesting! Well done! 😃👏
I hope it’s possible to increase RAM by attaching some serial RAM or old style parallel SRAM in the future.
Because, I’m afraid the most interesting games and applications need System 6+ and 512KB of RAM.
Having System 7 and 4 MB would be ideal, but these are 90s era specifications, already. System 6 is okay, as well.
Oh, and an LocalTalk port (a serial port) would be nice, so people could use/build PhoneNet adapters for networking.
Tinkering with old networking technology is really fun, I think. It’s good for a change, it doesn’t have to be RJ45 networking all time.
Tried to contact him about porting the UMAC to Teensy4.0 but found no way to contact him.
That was my first thought. Actually the 4.1 — for ethernet!
” [..] But I knew they ran MacDraw, and MacWrite, and MacPaint. All three of these applications are pretty cool for a 128K machine [..] ”
The funny thing is that these are exactly the same core applications that Digital Research had, um, ‘cloned’ for GEM on PC: GEM Write, GEM Paint and GEM Paint. ;)
The Amstrad / Schneider PC 1512 and PC 1640 series were around in ~1986 and featured a similar experience like an Macintosh.
Anyway, it just came to mind while reading about this project here. Hope you don’t mind! 😅
(Other PCs running GEM at the time: BBC Master 512, Siemens PC-D, Tandy 2000 etc).
GEM also ran on the Atari ST. I suspect there may be some, er, commonality between the Atari ST GEM code and the Mac 68000 code if one digs deep enough. In the case of the Atari ST, hunt through the code that’s run when 68000 TRAP instructions are issued to find out what tne OS is doing. If the original Apple Mac used TRAP gateways to the OS as well, hmm, strokey beard time?
Yes, GEM also was available on Atari ST (and STe, TT). Along with CP/M 68k it formed the operating system in ROM, TOS. That’s probably was it popular for the most, I think.
GEM on PC was more exotic, lesser being supported by the hobbyst.
For example, I know of basically no Public Domain or Freeware program for PC’s GEM.
If there is software, it’s almost always big commercial software in retail package.
Ventura Publisher being most popular, maybe.
I’d even go so far to say GEM Paint and Locomotive BASIC v2 were about the only programs that the average Amstrad/Schneider PC user does remember ever using.
Most of the time the user would use GEM for it’s graphical desktop and file manager.
GEM Draw and GEM Write were available to a few mortals, too, if they had bought GEM as a retail product.
Because I’m not sure if they hadn’t been sold separately.
If they had been sold separately, then likely in same place as GEM Desktop (GEM base system) had been sold.
Interestingly, the Mac didn’t use TRAP instructions at all; it used the Illegal opcodes in the range 0xA000 to 0xAFFF. This means that… perhaps… GEM could coexist with an early Mac OS!
The same applies to the QL, it uses TRAP instructions, but also, I think it uses some vectors relative to A0, or A6, like e.g. JSR offset(A0).
Hi, there had been Macintosh emulators for both Atari ST and Amiga.
See Aladin, Magic Sac and Spectre 128.
Aladin was available way back in 1987, I remember.
There are some reviews in Atari magazines of the time.
GEM was also ported to FlexOs, I think a propriotary OS of Siemens Germany.
Go straight to the 512 and play Orgon Trails
And die of dysntry.
“Probably the cheapest”?
Pff! Coulda done it with a 555
Actually, this had been done!
Okay, not with NE555s but with discreet parts and over 30 years ago.
The dude who built a Lisa compatible later had converted it into a Macintosh.
That’s possible, Apple did it using a special MacWorks/MacWorks XL software.
https://tinyurl.com/3wd8he36
https://tinyurl.com/yuz5pzjr
More information in the comments of this earlier HaD article:
https://hackaday.com/2023/01/25/open-sourcing-the-lisa-macs-bigger-sister/
po co emulować jak można napisać od zera?
będzie lepiej i szybciej.dzis programów graficznych i edytorów jest wiecej niż kiedyś. i będzie UTF-8