Fixed the second batch of problems
This commit is contained in:
@@ -1056,17 +1056,14 @@ scat_out(uint16_t port, uint8_t val, void *priv)
|
||||
break;
|
||||
|
||||
case SCAT_EMS_CONTROL:
|
||||
io_removehandler(0x0208, 0x0003, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
io_removehandler(0x0218, 0x0003, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
|
||||
if (val & 0x40) {
|
||||
if (val & 1) {
|
||||
if (val & 1)
|
||||
io_sethandler(0x0218, 3, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
io_removehandler(0x0208, 3, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
} else {
|
||||
else
|
||||
io_sethandler(0x0208, 3, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
io_removehandler(0x0218, 3, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
}
|
||||
} else {
|
||||
io_removehandler(0x0208, 0x0003, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
io_removehandler(0x0218, 0x0003, scat_in, NULL, NULL, scat_out, NULL, NULL, dev);
|
||||
}
|
||||
set_global_EMS_state(dev, val & 0x80);
|
||||
reg_valid = 1;
|
||||
|
@@ -1333,7 +1333,8 @@ loadrom(hdc_t *dev, const wchar_t *fn)
|
||||
/* Load the ROM data. */
|
||||
dev->bios_rom.rom = (uint8_t *)malloc(size);
|
||||
memset(dev->bios_rom.rom, 0xff, size);
|
||||
(void)fread(dev->bios_rom.rom, size, 1, fp);
|
||||
if (fread(dev->bios_rom.rom, 1, size, fp) != size)
|
||||
fatal("ST-506 XT loadrom(): Error reading data\n");
|
||||
(void)fclose(fp);
|
||||
|
||||
/* Set up an address mask for this memory. */
|
||||
|
@@ -641,13 +641,19 @@ hdd_image_load(int id)
|
||||
}
|
||||
} else {
|
||||
if (image_is_hdi(fn)) {
|
||||
fseeko64(hdd_images[id].file, 0x8, SEEK_SET);
|
||||
fread(&(hdd_images[id].base), 1, 4, hdd_images[id].file);
|
||||
fseeko64(hdd_images[id].file, 0xC, SEEK_SET);
|
||||
if (fseeko64(hdd_images[id].file, 0x8, SEEK_SET) == -1)
|
||||
fatal("hdd_image_load(): HDI: Error seeking to offset 0x8\n");
|
||||
if (fread(&(hdd_images[id].base), 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading base offset\n");
|
||||
if (fseeko64(hdd_images[id].file, 0xC, SEEK_SET) == -1)
|
||||
fatal("hdd_image_load(): HDI: Error seeking to offest 0xC\n");
|
||||
full_size = 0LL;
|
||||
fread(&full_size, 1, 4, hdd_images[id].file);
|
||||
fseeko64(hdd_images[id].file, 0x10, SEEK_SET);
|
||||
fread(§or_size, 1, 4, hdd_images[id].file);
|
||||
if (fread(&full_size, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading full size\n");
|
||||
if (fseeko64(hdd_images[id].file, 0x10, SEEK_SET) == -1)
|
||||
fatal("hdd_image_load(): HDI: Error seeking to offset 0x10\n");
|
||||
if (fread(§or_size, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading sector size\n");
|
||||
if (sector_size != 512) {
|
||||
/* Sector size is not 512 */
|
||||
hdd_image_log("HDI: Sector size is not 512\n");
|
||||
@@ -656,19 +662,26 @@ hdd_image_load(int id)
|
||||
memset(hdd[id].fn, 0, sizeof(hdd[id].fn));
|
||||
return 0;
|
||||
}
|
||||
fread(&spt, 1, 4, hdd_images[id].file);
|
||||
fread(&hpc, 1, 4, hdd_images[id].file);
|
||||
fread(&tracks, 1, 4, hdd_images[id].file);
|
||||
if (fread(&spt, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading sectors per track\n");
|
||||
if (fread(&hpc, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading heads per cylinder\n");
|
||||
if (fread(&tracks, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading number of tracks\n");
|
||||
hdd[id].spt = spt;
|
||||
hdd[id].hpc = hpc;
|
||||
hdd[id].tracks = tracks;
|
||||
hdd_images[id].type = 1;
|
||||
} else if (is_hdx[1]) {
|
||||
hdd_images[id].base = 0x28;
|
||||
fseeko64(hdd_images[id].file, 8, SEEK_SET);
|
||||
fread(&full_size, 1, 8, hdd_images[id].file);
|
||||
fseeko64(hdd_images[id].file, 0x10, SEEK_SET);
|
||||
fread(§or_size, 1, 4, hdd_images[id].file);
|
||||
if (fseeko64(hdd_images[id].file, 8, SEEK_SET) == -1)
|
||||
fatal("hdd_image_load(): HDX: Error seeking to offset 0x8\n");
|
||||
if (fread(&full_size, 1, 8, hdd_images[id].file) != 8)
|
||||
fatal("hdd_image_load(): HDX: Error reading full size\n");
|
||||
if (fseeko64(hdd_images[id].file, 0x10, SEEK_SET) == -1)
|
||||
fatal("hdd_image_load(): HDX: Error seeking to offset 0x10\n");
|
||||
if (fread(§or_size, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDX: Error reading sector size\n");
|
||||
if (sector_size != 512) {
|
||||
/* Sector size is not 512 */
|
||||
hdd_image_log("HDX: Sector size is not 512\n");
|
||||
@@ -677,16 +690,21 @@ hdd_image_load(int id)
|
||||
memset(hdd[id].fn, 0, sizeof(hdd[id].fn));
|
||||
return 0;
|
||||
}
|
||||
fread(&spt, 1, 4, hdd_images[id].file);
|
||||
fread(&hpc, 1, 4, hdd_images[id].file);
|
||||
fread(&tracks, 1, 4, hdd_images[id].file);
|
||||
if (fread(&spt, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading sectors per track\n");
|
||||
if (fread(&hpc, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDI: Error reading heads per cylinder\n");
|
||||
if (fread(&tracks, 1, 4, hdd_images[id].file) != 4)
|
||||
fatal("hdd_image_load(): HDX: Error reading number of tracks\n");
|
||||
hdd[id].spt = spt;
|
||||
hdd[id].hpc = hpc;
|
||||
hdd[id].tracks = tracks;
|
||||
hdd_images[id].type = 2;
|
||||
} else if (is_vhd[1]) {
|
||||
fseeko64(hdd_images[id].file, -512, SEEK_END);
|
||||
fread(empty_sector, 1, 512, hdd_images[id].file);
|
||||
if (fseeko64(hdd_images[id].file, -512, SEEK_END) == -1)
|
||||
fatal("hdd_image_load(): VHD: Error seeking to 512 bytes before the end of file\n");
|
||||
if (fread(empty_sector, 1, 512, hdd_images[id].file) != 512)
|
||||
fatal("hdd_image_load(): HDX: Error reading the footer\n");
|
||||
new_vhd_footer(&vft);
|
||||
vhd_footer_from_bytes(vft, (uint8_t *) empty_sector);
|
||||
if (vft->type != 2) {
|
||||
@@ -720,7 +738,8 @@ hdd_image_load(int id)
|
||||
}
|
||||
}
|
||||
|
||||
fseeko64(hdd_images[id].file, 0, SEEK_END);
|
||||
if (fseeko64(hdd_images[id].file, 0, SEEK_END) == -1)
|
||||
fatal("hdd_image_load(): Error seeking to the end of file\n");
|
||||
s = ftello64(hdd_images[id].file);
|
||||
if (s < (full_size + hdd_images[id].base))
|
||||
ret = prepare_new_hard_disk(id, full_size);
|
||||
@@ -731,7 +750,8 @@ hdd_image_load(int id)
|
||||
}
|
||||
|
||||
if (is_vhd[0]) {
|
||||
fseeko64(hdd_images[id].file, 0, SEEK_END);
|
||||
if (fseeko64(hdd_images[id].file, 0, SEEK_END) == -1)
|
||||
fatal("hdd_image_load(): VHD: Error seeking to the end of file\n");
|
||||
s = ftello64(hdd_images[id].file);
|
||||
if (s == (full_size + hdd_images[id].base)) {
|
||||
/* VHD image. */
|
||||
|
@@ -527,7 +527,8 @@ zip_load(zip_t *dev, wchar_t *fn)
|
||||
|
||||
dev->drv->medium_size = size >> 9;
|
||||
|
||||
fseek(dev->drv->f, dev->drv->base, SEEK_SET);
|
||||
if (fseek(dev->drv->f, dev->drv->base, SEEK_SET) == -1)
|
||||
fatal("zip_load(): Error seeking to the beginning of the file\n");
|
||||
|
||||
memcpy(dev->drv->image_path, fn, sizeof(dev->drv->image_path));
|
||||
|
||||
@@ -1180,10 +1181,13 @@ zip_blocks(zip_t *dev, int32_t *len, int first_batch, int out)
|
||||
if (feof(dev->drv->f))
|
||||
break;
|
||||
|
||||
if (out)
|
||||
fwrite(dev->buffer + (i << 9), 1, 512, dev->drv->f);
|
||||
else
|
||||
fread(dev->buffer + (i << 9), 1, 512, dev->drv->f);
|
||||
if (out) {
|
||||
if (fwrite(dev->buffer + (i << 9), 1, 512, dev->drv->f) != 512)
|
||||
fatal("zip_blocks(): Error writing data\n");
|
||||
} else {
|
||||
if (fread(dev->buffer + (i << 9), 1, 512, dev->drv->f) != 512)
|
||||
fatal("zip_blocks(): Error reading data\n");
|
||||
}
|
||||
}
|
||||
|
||||
zip_log("%s %i bytes of blocks...\n", out ? "Written" : "Read", *len);
|
||||
@@ -1444,6 +1448,7 @@ zip_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
zip_invalid_field(dev);
|
||||
return;
|
||||
}
|
||||
/*FALLTHROUGH*/
|
||||
case GPCMD_SCSI_RESERVE:
|
||||
case GPCMD_SCSI_RELEASE:
|
||||
case GPCMD_TEST_UNIT_READY:
|
||||
|
@@ -3161,7 +3161,7 @@ d86f_writeback(int drive)
|
||||
{
|
||||
d86f_t *dev = d86f[drive];
|
||||
uint8_t header[32];
|
||||
int header_size;
|
||||
int header_size, size;
|
||||
#ifdef D86F_COMPRESS
|
||||
uint32_t len;
|
||||
int ret = 0;
|
||||
@@ -3172,11 +3172,16 @@ d86f_writeback(int drive)
|
||||
if (! dev->f) return;
|
||||
|
||||
/* First write the track offsets table. */
|
||||
fseek(dev->f, 0, SEEK_SET);
|
||||
fread(header, 1, header_size, dev->f);
|
||||
if (fseek(dev->f, 0, SEEK_SET) == -1)
|
||||
fatal("86F write_back(): Error seeking to the beginning of the file\n");
|
||||
if (fread(header, 1, header_size, dev->f) != header_size)
|
||||
fatal("86F write_back(): Error reading header size\n");
|
||||
|
||||
fseek(dev->f, 8, SEEK_SET);
|
||||
fwrite(dev->track_offset, 1, d86f_get_track_table_size(drive), dev->f);
|
||||
if (fseek(dev->f, 8, SEEK_SET) == -1)
|
||||
fatal("86F write_back(): Error seeking\n");
|
||||
size = d86f_get_track_table_size(drive);
|
||||
if (fwrite(dev->track_offset, 1, size, dev->f) != size)
|
||||
fatal("86F write_back(): Error writing data\n");
|
||||
|
||||
d86f_write_tracks(drive, &dev->f, NULL);
|
||||
|
||||
@@ -3586,7 +3591,9 @@ d86f_load(int drive, wchar_t *fn)
|
||||
return;
|
||||
}
|
||||
|
||||
fread(&(dev->version), 2, 1, dev->f);
|
||||
if (fread(&(dev->version), 1, 2, dev->f) != 2)
|
||||
fatal("d86f_load(): Error reading format version\n");
|
||||
|
||||
if (dev->version != D86FVER) {
|
||||
/* File is not of a recognized format version, abort. */
|
||||
if (dev->version == 0x0063) {
|
||||
|
@@ -638,8 +638,10 @@ imd_load(int drive, wchar_t *fn)
|
||||
writeprot[drive] = 1;
|
||||
fwriteprot[drive] = writeprot[drive];
|
||||
|
||||
fseek(dev->f, 0, SEEK_SET);
|
||||
fread(&magic, 1, 4, dev->f);
|
||||
if (fseek(dev->f, 0, SEEK_SET) == -1)
|
||||
fatal("imd_load(): Error seeking to the beginning of the file\n");
|
||||
if (fread(&magic, 1, 4, dev->f) != 4)
|
||||
fatal("imd_load(): Error reading the magic number\n");
|
||||
if (magic != 0x20444D49) {
|
||||
imd_log("IMD: Not a valid ImageDisk image\n");
|
||||
fclose(dev->f);
|
||||
@@ -649,11 +651,14 @@ imd_load(int drive, wchar_t *fn)
|
||||
} else
|
||||
imd_log("IMD: Valid ImageDisk image\n");
|
||||
|
||||
fseek(dev->f, 0, SEEK_END);
|
||||
if (fseek(dev->f, 0, SEEK_END) == -1)
|
||||
fatal("imd_load(): Error seeking to the end of the file\n");
|
||||
fsize = ftell(dev->f);
|
||||
fseek(dev->f, 0, SEEK_SET);
|
||||
if (fseek(dev->f, 0, SEEK_SET) == -1)
|
||||
fatal("imd_load(): Error seeking to the beginning of the file again\n");
|
||||
dev->buffer = malloc(fsize);
|
||||
fread(dev->buffer, 1, fsize, dev->f);
|
||||
if (fread(dev->buffer, 1, fsize, dev->f) != fsize)
|
||||
fatal("imd_load(): Error reading data\n");
|
||||
buffer = dev->buffer;
|
||||
|
||||
buffer2 = strchr(buffer, 0x1A);
|
||||
|
@@ -401,7 +401,7 @@ mfm_load(int drive, wchar_t *fn)
|
||||
{
|
||||
mfm_t *dev;
|
||||
double dbr;
|
||||
int i;
|
||||
int i, size;
|
||||
|
||||
writeprot[drive] = fwriteprot[drive] = 1;
|
||||
|
||||
@@ -419,16 +419,22 @@ mfm_load(int drive, wchar_t *fn)
|
||||
d86f_unregister(drive);
|
||||
|
||||
/* Read the header. */
|
||||
fread(&dev->hdr, 1, sizeof(mfm_header_t), dev->f);
|
||||
size = sizeof(mfm_header_t);
|
||||
if (fread(&dev->hdr, 1, size, dev->f) != size)
|
||||
fatal("mfm_load(): Error reading header\n");
|
||||
|
||||
/* Calculate tracks * sides, allocate the tracks array, and read it. */
|
||||
dev->total_tracks = dev->hdr.tracks_no * dev->hdr.sides_no;
|
||||
if (dev->hdr.if_type & 0x80) {
|
||||
dev->adv_tracks = (mfm_adv_track_t *) malloc(dev->total_tracks * sizeof(mfm_adv_track_t));
|
||||
fread(dev->adv_tracks, 1, dev->total_tracks * sizeof(mfm_adv_track_t), dev->f);
|
||||
size = dev->total_tracks * sizeof(mfm_adv_track_t);
|
||||
if (fread(dev->adv_tracks, 1, size, dev->f) != size)
|
||||
fatal("mfm_load(): Error reading advanced tracks\n");
|
||||
} else {
|
||||
dev->tracks = (mfm_track_t *) malloc(dev->total_tracks * sizeof(mfm_track_t));
|
||||
fread(dev->tracks, 1, dev->total_tracks * sizeof(mfm_track_t), dev->f);
|
||||
size = dev->total_tracks * sizeof(mfm_track_t);
|
||||
if (fread(dev->tracks, 1, size, dev->f) != size)
|
||||
fatal("mfm_load(): Error reading tracks\n");
|
||||
}
|
||||
|
||||
/* The chances of finding a HxC MFM image of a single-sided thin track
|
||||
|
@@ -262,7 +262,8 @@ state_data_read(td0dsk_t *state, uint8_t *buf, uint16_t size)
|
||||
size = (image_size - state->fdd_file_offset) & 0xffff;
|
||||
if (fseek(state->fdd_file, state->fdd_file_offset, SEEK_SET) == -1)
|
||||
fatal("TD0: Failed to seek in state_data_read()\n");
|
||||
fread(buf, 1, size, state->fdd_file);
|
||||
if (fread(buf, 1, size, state->fdd_file) != size)
|
||||
fatal("TD0: Error reading data in state_data_read()\n");
|
||||
state->fdd_file_offset += size;
|
||||
|
||||
return(size);
|
||||
|
@@ -2137,8 +2137,10 @@ int fdi2raw_loadtrack (FDI *fdi, uae_u16 *mfmbuf, uae_u16 *tracktiming, int trac
|
||||
|
||||
fdi->err = 0;
|
||||
fdi->track_src_len = fdi->track_offsets[track + 1] - fdi->track_offsets[track];
|
||||
fseek (fdi->file, fdi->track_offsets[track], SEEK_SET);
|
||||
fread (fdi->track_src_buffer, fdi->track_src_len, 1, fdi->file);
|
||||
if (fseek (fdi->file, fdi->track_offsets[track], SEEK_SET) == -1)
|
||||
fatal("fdi2raw_loadtrack(): Error seeking to the beginning of the file\n");
|
||||
if (fread (fdi->track_src_buffer, 1, fdi->track_src_len, fdi->file) != fdi->track_src_len)
|
||||
fatal("fdi2raw_loadtrack(): Error reading data\n");
|
||||
memset (fdi->track_dst_buffer, 0, MAX_DST_BUFFER);
|
||||
fdi->track_dst_buffer_timing[0] = 0;
|
||||
|
||||
@@ -2177,7 +2179,7 @@ int fdi2raw_loadtrack (FDI *fdi, uae_u16 *mfmbuf, uae_u16 *tracktiming, int trac
|
||||
zxx (fdi);
|
||||
outlen = -1;
|
||||
|
||||
} else if (fdi->track_type < 0x10) {
|
||||
} else if (fdi->track_type < 0x0f) {
|
||||
|
||||
decode_normal_track[fdi->track_type](fdi);
|
||||
fix_mfm_sync (fdi);
|
||||
|
15
src/rom.c
15
src/rom.c
@@ -183,8 +183,10 @@ rom_load_linear(wchar_t *fn, uint32_t addr, int sz, int off, uint8_t *ptr)
|
||||
}
|
||||
|
||||
if (ptr != NULL) {
|
||||
(void)fseek(f, off, SEEK_SET);
|
||||
(void)fread(ptr+addr, sz, 1, f);
|
||||
if (fseek(f, off, SEEK_SET) == -1)
|
||||
fatal("rom_load_linear(): Error seeking to the beginning of the file\n");
|
||||
if (fread(ptr+addr, 1, sz, f) != sz)
|
||||
fatal("rom_load_linear(): Error reading data\n");
|
||||
}
|
||||
|
||||
(void)fclose(f);
|
||||
@@ -221,9 +223,12 @@ rom_load_linear_inverted(wchar_t *fn, uint32_t addr, int sz, int off, uint8_t *p
|
||||
}
|
||||
|
||||
if (ptr != NULL) {
|
||||
(void)fseek(f, off, SEEK_SET);
|
||||
(void)fread(ptr+addr+0x10000, sz >> 1, 1, f);
|
||||
(void)fread(ptr+addr, sz >> 1, 1, f);
|
||||
if (fseek(f, off, SEEK_SET) == -1)
|
||||
fatal("rom_load_linear_inverted(): Error seeking to the beginning of the file\n");
|
||||
if (fread(ptr+addr+0x10000, 1, sz >> 1, f) > (sz >> 1))
|
||||
fatal("rom_load_linear_inverted(): Error reading the upper half of the data\n");
|
||||
if (fread(ptr+addr, sz >> 1, 1, f) > (sz >> 1))
|
||||
fatal("rom_load_linear_inverted(): Error reading the lower half of the data\n");
|
||||
}
|
||||
|
||||
(void)fclose(f);
|
||||
|
@@ -450,7 +450,8 @@ scsi_cdrom_mode_sense_load(scsi_cdrom_t *dev)
|
||||
swprintf(file_name, 512, L"cdrom_%02i_mode_sense_bin", dev->id);
|
||||
f = plat_fopen(nvr_path(file_name), L"rb");
|
||||
if (f) {
|
||||
fread(dev->ms_pages_saved.pages[GPMODE_CDROM_AUDIO_PAGE], 1, 0x10, f);
|
||||
if (fread(dev->ms_pages_saved.pages[GPMODE_CDROM_AUDIO_PAGE], 1, 0x10, f) != 0x10)
|
||||
fatal("scsi_cdrom_mode_sense_load(): Error reading data\n");
|
||||
fclose(f);
|
||||
}
|
||||
}
|
||||
|
@@ -86,6 +86,7 @@ static void ati18800_out(uint16_t addr, uint8_t val, void *p)
|
||||
{
|
||||
case 0xb0:
|
||||
svga_recalctimings(svga);
|
||||
break;
|
||||
case 0xb2:
|
||||
case 0xbe:
|
||||
if (ati18800->regs[0xbe] & 8) /*Read/write bank mode*/
|
||||
|
@@ -523,6 +523,10 @@ hndl_poly(pgc_t *pgc)
|
||||
#ifdef ENABLE_IM1024_LOG
|
||||
im1024_log("IM1024: POLY: out of memory\n");
|
||||
#endif
|
||||
if (x)
|
||||
free(x);
|
||||
if (y)
|
||||
free(y);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -933,11 +933,15 @@ loadfont(wchar_t *s, int format)
|
||||
case 1: /* PC200 */
|
||||
for (d = 0; d < 4; d++) {
|
||||
/* There are 4 fonts in the ROM */
|
||||
for (c = 0; c < 256; c++) /* 8x14 MDA in 8x16 cell */
|
||||
fread(&fontdatm[256*d + c][0], 1, 16, f);
|
||||
for (c = 0; c < 256; c++) { /* 8x14 MDA in 8x16 cell */
|
||||
if (fread(&fontdatm[256*d + c][0], 1, 16, f) != 16)
|
||||
fatal("loadfont(): Error reading 8x16 font in PC200 mode, c = %i\n", c);
|
||||
}
|
||||
for (c = 0; c < 256; c++) { /* 8x8 CGA in 8x16 cell */
|
||||
fread(&fontdat[256*d + c][0], 1, 8, f);
|
||||
fseek(f, 8, SEEK_CUR);
|
||||
if (fread(&fontdat[256*d + c][0], 1, 8, f) != 8)
|
||||
fatal("loadfont(): Error reading 8x8 font in PC200 mode, c = %i\n", c);
|
||||
if (fseek(f, 8, SEEK_CUR) == -1)
|
||||
fatal("loadfont(): Error seeking in PC200 mode, c = %i\n", c);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1015,7 +1019,7 @@ loadfont(wchar_t *s, int format)
|
||||
/* The second 4k holds an 8x16 font */
|
||||
for (c = 0; c < 256; c++) {
|
||||
if (fread(&fontdatm[c][0], 1, 16, f) != 16)
|
||||
fatal("loadfont(): Error reading font file in Sigma Coloar 400 mdoe, c = %i\n", c);
|
||||
fatal("loadfont(): Error reading 8x16 font in Sigma Color 400 mode, c = %i\n", c);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user