|
Mockbird
Interface Libarary and Synthesizer Setup Tool for Mockingbird-OTTO
|
MC6850-compatible ODIE communication port. More...
#include <sndscape.h>
Public Member Functions | |
| SS6850Port (std::uint16_t base, bool with_reset) | |
| Initializes the port. | |
| void | out (ss6850_byte data) |
| Writes a byte to the port. | |
| ss6850_byte | in () |
| Reads a byte from the port (blocking). | |
| bool | in_avail () |
| Polls whether a byte is available. | |
| void | drain () |
| Receives bytes from the port until no more bytes are available. | |
MC6850-compatible ODIE communication port.
This class represents an ODIE communication port set to MS6850-compatible mode. This is the only recommended mode for the secondary port, and its command channel is used to interface the firmware.
| Soundscape::SS6850Port::SS6850Port | ( | std::uint16_t | base, |
| bool | with_reset ) |
Initializes the port.
The constructor writes a control value that takes the port out of reset, after optionally setting it to reset first.
| base | I/O base address of the port. 0x332 for the secondary port of a Soundscape in default config. |
| with_reset | If set, reset the port (not the firmware). |
| HWMissingException | There obviously is no Sounscape port in MC6850 mode at the given address. |
| ss6850_byte Soundscape::SS6850Port::in | ( | ) |
Reads a byte from the port (blocking).
| Timeout | No byte arrived within half a second |
| bool Soundscape::SS6850Port::in_avail | ( | ) |
Polls whether a byte is available.
| void Soundscape::SS6850Port::out | ( | ss6850_byte | data | ) |
Writes a byte to the port.
| data | Byte and target channel |
| Timeout | The output buffer was stuck full for half a second. |