| ... | ... |
@@ -170,7 +170,7 @@ file_init(UxnFile *c, char *filename, size_t max_len, int override_sandbox) |
| 170 | 170 |
} |
| 171 | 171 |
|
| 172 | 172 |
static Uint16 |
| 173 |
-file_read(UxnFile *c, void *dest, Uint16 len) |
|
| 173 |
+file_read(UxnFile *c, void *dest, int len) |
|
| 174 | 174 |
{
|
| 175 | 175 |
if(c->outside_sandbox) return 0; |
| 176 | 176 |
if(c->state != FILE_READ && c->state != DIR_READ) {
|
| ... | ... |
@@ -288,7 +288,7 @@ load_rom(Uxn *u, char *filename) |
| 288 | 288 |
{
|
| 289 | 289 |
int ret; |
| 290 | 290 |
file_init(uxn_file, filename, strlen(filename) + 1, 1); |
| 291 |
- ret = file_read(uxn_file, &u->ram[PAGE_PROGRAM], 0x10000 - PAGE_PROGRAM); |
|
| 291 |
+ ret = file_read(uxn_file, &u->ram[PAGE_PROGRAM], 0x100000 - PAGE_PROGRAM); |
|
| 292 | 292 |
reset(uxn_file); |
| 293 | 293 |
return ret; |
| 294 | 294 |
} |
| ... | ... |
@@ -68,25 +68,17 @@ mmu_init(Mmu *m, Uint16 pages) |
| 68 | 68 |
return m->pages; |
| 69 | 69 |
} |
| 70 | 70 |
|
| 71 |
-void |
|
| 72 |
-mmu_copy(Uint8 *ram, Uint16 length, Uint16 src_page, Uint16 src_addr, Uint16 dst_page, Uint16 dst_addr) |
|
| 73 |
-{
|
|
| 74 |
- Uint16 i; |
|
| 75 |
- for(i = 0; i < length; i++) {
|
|
| 76 |
- ram[dst_page * 0x10000 + dst_addr + i] = ram[src_page * 0x10000 + src_addr + i]; |
|
| 77 |
- } |
|
| 78 |
-} |
|
| 79 |
- |
|
| 80 | 71 |
void |
| 81 | 72 |
mmu_eval(Uint8 *ram, Uint16 addr) |
| 82 | 73 |
{
|
| 83 |
- Uint16 a = addr; |
|
| 74 |
+ Uint16 a = addr, i = 0; |
|
| 84 | 75 |
Uint8 o = ram[a++]; |
| 85 | 76 |
if(o == 1) {
|
| 86 | 77 |
Uint16 length = (ram[a++] << 8) + ram[a++]; |
| 87 | 78 |
Uint16 src_page = ((ram[a++] << 8) + ram[a++]) % 16, src_addr = (ram[a++] << 8) + ram[a++]; |
| 88 | 79 |
Uint16 dst_page = ((ram[a++] << 8) + ram[a++]) % 16, dst_addr = (ram[a++] << 8) + ram[a]; |
| 89 |
- mmu_copy(ram, length, src_page, src_addr, dst_page, dst_addr); |
|
| 80 |
+ for(i = 0; i < length; i++) |
|
| 81 |
+ ram[dst_page * 0x10000 + dst_addr + i] = ram[src_page * 0x10000 + src_addr + i]; |
|
| 90 | 82 |
} |
| 91 | 83 |
} |
| 92 | 84 |
|