llvm-mos-sdk
Classes | Macros | Functions
rp6502.h File Reference

Go to the source code of this file.

Classes

struct  f_stat_t
 

Macros

#define VIA   (*(volatile struct __6522 *)0xFFD0)
 
#define RIA   (*(volatile struct __RP6502 *)0xFFE0)
 
#define RIA_OP_EXIT   0xFF
 
#define RIA_OP_DROP_XSTACK   0x00
 
#define RIA_OP_XREG   0x01
 
#define RIA_OP_ARGV   0x08
 
#define RIA_OP_EXEC   0x09
 
#define RIA_OP_ATTR_GET   0x0A
 
#define RIA_OP_ATTR_SET   0x0B
 
#define RIA_OP_OPEN   0x14
 
#define RIA_OP_CLOSE   0x15
 
#define RIA_OP_READ_XSTACK   0x16
 
#define RIA_OP_READ_XRAM   0x17
 
#define RIA_OP_WRITE_XSTACK   0x18
 
#define RIA_OP_WRITE_XRAM   0x19
 
#define RIA_OP_LSEEK_CC65   0x1A
 
#define RIA_OP_REMOVE   0x1B
 
#define RIA_OP_RENAME   0x1C
 
#define RIA_OP_LSEEK   0x1D
 
#define RIA_OP_LSEEK_LLVM   0x1D
 
#define RIA_OP_SYNCFS   0x1E
 
#define RIA_OP_STAT   0x1F
 
#define RIA_OP_OPENDIR   0x20
 
#define RIA_OP_READDIR   0x21
 
#define RIA_OP_CLOSEDIR   0x22
 
#define RIA_OP_TELLDIR   0x23
 
#define RIA_OP_SEEKDIR   0x24
 
#define RIA_OP_REWINDDIR   0x25
 
#define RIA_OP_CHMOD   0x26
 
#define RIA_OP_UTIME   0x27
 
#define RIA_OP_MKDIR   0x28
 
#define RIA_OP_CHDIR   0x29
 
#define RIA_OP_GETCWD   0x2B
 
#define RIA_OP_SETLABEL   0x2C
 
#define RIA_OP_GETLABEL   0x2D
 
#define RIA_OP_GETFREE   0x2E
 
#define RIA_OP_RLN_LASTKEY   0x30
 
#define RIA_OP_RLN_PEEK   0x31
 
#define RIA_OP_RLN_POKE   0x32
 
#define RIA_OP_GMTIME   0x3A
 
#define RIA_OP_LOCALTIME   0x3B
 
#define RIA_OP_MKTIME   0x3C
 
#define RIA_OP_STRFTIME   0x3D
 
#define RIA_OP_TIME_SET   0x3E
 
#define RIA_OP_TIME_GET   0x3F
 
#define RIA_ATTR_ERRNO_OPT   0x00
 
#define RIA_ATTR_PHI2_KHZ   0x01
 
#define RIA_ATTR_CODE_PAGE   0x02
 
#define RIA_ATTR_RLN_LENGTH   0x03
 
#define RIA_ATTR_LRAND   0x04
 
#define RIA_ATTR_BEL   0x05
 
#define RIA_ATTR_LAUNCHER   0x06
 
#define RIA_ATTR_EXIT_CODE   0x07
 
#define RIA_ATTR_SIGINT   0x08
 
#define RIA_ATTR_RLN_CAPS   0x09
 
#define RIA_ATTR_RLN_WIDTH   0x0A
 
#define RIA_ATTR_RLN_HEIGHT   0x0B
 
#define RIA_ATTR_RLN_SUPPRESS_NL   0x0C
 
#define RIA_ATTR_CLK_RUN_MS   0x10
 
#define RIA_ATTR_CLK_RUN_CS   0x11
 
#define RIA_ATTR_CLK_RUN_DS   0x12
 
#define RIA_ATTR_CLK_RUN_S   0x13
 
#define xreg(d, c, i, ...)    xregn(d, c, i, sizeof((long[]){__VA_ARGS__}) / sizeof(long), __VA_ARGS__)
 

Functions

void ria_drop (void)
 
unsigned char ria_vsync (void)
 
unsigned char ria_irq_read (void)
 
void ria_irq_write (unsigned char mask)
 
int ria_execv (const char *path, char *const argv[])
 
int ria_execl (const char *path,...)
 
long ria_attr_get (unsigned char id)
 
int ria_attr_set (long val, unsigned char id)
 
int read_xstack (void *buf, unsigned count, int fildes)
 
int read_xram (unsigned xaddr, unsigned count, int fildes)
 
int write_xstack (const void *buf, unsigned count, int fildes)
 
int write_xram (unsigned xaddr, unsigned count, int fildes)
 
long f_lseek (long offset, char whence, int fildes)
 
int f_stat (const char *path, f_stat_t *dirent)
 
int f_opendir (const char *name)
 
int f_readdir (f_stat_t *dirent, int dirdes)
 
int f_closedir (int dirdes)
 
long f_telldir (int dirdes)
 
int f_seekdir (long loc, int dirdes)
 
int f_rewinddir (int dirdes)
 
int f_chmod (const char *path, unsigned char attr, unsigned char mask)
 
int f_utime (const char *path, unsigned fdate, unsigned ftime, unsigned crdate, unsigned crtime)
 
int f_mkdir (const char *name)
 
int f_setlabel (const char *name)
 
int f_getlabel (const char *drive, char *label)
 
int f_getfree (const char *drive, unsigned long *free, unsigned long *total)
 
int ria_rln_lastkey (char *key, unsigned char *action)
 
int ria_rln_peek (char *peek, unsigned char *pos)
 
int ria_rln_poke (const char *poke)
 
int time_set (long long time)
 
int xregn (char device, char channel, unsigned char index, unsigned count,...)
 
void xram0_read (void *dest, unsigned src, unsigned count)
 
void xram1_read (void *dest, unsigned src, unsigned count)
 
void xram0_write (unsigned dest, const void *src, unsigned count)
 
void xram1_write (unsigned dest, const void *src, unsigned count)
 
void xram0_set (unsigned dest, unsigned char val, unsigned count)
 
void xram1_set (unsigned dest, unsigned char val, unsigned count)
 
void xram_move (unsigned dest, unsigned src, unsigned count)
 
unsigned char xram0_peek8 (unsigned addr)
 
unsigned char xram1_peek8 (unsigned addr)
 
unsigned xram0_peek16 (unsigned addr)
 
unsigned xram1_peek16 (unsigned addr)
 
void xram0_poke8 (unsigned addr, unsigned char val)
 
void xram1_poke8 (unsigned addr, unsigned char val)
 
void xram0_poke16 (unsigned addr, unsigned val)
 
void xram1_poke16 (unsigned addr, unsigned val)
 

Macro Definition Documentation

◆ RIA

#define RIA   (*(volatile struct __RP6502 *)0xFFE0)

◆ RIA_ATTR_BEL

#define RIA_ATTR_BEL   0x05

◆ RIA_ATTR_CLK_RUN_CS

#define RIA_ATTR_CLK_RUN_CS   0x11

◆ RIA_ATTR_CLK_RUN_DS

#define RIA_ATTR_CLK_RUN_DS   0x12

◆ RIA_ATTR_CLK_RUN_MS

#define RIA_ATTR_CLK_RUN_MS   0x10

◆ RIA_ATTR_CLK_RUN_S

#define RIA_ATTR_CLK_RUN_S   0x13

◆ RIA_ATTR_CODE_PAGE

#define RIA_ATTR_CODE_PAGE   0x02

◆ RIA_ATTR_ERRNO_OPT

#define RIA_ATTR_ERRNO_OPT   0x00

◆ RIA_ATTR_EXIT_CODE

#define RIA_ATTR_EXIT_CODE   0x07

◆ RIA_ATTR_LAUNCHER

#define RIA_ATTR_LAUNCHER   0x06

◆ RIA_ATTR_LRAND

#define RIA_ATTR_LRAND   0x04

◆ RIA_ATTR_PHI2_KHZ

#define RIA_ATTR_PHI2_KHZ   0x01

◆ RIA_ATTR_RLN_CAPS

#define RIA_ATTR_RLN_CAPS   0x09

◆ RIA_ATTR_RLN_HEIGHT

#define RIA_ATTR_RLN_HEIGHT   0x0B

◆ RIA_ATTR_RLN_LENGTH

#define RIA_ATTR_RLN_LENGTH   0x03

◆ RIA_ATTR_RLN_SUPPRESS_NL

#define RIA_ATTR_RLN_SUPPRESS_NL   0x0C

◆ RIA_ATTR_RLN_WIDTH

#define RIA_ATTR_RLN_WIDTH   0x0A

◆ RIA_ATTR_SIGINT

#define RIA_ATTR_SIGINT   0x08

◆ RIA_OP_ARGV

#define RIA_OP_ARGV   0x08

◆ RIA_OP_ATTR_GET

#define RIA_OP_ATTR_GET   0x0A

◆ RIA_OP_ATTR_SET

#define RIA_OP_ATTR_SET   0x0B

◆ RIA_OP_CHDIR

#define RIA_OP_CHDIR   0x29

◆ RIA_OP_CHMOD

#define RIA_OP_CHMOD   0x26

◆ RIA_OP_CLOSE

#define RIA_OP_CLOSE   0x15

◆ RIA_OP_CLOSEDIR

#define RIA_OP_CLOSEDIR   0x22

◆ RIA_OP_DROP_XSTACK

#define RIA_OP_DROP_XSTACK   0x00

◆ RIA_OP_EXEC

#define RIA_OP_EXEC   0x09

◆ RIA_OP_EXIT

#define RIA_OP_EXIT   0xFF

◆ RIA_OP_GETCWD

#define RIA_OP_GETCWD   0x2B

◆ RIA_OP_GETFREE

#define RIA_OP_GETFREE   0x2E

◆ RIA_OP_GETLABEL

#define RIA_OP_GETLABEL   0x2D

◆ RIA_OP_GMTIME

#define RIA_OP_GMTIME   0x3A

◆ RIA_OP_LOCALTIME

#define RIA_OP_LOCALTIME   0x3B

◆ RIA_OP_LSEEK

#define RIA_OP_LSEEK   0x1D

◆ RIA_OP_LSEEK_CC65

#define RIA_OP_LSEEK_CC65   0x1A

◆ RIA_OP_LSEEK_LLVM

#define RIA_OP_LSEEK_LLVM   0x1D

◆ RIA_OP_MKDIR

#define RIA_OP_MKDIR   0x28

◆ RIA_OP_MKTIME

#define RIA_OP_MKTIME   0x3C

◆ RIA_OP_OPEN

#define RIA_OP_OPEN   0x14

◆ RIA_OP_OPENDIR

#define RIA_OP_OPENDIR   0x20

◆ RIA_OP_READ_XRAM

#define RIA_OP_READ_XRAM   0x17

◆ RIA_OP_READ_XSTACK

#define RIA_OP_READ_XSTACK   0x16

◆ RIA_OP_READDIR

#define RIA_OP_READDIR   0x21

◆ RIA_OP_REMOVE

#define RIA_OP_REMOVE   0x1B

◆ RIA_OP_RENAME

#define RIA_OP_RENAME   0x1C

◆ RIA_OP_REWINDDIR

#define RIA_OP_REWINDDIR   0x25

◆ RIA_OP_RLN_LASTKEY

#define RIA_OP_RLN_LASTKEY   0x30

◆ RIA_OP_RLN_PEEK

#define RIA_OP_RLN_PEEK   0x31

◆ RIA_OP_RLN_POKE

#define RIA_OP_RLN_POKE   0x32

◆ RIA_OP_SEEKDIR

#define RIA_OP_SEEKDIR   0x24

◆ RIA_OP_SETLABEL

#define RIA_OP_SETLABEL   0x2C

◆ RIA_OP_STAT

#define RIA_OP_STAT   0x1F

◆ RIA_OP_STRFTIME

#define RIA_OP_STRFTIME   0x3D

◆ RIA_OP_SYNCFS

#define RIA_OP_SYNCFS   0x1E

◆ RIA_OP_TELLDIR

#define RIA_OP_TELLDIR   0x23

◆ RIA_OP_TIME_GET

#define RIA_OP_TIME_GET   0x3F

◆ RIA_OP_TIME_SET

#define RIA_OP_TIME_SET   0x3E

◆ RIA_OP_UTIME

#define RIA_OP_UTIME   0x27

◆ RIA_OP_WRITE_XRAM

#define RIA_OP_WRITE_XRAM   0x19

◆ RIA_OP_WRITE_XSTACK

#define RIA_OP_WRITE_XSTACK   0x18

◆ RIA_OP_XREG

#define RIA_OP_XREG   0x01

◆ VIA

#define VIA   (*(volatile struct __6522 *)0xFFD0)

◆ xreg

#define xreg (   d,
  c,
  i,
  ... 
)     xregn(d, c, i, sizeof((long[]){__VA_ARGS__}) / sizeof(long), __VA_ARGS__)

Function Documentation

◆ f_chmod()

int f_chmod ( const char *  path,
unsigned char  attr,
unsigned char  mask 
)

◆ f_closedir()

int f_closedir ( int  dirdes)

◆ f_getfree()

int f_getfree ( const char *  drive,
unsigned long *  free,
unsigned long *  total 
)

◆ f_getlabel()

int f_getlabel ( const char *  drive,
char *  label 
)

◆ f_lseek()

long f_lseek ( long  offset,
char  whence,
int  fildes 
)

◆ f_mkdir()

int f_mkdir ( const char *  name)

◆ f_opendir()

int f_opendir ( const char *  name)

◆ f_readdir()

int f_readdir ( f_stat_t *  dirent,
int  dirdes 
)

◆ f_rewinddir()

int f_rewinddir ( int  dirdes)

◆ f_seekdir()

int f_seekdir ( long  loc,
int  dirdes 
)

◆ f_setlabel()

int f_setlabel ( const char *  name)

◆ f_stat()

int f_stat ( const char *  path,
f_stat_t *  dirent 
)

◆ f_telldir()

long f_telldir ( int  dirdes)

◆ f_utime()

int f_utime ( const char *  path,
unsigned  fdate,
unsigned  ftime,
unsigned  crdate,
unsigned  crtime 
)

◆ read_xram()

int read_xram ( unsigned  xaddr,
unsigned  count,
int  fildes 
)

◆ read_xstack()

int read_xstack ( void *  buf,
unsigned  count,
int  fildes 
)

◆ ria_attr_get()

long ria_attr_get ( unsigned char  id)

◆ ria_attr_set()

int ria_attr_set ( long  val,
unsigned char  id 
)

◆ ria_drop()

void ria_drop ( void  )

◆ ria_execl()

int ria_execl ( const char *  path,
  ... 
)

◆ ria_execv()

int ria_execv ( const char *  path,
char *const  argv[] 
)

◆ ria_irq_read()

unsigned char ria_irq_read ( void  )

◆ ria_irq_write()

void ria_irq_write ( unsigned char  mask)

◆ ria_rln_lastkey()

int ria_rln_lastkey ( char *  key,
unsigned char *  action 
)

◆ ria_rln_peek()

int ria_rln_peek ( char *  peek,
unsigned char *  pos 
)

◆ ria_rln_poke()

int ria_rln_poke ( const char *  poke)

◆ ria_vsync()

unsigned char ria_vsync ( void  )

◆ time_set()

int time_set ( long long  time)

◆ write_xram()

int write_xram ( unsigned  xaddr,
unsigned  count,
int  fildes 
)

◆ write_xstack()

int write_xstack ( const void *  buf,
unsigned  count,
int  fildes 
)

◆ xram0_peek16()

unsigned xram0_peek16 ( unsigned  addr)

◆ xram0_peek8()

unsigned char xram0_peek8 ( unsigned  addr)

◆ xram0_poke16()

void xram0_poke16 ( unsigned  addr,
unsigned  val 
)

◆ xram0_poke8()

void xram0_poke8 ( unsigned  addr,
unsigned char  val 
)

◆ xram0_read()

void xram0_read ( void *  dest,
unsigned  src,
unsigned  count 
)

◆ xram0_set()

void xram0_set ( unsigned  dest,
unsigned char  val,
unsigned  count 
)

◆ xram0_write()

void xram0_write ( unsigned  dest,
const void *  src,
unsigned  count 
)

◆ xram1_peek16()

unsigned xram1_peek16 ( unsigned  addr)

◆ xram1_peek8()

unsigned char xram1_peek8 ( unsigned  addr)

◆ xram1_poke16()

void xram1_poke16 ( unsigned  addr,
unsigned  val 
)

◆ xram1_poke8()

void xram1_poke8 ( unsigned  addr,
unsigned char  val 
)

◆ xram1_read()

void xram1_read ( void *  dest,
unsigned  src,
unsigned  count 
)

◆ xram1_set()

void xram1_set ( unsigned  dest,
unsigned char  val,
unsigned  count 
)

◆ xram1_write()

void xram1_write ( unsigned  dest,
const void *  src,
unsigned  count 
)

◆ xram_move()

void xram_move ( unsigned  dest,
unsigned  src,
unsigned  count 
)

◆ xregn()

int xregn ( char  device,
char  channel,
unsigned char  index,
unsigned  count,
  ... 
)