Skip to content

Releases

BMMacintosh v0.1.4

Choose a tag to compare

@github-actions github-actions released this 04 Nov 00:06

The Mac II reaches the Internet from a Raspberry Pi. This fixes issue #5.

Fixed

  • DNS and connections work on the Pi. The Mac II got its address by DHCP, but every name lookup failed ("No site by that name can be found"), so no site could be opened. On the Pi, the network's sockets were given the wrong "don't wait" flag, and Circle refused every datagram sent.
  • The network starts with the Mac. It no longer waits for the Pi's own Wi-Fi, which can take longer to connect than the Mac waits for its address.

Added

  • netprobe=1 in cmdline.txt tests the Mac II's network without needing a program on the Mac. Once the Pi's network is up, it asks for an address and looks up a name as the Mac would, and logs the answers.
  • More in the log: it names the DNS server and records the first datagrams and connections, with Circle's result codes.

Setting up Mac OS

In the TCP/IP control panel:

  • Connect via: Ethernet.
  • Configure: Using DHCP Server. The Mac gets 10.0.2.15, with router 10.0.2.2 and name server 10.0.2.3.
  • Load only when needed: untick it (Edit → User Mode → Advanced → Options).

Ping doesn't work through the Mac's network, but TCP and UDP do. Browsers of that era can't open modern HTTPS sites; use plain-HTTP ones such as http://frogfind.de.

Tested

  • Raspberry Pi 5 on Wi-Fi: Mac OS 8.1 with Internet Explorer 4.0.1 loads web pages.
  • PC simulator: all tests pass.
  • Builds: all five boards' kernels build.

Installing

New card: unzip bmmacintosh-v0.1.4.zip onto a FAT32 SD card.

Upgrading: copy the new files over the old ones. Keep your own config.txt and cmdline.txt if you edited them. Your ROMs, disks and settings files aren't in the zip, so they stay as they are.

See the installation guide and the changelog.

BMMacintosh v0.1.3

Choose a tag to compare

@github-actions github-actions released this 30 Oct 21:10

A fix for issue #4.

Fixed

  • Inserting a floppy from the Mac II's menu works again. F12 → Insert a Floppy Disk said "Both floppy drives are full" even with both drives empty. An empty floppy drive was being mistaken for the CD-ROM drive, so there was never an empty floppy drive to use. Floppies set in macii.prefs or started from the web UI weren't affected.

Tested

  • PC simulator: all tests pass, including a new one that inserts a floppy from the menu into an empty drive.
  • Builds: all five boards' kernels build.
  • Raspberry Pi: not tried on a Pi yet.

Installing

New card: unzip bmmacintosh-v0.1.3.zip onto a FAT32 SD card.

Upgrading: copy the new files over the old ones. Keep your own config.txt and cmdline.txt if you edited them. Your ROMs, disks and settings files aren't in the zip, so they stay as they are.

See the installation guide and the changelog.

BMMacintosh v0.1.2

Choose a tag to compare

@github-actions github-actions released this 30 Oct 13:03

Display fixes and a bigger Mac II screen, from issue #2 and issue #3.

Fixed

  • The picture keeps its shape on displays narrower than it, such as a 4:3 Mac or the Mac Plus's 3:2 screen on a 5:4 monitor. It used to come out squashed. Now it is as wide as the display, with bars above and below. In sharp mode it is drawn at fewer whole multiples of its lines, so every line stays the same height. This applies on every Pi.
  • Pi 3, 2 and Zero: a smaller Screen Size (F12 → Video) now shrinks the picture both ways; it used to only shorten it.

Added

  • 1600x1200 for the Mac II, the largest size of Apple's 20-inch ColorSync Display, in the Monitors control panel. It is offered when the display has at least 800 lines (1080p or 1920x1200), because a taller screen has to be shrunk and the Pi's display hardware shrinks a picture to two thirds at most.
  • Two tools for working on BMMacintosh:
    • A PC test of where the picture goes on the display, for every Mac screen on 16:9, 16:10 and 5:4 displays.
    • tools/qemu/run_qemu.sh, which starts a Pi 4 kernel in QEMU, to catch crashes early in start-up.

On a 5:4 monitor

  • Pi 4/400: our config.txt asks for 720p. Set hdmi_group=2 and hdmi_mode=35 for 1280x1024 at 60 Hz.
  • Pi 5: set F12 → Video → Resolution to Auto.

Tested

  • PC: all tests pass, the new screen sizes boot in the simulator, and both Pi 4 kernels start in QEMU.
  • Builds: all five boards' kernels build.
  • Raspberry Pi: the display fixes haven't been tried on a 5:4 monitor yet.

Installing

New card: unzip bmmacintosh-v0.1.2.zip onto a FAT32 SD card.

Upgrading: copy the new files over the old ones. Keep your own config.txt and cmdline.txt if you edited them. Your ROMs, disks and settings files aren't in the zip, so they stay as they are.

See the installation guide and the changelog.

BMMacintosh v0.1.1

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:07

Fixes and small additions after 0.1.0, most of them reported in issue #2.

Fixed

  • The web UI saves config.txt and the other settings files, and restarts and shuts down the Pi, again. The Pi was checking for a different header name from the one its pages send, so it refused these requests with "HTTP 403 missing X-BMMacintosh-Web header".
  • Uploading over config.txt or cmdline.txt now says why it can't. The Pi protects these files from being replaced by an upload. Edit them in the web UI's editor instead.
  • Pi 4, sharp mode: a Mac screen taller than the display is now shrunk to fit. Before, it was drawn past the end of the display's memory.

Added and changed

  • New Mac II screen sizes: 832x624, 1152x870 and 1280x1024, the sizes of Apple's own monitors. Choose them in the Monitors control panel.
  • The Mac II's speed line in the menu now says the emulation keeps up with the Mac's frames, and that the CPU runs at full speed. The Mac II's CPU isn't timed to a real Quadra; it runs as fast as the Pi allows, often several times faster than a real Quadra. The old "99% of the real Mac's speed" was misleading.
  • The User Guide explains why there is no startup chime, and that screens bigger than 1280x1024 are left out for now.

Tested

  • PC simulator: all tests pass.
  • Builds: all five boards' kernels build.
  • Raspberry Pi: none of these changes have been tried on a Pi yet.

Installing

New card: unzip bmmacintosh-v0.1.1.zip onto a FAT32 SD card.

Upgrading a 0.1.0 card: copy the new files over the old ones. Keep your own config.txt and cmdline.txt if you edited them. Your ROMs, disks and settings files aren't in the zip, so they stay as they are.

Only the kernels changed since 0.1.0. With networking on, you can instead upload your Pi's kernel in the web UI's file manager and choose Reboot. See the installation guide and the changelog.

BMMacintosh v0.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 18:45

The first BMMacintosh: a bare-metal 68k Macintosh emulator for the Raspberry Pi, on the Circle kernel. It comes from BMAtariST 0.1.0 (itself from BMApple2, BMCoco, BMA800XL and BMC64), with Hatari replaced by two Macs, each a kernel of its own.

What it does

  • Mac II and Quadra (Pi 4 and 5): Basilisk II, a 68040 with an FPU, 8 to 256 MB, screens up to 1024x768 in millions of colours, and sound.
    • Hard disks up to 4 GB, raw or with an Apple partition map.
    • Two floppy drives and a CD-ROM drive.
    • The card's shared folder appears as a disk on the Mac's desktop.
  • The Mac II on the network: slirp-style NAT through the Pi's Ethernet or Wi-Fi. The Mac gets 10.0.2.15 by DHCP, and its connections go out from the Pi's address.
  • Mac Plus (every Pi): umac with Musashi, 128K to 4 MB.
    • Its disk can be a floppy image (raw or DiskCopy 4.2) or a hard disk, raw or partitioned. A partitioned disk starts from its first HFS partition.
    • The clock and parameter RAM are kept on the card.
  • Switching Macs from the menu (F12, Machine) rewrites config.txt and restarts the Pi.
  • Your own ROMs, as files or as MAME's zipped ROM sets. tools/mac_media.py turns MAME's CHD hard disks into raw images.
  • Input: USB keyboards (Alt is Command, the Windows key is Option), USB mice, and gamepads as the mouse. Keys held while the Mac starts reach it, so Shift turns extensions off.
  • Web UI for choosing disks and editing settings.

Left out for now: Basilisk II's JIT (x86 only), saved states, and a second Mac Plus drive.

Tested

  • PC simulator: both Macs boot their ROMs. Mac OS 8.1 (Mac II) and System 4.3 (Mac Plus) reach the Finder. Mac OS 8.1 gets its network address by DHCP.
  • Raspberry Pi 5: the Mac II starts Mac OS 8.1.
  • Not yet tried on a Pi: the Mac Plus, the Mac II's network, and the other Pis.

Not included

Apple's ROMs and system software are not included. You need your own: put ROMs in roms and disk images in disks (ROMS.txt).

Installing

To install, unzip bmmacintosh-v0.1.0.zip onto a FAT32 SD card. See the installation guide and the changelog.