Removed indirections in file device
This commit is contained in:
parent
f4f05d0419
commit
6e094ca520
4
makefile
4
makefile
|
@ -31,6 +31,6 @@ clean:
|
||||||
bin/uxnasm: src/uxnasm.c
|
bin/uxnasm: src/uxnasm.c
|
||||||
@ cc ${RELEASE_flags} ${CFLAGS} src/uxnasm.c -o bin/uxnasm
|
@ cc ${RELEASE_flags} ${CFLAGS} src/uxnasm.c -o bin/uxnasm
|
||||||
bin/uxncli: ${CLI_src} src/uxncli.c
|
bin/uxncli: ${CLI_src} src/uxncli.c
|
||||||
@ cc ${RELEASE_flags} ${CFLAGS} ${CLI_src} src/uxncli.c -lutil -o bin/uxncli
|
@ cc ${DEBUG_flags} ${CFLAGS} ${CLI_src} src/uxncli.c -lutil -o bin/uxncli
|
||||||
bin/uxn11: ${EMU_src} src/uxn11.c
|
bin/uxn11: ${EMU_src} src/uxn11.c
|
||||||
@ cc ${RELEASE_flags} ${CFLAGS} ${EMU_src} src/uxn11.c -lX11 -lutil -o bin/uxn11
|
@ cc ${DEBUG_flags} ${CFLAGS} ${EMU_src} src/uxn11.c -lX11 -lutil -o bin/uxn11
|
||||||
|
|
|
@ -245,7 +245,7 @@ file_delete(UxnFile *c)
|
||||||
/* IO */
|
/* IO */
|
||||||
|
|
||||||
void
|
void
|
||||||
file_deo(Uint8 id, Uint8 *ram, Uint8 *d, Uint8 port)
|
file_deo(Uint8 id, Uint8 *d, Uint8 port)
|
||||||
{
|
{
|
||||||
UxnFile *c = &uxn_file[id];
|
UxnFile *c = &uxn_file[id];
|
||||||
Uint16 addr, len, res;
|
Uint16 addr, len, res;
|
||||||
|
@ -255,7 +255,7 @@ file_deo(Uint8 id, Uint8 *ram, Uint8 *d, Uint8 port)
|
||||||
len = PEEK2(d + 0xa);
|
len = PEEK2(d + 0xa);
|
||||||
if(len > 0x10000 - addr)
|
if(len > 0x10000 - addr)
|
||||||
len = 0x10000 - addr;
|
len = 0x10000 - addr;
|
||||||
res = file_stat(c, &ram[addr], len);
|
res = file_stat(c, &uxn.ram[addr], len);
|
||||||
POKE2(d + 0x2, res);
|
POKE2(d + 0x2, res);
|
||||||
break;
|
break;
|
||||||
case 0x6:
|
case 0x6:
|
||||||
|
@ -264,7 +264,7 @@ file_deo(Uint8 id, Uint8 *ram, Uint8 *d, Uint8 port)
|
||||||
break;
|
break;
|
||||||
case 0x9:
|
case 0x9:
|
||||||
addr = PEEK2(d + 0x8);
|
addr = PEEK2(d + 0x8);
|
||||||
res = file_init(c, (char *)&ram[addr], 0x10000 - addr, 0);
|
res = file_init(c, (char *)&uxn.ram[addr], 0x10000 - addr, 0);
|
||||||
POKE2(d + 0x2, res);
|
POKE2(d + 0x2, res);
|
||||||
break;
|
break;
|
||||||
case 0xd:
|
case 0xd:
|
||||||
|
@ -272,7 +272,7 @@ file_deo(Uint8 id, Uint8 *ram, Uint8 *d, Uint8 port)
|
||||||
len = PEEK2(d + 0xa);
|
len = PEEK2(d + 0xa);
|
||||||
if(len > 0x10000 - addr)
|
if(len > 0x10000 - addr)
|
||||||
len = 0x10000 - addr;
|
len = 0x10000 - addr;
|
||||||
res = file_read(c, &ram[addr], len);
|
res = file_read(c, &uxn.ram[addr], len);
|
||||||
POKE2(d + 0x2, res);
|
POKE2(d + 0x2, res);
|
||||||
break;
|
break;
|
||||||
case 0xf:
|
case 0xf:
|
||||||
|
@ -280,7 +280,7 @@ file_deo(Uint8 id, Uint8 *ram, Uint8 *d, Uint8 port)
|
||||||
len = PEEK2(d + 0xa);
|
len = PEEK2(d + 0xa);
|
||||||
if(len > 0x10000 - addr)
|
if(len > 0x10000 - addr)
|
||||||
len = 0x10000 - addr;
|
len = 0x10000 - addr;
|
||||||
res = file_write(c, &ram[addr], len, d[0x7]);
|
res = file_write(c, &uxn.ram[addr], len, d[0x7]);
|
||||||
POKE2(d + 0x2, res);
|
POKE2(d + 0x2, res);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,4 +14,4 @@ WITH REGARD TO THIS SOFTWARE.
|
||||||
#define POLYFILEY 2
|
#define POLYFILEY 2
|
||||||
#define DEV_FILE0 0xa
|
#define DEV_FILE0 0xa
|
||||||
|
|
||||||
void file_deo(Uint8 id, Uint8 *ram, Uint8 *d, Uint8 port);
|
void file_deo(Uint8 id, Uint8 *d, Uint8 port);
|
||||||
|
|
|
@ -13,7 +13,7 @@ WITH REGARD TO THIS SOFTWARE.
|
||||||
#define RAM_PAGES 0x10
|
#define RAM_PAGES 0x10
|
||||||
|
|
||||||
void system_reboot(char *rom, int soft);
|
void system_reboot(char *rom, int soft);
|
||||||
void system_inspect();
|
void system_inspect(void);
|
||||||
int system_error(char *msg, const char *err);
|
int system_error(char *msg, const char *err);
|
||||||
int system_boot(Uint8 *ram, char *rom);
|
int system_boot(Uint8 *ram, char *rom);
|
||||||
|
|
||||||
|
|
|
@ -69,8 +69,8 @@ emu_deo(Uint8 addr, Uint8 value)
|
||||||
break;
|
break;
|
||||||
case 0x10: console_deo(&uxn.dev[d], p); break;
|
case 0x10: console_deo(&uxn.dev[d], p); break;
|
||||||
case 0x20: screen_deo(&uxn.dev[d], p); break;
|
case 0x20: screen_deo(&uxn.dev[d], p); break;
|
||||||
case 0xa0: file_deo(0, uxn.ram, &uxn.dev[d], p); break;
|
case 0xa0: file_deo(0, &uxn.dev[d], p); break;
|
||||||
case 0xb0: file_deo(1, uxn.ram, &uxn.dev[d], p); break;
|
case 0xb0: file_deo(1, &uxn.dev[d], p); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,8 @@ emu_deo(Uint8 addr, Uint8 value)
|
||||||
switch(d) {
|
switch(d) {
|
||||||
case 0x00: system_deo(&uxn.dev[d], p); break;
|
case 0x00: system_deo(&uxn.dev[d], p); break;
|
||||||
case 0x10: console_deo(&uxn.dev[d], p); break;
|
case 0x10: console_deo(&uxn.dev[d], p); break;
|
||||||
case 0xa0: file_deo(0, uxn.ram, &uxn.dev[d], p); break;
|
case 0xa0: file_deo(0, &uxn.dev[d], p); break;
|
||||||
case 0xb0: file_deo(1, uxn.ram, &uxn.dev[d], p); break;
|
case 0xb0: file_deo(1, &uxn.dev[d], p); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue