# Sets CPU type. Valid types are (probably) 68000, 68010, 68020, 68EC020, 68030, 68EC030, 68040, 68EC040, 68LC040 and some STTTT thing.
cpu 68020
# Map 512KB kickstart ROM to default offset.
-map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0
+map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0 id=kickstart
+# Comment out the line above and uncomment the line below to automatically copy the ROM contents to Pi RAM if the file isn't found
+#map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0 id=kickstart autodump_mem
+
# Want to map an extended ROM, such as CDTV or CD32?
-#map type=rom address=0xF00000 size=0x80000 file=cdtv.rom
+#map type=rom address=0xF00000 size=0x80000 file=cdtv.rom id=extended
# Map 128MB of Fast RAM at 0x8000000, also known as 32-bit Fast RAM or CPU local Fast RAM.
# Only supported properly on select Kickstarts, such as 3.1+ for Amiga 1200, 3000 and 4000.
#map type=ram address=0x08000000 size=128M id=cpu_slot_ram
# Map 128MB of Z3 Fast. Note that the address here is not actually used, as it gets auto-assigned by Kickstart itself.
# Enabling Z3 fast requires at least Kickstart 2.0.
+# If for some reason you need more than 128MB, you can change the size=128M to a valid supported Z3 PIC size,
+# like 256M, 512M, 1024M, or add additional map lines.
map type=ram address=0x10000000 size=128M id=z3_autoconf_fast
# Max 8MB of Z2 Fast can be mapped due to addressing space limitations, but for instance 2+4MB can be chained to leave 2MB for something else.
#map type=ram address=0x200000 size=8M id=z2_autoconf_fast
#map type=ram address=0x0 size=2M
# Map Gayle as a register range.
-map type=register address=0xD80000 size=0x70000
+# NOTE: Gayle emulation is currently non-functional. Do not enable this.
+#map type=register address=0xD80000 size=0x40000
+# Map RTC as a register range.
+map type=register address=0xDC0000 size=0x10000
# Number of instructions to run every main loop.
loopcycles 300
# Set the platform to Amiga to enable all the registers and stuff.
platform amiga
-# Uncomment to let reads/writes through from/to the RTC memory range
+# Uncommenting the below this long comment DISABLES RTC emulation, letting reads/writes through to the RTC memory range.
+# There is no need to uncomment it unless you are either using a CDTV, you want to use a physical RTC source present
+# inside the computer, such as on a trapdoor memory expansion board, or if you have a physical A314 intalled, since the
+# A314 uses the RTC address range to communicate with the Amiga, and enabling RTC emulation # blocks this communication completely.
+# DO NOT UNCOMMENT THE LINE BELOW UNLESS YOU'VE READ AND UNDERSTOOD THE FIVE LINES ABOVE THIS ONE.
#setvar enable_rtc_emulation 0
-# Uncomment to set a HD image file for ide0 drive 0/1
-#setvar hdd0 snakes.img
-#setvar hdd1 snakes2.img
# Uncomment to enable RTG
#setvar rtg
+
# Uncomment to enable CDTV mode (not working, requires Kickstart 1.3+CDTV extended ROM)
#setvar cdtv
# Uncomment this line to enable the PiSCSI interface
# Use setvar piscsi0 through piscsi6 to add up to seven mapped drives to the interface.
#setvar piscsi0 PI0.hdf
#setvar piscsi1 PI1.hdf
+# A special disk that includes PiStorm drivers and utilities, comment out if not needed
+setvar piscsi6 platforms/amiga/pistorm.hdf
# Uncomment this line to enable the (currently non-working) Pi-Net interface.
#setvar pi-net
-# Forward mouse events to host system, defaults to off unless toggle key is pressed on the Pi.
-# Syntax is mouse [device] [toggle key]
-#mouse /dev/input/mouse0 m
+# Uncomment and edit to set a custom config filename for the A314 emulation
+#setvar a314_conf ./a314/files_pi/a314d.conf
+# Uncomment to enable A314 emulation
+#setvar a314
+
+# Please take note:
+# At the time of writing this (22 Jun 2021), the mouse and keyboard forwarding (for Amiga only) is by no means perfect.
+# It works properly in Workbench, and in a number of games and applications, but it does not work for everything.
+# Do not rely on the mouse and keyboard forwarding as your only means of input for the host computer.
+
# Forward keyboard events to host system, defaults to off unless toggle key is pressed, toggled off using F12.
-#keyboard k
+# Syntax: keyboard [grab key] [grab|nograb] [autoconnect|noautoconnect]
+# "grab" steals the keyboard from the Pi so Amiga/etc. input is not sent to the Pi
+# (also helps prevent sending any ctrl-alt-del to the Amiga from resetting the Pi)
+#
+# "autoconnect" connects the keyboard to the Amiga/etc. on startup
+keyboard k nograb noautoconnect
# Select a specific filename for the keyboard event source.
# This is typically /dev/input/event1 or event0, but it may be event3 with for instance a wireless keyboard.
# Use ls /dev/input/event* to check which event files are available and try until you find the one that works.
#kbfile /dev/input/event1
+# Forward mouse events to host system, defaults to off unless toggle key is pressed on the Pi.
+# Syntax is mouse [device] [toggle key] [autoconnect|noautoconnect]
+# (see "keyboard" above for autoconnect description)
+mouse /dev/input/mice m noautoconnect