Announcing Bobbin v0.4, an Apple Emulator.
Why Yet Another Emulator? What does Bobbin do that Nintendon’t?
- Runs entirely in your terminal, using either standard input/output, or a curses screen display
- Can be used in shell scripts to accept typed text from standard input, and emit program output to standard output
- Can watch a program binary file for changes, and reload itself with the new program binary when it does, greatly accelerating development cycles for software on the 8-bit Apple
Read more about it (and see a couple of demo videos) here.
Bobbin is distributed in source form only; you must be comfortable building software via ./configure && make && make install. I will not make myself available to help you build and install (unless it’s due to a bug). You also really want to have ncurses installed, unless you only want to use the standard input/output interface (no screen representation).
Bobbin is written in C for modern, standards-conformant Unix OSes. It is tested on MacOS Ventura, and on Ubuntu Linux running under Windows WSL.
Bobbin is a "highly hackable" Apple ][ emulator, aimed especially at improving productivity for devs of Apple ][ software by offering convenient terminal-based interface options, redirectable "standard input and output"-oriented options, and custom-scripted, on-the-fly adjustments to the emulated machine.
This is a demonstration of an early version (roughly two days into development) of the pipe-able, standard I/O emulator interface (dubbed the "simple" interface):
Please note: the video shows the use of command-line options
-m ][. In the latest version of the bobbin, you must use
-m ][+ (or
-m plus), and also add
--simple-input fgets, to obtain approximately the same results as shown in the video. If you use
-m ][ as shown in the video (and if your shell even allows that), instead of the correct
-m ][+, then bobbin will drop you directly into Integer (Woz) BASIC, instead of AppleSoft.
And here's another video (clickable) that showcases additional features in a more recent version of bobbin (~two weeks of work):