import { Bus } from '../bus' ; import { Channel , WaveType } from '../apu' ; import { Cpu } from '../cpu/cpu' ; import { Ppu } from '../ppu/ppu' ; import { Address , Byte } from '../types' ; export interface PrgBankController { setPrgBank ( bank , page ) : void ; } export interface MapperOptions { bus : Bus ; cpu : Cpu ; ppu : Ppu ; prgBankCtrl : PrgBankController ; prgSize : number ; romHash ? : string ; writeToApu : ( adr : Address , value : Byte ) => void ; readFromApu : ( adr : Address ) => Byte ; } export class Mapper { public reset ( ) { } public onHblank ( _hcount ) { } public save ( ) { return { } ; } public load ( _saveData ) { } public getExtraChannelWaveTypes ( ) { return null ; } public getSoundChannel ( _ch ) { throw new Error ( 'Invalid call' ) ; } }