1
0
mirror of https://github.com/sethm/symon.git synced 2024-06-05 20:29:29 +00:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Tim Allen
b725fb5fdd Fix comment: The 6551 baud rate is in the lower *four* bits.
The code is correct, the comment is wrong.
2023-06-10 10:19:24 -07:00
Tim Allen
9351d785ae Fix comment: The 6551 ACIA *does* support interrupts. 2023-06-10 10:19:24 -07:00
Tim Allen
66a92f4196 Use ACIA register names where we can. 2023-06-10 10:19:24 -07:00

View File

@ -28,7 +28,7 @@ import com.loomcom.symon.exceptions.MemoryRangeException;
/** /**
* This is a simulation of the MOS 6551 ACIA, with limited * This is a simulation of the MOS 6551 ACIA, with limited
* functionality. Interrupts are not supported. * functionality.
* <p/> * <p/>
* Unlike a 16550 UART, the 6551 ACIA has only one-byte transmit and * Unlike a 16550 UART, the 6551 ACIA has only one-byte transmit and
* receive buffers. It is the programmer's responsibility to check the * receive buffers. It is the programmer's responsibility to check the
@ -74,16 +74,16 @@ public class Acia6551 extends Acia {
@Override @Override
public void write(int address, int data) throws MemoryAccessException { public void write(int address, int data) throws MemoryAccessException {
switch (address) { switch (address) {
case 0: case DATA_REG:
txWrite(data); txWrite(data);
break; break;
case 1: case STAT_REG:
reset(); reset();
break; break;
case 2: case CMND_REG:
setCommandRegister(data); setCommandRegister(data);
break; break;
case 3: case CTRL_REG:
setControlRegister(data); setControlRegister(data);
break; break;
default: default:
@ -116,7 +116,7 @@ public class Acia6551 extends Acia {
if (data == 0) { if (data == 0) {
reset(); reset();
} else { } else {
// Mask the lower three bits to get the baud rate. // Mask the lower four bits to get the baud rate.
int baudSelector = data & 0x0f; int baudSelector = data & 0x0f;
switch (baudSelector) { switch (baudSelector) {
case 0: case 0: