Merge remote-tracking branch 'origin/master' into netlist_dev

This commit is contained in:
couriersud 2016-06-16 00:23:01 +02:00
commit 8cbac2531e
10 changed files with 98 additions and 24 deletions

View File

@ -1422,6 +1422,28 @@ ROM_START( abc802 )
ROM_LOAD( "abc t02-1.3g", 0x0000, 0x1000, CRC(4d54eed8) SHA1(04cb5fc5f3d7ba9b9a5ae0ec94241d1fe83647f7) ) // 64 90191-01
ROM_REGION( 0x400, "plds", 0 )
/*
1 CLK
2 CUR
3 FC
4 IHS
5 LL
6 ATE
7 ATD
8 AT0
9 AT1
10 GND
11 GND
12 >O1
13 >O0
14
15
16 >RI
17 >RG
18 INV
19 >D
20 Vcc
*/
ROM_LOAD( "abc p2-1.2g", 0x000, 0x400, NO_DUMP ) // PAL16R4
ROM_END
@ -1500,9 +1522,53 @@ ROM_START( abc806 )
//ROM_LOAD( "60 90225-01.11c", 0x000, 0x400, NO_DUMP ) // "VIDEO ATTRIBUTE" 40033A (?)
ROM_REGION( 0x104, "abc_p3", 0 )
/*
1 12MHz
2 DOT
3 RTF
4 GTF
5 BTF
6 RTB
7 GTB
8 BTB
9 SFG
10 GND
11 GND
12 RFG
13 GFG
14 >YL
15 >BL
16 >GL
17 >RL
18 BFG
19 >FGE
20 Vcc
*/
ROM_LOAD( "60 90239-01.1b", 0x000, 0x104, CRC(f3d0ba00) SHA1(bcc0ee26ecac0028aef6bf5cb308133b509bb360) ) // "ABC P3-11" PAL16R4, color encoder
ROM_REGION( 0x104, "abc_p4", 0 )
/*
1 I3
2 A15
3 A14
4 A13
5 A12
6 A11
7 MIL
8 EME
9 ENL
10 GND
11 XML
12 >ROMD
13 HRAL
14 HRBL
15 KDL
16 >HRE
17 RKDL
18 MUX
19 >RAMD
20 Vcc
*/
ROM_LOAD( "60 90240-01.2d", 0x000, 0x104, CRC(3cc5518d) SHA1(343cf951d01c9d361b695bb4e80eaadf0820b6bc) ) // "ABC P4-11" PAL16L8, memory mapper
ROM_END

View File

@ -441,7 +441,7 @@ ROM_START( esha )
ROM_LOAD( "v.c6", 0x300, 0x100, CRC(7157ba22) SHA1(07355f30efe46196d216356eda48a59fc622e43f) )
DISK_REGION( "laserdisc" )
DISK_IMAGE_READONLY( "esh", 0, NO_DUMP )
DISK_IMAGE_READONLY( "esh_ver2_en", 0, SHA1(c04709d95fd92259f013ec1cd28e3e36a163abe1) )
ROM_END
ROM_START( eshb )
@ -465,7 +465,7 @@ ROM_START( eshb )
ROM_LOAD( "v.c6", 0x300, 0x100, CRC(7157ba22) SHA1(07355f30efe46196d216356eda48a59fc622e43f) )
DISK_REGION( "laserdisc" )
DISK_IMAGE_READONLY( "esh", 0, NO_DUMP )
DISK_IMAGE_READONLY( "esh_ver2_en", 0, SHA1(c04709d95fd92259f013ec1cd28e3e36a163abe1) )
ROM_END

View File

@ -2769,7 +2769,7 @@ GAME( 1992, heatbrlo, heatbrl, heatbrl, heatbrl, driver_device, 0, RO
GAME( 1992, heatbrlu, heatbrl, heatbrl, heatbrl, driver_device, 0, ROT0, "TAD Corporation", "Heated Barrel (US)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
GAME( 1992, heatbrle, heatbrl, heatbrl, heatbrl, driver_device, 0, ROT0, "TAD Corporation (Electronic Devices license)", "Heated Barrel (Electronic Devices license)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
GAME( 1993, godzilla, 0, godzilla, godzilla, driver_device, 0, ROT0, "Banpresto", "Godzilla (Japan)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
GAME( 1993, godzilla, 0, godzilla, godzilla, driver_device, 0, ROT0, "Banpresto", "Godzilla (Japan)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1993, grainbow, 0, grainbow, grainbow, driver_device, 0, ROT0, "Banpresto", "SD Gundam Sangokushi Rainbow Tairiku Senki", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
GAME( 1993, denjinmk, 0, denjinmk, denjinmk, legionna_state,denjinmk, ROT0, "Winkysoft (Banpresto license)", "Denjin Makai", MACHINE_IMPERFECT_GRAPHICS )

View File

@ -185,30 +185,28 @@ void raiden2cop_device::device_start()
save_item(NAME(m_LEGACY_r1));
m_videoramout_cb.resolve_safe();
m_byte_endian_val = m_cpu_is_68k ? 3 : 0;
m_word_endian_val = m_cpu_is_68k ? 2 : 0;
}
UINT16 raiden2cop_device::cop_read_word(address_space &space, int address)
{
if (m_cpu_is_68k) return space.read_word(address ^ 2);
else return space.read_word(address);
return space.read_word(address ^ m_word_endian_val);
}
UINT8 raiden2cop_device::cop_read_byte(address_space &space, int address)
{
if (m_cpu_is_68k) return space.read_byte(address ^ 3);
else return space.read_byte(address);
return space.read_byte(address ^ m_byte_endian_val);
}
void raiden2cop_device::cop_write_word(address_space &space, int address, UINT16 data)
{
if (m_cpu_is_68k) space.write_word(address ^ 2, data);
else space.write_word(address, data);
space.write_word(address ^ m_word_endian_val, data);
}
void raiden2cop_device::cop_write_byte(address_space &space, int address, UINT8 data)
{
if (m_cpu_is_68k) space.write_byte(address ^ 3, data);
else space.write_byte(address, data);
space.write_byte(address ^ m_byte_endian_val, data);
}
@ -887,12 +885,9 @@ WRITE16_MEMBER(raiden2cop_device::cop_dma_trigger_w)
}
/* Number Conversion */
WRITE16_MEMBER(raiden2cop_device::cop_itoa_low_w)
void raiden2cop_device::bcd_update()
{
cop_itoa = (cop_itoa & ~UINT32(mem_mask)) | (data & mem_mask);
//int digits = 1 << cop_itoa_mode*2;
//int digits = 1 << cop_itoa_mode*2;
UINT32 val = cop_itoa;
//if(digits > 9)
@ -918,9 +913,19 @@ WRITE16_MEMBER(raiden2cop_device::cop_itoa_low_w)
cop_itoa_digits[9] = 0;
}
WRITE16_MEMBER(raiden2cop_device::cop_itoa_low_w)
{
cop_itoa = (cop_itoa & ~UINT32(mem_mask)) | (data & mem_mask);
bcd_update();
}
WRITE16_MEMBER(raiden2cop_device::cop_itoa_high_w)
{
cop_itoa = (cop_itoa & ~(mem_mask << 16)) | ((data & mem_mask) << 16);
// Godzilla cares, otherwise you get 2p score overflow in 1p vs 2p, TODO: might actually be HW endianness dependant?
bcd_update();
}
WRITE16_MEMBER(raiden2cop_device::cop_itoa_mode_w)

View File

@ -240,10 +240,13 @@ public:
DECLARE_WRITE16_MEMBER(LEGACY_cop_cmd_w);
void cop_collision_update_hitbox(address_space &space, UINT16 data, int slot, UINT32 hitadr);
void cop_collision_update_hitbox(address_space &space, UINT16 data, int slot, UINT32 hitadr);
void bcd_update();
// endian stuff?
int m_cpu_is_68k;
UINT8 m_byte_endian_val;
UINT8 m_word_endian_val;
static void set_cpu_is_68k(device_t &device, int value) { downcast<raiden2cop_device &>(device).m_cpu_is_68k = value; }
UINT16 cop_read_word(address_space &space, int address);
UINT8 cop_read_byte(address_space &space, int address);

View File

@ -80,7 +80,7 @@ typedef std::unique_ptr<char, osd_deleter> osd_utf8_ptr;
// Typedefs for dynamically loaded functions
typedef HRESULT (WINAPI *d2d_create_factory_fn)(D2D1_FACTORY_TYPE, REFIID, const D2D1_FACTORY_OPTIONS *, void **);
typedef HRESULT (*dwrite_create_factory_fn)(DWRITE_FACTORY_TYPE, REFIID, IUnknown **);
typedef HRESULT (WINAPI *dwrite_create_factory_fn)(DWRITE_FACTORY_TYPE, REFIID, IUnknown **);
// Debugging functions
#ifdef DWRITE_DEBUGGING

View File

@ -91,8 +91,8 @@ struct xinput_api_state
};
// Typedefs for dynamically loaded functions
typedef DWORD (*xinput_get_state_fn)(DWORD, XINPUT_STATE *);
typedef DWORD (*xinput_get_caps_fn)(DWORD, DWORD, XINPUT_CAPABILITIES *);
typedef DWORD (WINAPI *xinput_get_state_fn)(DWORD, XINPUT_STATE *);
typedef DWORD (WINAPI *xinput_get_caps_fn)(DWORD, DWORD, XINPUT_CAPABILITIES *);
class xinput_api_helper : public std::enable_shared_from_this<xinput_api_helper>
{

View File

@ -20,7 +20,7 @@
//============================================================
// Typedefs for dynamically loaded functions
typedef HRESULT (*d3dx_create_effect_from_file_fn)(LPDIRECT3DDEVICE9, LPCTSTR, const D3DXMACRO *, LPD3DXINCLUDE, DWORD, LPD3DXEFFECTPOOL, LPD3DXEFFECT *, LPD3DXBUFFER *);
typedef HRESULT (WINAPI *d3dx_create_effect_from_file_fn)(LPDIRECT3DDEVICE9, LPCTSTR, const D3DXMACRO *, LPD3DXINCLUDE, DWORD, LPD3DXEFFECTPOOL, LPD3DXEFFECT *, LPD3DXBUFFER *);
class effect;
class shaders;

View File

@ -25,7 +25,7 @@
// TYPE DEFINITIONS
//============================================================
typedef IDirect3D9* (*d3d9_create_fn)(UINT);
typedef IDirect3D9* (WINAPI *d3d9_create_fn)(UINT);
//============================================================

View File

@ -120,7 +120,7 @@ typedef std::unique_ptr<IXAudio2MasteringVoice, xaudio2_custom_deleter> masterin
typedef std::unique_ptr<IXAudio2SourceVoice, xaudio2_custom_deleter> src_voice_ptr;
// Typedef for pointer to XAudio2Create
typedef HRESULT (*xaudio2_create_ptr)(IXAudio2 **, UINT32, XAUDIO2_PROCESSOR);
typedef HRESULT (WINAPI *xaudio2_create_ptr)(IXAudio2 **, UINT32, XAUDIO2_PROCESSOR);
//============================================================
// Helper classes