💾 Archived View for mirrors.apple2.org.za › active › ftp.apple.asimov.net › emulators › appleblossom… captured on 2023-01-29 at 06:12:54.

View Raw

More Information

-=-=-=-=-=-=-

                                                         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:




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