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
67 #define RIA_OP_EXIT 0xFF
68 #define RIA_OP_ZXSTACK 0x00
69 #define RIA_OP_XREG 0x01
70 #define RIA_OP_PHI2 0x02
71 #define RIA_OP_CODEPAGE 0x03
72 #define RIA_OP_LRAND 0x04
73 #define RIA_OP_STDIN_OPT 0x05
74 #define RIA_OP_CLOCK 0x0F
75 #define RIA_OP_CLOCK_GETRES 0x10
76 #define RIA_OP_CLOCK_GETTIME 0x11
77 #define RIA_OP_CLOCK_SETTIME 0x12
78 #define RIA_OP_CLOCK_GETTIMEZONE 0x13
79 #define RIA_OP_OPEN 0x14
80 #define RIA_OP_CLOSE 0x15
81 #define RIA_OP_READ_XSTACK 0x16
82 #define RIA_OP_READ_XRAM 0x17
83 #define RIA_OP_WRITE_XSTACK 0x18
84 #define RIA_OP_WRITE_XRAM 0x19
85 #define RIA_OP_LSEEK 0x1A
86 #define RIA_OP_UNLINK 0x1B
87 #define RIA_OP_RENAME 0x1C
92 #define RIA_SEEK_CUR 0
93 #define RIA_SEEK_END 1
94 #define RIA_SEEK_SET 2
103 int stdin_opt(
unsigned long ctrl_bits,
unsigned char str_length);
111 #define xram0_struct_set(addr, type, member, val) \
112 RIA.addr0 = (unsigned)(&((type *)0)->member) + (unsigned)addr; \
113 switch (sizeof(((type *)0)->member)) { \
119 RIA.rw0 = val & 0xff; \
120 RIA.rw0 = (val >> 8) & 0xff; \
124 RIA.rw0 = (unsigned long)val & 0xff; \
125 RIA.rw0 = ((unsigned long)val >> 8) & 0xff; \
126 RIA.rw0 = ((unsigned long)val >> 16) & 0xff; \
127 RIA.rw0 = ((unsigned long)val >> 24) & 0xff; \
131 #define xram1_struct_set(addr, type, member, val) \
132 RIA.addr1 = (unsigned)(&((type *)0)->member) + (unsigned)addr; \
133 switch (sizeof(((type *)0)->member)) { \
139 RIA.rw1 = val & 0xff; \
140 RIA.rw1 = (val >> 8) & 0xff; \
144 RIA.rw1 = (unsigned long)val & 0xff; \
145 RIA.rw1 = ((unsigned long)val >> 8) & 0xff; \
146 RIA.rw1 = ((unsigned long)val >> 16) & 0xff; \
147 RIA.rw1 = ((unsigned long)val >> 24) & 0xff; \
uint8_t uint16_t address
Definition: bios.h:180
byte x
Definition: api.h:26
#define errno
Definition: errno.h:9
char channel
Definition: famitone2.h:31
const void uint16_t count
Definition: memory.h:58
int write_xstack(const void *buf, unsigned count, int fildes)
int xregn(char device, char channel, unsigned char address, unsigned count,...)
FRESULT
Definition: rp6502.h:205
@ FR_NO_FILESYSTEM
Definition: rp6502.h:219
@ FR_EXIST
Definition: rp6502.h:214
@ FR_INVALID_PARAMETER
Definition: rp6502.h:227
@ FR_INVALID_OBJECT
Definition: rp6502.h:215
@ FR_TIMEOUT
Definition: rp6502.h:221
@ FR_INVALID_DRIVE
Definition: rp6502.h:217
@ FR_MKFS_ABORTED
Definition: rp6502.h:220
@ FR_TOO_MANY_OPEN_FILES
Definition: rp6502.h:226
@ FR_OK
Definition: rp6502.h:206
@ FR_LOCKED
Definition: rp6502.h:223
@ FR_INVALID_NAME
Definition: rp6502.h:212
@ FR_DENIED
Definition: rp6502.h:213
@ FR_NO_FILE
Definition: rp6502.h:210
@ FR_DISK_ERR
Definition: rp6502.h:207
@ FR_INT_ERR
Definition: rp6502.h:208
@ FR_WRITE_PROTECTED
Definition: rp6502.h:216
@ FR_NOT_READY
Definition: rp6502.h:209
@ FR_NO_PATH
Definition: rp6502.h:211
@ FR_NOT_ENOUGH_CORE
Definition: rp6502.h:225
@ FR_NOT_ENABLED
Definition: rp6502.h:218
int stdin_opt(unsigned long ctrl_bits, unsigned char str_length)
int ria_call_int_errno(unsigned char op)
int ria_call_int(unsigned char op)
int read_xram(unsigned buf, unsigned count, int fildes)
void ria_push_long(unsigned long val)
long ria_call_long(unsigned char op)
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)
void ria_set_ax(unsigned int ax)
long ria_call_long_errno(unsigned char op)
unsigned xram_data_ptr
Definition: rp6502.h:158
int width_chars
Definition: rp6502.h:156
int x_pos_px
Definition: rp6502.h:154
unsigned char y_wrap
Definition: rp6502.h:153
unsigned char x_wrap
Definition: rp6502.h:152
unsigned xram_palette_ptr
Definition: rp6502.h:159
unsigned xram_font_ptr
Definition: rp6502.h:160
int y_pos_px
Definition: rp6502.h:155
int height_chars
Definition: rp6502.h:157
int x_pos_px
Definition: rp6502.h:166
int y_pos_px
Definition: rp6502.h:167
unsigned xram_tile_ptr
Definition: rp6502.h:172
unsigned xram_palette_ptr
Definition: rp6502.h:171
unsigned xram_data_ptr
Definition: rp6502.h:170
unsigned char y_wrap
Definition: rp6502.h:165
int height_tiles
Definition: rp6502.h:169
unsigned char x_wrap
Definition: rp6502.h:164
int width_tiles
Definition: rp6502.h:168
int height_px
Definition: rp6502.h:181
unsigned xram_data_ptr
Definition: rp6502.h:182
int y_pos_px
Definition: rp6502.h:179
unsigned char x_wrap
Definition: rp6502.h:176
int x_pos_px
Definition: rp6502.h:178
unsigned xram_palette_ptr
Definition: rp6502.h:183
int width_px
Definition: rp6502.h:180
unsigned char y_wrap
Definition: rp6502.h:177
unsigned char has_opacity_metadata
Definition: rp6502.h:200
unsigned char log_size
Definition: rp6502.h:199
int y_pos_px
Definition: rp6502.h:197
int x_pos_px
Definition: rp6502.h:196
unsigned xram_sprite_ptr
Definition: rp6502.h:198
unsigned char has_opacity_metadata
Definition: rp6502.h:191
int x_pos_px
Definition: rp6502.h:187
unsigned char log_size
Definition: rp6502.h:190
unsigned xram_sprite_ptr
Definition: rp6502.h:189
int y_pos_px
Definition: rp6502.h:188