Skip to content

N: SIO Command 'O' Open

Thomas Cherryhomes edited this page May 18, 2022 · 8 revisions

Description

Given a devicespec in the returned 256 byte buffer, parse it, and if valid, instantiate the protocol, and prepare the Atari to be able to send/receive an I/O channel for the chosen protocol.

If a devicespec is invalid, then an ERROR 165 is returned on the subsequent STATUS command (while returning an SIO ERROR 144, indicating that you should check the STATUS).

Parameters

ADAM

Parameters

  • Device 09 to 0C
  • Use AdamNET Write (EOS WRITE CHARACTER DEVICE)
Offset Value
0 'O'
1 MODE N: AUX1 Values
2 TRANS N: AUX2 Values
3-n The URL to open N: devicespec

Return Values

  • $80 - ACK. Open successful
  • $8C - NAK - Open not successful, read status byte.

ATARI

DCB Value
DDEVIC $71
DUNIT $01 - $04
DCOMND $4F 'O'
DSTATS $80
DBUF a 256 byte buffer containing N: devicespec
DTIMLO $0F
DBYT 256
DAUX1 N: AUX1 Values
DAUX2 N: AUX2 Values

Examples

CC65

static unsigned char hostname[256]="N:TCP://irata.online:8005/";

/**
 * io_init() - Set-up the I/O
 */
void io_init(void)
{
  OS.vprced=ih;
  PIA.pactl |= 1;
  // Establish connection
  OS.dcb.ddevic=0x71;
  OS.dcb.dunit=1;
  OS.dcb.dcomnd='O';
  OS.dcb.dstats=0x80;
  OS.dcb.dbuf=&hostname;
  OS.dcb.dtimlo=0x0f;
  OS.dcb.dbyt=256;
  OS.dcb.daux=0;
  siov();
}

See Also

Put other related command links here.

Clone this wiki locally