💾 Archived View for mirrors.apple2.org.za › active › ftp.apple.asimov.net › emulators › appleblossom… captured on 2023-07-10 at 18:10:36.
View Raw
More Information
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
Portable Open-Source
/\ AAAA ll bb ll Apple II Emulator
/---/| A AA l b l
|-/ /--/-| A AA p pp p pp l ee b b l oo ss ss oo mmm m m
-| //-//- /-- A A A ppp ppppp ppl e e bbb l o o ss ss o o m mmmmm
/-/\ - //|/// AAA p p p p l ee b b l o o s s o o m m m
|\\/\\-//\|\/-| A A p p p p l e b b l o o s s o o m m m m
\---|----\\--\ AA AA ppp ppp ll eee bb ll oo ss ss oo m m mm
//-/ /|--/\--/ p p
- \/ pp pp (c) 2005 Rebecca Gabriella Bettencourt
apple2@kreativekorp.cjb.net
Appleblossom is my own open-source Apple II emulator. Initially I just wanted
to port an Apple II emulator to iPodLinux, but while there are quite a few
open-source emulators out there, most of the ones I found were hard to read,
written in C++, tied to a specific platform, incomplete, or a combination of
the four. So Appleblossom is my effort to create an Apple II emulator that
is readable, portable, and as complete as I can make it.
Appleblossom currently emulates a typical 128K Apple IIe with 80-columns,
Disk II, and hard drive. All graphics modes are supported. Sound is not.
Provisions are in place for serial support, but the hardware is not
implemented.
Appleblossom is open-source under GPL, so feel free to hack at it. If you
have any useful changes, send them back to me and I'll see if I can fold them
back in. Any help with the following would be greatly appreciated:
- Bug fixes and general improvements to emulation accuracy
- Faster Disk II support
- Sound support
- Serial ports
- Mockingboard, mouse card, Echo II, SmartPort, other peripheral cards
- Locating ROMs for the above
- X-Window interface
To build the ncurses interface, which supports both 40-column and 80-column
text but no graphics, use the following command:
./build.sh ncurses
This will generate the executable file 'apple2'. Other interfaces can be
built similarly. The 'apple2' executable included with Appleblossom is for
Mac OS X.
In order to run Apple II software, Appleblossom needs images of the ROMs from
actual Apple II hardware. All ROM files must reside in the same directory as
the executable program. Other interfaces may use different directories or file
names for these files, but the ones included use these names.
APPLE2E.ROM -
The Apple IIe's internal $C000-$FFFF ROM. This file is not supplied with
the emulator, as the ROM is copyrighted software. It must be obtained
through other means.
DISK2.ROM -
The Disk II controller's $C600 ROM. This file is not supplied with the
emulator, as the ROM is copyrighted software. It must be obtained through
other means.
HDDRVR.ROM -
The hard disk controller $C700 ROM. This file IS included, as it is an
open-source driver originally written for the AppleWin emulator.
SERIAL.ROM and SERIALX.ROM -
The Super Serial Card's $Cx00 and $C800 ROMs, respectively. Used to
emulate the serial ports. SERIAL.ROM is necessary for the Apple II to
recognize the serial "card." SERIALX.ROM is only needed for compatibility
with some programs that may use it; otherwise it is not required. I have
actually been unable to locate these ROMs, so I couldn't include them
even if I wanted to.
The ncurses implementation supports the following command-line arguments:
-d1 <file> loads .dsk or .nib disk image into slot 6 drive 1.
-d2 <file> loads .dsk or .nib disk image into slot 6 drive 2.
-d1do specifies DOS 3.3 order for drive 1. Must come after -d1.
-d2do specifies DOS 3.3 order for drive 2. Must come after -d2.
-d1po specifies ProDOS order for drive 1. Must come after -d1.
-d2po specifies ProDOS order for drive 2. Must come after -d2.
-d1n specifies nibble image for drive 1. Must come after -d1.
-d2n specifies nibble image for drive 2. Must come after -d2.
-h1 <file> loads .hdv disk image into slot 7 drive 1.
-h2 <file> loads .hdv disk image into slot 7 drive 2.
-s1 <file> connects a file to the Apple II's serial port in slot 1.
-s2 <file> connects a file to the Apple II's serial port in slot 2.
-d <file> reports top eight bytes of stack, registers, and the
current instruction to <file> for each instruction executed.
(This file gets very big very fast.)
-j <file> reports every JMP or JSR the Apple II makes to <file>.
-don starts with dumping on (-d or -j) instead of waiting for F13.
-disktest runs a test of Disk II support and exits.
-hgrtest runs a test of hi-res graphics addressing and exits.
-help displays this screen and exits.
-keys displays a list of keys and exits.
If the -dXdo, -dXpo, -dXn parameters are not specified, the sector ordering
will be determined from the file extension (ProDOS order for .po, nibble
image for .nib, DOS 3.3 order for all other extensions).
Function keys are as follows:
F5 - Open Apple Down
F6 - Solid Apple Down
F7 - Open Apple Up
F8 - Solid Apple Up
F9 - Dump Memory
F10 - Quit
F11 - Control-C (BASIC Soft-Reentry from Monitor; Break)
F12 - Control-Reset
F13 - Turn on disassembly dump (to file specified by -d or -j)
F14 - Turn off disassembly dump