... | ... |
@@ -286,9 +286,13 @@ file_dei(Uint8 id, Uint8 *d, Uint8 port) |
286 | 286 |
int |
287 | 287 |
load_rom(Uxn *u, char *filename) |
288 | 288 |
{ |
289 |
- int ret; |
|
290 |
- file_init(uxn_file, filename, strlen(filename) + 1, 1); |
|
291 |
- ret = file_read(uxn_file, &u->ram[PAGE_PROGRAM], 0x100000 - PAGE_PROGRAM); |
|
292 |
- reset(uxn_file); |
|
293 |
- return ret; |
|
289 |
+ int l, i = 0; |
|
290 |
+ FILE *f = fopen(filename, "rb"); |
|
291 |
+ if(!f) |
|
292 |
+ return 0; |
|
293 |
+ l = fread(&u->ram[PAGE_PROGRAM], 1, 0x10000 - PAGE_PROGRAM, f); |
|
294 |
+ while(l && ++i < 15) |
|
295 |
+ l = fread(u->ram + 0x10000 * i, 1, 0x10000, f); |
|
296 |
+ fclose(f); |
|
297 |
+ return 1; |
|
294 | 298 |
} |