| ... | ... |
@@ -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 |
} |