From 36275e33e541bde1a30229d4df4ee217d7945225 Mon Sep 17 00:00:00 2001 From: Matthieu Bucchianeri Date: Sun, 12 Jan 2025 00:36:46 -0800 Subject: [PATCH] Add BootROM support. --- XTMax/Code/XTMax/XTMax.ino | 18 +++- XTMax/Code/XTMax/bootrom.h | 130 +++++++++++++++++++++++ XTMax/Drivers/BootROM/.gitignore | 2 + XTMax/Drivers/BootROM/.vscode/tasks.json | 20 ++++ XTMax/Drivers/BootROM/bootrom.asm | 72 +++++++++++++ XTMax/Drivers/BootROM/build.cmd | 2 + XTMax/Drivers/BootROM/checksum.py | 23 ++++ 7 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 XTMax/Code/XTMax/bootrom.h create mode 100644 XTMax/Drivers/BootROM/.gitignore create mode 100644 XTMax/Drivers/BootROM/.vscode/tasks.json create mode 100644 XTMax/Drivers/BootROM/bootrom.asm create mode 100644 XTMax/Drivers/BootROM/build.cmd create mode 100644 XTMax/Drivers/BootROM/checksum.py diff --git a/XTMax/Code/XTMax/XTMax.ino b/XTMax/Code/XTMax/XTMax.ino index 2ac3958..d80ac98 100644 --- a/XTMax/Code/XTMax/XTMax.ino +++ b/XTMax/Code/XTMax/XTMax.ino @@ -37,7 +37,10 @@ // // Revision 7 01/12/2025 // - Refactor SD card I/O -// - Add support for 16-bit EMS page offsets. +// - Add support for 16-bit EMS page offsets +// +// Revision 8 01/18/2024 +// - Add support for BIOS ROM extension (Boot ROM) // // Revision 8 01/20/2025 // - Added chip select for a second PSRAM to allow access to 16 MB of Expanded RAM @@ -71,6 +74,8 @@ #include #include +#include "bootrom.h" + // Teensy 4.1 pin assignments // @@ -573,6 +578,16 @@ inline void Mem_Read_Cycle() { GPIO8_DR = sd_pin_outputs + MUX_DATA_n_HIGH + CHRDY_OE_n_HIGH + DATA_OE_n_HIGH; } + else if (isa_address>=BOOTROM_ADDR && isa_address