sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
sio.c File Reference
#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
#include "tamtypes.h"
#include "kernel.h"
#include "string.h"
#include "sio.h"

Go to the source code of this file.

Macros

#define PS2LIB_STR_MAX   4096
#define CPUCLK   294912000
#define LCR_SCS_VAL   (1 << 5)

Functions

void sio_init (u32 baudrate, u8 lcr_ueps, u8 lcr_upen, u8 lcr_usbl, u8 lcr_umode)
int sio_putc (int c)
int sio_getc ()
int sio_getc_block ()
size_t sio_write (void *buf, size_t size)
size_t sio_read (void *buf, size_t size)
int sio_puts (const char *str)
int sio_putsn (const char *str)
char * sio_gets (char *str)
void sio_flush ()

Detailed Description

Routines for accessing the EE's on-chip serial port.

Definition in file sio.c.

Macro Definition Documentation

◆ CPUCLK

#define CPUCLK   294912000

Use this to determine the baud divide value.

Definition at line 30 of file sio.c.

◆ LCR_SCS_VAL

#define LCR_SCS_VAL   (1 << 5)

Baud rate generator output that divided CPUCLK.

Definition at line 32 of file sio.c.

◆ PS2LIB_STR_MAX

#define PS2LIB_STR_MAX   4096

Definition at line 26 of file sio.c.

Function Documentation

◆ sio_flush()

void sio_flush ( void )

Flushes the input buffer.

Definition at line 167 of file sio.c.

◆ sio_getc()

int sio_getc ( void )

Definition at line 78 of file sio.c.

◆ sio_getc_block()

int sio_getc_block ( void )

Same as sio_getc, but blocking. Note that getc should be blocking by default. Ho well.

Definition at line 91 of file sio.c.

◆ sio_gets()

char * sio_gets ( char * str)

Will block until it recieves
or \r.

Definition at line 148 of file sio.c.

◆ sio_init()

void sio_init ( u32 baudrate,
u8 lcr_ueps,
u8 lcr_upen,
u8 lcr_usbl,
u8 lcr_umode )

Definition at line 34 of file sio.c.

◆ sio_putc()

int sio_putc ( int c)

Definition at line 60 of file sio.c.

◆ sio_puts()

int sio_puts ( const char * str)

Definition at line 127 of file sio.c.

◆ sio_putsn()

int sio_putsn ( const char * str)

Definition at line 138 of file sio.c.

◆ sio_read()

size_t sio_read ( void * buf,
size_t size )

This will read from the serial port until size characters have been read or EOF (RX FIFO is empty).

Definition at line 110 of file sio.c.

◆ sio_write()

size_t sio_write ( void * buf,
size_t size )

Not really much to do in the way of error-handling. sio_putc() already checks to see if there's room in the TX FIFO, and my cable doesn't support hardware flow control.

Definition at line 99 of file sio.c.