izapple2 - Linux
izapple2 is a portable emulator of an Apple II+ or //e written in Go.
Models
* Apple ][+ with 48Kb of base RAM
* Apple //e with 128Kb of RAM
* Apple //e enhanced with 128Kb of RAM
* Base64A clone with 48Kb of base RAM and paged ROM
Storage
* 16 Sector 5 1/4 diskettes. Uncompressed or compressed witth gzip or zip. Supported formats:
- NIB (read only)
- DSK
- PO
- WOZ 1.0 or 2.0 (read only)
* 3.5 disks in PO or 2MG format
* Hard disk in HDV or 2MG format with ProDOS and SmartPort support
Emulated extension cards
* DiskII controller (state machine based for WOZ files)
* 16Kb Language Card
* 256Kb Saturn RAM
* Parallel Printer Interface card
* 1Mb Memory Expansion Card (slinky)
* RAMWorks style expansion Card (up to 16MB additional) (Apple //e only)
* ThunderClock Plus real time clock
* Apple //e 80 columns card with 64Kb extra RAM and optional RGB modes
* No Slot Clock based on the DS1216
* Videx Videoterm 80 column card with the Videx Soft Video Switch (Apple ][+ only)
* SwyftCard (Apple //e only)
Useful cards not emulating a real card
* Bootable SmartPort / ProDOS card with the following smartport devices:
- Block device (hard disks)
- Fujinet network device (supports only http(s) with GET and JSON)
- Fujinet clock (not in Fujinet upstream)
* VidHd, limited to the ROM signature and SHR as used by Total Replay, only for //e models with 128Kb
* FASTChip, limited to what Total Replay needs to set and clear fast mode
* Mouse Card, emulates the entry points, not the softswitches.
* Host console card. Maps the host STDIN and STDOUT to PR# and IN#
* ROMXe, limited to font switching
Graphic modes
* Text 40 columns
* Text 80 columns (Apple //e and Videx VideoTerm)
* Low-Resolution graphics
* Double-Width Low-Resolution graphics (Apple //e only)
* High-Resolution graphics
* Double-Width High-Resolution graphics (Apple //e only)
* Super High Resolution (VidHD only)
* Mixed mode
* RGB card text 40 columns with 16 colors for foreground and background (mixable)
* RGB card mode 11, mono 560x192
* RGB card mode 12, ntsc 160*192
* RGB card mode 13, ntsc 140*192 (regular DHGR)
* RGB card mode 14, mix of modes 11 and 13 on the fly
Displays
* Green monochrome monitor with half width pixel support
* NTSC Color TV (extracting the phase from the mono signal)
* RGB for Super High Resolution and RGB card
* ANSI Console, avoiding the SDL2 dependency
* Debug mode: shows four panels with actual screen, page1, page2 and extra info dependant of the video mode
Tracing capabilities
* CPU execution disassembled
* Softswitch reads and writes
* ProDOS MLI calls
* Apple Pascal BIOS calls
* SmartPort commands
* BBC MOS calls when using Applecorn
Other features
* Sound
* Joystick support. Up to two joysticks or four paddles
* Mouse support. No mouse capture needed
* Adjustable speed
* Fast disk mode to set max speed while using the disks
* Single file executable with embedded ROMs and DOS 3.3
* Pause (thanks a2geek)
* Passes the A2AUDIT 1.06 tests as II+, //e, and //e Enhanced.
* Partial pass ot the ProcessorTests for 6502 and 65c02. Failing test 6502/v1/20_55_13; flags N anv V issues with ADC; and missing some undocumented 6502 opcodes.
Keys
- Ctrl-F1: Reset button
- F5: Toggle speed between real and fastest
- Ctrl-F5: Show current speed in Mhz
- F6: Toggle between NTSC color TV and green phosphor monochrome monitor
- F7: Show the video mode and a split screen with the views for NTSC color TV, page 1, page 2 and extra info.
- F10: Cycle character generator code pages. Only if the character generator ROM has more than one 2Kb page.
- Ctrl-F10: Show the charater map for the current character generator page.
- Shift-F10: When showing the character map, use altText.
- F11: Toggle on and off the trace to console of the CPU execution
- F12: Save a screen snapshot to a file
snapshot.png
- Pause: Pause the emulation
Only valid on SDL mode
Command line options
-charRom string
rom file for the character generator (default "<default>")
-consoleCardSlot int
slot for the host console card. -1 for none (default -1)
-disk string
file to load on the first disk drive (default "<internal>/dos33.dsk")
-disk2Slot int
slot for the disk driver. -1 for none. (default 6)
-disk35 string
file to load on the SmartPort disk (slot 5)
-diskRom string
rom file for the disk drive controller (default "<internal>/DISK2.rom")
-diskb string
file to load on the second disk drive
-fastChipSlot int
slot for the FASTChip accelerator card, -1 for none (default 3)
-forceCaps
force all letters to be uppercased (no need for caps lock!)
-fastDisk
set fast mode when the disks are spinning (default true)
-hd string
file to load on the boot hard disk
-hdSlot int
slot for the hard drive if present. -1 for none. (default -1)
-languageCardSlot int
slot for the 16kb language card. -1 for none
-memoryExpSlot int
slot for the Memory Expansion card with 1GB. -1 for none (default -1)
-mhz float
cpu speed in Mhz, use 0 for full speed. Use F5 to toggle. (default 1.0227142857142857)
-model string
set base model. Models available 2plus, 2e, 2enh, base64a (default "2enh")
-mouseCardSlot int
slot for the Mouse card. -1 for none (default 4)
-nsc int
add a DS1216 No-Slot-Clock on the main ROM (use 0) or a slot ROM. -1 for none (default -1)
-panicSS
panic if a not implemented softswitch is used
-printer int
slot for the Parallel Printer Interface. -1 for none (default 1)
-profile
generate profile trace to analyse with pprof
-ramworks int
memory to use with RAMWorks card, 0 for no card, max is 16384 (default 8192)
-rgb
emulate the RGB modes of the 80col RGB card for DHGR (default true)
-rom string
main rom file (default "<default>")
-romx
emulate a RomX
-saturnCardSlot int
slot for the 256kb Saturn card. -1 for none (default -1)
-sequencer
use the sequencer based Disk II card
-swyftCard
activate a Swyft Card in slot 3. Load the tutorial disk if none provided
-thunderClockCardSlot int
slot for the ThunderClock Plus card. -1 for none (default 4)
-traceBBC
trace BBC MOS API calls used with Applecorn, skip console I/O calls
-traceBBCFull
trace BBC MOS API calls used with Applecorn
-traceCpu
dump to the console the CPU execution. Use F11 to toggle.
-traceHD
dump to the console the hd/smartPort commands
-traceMLI
dump to the console the calls to ProDOS machine language interface calls to $BF00
-tracePascal
dump to the console the calls to the Apple Pascal BIOS
-traceSS
dump to the console the sofswitches calls
-traceSSReg
dump to the console the sofswitch registrations
-vidHDSlot int
slot for the VidHD card, only for //e models. -1 for none (default 2)
-videxCardSlot int
slot for the Videx Videoterm 80 columns card. For pre-2e models. -1 for none (default 3)