Merge branch 'master' of https://github.com/mamedev/mame into 101217

This commit is contained in:
David Haywood 2017-12-13 22:41:30 +00:00
commit af1650a24b
21 changed files with 799 additions and 321 deletions

View File

@ -4,7 +4,7 @@ The MAME License
The MAME project as a whole is distributed under the terms of the `GNU General Public License, version 2 or later <http://opensource.org/licenses/GPL-2.0>`_ (GPL-2.0+), since it contains code made available under multiple GPL-compatible licenses. A great majority of files (over 90% including core files) are under the `BSD-3-Clause License <http://opensource.org/licenses/BSD-3-Clause>`_ and we would encourage new contributors to distribute files under this license.
Please note that MAME is a registered trademark of Nicola Salmoria, and permission is required to use the "MAME" name, logo, or wordmark.
Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the "MAME" name, logo, or wordmark.
Copyright (C) 1997-2017 MAMEDev and contributors

View File

@ -8,7 +8,7 @@ MAME's purpose is to preserve decades of software history. As electronic technol
|
| **MAME(R)**
| **Copyright (c) 1997-2017 by Nicola Salmoria and the MAME team**
| **MAME is a trademark owned by Nicola Salmoria**
| **MAME is a trademark owned by Gregory Ember**
|

View File

@ -1,41 +1,192 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="ibm5170_cdrom" description="IBM PC/AT CD-ROM images">
<!-- -->
<!-- Games -->
<!-- -->
<software name="acercpr" supported="no">
<!-- Floppy dumped via Kryoflux, three tracks show as modified -->
<description>Acer CPR</description>
<year>1995</year>
<publisher>Acer America Corporation</publisher>
<info name="version" value="1.2a" /> <!-- floppy version 1.2a, CD version 1.2 -->
<software name="alieninc">
<!--
Alien Incident
English - French - German
Gametek(R) compro games
(C) 1996 Gametek UK
All rights reserved
Published by Gametek (UK), Ltd.
Hogarth House 29 - 31 Sheet St.
Windsor, SL4 1BY U.K.
Mastered by AMI American Multimedia, Inc.
GCR-102-0062 G2 960914
-->
<description>Alien Incident (Eng, Fre, Ger, Fin) (v1.30)</description>
<year>1996</year>
<publisher>Gametek</publisher>
<part name="flop1" interface="floppy_3_5">
<feature name="disk_label" value="Hard Drive Recovery Start-Up Diskette" />
<dataarea name="flop" size="1474560">
<rom name="acer cpr.img" size="1474560" crc="6f88a82a" sha1="a0afd6dcddbf6ae67d5c28c068af2fa9843dcb5f" offset="0" status="baddump" />
</dataarea>
</part>
<part name="cdrom" interface="cdrom">
<feature name="disk_label" value="Hard Drive Recovery" />
<diskarea name="cdrom">
<disk name="acercpr" sha1="a0f073387e661318eae2d1fdd30dfb116d1295ae" />
<disk name="gcr-102-0062" sha1="183949d162064c38a21d6a143a815af6760233fb" />
</diskarea>
</part>
</software>
<!-- Windows 95, Direct X 3.0 (in cdrom under Instdx.exe) -->
<software name="arabkid">
<description>Arabian Kid</description>
<year>1996</year>
<publisher>ASCII / Yellow Horn</publisher>
<info name="alt_title" value="あらびあんKid" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="kid" sha1="a837c3f4cde66b244bccbae22cb1cec83df6698d" />
</diskarea>
</part>
</software>
<software name="prototyp">
<description>Prototype</description>
<year>1995</year>
<publisher>Neo</publisher>
<info name="version" value="1.0" />
<!-- Pentium class 200 MHz / Direct X 7.0 / Windows 95 -->
<!-- TODO: invalid opcode exception after install -->
<software name="boorball" supported="no">
<description>Boorp's Balls</description>
<year>2001</year>
<publisher>Xpiral / TSY</publisher>
<info name="alt_title" value="ブーアプス ボール" />
<part name="cdrom" interface="cdrom">
<feature name="disk_label" value="Prototype" />
<diskarea name="cdrom">
<disk name="prototyp" sha1="0cdfabab37e5e9b219b3c8a381c937ae52749bb1" />
<disk name="booaps" sha1="58d2602ca37c40041a6b504857d4c3057e52e94d" />
</diskarea>
</part>
</software>
<!-- Pentium class 166 MHz / Direct X 7.0 -->
<!-- Windows 95/98/ME -->
<!-- TODO: some transparency issues -->
<software name="dobupanic" supported="partial">
<description>Doka Chan No Building Panic (Japan)</description>
<year>2001</year>
<publisher>MSD-JAPAN / Salva Corporation / D-YAMA</publisher>
<info name="alt_title" value="どかちゃんのビルパニック" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="bpanic" sha1="141b67f93b4d96be7c064d3603a5b961ed56f23b" />
</diskarea>
</part>
</software>
<!-- Windows 95 -->
<!-- 256 colors minimum -->
<software name="doom2j">
<description>Doom II for Windows 95 (Japan)</description>
<year>1996</year>
<publisher>Id Software / Imagineer</publisher>
<info name="alt_title" value="ドゥームII" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="doom2j" sha1="61dd4c9a81d4d354a14533dcbd257a5bcffd22c6" />
</diskarea>
</part>
</software>
<!-- Untouched image from original CD created with an ASUS DRW-1814BLT (EAC drive sample read offset reported as +6)
If you subtract 0x18 (4 * 6) bytes from a .wav extracted from this CHD the audio matches a rip done with EAC (verified) -->
<software name="krondor">
<description>Betrayal at Krondor (1994 release, CDDA)</description>
<year>1994</year>
<publisher>Dynamix</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="betrayal_at_krondor" sha1="f0d0907edccfc4f6ab4f181b0d2e9a3b18f81e73" />
</diskarea>
</part>
</software>
<software name="krondora" cloneof="krondor">
<description>Betrayal at Krondor (1998 release, no CDDA)</description>
<year>1998</year>
<publisher>Dynamix</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="betrayal_at_krondor_1998" sha1="d58acdb5bc10c2ad9a4b6dd51438102785c44216" />
</diskarea>
</part>
</software>
<!-- Windows 3.1 / Windows 95 -->
<!-- 256 colors minimum -->
<!-- TODO: gfx issues -->
<software name="gollygoal" supported="partial">
<description>Golly! Ghosts! Goal! (Japan)</description>
<year>1996</year>
<publisher>Namco</publisher>
<info name="alt_title" value="ゴーリーゴーストゴール!" />
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="ggg" sha1="ab7babc13b5ffb4536fc7a553753a9d12ec41103" />
</diskarea>
</part>
</software>
<!-- Untouched image from original CD created with an ASUS DRW-1814BLT (EAC drive sample read offset reported as +6)
If you subtract 0x18 (4 * 6) bytes from a .wav extracted from this CHD the audio matches a rip done with EAC (verified) -->
<software name="kingsq6e">
<description>King's Quest VI (Windows 3.1 enhanced)</description>
<year>1993</year>
<publisher>Sierra</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="kings_quest_6_enhanced" sha1="0d237ee8c2d15be3b47f3676eddce41a00bca094" />
</diskarea>
</part>
</software>
<!-- Windows 3.1/95 -->
<software name="noiangi">
<description>Noi Siamo Angeli (Italian)</description>
<year>1997</year>
<publisher>Smile Interactive</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<!-- no disc label, arbitrary renamed -->
<disk name="bud" sha1="053ed238459721e9b62b9c045af6d8931a223095" />
</diskarea>
</part>
</software>
<software name="noiangd" cloneof="noiangi">
<description>We Are Angels - Ein Engel schlägt zu! (German)</description>
<year>1997</year>
<publisher>Smile Interactive</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="970618_1330" sha1="29ea81c4760934194099fbd0c2a94239b487a400" />
</diskarea>
</part>
</software>
<!-- Windows 3.1 / Mac LCIII -->
<software name="orgaslave">
<description>Orgaslave</description>
<year>1996</year>
<publisher>Kuki</publisher>
<info name="alt_title" value="オルガスレイブ" />
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="cd1" sha1="60c4be022959c6b108c096780451ba102b488b00" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="cd2" sha1="11e9986c9b33aeee9cc42fc623f2909f9883ae49" />
</diskarea>
</part>
</software>
<!-- Can't install to hard disk, can't save game, default text speed is very slow on 486 -->
<!-- (set option 5 from 100 to 0 to make text and voices to sync) -->
<software name="pompei" supported="partial">
@ -50,6 +201,19 @@
</part>
</software>
<software name="prototyp">
<description>Prototype</description>
<year>1995</year>
<publisher>Neo</publisher>
<info name="version" value="1.0" />
<part name="cdrom" interface="cdrom">
<feature name="disk_label" value="Prototype" />
<diskarea name="cdrom">
<disk name="prototyp" sha1="0cdfabab37e5e9b219b3c8a381c937ae52749bb1" />
</diskarea>
</part>
</software>
<software name="sideline">
<description>Sideline</description>
<year>1996</year>
@ -62,20 +226,21 @@
</diskarea>
</part>
</software>
<!-- Windows 3.1/95 -->
<!-- there's at least a German version of this too -->
<software name="noiangi">
<description>Noi Siamo Angeli (Italian)</description>
<!-- Windows 3.1 -->
<!-- TODO: gfx shift issue on 256 color mode -->
<software name="spaceinv" supported="partial">
<description>Space Invaders for Windows</description>
<year>1997</year>
<publisher>Smile Interactive</publisher>
<publisher>Wiz / Taito</publisher>
<part name="cdrom" interface="cdrom">
<feature name="disk_label" value="Sideline" />
<diskarea name="cdrom">
<disk name="bud" sha1="053ed238459721e9b62b9c045af6d8931a223095" />
<disk name="si_4" sha1="0827a8a8f6602fd0947396b9ef96e449eb7a4d5c" />
</diskarea>
</part>
</software>
<!-- Windows 95/98/ME/XP and Mac OS supported -->
<!-- Requires 256 colors minimum otherwise they crashes at boot -->
<software name="v16imagine">
@ -99,6 +264,31 @@
</diskarea>
</part>
</software>
<!-- -->
<!-- Drivers / Utilities / Operating Systems -->
<!-- -->
<software name="acercpr" supported="no">
<!-- Floppy dumped via Kryoflux, three tracks show as modified -->
<description>Acer CPR</description>
<year>1995</year>
<publisher>Acer America Corporation</publisher>
<info name="version" value="1.2a" /> <!-- floppy version 1.2a, CD version 1.2 -->
<part name="flop1" interface="floppy_3_5">
<feature name="disk_label" value="Hard Drive Recovery Start-Up Diskette" />
<dataarea name="flop" size="1474560">
<rom name="acer cpr.img" size="1474560" crc="6f88a82a" sha1="a0afd6dcddbf6ae67d5c28c068af2fa9843dcb5f" offset="0" status="baddump" />
</dataarea>
</part>
<part name="cdrom" interface="cdrom">
<feature name="disk_label" value="Hard Drive Recovery" />
<diskarea name="cdrom">
<disk name="acercpr" sha1="a0f073387e661318eae2d1fdd30dfb116d1295ae" />
</diskarea>
</part>
</software>
<software name="ultrasnd" supported="partial">
<!-- includes Gravis UltraSound (GUS) Installation - V4.11 -->
@ -201,46 +391,6 @@
</part>
</software>
<!-- Untouched image from original CD created with an ASUS DRW-1814BLT (EAC drive sample read offset reported as +6)
If you subtract 0x18 (4 * 6) bytes from a .wav extracted from this CHD the audio matches a rip done with EAC (verified) -->
<software name="kingsq6e">
<description>King's Quest VI (Windows 3.1 enhanced)</description>
<year>1993</year>
<publisher>Sierra</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="kings_quest_6_enhanced" sha1="0d237ee8c2d15be3b47f3676eddce41a00bca094" />
</diskarea>
</part>
</software>
<!-- Untouched image from original CD created with an ASUS DRW-1814BLT (EAC drive sample read offset reported as +6)
If you subtract 0x18 (4 * 6) bytes from a .wav extracted from this CHD the audio matches a rip done with EAC (verified) -->
<software name="krondor">
<description>Betrayal at Krondor (1994 release, CDDA)</description>
<year>1994</year>
<publisher>Dynamix</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="betrayal_at_krondor" sha1="f0d0907edccfc4f6ab4f181b0d2e9a3b18f81e73" />
</diskarea>
</part>
</software>
<software name="krondora" cloneof="krondor">
<description>Betrayal at Krondor (1998 release, no CDDA)</description>
<year>1998</year>
<publisher>Dynamix</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="betrayal_at_krondor_1998" sha1="d58acdb5bc10c2ad9a4b6dd51438102785c44216" />
</diskarea>
</part>
</software>
<!-- various Windows CDROMs
so far the listed discs should all be full english language retail discs, this can be expanded later -->
@ -339,32 +489,4 @@
</diskarea>
</part>
</software>
<software name="alieninc">
<!--
Alien Incident
English - French - German
Gametek(R) compro games
(C) 1996 Gametek UK
All rights reserved
Published by Gametek (UK), Ltd.
Hogarth House 29 - 31 Sheet St.
Windsor, SL4 1BY U.K.
Mastered by AMI American Multimedia, Inc.
GCR-102-0062 G2 960914
-->
<description>Alien Incident (Eng, Fre, Ger, Fin) (v1.30)</description>
<year>1996</year>
<publisher>Gametek</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="gcr-102-0062" sha1="183949d162064c38a21d6a143a815af6760233fb" />
</diskarea>
</part>
</software>
</softwarelist>

View File

@ -2,6 +2,132 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="pce_tourvision" description="Tourvision (bootleg Arcade NEC PC-Engine) cartridges">
<!--
Known games (followed by game ID, some are duplicate):
1943 Kai (65)
Adventure Island (64)
Aero Blaster (32)
After Burner II (46)
Alice in Wonderland (61)
Ankoku Densetsu (Legendary Axe II) (33)
Armed-F (?)
Ballistix (186)
Barunba (39)
Batman (30)
Be Ball (93)
* Blodia
Bomberman (71)
Bomberman 93 (204)
Bull Fight (185)
Burning Angels (49)
Cadash (203)
Chozetsurinjin Beraboh Man (Super Foolish Man) (27)
Chuka Taisen (37)
Columns (90)
Coryoon (43)
* Cross Wiber
Cyber Core (13)
Daisempuu (3)
Dead Moon (?)
Devil Crash (47)
Die Hard (73)
Dodge Ball (194)
Doraemon Meikyuu Daisakusen (20)
Doreamon - Nobita's Dorabian Night (Doraemon II, 43)
Down Load (43)
Dragon Egg! (98)
Dragon Saber (65)
Dragon Spirit (?)
Drop Rock Hora Hora (12)
Dungeon Explorer (209)
* F1 Triple Battle
Fighting Run (195)
Final Blaster (29)
Final Lap Twin (79)
Final Match Tennis (62)
Final Soldier (45)
Formation Soccer (1)
Gomola Speed (27)
Gradius (187)
Gunhed (148)
Hana Taka Daka (Super Long Nose Goblin) (6)
* Hatris
Hit The Ice (97)
Image Fight (99)
Jackie Chan (54)
Jinmu Densho (19)
Kato & Ken (42)
Kiki Kaikai (120)
Knight Rider Special (193)
Legend Of Hero Tomna (56)
Makyo Densetsu - The Legendary Axe (40)
Mashin Eiyuden Wataru (27)
Mesopotamia (197)
Mizubaku Daibouken Liquid Kids (10) (marketed as "Parasol Stars II")
Mr. Heli (23)
Ninja Ryukenden (10)
Operation Wolf (26)
Ordyne (94)
Out Run (38)
Override (53)
Pac-Land (16)
* Paranoia (18)
PC Genjin (8)
PC Genjin 2 (84)
PC Denjin Punkic Cyborg (201)
Power Drift (200)
Power Eleven (83)
* Power Golf
Power League IV (?)
Power Sports (199)
Power Tennis (183)
Pro Yakyuu World Stadium '91 (192)
Psycho Chaser (14)
Puzzle Boy (57)
Puzznic (69)
R-Type II (61)
* Rabio Lepus Special
Raiden (111)
Rastan Saga II (33, possibly incorrect riser)
Saigo no Nindou (44)
Saint Dragon (36)
Salamander (184)
Shinobi (5)
Side Arms (2)
Skweek (89)
Sokoban World (66)
Soldier Blade (23)
Son Son II (80)
Special Criminal Investigation (58)
Spin Pair (50)
Splatterhouse (148)
Super Star Soldier (42)
Super Volley ball (9)
Tatsujin (31)
Terra Cresta II (27)
The NewZealand Story (11)
Thunder Blade (34)
Tiger Road (10)
* Titan
Toilet Kids (196)
Toy Shop Boys (51)
Tricky (42)
* TV Sports
USA Pro Basketball (206) - marketed as NBA
Veigues (40)
Vigilante (8)
Violent Soldier (no ID, V1 cart)
Volfied (68)
W-Ring (21)
Winning Shot (28)
World Jockey (202)
Xevious (?)
Rumored games:
* Parasol Stars - often been mentioned, but still not confirmed, for Tourvision. For now it's been added from its NEC PC-Engine dump, which it would be likely identical.
-->
<software name="dsaber">
<description>Dragon Saber - After Story of Dragon Spirit (Tourvision PCE bootleg)</description>
<year>1991</year>

View File

@ -4771,5 +4771,6 @@ files {
MAME_DIR .. "src/mame/drivers/xyonix.cpp",
MAME_DIR .. "src/mame/includes/xyonix.h",
MAME_DIR .. "src/mame/video/xyonix.cpp",
MAME_DIR .. "src/mame/drivers/yuvomz80.cpp",
}
end

View File

@ -69,7 +69,7 @@ WRITE32_MEMBER( m68340_cpu_device::m68340_internal_base_w )
}
COMBINE_DATA(&m_m68340_base);
logerror("%08x m68340_internal_base_w %08x, %08x (%08x) (m_m68340_base write)\n", pc, offset*4,data,mem_mask);
logerror("%08x m68340_internal_base_w %08x, %08x (%08x) (m_m68340_base write)\n", pc(), offset*4,data,mem_mask);
// map new modules
if (m_m68340_base&1)
@ -103,7 +103,7 @@ WRITE32_MEMBER( m68340_cpu_device::m68340_internal_base_w )
}
else
{
logerror("%08x m68340_internal_base_w %08x, %04x (%04x) (should fall through?)\n", pc, offset*4,data,mem_mask);
logerror("%08x m68340_internal_base_w %08x, %04x (%04x) (should fall through?)\n", pc(), offset*4,data,mem_mask);
}

View File

@ -197,7 +197,9 @@ void smc91c9x_device::device_reset()
m_tx_timer->reset();
// Setup real network if enabled
m_network_available = false;
if (netdev_count()) {
m_network_available = true;
osd_list_network_adapters();
unsigned char const *const mac = (const unsigned char *)get_mac();
if (VERBOSE & LOG_GENERAL)
@ -283,7 +285,7 @@ void smc91c9x_device::clear_rx_fifo()
{
}
int smc91c9x_device::is_broadcast(uint8_t mac_address[])
int smc91c9x_device::is_broadcast(const uint8_t *mac_address)
{
int i;
@ -301,7 +303,7 @@ int smc91c9x_device::is_broadcast(uint8_t mac_address[])
}
int smc91c9x_device::ethernet_packet_is_for_me(const uint8_t mac_address[])
int smc91c9x_device::ethernet_packet_is_for_me(const uint8_t *mac_address)
{
// tcpdump -i eth0 -q ether host 08:00:1e:01:ae:a5 or ether broadcast or ether dst 09:00:1e:00:00:00 or ether dst 09:00:1e:00:00:01
// wireshark filter: eth.addr eq 08:00:1e:01:ae:a5 or eth.dst eq ff:ff:ff:ff:ff:ff or eth.dst eq 09:00:1e:00:00:00 or eth.dst eq 09:00:1e:00:00:01
@ -325,7 +327,7 @@ int smc91c9x_device::ethernet_packet_is_for_me(const uint8_t mac_address[])
}
// skip Ethernet broadcast packets if RECV_BROAD is not set
if (is_broadcast((uint8_t *)mac_address))
if (is_broadcast(mac_address))
{
LOG(" -- Broadcast rx\n");
return 2;
@ -379,7 +381,7 @@ void smc91c9x_device::recv_cb(uint8_t *data, int length)
// Try to request a packet number
int packet_num;
if (!alloc_req(0, packet_num)) {
logerror("recv_cb: Couldn't allocate a recieve packet\n");
logerror("recv_cb: Couldn't allocate a receive packet\n");
return;
}
@ -457,6 +459,12 @@ void smc91c9x_device::update_ethernet_irq()
else {
m_reg[EREG_INTERRUPT] &= ~EINT_TX_EMPTY;
}
//if (m_comp_tx.empty()) {
// m_reg[EREG_INTERRUPT] &= ~EINT_TX;
//}
//else {
// m_reg[EREG_INTERRUPT] |= EINT_TX;
//}
// Check rx completion fifo empty
if (m_comp_rx.empty())
m_reg[EREG_INTERRUPT] &= ~EINT_RCV;
@ -504,24 +512,36 @@ TIMER_CALLBACK_MEMBER(smc91c9x_device::send_frame)
if (is_broadcast(&tx_buffer[4]))
m_reg[EREG_EPH_STATUS] |= 0x0040;
// signal a transmit interrupt
// Set Tx Empty interrupt
// TODO: If more than 1 packet is enqueued should wait for all to finish
//m_reg[EREG_INTERRUPT] |= EINT_TX_EMPTY;
m_reg[EREG_INTERRUPT] |= EINT_TX;
//m_comp_tx.erase(m_comp_tx.begin());
m_sent++;
update_stats();
int buffer_len = ((tx_buffer[3] << 8) | tx_buffer[2]) & 0x7ff;
// Remove status, length, [pad], control
if (tx_buffer[buffer_len - 1] & 0x20)
buffer_len -= 5;
else
buffer_len -= 6;
// Add padding
if (buffer_len < 64 && (m_reg[EREG_TCR] & 0x0080)) {
while (buffer_len < 64)
tx_buffer[4 + buffer_len++] = 0x00;
}
if (VERBOSE & LOG_GENERAL)
{
logerror("TX: ");
for (int i = 4; i < (4 + ETHERNET_ADDR_SIZE); i++)
logerror("%.2X", tx_buffer[i]);
for (int i = 0; i < ETHERNET_ADDR_SIZE; i++)
logerror("%.2X", tx_buffer[4 + i]);
logerror(" ");
for (int i = 0; i < (buffer_len - (ETHERNET_ADDR_SIZE + 4)); i++)
logerror("%.2X", tx_buffer[4 + ETHERNET_ADDR_SIZE + i]);
for (int i = ETHERNET_ADDR_SIZE; i < buffer_len; i++)
logerror("%.2X", tx_buffer[4 + i]);
logerror("--- %d/0x%x bytes\n", buffer_len, buffer_len);
}
@ -557,14 +577,8 @@ TIMER_CALLBACK_MEMBER(smc91c9x_device::send_frame)
}
else
{
// odd or even sized frame ?
if (tx_buffer[buffer_len - 1] & 0x20)
buffer_len--;
else
buffer_len -= 2;
// Send the frame
if (!send(&tx_buffer[4], buffer_len - 4))
if (!send(&tx_buffer[4], buffer_len))
{
// FIXME: failed to send the Ethernet packet
//logerror("failed to send Ethernet packet\n");
@ -574,8 +588,8 @@ TIMER_CALLBACK_MEMBER(smc91c9x_device::send_frame)
// Loopback if loopback is set or fduplx is set
// TODO: Figure out correct size
// TODO: Check for addtional filter options for FDUPLX mode
if ((m_reg[EREG_TCR] & 0x2002) || (m_reg[EREG_TCR] & 0x0800))
recv_cb(&tx_buffer[4], buffer_len - 2);
if ((m_reg[EREG_TCR] & 0x2002) || (m_network_available && (m_reg[EREG_TCR] & 0x0800)))
recv_cb(&tx_buffer[4], buffer_len);
}
}
// Update status in the transmit word
@ -664,7 +678,13 @@ void smc91c9x_device::process_command(uint16_t data)
const int packet_number = m_reg[EREG_PNR_ARR] & 0xff;
// Push packet number tx completion fifo
m_comp_tx.push_back(packet_number);
m_tx_timer->adjust(attotime::from_usec(10));
// Calculate transmit time
uint8_t *const tx_buffer = &m_buffer[packet_number * ETHER_BUFFER_SIZE];
int buffer_len = ((tx_buffer[3] << 8) | tx_buffer[2]) & 0x7ff;
buffer_len -= 6;
// ~16 Mbps
int usec = ((buffer_len * 8) >> 4) + 1;
m_tx_timer->adjust(attotime::from_usec(usec));
}
break;
@ -711,7 +731,7 @@ READ16_MEMBER( smc91c9x_device::read )
case EREG_PNR_ARR:
if ( ACCESSING_BITS_8_15 )
{
m_reg[EREG_INTERRUPT] &= ~0x0008;
m_reg[EREG_INTERRUPT] &= ~EINT_ALLOC;
update_ethernet_irq();
}
break;
@ -768,7 +788,7 @@ WRITE16_MEMBER( smc91c9x_device::write )
/* update the data generically */
if (offset != 7 && offset < sizeof(m_reg))
if (offset != EREG_BANK && offset < sizeof(m_reg))
LOG("%s:smc91c9x_w(%s) = [%04X]<-%04X & (%04X & %04X)\n", machine().describe_context(), ethernet_regname[offset], offset, data, mem_mask , m_regmask[offset]);
mem_mask &= m_regmask[offset];

View File

@ -40,6 +40,9 @@ private:
static constexpr unsigned ETHER_BUFFERS = 16;
static constexpr unsigned ETHERNET_ADDR_SIZE = 6;
// external network is present
bool m_network_available;
// mmu
// The bits in these vectors indicate a packet has been allocated
u32 m_alloc_rx, m_alloc_tx;
@ -74,8 +77,8 @@ private:
emu_timer* m_tx_timer;
int ethernet_packet_is_for_me(const uint8_t mac_address[]);
int is_broadcast(uint8_t mac_address[]);
int ethernet_packet_is_for_me(const uint8_t *mac_address);
int is_broadcast(const uint8_t *mac_address);
void update_ethernet_irq();
void update_stats();

View File

@ -155,7 +155,14 @@ void mame_machine_manager::start_luaengine()
}
if (options().console())
{
m_plugins->set_value("console", "1", OPTION_PRIORITY_CMDLINE);
if (m_plugins->exists(OPTION_CONSOLE))
{
m_plugins->set_value(OPTION_CONSOLE, "1", OPTION_PRIORITY_CMDLINE);
}
else
{
fatalerror("Console plugin not found.\n");
}
}
m_lua->initialize();

View File

@ -1355,6 +1355,7 @@ xyonix.cpp
yiear.cpp
yunsun16.cpp
yunsung8.cpp
yuvomz80.cpp
zac_1.cpp
zac_2.cpp
zac_proto.cpp

View File

@ -13,6 +13,7 @@
TODO:
- improve/redo SVGs of: gnw_mc25, gnw_eg26, exospace
- confirm gnw_mc25/gnw_eg26 rom (dumped from Soviet clone, but pretty confident that it's same)
- identify lcd segments for tgaiden
***************************************************************************/
@ -1894,6 +1895,107 @@ MACHINE_CONFIG_END
/***************************************************************************
Tiger Ninja Gaiden (model 7-787)
* Sharp SM510 under epoxy (die label M82)
* lcd screen with custom segments, 1 led, 1-bit sound
***************************************************************************/
class tgaiden_state : public hh_sm510_state
{
public:
tgaiden_state(const machine_config &mconfig, device_type type, const char *tag)
: hh_sm510_state(mconfig, type, tag)
{
m_inp_lines = 5;
m_inp_fixed = 5;
}
DECLARE_WRITE8_MEMBER(write_r);
};
// handlers
WRITE8_MEMBER(tgaiden_state::write_r)
{
// R1: speaker out
piezo_r1_w(space, 0, data & 1);
// R2: led
//..
}
// config
static INPUT_PORTS_START( tgaiden )
PORT_START("IN.0") // S1
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
PORT_BIT( 0x0b, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.1") // S2
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.2") // S3
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr)
PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.3") // S4
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Jump")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Attack/Pick")
PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.4") // S5
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Pause")
PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.5") // GND!
PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Power On/Start")
PORT_START("BA")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_VOLUME_DOWN ) PORT_NAME("Sound")
PORT_START("B")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POWER_OFF )
PORT_START("ACL")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL")
INPUT_PORTS_END
static MACHINE_CONFIG_START( tgaiden )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", SM510, XTAL_32_768kHz)
MCFG_SM510_WRITE_SEGS_CB(WRITE16(hh_sm510_state, sm510_lcd_segment_w))
MCFG_SM510_READ_K_CB(READ8(hh_sm510_state, input_r))
MCFG_SM510_WRITE_S_CB(WRITE8(hh_sm510_state, input_w))
MCFG_SM510_WRITE_R_CB(WRITE8(tgaiden_state, write_r))
MCFG_SM510_READ_BA_CB(IOPORT("BA"))
MCFG_SM510_READ_B_CB(IOPORT("B"))
/* video hardware */
MCFG_SCREEN_SVG_ADD("screen", "svg")
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE(1920, 1080)
MCFG_SCREEN_VISIBLE_AREA(0, 1920-1, 0, 1080-1)
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_svg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
/***************************************************************************
Tiger Batman (model 7-799)
@ -3099,6 +3201,15 @@ ROM_START( tkarnov )
ROM_END
ROM_START( tgaiden )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "m82", 0x0000, 0x1000, CRC(278eafb0) SHA1(14396a0010bade0fde705969151200ed432321e7) )
ROM_REGION( 100000, "svg", 0)
ROM_LOAD( "tgaiden.svg", 0, 100000, NO_DUMP )
ROM_END
ROM_START( tbatman )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "597", 0x0000, 0x1000, CRC(8b7acc97) SHA1(fe811675dc5c5ef9f6f969685c933926c8b9e868) )
@ -3224,6 +3335,7 @@ CONS( 1989, tgaunt, 0, 0, tgaunt, tgaunt, tgaunt_state, 0, "T
CONS( 1991, trobhood, tgaunt, 0, trobhood, trobhood, tgaunt_state, 0, "Tiger Electronics", "Robin Hood (handheld)", MACHINE_SUPPORTS_SAVE )
CONS( 1989, tddragon, 0, 0, tddragon, tddragon, tddragon_state, 0, "Tiger Electronics (licensed from Technos/Tradewest)", "Double Dragon (handheld)", MACHINE_SUPPORTS_SAVE )
CONS( 1989, tkarnov, 0, 0, tkarnov, tkarnov, tkarnov_state, 0, "Tiger Electronics (licensed from Data East)", "Karnov (handheld)", MACHINE_SUPPORTS_SAVE )
CONS( 1989, tgaiden, 0, 0, tgaiden, tgaiden, tgaiden_state, 0, "Tiger Electronics (licensed from Tecmo)", "Ninja Gaiden (handheld)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
CONS( 1989, tbatman, 0, 0, tbatman, tbatman, tbatman_state, 0, "Tiger Electronics", "Batman (handheld)", MACHINE_SUPPORTS_SAVE )
CONS( 1990, tsharr2, 0, 0, tsharr2, tsharr2, tsharr2_state, 0, "Tiger Electronics (licensed from Sega)", "Space Harrier II (handheld)", MACHINE_SUPPORTS_SAVE )
CONS( 1990, taltbeast, 0, 0, taltbeast, taltbeast, taltbeast_state, 0, "Tiger Electronics (licensed from Sega)", "Altered Beast (handheld)", MACHINE_SUPPORTS_SAVE )

View File

@ -216,9 +216,10 @@ static INPUT_PORTS_START( mario )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_3C ) )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!5,!6")
PORT_DIPSETTING( 0x00, "20k 40k 20k+" )
PORT_DIPSETTING( 0x10, "30k 50k 20k+" )
PORT_DIPSETTING( 0x20, "40k 60k 20k+" )
PORT_DIPSETTING( 0x00, "20k only" )
PORT_DIPSETTING( 0x10, "30k only" )
PORT_DIPSETTING( 0x20, "40k only" )
PORT_DIPSETTING( 0x30, DEF_STR( None ) )
PORT_DIPSETTING( 0x30, DEF_STR( None ) )
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:!7,!8")
PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
@ -233,20 +234,19 @@ static INPUT_PORTS_START( mario )
INPUT_PORTS_END
static INPUT_PORTS_START( marioo )
static INPUT_PORTS_START( mariof )
PORT_INCLUDE( mario )
PORT_MODIFY( "DSW" )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!5,!6")
PORT_DIPSETTING( 0x00, "20k only" )
PORT_DIPSETTING( 0x10, "30k only" )
PORT_DIPSETTING( 0x20, "40k only" )
PORT_DIPSETTING( 0x30, DEF_STR( None ) )
PORT_DIPSETTING( 0x00, "20k 40k 20k+" )
PORT_DIPSETTING( 0x10, "30k 50k 20k+" )
PORT_DIPSETTING( 0x20, "40k 60k 20k+" )
INPUT_PORTS_END
static INPUT_PORTS_START( marioe )
PORT_INCLUDE( marioo )
PORT_INCLUDE( mario )
PORT_MODIFY ( "IN1" )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 )
@ -388,6 +388,40 @@ MACHINE_CONFIG_END
*************************************/
ROM_START( mario )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "tma1-c-7f_g.7f", 0x0000, 0x2000, CRC(c0c6e014) SHA1(36a04f9ca1c2a583477cb8a6f2ef94e044e08296) ) /* Unknown revision */
ROM_LOAD( "tma1-c-7e_g.7e", 0x2000, 0x2000, CRC(116b3856) SHA1(e372f846d0e5a2b9b47ebd0330293fcc8a12363f) )
ROM_LOAD( "tma1-c-7d_g.7d", 0x4000, 0x2000, CRC(dcceb6c1) SHA1(b19804e69ce2c98cf276c6055c3a250316b96b45) )
ROM_LOAD( "tma1-c-7c_g.7c", 0xf000, 0x1000, CRC(4a63d96b) SHA1(b09060b2c84ab77cc540a27b8f932cb60ec8d442) )
ROM_REGION( 0x1800, "audiocpu", 0 ) /* sound */
/* internal rom */
ROM_FILL( 0x0000, 0x0800, 0x00)
/* first half banked */
ROM_LOAD( "tma1-c-6k_e.6k", 0x1000, 0x0800, CRC(06b9ff85) SHA1(111a29bcb9cda0d935675fa26eca6b099a88427f) )
/* second half always read */
ROM_CONTINUE( 0x0800, 0x0800)
ROM_REGION( 0x2000, "gfx1", 0 )
ROM_LOAD( "tma1-v-3f.3f", 0x0000, 0x1000, CRC(28b0c42c) SHA1(46749568aff88a28c3b6a1ac423abd1b90742a4d) )
ROM_LOAD( "tma1-v-3j.3j", 0x1000, 0x1000, CRC(0c8cc04d) SHA1(15fae47d701dc1ef15c943cee6aa991776ecffdf) )
ROM_REGION( 0x6000, "gfx2", 0 )
ROM_LOAD( "tma1-v-7m.7m", 0x0000, 0x1000, CRC(22b7372e) SHA1(4a1c1e239cb6d483e76f50d7a3b941025963c6a3) )
ROM_LOAD( "tma1-v-7n.7n", 0x1000, 0x1000, CRC(4f3a1f47) SHA1(0747d693b9482f6dd28b0bc484fd1d3e29d35654) )
ROM_LOAD( "tma1-v-7p.7p", 0x2000, 0x1000, CRC(56be6ccd) SHA1(15a6e16c189d45f72761ebcbe9db5001bdecd659) )
ROM_LOAD( "tma1-v-7s.7s", 0x3000, 0x1000, CRC(56f1d613) SHA1(9af6844dbaa3615433d0595e9e85e72493e31a54) )
ROM_LOAD( "tma1-v-7t.7t", 0x4000, 0x1000, CRC(641f0008) SHA1(589fe108c7c11278fd897f2ded8f0498bc149cfd) )
ROM_LOAD( "tma1-v-7u.7u", 0x5000, 0x1000, CRC(7baf5309) SHA1(d9194ff7b89a18273d37b47228fc7fb7e2a0ed1f) )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "tma1-c-4p.4p", 0x0000, 0x0200, CRC(afc9bd41) SHA1(90b739c4c7f24a88b6ac5ca29b06c032906a2801) )
ROM_REGION( 0x0020, "decoder_prom", 0 )
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, main cpu memory map decoding prom */
ROM_END
ROM_START( mariof )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "tma1-c-7f_f.7f", 0x0000, 0x2000, CRC(c0c6e014) SHA1(36a04f9ca1c2a583477cb8a6f2ef94e044e08296) )
ROM_LOAD( "tma1-c-7e_f.7e", 0x2000, 0x2000, CRC(94fb60d6) SHA1(e74d74aa27f87a164bdd453ab0076efeeb7d4ea3) )
@ -417,8 +451,8 @@ ROM_START( mario )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "tma1-c-4p_1.4p", 0x0000, 0x0200, CRC(8187d286) SHA1(8a6d8e622599f1aacaeb10f7b1a39a23c8a840a0) ) /* BPROM was a MB7124E read as 82S147 */
ROM_REGION( 0x0020, "unk_proms", 0 ) /* is this the color prom? */
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, unknown use */
ROM_REGION( 0x0020, "decoder_prom", 0 )
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, main cpu memory map decoding prom */
ROM_END
ROM_START( marioe )
@ -451,42 +485,8 @@ ROM_START( marioe )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "tma1-c-4p_1.4p", 0x0000, 0x0200, CRC(8187d286) SHA1(8a6d8e622599f1aacaeb10f7b1a39a23c8a840a0) ) /* BPROM was a MB7124E read as 82S147 */
ROM_REGION( 0x0020, "unk_proms", 0 ) /* is this the color prom? */
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, unknown use */
ROM_END
ROM_START( marioo )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "tma1-c-7f_.7f", 0x0000, 0x2000, CRC(c0c6e014) SHA1(36a04f9ca1c2a583477cb8a6f2ef94e044e08296) ) /* Unknown revision */
ROM_LOAD( "tma1-c-7f_.7e", 0x2000, 0x2000, CRC(116b3856) SHA1(e372f846d0e5a2b9b47ebd0330293fcc8a12363f) )
ROM_LOAD( "tma1-c-7f_.7d", 0x4000, 0x2000, CRC(dcceb6c1) SHA1(b19804e69ce2c98cf276c6055c3a250316b96b45) )
ROM_LOAD( "tma1-c-7f_.7c", 0xf000, 0x1000, CRC(4a63d96b) SHA1(b09060b2c84ab77cc540a27b8f932cb60ec8d442) )
ROM_REGION( 0x1800, "audiocpu", 0 ) /* sound */
/* internal rom */
ROM_FILL( 0x0000, 0x0800, 0x00)
/* first half banked */
ROM_LOAD( "tma1-c-6k_e.6k", 0x1000, 0x0800, CRC(06b9ff85) SHA1(111a29bcb9cda0d935675fa26eca6b099a88427f) )
/* second half always read */
ROM_CONTINUE( 0x0800, 0x0800)
ROM_REGION( 0x2000, "gfx1", 0 )
ROM_LOAD( "tma1-v-3f.3f", 0x0000, 0x1000, CRC(28b0c42c) SHA1(46749568aff88a28c3b6a1ac423abd1b90742a4d) )
ROM_LOAD( "tma1-v-3j.3j", 0x1000, 0x1000, CRC(0c8cc04d) SHA1(15fae47d701dc1ef15c943cee6aa991776ecffdf) )
ROM_REGION( 0x6000, "gfx2", 0 )
ROM_LOAD( "tma1-v-7m.7m", 0x0000, 0x1000, CRC(22b7372e) SHA1(4a1c1e239cb6d483e76f50d7a3b941025963c6a3) )
ROM_LOAD( "tma1-v-7n.7n", 0x1000, 0x1000, CRC(4f3a1f47) SHA1(0747d693b9482f6dd28b0bc484fd1d3e29d35654) )
ROM_LOAD( "tma1-v-7p.7p", 0x2000, 0x1000, CRC(56be6ccd) SHA1(15a6e16c189d45f72761ebcbe9db5001bdecd659) )
ROM_LOAD( "tma1-v-7s.7s", 0x3000, 0x1000, CRC(56f1d613) SHA1(9af6844dbaa3615433d0595e9e85e72493e31a54) )
ROM_LOAD( "tma1-v-7t.7t", 0x4000, 0x1000, CRC(641f0008) SHA1(589fe108c7c11278fd897f2ded8f0498bc149cfd) )
ROM_LOAD( "tma1-v-7u.7u", 0x5000, 0x1000, CRC(7baf5309) SHA1(d9194ff7b89a18273d37b47228fc7fb7e2a0ed1f) )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "tma1-c-4p.4p", 0x0000, 0x0200, CRC(afc9bd41) SHA1(90b739c4c7f24a88b6ac5ca29b06c032906a2801) )
ROM_REGION( 0x0020, "unk_proms", 0 ) /* is this the color prom? */
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, unknown use */
ROM_REGION( 0x0020, "decoder_prom", 0 )
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, main cpu memory map decoding prom */
ROM_END
ROM_START( marioj )
@ -519,8 +519,8 @@ ROM_START( marioj )
ROM_REGION( 0x0200, "proms", 0 )
ROM_LOAD( "tma1-c-4p.4p", 0x0000, 0x0200, CRC(afc9bd41) SHA1(90b739c4c7f24a88b6ac5ca29b06c032906a2801) )
ROM_REGION( 0x0020, "unk_proms", 0 ) /* is this the color prom? */
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, unknown use */
ROM_REGION( 0x0020, "decoder_prom", 0 )
ROM_LOAD( "tma1-c-5p.5p", 0x0000, 0x0020, CRC(58d86098) SHA1(d654995004b9052b12d3b682a2b39530e70030fc) ) /* BPROM was a TBP18S030N read as 82S123, main cpu memory map decoding prom */
ROM_END
ROM_START( masao )
@ -556,8 +556,8 @@ ROM_END
*
*************************************/
GAME( 1983, mario, 0, mario, mario, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision F)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, mario, 0, mario, mario, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision G)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, mariof, mario, mario, mariof, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision F)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, marioe, mario, mario, marioe, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision E)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, marioo, mario, mario, marioo, mario_state, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Unknown Rev)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, marioj, mario, mario, marioj, mario_state, 0, ROT0, "Nintendo", "Mario Bros. (Japan, Revision C)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, masao, mario, masao, mario, mario_state, 0, ROT0, "bootleg", "Masao", MACHINE_SUPPORTS_SAVE )

View File

@ -482,7 +482,10 @@ READ8_MEMBER( pet_state::read )
break;
case SEL8:
data = m_video_ram[offset & (m_video_ram_size - 1)];
if (!(offset & 0x800))
{
data = m_video_ram[offset & (m_video_ram_size - 1)];
}
break;
case SEL9:
@ -575,7 +578,10 @@ WRITE8_MEMBER( pet_state::write )
break;
case SEL8:
m_video_ram[offset & (m_video_ram_size - 1)] = data;
if (!(offset & 0x800))
{
m_video_ram[offset & (m_video_ram_size - 1)] = data;
}
break;
case SELE:

View File

@ -4,7 +4,7 @@
Super Cobra hardware
NOTE: Eventually to be merged into GALAXIAN.C
NOTE: Eventually to be merged into galaxian.cpp
TODO:
----
@ -30,7 +30,7 @@ Notes/Tidbits:
differences are the title, copyright removed, different encryptions or
no encryption, plus hustlerb has a different memory map.
- In Tazmania, when set to Upright mode, player 2 left skips the current
- In Tazmania and clones, when set to Upright mode, player 2 left skips the current
level
***************************************************************************/
@ -52,7 +52,6 @@ public:
: scramble_state(mconfig, type, tag),
m_soundram(*this, "soundram") { }
optional_shared_ptr<uint8_t> m_soundram;
DECLARE_READ8_MEMBER(scobra_soundram_r);
DECLARE_WRITE8_MEMBER(scobra_soundram_w);
DECLARE_READ8_MEMBER(scobra_type2_ppi8255_0_r);
@ -64,6 +63,9 @@ public:
DECLARE_WRITE8_MEMBER(hustler_ppi8255_0_w);
DECLARE_WRITE8_MEMBER(hustler_ppi8255_1_w);
DECLARE_CUSTOM_INPUT_MEMBER(stratgyx_coinage_r);
private:
optional_shared_ptr<uint8_t> m_soundram;
};
@ -148,6 +150,26 @@ static ADDRESS_MAP_START( type2_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxold_flip_screen_x_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tazmani3_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x883f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram")
AM_RANGE(0x8840, 0x885f) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x8860, 0x887f) AM_RAM AM_SHARE("bulletsram")
AM_RANGE(0x8880, 0x88ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9400, 0x97ff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) /* mirror */
AM_RANGE(0x9800, 0x9800) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
AM_RANGE(0xa800, 0xa803) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
AM_RANGE(0xb000, 0xb000) AM_WRITE(galaxold_stars_enable_w)
AM_RANGE(0xb001, 0xb001) AM_WRITE(galaxold_nmi_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_coin_counter_0_w)
AM_RANGE(0xb008, 0xb008) AM_WRITE(galaxold_coin_counter_1_w)
AM_RANGE(0xb00c, 0xb00c) AM_WRITE(galaxold_flip_screen_y_w)
AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxold_flip_screen_x_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( hustler_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
@ -449,7 +471,7 @@ static INPUT_PORTS_START( darkplnt )
PORT_BIT( 0xfc, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) /* scrambled dial */
INPUT_PORTS_END
static INPUT_PORTS_START( tazmania )
static INPUT_PORTS_START( tazmani2 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
@ -497,6 +519,49 @@ static INPUT_PORTS_START( tazmania )
INPUT_PORTS_END
static INPUT_PORTS_START( tazmani3 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_START("IN1")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
PORT_START("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, "Coin A 1/2 Coin B 2/1" )
PORT_DIPSETTING( 0x04, "Coin A 1/3 Coin B 3/1" )
PORT_DIPSETTING( 0x06, "Coin A 1/4 Coin B 4/1" )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
/* cocktail mode is N/A */
static INPUT_PORTS_START( rescue )
PORT_START("IN0")
@ -891,6 +956,13 @@ static MACHINE_CONFIG_DERIVED( type2, type1 )
MCFG_CPU_PROGRAM_MAP(type2_map)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( tazmani3, type2 )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tazmani3_map)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( stratgyx, type2 )
@ -1123,6 +1195,7 @@ ROM_START( tazmani2 )
ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
ROM_END
// PCBs: RODMAR 6920-00-01 P1 and 6920-01-01 P1 but Arfyc copyright
ROM_START( tazmani3 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "2ck.cpu", 0x0000, 0x1000, CRC(e8b6f9c3) SHA1(121f83274b3fdb4b2cb4bd0160d61886825c8793) ) // sldh
@ -1624,8 +1697,8 @@ GAME( 1982, strongx, stratgyx, stratgyx, stratgyx, scobra_state, stratgyx,
GAME( 1982, darkplnt, 0, darkplnt, darkplnt, scobra_state, darkplnt, ROT180, "Stern Electronics", "Dark Planet", MACHINE_SUPPORTS_SAVE )
GAME( 1982, tazmani2, tazmania, type2, tazmania, scobra_state, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2, alt hardware)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, tazmani3, tazmania, type2, tazmania, scobra_state, tazmani2, ROT90, "bootleg (Rodmar)", "Tazz-Mania (Rodmar bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // different i8255 hook up
GAME( 1982, tazmani2, tazmania, type2, tazmani2, scobra_state, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2, alt hardware)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, tazmani3, tazmania, tazmani3, tazmani3, scobra_state, 0, ROT90, "bootleg (Arfyc / Rodmar)", "Tazz-Mania (Arfyc / Rodmar bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1982, rescue, 0, rescue, rescue, scobra_state, rescue, ROT90, "Stern Electronics", "Rescue", MACHINE_SUPPORTS_SAVE )
GAME( 1982, rescueb, rescue, rescueb, rescue, scobra_state, rescue, ROT90, "bootleg (Videl Games)", "Tuono Blu (bootleg of Rescue)", MACHINE_SUPPORTS_SAVE )

View File

@ -496,6 +496,7 @@ WRITE32_MEMBER(seattle_state::interrupt_config_w)
{
int irq;
COMBINE_DATA(&m_interrupt_config);
//logerror("interrupt_config_w: m_interrupt_config=%08x\n", m_interrupt_config);
/* VBLANK: clear anything pending on the old IRQ */
if (m_vblank_irq_num != 0)
@ -1295,15 +1296,18 @@ static INPUT_PORTS_START( sfrush )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Track 2") PORT_PLAYER(1) /* track 2 */
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_NAME("Track 3") PORT_PLAYER(1) /* track 3 */
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON16 ) PORT_NAME("Track 4") PORT_PLAYER(1) /* track 4 */
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("1st Gear") PORT_PLAYER(1) /* 1st gear */
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("2nd Gear") PORT_PLAYER(1) /* 2nd gear */
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("3rd Gear") PORT_PLAYER(1) /* 3rd gear */
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("4th Gear") PORT_PLAYER(1) /* 4th gear */
PORT_BIT( 0x0f00, IP_ACTIVE_LOW, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, seattle_state, gearshift_r, "GEAR" )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_VOLUME_DOWN )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_VOLUME_UP )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("GEAR")
PORT_BIT( 0x1, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("1st Gear") PORT_PLAYER(1) /* 1st gear */
PORT_BIT( 0x2, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("2nd Gear") PORT_PLAYER(1) /* 2nd gear */
PORT_BIT( 0x4, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("3rd Gear") PORT_PLAYER(1) /* 3rd gear */
PORT_BIT( 0x8, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("4th Gear") PORT_PLAYER(1) /* 4th gear */
PORT_MODIFY("IN2")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )

View File

@ -636,8 +636,7 @@ WRITE16_MEMBER(tispeak_state::snspellc_write_r)
WRITE16_MEMBER(tispeak_state::snspellc_write_o)
{
// O3210: TMS5100 CTL8124
m_o = bitswap<8>(data,7,6,5,4,3,0,1,2);
m_tms5100->ctl_w(space, 0, m_o & 0xf);
m_tms5100->ctl_w(space, 0, bitswap<4>(data,3,0,1,2));
}
READ8_MEMBER(tispeak_state::snspellc_read_k)
@ -689,7 +688,7 @@ void tispeak_state::k28_prepare_display(u8 old, u8 data)
WRITE16_MEMBER(tispeak_state::k28_write_r)
{
// R1234: TMS5100 CTL8421
m_tms5100->ctl_w(space, 0, bitswap<8>(data,0,0,0,0,1,2,3,4) & 0xf);
m_tms5100->ctl_w(space, 0, bitswap<4>(data,1,2,3,4));
// R0: TMS5100 PDC pin
m_tms5100->pdc_w(data & 1);

View File

@ -199,7 +199,7 @@ WRITE16_MEMBER(tispellb_state::sub_write_o)
READ8_MEMBER(tispellb_state::rev1_ctl_r)
{
// main CTL3210 <- sub O6043
return bitswap<8>(m_sub_o,7,5,2,1,6,0,4,3) & 0xf;
return bitswap<4>(m_sub_o,6,0,4,3);
}
WRITE16_MEMBER(tispellb_state::sub_write_r)

View File

@ -14,129 +14,7 @@
By now, six known BIOS versions, U4-52 (dumped from a board with-subboard PCB),
U4-55 (dumped from an integrated PCB) and U4-60 (dumped from a board with-subboard PCB).
Known games (followed by game ID, some are duplicate):
1943 Kai (65)
Adventure Island (64)
Aero Blaster (32)
After Burner II (46)
Alice in Wonderland (61)
Ankoku Densetsu (Legendary Axe II) (33)
Armed-F (?)
Ballistix (186)
Barunba (39)
Batman (30)
Be Ball (93)
* Blodia
Bomberman (71)
Bomberman 93 (204)
Bull Fight (185)
Burning Angels (49)
Cadash (203)
Chozetsurinjin Beraboh Man (Super Foolish Man) (27)
Chuka Taisen (37)
Columns (90)
Coryoon (43)
* Cross Wiber
Cyber Core (13)
Daisempuu (3)
Dead Moon (?)
Devil Crash (47)
Die Hard (73)
Dodge Ball (194)
Doraemon Meikyuu Daisakusen (20)
Doreamon - Nobita's Dorabian Night (Doraemon II, 43)
Down Load (43)
Dragon Egg! (98)
Dragon Saber (65)
Dragon Spirit (?)
Drop Rock Hora Hora (12)
Dungeon Explorer (209)
* F1 Triple Battle
Fighting Run (195)
Final Blaster (29)
Final Lap Twin (79)
Final Match Tennis (62)
Final Soldier (45)
Formation Soccer (1)
Gomola Speed (27)
Gradius (187)
Gunhed (148)
Hana Taka Daka (Super Long Nose Goblin) (6)
* Hatris
Hit The Ice (97)
Image Fight (99)
Jackie Chan (54)
Jinmu Densho (19)
Kato & Ken (42)
Kiki Kaikai (120)
Knight Rider Special (193)
Legend Of Hero Tomna (56)
Makyo Densetsu - The Legendary Axe (40)
Mashin Eiyuden Wataru (27)
Mesopotamia (197)
Mizubaku Daibouken Liquid Kids (10) (marketed as "Parasol Stars II")
Mr. Heli (23)
Ninja Ryukenden (10)
Operation Wolf (26)
Ordyne (94)
Out Run (38)
Override (53)
Pac-Land (16)
* Paranoia (18)
PC Genjin (8)
PC Genjin 2 (84)
PC Denjin Punkic Cyborg (201)
Power Drift (200)
Power Eleven (83)
* Power Golf
Power League IV (?)
Power Sports (199)
Power Tennis (183)
Pro Yakyuu World Stadium '91 (192)
Psycho Chaser (14)
Puzzle Boy (57)
Puzznic (69)
R-Type II (61)
* Rabio Lepus Special
Raiden (111)
Rastan Saga II (33, possibly incorrect riser)
Saigo no Nindou (44)
Saint Dragon (36)
Salamander (184)
Shinobi (5)
Side Arms (2)
Skweek (89)
Sokoban World (66)
Soldier Blade (23)
Son Son II (80)
Special Criminal Investigation (58)
Spin Pair (50)
Splatterhouse (148)
Super Star Soldier (42)
Super Volley ball (9)
Tatsujin (31)
Terra Cresta II (27)
The NewZealand Story (11)
Thunder Blade (34)
Tiger Road (10)
* Titan
Toilet Kids (196)
Toy Shop Boys (51)
Tricky (42)
* TV Sports
USA Pro Basketball (206) - marketed as NBA
Veigues (40)
Vigilante (8)
Violent Soldier (no ID, V1 cart)
Volfied (68)
W-Ring (21)
Winning Shot (28)
World Jockey (202)
Xevious (?)
Rumored games:
* Parasol Stars - often been mentioned, but still not confirmed, for Tourvision. For now it's been added from its NEC PC-Engine dump, which it would be likely identical.
Known games list can be found in hash/pce_tourvision.xml.
* Denotes Not Dumped
@ -327,11 +205,13 @@ public:
DECLARE_WRITE8_MEMBER(tourvision_i8155_b_w);
DECLARE_WRITE8_MEMBER(tourvision_i8155_c_w);
DECLARE_WRITE_LINE_MEMBER(tourvision_timer_out);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(tourvision_cart);
private:
required_device<cpu_device> m_subcpu;
required_device<generic_slot_device> m_cart;
uint32_t m_rom_size;
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(tourvision_cart);
};
DEVICE_IMAGE_LOAD_MEMBER( tourvision_state, tourvision_cart )
@ -577,4 +457,4 @@ ROM_START(tourvis)
ROM_END
GAME( 19??, tourvis, 0, tourvision, tourvision, tourvision_state, pce_common, ROT0, "bootleg (Tourvision)", "Tourvision PCE bootleg", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING )
GAME( 19??, tourvis, 0, tourvision, tourvision, tourvision_state, pce_common, ROT0, "bootleg (Tourvision)", "Tourvision PCE bootleg", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING )

View File

@ -2306,6 +2306,8 @@ DRIVER_INIT_MEMBER(vegas_state,warfa)
{
/* speedups */
m_maincpu->mips3drc_add_hotspot(0x8009436C, 0x0C031663, 250); /* confirmed */
// TODO: For some reason game hangs if ethernet is on
m_ethernet->set_link_connected(false);
}

View File

@ -0,0 +1,117 @@
// license:BSD-3-Clause
// copyright-holders:
// Skeleton driver for Yuvo / Yubis Z80 based medal games.
#include "emu.h"
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "sound/ymz280b.h"
#include "speaker.h"
/*
This tries to document the available info, but even game titles should be taken with a grain of salt.
YouTube video references:
Hexa President: http://www.youtube.com/watch?v=5Ea5HxH2zwM&t=8s
Golden Hexa: http://www.youtube.com/watch?v=3u1ccTo3SGI
*/
/*
Golden Hexa by Yubis
PCBs:
Yuvo PCC116B - maincpu board
- TMPZ84C00AP-8
- 8 MHz XTAL
- maincpu ROM
- 2 x TMP82C55AN-2
- 2 x 8 dips bank
Yuvo PCO124B - sound board
- TMPZ84C00AP-8
- 8 MHz XTAL
- audiocpu ROM
- YMZ280B-F
- sample ROMs
Yuvo PCI117B - I/O board
- connectors and ttl chips
*/
class yuvomz80_state : public driver_device
{
public:
yuvomz80_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
private:
required_device<cpu_device> m_maincpu;
};
static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, yuvomz80_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, yuvomz80_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_mem_map, AS_PROGRAM, 8, yuvomz80_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("audiocpu", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_io_map, AS_PROGRAM, 8, yuvomz80_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
static INPUT_PORTS_START( goldhexa )
INPUT_PORTS_END
static MACHINE_CONFIG_START( yuvomz80 )
MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz)
MCFG_CPU_PROGRAM_MAP(mem_map)
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz)
MCFG_CPU_PROGRAM_MAP(audio_mem_map)
MCFG_CPU_IO_MAP(audio_io_map)
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_8MHz)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
MACHINE_CONFIG_END
ROM_START( goldhexa )
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD( "ghp_program_ver.1.02.ic8", 0x0000, 0x10000, CRC(a21a8cfd) SHA1(324f54ca6e17373138df2854f8c5e77cf78e9434) ) // 1111xxxxxxxxxxxx = 0xFF
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD( "hp-sp_ver.1.01.ic7", 0x0000, 0x2000, CRC(05133b91) SHA1(2fe931e55c503f15aedfb1c1ea14c257f57c564b) ) // 1xxxxxxxxxxxx = 0xFF
ROM_REGION(0x100000, "ymz", 0)
ROM_LOAD( "ghp_pcm-a_ver.1.01.ic12", 0x00000, 0x80000, CRC(08de888b) SHA1(a6b68accb136481f45b65eab33e0bab5212a1daf) )
ROM_LOAD( "ghp_pcm-b_ver.1.01.ic13", 0x80000, 0x80000, CRC(161838c9) SHA1(52b9c324b01702c1164a462af371d82e8c2eea43) )
ROM_END
ROM_START( hexapres )
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD( "hexapres.bin", 0x0000, 0x10000, NO_DUMP )
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD( "ghp_snd.bin", 0x0000, 0x10000, CRC(8933b6ea) SHA1(a66157f2b7407ab374db07bcda34f066740f14dc) )
ROM_REGION(0x100000, "ymz", 0)
ROM_LOAD( "ghp_voia.bin", 0x00000, 0x80000, CRC(cf3e4c43) SHA1(6d348054704d1d0082d6166701ab84cb162b3a26) )
ROM_LOAD( "ghp_voib.bin", 0x80000, 0x80000, CRC(8be745fe) SHA1(840bbb212c8c519f2e4633f8db731fcf3f55635a) )
ROM_END
GAME( 200?, goldhexa, 0, yuvomz80, goldhexa, yuvomz80_state, 0, ROT0, "Yubis", "Golden Hexa", MACHINE_IS_SKELETON_MECHANICAL )
GAME( 200?, hexapres, 0, yuvomz80, goldhexa, yuvomz80_state, 0, ROT0, "Yubis", "Hexa President", MACHINE_IS_SKELETON_MECHANICAL )

View File

@ -14722,6 +14722,7 @@ tbatfor // Tiger
tbatman // Tiger
tbtoads // Tiger
tddragon // Tiger
tgaiden // Tiger
tgaunt // Tiger
tjdredd // Tiger
tkarnov // Tiger
@ -18309,8 +18310,8 @@ marinedt // MG (c) 1981 Taito Corporation
@source:mario.cpp
mario // (c) 1983 Nintendo of America
marioe // (c) 1983 Nintendo of America
mariof // (c) 1983 Nintendo of America
marioj // (c) 1983 Nintendo
marioo // (c) 1983 Nintendo of America
masao // bootleg
@source:markham.cpp
@ -20455,7 +20456,7 @@ edfp // (c) 1991 (Japan, Prototype)
hachoo // (c) 1989
hayaosi1 // (c) 1993
iganinju // (c) 1988 (Japan)
inyourfa // (c) 1988 (Japan)
inyourfa // (c) 1991 (World)
jitsupro // (c) 1989 (Japan)
kazan // (c) 1988 (World)
kickoff // (c) 1988 (Japan)
@ -38794,6 +38795,10 @@ magix // (c) 1995 Yun Sung
magixb // bootleg
rocktris // (c) 1994? Yun Sung
@source:yuvomz80.cpp
goldhexa // Yuvo / Yubis
hexapres //
@source:z100.cpp
z100 //