24 lines
758 B
Go
Raw Normal View History

2024-01-02 22:51:33 -05:00
// Copyright Terence J. Boldt (c)2021-2024
// Use of this source code is governed by an MIT
// license that can be found in the LICENSE file.
// This file defines the interface for communicating with the Apple II via
// the Raspberry Pi GPIO ports but can also be mocked out for tests or
// passed input to the user for interactive testing
2021-11-03 05:33:09 -04:00
2021-05-30 07:18:39 -04:00
package a2io
2021-11-03 05:33:09 -04:00
// A2Io provides an interface to send and receive data to the Apple II
2021-10-30 07:03:18 -04:00
type A2Io interface {
Init()
WriteByte(data byte) error
WriteString(outString string) error
WriteBlock(buffer []byte) error
WriteBuffer(buffer []byte) error
2023-11-01 20:00:21 -04:00
ReadByte(noDelay ...bool) (byte, error)
2021-10-30 07:03:18 -04:00
ReadString() (string, error)
ReadBlock(buffer []byte) error
SendCharacter(character byte)
ReadCharacter() (string, error)
2021-10-30 07:03:18 -04:00
}