10 const unsigned char ready;
12 const unsigned char rx;
13 const unsigned char vsync;
24 const unsigned char spin;
25 const unsigned char busy;
26 const unsigned char lda;
28 const unsigned char ldx;
30 const unsigned char rts;
33 #define RIA (*(volatile struct __RP6502 *)0xFFE0)
35 #define RIA_READY_TX_BIT 0x80
36 #define RIA_READY_RX_BIT 0x40
37 #define RIA_BUSY_BIT 0x80
43 #define ria_push_char(v) RIA.xstack = v
47 #define ria_pop_char() RIA.xstack
53 #define ria_set_a(v) RIA.a = v
62 #define RIA_OP_EXIT 0xFF
63 #define RIA_OP_ZXSTACK 0x00
64 #define RIA_OP_XREG 0x01
65 #define RIA_OP_PHI2 0x02
66 #define RIA_OP_CODE_PAGE 0x03
67 #define RIA_OP_LRAND 0x04
68 #define RIA_OP_STDIN_OPT 0x05
69 #define RIA_OP_ERRNO_OPT 0x06
70 #define RIA_OP_CLOCK 0x0F
71 #define RIA_OP_CLOCK_GETRES 0x10
72 #define RIA_OP_CLOCK_GETTIME 0x11
73 #define RIA_OP_CLOCK_SETTIME 0x12
74 #define RIA_OP_CLOCK_GETTIMEZONE 0x13
75 #define RIA_OP_OPEN 0x14
76 #define RIA_OP_CLOSE 0x15
77 #define RIA_OP_READ_XSTACK 0x16
78 #define RIA_OP_READ_XRAM 0x17
79 #define RIA_OP_WRITE_XSTACK 0x18
80 #define RIA_OP_WRITE_XRAM 0x19
81 #define RIA_OP_LSEEK_CC65 0x1A
82 #define RIA_OP_UNLINK 0x1B
83 #define RIA_OP_RENAME 0x1C
84 #define RIA_OP_LSEEK 0x1D
85 #define RIA_OP_LSEEK_LLVM 0x1D
86 #define RIA_OP_SYNCFS 0x1E
87 #define RIA_OP_STAT 0x1F
88 #define RIA_OP_OPENDIR 0x20
89 #define RIA_OP_READDIR 0x21
90 #define RIA_OP_CLOSEDIR 0x22
91 #define RIA_OP_TELLDIR 0x23
92 #define RIA_OP_SEEKDIR 0x24
93 #define RIA_OP_REWINDDIR 0x25
94 #define RIA_OP_CHMOD 0x26
95 #define RIA_OP_UTIME 0x27
96 #define RIA_OP_MKDIR 0x28
97 #define RIA_OP_CHDIR 0x29
98 #define RIA_OP_CHDRIVE 0x2A
99 #define RIA_OP_GETCWD 0x2B
100 #define RIA_OP_SETLABEL 0x2C
101 #define RIA_OP_GETLABEL 0x2D
102 #define RIA_OP_GETFREE 0x2E
113 char altname[12 + 1];
122 int stdin_opt(
unsigned long ctrl_bits,
unsigned char str_length);
127 long f_lseek(
long offset,
int whence,
int fildes);
135 int f_chmod(
const char *path,
unsigned char attr,
unsigned char mask);
136 int f_utime(
const char *path,
unsigned fdate,
unsigned ftime,
unsigned crdate,
147 #define xreg__(_16, _15, _14, _13, _12, _11, _10, _9, _8, _7, _6, _5, _4, _3, \
148 _2, _1, count, ...) \
151 xreg__(__VA_ARGS__, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
152 #define xreg(d, c, a, ...) xregn(d, c, a, xreg_(__VA_ARGS__), __VA_ARGS__)
154 #define xreg_ria_keyboard(...) xreg(0, 0, 0, __VA_ARGS__)
155 #define xreg_ria_mouse(...) xreg(0, 0, 1, __VA_ARGS__)
156 #define xreg_ria_gamepad(...) xreg(0, 0, 2, __VA_ARGS__)
157 #define xreg_vga_canvas(...) xreg(1, 0, 0, __VA_ARGS__)
158 #define xreg_vga_mode(...) xreg(1, 0, 1, __VA_ARGS__)
162 #define xram0_struct_set(addr, type, member, val) \
163 RIA.addr0 = (unsigned)(&((type *)0)->member) + (unsigned)addr; \
164 switch (sizeof(((type *)0)->member)) { \
170 RIA.rw0 = val & 0xff; \
171 RIA.rw0 = (val >> 8) & 0xff; \
175 RIA.rw0 = (unsigned long)val & 0xff; \
176 RIA.rw0 = ((unsigned long)val >> 8) & 0xff; \
177 RIA.rw0 = ((unsigned long)val >> 16) & 0xff; \
178 RIA.rw0 = ((unsigned long)val >> 24) & 0xff; \
182 #define xram1_struct_set(addr, type, member, val) \
183 RIA.addr1 = (unsigned)(&((type *)0)->member) + (unsigned)addr; \
184 switch (sizeof(((type *)0)->member)) { \
190 RIA.rw1 = val & 0xff; \
191 RIA.rw1 = (val >> 8) & 0xff; \
195 RIA.rw1 = (unsigned long)val & 0xff; \
196 RIA.rw1 = ((unsigned long)val >> 8) & 0xff; \
197 RIA.rw1 = ((unsigned long)val >> 16) & 0xff; \
198 RIA.rw1 = ((unsigned long)val >> 24) & 0xff; \
uint8_t uint16_t address
Definition: bios.h:180
byte x
Definition: api.h:26
char channel
Definition: famitone2.h:31
const void uint16_t count
Definition: memory.h:58
char char char attr
Definition: neslib.h:85
unsigned size
Definition: neslib.h:185
int f_seekdir(long offs, int dirdes)
int f_chdrive(const char *name)
int f_opendir(const char *name)
int f_getlabel(const char *path, char *label)
long f_telldir(int dirdes)
int write_xstack(const void *buf, unsigned count, int fildes)
int f_setlabel(const char *name)
int f_getfree(const char *name, unsigned long *free, unsigned long *total)
int xregn(char device, char channel, unsigned char address, unsigned count,...)
int f_utime(const char *path, unsigned fdate, unsigned ftime, unsigned crdate, unsigned crtime)
int stdin_opt(unsigned long ctrl_bits, unsigned char str_length)
int ria_call_int(unsigned char op)
int f_rewinddir(int dirdes)
int read_xram(unsigned buf, unsigned count, int fildes)
int f_mkdir(const char *name)
int f_readdir(f_stat_t *dirent, int dirdes)
int f_getcwd(char *name, int size)
int f_closedir(int dirdes)
void ria_push_long(unsigned long val)
long ria_call_long(unsigned char op)
int f_stat(const char *path, f_stat_t *dirent)
long f_lseek(long offset, int whence, int fildes)
int write_xram(unsigned buf, unsigned count, int fildes)
void ria_push_int(unsigned int val)
int read_xstack(void *buf, unsigned count, int fildes)
void ria_set_axsreg(unsigned long axsreg)
int f_chmod(const char *path, unsigned char attr, unsigned char mask)
void ria_set_ax(unsigned int ax)
unsigned char fattrib
Definition: rp6502.h:112
unsigned ftime
Definition: rp6502.h:109
unsigned crtime
Definition: rp6502.h:111
unsigned long fsize
Definition: rp6502.h:107
unsigned fdate
Definition: rp6502.h:108
unsigned crdate
Definition: rp6502.h:110
unsigned xram_data_ptr
Definition: rp6502.h:209
int width_chars
Definition: rp6502.h:207
int x_pos_px
Definition: rp6502.h:205
unsigned char y_wrap
Definition: rp6502.h:204
unsigned char x_wrap
Definition: rp6502.h:203
unsigned xram_palette_ptr
Definition: rp6502.h:210
unsigned xram_font_ptr
Definition: rp6502.h:211
int y_pos_px
Definition: rp6502.h:206
int height_chars
Definition: rp6502.h:208
int x_pos_px
Definition: rp6502.h:217
int y_pos_px
Definition: rp6502.h:218
unsigned xram_tile_ptr
Definition: rp6502.h:223
unsigned xram_palette_ptr
Definition: rp6502.h:222
unsigned xram_data_ptr
Definition: rp6502.h:221
unsigned char y_wrap
Definition: rp6502.h:216
int height_tiles
Definition: rp6502.h:220
unsigned char x_wrap
Definition: rp6502.h:215
int width_tiles
Definition: rp6502.h:219
int height_px
Definition: rp6502.h:232
unsigned xram_data_ptr
Definition: rp6502.h:233
int y_pos_px
Definition: rp6502.h:230
unsigned char x_wrap
Definition: rp6502.h:227
int x_pos_px
Definition: rp6502.h:229
unsigned xram_palette_ptr
Definition: rp6502.h:234
int width_px
Definition: rp6502.h:231
unsigned char y_wrap
Definition: rp6502.h:228
unsigned char has_opacity_metadata
Definition: rp6502.h:251
unsigned char log_size
Definition: rp6502.h:250
int y_pos_px
Definition: rp6502.h:248
int x_pos_px
Definition: rp6502.h:247
unsigned xram_sprite_ptr
Definition: rp6502.h:249
unsigned char has_opacity_metadata
Definition: rp6502.h:242
int x_pos_px
Definition: rp6502.h:238
unsigned char log_size
Definition: rp6502.h:241
unsigned xram_sprite_ptr
Definition: rp6502.h:240
int y_pos_px
Definition: rp6502.h:239