plusrom

package
v0.23.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2023 License: GPL-3.0, GPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

Package plusrom implements the PlusROM cartridge as developed by Wolfgang Stubig. Information here:

http://pluscart.firmaplus.de/pico/?PlusROM

An AtariAge thread with the original discussion here:

https://atariage.com/forums/topic/297172-pluscart-an-inexpensive-diy-wifi-multicart/

Index

Constants

This section is empty.

Variables

View Source
var NotAPlusROM = errors.New("not a plus rom")

sentinal error indicating a specific problem with the attempt to load the child cartridge into the PlusROM.

Functions

func NewPlusROM

func NewPlusROM(env *environment.Environment, child mapper.CartMapper, notificationHook notifications.NotificationHook) (mapper.CartMapper, error)

Types

type AddrInfo

type AddrInfo struct {
	Host string
	Path string
}

func (*AddrInfo) String

func (ai *AddrInfo) String() string

type PlusROM

type PlusROM struct {
	// contains filtered or unexported fields
}

PlusROM wraps another mapper.CartMapper inside a network aware format.

func (*PlusROM) Access added in v0.20.0

func (cart *PlusROM) Access(addr uint16, peek bool) (data uint8, mask uint8, err error)

READ implements the mapper.CartMapper interface.

func (*PlusROM) AccessPassive added in v0.20.0

func (cart *PlusROM) AccessPassive(addr uint16, data uint8)

AccessPassive implements the mapper.CartMapper interface.

func (*PlusROM) AccessVolatile added in v0.20.0

func (cart *PlusROM) AccessVolatile(addr uint16, data uint8, poke bool) error

AccessVolatile implements the mapper.CartMapper interface.

func (*PlusROM) ContainerID

func (cart *PlusROM) ContainerID() string

ID implements the mapper.CartContainer interface.

func (*PlusROM) CopyAddrInfo

func (cart *PlusROM) CopyAddrInfo() AddrInfo

CopyAddrInfo returns a new instance of AddrInfo.

func (*PlusROM) CopyBanks

func (cart *PlusROM) CopyBanks() []mapper.BankContent

CopyBanks implements the mapper.CartMapper interface.

func (*PlusROM) GetBank

func (cart *PlusROM) GetBank(addr uint16) mapper.BankInfo

GetBank implements the mapper.CartMapper interface.

func (*PlusROM) GetRAM

func (cart *PlusROM) GetRAM() []mapper.CartRAM

GetRAM implements the mapper.CartRAMbus interface.

func (*PlusROM) GetRegisters

func (cart *PlusROM) GetRegisters() mapper.CartRegisters

GetGetRegisters implements the mapper.CartRegistersBus interface.

func (*PlusROM) GetSendState added in v0.20.0

func (cart *PlusROM) GetSendState() SendState

GetSendState returns the current state of the network

func (*PlusROM) GetStatic

func (cart *PlusROM) GetStatic() mapper.CartStatic

GetStatic implements the mapper.CartStaticBus interface.

func (*PlusROM) GetTapeState

func (cart *PlusROM) GetTapeState() (bool, mapper.CartTapeState)

GetTapeState implements the mapper.CartTapeBus interface.

func (*PlusROM) ID

func (cart *PlusROM) ID() string

ID implements the mapper.CartMapper interface.

func (*PlusROM) MappedBanks added in v0.15.0

func (cart *PlusROM) MappedBanks() string

MappedBanks implements the mapper.CartMapper interface.

func (*PlusROM) NumBanks

func (cart *PlusROM) NumBanks() int

NumBanks implements the mapper.CartMapper interface.

func (*PlusROM) Patch

func (cart *PlusROM) Patch(offset int, data uint8) error

Patch implements the mapper.CartMapper interface.

func (*PlusROM) Plumb

func (cart *PlusROM) Plumb(env *environment.Environment)

Plumb implements the mapper.CartMapper interface.

func (*PlusROM) PutRAM

func (cart *PlusROM) PutRAM(bank int, idx int, data uint8)

PutRAM implements the mapper.CartRAMbus interface.

func (*PlusROM) PutRegister

func (cart *PlusROM) PutRegister(register string, data string)

PutRegister implements the mapper.CartRegistersBus interface.

func (*PlusROM) PutStatic

func (cart *PlusROM) PutStatic(segment string, idx int, data uint8) bool

PutStatic implements the mapper.CartStaticBus interface.

func (*PlusROM) Reset

func (cart *PlusROM) Reset()

Reset implements the mapper.CartMapper interface.

func (*PlusROM) Rewind

func (cart *PlusROM) Rewind()

Rewind implements the mapper.CartTapeBus interface.

func (*PlusROM) RewindBoundary

func (cart *PlusROM) RewindBoundary() bool

RewindBoundary implements the mapper.CartRewindBoundary interface.

func (*PlusROM) SetAddrInfo

func (cart *PlusROM) SetAddrInfo(host string, path string) (hostValid bool, pathValid bool)

SetAddrInfo updates the host/path information int the PlusROM.

func (*PlusROM) SetSendBuffer

func (cart *PlusROM) SetSendBuffer(idx int, data uint8)

SetSendBuffer sets the entry that is idx places from the front with the specified value.

func (*PlusROM) Snapshot

func (cart *PlusROM) Snapshot() mapper.CartMapper

Snapshot implements the mapper.CartMapper interface.

func (*PlusROM) Step

func (cart *PlusROM) Step(clock float32)

Step implements the mapper.CartMapper interface.

type SendState added in v0.20.0

type SendState struct {
	// the data that will be sent to the PlusROM network
	Buffer [sendBufferCap]uint8

	// the send buffer entry which will (over-)written next
	WritePtr uint8

	// the number of cpu clocks before the send buffer is transmitted over the
	// network. the value assigned to this field is not accurate with regards
	// to the baud rate of the PlusCart or the VCS system clock
	//
	// if the timeout value is zero then there is no pending transmission
	Cycles int

	// the amount of data to be transmitted when Cycles reaches zero. has no
	// meaning if Cycles equals zero. not the same as WritePtr
	SendLen uint8
}

Directories

Path Synopsis
Package plusnet contains details of the PlusNET protocol.
Package plusnet contains details of the PlusNET protocol.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL