Versions in this module Expand all Collapse all v0 v0.0.2 Jun 22, 2013 v0.0.1 Jun 22, 2013 Changes in this version + const MBC_0 + const MBC_1 + const MBC_1_RAM + const MBC_1_RAM_BATT + const MBC_3_RAM_BATT + const MBC_5 + const MBC_5_RAM + const MBC_5_RAM_BATT + const MBC_5_RAM_BATT_RUMBLE + const MBC_5_RAM_RUMBLE + const MBC_5_RUMBLE + var CartridgeTypes map[byte]CartridgeType = map[byte]CartridgeType + func RetrieveROM(filename string) ([]byte, error) + type Cartridge struct + Filename string + IsColourGB bool + IsJapanese bool + MBC MemoryBankController + RAMSize int + ROMSize int + Title string + Type CartridgeType + func NewCartridge(romFile string) (*Cartridge, error) + func (c *Cartridge) Init(rom []byte) error + func (c *Cartridge) LoadRam(savesDir string) error + func (c *Cartridge) SaveRam(savesDir string) error + func (c *Cartridge) String() string + type CartridgeType struct + Description string + ID byte + type MBC0 struct + Name string + func NewMBC0(rom []byte) *MBC0 + func (m *MBC0) LoadRam(savesDir string, game string) error + func (m *MBC0) Read(addr types.Word) byte + func (m *MBC0) SaveRam(savesDir string, game string) error + func (m *MBC0) String() string + func (m *MBC0) Write(addr types.Word, value byte) + type MBC1 struct + MaxMemMode int + Name string + RAMSize int + ROMSize int + func NewMBC1(rom []byte, romSize int, ramSize int, hasBattery bool) *MBC1 + func (m *MBC1) LoadRam(savesDir string, game string) error + func (m *MBC1) Read(addr types.Word) byte + func (m *MBC1) SaveRam(savesDir string, game string) error + func (m *MBC1) String() string + func (m *MBC1) Write(addr types.Word, value byte) + type MBC3 struct + Name string + RAMSize int + ROMSize int + func NewMBC3(rom []byte, romSize int, ramSize int, hasBattery bool) *MBC3 + func (m *MBC3) LoadRam(savesDir string, game string) error + func (m *MBC3) Read(addr types.Word) byte + func (m *MBC3) SaveRam(savesDir string, game string) error + func (m *MBC3) String() string + func (m *MBC3) Write(addr types.Word, value byte) + type MBC5 struct + Name string + RAMSize int + ROMBHigher types.Word + ROMBLower types.Word + ROMSize int + func NewMBC5(rom []byte, romSize int, ramSize int, hasBattery bool) *MBC5 + func (m *MBC5) LoadRam(savesDir string, game string) error + func (m *MBC5) Read(addr types.Word) byte + func (m *MBC5) SaveRam(savesDir string, game string) error + func (m *MBC5) String() string + func (m *MBC5) Write(addr types.Word, value byte) + type MemoryBankController interface + LoadRam func(savesDir string, game string) error + Read func(addr types.Word) byte + SaveRam func(savesDir string, game string) error + Write func(addr types.Word, value byte) + type SaveFile struct + BankHashes []uint32 + Banks []string + Game string + LastSaved string + NoOfBanks int + Path string + func NewSaveFile(savesDir string, game string) *SaveFile + func (s *SaveFile) DeflateBank(bank []byte) (string, error) + func (s *SaveFile) InflateBank(bankStr string) ([]byte, error) + func (s *SaveFile) Load(noOfBanks int) ([][]byte, error) + func (s *SaveFile) Save(data [][]byte) error + func (s *SaveFile) Validate() error