ROMXc/ROMXc+/ROMXe/ROMX+ System ROM Images
DEADTEST
DEADTEST.dsk Adrian Black's (Adrian's Digital Basement) Dead Test ROM. This tool runs from ROM and executes a March-U test which can find some errors that simpler RAM tests miss.
ESP32 Boot
ESP32.NTSC.dsk.zip This has the boot program for the ESP32 card so you can have a turnkey solution to boot the card at power on. Both the original NTSC version as well as the Keyboard Fix for certain keyboard encoder chips.
M.G's ROM++ for ROMX+
MG.ROMplusplus.Ver24-06A.zip : ROM PlusPlus (ROM++) for the Apple II/II+ - an extended ROM for the Apple II/II+ equipped with the ROMX+
ROM++ makes use of the INTCXROM softswitch support of the ROMX+ in order to Support new features.
Enhanced Reset
In general, during normal operation:
- A single RESET does as usual.
- Two resets in quick succession will restart the machine.
- Three (or more) resets in quick succession will bring up the boot menu (see below). Immediately after a cold start from the ROMX+ menu or power switch (if no delay set in the ROMX+), only one additional reset is required to reach the boot menu. Once the system starts to boot a disk, but before software has used the KEYIN routine, only two resets are required to reach the boot menu.
Boot Menu
The following functions are available in the boot menu:
- Hit ESC to resume normal boot.
- 0: Finish reset and enter the monitor.
- 1-7: Finish reset and boot the given slot if it contains a recognized storage device.
- 8: Finish reset and enter BASIC.
- 9: Enter the ROMX+ menu immediately (see note below). Additional resets while the boot menu is disoplaed will return to the boot menu, unless another key has been pressed in between, after which a reset will cause the machine to reboot. Note: when the ROMX+ menu is selected, the code will attempt to enable the internal ROM of the ROMX+ and jump to the menu. The code checks ID bytes for the ROMX+ and if they do not match, a jump to the RESET vector is made instead. This will occur if ROM++ is loaded into an Apple IIe emulator, for instance.
Boot SmartPort Devices
The boot code has been updated to the same slot scan as the Enhanced Apple IIe, so SmartPort devices may be booted directly. Note that SmartPort devices may assume that there is 65C02 and enhanced interrupt support in the firmware
Enhanced Keyboard Input
The following ESC+char combinations are available:
8
->[
9
->]
(
->{
(ESC+SHIFT+8))
->}
(ESC+SHIFT+9)-
->_
/
->\
^
->~
(ESC-SHIFT-N)?
->|
(ESC-SHIFT-/)'
-> backtick (`)@
-> delete
Some of the above characters are not available in machines without lower-case character ROMs. Additionally, the arrow keys work with ESC. The AND #$DF that converts keyboard input to upper case has been replaced with AND #$FF, this may allow lower-case input if you have a keyboard that supports it, but it has not been tested and no patches have been made for BASIC to accept lower-case input.
Mini Assembler
The Mini Assembler is back! Enter it with !
in the monitor, and return to the monitor by pressing RETURN
on a line by itself.
IRQs are disabled while in the Mini Assembler.
Tip: Explore the CXXX ROM by using monitor commands (precede with $) in the Mini Assembler.
AppleSoft Bugs
Fixed:
- The bug in FOR/NEXT described in "All About Applesoft", pp. 100-101 is fixed.
Not fixed:
- PRINT comma bug with window width less than 33 (not fixed because some software may not display correctly if this is changed).
- A=-32768.00049:A%=A:PRINT A,A% -> "32768.0005 32767" (probably never an issue, but if someone has a decent fix I will consider putting it in).
Implementation Notes
Patches to the ROM are made in the same manner as the Apple IIe, with the patches located in the main ROM in the same locations where possible.
Relocated Functions
The following routines are relocated to the CX ROM.
- Keyboard input ("IRQ sniffing" supported)
- Screen scrolling (IRQs disabled)
- Monitor tape I/O (IRQs disabled) The keyboard input routine is adapted from the unenhanced IIe and uses the inverse space character as the cursor. This allows cursoring over lower-case letters on your screen if your machine has a lower-case chip.
IRQ Support
In general, the original Apple II/II+ has poor IRQ support, often not disabling interrupts during critical functions (such as tape and game I/O) and overwriting zero page location $45 each interrupt. ROM++ has minimal changes to keep a similar level of IRQ support as the unenhanced Apple IIe, which is not much better. Hardware/software combinations capable of using interrupts on the original II/II+ should continue to function. One notable change: IRQs are disabled during screen scrolling, if you have an issue with IRQs being missed during scrolling, we may be able to address this. Tape I/O cannot support IRQs as it is timing-critical, and so they are disabled during tape operations.
Cold Start
COLDSTART.zip : This dsk file contains images for both the ROMX+ and the original ROMX. It provides a cold start function by simply pressing ctrl-reset twice in rapid succession. It also has a checksum byte to satisfy some ROM diagnostics and software checks. This can replace the standard Applesoft image on your ROMX or ROMX+ or it can also be used to roll your own F8 EPROM image for your Apple II+ or clone.
ProDOS Version 2.4.3 6th April 2024
- ProDOS 2.4.3 for ROMX
- ProDOS 2.4.3 for ROMX with BITSY BYE
UPDATED OCTOBER 2024 - fix for Choplifter which was crashing on Apple IIc+
- DOS 3.3 Fastload
- Memtest IIe/IIc
- Choplifter
- Raster Blaster
- Senior PROM
Version 1.1.2 - 24th March 2022
ROMXce Apps2.dsk - UPDATED 06/22 v0.95 ProDOS Clock Driver
- ProDOS 2.4.2 for ROMX
- ProDOS 2.4.2 for ROMX with BITSY BYE
- EDM - Extended Debugging Monitor
- Dung Beetles
- Blank Image
-
Copy II Plus
** This version of the COPY.II.PLUS image will work on the ROMXc, ROMXe, and ROMXc+. The image must contain an &S link to a ProDOS image and that image must also contain an &S link to a System ROM. If you have an Apple IIc RamExpress II+ board from a2heaven, you should link to the ROM 4X or 5X if you want the RAM disk to remain intact. When the image launches, it will set the default to slot 5, drive 1. You can change this to a different slot by modifying the image before uploading. Here is the procedure: BLOAD COPY.II.PLUS CALL -151 4F88:n0 (where n=slot; current value=$50) BSAVE COPY.II.PLUS, A$1000, L$8100
ROMXe Apps0.dsk - For ROMXe ONLY
- Apple //e Enhanced ROM
- Apple //e Unenhanced ROM
- Michael Guidero's ROM eX (no tape)
- Michael Guidero's ROM eX (no diags)
- Integer BASIC ROM
ROMXe Apps1.dsk - For ROMXe ONLY
- MICRODRIVE.RMX - Setup Utility for the ReActive Micro MicroDrive/Turbo. Courtesy James Noyes.
ProDOS 2.4.2 customization:
Creating images for ProDOS System applications is SO EASY now. Just four steps:
- Transfer your SYSTEM file from ProDOS to a DOS formatted disk or .dsk. Must be less than $3E00 in length
- BLOAD PRODOS 2.4.2.RMX
- BLOAD (app.SYSTEM file) , A$1100
- BSAVE (your image) , A$1000, L$8100 (keeps original RMX metadata)
To change the default Slot from #5:
- BLOAD PRODOS 2.4.2.RMX. (or any derivative)
- CALL -151
- 4F9D:n0 (where n is slot number desired; replaces $50)**
-
BSAVE (your image) , A$1000, L$8100
** For versions prior to 0.995, use 4F8D:n0 (where n is slot number desired; replaces $50) For versions prior to 1.1.2, use 4FA8:n0 (where n is slot number desired; replaces $50)