trunk/src/mame/drivers/cps1.c
r241546 | r241547 | |
4002 | 4002 | ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) ) |
4003 | 4003 | |
4004 | 4004 | ROM_REGION( 0x0200, "bboardplds", 0 ) |
4005 | | ROM_LOAD( "sth63b.1a", 0x0000, 0x0117, NO_DUMP ) |
| 4005 | ROM_LOAD( "sth63b.1a", 0x0000, 0x0117, BAD_DUMP CRC(c706b773) SHA1(ddfe2e747637eec081a5125cfefcb478a4ba9e76) ) /* Handcrafted but works on actual PCB. Redump needed */ |
4006 | 4006 | ROM_LOAD( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) ) |
4007 | 4007 | ROM_LOAD( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) ) |
4008 | 4008 | |
r241546 | r241547 | |
4483 | 4483 | ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) ) |
4484 | 4484 | |
4485 | 4485 | ROM_REGION( 0x0200, "bboardplds", 0 ) |
4486 | | ROM_LOAD( "ara63b.1a", 0x0000, 0x0117, NO_DUMP ) |
| 4486 | ROM_LOAD( "ara63b.1a", 0x0000, 0x0117, BAD_DUMP CRC(f5569c93) SHA1(7db7cf23639036590eef1e5e309f08560859efaf) ) /* Handcrafted but works on actual PCB. Redump needed */ |
4487 | 4487 | ROM_LOAD( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) ) |
4488 | 4488 | ROM_LOAD( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) ) |
4489 | 4489 | |
trunk/src/mame/drivers/naomi.c
r241546 | r241547 | |
493 | 493 | Capcom Vs. SNK Millennium Fight 2000 841-0011C 23511 7 (128Mb) 315-6219 present 317-5059-COM (000802) |
494 | 494 | Capcom Vs. SNK Millennium Fight 2000 (Rev A) 841-0011C 23511A 7 (128Mb) 315-6219 present 317-5059-COM (000804) |
495 | 495 | Capcom Vs. SNK Millennium Fight 2000 (Rev C) 841-0011C 23511C 7 (128Mb) 315-6319 present 317-5059-COM (000904) |
496 | | Club Kart: European Session 840-0062C 23704 11 (128Mb) 315-6319A present 317-0313-COM |
497 | | Club Kart: European Session (Rev D) 840-0062C 21473D 11 (128Mb) 315-6319A present 317-0313-COM |
| 496 | Club Kart: European Session (Rev E) 840-0062C 23704E 11 (128Mb) 315-6319A present 317-0313-COM |
| 497 | Club Kart: European Session (Rev D) 840-0062C 23704D 11 (128Mb) 315-6319A present 317-0313-COM |
| 498 | Club Kart: European Session (Rev C) 840-0062C 23704C 11 (128Mb) 315-6319A present 317-0313-COM |
498 | 499 | Crackin' DJ 840-0043C 23450D 10 (128Mb) 315-6319 present ? |
499 | 500 | Derby Owners Club II (Rev B) 840-0083C 22306B 11 (128Mb) 315-6319A present not present |
500 | 501 | Derby Owners Club World Edition (Rev C) 840-0088C 22336C 7 (128Mb) 315-6319A present not present |
r241546 | r241547 | |
7917 | 7918 | NAOMI_DEFAULT_EEPROM |
7918 | 7919 | |
7919 | 7920 | ROM_REGION( 0xb800000, "rom_board", ROMREGION_ERASEFF) |
7920 | | ROM_LOAD( "epr-21473d.ic22",0x0000000, 0x0400000, CRC(60ac770c) SHA1(2f1688f2046e794d1c1e06912b46c1573d934608) ) |
| 7921 | ROM_LOAD( "epr-23704d.ic22",0x0000000, 0x0400000, CRC(60ac770c) SHA1(2f1688f2046e794d1c1e06912b46c1573d934608) ) |
7921 | 7922 | ROM_LOAD( "mpr-23693.ic1", 0x0800000, 0x1000000, CRC(28995764) SHA1(a1457f9935dde2e5aaa5ef245c736c0f2f8c74b7) ) |
7922 | 7923 | ROM_LOAD( "mpr-23694.ic2", 0x1800000, 0x1000000, CRC(37d30111) SHA1(4c07df8cd548cac79d48709e61f692d762471f8f) ) |
7923 | 7924 | ROM_LOAD( "mpr-23695.ic3", 0x2800000, 0x1000000, CRC(41ac1510) SHA1(01b889b627fdfc1f12a0c84fcc36debdfb1cf377) ) |
r241546 | r241547 | |
7934 | 7935 | ROM_LOAD( "clubkrte-key.bin", 0, 4, CRC(db426a5d) SHA1(6a6a0b80ec0416605541159efea379dc19fe796d) ) |
7935 | 7936 | ROM_END |
7936 | 7937 | |
| 7938 | ROM_START( clubkrtc ) |
| 7939 | NAOMI2_BIOS |
| 7940 | NAOMI_DEFAULT_EEPROM |
| 7941 | |
| 7942 | ROM_REGION( 0xb800000, "rom_board", ROMREGION_ERASEFF) |
| 7943 | ROM_LOAD( "epr-23704c.ic22",0x0000000, 0x0400000, CRC(45ea13c3) SHA1(48cddba0506010dc705f04457f784a1d455ef3a6) ) |
| 7944 | ROM_LOAD( "mpr-23693.ic1", 0x0800000, 0x1000000, CRC(28995764) SHA1(a1457f9935dde2e5aaa5ef245c736c0f2f8c74b7) ) |
| 7945 | ROM_LOAD( "mpr-23694.ic2", 0x1800000, 0x1000000, CRC(37d30111) SHA1(4c07df8cd548cac79d48709e61f692d762471f8f) ) |
| 7946 | ROM_LOAD( "mpr-23695.ic3", 0x2800000, 0x1000000, CRC(41ac1510) SHA1(01b889b627fdfc1f12a0c84fcc36debdfb1cf377) ) |
| 7947 | ROM_LOAD( "mpr-23696.ic4", 0x3800000, 0x1000000, CRC(6f2da455) SHA1(b655757bc513398820bfeae07dca8a4f3ea9752c) ) |
| 7948 | ROM_LOAD( "mpr-23697.ic5", 0x4800000, 0x1000000, CRC(1383c742) SHA1(6efd17632a277a4bb0e47cc912fbc9865a8b14c3) ) |
| 7949 | ROM_LOAD( "mpr-23698.ic6", 0x5800000, 0x1000000, CRC(da79cd06) SHA1(fdfe068caca1eb764dec28ab327e56b39144f3ae) ) |
| 7950 | ROM_LOAD( "mpr-23699.ic7", 0x6800000, 0x1000000, CRC(ea77f000) SHA1(35aa8ee804d9429e72f516137a3b06c585a57b6d) ) |
| 7951 | ROM_LOAD( "mpr-23700.ic8", 0x7800000, 0x1000000, CRC(db9e5c1d) SHA1(db918c0fa1860f4345806e574d44354aba5fcd54) ) |
| 7952 | ROM_LOAD( "mpr-23701.ic9", 0x8800000, 0x1000000, CRC(0fa92fd7) SHA1(67a1cf085101884a17a4783d0d509ab198aa6425) ) |
| 7953 | ROM_LOAD( "mpr-23702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) ) |
| 7954 | ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) ) |
| 7955 | |
| 7956 | ROM_REGION( 4, "rom_key", 0 ) |
| 7957 | ROM_LOAD( "clubkrte-key.bin", 0, 4, CRC(db426a5d) SHA1(6a6a0b80ec0416605541159efea379dc19fe796d) ) |
| 7958 | ROM_END |
| 7959 | |
7937 | 7960 | ROM_START( clubkprz ) |
7938 | 7961 | NAOMI2_BIOS |
7939 | 7962 | NAOMI_DEFAULT_EEPROM |
r241546 | r241547 | |
8929 | 8952 | /* 0046 */ GAME( 2001, wldrider, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Wild Riders (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) |
8930 | 8953 | /* 0061 */ GAME( 2001, vstrik3c, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart, Rev C)", GAME_FLAGS ) |
8931 | 8954 | /* 0061 */ GAME( 2001, vstrik3cb,vstrik3c,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart, Rev B)", GAME_FLAGS ) |
8932 | | /* 0062 */ GAME( 2001, clubkrte, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session", GAME_FLAGS ) |
| 8955 | /* 0062 */ GAME( 2001, clubkrte, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev E)", GAME_FLAGS ) |
8933 | 8956 | /* 0062 */ GAME( 2001, clubkrtd, clubkrte,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev D)", GAME_FLAGS ) |
| 8957 | /* 0062 */ GAME( 2001, clubkrtc, clubkrte,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev C)", GAME_FLAGS ) |
8934 | 8958 | /* 0080 */ GAME( 2002, vf4cart, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Cartridge)", GAME_FLAGS ) |
8935 | 8959 | /* 0087 */ GAME( 2002, kingrt66, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "King of Route 66 (Rev A)", GAME_FLAGS ) |
8936 | 8960 | /* 0095 */ GAME( 2002, soulsurf, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Soul Surfer (Rev A)", GAME_FLAGS ) |
trunk/src/mame/video/konamigx.c
r241546 | r241547 | |
276 | 276 | #define GX_MAX_OBJECTS (GX_MAX_SPRITES + GX_MAX_LAYERS) |
277 | 277 | |
278 | 278 | static struct GX_OBJ { int order, offs, code, color; } *gx_objpool; |
279 | | static UINT16 *gx_spriteram; |
280 | 279 | |
281 | | // mirrored K054338 settings |
282 | | static int *K054338_shdRGB; |
283 | | |
284 | | |
285 | 280 | void konamigx_state::konamigx_mixer_init(screen_device &screen, int objdma) |
286 | 281 | { |
287 | 282 | m_gx_objdma = 0; |
r241546 | r241547 | |
291 | 286 | m_gx_shdzbuf = auto_alloc_array(machine(), UINT8, GX_ZBUFSIZE); |
292 | 287 | gx_objpool = auto_alloc_array(machine(), struct GX_OBJ, GX_MAX_OBJECTS); |
293 | 288 | |
294 | | m_k054338->export_config(&K054338_shdRGB); |
| 289 | m_k054338->export_config(&m_K054338_shdRGB); |
295 | 290 | |
296 | 291 | if (objdma) |
297 | 292 | { |
298 | | gx_spriteram = auto_alloc_array(machine(), UINT16, 0x1000/2); |
| 293 | m_gx_spriteram = auto_alloc_array(machine(), UINT16, 0x1000/2); |
299 | 294 | m_gx_objdma = 1; |
300 | 295 | } |
301 | 296 | else |
302 | | m_k055673->k053247_get_ram(&gx_spriteram); |
| 297 | m_k055673->k053247_get_ram(&m_gx_spriteram); |
303 | 298 | |
304 | 299 | m_palette->set_shadow_dRGB32(3,-80,-80,-80, 0); |
305 | 300 | m_k054338->invert_alpha(1); |
r241546 | r241547 | |
315 | 310 | UINT16* k053247_ram; |
316 | 311 | m_k055673->k053247_get_ram(&k053247_ram); |
317 | 312 | |
318 | | if (m_gx_objdma && gx_spriteram && k053247_ram) memcpy(gx_spriteram, k053247_ram, 0x1000); |
| 313 | if (m_gx_objdma && m_gx_spriteram && k053247_ram) memcpy(m_gx_spriteram, k053247_ram, 0x1000); |
319 | 314 | } |
320 | 315 | |
321 | 316 | void konamigx_state::konamigx_mixer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, |
r241546 | r241547 | |
416 | 411 | // only enable shadows beyond a +/-7 RGB threshold |
417 | 412 | for (j=0,i=0; i<3; j+=3,i++) |
418 | 413 | { |
419 | | k = K054338_shdRGB[j ]; if (k < -7 || k > 7) { shadowon[i] = 1; continue; } |
420 | | k = K054338_shdRGB[j+1]; if (k < -7 || k > 7) { shadowon[i] = 1; continue; } |
421 | | k = K054338_shdRGB[j+2]; if (k < -7 || k > 7) { shadowon[i] = 1; } |
| 414 | k = m_K054338_shdRGB[j ]; if (k < -7 || k > 7) { shadowon[i] = 1; continue; } |
| 415 | k = m_K054338_shdRGB[j+1]; if (k < -7 || k > 7) { shadowon[i] = 1; continue; } |
| 416 | k = m_K054338_shdRGB[j+2]; if (k < -7 || k > 7) { shadowon[i] = 1; } |
422 | 417 | } |
423 | 418 | |
424 | 419 | // SHDON specifies layers on which shadows can be projected (see detail on p.65 7.2.8) |
r241546 | r241547 | |
496 | 491 | { |
497 | 492 | int pri = 0; |
498 | 493 | |
499 | | if (!(gx_spriteram[offs] & 0x8000)) continue; |
| 494 | if (!(m_gx_spriteram[offs] & 0x8000)) continue; |
500 | 495 | |
501 | | int zcode = gx_spriteram[offs] & 0xff; |
| 496 | int zcode = m_gx_spriteram[offs] & 0xff; |
502 | 497 | |
503 | 498 | // invert z-order when opset_pri is set (see p.51 OPSET PRI) |
504 | 499 | if (m_k053247_opset & 0x10) zcode = 0xff - zcode; |
505 | 500 | |
506 | | int code = gx_spriteram[offs+1]; |
507 | | int color = k = gx_spriteram[offs+6]; |
508 | | l = gx_spriteram[offs+7]; |
| 501 | int code = m_gx_spriteram[offs+1]; |
| 502 | int color = k = m_gx_spriteram[offs+6]; |
| 503 | l = m_gx_spriteram[offs+7]; |
509 | 504 | |
510 | 505 | m_k055673->m_k053247_cb(&code, &color, &pri); |
511 | 506 | |
r241546 | r241547 | |
869 | 864 | |
870 | 865 | |
871 | 866 | m_k055673->k053247_draw_single_sprite_gxcore(bitmap, cliprect, |
872 | | m_gx_objzbuf, m_gx_shdzbuf, code, gx_spriteram, offs, |
| 867 | m_gx_objzbuf, m_gx_shdzbuf, code, m_gx_spriteram, offs, |
873 | 868 | color, alpha, drawmode, zcode, pri, |
874 | 869 | /* non-gx only */ |
875 | 870 | 0,0,NULL,NULL,0 |
r241546 | r241547 | |
927 | 922 | SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flip)); |
928 | 923 | } |
929 | 924 | |
930 | | static int konamigx_type3_psac2_actual_bank; |
931 | | //int konamigx_type3_psac2_actual_last_bank = 0; |
932 | 925 | |
933 | 926 | WRITE32_MEMBER(konamigx_state::konamigx_type3_psac2_bank_w) |
934 | 927 | { |
935 | 928 | // other bits are used for something... |
936 | 929 | |
937 | 930 | COMBINE_DATA(&m_konamigx_type3_psac2_bank[offset]); |
938 | | konamigx_type3_psac2_actual_bank = (m_konamigx_type3_psac2_bank[0] & 0x10000000) >> 28; |
| 931 | m_konamigx_type3_psac2_actual_bank = (m_konamigx_type3_psac2_bank[0] & 0x10000000) >> 28; |
939 | 932 | |
940 | 933 | /* handle this by creating 2 roz tilemaps instead, otherwise performance dies completely on dual screen mode |
941 | | if (konamigx_type3_psac2_actual_bank!=konamigx_type3_psac2_actual_last_bank) |
| 934 | if (m_konamigx_type3_psac2_actual_bank!=m_konamigx_type3_psac2_actual_last_bank) |
942 | 935 | { |
943 | 936 | m_gx_psac_tilemap->mark_all_dirty(); |
944 | | konamigx_type3_psac2_actual_last_bank = konamigx_type3_psac2_actual_bank; |
| 937 | m_konamigx_type3_psac2_actual_last_bank = m_konamigx_type3_psac2_actual_bank; |
945 | 938 | } |
946 | 939 | */ |
947 | 940 | } |
r241546 | r241547 | |
956 | 949 | |
957 | 950 | int base_index = tile_index; |
958 | 951 | |
959 | | // if (konamigx_type3_psac2_actual_bank) |
| 952 | // if (m_konamigx_type3_psac2_actual_bank) |
960 | 953 | // base_index+=0x20000/2; |
961 | 954 | |
962 | 955 | |
r241546 | r241547 | |
977 | 970 | |
978 | 971 | int base_index = tile_index; |
979 | 972 | |
980 | | // if (konamigx_type3_psac2_actual_bank) |
| 973 | // if (m_konamigx_type3_psac2_actual_bank) |
981 | 974 | // base_index+=0x20000/2; |
982 | 975 | |
983 | 976 | |
r241546 | r241547 | |
1432 | 1425 | temprect = cliprect; |
1433 | 1426 | temprect.max_x = cliprect.min_x+320; |
1434 | 1427 | |
1435 | | if (konamigx_type3_psac2_actual_bank == 1) K053936_0_zoom_draw(screen, *m_type3_roz_temp_bitmap, temprect,m_gx_psac_tilemap_alt, 0,0,0); // soccerss playfield |
| 1428 | if (m_konamigx_type3_psac2_actual_bank == 1) K053936_0_zoom_draw(screen, *m_type3_roz_temp_bitmap, temprect,m_gx_psac_tilemap_alt, 0,0,0); // soccerss playfield |
1436 | 1429 | else K053936_0_zoom_draw(screen, *m_type3_roz_temp_bitmap, temprect,m_gx_psac_tilemap, 0,0,0); // soccerss playfield |
1437 | 1430 | |
1438 | 1431 | |
trunk/src/mess/machine/coco.c
r241546 | r241547 | |
681 | 681 | /* determine the sound mux status */ |
682 | 682 | soundmux_status_t status = soundmux_status(); |
683 | 683 | |
| 684 | /* the SC77526 DAC chip internally biases the AC-coupled sound inputs for Cassette and Cartridge at the midpoint of the 3.9v output range */ |
| 685 | bool bCassSoundEnable = (status == (SOUNDMUX_ENABLE | SOUNDMUX_SEL1)); |
| 686 | bool bCartSoundEnable = (status == (SOUNDMUX_ENABLE | SOUNDMUX_SEL2)); |
| 687 | UINT8 cassette_sound = (bCassSoundEnable ? 0x40 : 0); |
| 688 | UINT8 cart_sound = (bCartSoundEnable ? 0x40 : 0); |
| 689 | |
684 | 690 | /* determine the value to send to the DAC */ |
685 | 691 | m_dac_output = (m_pia_1->a_output() & 0xFC) >> 2; |
686 | | UINT8 sound_output = single_bit_sound + (status == SOUNDMUX_ENABLE ? m_dac_output << 1 : 0); |
687 | | m_dac->write_unsigned8(sound_output); |
| 692 | UINT8 dac_sound = (status == SOUNDMUX_ENABLE ? m_dac_output << 1 : 0); |
| 693 | m_dac->write_unsigned8(single_bit_sound + dac_sound + cassette_sound + cart_sound); |
688 | 694 | |
689 | 695 | /* determine the cassette sound status */ |
690 | | cassette_state cas_sound = (status == (SOUNDMUX_ENABLE | SOUNDMUX_SEL1)) |
691 | | ? CASSETTE_SPEAKER_ENABLED |
692 | | : CASSETTE_SPEAKER_MUTED; |
| 696 | cassette_state cas_sound = bCassSoundEnable ? CASSETTE_SPEAKER_ENABLED : CASSETTE_SPEAKER_MUTED; |
693 | 697 | m_cassette->change_state(cas_sound, CASSETTE_MASK_SPEAKER); |
694 | 698 | |
695 | 699 | /* determine the cartridge sound status */ |
696 | | m_cococart->cart_set_line( |
697 | | COCOCART_LINE_SOUND_ENABLE, |
698 | | (status == (SOUNDMUX_ENABLE | SOUNDMUX_SEL2)) ? COCOCART_LINE_VALUE_ASSERT : COCOCART_LINE_VALUE_CLEAR); |
| 700 | m_cococart->cart_set_line(COCOCART_LINE_SOUND_ENABLE, bCartSoundEnable ? COCOCART_LINE_VALUE_ASSERT : COCOCART_LINE_VALUE_CLEAR); |
699 | 701 | } |
700 | 702 | |
701 | 703 | |