Documentation
¶
Index ¶
- Variables
- type Absolute
- type Activision
- type Banksets
- type Bus
- type CartridgeInsertor
- type CartridgeReset
- type Context
- type Device
- func (dev *Device) Access(write bool, address uint16, data uint8) (uint8, error)
- func (dev *Device) BusChange(address uint16, data uint8) error
- func (dev *Device) Chips(yield func(OptionalBus))
- func (dev *Device) Eject()
- func (dev *Device) GetCoProcBus() coprocessor.CartCoProcBus
- func (dev *Device) HLT(halt bool)
- func (dev *Device) Insert(c CartridgeInsertor) error
- func (dev *Device) IsEjected() bool
- func (dev *Device) Label() string
- type Flat
- type MRAM
- type OptionalBus
- type SN
- type Supergame
Constants ¶
This section is empty.
Variables ¶
var UnrecognisedData = errors.New("unrecognised data")
error returned when data is not recognised at all
Functions ¶
This section is empty.
Types ¶
type Absolute ¶ added in v0.6.3
type Absolute struct {
// contains filtered or unexported fields
}
Absolute implements the mapper used by the game F18 Hornet https://github.com/JetSetIlly/test7800/issues/30
type Activision ¶ added in v0.6.3
type Activision struct {
// contains filtered or unexported fields
}
Activision implements the activision type mapper
note that the information on that page isn't quite right but it gives a basic idea of the format. the Access() function for this mapper describes correctly the layout of the AM variant. The OM variant can be transformed into the AM variant by swapping each 8k block for each bank
func NewActivision ¶ added in v0.6.3
func NewActivision(_ Context, d []byte, originalOrder bool) (*Activision, error)
func (*Activision) Label ¶ added in v0.6.3
func (ext *Activision) Label() string
type Banksets ¶ added in v0.5.1
type Banksets struct {
// contains filtered or unexported fields
}
https://7800.8bitdev.org/index.php/Bankset_Bankswitching
func NewBanksets ¶ added in v0.5.1
type CartridgeInsertor ¶
type CartridgeInsertor struct {
// the type of controller to use for this cartridge
Controller string
// use high-score cartridge shim with cartridge
UseHSC bool
UseSavekey bool
// contains filtered or unexported fields
}
func Fingerprint ¶
func Fingerprint(filename string, mapper string) (CartridgeInsertor, error)
func FingerprintBlob ¶ added in v0.7.1
func FingerprintBlob(filename string, d []uint8, mapper string) (CartridgeInsertor, error)
func (CartridgeInsertor) Data ¶ added in v0.4.2
func (c CartridgeInsertor) Data() []uint8
func (CartridgeInsertor) Filename ¶ added in v0.4.2
func (c CartridgeInsertor) Filename() string
func (CartridgeInsertor) ResetProcedure ¶
func (c CartridgeInsertor) ResetProcedure() CartridgeReset
func (CartridgeInsertor) Spec ¶ added in v0.7.0
func (c CartridgeInsertor) Spec() string
type CartridgeReset ¶
type CartridgeReset struct {
// if BypassBIOS is true then the normal BIOS initialisation procedure is bypassed
BypassBIOS bool
}
CartridgeReset contains 'instructions' to be followed when the cartridge is inserted
type Device ¶
type Device struct {
// contains filtered or unexported fields
}
func (*Device) Chips ¶ added in v0.6.0
func (dev *Device) Chips(yield func(OptionalBus))
Chips iterates through the additional (none ROM/RAM) chips in the external device
func (*Device) GetCoProcBus ¶ added in v0.7.3
func (dev *Device) GetCoProcBus() coprocessor.CartCoProcBus
func (*Device) Insert ¶
func (dev *Device) Insert(c CartridgeInsertor) error
type MRAM ¶ added in v0.7.5
type MRAM struct {
// contains filtered or unexported fields
}
MRAM is created when bit 0x0080 of the a78 cartridge type field is on. Example ROM is the prototype of Rescue on Fractalus. The name mRAM comes from the A7800 rom.cpp file which describes this type of cartridge as "no bankswitch + mRAM chip"
type OptionalBus ¶ added in v0.6.0
type OptionalBus interface {
Label() string
Access(write bool, address uint16, data uint8) (uint8, bool, error)
}
the OptionalBus interface differs to the Bus interface because the Access() function returns an additional boolean result to indicate whether the address was recognised and handled. The intention is for the External device to call Access() on the OptionalBus first and to only call Access() on the main Bus device if the first Access() returned false
type SN ¶ added in v0.6.0
type SN struct {
// contains filtered or unexported fields
}
SN is used for both SN and Eagle
type Supergame ¶
type Supergame struct {
// contains filtered or unexported fields
}
https://7800.8bitdev.org/index.php/ATARI_7800_BANKSWITCHING_GUIDE
"There are several different types of Atari's SuperGame bankswitching. It basically consists of 8 16KB banks (0-7) that can be mapped in at $8000-$bfff. Bank 7 always is fixed at $c000-$ffff. To map in a chosen bank into $8000-$bfff you write it's bank number (0-7) to any address between $8000-bfff."