Macintosh emulator works on ESP32-P4 display devkits from M5Stack and Waveshare

Macintosh emulator works on ESP32-P4 display devkits from M5Stack and Waveshare

Macintosh emulator works on ESP32-P4 display devkits from M5Stack and Waveshare

https://www.cnx-software.com/2026/07/05/macintosh-emulator-works-on-esp32-p4-display-devkits-from-m5stack-and-waveshare/

Publish Date: 2026-07-05 04:14:00

Source Domain: www.cnx-software.com

ESP32 chips have been used for retro gaming and computing for years, but Austin McChord (Amcchord) adds to that with a Macintosh emulator ported to a couple of ESP32-P4 display devkits.

His project is a full port of the BasiliskII Macintosh 68k emulator, bringing classic Mac OS (System 7.x through Mac OS 8.1) to portable ESP32-P4 embedded devices with touchscreen, USB peripherals, and WiFi support through an ESP32-C6 on the boards.

The main development platform appears to be the M5Stack Tab5 equipped with a 5-inch touchscreen display with 1280×720 resolution. However, if you need something with a larger screen, the Waveshare ESP32-P4-WIFI6-Touch-LCD-10.1 is also supported, and features a 10.1-inch display with 1280×800 resolution and a 10-point capacitive touchscreen. The actual Mac OS resolutions used are 640×360 and 640×400, respectively, then scaled twice to the native resolution of the display.

Highlights of the project:

  • CPU –  Motorola 68040 emulation with FPU (68881) — 2-3 MIPS
  • RAM – Configurable from 4MB to 16MB; allocated from ESP32-P4’s 32MB PSRAM
  • Storage – Hard disk and CD-ROM images loaded from microSD card
  • Display – 640×360 or 640×400 virtual display (2x scaled to 1280×720/800 physical display); 1/2/4/8-bit color depths at 24 FPS
  • Video – Optimized pipeline with write-time dirty tracking, double-buffered DMA, and tile-based rendering
  • Audio – Classic Mac sound output via ES8388 codec; toggleable in boot GUI
  • Networking – WiFi internet access via NAT router with support for TCP, UDP, ICMP, DHCP…
  • Input
    • Capacitive touchscreen used as a mouse
    • USB keyboard/mouse support

System 7 ESP32-P4 WiFi web browsingSystem 7 ESP32-P4 WiFi web browsing

The emulator is compatible with System 7.1, System 7.5.x, Mac OS 8.0, and Mac OS 8.1.

Each task is attached to a specific core of the ESP32-P4:

  • CORE 0 – Video & I/O Core
    • Video rendering task
    • Double-buffered DMA
    • 2×2 pixel scaling
    • Input task (60Hz)
    • USB HID processing
    • Audio output (ES8388)
    • Network RX polling
    • Event-driven @ 24 FPS
  • CORE 1 – CPU Emulation…

Source