Releases: micahcowan/bobbin
v0.4.2 - bobbin on the shebang line
New features:
- More accurate CPU speed, and character-flashing rate.
--run-basic
command to support bobbin on the shebang line, to use AppleSoft as a Unix scripting language.--watch
now works on any platform, not Linux-specific (no longer relies on inotify).--debug-on-brk
to enter the debugger when a BRK or an unsupported operator is encountered.- Monitor-style memory writes in the debugger.
Bug fixes:
- Fixed the bell always sounding on AppleSoft's
INPUT
command, in--interface tty
. - Fix
--detokenize
, which appears to have been broken since bobbin v0.4. - Properly deactivate the 80-column card when
--ram 64k
is set. - Fix
--watch
so it doesn't fail an assert. - Fix breakout mode in
--interface tty
, to not fail a sporadic assert. - Avoid some annoying gcc/clang warnings.
To build bobbin, we recommend using the *.tar.gz
and *.zip
files that are not named "Source Code"—the latter are automatically generated by GitHub, while the former include the pregenerated ./configure
script and associated helpers, needed to build bobbin. It is also highly recommended that you have a developer package (header files and library symlinks) for curses installed when you configure and build bobbin.
As always, see README.md for much, much more information.
v0.4.1 - fixed missing apple2e.rom
This 0.4.1 patch release fixes a ROM file missing from the distribution tarball and zipfile.
Many, many improvements, including:
- Added disk drive/controller emulation! Supported file formats:
.dsk
,.do
,.po
,.nib
- Added support for Apple IIe (unenhanced/6502), with an 80-column card.
^C^C
in the tty interface now opens a command interface, instead of quitting--tokenize
: take AppleSoft program code as input, emit tokenized AppleSoft to output- Many improvements to bobbin’s built-in debugger (only available in
--simple
interface)
To build bobbin, we recommend using the *.tar.gz
and *.zip
files that are not named "Source Code"—the latter are automatically generated by GitHub, while the former include the pregenerated ./configure
script and associated helpers, needed to build bobbin. It is also highly recommended that you have a developer package (header files and library symlinks) for curses installed when you configure and build bobbin.
As always, see README.md for much, much more information.
v0.4 - disk drives, unenhanced Apple IIe
The distribution files for this release are missing a file needed for Apple IIe emulation - go get v0.4.1 instead!
v0.3 - screen emulation via --tty, responsive restarts with --watch
Many added features and improvements in this version—too many to mention. But the biggest additions is the new --tty
interface to provide emulation of the Apple ][ screen in your terminal; and the ability to load binary files into emulator RAM, and reboot with new versions whenever the binary file is written to.
The options involved with the latter feature are: --load
, --load-at
, --start-at
, --delay-until
, and --watch
.
To build bobbin, we recommend using the *.tar.gz
and *.zip
files that are not named "Source Code"—the latter are automatically generated by GitHub, while the former include the pregenerated ./configure
script and associated helpers, needed to build bobbin. It is also highly recommended that you have a developer package (header files and library symlinks) for curses installed when you configure and build bobbin.
As always, see README.md for much, much more information.
v0.2 - BCD Now Works
BCD arithmetic operations have been fixed and tested. ROM files are now verified against an expected checksum, a basic --help
message provided, and you can limit how much RAM is available with --ram
. See the README.md.
v0.1.0 - Simple-Mode Overhaul
There are too many changes to describe them all here—be sure to check the README for detailed instructions!
In order to match the behavior of the video, bobbin must now be invoked like: ./bobbin -m plus --simple --simple-input canonical
. Try it also without the --simple-input canonical
, to see how that differs.
The input system for the current --simple
interface has been completely overhauled, and is much more robust in how it handles input requests from Apple ][ programs (the "two-day hack" version would hang forever on a GET A$
, and couldn't work with Integer BASIC firmware).
A script has been added to automatically fetch the appropriate rom files that can be used with bobbin. It won't work unless you have wget and sha256sum installed. The script mentions how you can change the FTP URLs into a popular mirror's HTTPS URL, suitable for popping the URLs into your browser for download, if you don't have a command-line downloading tool.
Two days of development work (super-alpha)
This is the bobbin Apple ][ emulator, after a weekend of work on it. Can pipe (or type) AppleSoft BASIC into it. Works by hijacking GETLN (INPUT) and COUT1; any other form of keyboard read will just hang (AppleSoft GET
, I'm looking at you). Documented 6502 op codes have all been thoroughly tested, except decimal-mode stuff which is probably severely broken.
You must have a 12kb Apple ][+ rom firmware named apple2.rom
(not provided) in your current directory, or bobbin won't be able to run.
There are no dependencies to build it, beyond a standard (modern) Unix dev environment (cc,, make). Only tested on Ubuntu Linux and Darwin (Mac OS) so far.