mirror of
https://github.com/cc65/cc65.git
synced 2025-01-11 11:30:13 +00:00
1cc4fa9356
Extendend memory is mapped over the main memory in the 0x4000..0x7FFF area. Many DOSes disable interrupts while extended memory is banked in, but not all (e.g. SpartaDOS-X). This change modifies the initial interrupt handler to map in main memory before chaining to the "worker" handlers. Since the initial interrupt handler uses a data segment to store the trampoline to chain to the original handler, introduce a new "LOWBSS" segment to hold this trampoline. Otherwise the trampoline may end up inside the 0x4000..0x7FFF area. Add a link time warning if "LOWCODE" segment lays within the extended memory window.