august kline 7ce48e59fc | ||
---|---|---|
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
README.md
george-emu
a ramshackle emulator for george 😌
plenty of inspiration & guidance taken from emulator_6502 (don't use george-emu
in a serious project! emulator_6502
is the crate you're looking for)
structure
see the george wiki for how george works, why she exists, who she is, etc.
the george emulator contains 3 main structs: Cpu
, Mem
, and MemMappedDevice
. Cpu
represents a 65c02 processor, with functions for interacting with memory and executing instructions. Mem
is a collection of MemMappedDevice
's, which each hold the data for some address space. Mem
can add MemMappedDevice
's, and read from and write to them. A MemMappedDevice
can have multiple banks at the same address space, and can translate 'global' addresses to 'local' ones (e.g. 0xFFFF in the system's memory map corresponds to 0x1FFF in the ROM).