Skip to content

Latest commit

 

History

History
77 lines (61 loc) · 2.5 KB

README.md

File metadata and controls

77 lines (61 loc) · 2.5 KB

Twelf on Classic Mac

Screenshot of Twelf on Classic Mac

The purpose of this repository is to build a version of the Twelf logical framework that can be run in the "Classic Mac" environment of approximately System 7 era. The current emulation target is a Quadra 800 running System 7.5.3.

Status:

  • ✅ Twelf runs and can typecheck simple signatures that are typed in by hand
  • ✅ Application and document icons exist
  • ✅ File IO (Open, Save) is implemented
  • ✅ Scrolling of the input document works
  • ✅ Selection of output text works
  • ✅ Copy/Paste is implemented
  • 🚫 Revert doesn't work yet
  • 🚫 Unsafe Eval doesn't work yet

Setup Notes

Much thanks to agoode for explaining a lot of this.

I'm using Retro68 to compile C to run on an emulated mac. I build qemu 8.2.2 from source with

sudo apt install libglib2.0-dev libpixman-1-dev libgtk-3-dev libasound2-dev libslirp-dev
mkdir build
cd build
../configure --target-list=m68k-softmmu --enable-gtk  --enable-pixman --enable-slirp
make

I needed to put in this directory:

Building and Running the App

Build

On linux cross-compile host:

cd docker
make Twelf.bin

Install

On linux cross-compile host:

make serve # spawns a local web server

Start MacOS guest with ./qemu-macos. Inside MacOS guest:

  • Launch Netscape Navigator from Saved HD.
  • Go to http://10.0.2.2:8000/ (this is the host-local web server)
  • Download Twelf.bin
  • Expand it in Stuffit Expander to create app named Twelf.