atarivox

package
v0.30.0 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2024 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package atarivox implements the atarivox peripheral. It supports output of atarivox voice audio through Festival (if installed). See atarivoxengines package.

The AtariVox type also embeds the SaveKey peripheral and forwards all data to it as necessary.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAtariVox

NewAtariVox is the preferred method of initialisation for the AtariVox type.

Types

type AtariVox

type AtariVox struct {

	// speakjet pins
	SpeakJetDATA  i2c.Trace
	SpeakJetREADY i2c.Trace

	State AtariVoxState

	// Data is sent by the VCS one bit at a time. see pushBits(), popBits() and
	// resetBits() for
	Bits   uint8
	BitsCt int

	// text to speech engine
	Engine atarivoxengines.AtariVoxEngine

	// the savekey portion of the AtariVox is the same as a stand alone savekey
	SaveKey ports.Peripheral
	// contains filtered or unexported fields
}

func (*AtariVox) Disable

func (vox *AtariVox) Disable(disabled bool)

Restart implements the ports.DisablePeripheral interface.

func (*AtariVox) HandleEvent

func (vox *AtariVox) HandleEvent(_ ports.Event, _ ports.EventData) (bool, error)

handle an incoming input event

func (*AtariVox) ID

func (vox *AtariVox) ID() plugging.PeripheralID

ID implements the ports.Peripheral interface.

func (*AtariVox) IsActive

func (vox *AtariVox) IsActive() bool

whether the peripheral is currently "active"

func (*AtariVox) Mute added in v0.18.0

func (vox *AtariVox) Mute(muted bool)

Mute silences atarivox output for the duration muted is true.

This implements a private mutePeripheral interface in the ports package. It should not be called directly except via the Mute() function in the Ports implementation.

func (*AtariVox) Plumb

func (vox *AtariVox) Plumb(bus ports.PeripheralBus)

Plumb implements the ports.Peripheral interface.

func (*AtariVox) PortID

func (vox *AtariVox) PortID() plugging.PortID

PortID implements the ports.Peripheral interface.

func (*AtariVox) Reset

func (vox *AtariVox) Reset()

Reset implements the ports.Peripheral interface.

func (*AtariVox) Restart

func (vox *AtariVox) Restart()

Restart implements the ports.RestartPeripheral interface.

func (*AtariVox) Snapshot

func (vox *AtariVox) Snapshot() ports.Peripheral

Snapshot implements the ports.Peripheral interface.

func (*AtariVox) Step

func (vox *AtariVox) Step()

Step is called every CPU clock.

func (*AtariVox) String

func (vox *AtariVox) String() string

String implements the ports.Peripheral interface.

func (*AtariVox) Unplug

func (vox *AtariVox) Unplug()

Unplug implements the ports.Peripheral interface.

func (*AtariVox) Update

func (vox *AtariVox) Update(data chipbus.ChangedRegister) bool

memory has been updated. peripherals are notified.

type AtariVoxState

type AtariVoxState int

AtariVoxState records how incoming signals to the AtariVox will be interpreted.

const (
	AtariVoxStopped AtariVoxState = iota
	AtariVoxStarting
	AtariVoxData
	AtariVoxEnding
)

List of valid AtariVoxStaate values.

Directories

Path Synopsis
Package atarivoxengines contains implementations of the AtariVoxEngine interface, for use with the AtariVox peripheral.
Package atarivoxengines contains implementations of the AtariVoxEngine interface, for use with the AtariVox peripheral.

Jump to

Keyboard shortcuts

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