ROMXc/ROMXc+/ROMXe/ROMX+ System ROM Images

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

Apps2.4.3.po

  • 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+

ROMXceApps1.po

  • 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

ROMXce Apps3.zip

  • 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)