mirror of
https://github.com/ivanizag/izapple2.git
synced 2026-10-25 03:02:24 +00:00
Runs izapple2 inside RetroArch and the other libretro frontends. It is built as a C shared library with cgo, so it needs a C toolchain, and it is not part of the releases. The frontend owns the frame timing, calling retro_run once per frame, so the core advances the machine with RunCycles and hands over one video frame and the matching audio samples on the thread it was called on, with no goroutines. A frame is 17030 cycles. While a drive asks for fast mode it runs sixteen frames worth, or loading a disk takes half a minute. Kept small on purpose: no super hi-res, no Videx video, no RGB card and no savestates. What is left is generated as 560x192, so the framebuffer is a fixed 564x192 and the geometry never changes. The cards that produce the other modes are taken out of the slots. Diskettes are swapped from the menu through the extended disk control interface, with the list coming from an M3U playlist, and the saves go to the save directory of the frontend as overlays. Go cannot call the function pointers the frontend hands over, so shim.c keeps them and reaches them through plain C functions, and the callbacks the core provides go the other way through it. Four entry points take a const pointer, which cgo cannot generate, so those are wrapped there as well. The default machine is the new gaming model, an enhanced //e with a Mockingboard, no mouse and no VidHD, which also serves the command line. See doc/libretro.md to use it, frontend/a2libretro/README.md for how it works.
112 lines
4.4 KiB
Plaintext
112 lines
4.4 KiB
Plaintext
Usage: izapple2 [file]
|
|
file
|
|
path to image to use on the boot device
|
|
-charrom string
|
|
rom file for the character generator (default "<internal>/Apple IIe Video Enhanced.bin")
|
|
-cpu string
|
|
cpu type, can be '6502' or '65c02' (default "65c02")
|
|
-forceCaps
|
|
force all letters to be uppercased (no need for caps lock!)
|
|
-model string
|
|
set base model (default "2enh")
|
|
-mods string
|
|
comma separated list of mods applied to the board, available mods are 'shift', 'four-colors
|
|
-nsc string
|
|
add a DS1216 No-Slot-Clock on the main ROM (use 'main') or a slot ROM (default "main")
|
|
-profile
|
|
generate profile trace to analyse with pprof
|
|
-ramworks string
|
|
memory to use with RAMWorks card, max is 16384 (default "8192")
|
|
-rgb
|
|
emulate the RGB modes of the 80col RGB card for DHGR
|
|
-rom string
|
|
main rom file (default "<internal>/Apple2e_Enhanced.rom")
|
|
-romx
|
|
emulate a RomX
|
|
-s0 string
|
|
slot 0 configuration. (default "language")
|
|
-s1 string
|
|
slot 1 configuration. (default "empty")
|
|
-s2 string
|
|
slot 2 configuration. (default "vidhd")
|
|
-s3 string
|
|
slot 3 configuration. (default "fastchip")
|
|
-s4 string
|
|
slot 4 configuration. (default "mockingboard")
|
|
-s5 string
|
|
slot 5 configuration. (default "empty")
|
|
-s6 string
|
|
slot 6 configuration. (default "diskii,disk1=<internal>/dos33.dsk")
|
|
-s7 string
|
|
slot 7 configuration. (default "empty")
|
|
-saveDir string
|
|
directory to keep what the software writes to the disks, leaving the images unmodified. 'none' to write back to the images (default "none")
|
|
-showConfig
|
|
show the calculated configuration and exit
|
|
-speed string
|
|
cpu speed in Mhz, can be 'ntsc', 'pal', 'full' or a decimal nunmber (default "ntsc")
|
|
-tape string
|
|
WAV file with a tape recording for the cassette input (default "none")
|
|
-trace string
|
|
trace CPU execution with one or more comma separated tracers (default "none")
|
|
|
|
The available pre-configured models are:
|
|
2: Apple ][
|
|
2e: Apple IIe
|
|
2enh: Apple //e
|
|
2plus: Apple ][+
|
|
base64a: Base 64A
|
|
basis108: Basis 108
|
|
cpm: Apple ][+ with CP/M
|
|
cpm3: Apple //e with CP/M 3.0
|
|
cpm65: Apple //e with CPM-65
|
|
desktop: Apple II DeskTop
|
|
dos32: Apple ][ with 13 sectors disk adapter and DOS 3.2x
|
|
gaming: Apple //e for gaming
|
|
pascal: Apple //e with Apple Pascal 1.3
|
|
prodos: Apple //e Prodos
|
|
swyft: swyft
|
|
ultraterm: Apple ][+ with Videx Ultraterm demo
|
|
Custom models may be specified by filename. Use 'IZAPPLE2_CUSTOM_MODEL' to set default location.
|
|
|
|
The available cards are:
|
|
brainboard: Firmware card. It has two ROM banks
|
|
brainboard2: Firmware card. It has up to four ROM banks
|
|
dan2sd: Apple II Peripheral Card that Interfaces to a ATMEGA328P for SD card storage
|
|
diskii: Disk II interface card
|
|
diskiiseq: Disk II interface card emulating the Woz state machine
|
|
fastchip: Accelerator card for Apple IIe (limited support)
|
|
fujinet: SmartPort interface card hosting the Fujinet
|
|
language: Language card with 16 extra KB for the Apple ][ and ][+
|
|
memexp: Memory expansion card
|
|
mockingboard: Mockingboard sound card with two AY-3-8913 sound generators
|
|
mouse: Mouse card implementation, does not emulate a real card, only the firmware behaviour
|
|
multirom: Multiple Image ROM card
|
|
parallel: Card to dump to a file what would be printed to a parallel printer
|
|
prodosblock: ProDOS block device interface card
|
|
prodosromcard3: A bootable 4 MB ROM card by Ralle Palaveev
|
|
prodosromdrive: A bootable 1 MB solid state disk by Terence Boldt
|
|
saturn: RAM card with 128Kb, it's like 8 language cards
|
|
smartport: SmartPort interface card
|
|
softswitchlogger: Card to log softswitch accesses
|
|
swyftcard: Card with the ROM needed to run the Swyftcard word processing system
|
|
thunderclock: Clock card
|
|
videx: Videx Videoterm compatible 80 columns card
|
|
videxultraterm: Videx Utraterm compatible 80 columns card
|
|
vidhd: Firmware signature of the VidHD card to trick Total Replay to use the SHR mode
|
|
z80softcard: Microsoft Z80 SoftCard to run CP/M
|
|
|
|
The available tracers are:
|
|
cpm: Trace CPM BDOS calls
|
|
cpm65: Trace CPM65 BDOS calls skipping terminal IO
|
|
cpm65full: Trace CPM65 BDOS calls
|
|
cpu: Trace CPU execution
|
|
mli: Trace ProDOS MLI calls
|
|
mos: Trace MOS calls with Applecorn skipping terminal IO
|
|
mosfull: Trace MOS calls with Applecorn
|
|
panicss: Panic on unimplemented softswitches
|
|
rom: Trace monitor ROM calls
|
|
ss: Trace sotfswiches calls
|
|
ssreg: Trace sotfswiches registrations
|
|
ucsd: Trace UCSD system calls
|