diff options
author | Cowering <cowering@users.noreply.github.com> | 2014-10-22 11:48:39 -0500 |
---|---|---|
committer | Cowering <cowering@users.noreply.github.com> | 2014-10-22 11:48:39 -0500 |
commit | abd3f590e4ccd2f34647fb9854f2a65d90ab77fc (patch) | |
tree | 9d65372a5f3a942dd4ced15ac05385e06e70cc1b | |
parent | 3d2bf25dcf04a92c444c092dbb6bb00c08f1716f (diff) | |
parent | 3fbe8c843fce686d1d6af78b6bed8d7cb4f64a61 (diff) |
Merge branch 'master' of https://github.com/mamedev/mame
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | hash/megadriv.xml | 72 | ||||
-rw-r--r-- | src/emu/bus/coco/coco_dwsock.c | 4 | ||||
-rw-r--r-- | src/emu/bus/intv/ecs.c | 2 | ||||
-rw-r--r-- | src/emu/machine/diablo_hd.h | 4 | ||||
-rw-r--r-- | src/emu/sound/ay8910.c | 39 | ||||
-rw-r--r-- | src/emu/video/upd7220.c | 2 | ||||
-rw-r--r-- | src/mame/drivers/champbwl.c | 31 | ||||
-rw-r--r-- | src/mame/drivers/mcr.c | 32 | ||||
-rw-r--r-- | src/mame/drivers/naomi.c | 8 | ||||
-rw-r--r-- | src/mame/drivers/rainbow.c | 4 | ||||
-rw-r--r-- | src/mame/drivers/suna8.c | 119 | ||||
-rw-r--r-- | src/mame/drivers/tmnt.c | 37 | ||||
-rw-r--r-- | src/mame/includes/suna8.h | 9 | ||||
-rw-r--r-- | src/mame/mame.lst | 2 | ||||
-rw-r--r-- | src/mame/video/n64.c | 1 | ||||
-rw-r--r-- | src/mess/drivers/apple2.c | 2 | ||||
-rw-r--r-- | src/mess/drivers/pentagon.c | 8 | ||||
-rw-r--r-- | src/mess/video/nes.c | 2 | ||||
-rw-r--r-- | src/mess/video/spectrum.c | 13 | ||||
-rw-r--r-- | src/osd/windows/windows.mak | 2 |
22 files changed, 248 insertions, 147 deletions
diff --git a/.gitattributes b/.gitattributes index 5af4f0b6df5..8ed64ccc8cf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ * text=auto !eol +*.jed binary *.png -text svneol=unset#image/png *.txt svneol=native#text/plain *.xml svneol=native#text/xml diff --git a/.gitignore b/.gitignore index 7b159471fc4..25555ffc5eb 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ /cfg /depend_*.mak /diff +/ini /nvram /obj /snap diff --git a/hash/megadriv.xml b/hash/megadriv.xml index f2b3dee340a..cc17ffcfa1a 100644 --- a/hash/megadriv.xml +++ b/hash/megadriv.xml @@ -17338,18 +17338,18 @@ but dumps still have to be confirmed. <software name="madden98"> <description>Madden NFL 98 (USA)</description> - <year>1997</year>
- <publisher>Electronic Arts</publisher>
- <part name="cart" interface="megadriv_cart">
- <feature name="slot" value="rom_sram"/>
- <dataarea name="rom" width="16" endianness="big" size="2097152">
- <rom name="madden nfl 98 (usa).bin" size="2097152" crc="e051ea62" sha1="761e0903798a8d0ad9e7ab72e6d2762fc9d366d2" offset="0x000000"/>
- </dataarea>
- <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. -->
- </dataarea>
- </part>
- </software>
-
+ <year>1997</year> + <publisher>Electronic Arts</publisher> + <part name="cart" interface="megadriv_cart"> + <feature name="slot" value="rom_sram"/> + <dataarea name="rom" width="16" endianness="big" size="2097152"> + <rom name="madden nfl 98 (usa).bin" size="2097152" crc="e051ea62" sha1="761e0903798a8d0ad9e7ab72e6d2762fc9d366d2" offset="0x000000"/> + </dataarea> + <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. --> + </dataarea> + </part> + </software> + <software name="madoumon"> <description>Madou Monogatari I (Jpn)</description> <year>1996</year> @@ -19663,18 +19663,18 @@ Notice that these are not working on real hardware due to bugged code with VDP i <software name="nhl98"> <description>NHL 98 (USA)</description> - <year>1997</year>
- <publisher>Electronic Arts</publisher>
- <part name="cart" interface="megadriv_cart">
- <feature name="slot" value="rom_sram"/>
- <dataarea name="rom" width="16" endianness="big" size="2097152">
- <rom name="nhl 98 (usa).bin" size="2097152" crc="7b64cd98" sha1="6771e9b660bde010cf28656cafb70f69249a3591" offset="0x000000"/>
- </dataarea>
- <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. -->
- </dataarea>
- </part>
- </software>
-
+ <year>1997</year> + <publisher>Electronic Arts</publisher> + <part name="cart" interface="megadriv_cart"> + <feature name="slot" value="rom_sram"/> + <dataarea name="rom" width="16" endianness="big" size="2097152"> + <rom name="nhl 98 (usa).bin" size="2097152" crc="7b64cd98" sha1="6771e9b660bde010cf28656cafb70f69249a3591" offset="0x000000"/> + </dataarea> + <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. --> + </dataarea> + </part> + </software> + <software name="nhlasp03" cloneof="nhlas"> <description>NHL All-Star Hockey '95 (Prototype, 19941201-B)</description> <year>1994</year> @@ -30698,18 +30698,18 @@ Notice that these are not working on real hardware due to bugged code with VDP i <software name="nhlpa2k3" cloneof="nhl98"> <description>NHLPA 2003 (Rus)</description> - <year>199?</year>
- <publisher><unknown></publisher>
- <part name="cart" interface="megadriv_cart">
- <feature name="slot" value="rom_sram"/>
- <dataarea name="rom" width="16" endianness="big" size="2097152">
- <rom name="nhlpa 2003 (unl).bin" size="2097152" crc="4591571b" sha1="4e6dd50d0f671b89c4ce3f7d1a63ecb68208dc8e" offset="0x000000"/>
- </dataarea>
- <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. -->
- </dataarea>
- </part>
- </software>
-
+ <year>199?</year> + <publisher><unknown></publisher> + <part name="cart" interface="megadriv_cart"> + <feature name="slot" value="rom_sram"/> + <dataarea name="rom" width="16" endianness="big" size="2097152"> + <rom name="nhlpa 2003 (unl).bin" size="2097152" crc="4591571b" sha1="4e6dd50d0f671b89c4ce3f7d1a63ecb68208dc8e" offset="0x000000"/> + </dataarea> + <dataarea name="sram" size="65536"> <!-- Size to be confirmed. It does not work without SRAM. --> + </dataarea> + </part> + </software> + <software name="pcarib" cloneof="unchartd"> <description>Pirates of the Caribbean (Rus)</description> <year>199?</year> diff --git a/src/emu/bus/coco/coco_dwsock.c b/src/emu/bus/coco/coco_dwsock.c index 176404da309..898872f645a 100644 --- a/src/emu/bus/coco/coco_dwsock.c +++ b/src/emu/bus/coco/coco_dwsock.c @@ -1,6 +1,8 @@ #include <stdio.h> #include <stdlib.h> +#ifdef __GNUC__ #include <unistd.h> +#endif #include <fcntl.h> #include <sys/types.h> @@ -23,7 +25,7 @@ const device_type COCO_DWSOCK = &device_creator<beckerport_device>; INPUT_PORTS_START( coco_drivewire ) PORT_START(DRIVEWIRE_PORT_TAG) PORT_CONFNAME( 0xffff, 65504, "Drivewire Server TCP Port") - PORT_CHANGED_MEMBER(DEVICE_SELF, beckerport_device, beckerport_device::drivewire_port_changed, NULL ) + PORT_CHANGED_MEMBER(DEVICE_SELF, beckerport_device, drivewire_port_changed, NULL ) PORT_CONFSETTING( 65500, "65500" ) PORT_CONFSETTING( 65501, "65501" ) PORT_CONFSETTING( 65502, "65502" ) diff --git a/src/emu/bus/intv/ecs.c b/src/emu/bus/intv/ecs.c index 4400b5e8839..d9146a73495 100644 --- a/src/emu/bus/intv/ecs.c +++ b/src/emu/bus/intv/ecs.c @@ -151,7 +151,7 @@ UINT8 intv_ecs_device::intv_control_r(int hand) } break; - case 1: /* disc == _fake_ analog */ + case 4: /* disc == _fake_ analog */ x = m_discx[hand]->read(); y = m_discy[hand]->read(); diff --git a/src/emu/machine/diablo_hd.h b/src/emu/machine/diablo_hd.h index 0de3970b5c9..f6ef1ab9ce2 100644 --- a/src/emu/machine/diablo_hd.h +++ b/src/emu/machine/diablo_hd.h @@ -175,6 +175,6 @@ private: }; #define MCFG_DIABLO_DRIVES_ADD() \ - MCFG_DEVICE_ADD(DIABLO_HD_0, DIABLO_HD, ATTOSECONDS_TO_HZ(attotime::from_nsec(300).as_double())) \ - MCFG_DEVICE_ADD(DIABLO_HD_1, DIABLO_HD, ATTOSECONDS_TO_HZ(attotime::from_nsec(300).as_double())) + MCFG_DEVICE_ADD(DIABLO_HD_0, DIABLO_HD, 3333333) \ + MCFG_DEVICE_ADD(DIABLO_HD_1, DIABLO_HD, 3333333) #endif // !defined(_DIABLO_HD_DEVICE_) diff --git a/src/emu/sound/ay8910.c b/src/emu/sound/ay8910.c index 4dc95182a1d..ab954219845 100644 --- a/src/emu/sound/ay8910.c +++ b/src/emu/sound/ay8910.c @@ -431,17 +431,21 @@ static const ay8910_device::mosfet_param ay8910_mosfet_param = INLINE void build_3D_table(double rl, const ay8910_device::ay_ym_param *par, const ay8910_device::ay_ym_param *par_env, int normalize, double factor, int zero_is_off, INT32 *tab) { - int j, j1, j2, j3, e, indx; - double rt, rw, n; double min = 10.0, max = 0.0; dynamic_array<double> temp(8*32*32*32); - for (e=0; e < 8; e++) - for (j1=0; j1 < 32; j1++) - for (j2=0; j2 < 32; j2++) - for (j3=0; j3 < 32; j3++) + for (int e=0; e < 8; e++) + { + const ay8910_device::ay_ym_param *par_ch1 = (e & 0x01) ? par_env : par; + const ay8910_device::ay_ym_param *par_ch2 = (e & 0x02) ? par_env : par; + const ay8910_device::ay_ym_param *par_ch3 = (e & 0x04) ? par_env : par; + + for (int j1=0; j1 < par_ch1->res_count; j1++) + for (int j2=0; j2 < par_ch2->res_count; j2++) + for (int j3=0; j3 < par_ch3->res_count; j3++) { + double n; if (zero_is_off) { n = (j1 != 0 || (e & 0x01)) ? 1 : 0; @@ -451,32 +455,33 @@ INLINE void build_3D_table(double rl, const ay8910_device::ay_ym_param *par, con else n = 3.0; - rt = n / par->r_up + 3.0 / par->r_down + 1.0 / rl; - rw = n / par->r_up; + double rt = n / par->r_up + 3.0 / par->r_down + 1.0 / rl; + double rw = n / par->r_up; - rw += 1.0 / ( (e & 0x01) ? par_env->res[j1] : par->res[j1]); - rt += 1.0 / ( (e & 0x01) ? par_env->res[j1] : par->res[j1]); - rw += 1.0 / ( (e & 0x02) ? par_env->res[j2] : par->res[j2]); - rt += 1.0 / ( (e & 0x02) ? par_env->res[j2] : par->res[j2]); - rw += 1.0 / ( (e & 0x04) ? par_env->res[j3] : par->res[j3]); - rt += 1.0 / ( (e & 0x04) ? par_env->res[j3] : par->res[j3]); + rw += 1.0 / par_ch1->res[j1]; + rt += 1.0 / par_ch1->res[j1]; + rw += 1.0 / par_ch2->res[j2]; + rt += 1.0 / par_ch2->res[j2]; + rw += 1.0 / par_ch3->res[j3]; + rt += 1.0 / par_ch3->res[j3]; - indx = (e << 15) | (j3<<10) | (j2<<5) | j1; + int indx = (e << 15) | (j3<<10) | (j2<<5) | j1; temp[indx] = rw / rt; if (temp[indx] < min) min = temp[indx]; if (temp[indx] > max) max = temp[indx]; } + } if (normalize) { - for (j=0; j < 32*32*32*8; j++) + for (int j=0; j < 32*32*32*8; j++) tab[j] = MAX_OUTPUT * (((temp[j] - min)/(max-min))) * factor; } else { - for (j=0; j < 32*32*32*8; j++) + for (int j=0; j < 32*32*32*8; j++) tab[j] = MAX_OUTPUT * temp[j]; } diff --git a/src/emu/video/upd7220.c b/src/emu/video/upd7220.c index f211eb84854..9d1ff062c09 100644 --- a/src/emu/video/upd7220.c +++ b/src/emu/video/upd7220.c @@ -1587,7 +1587,7 @@ void upd7220_device::update_graphics(bitmap_rgb32 &bitmap, const rectangle &clip addr = ((sad << 1) & 0x3ffff) + (y * m_pitch * 2); if (!m_display_cb.isnull()) - draw_graphics_line(bitmap, addr, y + (bsy >> !im), wd); + draw_graphics_line(bitmap, addr, y + (im ? bsy : (bsy >> 1)), wd); } } else diff --git a/src/mame/drivers/champbwl.c b/src/mame/drivers/champbwl.c index 4213cac3398..89ddec1af4d 100644 --- a/src/mame/drivers/champbwl.c +++ b/src/mame/drivers/champbwl.c @@ -155,15 +155,23 @@ Notes: #include "sound/x1_010.h" #include "machine/nvram.h" #include "machine/ticket.h" -#include "includes/tnzs.h" +#include "video/seta001.h" -class champbwl_state : public tnzs_state +class champbwl_state : public driver_device { public: champbwl_state(const machine_config &mconfig, device_type type, const char *tag) - : tnzs_state(mconfig, type, tag), + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_seta001(*this, "spritegen"), + m_palette(*this, "palette"), m_x1(*this, "x1snd") { } + int m_screenflip;
+ + required_device<cpu_device> m_maincpu;
+ required_device<seta001_device> m_seta001;
+ required_device<palette_device> m_palette; required_device<x1_010_device> m_x1; UINT8 m_last_trackball_val[2]; DECLARE_READ8_MEMBER(trackball_r); @@ -172,12 +180,24 @@ public: DECLARE_MACHINE_START(champbwl); DECLARE_MACHINE_RESET(champbwl); DECLARE_MACHINE_START(doraemon); + DECLARE_PALETTE_INIT(champbwl);
UINT32 screen_update_champbwl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_doraemon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void screen_eof_champbwl(screen_device &screen, bool state); void screen_eof_doraemon(screen_device &screen, bool state); }; +PALETTE_INIT_MEMBER(champbwl_state,champbwl) +{ + const UINT8 *color_prom = memregion("proms")->base(); + int i, col; + + for (i = 0; i < palette.entries(); i++) + { + col = (color_prom[i] << 8) + color_prom[i + 512]; + palette.set_pen_color(i, pal5bit(col >> 10), pal5bit(col >> 5), pal5bit(col >> 0)); + } +} READ8_MEMBER(champbwl_state::trackball_r) @@ -443,7 +463,6 @@ MACHINE_START_MEMBER(champbwl_state,champbwl) MACHINE_RESET_MEMBER(champbwl_state,champbwl) { m_screenflip = 0; - m_mcu_type = -1; m_last_trackball_val[0] = 0; m_last_trackball_val[1] = 0; @@ -497,7 +516,7 @@ static MACHINE_CONFIG_START( champbwl, champbwl_state ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", champbwl) MCFG_PALETTE_ADD("palette", 512) - MCFG_PALETTE_INIT_OWNER(champbwl_state,arknoid2) + MCFG_PALETTE_INIT_OWNER(champbwl_state,champbwl) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") @@ -562,7 +581,7 @@ static MACHINE_CONFIG_START( doraemon, champbwl_state ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", champbwl) MCFG_PALETTE_ADD("palette", 512) - MCFG_PALETTE_INIT_OWNER(champbwl_state,arknoid2) + MCFG_PALETTE_INIT_OWNER(champbwl_state,champbwl) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c index ecb9b296f7e..667bd80399e 100644 --- a/src/mame/drivers/mcr.c +++ b/src/mame/drivers/mcr.c @@ -2248,6 +2248,37 @@ ROM_START( tron4 ) ROM_LOAD( "0066-314bx-xxqx.g12.bin", 0x0000, 0x0001, NO_DUMP) ROM_END +ROM_START( tronger ) + ROM_REGION( 0x10000, "maincpu", 0 ) /* ROM's located on the Super CPU Board (90010) */ + ROM_LOAD( "pro0.d2", 0x0000, 0x2000, CRC(ba14603d) SHA1(1cc30c4ea659926314343f00ccbcfe9021f4de26) ) + ROM_LOAD( "scpu_pgb.d3", 0x2000, 0x2000, CRC(063a748f) SHA1(aefe647e9b562d6a9da1ec32a9d403fce7e62012) )// sldh + ROM_LOAD( "scpu_pgc.d4", 0x4000, 0x2000, CRC(6ca50365) SHA1(76e17284da7c3ddf752d67b5e80d3c145f64068e) )// sldh + ROM_LOAD( "scpu_pgd.d5", 0x6000, 0x2000, CRC(b5b241c9) SHA1(4a9bde02387365912b3e9878428c8aa1f87a365a) )// sldh + ROM_LOAD( "scpu_pge.d6", 0x8000, 0x2000, CRC(04597abe) SHA1(7a896b9415a2479da8519329568e5fb8a429d03e) )// sldh + ROM_LOAD( "scpu_pgf.d7", 0xa000, 0x2000, CRC(3908e404) SHA1(d61b73c87ba4b0ab8751d9c653b663b1342d5d73) )// sldh + + ROM_REGION( 0x10000, "ssio:cpu", 0 ) /* ROM's located on the Super Sound I/O Board (90913) */ + ROM_LOAD( "ssi_0a.a7", 0x0000, 0x1000, CRC(765e6eba) SHA1(42efeefc8571dfc237c0be3368248f1e56add92e) ) + ROM_LOAD( "ssi_0b.a8", 0x1000, 0x1000, CRC(1b90ccdd) SHA1(0876e5eeaa63bb8cc97f3634a6ddd8a29a9b012f) ) + ROM_LOAD( "ssi_0c.a9", 0x2000, 0x1000, CRC(3a4bc629) SHA1(ce8452a99a313ae7429de471bbea39de08c9fd4b) ) + + ROM_REGION( 0x04000, "gfx1", 0 ) /* ROM's located on the Super CPU Board (90010) */ + ROM_LOAD( "scpu_bgg.g3", 0x0000, 0x2000, CRC(1a9ed2f5) SHA1(b0d85b47873ac8ad475da18b9540d37232cb2b7c) ) + ROM_LOAD( "scpu_bgh.g4", 0x2000, 0x2000, CRC(3220f974) SHA1(a38ea5f1db27f05d9689db838ce7a8de98f34837) ) + + ROM_REGION( 0x08000, "gfx2", 0 ) /* ROM's located on the MCR/II Video Gen Board (91399) */ + ROM_LOAD( "vga.e1", 0x0000, 0x2000, CRC(bc036d1d) SHA1(c5d54d0b80ac768ccf6fdd32cad1ef6359fa324c) ) + ROM_LOAD( "vgb.dc1", 0x2000, 0x2000, CRC(58ee14d3) SHA1(5fb4268c9c73bdfc3b1e866618979aea3f219bbc) ) + ROM_LOAD( "vgc.cb1", 0x4000, 0x2000, CRC(3329f9d4) SHA1(11f4d744374e475d2c5b195a9f70888414529dd3) ) + ROM_LOAD( "vga.a1", 0x6000, 0x2000, CRC(9743f873) SHA1(71ed80ecd8caaf9fce1d7010f95c4678c9bd7102) ) + + ROM_REGION( 0x0005, "scpu_pals", 0) /* PAL's located on the Super CPU Board (90010) */ + ROM_LOAD( "0066-313bx-xxqx.a12.bin", 0x0000, 0x0001, NO_DUMP) + ROM_LOAD( "0066-315bx-xxqx.b12.bin", 0x0000, 0x0001, NO_DUMP) + ROM_LOAD( "0066-322bx-xx0x.e3.bin", 0x0000, 0x0001, NO_DUMP) + ROM_LOAD( "0066-316bx-xxqx.g11.bin", 0x0000, 0x0001, NO_DUMP) + ROM_LOAD( "0066-314bx-xxqx.g12.bin", 0x0000, 0x0001, NO_DUMP) +ROM_END ROM_START( kroozr ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -2903,6 +2934,7 @@ GAME( 1982, tron, 0, mcr_90010, tron, mcr_state, mcr_90010, R GAME( 1982, tron2, tron, mcr_90010, tron, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (6/25)", GAME_SUPPORTS_SAVE ) GAME( 1982, tron3, tron, mcr_90010, tron3, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (6/17)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1982, tron4, tron, mcr_90010, tron3, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (6/15)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) +GAME( 1982, tronger, tron, mcr_90010, tron3, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (Germany)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL ) GAME( 1982, domino, 0, mcr_90010, domino, mcr_state, mcr_90010, ROT0, "Bally Midway", "Domino Man", GAME_SUPPORTS_SAVE ) GAME( 1982, wacko, 0, mcr_90010, wacko, mcr_state, wacko, ROT0, "Bally Midway", "Wacko", GAME_SUPPORTS_SAVE ) GAME( 1984, twotigerc,twotiger, mcr_90010, twotigrc, mcr_state, mcr_90010, ROT0, "Bally Midway", "Two Tigers (Tron conversion)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c index ad63aacc3d5..1e439fd66be 100644 --- a/src/mame/drivers/naomi.c +++ b/src/mame/drivers/naomi.c @@ -438,7 +438,7 @@ Games known to use this PCB include.... Sticker EPROM MASKROMs 25LC040 A54SX32 Game on cart IC11# # of SOP44 IC13S# IC1# Notes ---------------------------------------------------------------------------------------------------------------------------- -Club Kart Prize 840-0129C ? 16 (64Mb) present 317-0368-COM no sticker on ic11 +Club Kart Prize 840-0129C 24082A 16 (64Mb) present 317-0368-COM Club Kart Prize Ver. B 840-0137C 24149 16 (64Mb) present 317-0368-COM Giant Gram 2000 840-0039C 23377 20 (64Mb) present 317-0296-COM Kick '4' Cash 840-0140C 24212 16 (64Mb) present 317-0397-COM @@ -2852,7 +2852,9 @@ Scan ROM for the text string "LOADING TEST MODE NOW" back up four (4) bytes for ROM_SYSTEM_BIOS( 0, "bios0", "HOTD2 (Export)" ) \ ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21331.ic27", 0x000000, 0x200000, CRC(065f8500) SHA1(49a3881e8d76f952ef5e887200d77b4a415d47fe) ) \ ROM_SYSTEM_BIOS( 1, "bios1", "HOTD2 (USA)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21330.ic27", 0x000000, 0x200000, CRC(9e3bfa1b) SHA1(b539d38c767b0551b8e7956c1ff795de8bbe2fbc) ) + ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21330.ic27", 0x000000, 0x200000, CRC(9e3bfa1b) SHA1(b539d38c767b0551b8e7956c1ff795de8bbe2fbc) ) \ + ROM_SYSTEM_BIOS( 2, "bios2", "HOTD2 (Proto)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 2, "hotd2biosproto.ic27", 0x000000, 0x200000, CRC(ea74e967) SHA1(e4d037480eb6555d335a8ab9cd6c56122335586d) ) #define F355_BIOS \ ROM_REGION( 0x200000, "maincpu", 0) \ @@ -7937,7 +7939,7 @@ ROM_START( clubkprz ) NAOMI_DEFAULT_EEPROM ROM_REGION( 0x9000000, "rom_board", ROMREGION_ERASEFF) - ROM_LOAD( "epr-24065.ic11", 0x000000, 0x400000, CRC(7c331cb8) SHA1(f7e1cffbad576482a91bc1dc9129c689f0bebb25) ) + ROM_LOAD( "epr-24082a.ic11", 0x000000, 0x400000, CRC(7c331cb8) SHA1(f7e1cffbad576482a91bc1dc9129c689f0bebb25) ) ROM_LOAD32_WORD( "opr-24066.17s", 0x1000000, 0x800000, CRC(b22cfa7b) SHA1(e0f795dc9d3a2dd1869f85f3eedd0f8d703a1be8) ) ROM_LOAD32_WORD( "opr-24067.18", 0x1000002, 0x800000, CRC(0d2d1290) SHA1(a26fa82fc87d6ed60095b2e778b649fcbb8bb1ee) ) ROM_LOAD32_WORD( "opr-24068.19s", 0x2000000, 0x800000, CRC(d320009b) SHA1(76677eacd18770d091fc19e31be3d84410ed3256) ) diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c index 7f1910b8da5..9d3e275e6ad 100644 --- a/src/mame/drivers/rainbow.c +++ b/src/mame/drivers/rainbow.c @@ -842,6 +842,7 @@ ROM_START( jumping ) ROM_REGION( 0x200, "pals", 0 ) ROM_LOAD( "jumping-pal16r6.bin", 0x000, 0x104, CRC(12e9a7b8) SHA1(a0ce8b6083c9adfcb4bdbca87f63a01f292525f3) ) ROM_LOAD( "jumping-pal20l8.bin", 0x000, 0x144, CRC(76944f81) SHA1(ab78e4e157ffdc13aea5dc360268b2640e60d19c) ) + ROM_LOAD( "pal16l8a.ic51.bin", 0x000, 0x104, CRC(c1e6cb8f) SHA1(9908e62bb9b806047b7a344bb62334bd696b9fc8) ) // z80 address decoder? ROM_END ROM_START( jumpinga ) @@ -873,7 +874,7 @@ ROM_START( jumpinga ) ROM_REGION( 0xa0000, "gfx2", ROMREGION_INVERT ) ROM_LOAD( "jb2_ic62", 0x00000, 0x10000, CRC(8548db6c) SHA1(675cd301259d5ed16098a38ac58b27b5ccd91264) ) /* sprites */ - ROM_LOAD( "jb2_ic61", 0x10000, 0x10000, CRC(37c5923b) SHA1(c83ef45564c56ef62d7019aecbd79dccc671deee) ) + ROM_LOAD( "20.bin", 0x10000, 0x10000, CRC(89b3d8ee) SHA1(8491de6e8292e58b9a8696be15827bcb1ea42845) ) // dumped multiple times, always the same ROM_LOAD( "jb2_ic60", 0x20000, 0x08000, CRC(662a2f1e) SHA1(1c5e8b1f0623e64faf9cd60f9653fc5957191a9b) ) ROM_LOAD( "jb2_ic78", 0x28000, 0x10000, CRC(925865e1) SHA1(457de50bc03e8b949ac7d46ae4188201e87574a8) ) ROM_LOAD( "jb2_ic77", 0x38000, 0x10000, CRC(b09695d1) SHA1(e6d315f9befb7b47f42668d573a1102e52d78aea) ) @@ -888,6 +889,7 @@ ROM_START( jumpinga ) ROM_REGION( 0x200, "pals", 0 ) ROM_LOAD( "jumping-pal16r6.bin", 0x000, 0x104, CRC(12e9a7b8) SHA1(a0ce8b6083c9adfcb4bdbca87f63a01f292525f3) ) ROM_LOAD( "jumping-pal20l8.bin", 0x000, 0x144, CRC(76944f81) SHA1(ab78e4e157ffdc13aea5dc360268b2640e60d19c) ) + ROM_LOAD( "pal16l8a.ic51.bin", 0x000, 0x104, CRC(c1e6cb8f) SHA1(9908e62bb9b806047b7a344bb62334bd696b9fc8) ) // z80 address decoder? ROM_END diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c index 450f7046d3c..3d3cb21d812 100644 --- a/src/mame/drivers/suna8.c +++ b/src/mame/drivers/suna8.c @@ -86,14 +86,11 @@ DRIVER_INIT_MEMBER(suna8_state,hardhedb) UINT8 *suna8_state::brickzn_decrypt() { - address_space &space = m_maincpu->space(AS_PROGRAM); UINT8 *RAM = memregion("maincpu")->base(); size_t size = memregion("maincpu")->bytes(); UINT8 *decrypt = auto_alloc_array(machine(), UINT8, size); int i; - space.set_decrypted_region(0x0000, 0x7fff, decrypt); - /* Opcodes and data */ for (i = 0; i < 0x50000; i++) { @@ -133,80 +130,59 @@ UINT8 *suna8_state::brickzn_decrypt() DRIVER_INIT_MEMBER(suna8_state,brickzn) { - UINT8 *RAM = memregion("maincpu")->base(); - UINT8 *decrypt = brickzn_decrypt(); - int i; - - // Opcodes decrypted as data (to do: activated at run-time) - for (i = 0; i < 0x8000; i++) - { - if ( ((i >= 0x072b) && (i <= 0x076f)) || - ((i >= 0x45c5) && (i <= 0x45e4)) || - ((i >= 0x7393) && (i <= 0x73ba)) || - ((i >= 0x7a79) && (i <= 0x7aa9)) ) - { - decrypt[i] = RAM[i]; - } - } + m_decrypt = brickzn_decrypt(); // !!!!!! PATCHES !!!!!! // To do: ROM banking should be disabled here - decrypt[0x11bb] = 0x00; // LD ($C040),A -> NOP - decrypt[0x11bc] = 0x00; // LD ($C040),A -> NOP - decrypt[0x11bd] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x11bb] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x11bc] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x11bd] = 0x00; // LD ($C040),A -> NOP - decrypt[0x3349] = 0xc9; // RET Z -> RET (to avoid: jp $C800) + m_decrypt[0x3349] = 0xc9; // RET Z -> RET (to avoid: jp $C800) // NMI enable / source?? - decrypt[0x1431] = 0xc9; // HALT -> RET - decrypt[0x24b5] = 0x00; // HALT -> NOP - decrypt[0x2593] = 0x00; // HALT -> NOP + m_decrypt[0x1431] = 0xc9; // HALT -> RET + m_decrypt[0x24b5] = 0x00; // HALT -> NOP + m_decrypt[0x2593] = 0x00; // HALT -> NOP + + // Non-banked opcodes + address_space &space = m_maincpu->space(AS_PROGRAM); + space.set_decrypted_region(0x0000, 0x7fff, m_decrypt); // Data banks: 00-0f normal data decryption, 10-1f alternate data decryption: membank("bank1")->configure_entries(0, 16*2, memregion("maincpu")->base() + 0x10000, 0x4000); // Opcode banks: 00-1f normal opcode decryption: - membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000); - membank("bank1")->configure_decrypted_entries(16, 16, decrypt + 0x10000, 0x4000); + membank("bank1")->configure_decrypted_entries(0, 16, m_decrypt + 0x10000, 0x4000); + membank("bank1")->configure_decrypted_entries(16, 16, m_decrypt + 0x10000, 0x4000); } DRIVER_INIT_MEMBER(suna8_state,brickznv4) { - UINT8 *RAM = memregion("maincpu")->base(); - UINT8 *decrypt = brickzn_decrypt(); - int i; - - // Opcodes decrypted as data (to do: activated at run-time) - for (i = 0; i < 0x8000; i++) - { - if ( ((i >= 0x072b) && (i <= 0x076f)) || - ((i >= 0x4541) && (i <= 0x4560)) || - ((i >= 0x72f3) && (i <= 0x7322)) || - ((i >= 0x79d9) && (i <= 0x7a09)) ) - { - decrypt[i] = RAM[i]; - } - } - + m_decrypt = brickzn_decrypt(); // !!!!!! PATCHES !!!!!! // To do: ROM banking should be disabled here - decrypt[0x1190] = 0x00; // LD ($C040),A -> NOP - decrypt[0x1191] = 0x00; // LD ($C040),A -> NOP - decrypt[0x1192] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x1190] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x1191] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x1192] = 0x00; // LD ($C040),A -> NOP - decrypt[0x3337] = 0xc9; // RET Z -> RET (to avoid: jp $C800) + m_decrypt[0x3337] = 0xc9; // RET Z -> RET (to avoid: jp $C800) // NMI enable / source?? - decrypt[0x1406] = 0xc9; // HALT -> RET - decrypt[0x2487] = 0x00; // HALT -> NOP - decrypt[0x256c] = 0x00; // HALT -> NOP + m_decrypt[0x1406] = 0xc9; // HALT -> RET + m_decrypt[0x2487] = 0x00; // HALT -> NOP + m_decrypt[0x256c] = 0x00; // HALT -> NOP + + // Non-banked opcodes + address_space &space = m_maincpu->space(AS_PROGRAM); + space.set_decrypted_region(0x0000, 0x7fff, m_decrypt); // Data banks: 00-0f normal data decryption, 10-1f alternate data decryption: membank("bank1")->configure_entries(0, 16*2, memregion("maincpu")->base() + 0x10000, 0x4000); // Opcode banks: 00-1f normal opcode decryption: - membank("bank1")->configure_decrypted_entries(0, 16, decrypt + 0x10000, 0x4000); - membank("bank1")->configure_decrypted_entries(16, 16, decrypt + 0x10000, 0x4000); + membank("bank1")->configure_decrypted_entries(0, 16, m_decrypt + 0x10000, 0x4000); + membank("bank1")->configure_decrypted_entries(16, 16, m_decrypt + 0x10000, 0x4000); } @@ -700,7 +676,9 @@ READ8_MEMBER(suna8_state::brickzn_cheats_r) */ WRITE8_MEMBER(suna8_state::brickzn_multi_w) { - if ((m_protection_val & 0xfc) == 0x88 || (m_protection_val & 0xfc) == 0x8c) + int protselect = m_protection_val & 0xfc; + + if ((protselect == 0x88) || (protselect == 0x8c)) { m_palettebank = data & 0x01; @@ -713,7 +691,7 @@ WRITE8_MEMBER(suna8_state::brickzn_multi_w) logerror("CPU #0 - PC %04X: soundlatch = %02X\n",space.device().safe_pc(),data); } - else if ((m_protection_val & 0xfc) == 0x04) + else if (protselect == 0x04) { set_led_status(machine(), 0, data & 0x01); set_led_status(machine(), 1, data & 0x02); @@ -722,16 +700,7 @@ WRITE8_MEMBER(suna8_state::brickzn_multi_w) logerror("CPU #0 - PC %04X: leds = %02X\n",space.device().safe_pc(),data); if (data & ~0x07) logerror("CPU #0 - PC %04X: unknown leds bits: %02X\n",space.device().safe_pc(),data); } - else if ((m_protection_val & 0xfc) == 0x9c) - { - // controls opcode decryption - // see code at 71b, 45b7, 7380, 7a6b - - // To be done: run-time opcode decryption change. Done in driver_init for now. - - logerror("CPU #0 - PC %04X: op-decrypt = %02X\n",space.device().safe_pc(),data); - } - else if ((m_protection_val & 0xfc) == 0x80) + else if (protselect == 0x80) { // disables rom banking? // see code at 11b1: @@ -742,6 +711,28 @@ WRITE8_MEMBER(suna8_state::brickzn_multi_w) { logerror("CPU #0 - PC %04X: ignore = %02X\n",space.device().safe_pc(),data); } + + if ((m_protection_val & 0x1f) == 0x1c) + { + // controls opcode decryption + // see code at 71b, 45b7, 7380, 7a6b + //printf("CPU #0 - PC %04X: alt op-decrypt tog = %02X\n",space.device().safe_pc(),data); + m_prot_opcode_toggle ^= 1; + + if (m_prot_opcode_toggle == 0) + { + address_space &space = m_maincpu->space(AS_PROGRAM); + space.set_decrypted_region(0x0000, 0x7fff, m_decrypt); + } + else + { + address_space &space = m_maincpu->space(AS_PROGRAM); + space.set_decrypted_region(0x0000, 0x7fff, memregion("maincpu")->base()); + } + + + } + } /* diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c index 987bcab55fe..55b83b16dad 100644 --- a/src/mame/drivers/tmnt.c +++ b/src/mame/drivers/tmnt.c @@ -2894,6 +2894,42 @@ ROM_START( tmhta ) ROM_LOAD( "963a25.d5", 0x00000, 0x80000, CRC(fca078c7) SHA1(3e1124d72c9db4cb11d8de6c44b7aeca967f44e1) ) ROM_END + +ROM_START( tmhtb ) // the code is closest to tmntua near the start, and the data is closest to all the UK sets, especially tmhta, so I'm guessing it's a UK revision of the tmntua codebase + ROM_REGION( 0x60000, "maincpu", 0 ) /* 2*128k and 2*64k for 68000 code */ + ROM_LOAD16_BYTE( "unk3.i17", 0x00000, 0x20000, CRC(537eb047) SHA1(97e6dbc486c7d057355db7fcbdc0a2c2cad2c653) ) + ROM_LOAD16_BYTE( "unk4.k17", 0x00001, 0x20000, CRC(5afae564) SHA1(8d5fbf9530ad8d095c12b7e0f8c499c1436c4d47) ) + ROM_LOAD16_BYTE( "unk2.j15", 0x40000, 0x10000, CRC(ee34de05) SHA1(507d7fb178dbbe87dd373a81ad3f350ee2f7d923)) + ROM_LOAD16_BYTE( "unk1.k15", 0x40001, 0x10000, NO_DUMP ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "963e20.g13", 0x00000, 0x08000, CRC(1692a6d6) SHA1(68c3419012b2863e91a7d7e479fce5ceabb10b88) ) + + ROM_REGION( 0x100000, "k052109", 0 ) /* tiles */ + ROM_LOAD32_WORD( "963a28.h27", 0x000000, 0x80000, CRC(db4769a8) SHA1(810811914f9c1fbf2320d5a9030cbf124f6d78cf) ) + ROM_LOAD32_WORD( "963a29.k27", 0x000002, 0x80000, CRC(8069cd2e) SHA1(54095d3546119ccd1e8814d692aceb1327c9369f) ) + + ROM_REGION( 0x200000, "k051960", 0 ) /* sprites */ + ROM_LOAD32_WORD( "963a17.h4", 0x000000, 0x80000, CRC(b5239a44) SHA1(84e94807e7c51aa652b4e4b827b36be59a53d0d6) ) + ROM_LOAD32_WORD( "963a15.k4", 0x000002, 0x80000, CRC(1f324eed) SHA1(971a675578518fffa341a943d0cc4fdea005fde0) ) + ROM_LOAD32_WORD( "963a18.h6", 0x100000, 0x80000, CRC(dd51adef) SHA1(5010c0911b0b9e4f23a785e8a751a0bde5be5be0) ) + ROM_LOAD32_WORD( "963a16.k6", 0x100002, 0x80000, CRC(d4bd9984) SHA1(d780ae7f72e16767c3a492544f02f0f1a332ab22) ) + + ROM_REGION( 0x0200, "proms", 0 ) + ROM_LOAD( "963a30.g7", 0x0000, 0x0100, CRC(abd82680) SHA1(945a71e6ec65202f13209b45d45b616372d6c0f5) ) /* sprite address decoder */ + ROM_LOAD( "963a31.g19", 0x0100, 0x0100, CRC(f8004a1c) SHA1(ed6694b8eebfe0238b50ebd05007d519f6e57b1b) ) /* priority encoder (not used) */ + + ROM_REGION( 0x20000, "k007232", 0 ) /* 128k for the samples */ + ROM_LOAD( "963a26.c13", 0x00000, 0x20000, CRC(e2ac3063) SHA1(5bb294c46fb5eaba9935a18c0aa5d3931168f474) ) /* samples for 007232 */ + + ROM_REGION( 0x20000, "upd", 0 ) /* 128k for the samples */ + ROM_LOAD( "963a27.d18", 0x00000, 0x20000, CRC(2dfd674b) SHA1(bbec5896c70056964fbc972a84bd5b0dfc6af257) ) /* samples for UPD7759C */ + + ROM_REGION( 0x80000, "title", 0 ) /* 512k for the title music sample */ + ROM_LOAD( "963a25.d5", 0x00000, 0x80000, CRC(fca078c7) SHA1(3e1124d72c9db4cb11d8de6c44b7aeca967f44e1) ) +ROM_END + + ROM_START( tmntj ) ROM_REGION( 0x60000, "maincpu", 0 ) /* 2*128k and 2*64k for 68000 code */ ROM_LOAD16_BYTE( "963_223.j17", 0x00000, 0x20000, CRC(0d34a5ff) SHA1(a387f3e7c727dc66ebb0e1f40e4ab8dc83f647e5) ) @@ -4066,6 +4102,7 @@ GAME( 1989, tmntu, tmnt, tmnt, tmnt, tmnt_state, tmnt, GAME( 1989, tmntua, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 2)", GAME_SUPPORTS_SAVE ) GAME( 1989, tmht, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 1)", GAME_SUPPORTS_SAVE ) GAME( 1989, tmhta, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1989, tmhtb, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK?, unknown revision)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // incomplete dump GAME( 1990, tmntj, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 4 Players)", GAME_SUPPORTS_SAVE ) GAME( 1989, tmht2p, tmnt, tmnt, tmnt2p, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 1)", GAME_SUPPORTS_SAVE ) GAME( 1989, tmht2pa, tmnt, tmnt, tmnt2p, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 2)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h index 466471c0cb4..2b886eebe95 100644 --- a/src/mame/includes/suna8.h +++ b/src/mame/includes/suna8.h @@ -16,7 +16,10 @@ public: m_samples(*this, "samples"), m_gfxdecode(*this, "gfxdecode"), m_screen(*this, "screen"), - m_palette(*this, "palette") { } + m_palette(*this, "palette"), + + m_prot_opcode_toggle(0) + { } required_device<cpu_device> m_maincpu; optional_shared_ptr<UINT8> m_hardhead_ip; @@ -41,7 +44,9 @@ public: UINT8 m_nmi_enable; UINT8 m_spritebank_latch; UINT8 m_write_disable; - + UINT8 m_prot_opcode_toggle; + UINT8* m_decrypt; + enum GFXBANK_TYPE_T { GFXBANK_TYPE_SPARKMAN, diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 9fbf1e7f640..25ab653103d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -1646,6 +1646,7 @@ tron // (c) 1982 tron2 // (c) 1982 tron3 // (c) 1982 tron4 // (c) 1982 +tronger // (c) 1982 kroozr // (c) 1982 domino // (c) 1982 wacko // (c) 1982 @@ -6437,6 +6438,7 @@ tmntu // GX963 (c) 1989 (US) tmntua // GX963 (c) 1989 (US) tmht // GX963 (c) 1989 (UK) tmhta // GX963 (c) 1989 (UK) +tmhtb // GX963 (c) 1989 (UK?) tmntj // GX963 (c) 1990 (Japan) tmht2p // GX963 (c) 1989 (UK) tmht2pa // GX963 (c) 1989 (UK) diff --git a/src/mame/video/n64.c b/src/mame/video/n64.c index 3d5592c1fa0..6edb92cb2c9 100644 --- a/src/mame/video/n64.c +++ b/src/mame/video/n64.c @@ -23,7 +23,6 @@ TODO: *******************************************************************************/ #include "emu.h" -#include "includes/n64.h" #include "video/n64.h" #define LOG_RDP_EXECUTION 0 diff --git a/src/mess/drivers/apple2.c b/src/mess/drivers/apple2.c index e69ecef172c..ba8766c5cd4 100644 --- a/src/mess/drivers/apple2.c +++ b/src/mess/drivers/apple2.c @@ -1790,7 +1790,7 @@ COMP( 1988, las128e2, apple2c, 0, laser128ex2, apple2e, driver_device, COMP( 1985, apple2c0, apple2c, 0, apple2c_iwm, apple2e, driver_device, 0, "Apple Computer", "Apple //c (UniDisk 3.5)", GAME_SUPPORTS_SAVE ) COMP( 1986, apple2c3, apple2c, 0, apple2c_iwm, apple2e, driver_device, 0, "Apple Computer", "Apple //c (Original Memory Expansion)", GAME_SUPPORTS_SAVE ) COMP( 1986, apple2c4, apple2c, 0, apple2c_iwm, apple2e, driver_device, 0, "Apple Computer", "Apple //c (rev 4)", GAME_SUPPORTS_SAVE ) -COMP( 1988, apple2cp, apple2c, 0, apple2cp, apple2e, driver_device, 0, "Apple Computer", "Apple //c Plus", GAME_SUPPORTS_SAVE ) +COMP( 1988, apple2cp, apple2c, 0, apple2cp, apple2e, driver_device, 0, "Apple Computer", "Apple //c Plus", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) COMP( 1984, ivelultr, apple2, 0, apple2p, apple2p, driver_device, 0, "Ivasim", "Ivel Ultra", GAME_SUPPORTS_SAVE ) COMP( 1983, agat7, apple2, 0, apple2p, apple2p, driver_device, 0, "Agat", "Agat-7", GAME_NOT_WORKING) // disk controller ROM JSRs to $FCA8 which is a delay on apple II, illegal instruction crash here :( COMP( 1984, agat9, apple2, 0, apple2p, apple2p, driver_device, 0, "Agat", "Agat-9", GAME_NOT_WORKING) diff --git a/src/mess/drivers/pentagon.c b/src/mess/drivers/pentagon.c index bce9ba0f1fc..7a0be7731fe 100644 --- a/src/mess/drivers/pentagon.c +++ b/src/mess/drivers/pentagon.c @@ -234,6 +234,14 @@ static MACHINE_CONFIG_DERIVED_CLASS( pentagon, spectrum_128, pentagon_state ) MCFG_BETA_DISK_ADD(BETA_DISK_TAG) MCFG_GFXDECODE_MODIFY("gfxdecode", pentagon) + MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") + + MCFG_SOUND_REPLACE("ay8912", AY8912, XTAL_14MHz / 8) + MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) + MCFG_SOUND_ROUTE(1, "lspeaker", 0.25) + MCFG_SOUND_ROUTE(1, "rspeaker", 0.25) + MCFG_SOUND_ROUTE(2, "rspeaker", 0.50) + MCFG_SOFTWARE_LIST_ADD("cass_list_pen","pentagon_cass") MACHINE_CONFIG_END diff --git a/src/mess/video/nes.c b/src/mess/video/nes.c index 64cb116df1e..0105c740e2b 100644 --- a/src/mess/video/nes.c +++ b/src/mess/video/nes.c @@ -50,7 +50,7 @@ UINT32 nes_state::screen_update_nes(screen_device &screen, bitmap_ind16 &bitmap, m_last_frame_flip = 1; } - if (!m_io_disksel->read_safe(1) & 0x01) + if (!(m_io_disksel->read_safe(1) & 0x01)) m_last_frame_flip = 0; } return 0; diff --git a/src/mess/video/spectrum.c b/src/mess/video/spectrum.c index 886974452c1..f26edf19cd0 100644 --- a/src/mess/video/spectrum.c +++ b/src/mess/video/spectrum.c @@ -197,22 +197,17 @@ void spectrum_state::spectrum_UpdateBorderBitmap() do { - if (m_previous_border_y < height) - { - UINT16* bm = &m_border_bitmap.pix16(m_previous_border_y); - - if (m_previous_border_x < width) - bm[m_previous_border_x] = colour; - } + UINT16* bm = &m_border_bitmap.pix16(m_previous_border_y); + bm[m_previous_border_x] = colour; m_previous_border_x += 1; - if (m_previous_border_x > width) + if (m_previous_border_x >= width) { m_previous_border_x = 0; m_previous_border_y += 1; - if (m_previous_border_y > height) + if (m_previous_border_y >= height) { m_previous_border_y = 0; } diff --git a/src/osd/windows/windows.mak b/src/osd/windows/windows.mak index fd06d406632..c4408475554 100644 --- a/src/osd/windows/windows.mak +++ b/src/osd/windows/windows.mak @@ -185,7 +185,7 @@ endif endif ifdef MSVC_ANALYSIS -CCOMFLAGS += /analyze /wd6011 /wd6328 /wd6204 /wd6244 /wd6385 /wd6308 /wd6246 /wd6031 /wd6326 /wd6255 /wd6330 /wd28251 /wd6054 /wd6340 /wd28125 /wd6053 /wd6001 /wd6386 /wd28278 /wd6297 /wd28183 /wd28159 /wd28182 /wd6237 /wd6239 /wd6240 /wd6323 /wd28199 /wd6235 /wd6285 /wd6286 /wd6384 /wd6293 /analyze:stacksize384112 +CCOMFLAGS += /analyze /wd6011 /wd6328 /wd6204 /wd6244 /wd6385 /wd6308 /wd6246 /wd6031 /wd6326 /wd6255 /wd6330 /wd28251 /wd6054 /wd6340 /wd28125 /wd6053 /wd6001 /wd6386 /wd28278 /wd6297 /wd28183 /wd28159 /wd28182 /wd6237 /wd6239 /wd6240 /wd6323 /wd28199 /wd6235 /wd6285 /wd6286 /wd6384 /wd6293 /analyze:stacksize1070232 endif # enable exception handling for C++ |