UNPKG

jsgbc

Version:
39 lines (38 loc) 1.68 kB
import GameBoy from "../GameBoy"; export declare type ReaderFunction = (address: number) => number; export declare type WriterFunction = (address: number, value: number) => void; export default class Memory { private gameboy; private data; readers: ReaderFunction[]; highReaders: ReaderFunction[]; writers: WriterFunction[]; highWriters: WriterFunction[]; constructor(gameboy: GameBoy, data?: Uint8Array); read(address: number): number; readHigh(address: number): number; hasReader(address: number): boolean; hasHighReader(address: number): boolean; setReaders(from: number, to: number, reader: ReaderFunction): void; setReader(address: number, reader: ReaderFunction): void; setHighReaders(from: number, to: number, reader: ReaderFunction): void; setHighReader(address: number, reader: ReaderFunction): void; write(address: number, value: number): void; writeHigh(address: number, data: number): void; hasWriter(address: number): boolean; hasHighWriter(address: number): boolean; setWriters(from: number, to: number, writer: WriterFunction): void; setWriter(address: number, writer: WriterFunction): void; setHighWriter(address: number, writer: WriterFunction): void; init(): void; updateIoRegisters(): void; enableBootRomControl(): void; disableBootRomControl(): void; writeIllegal: (address: number, data: number) => void; readBad: (address: number) => number; readDirectly: (address: number) => number; memoryReadJumpCompile(): void; memoryWriteJumpCompile(): void; registerIOMemoryWriters(): void; recompileModelSpecificIOWriteHandling(): void; }