v6502
The MOS 6502 Virtual Machine and Toolchain Infrastructure
Macros
Memory Map Definitions

Macros

#define v6502_memoryStartWorkMemory   0x0000
 Start of work memory available for general program use.
 
#define v6502_memoryStartStack   0x0100
 Start of memory reserved for CPU stack.
 
#define v6502_memoryStartPPURegisters   0x2000
 Start of PPU registers for the RP2C02 chipset.
 
#define v6502_memoryStartAPURegisters   0x4000
 Start of APU registers for the RP2A03 chipset.
 
#define v6502_memoryStartExpansionRom   0x4020
 Start of memory mapped expansion ROM.
 
#define v6502_memoryStartSRAM   0x6000
 Start of SRAM backed memory region.
 
#define v6502_memoryStartPRGROM   0x8000
 Start of memory mapped PRGROM.
 
#define v6502_memoryStartInterruptVectors   0xFFFA
 Start of memory mapped interrupt vectors.
 
#define v6502_memoryStartCeiling   0xFFFF
 Maximum memory boundary.
 
#define v6502_memorySizeWorkMemory   0x0800
 Size of work memory available for general program use.
 
#define v6502_memorySizePPURegisters   0x0008
 Size of PPU registers for the RP2C02 chipset.
 
#define v6502_memorySizeInterruptVectors   (v6502_memoryStartCeiling - v6502_memoryStartInterruptVectors)
 Size of the six interrupt vector bytes (Hint: It's six.)
 
#define v6502_memoryVectorNMILow   0xFFFA
 The low byte location of the NMI vector stored in the v6502_memory::interrupt_vectors.
 
#define v6502_memoryVectorNMIHigh   0xFFFB
 The high byte location of the NMI vector stored in the v6502_memory::interrupt_vectors.
 
#define v6502_memoryVectorResetLow   0xFFFC
 The low byte location of the reset vector stored in the v6502_memory::interrupt_vectors.
 
#define v6502_memoryVectorResetHigh   0xFFFD
 The high byte location of the reset vector stored in the v6502_memory::interrupt_vectors.
 
#define v6502_memoryVectorInterruptLow   0xFFFE
 The low byte location of the normal interrupt vector stored in the v6502_memory::interrupt_vectors.
 
#define v6502_memoryVectorInterruptHigh   0xFFFF
 The high byte location of the normal interrupt vector stored in the v6502_memory::interrupt_vectors.
 

Detailed Description