2024-01-03 03:51:33 +00:00
|
|
|
// Copyright Terence J. Boldt (c)2021-2024
|
2021-10-30 13:50:00 +00:00
|
|
|
// 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 09:33:09 +00:00
|
|
|
|
2021-05-30 11:18:39 +00:00
|
|
|
package a2io
|
|
|
|
|
2021-11-03 09:33:09 +00:00
|
|
|
// A2Io provides an interface to send and receive data to the Apple II
|
2021-10-30 11:03:18 +00:00
|
|
|
type A2Io interface {
|
|
|
|
Init()
|
|
|
|
WriteByte(data byte) error
|
|
|
|
WriteString(outString string) error
|
|
|
|
WriteBlock(buffer []byte) error
|
|
|
|
WriteBuffer(buffer []byte) error
|
2023-11-02 00:00:21 +00:00
|
|
|
ReadByte(noDelay ...bool) (byte, error)
|
2021-10-30 11:03:18 +00:00
|
|
|
ReadString() (string, error)
|
|
|
|
ReadBlock(buffer []byte) error
|
2021-11-11 02:44:28 +00:00
|
|
|
SendCharacter(character byte)
|
2021-11-25 23:45:56 +00:00
|
|
|
ReadCharacter() (string, error)
|
2021-10-30 11:03:18 +00:00
|
|
|
}
|