`GRUNNUR` // If KIM16 is defined -- all this applies. // ** Alynna's KIM16 (65816 based) memory map ** // == Page 00 == // 000000-0000FF 256 6502 mode zero page // 000100-0001FF 256 6502 mode stack // 000200-000FFF 3584 RAM (Reserved for 8 bit mode, do not use in Native) // 001000-001FFF 1024 Reserved for legacy ROMS and IO // 002000-00CFFF 44K User RAM (6502 mode; E=1) OR // 002000-00CFFF 44K Stack page (65816 mode; E=0) // 00D000-00FFE0 12856 Apple I / Kim 1 ROMS // 00FFE0-00FFFF 32 65816 vectors // -- 65816 8-bit RAM/ROM MAP ------------------------------------------------- // 4K RAM ($0000-$00FF) $000000 // 4K Legacy RIOT I/O, RAM and ROM system $001000 // disassembler: Baum & Wozniak disassember - Relocated to: $001000 // ROM1: KIM-1 ROM002 (monitor main code) $0017C0 // ROM2: KIM-1 ROM003 (tape and RS-232 code) $001780 // 44K RAM ($2000-$CFFF) $002000 // vtl-02: from 6502.org $00DC00 // Apple-1 Basic $00E000 // Apple-1 ACI (cassette tape ROM) $00F100 // Baum-Wozniak mini-assembler (run $FDDD) & Wozmon ($FF $00FBAE // ---------------------------------------------------------------------------- // 010000-01FFFF 64K Page 01: 65816 default direct page / User SRAM // 020000-03FFFF 128K Page 02-03: 65816 fast SRAM // 040000-7FFFFF 7936K Page 04-7F: 65816 PSRAM // 800000-9FFFFF 2048K Page 80-9F: 65816 Flash ROM (User programs) // A00000-BFFFFF 2048K Page A0-BF: 65816 Paged ROM (User programs) // C00000-DFFFFF 2048K Page C0-DF: Reserved for remote framebuffer // E00000-EFFFFF 1024K IO area to ESP32 hardware (see IO Map) // F00000-F0FFFF 64K :discov // -- 65816 mirror of page 0, with all ROMS ----------------------------------- // 4K RAM ($FF0000-$FF00FF) $FF0000 // 4K Legacy RIOT I/O, RAM and ROM system $FF1000 // disassembler: Baum & Wozniak disassember $FF1000 // ROM1: KIM-1 ROM002 (monitor main code) $FF17C0 // ROM2: KIM-1 ROM003 (tape and RS-232 code) $FF1780 // 12K RAM ($FF2000-$FF4FFF) $FF2000 // calc: 6502 floating point library from crbond.com/calc65.htm $FF5000 // special I/O area for programmable calculator (part of calc@5000) $FF7000 // mchess: microchess from benlo.com/microchess recompiled to start at $FFC000 // vtl-02: from 6502.org $FFDC00 // Apple-1 Basic $FFE000 // Apple-1 ACI (cassette tape ROM) $FFF100 // Baum-Wozniak mini-assembler (run $FDDD) & Wozmon ($FF $FFFBAE // ---------------------------------------------------------------------------- // F10000-FFFFFF 960K KIM16 Kernel // -- 65816 IO map ------------------------------------------------------------ // E00000-E0FFFF 64K KIM16 I/O ports // Page E0: // 0010-0013 DWORD RGB LED (Red, Green, Blue, Brightness) // 0020-0023 DWORD SDCARD: Block to read // 0024 BYTE SDCARD status // 7: 1=Block received in buffer // 6: 1=Block successfully written // 5: 1=SD Present // 0025 BYTE SDCARD // 0028-0031 DWORD SDCARD size (0 if not present) // 00A0-00BF 32 ROM page map from flash (64K pages from 8mb possible rom) // 0200-03FF 512 SD Card block buffer // E40000-EBFFFF 512K Reserved for RP2350 based expansion // EF0000-EFFFFF 64K RAM to ROM Flash page