src/mess/devices/ti99cart.c
| r8079 | r8080 | |
| 2026 | 2026 | if (me == MCERR_NONE) |
| 2027 | 2027 | result = pcb->assemble(image); |
| 2028 | 2028 | else |
| 2029 | | fatalerror("Error loading multicart: %s\n", multicart_error_text(me)); |
| 2029 | fatalerror("Error loading multicart: %s", multicart_error_text(me)); |
| 2030 | 2030 | |
| 2031 | 2031 | /* This is for legacy support. If we have no multicart left |
| 2032 | 2032 | but there are still legacy dumps, we switch to legacy mode. */ |
| r8079 | r8080 | |
| 2035 | 2035 | } |
| 2036 | 2036 | else |
| 2037 | 2037 | { |
| 2038 | | fatalerror("Error loading multicart: no pcb found.\n"); |
| 2038 | fatalerror("Error loading multicart: no pcb found."); |
| 2039 | 2039 | } |
| 2040 | 2040 | } |
| 2041 | 2041 | return result; |
| r8079 | r8080 | |
| 2079 | 2079 | cartslots->multi_slots--; |
| 2080 | 2080 | } |
| 2081 | 2081 | // else |
| 2082 | | // fatalerror("Lost pointer to multicart in cartridge. Report bug.\n"); |
| 2082 | // fatalerror("Lost pointer to multicart in cartridge. Report bug."); |
| 2083 | 2083 | } |
| 2084 | 2084 | else |
| 2085 | 2085 | { |
src/mess/devices/cartslot.c
| r8079 | r8080 | |
| 348 | 348 | else |
| 349 | 349 | { |
| 350 | 350 | if (me != MCERR_NOT_MULTICART) |
| 351 | | fatalerror("multicart error: %s\n", multicart_error_text(me)); |
| 351 | fatalerror("multicart error: %s", multicart_error_text(me)); |
| 352 | 352 | if (image_pcb(device) != NULL) |
| 353 | 353 | { |
| 354 | 354 | /* read from hash file */ |
| r8079 | r8080 | |
| 368 | 368 | |
| 369 | 369 | /* check for unknown PCB type */ |
| 370 | 370 | if ((mc != NULL) && (pcb_type == NULL)) |
| 371 | | fatalerror("Unknown PCB type \"%s\"\n", astring_c(&pcb_name)); |
| 371 | fatalerror("Unknown PCB type \"%s\"", astring_c(&pcb_name)); |
| 372 | 372 | } |
| 373 | 373 | else |
| 374 | 374 | { |
src/mess/devices/aescart.c
| r8079 | r8080 | |
| 415 | 415 | multicart_open_error me; |
| 416 | 416 | |
| 417 | 417 | if (pcbdev == NULL) |
| 418 | | fatalerror("Error loading multicart: no pcb found.\n"); |
| 418 | fatalerror("Error loading multicart: no pcb found."); |
| 419 | 419 | |
| 420 | 420 | /* If we are here, we have a multicart. */ |
| 421 | 421 | pcb = (aes_pcb_t *)pcbdev->token; |
| r8079 | r8080 | |
| 432 | 432 | for a quick access by the memory handlers. Every PCB defines an |
| 433 | 433 | own assembly method. */ |
| 434 | 434 | if (me != MCERR_NONE) |
| 435 | | fatalerror("Error loading multicart: %s\n", multicart_error_text(me)); |
| 435 | fatalerror("Error loading multicart: %s", multicart_error_text(me)); |
| 436 | 436 | |
| 437 | 437 | return pcb->assemble(pcbdev->machine, image); |
| 438 | 438 | } |
| r8079 | r8080 | |
| 472 | 472 | cart->mc = NULL; |
| 473 | 473 | } |
| 474 | 474 | // else |
| 475 | | // fatalerror("Lost pointer to multicart in cartridge. Report bug.\n"); |
| 475 | // fatalerror("Lost pointer to multicart in cartridge. Report bug."); |
| 476 | 476 | } |
| 477 | 477 | } |
| 478 | 478 | |
src/mess/mess.c
| r8079 | r8080 | |
| 93 | 93 | /* unload all images */ |
| 94 | 94 | image_unload_all(machine); |
| 95 | 95 | |
| 96 | | fatalerror_exitcode(machine, MAMERR_DEVICE, "Device %s load (%s) failed: %s\n", |
| 96 | fatalerror_exitcode(machine, MAMERR_DEVICE, "Device %s load (%s) failed: %s", |
| 97 | 97 | info.name, |
| 98 | 98 | image_basename, |
| 99 | 99 | image_err); |
| r8079 | r8080 | |
| 104 | 104 | /* no image... must this device be loaded? */ |
| 105 | 105 | if (info.must_be_loaded) |
| 106 | 106 | { |
| 107 | | fatalerror_exitcode(machine, MAMERR_DEVICE, "Driver requires that device \"%s\" must have an image to load\n", info.instance_name); |
| 107 | fatalerror_exitcode(machine, MAMERR_DEVICE, "Driver requires that device \"%s\" must have an image to load", info.instance_name); |
| 108 | 108 | } |
| 109 | 109 | } |
| 110 | 110 | |
src/mess/video/gbam345.c
| r8079 | r8080 | |
| 15 | 15 | |
| 16 | 16 | if(bpp == 4) |
| 17 | 17 | { |
| 18 | | fatalerror( "Screen mode 5 is not fully supported yet, contact MESSdev!\n" ); |
| 18 | fatalerror( "Screen mode 5 is not fully supported yet, contact MESSdev!" ); |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | draw_roz_bitmap_scanline(state, line2, y, DISPCNT_BG2_EN, state->BG2CNT, state->BG2X, state->BG2Y, state->BG2PA, state->BG2PB, state->BG2PC, state->BG2PD, &state->gfxBG2X, &state->gfxBG2Y, state->gfxBG2Changed, bpp); |
| r8079 | r8080 | |
| 86 | 86 | |
| 87 | 87 | if(bpp == 4) |
| 88 | 88 | { |
| 89 | | fatalerror( "Screen mode 5 is not fully supported yet, contact MESSdev!\n" ); |
| 89 | fatalerror( "Screen mode 5 is not fully supported yet, contact MESSdev!" ); |
| 90 | 90 | } |
| 91 | 91 | |
| 92 | 92 | draw_roz_bitmap_scanline(state, line2, y, DISPCNT_BG2_EN, state->BG2CNT, state->BG2X, state->BG2Y, state->BG2PA, state->BG2PB, state->BG2PC, state->BG2PD, &state->gfxBG2X, &state->gfxBG2Y, state->gfxBG2Changed, bpp); |
| r8079 | r8080 | |
| 210 | 210 | |
| 211 | 211 | if(bpp == 4) |
| 212 | 212 | { |
| 213 | | fatalerror( "Screen mode 5 is not fully supported yet, contact MESSdev!\n" ); |
| 213 | fatalerror( "Screen mode 5 is not fully supported yet, contact MESSdev!" ); |
| 214 | 214 | } |
| 215 | 215 | |
| 216 | 216 | if(state->DISPCNT & DISPCNT_WIN0_EN) |
src/mess/video/pc_cga.c
| r8079 | r8080 | |
| 490 | 490 | break; |
| 491 | 491 | |
| 492 | 492 | default: |
| 493 | | fatalerror("CGA: Bus width %d not supported\n", buswidth); |
| 493 | fatalerror("CGA: Bus width %d not supported", buswidth); |
| 494 | 494 | break; |
| 495 | 495 | } |
| 496 | 496 | |
| r8079 | r8080 | |
| 1302 | 1302 | break; |
| 1303 | 1303 | |
| 1304 | 1304 | default: |
| 1305 | | fatalerror("CGA: Bus width %d not supported\n", buswidth); |
| 1305 | fatalerror("CGA: Bus width %d not supported", buswidth); |
| 1306 | 1306 | break; |
| 1307 | 1307 | } |
| 1308 | 1308 | } else { |
| r8079 | r8080 | |
| 1322 | 1322 | break; |
| 1323 | 1323 | |
| 1324 | 1324 | default: |
| 1325 | | fatalerror("CGA: Bus width %d not supported\n", buswidth); |
| 1325 | fatalerror("CGA: Bus width %d not supported", buswidth); |
| 1326 | 1326 | break; |
| 1327 | 1327 | } |
| 1328 | 1328 | |
src/mess/video/gba.c
| r8079 | r8080 | |
| 98 | 98 | |
| 99 | 99 | static void invalid_gba_draw_function(running_machine *machine, gba_state *state, int y, UINT32* line0, UINT32* line1, UINT32* line2, UINT32* line3, UINT32* lineOBJ, UINT32* lineOBJWin, UINT32* lineMix, int aux) |
| 100 | 100 | { |
| 101 | | fatalerror( "Invalid screen mode (6 or 7)!\n" ); |
| 101 | fatalerror( "Invalid screen mode (6 or 7)!" ); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | 104 | static void draw_roz_bitmap_scanline(gba_state *state, UINT32 *scanline, int ypos, UINT32 enablemask, UINT32 ctrl, INT32 X, INT32 Y, INT32 PA, INT32 PB, INT32 PC, INT32 PD, INT32 *currentx, INT32 *currenty, int changed, int depth) |
src/mess/machine/gdrom.c
| r8079 | r8080 | |
| 135 | 135 | case 0x30: // CD_READ |
| 136 | 136 | if (command[1] & 1) |
| 137 | 137 | { |
| 138 | | fatalerror("GDROM: MSF mode used for CD_READ, unsupported\n"); |
| 138 | fatalerror("GDROM: MSF mode used for CD_READ, unsupported"); |
| 139 | 139 | return 0; |
| 140 | 140 | } |
| 141 | 141 | else |
| r8079 | r8080 | |
| 148 | 148 | |
| 149 | 149 | if (our_this->read_type != 2) // mode 1 |
| 150 | 150 | { |
| 151 | | fatalerror("GDROM: Unhandled read_type %d\n", our_this->read_type); |
| 151 | fatalerror("GDROM: Unhandled read_type %d", our_this->read_type); |
| 152 | 152 | } |
| 153 | 153 | |
| 154 | 154 | if (our_this->data_select != 2) // just sector data |
| 155 | 155 | { |
| 156 | | fatalerror("GDROM: Unhandled data_select %d\n", our_this->data_select); |
| 156 | fatalerror("GDROM: Unhandled data_select %d", our_this->data_select); |
| 157 | 157 | } |
| 158 | 158 | |
| 159 | 159 | printf("GDROM: CD_READ at LBA %x for %d blocks (%d bytes, read type %d, data select %d)\n", our_this->lba, our_this->blocks, our_this->blocks * our_this->bytes_per_sector, our_this->read_type, our_this->data_select); |
src/mess/machine/nes.c
| r8079 | r8080 | |
| 697 | 697 | // unfortunately, the MAPR chunk is not always the first chunk (see Super 24-in-1) |
| 698 | 698 | /* Preliminary checks: the first chunk MUST be MAPR! */ |
| 699 | 699 | if (read_length == 0x20 && ((magic2[0] != 'M') || (magic2[1] != 'A') || (magic2[2] != 'P') || (magic2[3] != 'R'))) |
| 700 | | fatalerror("First chunk of data in UNIF should be [MAPR]. Check if your image has been corrupted\n"); |
| 700 | fatalerror("First chunk of data in UNIF should be [MAPR]. Check if your image has been corrupted"); |
| 701 | 701 | |
| 702 | 702 | /* Preliminary checks: multiple MAPR chunks are FORBIDDEN! */ |
| 703 | 703 | if (read_length > 0x20 && ((magic2[0] == 'M') && (magic2[1] == 'A') && (magic2[2] == 'P') && (magic2[3] == 'R'))) |
| 704 | | fatalerror("UNIF should not have multiple [MAPR] chunks. Check if your image has been corrupted\n"); |
| 704 | fatalerror("UNIF should not have multiple [MAPR] chunks. Check if your image has been corrupted"); |
| 705 | 705 | #endif |
| 706 | 706 | |
| 707 | 707 | /* we first run through the whole image to find a [MAPR] chunk */ |
| r8079 | r8080 | |
| 723 | 723 | |
| 724 | 724 | if (unif_board == NULL) |
| 725 | 725 | { |
| 726 | | fatalerror("Unsupported UNIF board %s.\n", unif_mapr); |
| 726 | fatalerror("Unsupported UNIF board %s.", unif_mapr); |
| 727 | 727 | // logerror("Unsupported UNIF board %s.\n", unif_mapr); |
| 728 | 728 | } |
| 729 | 729 | |
| r8079 | r8080 | |
| 877 | 877 | /* Validation */ |
| 878 | 878 | prg_left -= chunk_length; |
| 879 | 879 | if (prg_left < 0) |
| 880 | | fatalerror("PRG chunks larger than expected by board %s!\n", unif_mapr); |
| 880 | fatalerror("PRG chunks larger than expected by board %s!", unif_mapr); |
| 881 | 881 | |
| 882 | 882 | /* Read in the program chunks */ |
| 883 | 883 | if (state->prg_chunks == 1) |
| r8079 | r8080 | |
| 902 | 902 | /* validation */ |
| 903 | 903 | chr_left -= chunk_length; |
| 904 | 904 | if (chr_left < 0) |
| 905 | | fatalerror("CHR chunks larger than expected by board %s!\n", unif_mapr); |
| 905 | fatalerror("CHR chunks larger than expected by board %s!", unif_mapr); |
| 906 | 906 | |
| 907 | 907 | /* Read in the vrom chunks */ |
| 908 | 908 | image_fread(image, state->vrom + chr_start, chunk_length); |
| r8079 | r8080 | |
| 919 | 919 | } while (size > read_length); |
| 920 | 920 | |
| 921 | 921 | if (!mapr_chunk_found ) |
| 922 | | fatalerror("UNIF should have a [MAPR] chunk to work. Check if your image has been corrupted\n"); |
| 922 | fatalerror("UNIF should have a [MAPR] chunk to work. Check if your image has been corrupted"); |
| 923 | 923 | |
| 924 | 924 | logerror("UNIF support is only very preliminary.\n"); |
| 925 | 925 | } |
| r8079 | r8080 | |
| 946 | 946 | |
| 947 | 947 | // validate the xml fields |
| 948 | 948 | if (!prg_size) |
| 949 | | fatalerror("No PRG entry for this software! Please check if the xml list got corrupted\n"); |
| 949 | fatalerror("No PRG entry for this software! Please check if the xml list got corrupted"); |
| 950 | 950 | if (prg_size < 0x4000) |
| 951 | | fatalerror("PRG entry is too small! Please check if the xml list got corrupted\n"); |
| 951 | fatalerror("PRG entry is too small! Please check if the xml list got corrupted"); |
| 952 | 952 | |
| 953 | 953 | if (chr_size) |
| 954 | 954 | memory_region_alloc(image->machine, "gfx1", chr_size, 0); |
src/mess/formats/d64_dsk.c
| r8079 | r8080 | |
| 420 | 420 | gcr_track_size = sectors_per_track * SECTOR_SIZE_GCR; |
| 421 | 421 | gcr_track_data = (UINT8 *)alloca(gcr_track_size); |
| 422 | 422 | |
| 423 | | if (buflen < gcr_track_size) fatalerror("D64 track buffer too small: %u!\n", (UINT32)buflen); |
| 423 | if (buflen < gcr_track_size) fatalerror("D64 track buffer too small: %u!", (UINT32)buflen); |
| 424 | 424 | |
| 425 | 425 | /* read D64 track data */ |
| 426 | 426 | floppy_image_read(floppy, d64_track_data, track_offset, d64_track_size); |