mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
e3b280999c
@ -11,7 +11,7 @@ hlslpath [path] Path to the .fx files that are in use.
|
||||
hlsl_prescale_x [horizontal] HLSL pre-scale override factor for X. (0 for auto)
|
||||
hlsl_prescale_y [vertical] HLSL pre-scale override factor for Y. (0 for auto)
|
||||
hlsl_preset -1 through 3 HLSL preset to use. (default: -1)
|
||||
hlsl_write 0/1 Enable HLSL AVI writing. (huge disk bandwidth suggested)
|
||||
hlsl_write [filename] Enable HLSL AVI writing. (huge disk bandwidth suggested)
|
||||
hlsl_snap_width [width] HLSL upscaled-snapshot width. (default: 2048)
|
||||
hlsl_snap_height [height] HLSL upscaled-snapshot height. (default: 1536)
|
||||
|
||||
|
@ -1079,10 +1079,14 @@ INT32 aica_device::UpdateSlot(AICA_SLOT *slot)
|
||||
UINT32 addr1,addr2,addr_select; // current and next sample addresses
|
||||
UINT32 *addr[2] = {&addr1, &addr2}; // used for linear interpolation
|
||||
UINT32 *slot_addr[2] = {&(slot->cur_addr), &(slot->nxt_addr)}; //
|
||||
UINT32 chanlea = LEA(slot);
|
||||
|
||||
if(SSCTL(slot)!=0) //no FM or noise yet
|
||||
return 0;
|
||||
|
||||
if(PCMS(slot) == 3) // Red Dog music relies on this
|
||||
chanlea = (chanlea + 3) & ~3;
|
||||
|
||||
if(PLFOS(slot)!=0)
|
||||
{
|
||||
step=step*AICAPLFO_Step(&(slot->PLFO));
|
||||
@ -1130,7 +1134,7 @@ INT32 aica_device::UpdateSlot(AICA_SLOT *slot)
|
||||
int cur_sample; //current ADPCM sample
|
||||
int nxt_sample; //next ADPCM sample
|
||||
INT32 fpart=slot->cur_addr&((1<<SHIFT)-1);
|
||||
UINT32 steps_to_go = addr2, curstep = slot->curstep;
|
||||
UINT32 steps_to_go = addr1 > addr2 ? chanlea : addr2, curstep = slot->curstep;
|
||||
|
||||
if (slot->adbase)
|
||||
{
|
||||
@ -1186,19 +1190,19 @@ INT32 aica_device::UpdateSlot(AICA_SLOT *slot)
|
||||
switch(LPCTL(slot))
|
||||
{
|
||||
case 0: //no loop
|
||||
if(*addr[addr_select]>=LSA(slot) && *addr[addr_select]>=LEA(slot))
|
||||
if(*addr[addr_select]>=LSA(slot) && *addr[addr_select]>=chanlea)
|
||||
{
|
||||
StopSlot(slot,0);
|
||||
}
|
||||
break;
|
||||
case 1: //normal loop
|
||||
if(*addr[addr_select]>=LEA(slot))
|
||||
if(*addr[addr_select]>=chanlea)
|
||||
{
|
||||
slot->lpend = 1;
|
||||
rem_addr = *slot_addr[addr_select] - (LEA(slot)<<SHIFT);
|
||||
rem_addr = *slot_addr[addr_select] - (chanlea<<SHIFT);
|
||||
*slot_addr[addr_select]=(LSA(slot)<<SHIFT) + rem_addr;
|
||||
|
||||
if(PCMS(slot)>=2)
|
||||
if(PCMS(slot)>=2 && addr_select == 0)
|
||||
{
|
||||
// restore the state @ LSA - the sampler will naturally walk to (LSA + remainder)
|
||||
slot->adbase = &m_AICARAM[SA(slot)+(LSA(slot)/2)];
|
||||
|
@ -310,6 +310,54 @@ ROM_START( sukuinuf )
|
||||
DISK_IMAGE_READONLY( "hm-in2", 0, SHA1(4e2d95798a2bcc6f93bc82c364379a3936d68986) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( taiko7 )
|
||||
ROM_REGION(0x200000, "bios", 0)
|
||||
SYSTEM246_BIOS
|
||||
|
||||
ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
|
||||
ROM_LOAD( "tk71.ic002", 0x000000, 0x800000, CRC(0560e525) SHA1(3ae378de908ec2f6472867d4d0c3c19eb51cf8bc) )
|
||||
ROM_LOAD( "tk71_spr.ic002", 0x800000, 0x040000, CRC(245233a5) SHA1(a5dd1eb0350d454396984241c1178ec708a7de55) )
|
||||
|
||||
DISK_REGION("dvd")
|
||||
DISK_IMAGE_READONLY( "tk71dvd0", 0, SHA1(622ffc8f71f50e93069a8e91b56a7e63cf98b5ae) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( taiko8 )
|
||||
ROM_REGION(0x200000, "bios", 0)
|
||||
SYSTEM246_BIOS
|
||||
|
||||
ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
|
||||
ROM_LOAD( "tk81001-na-a.ic002", 0x000000, 0x800000, CRC(205410cf) SHA1(8379771d82c9d8b09ad593e28872107ecc0100ad) )
|
||||
ROM_LOAD( "tk81001-na-a_spr.ic002", 0x800000, 0x040000, CRC(590c8d80) SHA1(30622142428e37b8c3b91dee7fdd147d593b4d6f) )
|
||||
|
||||
DISK_REGION("dvd")
|
||||
DISK_IMAGE_READONLY( "tk8100-1-na-dvd0-a", 0, SHA1(81a2a9d7164495af825ad038fbf6f696e755ab9c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( zoidsinf )
|
||||
ROM_REGION(0x200000, "bios", 0)
|
||||
SYSTEM246_BIOS
|
||||
|
||||
ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
|
||||
ROM_LOAD( "b3900076a.ic002", 0x000000, 0x800000, CRC(4cdc2e4f) SHA1(7c53e519683903e5ae53823b7d0644323be23680) )
|
||||
ROM_LOAD( "b3900076a_spr.ic002", 0x800000, 0x040000, CRC(7a7bf195) SHA1(0970251ba203720b2b769d6195bff06b41931b17) )
|
||||
|
||||
DISK_REGION("dvd")
|
||||
DISK_IMAGE_READONLY( "zoidsinf", 0, SHA1(aca35eb554bf906898b3ebc27e65f652a72d63f8) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( zoidiexp )
|
||||
ROM_REGION(0x200000, "bios", 0)
|
||||
SYSTEM246_BIOS
|
||||
|
||||
ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
|
||||
ROM_LOAD( "b3900107a.ic002", 0x000000, 0x800000, CRC(1729af4a) SHA1(df5fb0841f4a81aae68382f731b96437572cdffd) )
|
||||
ROM_LOAD( "b3900107a_spr.ic002", 0x800000, 0x040000, CRC(b3d56cd4) SHA1(1e0afeba4881892682d1f91be8e0b880ee7a7fcb) )
|
||||
|
||||
DISK_REGION("dvd")
|
||||
DISK_IMAGE_READONLY( "zoidsinf-ex-plus-ver2-10", 0, SHA1(6671afc45c8b506a15e5b4b09645b956ab4cfe99) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( taiko9 )
|
||||
ROM_REGION(0x200000, "bios", 0)
|
||||
SYSTEM256_BIOS
|
||||
@ -693,9 +741,12 @@ GAME(2003, zgundm, sys246, system246, system246, driver_device, 0, ROT0, "Ca
|
||||
GAME(2004, fghtjam, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Namco", "Capcom Fighting Jam (JAM1 Ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2004, sukuinuf, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Quiz and Variety Suku Suku Inufuku 2 (IN2 Ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2004, zgundmdx, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Banpresto", "Mobile Suit Z-Gundam: A.E.U.G. vs Titans DX (ZDX1 Ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2004, zoidsinf, sys246, system246, system246, driver_device, 0, ROT0, "Tomy / Taito", "Zoids Infinity", GAME_IS_SKELETON)
|
||||
GAME(2005, gundzaft, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Banpresto", "Gundam Seed: Federation vs. Z.A.F.T. (SED1 Ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2005, soulclb3, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur III (SC31001-NA-A)", GAME_IS_SKELETON)
|
||||
GAME(2005, soulclb3a,soulclb3, system246, system246, driver_device, 0, ROT0, "Namco", "Soul Calibur III (SC31002-NA-A)", GAME_IS_SKELETON)
|
||||
GAME(2005, taiko7, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Taiko No Tatsujin 7 (TK71-NA-A)", GAME_IS_SKELETON)
|
||||
GAME(2006, taiko8, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Taiko No Tatsujin 8 (TK8100-1-NA-A)", GAME_IS_SKELETON)
|
||||
GAME(2006, qgundam, sys246, system246, system246, driver_device, 0, ROT0, "Namco", "Quiz Mobile Suit Gundam: Monsenshi (QG1 Ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2008, fateulc, sys246, system246, system246, driver_device, 0, ROT0, "Capcom / Namco", "Fate: Unlimited Codes (FUD1 ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2008, fateulcb, fateulc, system246, system246, driver_device, 0, ROT0, "bootleg", "Fate: Unlimited Codes (bootleg)", GAME_IS_SKELETON)
|
||||
@ -709,6 +760,7 @@ GAME(2005, superdbz, sys256, system256, system246, driver_device, 0, ROT0, "Ba
|
||||
GAME(2006, kinniku, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Kinnikuman Muscle Grand Prix (KN1 Ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2006, taiko9, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Taiko No Tatsujin 9 (TK91001-NA-A)", GAME_IS_SKELETON)
|
||||
GAME(2006, yuyuhaku, sys256, system256, system246, driver_device, 0, ROT0, "Banpresto", "The Battle of Yu Yu Hakusho: Shitou! Ankoku Bujutsukai!", GAME_IS_SKELETON)
|
||||
GAME(2006, zoidiexp, sys246, system246, system246, driver_device, 0, ROT0, "Tomy / Taito", "Zoids Infinity EX Plus (ver. 2.10)", GAME_IS_SKELETON)
|
||||
GAME(2007, kinniku2, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Kinnikuman Muscle Grand Prix 2 (KN2 Ver. A)", GAME_IS_SKELETON)
|
||||
GAME(2007, taiko10, sys256, system256, system246, driver_device, 0, ROT0, "Namco", "Taiko No Tatsujin 10 (T101001-NA-A)", GAME_IS_SKELETON)
|
||||
GAME(2008, gdvsgd, sys256, system256, system246, driver_device, 0, ROT0, "Capcom / Bandai", "Gundam vs. Gundam (GVS1 Ver. A)", GAME_IS_SKELETON)
|
||||
|
@ -1122,9 +1122,12 @@ zgundm
|
||||
fghtjam
|
||||
sukuinuf
|
||||
zgundmdx
|
||||
zoidsinf
|
||||
gundzaft
|
||||
soulclb3
|
||||
soulclb3a
|
||||
taiko7
|
||||
taiko8
|
||||
qgundam
|
||||
fateulc
|
||||
fateulcb
|
||||
@ -1139,6 +1142,7 @@ kinniku
|
||||
kinniku2
|
||||
taiko9
|
||||
yuyuhaku
|
||||
zoidiexp
|
||||
taiko10
|
||||
gdvsgd
|
||||
gdvsgdnx
|
||||
|
@ -1421,10 +1421,10 @@ WRITE16_MEMBER(hh_tms1k_state::simon_write_r)
|
||||
// R7 -> 75494 IN2 -> blue lamp
|
||||
display_matrix(4, 1, data >> 4, 1);
|
||||
|
||||
// R8 -> 75494 IN0 -> speaker
|
||||
// R8 -> 75494 IN0 -> speaker out
|
||||
m_speaker->level_w(data >> 8 & 1);
|
||||
|
||||
// R0,R1,R2,R9: input mux
|
||||
// R0-R2,R9: input mux
|
||||
// R3: GND
|
||||
// other bits: N/C
|
||||
m_inp_mux = (data & 7) | (data >> 6 & 8);
|
||||
@ -1450,19 +1450,19 @@ static INPUT_PORTS_START( simon )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.1") // R1
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Green Button")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Red Button")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Yellow Button")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("Blue Button")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Green Button")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Red Button")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Yellow Button")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Blue Button")
|
||||
|
||||
PORT_START("IN.2") // R2
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_NAME("Start")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Last")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Longest")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Last")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Longest")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.3") // R9
|
||||
PORT_CONFNAME( 0x0f, 0x01, "Skill Level")
|
||||
PORT_CONFNAME( 0x0f, 0x02, "Skill Level")
|
||||
PORT_CONFSETTING( 0x02, "1" )
|
||||
PORT_CONFSETTING( 0x04, "2" )
|
||||
PORT_CONFSETTING( 0x08, "3" )
|
||||
@ -1504,6 +1504,17 @@ MACHINE_CONFIG_END
|
||||
|
||||
WRITE16_MEMBER(hh_tms1k_state::ssimon_write_r)
|
||||
{
|
||||
// R0-R3,R9,R10: input mux
|
||||
m_inp_mux = (data & 0xf) | (data >> 5 & 0x30);
|
||||
|
||||
// R4: yellow lamps
|
||||
// R5: green lamps
|
||||
// R6: blue lamps
|
||||
// R7: red lamps
|
||||
display_matrix(4, 1, data >> 4, 1);
|
||||
|
||||
// R8: speaker out
|
||||
m_speaker->level_w(data >> 8 & 1);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(hh_tms1k_state::ssimon_write_o)
|
||||
@ -1513,18 +1524,62 @@ WRITE16_MEMBER(hh_tms1k_state::ssimon_write_o)
|
||||
|
||||
READ8_MEMBER(hh_tms1k_state::ssimon_read_k)
|
||||
{
|
||||
return 0;
|
||||
return read_inputs(6);
|
||||
}
|
||||
|
||||
|
||||
static INPUT_PORTS_START( ssimon )
|
||||
PORT_START("IN.0") // R0
|
||||
PORT_CONFNAME( 0x0f, 0x01, "Game Select")
|
||||
PORT_CONFSETTING( 0x01, "1" )
|
||||
PORT_CONFSETTING( 0x02, "2" )
|
||||
PORT_CONFSETTING( 0x04, "3" )
|
||||
PORT_CONFSETTING( 0x08, "4" )
|
||||
PORT_CONFSETTING( 0x00, "5" )
|
||||
|
||||
PORT_START("IN.1") // R1
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 Yellow Button")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Green Button")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Blue Button")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Red Button")
|
||||
|
||||
PORT_START("IN.2") // R2
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_NAME("Start")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Last")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Longest")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Decision")
|
||||
|
||||
PORT_START("IN.3") // R3
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Yellow Button")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Green Button")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Blue Button")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Red Button")
|
||||
|
||||
PORT_START("IN.4") // R9
|
||||
PORT_CONFNAME( 0x0f, 0x02, "Skill Level")
|
||||
PORT_CONFSETTING( 0x00, "Head-to-Head" ) // this sets R10 K2, see below
|
||||
PORT_CONFSETTING( 0x02, "1" )
|
||||
PORT_CONFSETTING( 0x04, "2" )
|
||||
PORT_CONFSETTING( 0x08, "3" )
|
||||
PORT_CONFSETTING( 0x01, "4" )
|
||||
|
||||
PORT_START("IN.5") // R10
|
||||
PORT_BIT( 0x02, 0x02, IPT_SPECIAL ) PORT_CONDITION("IN.4", 0x0f, EQUALS, 0x00)
|
||||
PORT_BIT( 0x02, 0x00, IPT_SPECIAL ) PORT_CONDITION("IN.4", 0x0f, NOTEQUALS, 0x00)
|
||||
PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.6") // fake
|
||||
PORT_CONFNAME( 0x03, 0x00, "Speed" ) //PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, ssimon_speed_switch, NULL)
|
||||
PORT_CONFSETTING( 0x00, "Simple" )
|
||||
PORT_CONFSETTING( 0x01, "Normal" )
|
||||
PORT_CONFSETTING( 0x02, "Super" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( ssimon, hh_tms1k_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS1000, 350000) // x
|
||||
MCFG_CPU_ADD("maincpu", TMS1100, 350000) // x
|
||||
MCFG_TMS1XXX_READ_K_CB(READ8(hh_tms1k_state, ssimon_read_k))
|
||||
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(hh_tms1k_state, ssimon_write_r))
|
||||
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(hh_tms1k_state, ssimon_write_o))
|
||||
|
@ -5,6 +5,24 @@
|
||||
|
||||
<element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
|
||||
<element name="lamp_r" defstate="0">
|
||||
<rect state="0"><color red="0.5" green="0.15" blue="0.1" /></rect>
|
||||
<rect state="1"><color red="1.0" green="0.4" blue="0.28" /></rect>
|
||||
</element>
|
||||
<element name="lamp_b" defstate="0">
|
||||
<rect state="0"><color red="0.1" green="0.15" blue="0.5" /></rect>
|
||||
<rect state="1"><color red="0.3" green="0.42" blue="1.0" /></rect>
|
||||
</element>
|
||||
<element name="lamp_g" defstate="0">
|
||||
<rect state="0"><color red="0.15" green="0.5" blue="0.1" /></rect>
|
||||
<rect state="1"><color red="0.52" green="1.0" blue="0.4" /></rect>
|
||||
</element>
|
||||
<element name="lamp_y" defstate="0">
|
||||
<rect state="0"><color red="0.5" green="0.45" blue="0.1" /></rect>
|
||||
<rect state="1"><color red="1.0" green="0.93" blue="0.4" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
@ -14,6 +32,11 @@
|
||||
<bounds left="0" right="64" top="0" bottom="64" />
|
||||
</bezel>
|
||||
|
||||
<bezel name="lamp3" element="lamp_r"><bounds x="0" y="0" width="10" height="10" /></bezel>
|
||||
<bezel name="lamp2" element="lamp_b"><bounds x="10" y="0" width="10" height="10" /></bezel>
|
||||
<bezel name="lamp1" element="lamp_g"><bounds x="20" y="0" width="10" height="10" /></bezel>
|
||||
<bezel name="lamp0" element="lamp_y"><bounds x="30" y="0" width="10" height="10" /></bezel>
|
||||
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
||||
|
Loading…
Reference in New Issue
Block a user