mirror of
https://github.com/holub/mame
synced 2025-06-01 02:21:48 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
5e875db34d
@ -1505,7 +1505,7 @@
|
||||
. NGM-024
|
||||
NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
|
||||
. NGH-024
|
||||
|
||||
|
||||
. prototype
|
||||
NEO-MVS PROG-EP / NEO-MVS CHA-EPG
|
||||
***************************************-->
|
||||
|
@ -17,7 +17,7 @@
|
||||
<rom name="0BE311.bin" size="0x100000" crc="bf9da3ea" sha1="423266d16f6fecc367223c45658e3802176f1f7a" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
@ -17,12 +17,12 @@
|
||||
<rom name="2BB113.pc2" size="0x400000" crc="4e0b65b4" sha1="3a8ded7174ad8e0003604dca4ea158eeefac4610" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<!-- *PS : Chuugaku Chiri Rekishi Pack (Chiri Soft Rekishi Soft Kanzen Taiouban)-->
|
||||
|
||||
|
||||
<software name="chuuchir" supported="no" >
|
||||
<description>Chuugaku Chiri Rekishi Pack (Chiri Soft Rekishi Soft Kanzen Taiouban) (2PS - 2BD400)</description>
|
||||
<year>2002</year>
|
||||
@ -33,10 +33,10 @@
|
||||
<rom name="2BD400.pc2" size="0x400000" crc="93454b4a" sha1="3d820b91bb0fed87fc9343a8bc57c81256e4c490" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</software>
|
||||
|
||||
<software name="chuuchir4" cloneof="chuuchir" supported="no" >
|
||||
<description>Chuugaku Chiri Rekishi Pack (Chiri Soft Rekishi Soft Kanzen Taiouban) (4PS - 4BD400)</description>
|
||||
<year>2004</year>
|
||||
@ -47,9 +47,9 @@
|
||||
<rom name="4BD400.pc2" size="0x400000" crc="4cfd118d" sha1="8b395327209dae56461ef792cd2183d803e4687d" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
</software>
|
||||
|
||||
<software name="chuuchir6" cloneof="chuuchir" supported="no" >
|
||||
<description>Chuugaku Chiri Rekishi Pack (Chiri Soft Rekishi Soft Kanzen Taiouban) (6PS - 6FD400)</description>
|
||||
@ -61,12 +61,12 @@
|
||||
<rom name="6FD400.pc2" size="0x400000" crc="0ac0e39d" sha1="1c47daf71ef4277fcf3eabfa4697827c7c322867" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- *PL : Chuugaku Rika Pack (1bunya Soft 2bunya Soft Kanzen Taiouban) -->
|
||||
|
||||
</software>
|
||||
|
||||
<!-- *PL : Chuugaku Rika Pack (1bunya Soft 2bunya Soft Kanzen Taiouban) -->
|
||||
|
||||
<software name="chuurika" supported="no" >
|
||||
<description>Chuugaku Rika Pack (1bunya Soft 2bunya Soft Kanzen Taiouban) (2PL - 2BF400)</description>
|
||||
<year>2002</year>
|
||||
@ -77,9 +77,9 @@
|
||||
<rom name="2BF400.pc2" size="0x200000" crc="75379357" sha1="791cd70cc9dc49a7ff38cc22a374c7d19eef1f70" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
</software>
|
||||
|
||||
<software name="chuurika6" cloneof="chuurika" supported="no" >
|
||||
<description>Chuugaku Rika Pack (1bunya Soft 2bunya Soft Kanzen Taiouban) (6PL 6FF400)</description>
|
||||
@ -91,12 +91,12 @@
|
||||
<rom name="6FF400.pc2" size="0x400000" crc="fc46a921" sha1="5b2fd488c6ab734dcf8893509589a751458ce977" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
</software>
|
||||
|
||||
<!-- *BG : Jitsugi 4kyouka (Gijutsu Katei Hoken Taiiku Ongaku Bijutsu) -->
|
||||
|
||||
|
||||
<software name="jitsugi" supported="no" >
|
||||
<description>Jitsugi 4kyouka (Gijutsu Katei Hoken Taiiku Ongaku Bijutsu) (2BG - 2BG410)</description>
|
||||
<year>2002</year>
|
||||
@ -107,10 +107,10 @@
|
||||
<rom name="2BG410.pc2" size="0x400000" crc="84b430e9" sha1="bb1de1f0fc80a85f3b7fb7e53ed04718855aaf0b" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</software>
|
||||
|
||||
<software name="jitsugi3" cloneof="jitsugi" supported="no" >
|
||||
<description>Jitsugi 4kyouka (Gijutsu Katei Hoken Taiiku Ongaku Bijutsu) (3BG - 3BG410)</description>
|
||||
<year>2002</year>
|
||||
@ -121,12 +121,12 @@
|
||||
<rom name="3BG410.pc2" size="0x400000" crc="2ff15e1a" sha1="f6c61d95fb26063c9d49ed0f36169aafbd6a3738" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</software>
|
||||
|
||||
<!-- *JA : Chuu1 Kokugo Hyakunin Isshu -->
|
||||
|
||||
|
||||
<software name="chuukoku" supported="no" >
|
||||
<description>Chuu1 Kokugo Hyakunin Isshu (2JA - 2BK401)</description>
|
||||
<year>2002</year>
|
||||
@ -137,9 +137,9 @@
|
||||
<rom name="2BK401.pc2" size="0x400000" crc="b9d67f24" sha1="15c86cf056f680b91f2a6c15329bb31b44e030c6" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
</software>
|
||||
|
||||
<!-- *2M1 : Chuu1 Kokugo Hyakunin Isshu -->
|
||||
|
||||
@ -153,14 +153,14 @@
|
||||
<rom name="2BM110.pc2" size="0x200000" crc="723a239d" sha1="a21d7c39ef64a37e0055c17d97c2ae7da29b8240" offset="000000" />
|
||||
</dataarea>
|
||||
<dataarea name="sram" size="0x2000">
|
||||
</dataarea>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</software>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</softwarelist>
|
||||
|
||||
|
@ -73,7 +73,7 @@ Amoured Assault SD233C // Was availible on Cartridge and/or Tape
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<!-- http://www.pouet.net/prod.php?which=65911 -->
|
||||
<software name="prerelea">
|
||||
<description>Pre-Release</description>
|
||||
|
@ -104,8 +104,8 @@ Battlefighter (Original) (Unreleased - Prototype Stage)
|
||||
<rom name="MahJongg(JP).BIN" size="0x4000" crc="127241ec" sha1="8b9ea7fc592e673e93cfae1bfc458bfab4a52600" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</software>
|
||||
|
||||
<software name="baseball">
|
||||
<description>Baseball [3D] (Jpn)</description>
|
||||
<year>1984</year>
|
||||
@ -130,8 +130,8 @@ Battlefighter (Original) (Unreleased - Prototype Stage)
|
||||
<rom name="Battlefighter(JP).BIN" size="0x8000" crc="e507480a" sha1="acb478e71f771854827217dd95472572759cb9d8" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</software>
|
||||
|
||||
<software name="bombman">
|
||||
<description>Bombman (Jpn)</description>
|
||||
<year>1982</year>
|
||||
@ -423,8 +423,8 @@ Battlefighter (Original) (Unreleased - Prototype Stage)
|
||||
<rom name="SuperBike(JP).BIN" size="0x4000" crc="d66d2bc4" sha1="1941a4746b6ed0664dde0816966bc892d99691f6" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</software>
|
||||
|
||||
<!-- Torpedo and Bermuda Triangle are confirmed as using the exact same ROM data -->
|
||||
<software name="torpedo">
|
||||
<!-- Stock No: 8101, Clone of Bermuda Triangle (Japanese 020E)-->
|
||||
|
@ -786,7 +786,7 @@ function createMAMEProjects(_target, _subtarget, _name)
|
||||
includedirs {
|
||||
ext_includedir("flac"),
|
||||
}
|
||||
|
||||
|
||||
end
|
||||
|
||||
function createProjects_mame_arcade(_target, _subtarget)
|
||||
|
@ -5,7 +5,7 @@
|
||||
pcxporter.cpp
|
||||
|
||||
Implementation of the Applied Engineering PC Transporter card
|
||||
Preliminary version by R. Belmont
|
||||
Preliminary version by R. Belmont
|
||||
|
||||
The PC Transporter is basically a PC-XT on an Apple II card.
|
||||
Features include:
|
||||
@ -20,29 +20,29 @@
|
||||
- PC-style floppy controller: supports 360K 5.25" disks and 720K 3.5" disks
|
||||
- HDD controller which is redirected to a file on the Apple's filesystem
|
||||
|
||||
The V30 BIOS is downloaded by the Apple; the Apple also writes text to the CGA screen prior to
|
||||
The V30 BIOS is downloaded by the Apple; the Apple also writes text to the CGA screen prior to
|
||||
the V30's being launched.
|
||||
|
||||
The board was developed by The Engineering Department, a company made up mostly of early Apple
|
||||
The board was developed by The Engineering Department, a company made up mostly of early Apple
|
||||
engineers including Apple /// designer Dr. Wendall Sander and ProDOS creator Dick Huston.
|
||||
|
||||
Software and user documentation at:
|
||||
Software and user documentation at:
|
||||
http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/CPU/AE%20PC%20Transporter/
|
||||
|
||||
Notes:
|
||||
Registers live at CFxx; access CFFF to clear C800 reservation,
|
||||
then read Cn00 to map C800-CFFF first.
|
||||
|
||||
Registers live at CFxx; access CFFF to clear C800 reservation,
|
||||
then read Cn00 to map C800-CFFF first.
|
||||
|
||||
PC RAM from 0xA0000-0xAFFFF is where the V30 BIOS is downloaded,
|
||||
plus used for general storage by the system.
|
||||
RAM from 0xB0000-0xBFFFF is the CGA framebuffer as usual.
|
||||
|
||||
CF00: PC memory pointer (bits 0-7)
|
||||
CF01: PC memory pointer (bits 8-15)
|
||||
CF02: PC memory pointer (bits 16-23)
|
||||
CF03: read/write PC memory at the pointer and increment the pointer
|
||||
CF04: read/write PC memory at the pointer and *don't* increment the pointer
|
||||
|
||||
CF00: PC memory pointer (bits 0-7)
|
||||
CF01: PC memory pointer (bits 8-15)
|
||||
CF02: PC memory pointer (bits 16-23)
|
||||
CF03: read/write PC memory at the pointer and increment the pointer
|
||||
CF04: read/write PC memory at the pointer and *don't* increment the pointer
|
||||
|
||||
TODO:
|
||||
- A2 probably also can access the V30's I/O space: where's that at? CF0E/CF0F
|
||||
are suspects...
|
||||
@ -172,7 +172,7 @@ void a2bus_pcxporter_device::write_cnxx(address_space &space, UINT8 offset, UINT
|
||||
|
||||
UINT8 a2bus_pcxporter_device::read_c800(address_space &space, UINT16 offset)
|
||||
{
|
||||
// printf("Read C800 at %x\n", offset + 0xc800);
|
||||
// printf("Read C800 at %x\n", offset + 0xc800);
|
||||
|
||||
if (offset < 0x400)
|
||||
{
|
||||
@ -193,12 +193,12 @@ UINT8 a2bus_pcxporter_device::read_c800(address_space &space, UINT16 offset)
|
||||
case 0x702:
|
||||
return (m_offset >> 16) & 0xff;
|
||||
|
||||
case 0x703: // read with increment
|
||||
case 0x703: // read with increment
|
||||
rv = m_ram[m_offset];
|
||||
m_offset++;
|
||||
return rv;
|
||||
|
||||
case 0x704: // read w/o increment
|
||||
case 0x704: // read w/o increment
|
||||
rv = m_ram[m_offset];
|
||||
return rv;
|
||||
}
|
||||
@ -222,27 +222,27 @@ void a2bus_pcxporter_device::write_c800(address_space &space, UINT16 offset, UIN
|
||||
case 0x700:
|
||||
m_offset &= ~0xff;
|
||||
m_offset |= data;
|
||||
// printf("offset now %x (PC=%x)\n", m_offset, space.device().safe_pc());
|
||||
// printf("offset now %x (PC=%x)\n", m_offset, space.device().safe_pc());
|
||||
break;
|
||||
|
||||
case 0x701:
|
||||
m_offset &= ~0xff00;
|
||||
m_offset |= (data<<8);
|
||||
// printf("offset now %x (PC=%x)\n", m_offset, space.device().safe_pc());
|
||||
// printf("offset now %x (PC=%x)\n", m_offset, space.device().safe_pc());
|
||||
break;
|
||||
|
||||
case 0x702:
|
||||
m_offset &= ~0xff0000;
|
||||
m_offset |= (data<<16);
|
||||
// printf("offset now %x (PC=%x)\n", m_offset, space.device().safe_pc());
|
||||
// printf("offset now %x (PC=%x)\n", m_offset, space.device().safe_pc());
|
||||
break;
|
||||
|
||||
case 0x703: // write w/increment
|
||||
case 0x703: // write w/increment
|
||||
m_ram[m_offset] = data;
|
||||
m_offset++;
|
||||
break;
|
||||
|
||||
case 0x704: // write w/o increment
|
||||
case 0x704: // write w/o increment
|
||||
m_ram[m_offset] = data;
|
||||
break;
|
||||
|
||||
|
@ -50,4 +50,3 @@ private:
|
||||
|
||||
// device type definition
|
||||
extern const device_type A2BUS_PCXPORTER;
|
||||
|
||||
|
@ -172,7 +172,9 @@ void ngbootleg_prot_device::install_kof10th_protection (cpu_device* maincpu, neo
|
||||
maincpu->space(AS_PROGRAM).install_write_handler(0x240000, 0x2fffff, write16_delegate(FUNC(ngbootleg_prot_device::kof10th_bankswitch_w),this));
|
||||
memcpy(m_cartridge_ram2, cpurom + 0xe0000, 0x20000);
|
||||
|
||||
save_pointer(NAME(m_fixedrom), 0x40000);
|
||||
// HACK: only save this at device_start (not allowed later)
|
||||
if (machine().phase() <= MACHINE_PHASE_INIT)
|
||||
save_pointer(NAME(m_fixedrom), 0x40000);
|
||||
}
|
||||
|
||||
void ngbootleg_prot_device::decrypt_kof10th(UINT8* cpurom, UINT32 cpurom_size)
|
||||
|
@ -8,9 +8,9 @@
|
||||
|
||||
/*
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
- everything
|
||||
- everything
|
||||
|
||||
*/
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
#define ADC0809_TAG "427"
|
||||
#define DAC0808_TAG "461"
|
||||
#define Z80CTC_TAG "458"
|
||||
#define RS232_TAG "rs232"
|
||||
#define RS232_TAG "rs232"
|
||||
|
||||
|
||||
|
||||
|
@ -26,7 +26,7 @@ const device_type NEWBRAIN_EXPANSION_SLOT = &device_creator<newbrain_expansion_s
|
||||
// device_newbrain_expansion_slot_interface - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
device_newbrain_expansion_slot_interface::device_newbrain_expansion_slot_interface(const machine_config &mconfig, device_t &device) :
|
||||
device_newbrain_expansion_slot_interface::device_newbrain_expansion_slot_interface(const machine_config &mconfig, device_t &device) :
|
||||
device_slot_card_interface(mconfig,device)
|
||||
{
|
||||
m_slot = dynamic_cast<newbrain_expansion_slot_t *>(device.owner());
|
||||
|
@ -70,7 +70,7 @@
|
||||
class device_newbrain_expansion_slot_interface;
|
||||
|
||||
class newbrain_expansion_slot_t : public device_t,
|
||||
public device_slot_interface
|
||||
public device_slot_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
|
@ -8,10 +8,10 @@
|
||||
|
||||
/*
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
- map d413 ROM to computer space
|
||||
- paging
|
||||
- map d413 ROM to computer space
|
||||
- paging
|
||||
|
||||
*/
|
||||
|
||||
|
@ -115,26 +115,26 @@ WRITE8_MEMBER( svi_expander_device::iorq_w )
|
||||
|
||||
WRITE_LINE_MEMBER( svi_expander_device::bk21_w )
|
||||
{
|
||||
if (m_module)
|
||||
m_module->bk21_w(state);
|
||||
if (m_module)
|
||||
m_module->bk21_w(state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( svi_expander_device::bk22_w )
|
||||
{
|
||||
if (m_module)
|
||||
m_module->bk22_w(state);
|
||||
if (m_module)
|
||||
m_module->bk22_w(state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( svi_expander_device::bk31_w )
|
||||
{
|
||||
if (m_module)
|
||||
m_module->bk31_w(state);
|
||||
if (m_module)
|
||||
m_module->bk31_w(state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER( svi_expander_device::bk32_w )
|
||||
{
|
||||
if (m_module)
|
||||
m_module->bk32_w(state);
|
||||
if (m_module)
|
||||
m_module->bk32_w(state);
|
||||
}
|
||||
|
||||
|
||||
|
@ -48,8 +48,7 @@
|
||||
|
||||
#define MCFG_SVI_EXPANDER_BUS_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, SVI_EXPANDER, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(svi_expander_modules, NULL, false) \
|
||||
|
||||
MCFG_DEVICE_SLOT_INTERFACE(svi_expander_modules, NULL, false)
|
||||
#define MCFG_SVI_EXPANDER_INT_HANDLER(_devcb) \
|
||||
devcb = &svi_expander_device::set_int_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
SV-807 64k memory expansion for SVI-318/328
|
||||
|
||||
TODO:
|
||||
- Switch S6 (but needs to be off for the SVI anyway)
|
||||
TODO:
|
||||
- Switch S6 (but needs to be off for the SVI anyway)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -143,7 +143,7 @@ public:
|
||||
|
||||
void presave();
|
||||
void postload();
|
||||
|
||||
|
||||
void clear_all(void);
|
||||
|
||||
virtual UINT32 disasm_min_opcode_bytes() const override { return 2; };
|
||||
|
@ -102,14 +102,14 @@ UINT32 tms0980_cpu_device::decode_fixed(UINT16 op)
|
||||
{
|
||||
UINT32 decode = 0;
|
||||
UINT32 mask = m_ipla->read(op);
|
||||
|
||||
|
||||
// 1 line per PLA row, no OR-mask
|
||||
const UINT32 id[15] = { F_LDP, F_SBL, F_OFF, F_RBIT, F_SAL, F_XDA, F_REAC, F_SETR, F_RETN, F_SBIT, F_TDO, F_COMX8, F_COMX, F_LDX, F_SEAC };
|
||||
|
||||
for (int bit = 0; bit < 15; bit++)
|
||||
if (mask & (0x80 << bit))
|
||||
decode |= id[bit];
|
||||
|
||||
|
||||
return decode;
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
/*
|
||||
|
||||
TMS1000 family - base/shared
|
||||
|
||||
|
||||
Don't include this file, include the specific device header instead,
|
||||
for example tms1000.h
|
||||
|
||||
|
@ -230,7 +230,7 @@ static offs_t tms1k_dasm(char *dst, const UINT8 *oprom, const UINT8 *lut_mnemoni
|
||||
UINT16 op = oprom[pos++];
|
||||
if (opcode_mask & 0x100)
|
||||
op = (op << 8 | oprom[pos++]) & 0x1ff;
|
||||
|
||||
|
||||
// convert to mnemonic/param
|
||||
UINT16 instr = lut_mnemonic[op];
|
||||
dst += sprintf(dst, "%-8s ", s_mnemonic[instr]);
|
||||
|
@ -3,7 +3,7 @@
|
||||
/*
|
||||
|
||||
TMS1000 family - TP0320
|
||||
|
||||
|
||||
TODO:
|
||||
- lots
|
||||
|
||||
@ -88,7 +88,7 @@ void tp0320_cpu_device::device_reset()
|
||||
{
|
||||
// common reset
|
||||
tms0980_cpu_device::device_reset();
|
||||
|
||||
|
||||
// fixed instructionset isn't fully understood yet
|
||||
m_fixed_decode[0x19] = F_XDA;
|
||||
m_fixed_decode[0xb0] = F_TDO;
|
||||
|
@ -99,7 +99,7 @@ void gt64xxx_device::device_reset()
|
||||
m_reg[GREG_CS3_HI] = 0xfb;
|
||||
m_reg[GREG_CSBOOT_LO] = 0xfc;
|
||||
m_reg[GREG_CSBOOT_HI] = 0xff;
|
||||
|
||||
|
||||
m_reg[GREG_PCI_COMMAND] = m_be ? 0 : 1;
|
||||
|
||||
map_cpu_space();
|
||||
@ -167,13 +167,13 @@ void gt64xxx_device::map_extra(UINT64 memory_window_start, UINT64 memory_window_
|
||||
|
||||
// PCI Target Window 1
|
||||
if (m_cpu_regs[NREG_PCITW1]&0x1000) {
|
||||
winStart = m_cpu_regs[NREG_PCITW1]&0xffe00000;
|
||||
winEnd = winStart | (~(0xf0000000 | (((m_cpu_regs[NREG_PCITW1]>>13)&0x7f)<<21)));
|
||||
winSize = winEnd - winStart + 1;
|
||||
memory_space->install_read_handler(winStart, winEnd, 0, 0, read32_delegate(FUNC(gt64xxx_device::target1_r), this));
|
||||
memory_space->install_write_handler(winStart, winEnd, 0, 0, write32_delegate(FUNC(gt64xxx_device::target1_w), this));
|
||||
if (LOG_GALILEO)
|
||||
logerror("%s: map_extra Target Window 1 start=%08X end=%08X size=%08X laddr=%08X\n", tag(), winStart, winEnd, winSize, m_target1_laddr);
|
||||
winStart = m_cpu_regs[NREG_PCITW1]&0xffe00000;
|
||||
winEnd = winStart | (~(0xf0000000 | (((m_cpu_regs[NREG_PCITW1]>>13)&0x7f)<<21)));
|
||||
winSize = winEnd - winStart + 1;
|
||||
memory_space->install_read_handler(winStart, winEnd, 0, 0, read32_delegate(FUNC(gt64xxx_device::target1_r), this));
|
||||
memory_space->install_write_handler(winStart, winEnd, 0, 0, write32_delegate(FUNC(gt64xxx_device::target1_w), this));
|
||||
if (LOG_GALILEO)
|
||||
logerror("%s: map_extra Target Window 1 start=%08X end=%08X size=%08X laddr=%08X\n", tag(), winStart, winEnd, winSize, m_target1_laddr);
|
||||
}
|
||||
*/
|
||||
}
|
||||
@ -279,9 +279,9 @@ READ32_MEMBER (gt64xxx_device::cpu_if_r)
|
||||
break;
|
||||
|
||||
case GREG_CONFIG_DATA:
|
||||
result = config_data_r(space, offset);
|
||||
result = config_data_r(space, offset);
|
||||
break;
|
||||
|
||||
|
||||
case GREG_CONFIG_ADDRESS:
|
||||
result = config_address_r(space, offset);
|
||||
break;
|
||||
@ -299,7 +299,7 @@ READ32_MEMBER (gt64xxx_device::cpu_if_r)
|
||||
}
|
||||
|
||||
if (m_be) result = FLIPENDIAN_INT32(result);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -186,7 +186,7 @@ public:
|
||||
void set_be(const int be) {m_be = be;}
|
||||
void set_autoconfig(const int autoconfig) {m_autoconfig = autoconfig;}
|
||||
void set_irq_info(const int irq_num) {m_irq_num = irq_num;}
|
||||
|
||||
|
||||
virtual DECLARE_ADDRESS_MAP(config_map, 32) override;
|
||||
|
||||
// pci bus
|
||||
@ -228,7 +228,7 @@ private:
|
||||
UINT32 m_clock;
|
||||
int m_be, m_autoconfig;
|
||||
int m_irq_num;
|
||||
|
||||
|
||||
address_space_config m_mem_config, m_io_config;
|
||||
|
||||
DECLARE_ADDRESS_MAP(cpu_map, 32);
|
||||
|
@ -850,7 +850,7 @@ void z80scc_channel::device_reset()
|
||||
|
||||
void z80scc_channel::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||
{
|
||||
// LOG(("%s %d\n", FUNCNAME, id));
|
||||
// LOG(("%s %d\n", FUNCNAME, id));
|
||||
|
||||
switch(id)
|
||||
{
|
||||
@ -1837,7 +1837,7 @@ void z80scc_channel::do_sccreg_wr14(UINT8 data)
|
||||
{
|
||||
int rate = m_owner->clock() / m_brg_counter;
|
||||
LOG(("PCLK as source, rate (%d) = PCLK (%d) / (%d)\n", rate, m_owner->clock(), m_brg_counter));
|
||||
|
||||
|
||||
baudtimer->adjust(attotime::from_hz(rate), TIMER_ID_BAUD, attotime::from_hz(rate)); // Start the baudrate generator
|
||||
}
|
||||
else
|
||||
@ -2250,24 +2250,24 @@ WRITE_LINE_MEMBER( z80scc_channel::sync_w )
|
||||
WRITE_LINE_MEMBER( z80scc_channel::rxc_w )
|
||||
{
|
||||
/* Support for external clock as source for BRG yet to be finished */
|
||||
#if 0
|
||||
#if 0
|
||||
//LOG(("Z80SCC \"%s\": %c : Receiver Clock Pulse\n", m_owner->tag(), m_index + 'A'));
|
||||
if ( ((m_wr3 & WR3_RX_ENABLE) | (m_wr5 & WR5_TX_ENABLE)) && m_wr14 & WR14_BRG_ENABLE)
|
||||
{
|
||||
if (!(m_wr14 & WR14_BRG_SOURCE)) // Is the Baud rate Generator driven by RTxC?
|
||||
if (!(m_wr14 & WR14_BRG_SOURCE)) // Is the Baud rate Generator driven by RTxC?
|
||||
{
|
||||
printf("x");
|
||||
if (!m_brg_counter) // Zero crossing?!
|
||||
{
|
||||
printf(".");
|
||||
m_brg_counter = m_wr13 << 8 | m_wr12; // Reload BRG counter
|
||||
if ((m_wr11 & WR11_TRACLK_SRC_MASK) == WR11_TRACLK_SRC_BR) // Is transmitt clock driven by BRG?
|
||||
if ((m_wr11 & WR11_TRACLK_SRC_MASK) == WR11_TRACLK_SRC_BR) // Is transmitt clock driven by BRG?
|
||||
{
|
||||
printf("+");
|
||||
txc_w(state);
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
m_brg_counter--;
|
||||
if ((m_wr11 & WR11_RCVCLK_SRC_MASK) == WR11_RCVCLK_SRC_BR) // Is receive clock driven by BRG and not zero cross
|
||||
|
@ -92,7 +92,7 @@ public:
|
||||
: m_seconds(0),
|
||||
m_attoseconds(0) { }
|
||||
|
||||
/** Constructs with @p secs seconds and @p attos attoseconds. */
|
||||
/** Constructs with @p secs seconds and @p attos attoseconds. */
|
||||
attotime(seconds_t secs, attoseconds_t attos)
|
||||
: m_seconds(secs),
|
||||
m_attoseconds(attos) { }
|
||||
@ -118,25 +118,25 @@ public:
|
||||
double as_double() const { return double(m_seconds) + ATTOSECONDS_TO_DOUBLE(m_attoseconds); }
|
||||
attoseconds_t as_attoseconds() const;
|
||||
UINT64 as_ticks(UINT32 frequency) const;
|
||||
/** Convert to string using at @p precision */
|
||||
/** Convert to string using at @p precision */
|
||||
const char *as_string(int precision = 9) const;
|
||||
|
||||
/** @return the attoseconds portion. */
|
||||
attoseconds_t attoseconds() const { return m_attoseconds; }
|
||||
/** @return the seconds portion. */
|
||||
/** @return the attoseconds portion. */
|
||||
attoseconds_t attoseconds() const { return m_attoseconds; }
|
||||
/** @return the seconds portion. */
|
||||
seconds_t seconds() const { return m_seconds; }
|
||||
|
||||
static attotime from_double(double _time);
|
||||
static attotime from_ticks(UINT64 ticks, UINT32 frequency);
|
||||
/** Create an attotime from a integer count of seconds @seconds */
|
||||
/** Create an attotime from a integer count of seconds @seconds */
|
||||
static attotime from_seconds(INT32 seconds) { return attotime(seconds, 0); }
|
||||
/** Create an attotime from a integer count of milliseconds @msec */
|
||||
/** Create an attotime from a integer count of milliseconds @msec */
|
||||
static attotime from_msec(INT64 msec) { return attotime(msec / 1000, (msec % 1000) * (ATTOSECONDS_PER_SECOND / 1000)); }
|
||||
/** Create an attotime from a integer count of microseconds @usec */
|
||||
/** Create an attotime from a integer count of microseconds @usec */
|
||||
static attotime from_usec(INT64 usec) { return attotime(usec / 1000000, (usec % 1000000) * (ATTOSECONDS_PER_SECOND / 1000000)); }
|
||||
/** Create an attotime from a integer count of nanoseconds @nsec */
|
||||
/** Create an attotime from a integer count of nanoseconds @nsec */
|
||||
static attotime from_nsec(INT64 nsec) { return attotime(nsec / 1000000000, (nsec % 1000000000) * (ATTOSECONDS_PER_SECOND / 1000000000)); }
|
||||
/** Create an attotime from at the given frequency @frequency */
|
||||
/** Create an attotime from at the given frequency @frequency */
|
||||
static attotime from_hz(double frequency) { assert(frequency > 0); double d = 1 / frequency; return attotime(floor(d), modf(d, &d) * ATTOSECONDS_PER_SECOND); }
|
||||
|
||||
// math
|
||||
|
@ -1641,7 +1641,7 @@ void cli_frontend::execute_commands(const char *exename)
|
||||
emu_file file_plugin(OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS);
|
||||
if (file_plugin.open("plugin.ini") != osd_file::error::NONE)
|
||||
throw emu_fatalerror("Unable to create file plugin.ini\n");
|
||||
|
||||
|
||||
// generate the updated INI
|
||||
file_plugin.puts(plugin_opts.output_ini().c_str());
|
||||
|
||||
|
@ -232,8 +232,8 @@ void debug_view_breakpoints::view_update()
|
||||
m_total.y = 10;
|
||||
|
||||
// Draw
|
||||
debug_view_char *dest = &m_viewdata[0];
|
||||
util::ovectorstream linebuf;
|
||||
debug_view_char *dest = &m_viewdata[0];
|
||||
util::ovectorstream linebuf;
|
||||
linebuf.reserve(ARRAY_LENGTH(tableBreaks) - 1);
|
||||
|
||||
// Header
|
||||
|
@ -258,8 +258,8 @@ void debug_view_watchpoints::view_update()
|
||||
m_total.y = 10;
|
||||
|
||||
// Draw
|
||||
debug_view_char *dest = &m_viewdata[0];
|
||||
util::ovectorstream linebuf;
|
||||
debug_view_char *dest = &m_viewdata[0];
|
||||
util::ovectorstream linebuf;
|
||||
linebuf.reserve(ARRAY_LENGTH(tableBreaks) - 1);
|
||||
|
||||
// Header
|
||||
|
@ -396,9 +396,9 @@ public:
|
||||
const char *autoboot_script() const { return value(OPTION_AUTOBOOT_SCRIPT); }
|
||||
|
||||
bool console() const { return bool_value(OPTION_CONSOLE); }
|
||||
|
||||
|
||||
bool plugins() const { return bool_value(OPTION_PLUGINS); }
|
||||
|
||||
|
||||
const char *plugin() const { return value(OPTION_PLUGIN); }
|
||||
const char *no_plugin() const { return value(OPTION_NO_PLUGIN); }
|
||||
|
||||
|
@ -105,7 +105,6 @@
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
// temporary: set this to 1 to enable the originally defined behavior that
|
||||
// a field specified via PORT_MODIFY which intersects a previously-defined
|
||||
// field completely wipes out the previous definition
|
||||
|
@ -764,7 +764,7 @@ void running_machine::add_notifier(machine_notification event, machine_notify_de
|
||||
void running_machine::add_logerror_callback(logerror_callback callback)
|
||||
{
|
||||
assert_always(m_current_phase == MACHINE_PHASE_INIT, "Can only call add_logerror_callback at init time!");
|
||||
m_string_buffer.reserve(1024);
|
||||
m_string_buffer.reserve(1024);
|
||||
m_logerror_list.push_back(std::make_unique<logerror_callback_item>(callback));
|
||||
}
|
||||
|
||||
|
@ -379,7 +379,7 @@ private:
|
||||
std::unique_ptr<favorite_manager> m_favorite; // internal data from inifile.c for favorites
|
||||
|
||||
// string formatting buffer
|
||||
mutable util::ovectorstream m_string_buffer;
|
||||
mutable util::ovectorstream m_string_buffer;
|
||||
};
|
||||
|
||||
#endif /* __MACHINE_H__ */
|
||||
|
@ -156,21 +156,21 @@ void machine_manager::update_machine()
|
||||
|
||||
std::vector<std::string> split(const std::string &text, char sep)
|
||||
{
|
||||
std::vector<std::string> tokens;
|
||||
std::size_t start = 0, end = 0;
|
||||
while ((end = text.find(sep, start)) != std::string::npos) {
|
||||
std::string temp = text.substr(start, end - start);
|
||||
if (temp != "") tokens.push_back(temp);
|
||||
start = end + 1;
|
||||
}
|
||||
std::string temp = text.substr(start);
|
||||
if (temp != "") tokens.push_back(temp);
|
||||
return tokens;
|
||||
std::vector<std::string> tokens;
|
||||
std::size_t start = 0, end = 0;
|
||||
while ((end = text.find(sep, start)) != std::string::npos) {
|
||||
std::string temp = text.substr(start, end - start);
|
||||
if (temp != "") tokens.push_back(temp);
|
||||
start = end + 1;
|
||||
}
|
||||
std::string temp = text.substr(start);
|
||||
if (temp != "") tokens.push_back(temp);
|
||||
return tokens;
|
||||
}
|
||||
|
||||
void machine_manager::start_luaengine()
|
||||
{
|
||||
if (options().plugins())
|
||||
if (options().plugins())
|
||||
{
|
||||
path_iterator iter(options().plugins_path());
|
||||
std::string pluginpath;
|
||||
@ -193,15 +193,15 @@ void machine_manager::start_luaengine()
|
||||
}
|
||||
}
|
||||
for (auto curentry = m_plugins->first(); curentry != nullptr; curentry = curentry->next())
|
||||
{
|
||||
{
|
||||
if (!curentry->is_header())
|
||||
{
|
||||
if (std::find(include.begin(), include.end(), curentry->name()) != include.end())
|
||||
if (std::find(include.begin(), include.end(), curentry->name()) != include.end())
|
||||
{
|
||||
std::string error_string;
|
||||
m_plugins->set_value(curentry->name(), "1", OPTION_PRIORITY_CMDLINE, error_string);
|
||||
}
|
||||
if (std::find(exclude.begin(), exclude.end(), curentry->name()) != exclude.end())
|
||||
if (std::find(exclude.begin(), exclude.end(), curentry->name()) != exclude.end())
|
||||
{
|
||||
std::string error_string;
|
||||
m_plugins->set_value(curentry->name(), "0", OPTION_PRIORITY_CMDLINE, error_string);
|
||||
@ -210,7 +210,7 @@ void machine_manager::start_luaengine()
|
||||
}
|
||||
}
|
||||
m_lua->initialize();
|
||||
|
||||
|
||||
{
|
||||
emu_file file(options().plugins_path(), OPEN_FLAG_READ);
|
||||
osd_file::error filerr = file.open("boot.lua");
|
||||
|
@ -93,7 +93,7 @@ public:
|
||||
private:
|
||||
osd_interface & m_osd; // reference to OSD system
|
||||
emu_options & m_options; // reference to options
|
||||
std::unique_ptr<plugin_options> m_plugins; // pointer to plugin options
|
||||
std::unique_ptr<plugin_options> m_plugins; // pointer to plugin options
|
||||
lua_engine * m_lua;
|
||||
|
||||
const game_driver * m_new_driver_pending; // pointer to the next pending driver
|
||||
|
@ -214,4 +214,4 @@ References an external machine config.
|
||||
device = config.device_find(owner, _tag);
|
||||
|
||||
#endif /* __MCONFIG_H__ */
|
||||
/** @} */
|
||||
/** @} */
|
||||
|
@ -40,7 +40,7 @@ plugin_options::plugin_options()
|
||||
void plugin_options::parse_json(std::string path)
|
||||
{
|
||||
// first try to open as a directory
|
||||
osd_directory *directory = osd_opendir(path.c_str());
|
||||
osd_directory *directory = osd_opendir(path.c_str());
|
||||
if (directory != nullptr)
|
||||
{
|
||||
// iterate over all files in the directory
|
||||
@ -50,13 +50,13 @@ void plugin_options::parse_json(std::string path)
|
||||
{
|
||||
std::string name = entry->name;
|
||||
if (name == "plugin.json")
|
||||
{
|
||||
{
|
||||
std::string curfile = std::string(path).append(PATH_SEPARATOR).append(entry->name);
|
||||
std::ifstream ifs(curfile);
|
||||
rapidjson::IStreamWrapper isw(ifs);
|
||||
rapidjson::Document document;
|
||||
document.ParseStream<0>(isw);
|
||||
|
||||
|
||||
if (document.HasParseError()) {
|
||||
std::string error(GetParseError_En(document.GetParseError()));
|
||||
osd_printf_error("Unable to parse plugin definition file %s. Errors returned:\n", curfile.c_str());
|
||||
@ -94,4 +94,4 @@ void plugin_options::parse_json(std::string path)
|
||||
// close the directory and be done
|
||||
osd_closedir(directory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ class plugin_options : public core_options
|
||||
public:
|
||||
// construction/destruction
|
||||
plugin_options();
|
||||
|
||||
|
||||
void parse_json(std::string path);
|
||||
private:
|
||||
static const options_entry s_option_entries[];
|
||||
|
@ -1202,7 +1202,7 @@ void render_target::compute_visible_area(INT32 target_width, INT32 target_height
|
||||
// apply orientation if required
|
||||
if (target_orientation & ORIENTATION_SWAP_XY)
|
||||
src_aspect = 1.0 / src_aspect;
|
||||
|
||||
|
||||
// get destination size and aspect
|
||||
float dest_width = (float)target_width;
|
||||
float dest_height = (float)target_height;
|
||||
@ -1228,7 +1228,7 @@ void render_target::compute_visible_area(INT32 target_width, INT32 target_height
|
||||
visible_width = render_round_nearest(src_width * xscale);
|
||||
visible_height = render_round_nearest(src_height * yscale);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1003,7 +1003,7 @@ private:
|
||||
render_bounds m_bounds; // bounds of the target
|
||||
bool m_keepaspect; // constrain aspect ratio
|
||||
float m_pixel_aspect; // aspect ratio of individual pixels
|
||||
int m_scale_mode; // type of scale to apply
|
||||
int m_scale_mode; // type of scale to apply
|
||||
int m_int_scale_x; // horizontal integer scale factor
|
||||
int m_int_scale_y; // vertical integer scale factor
|
||||
float m_max_refresh; // maximum refresh rate, 0 or if none
|
||||
|
@ -132,7 +132,7 @@ render_font::render_font(render_manager &manager, const char *filename)
|
||||
|
||||
// if this is an OSD font, we're done
|
||||
if (filename != nullptr)
|
||||
{
|
||||
{
|
||||
m_osdfont = manager.machine().osd().font_alloc();
|
||||
if (m_osdfont)
|
||||
{
|
||||
|
@ -1320,7 +1320,7 @@ void layout_element::component::load_bitmap()
|
||||
// PNG failed, let's try JPG
|
||||
if (!m_bitmap[0].valid())
|
||||
render_load_jpeg(m_bitmap[0], *m_file[0], m_dirname.c_str(), m_imagefile[0].c_str());
|
||||
|
||||
|
||||
// if we can't load the bitmap, allocate a dummy one and report an error
|
||||
if (!m_bitmap[0].valid())
|
||||
{
|
||||
|
@ -22,7 +22,7 @@
|
||||
//-------------------------------------------------
|
||||
// ctor / dtor
|
||||
//-------------------------------------------------
|
||||
ui_menu_custom_filter::ui_menu_custom_filter(running_machine &machine, render_container *container, bool _single_menu)
|
||||
ui_menu_custom_filter::ui_menu_custom_filter(running_machine &machine, render_container *container, bool _single_menu)
|
||||
: ui_menu(machine, container)
|
||||
, m_single_menu(_single_menu)
|
||||
, m_added(false)
|
||||
|
@ -22,7 +22,7 @@
|
||||
// ctor / dtor
|
||||
//-------------------------------------------------
|
||||
|
||||
ui_menu_dats_view::ui_menu_dats_view(running_machine &machine, render_container *container, const game_driver *driver)
|
||||
ui_menu_dats_view::ui_menu_dats_view(running_machine &machine, render_container *container, const game_driver *driver)
|
||||
: ui_menu(machine, container)
|
||||
, m_actual(0)
|
||||
, m_driver((driver == nullptr) ? &machine.system() : driver)
|
||||
@ -48,7 +48,7 @@ ui_menu_dats_view::ui_menu_dats_view(running_machine &machine, render_container
|
||||
// ctor
|
||||
//-------------------------------------------------
|
||||
|
||||
ui_menu_dats_view::ui_menu_dats_view(running_machine &machine, render_container *container, ui_software_info *swinfo, const game_driver *driver)
|
||||
ui_menu_dats_view::ui_menu_dats_view(running_machine &machine, render_container *container, ui_software_info *swinfo, const game_driver *driver)
|
||||
: ui_menu(machine, container)
|
||||
, m_actual(0)
|
||||
, m_driver((driver == nullptr) ? &machine.system() : driver)
|
||||
@ -112,7 +112,7 @@ void ui_menu_dats_view::populate()
|
||||
item_append(MENU_SEPARATOR_ITEM, nullptr, (MENU_FLAG_UI_DATS | MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW), nullptr);
|
||||
customtop = 2.0f * machine().ui().get_line_height() + 4.0f * UI_BOX_TB_BORDER;
|
||||
custombottom = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER;
|
||||
|
||||
|
||||
if (!paused)
|
||||
machine().resume();
|
||||
}
|
||||
|
@ -253,7 +253,7 @@ void ui_menu::reset(ui_menu_reset_options options)
|
||||
item_append(_("Return to Machine"), nullptr, 0, nullptr);
|
||||
else if (parent->is_special_main_menu())
|
||||
{
|
||||
if (strcmp(machine().options().ui(), "simple") == 0)
|
||||
if (strcmp(machine().options().ui(), "simple") == 0)
|
||||
item_append(_("Exit"), nullptr, 0, nullptr);
|
||||
else
|
||||
item_append(_("Exit"), nullptr, MENU_FLAG_UI | MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW, nullptr);
|
||||
@ -2866,4 +2866,4 @@ void ui_menu::set_pressed()
|
||||
{
|
||||
(m_repeat == 0) ? m_repeat = osd_ticks() + osd_ticks_per_second() / 2 : m_repeat = osd_ticks() + osd_ticks_per_second() / 4;
|
||||
m_pressed = true;
|
||||
}
|
||||
}
|
||||
|
@ -941,9 +941,9 @@ void ui_menu_plugins_configure::handle()
|
||||
void ui_menu_plugins_configure::populate()
|
||||
{
|
||||
plugin_options& plugins = machine().manager().plugins();
|
||||
|
||||
|
||||
for (auto curentry = plugins.first(); curentry != nullptr; curentry = curentry->next())
|
||||
{
|
||||
{
|
||||
if (!curentry->is_header())
|
||||
{
|
||||
auto enabled = std::string(curentry->value()) == "1";
|
||||
|
@ -34,12 +34,12 @@
|
||||
extern const char UI_VERSION_TAG[];
|
||||
|
||||
static bool first_start = true;
|
||||
static const char *dats_info[] = {
|
||||
__("General Info"),
|
||||
__("History"),
|
||||
__("Mameinfo"),
|
||||
__("Sysinfo"),
|
||||
__("Messinfo"),
|
||||
static const char *dats_info[] = {
|
||||
__("General Info"),
|
||||
__("History"),
|
||||
__("Mameinfo"),
|
||||
__("Sysinfo"),
|
||||
__("Messinfo"),
|
||||
__("Command"),
|
||||
__("Gameinit"),
|
||||
__("Mamescore") };
|
||||
@ -239,7 +239,7 @@ void ui_menu_select_game::handle()
|
||||
// Infos
|
||||
else if (ui_globals::rpanel == RP_INFOS)
|
||||
{
|
||||
if (!isfavorite())
|
||||
if (!isfavorite())
|
||||
{
|
||||
const game_driver *drv = (const game_driver *)m_event->itemref;
|
||||
if ((FPTR)drv > skip_main_items && ui_globals::curdats_view > UI_FIRST_LOAD)
|
||||
@ -443,7 +443,7 @@ void ui_menu_select_game::handle()
|
||||
|
||||
// if we're in an error state, overlay an error message
|
||||
if (ui_error)
|
||||
machine().ui().draw_text_box(container, _("The selected machine is missing one or more required ROM or CHD images. "
|
||||
machine().ui().draw_text_box(container, _("The selected machine is missing one or more required ROM or CHD images. "
|
||||
"Please select a different machine.\n\nPress any key (except ESC) to continue."), JUSTIFY_CENTER, 0.5f, 0.5f, UI_RED_COLOR);
|
||||
|
||||
// handle filters selection from key shortcuts
|
||||
@ -583,9 +583,9 @@ void ui_menu_select_game::populate()
|
||||
{
|
||||
UINT32 flags_ui = MENU_FLAG_UI | MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW;
|
||||
item_append(_("Configure Options"), nullptr, flags_ui, (void *)(FPTR)CONF_OPTS);
|
||||
// item_append(_("Configure Machine"), nullptr, flags_ui, (void *)(FPTR)CONF_MACHINE); TODO
|
||||
// item_append(_("Configure Machine"), nullptr, flags_ui, (void *)(FPTR)CONF_MACHINE); TODO
|
||||
skip_main_items = 1;
|
||||
if (machine().options().plugins())
|
||||
if (machine().options().plugins())
|
||||
{
|
||||
item_append(_("Plugins"), nullptr, flags_ui, (void *)(FPTR)CONF_PLUGINS);
|
||||
skip_main_items++;
|
||||
@ -811,7 +811,7 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
|
||||
// draw the text within it
|
||||
for (int line = 0; line < 2; ++line)
|
||||
{
|
||||
mui.draw_text_full(container, tempbuf[line].c_str(), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_NEVER,
|
||||
mui.draw_text_full(container, tempbuf[line].c_str(), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_NEVER,
|
||||
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr, text_size);
|
||||
y1 += mui.get_line_height();
|
||||
}
|
||||
@ -868,7 +868,7 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
|
||||
color = UI_GREEN_COLOR;
|
||||
|
||||
if ((driver->flags & (MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_COLORS
|
||||
| MACHINE_NO_SOUND | MACHINE_IMPERFECT_SOUND)) != 0)
|
||||
| MACHINE_NO_SOUND | MACHINE_IMPERFECT_SOUND)) != 0)
|
||||
color = UI_YELLOW_COLOR;
|
||||
|
||||
if ((driver->flags & (MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION)) != 0)
|
||||
@ -936,7 +936,7 @@ void ui_menu_select_game::custom_render(void *selectedref, float top, float bott
|
||||
|
||||
for (auto & elem : tempbuf)
|
||||
{
|
||||
mui.draw_text_full(container, elem.c_str(), 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_NEVER,
|
||||
mui.draw_text_full(container, elem.c_str(), 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_NEVER,
|
||||
DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr);
|
||||
width += 2 * UI_BOX_LR_BORDER;
|
||||
maxwidth = MAX(maxwidth, width);
|
||||
@ -1012,10 +1012,10 @@ void ui_menu_select_game::inkey_select(const ui_menu_event *m_event)
|
||||
/* special case for configure machine TODO
|
||||
else if ((FPTR)driver == CONF_MACHINE)
|
||||
{
|
||||
if (m_prev_selected != nullptr)
|
||||
ui_menu::stack_push(global_alloc_clear<ui_menu_machine_configure>(machine(), container, (const game_driver *)m_prev_selected));
|
||||
else
|
||||
return;
|
||||
if (m_prev_selected != nullptr)
|
||||
ui_menu::stack_push(global_alloc_clear<ui_menu_machine_configure>(machine(), container, (const game_driver *)m_prev_selected));
|
||||
else
|
||||
return;
|
||||
} */
|
||||
// special case for configure plugins
|
||||
else if ((FPTR)driver == CONF_PLUGINS)
|
||||
@ -1082,14 +1082,14 @@ void ui_menu_select_game::inkey_select_favorite(const ui_menu_event *m_event)
|
||||
/* special case for configure machine TODO
|
||||
else if ((FPTR)ui_swinfo == CONF_MACHINE)
|
||||
{
|
||||
if (m_prev_selected != nullptr)
|
||||
{
|
||||
ui_software_info *swinfo = (ui_software_info *)m_prev_selected;
|
||||
if (swinfo->startempty == 1)
|
||||
ui_menu::stack_push(global_alloc_clear<ui_menu_machine_configure>(machine(), container, swinfo->driver));
|
||||
}
|
||||
else
|
||||
return;
|
||||
if (m_prev_selected != nullptr)
|
||||
{
|
||||
ui_software_info *swinfo = (ui_software_info *)m_prev_selected;
|
||||
if (swinfo->startempty == 1)
|
||||
ui_menu::stack_push(global_alloc_clear<ui_menu_machine_configure>(machine(), container, swinfo->driver));
|
||||
}
|
||||
else
|
||||
return;
|
||||
} */
|
||||
// special case for configure plugins
|
||||
else if ((FPTR)ui_swinfo == CONF_PLUGINS)
|
||||
@ -1515,7 +1515,7 @@ void ui_menu_select_game::populate_search()
|
||||
if (cx != -1 && ((driver_list::driver(cx).flags & MACHINE_IS_BIOS_ROOT) != 0))
|
||||
cloneof = false;
|
||||
}
|
||||
item_append(m_searchlist[curitem]->description, nullptr, (!cloneof) ? flags_ui : (MENU_FLAG_INVERT | flags_ui),
|
||||
item_append(m_searchlist[curitem]->description, nullptr, (!cloneof) ? flags_ui : (MENU_FLAG_INVERT | flags_ui),
|
||||
(void *)m_searchlist[curitem]);
|
||||
}
|
||||
}
|
||||
@ -1868,7 +1868,7 @@ float ui_menu_select_game::draw_left_panel(float x1, float y1, float x2, float y
|
||||
convert_command_glyph(str);
|
||||
}
|
||||
|
||||
mui.draw_text_full(container, str.c_str(), x1t, y1, x2 - x1, JUSTIFY_LEFT, WRAP_NEVER,
|
||||
mui.draw_text_full(container, str.c_str(), x1t, y1, x2 - x1, JUSTIFY_LEFT, WRAP_NEVER,
|
||||
DRAW_NORMAL, fgcolor, bgcolor, nullptr, nullptr, text_size);
|
||||
y1 += line_height_max;
|
||||
}
|
||||
@ -1978,7 +1978,7 @@ void ui_menu_select_game::infos_render(void *selectedref, float origx1, float or
|
||||
|
||||
for (int x = UI_FIRST_LOAD; x < UI_LAST_LOAD; ++x)
|
||||
{
|
||||
mui.draw_text_full(container, _(dats_info[x]), origx1, origy1, origx2 - origx1, JUSTIFY_CENTER,
|
||||
mui.draw_text_full(container, _(dats_info[x]), origx1, origy1, origx2 - origx1, JUSTIFY_CENTER,
|
||||
WRAP_NEVER, DRAW_NONE, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, &txt_length, nullptr);
|
||||
txt_length += 0.01f;
|
||||
title_size = (std::max)(txt_length, title_size);
|
||||
@ -2040,7 +2040,7 @@ void ui_menu_select_game::infos_render(void *selectedref, float origx1, float or
|
||||
|
||||
if (buffer.empty())
|
||||
{
|
||||
mui.draw_text_full(container, _("No Infos Available"), origx1, (origy2 + origy1) * 0.5f, origx2 - origx1, JUSTIFY_CENTER,
|
||||
mui.draw_text_full(container, _("No Infos Available"), origx1, (origy2 + origy1) * 0.5f, origx2 - origx1, JUSTIFY_CENTER,
|
||||
WRAP_WORD, DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr);
|
||||
return;
|
||||
}
|
||||
@ -2094,7 +2094,7 @@ void ui_menu_select_game::infos_render(void *selectedref, float origx1, float or
|
||||
JUSTIFY_LEFT, WRAP_TRUNCATE, DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, &item_width, nullptr, tmp_size);
|
||||
|
||||
mui.draw_text_full(container, last_part.c_str(), effective_left + item_width, oy1,
|
||||
origx2 - origx1 - 2.0f * gutter_width - item_width, JUSTIFY_RIGHT, WRAP_TRUNCATE,
|
||||
origx2 - origx1 - 2.0f * gutter_width - item_width, JUSTIFY_RIGHT, WRAP_TRUNCATE,
|
||||
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr, tmp_size);
|
||||
}
|
||||
}
|
||||
@ -2114,18 +2114,18 @@ void ui_menu_select_game::infos_render(void *selectedref, float origx1, float or
|
||||
std::string first_part(tempbuf.substr(0, first_dspace));
|
||||
std::string last_part(tempbuf.substr(first_dspace + 1));
|
||||
strtrimspace(last_part);
|
||||
mui.draw_text_full(container, first_part.c_str(), effective_left, oy1, effective_width, JUSTIFY_LEFT,
|
||||
mui.draw_text_full(container, first_part.c_str(), effective_left, oy1, effective_width, JUSTIFY_LEFT,
|
||||
WRAP_TRUNCATE, DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr, tmp_size);
|
||||
|
||||
mui.draw_text_full(container, last_part.c_str(), effective_left, oy1, origx2 - origx1 - 2.0f * gutter_width,
|
||||
mui.draw_text_full(container, last_part.c_str(), effective_left, oy1, origx2 - origx1 - 2.0f * gutter_width,
|
||||
JUSTIFY_RIGHT, WRAP_TRUNCATE, DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr, tmp_size);
|
||||
}
|
||||
else
|
||||
mui.draw_text_full(container, tempbuf.c_str(), origx1 + gutter_width, oy1, origx2 - origx1, JUSTIFY_LEFT,
|
||||
mui.draw_text_full(container, tempbuf.c_str(), origx1 + gutter_width, oy1, origx2 - origx1, JUSTIFY_LEFT,
|
||||
WRAP_TRUNCATE, DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr, tmp_size);
|
||||
}
|
||||
else
|
||||
mui.draw_text_full(container, tempbuf.c_str(), origx1 + gutter_width, oy1, origx2 - origx1, JUSTIFY_LEFT,
|
||||
mui.draw_text_full(container, tempbuf.c_str(), origx1 + gutter_width, oy1, origx2 - origx1, JUSTIFY_LEFT,
|
||||
WRAP_TRUNCATE, DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr, text_size);
|
||||
|
||||
oy1 += (line_height * text_size);
|
||||
@ -2228,7 +2228,7 @@ void ui_menu_select_game::infos_render(void *selectedref, float origx1, float or
|
||||
else if (r == r_visible_lines - 1 && itemline != totallines - 1)
|
||||
info_arrow(1, origx1, origx2, oy1, line_height, text_size, ud_arrow_width);
|
||||
else
|
||||
mui.draw_text_full(container, tempbuf.c_str(), origx1 + gutter_width, oy1, origx2 - origx1, JUSTIFY_LEFT,
|
||||
mui.draw_text_full(container, tempbuf.c_str(), origx1 + gutter_width, oy1, origx2 - origx1, JUSTIFY_LEFT,
|
||||
WRAP_TRUNCATE, DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr, text_size);
|
||||
oy1 += (line_height * text_size);
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ private:
|
||||
enum
|
||||
{
|
||||
CONF_OPTS = 1,
|
||||
// CONF_MACHINE,
|
||||
// CONF_MACHINE,
|
||||
CONF_PLUGINS,
|
||||
};
|
||||
|
||||
|
@ -29,9 +29,9 @@ std::string reselect_last::software;
|
||||
std::string reselect_last::swlist;
|
||||
bool reselect_last::m_reselect = false;
|
||||
static const char *region_lists[] = { "arab", "arg", "asia", "aus", "aut", "bel", "blr", "bra", "can", "chi", "chn", "cze", "den",
|
||||
"ecu", "esp", "euro", "fin", "fra", "gbr", "ger", "gre", "hkg", "hun", "irl", "isr",
|
||||
"isv", "ita", "jpn", "kaz", "kor", "lat", "lux", "mex", "ned", "nld", "nor", "nzl",
|
||||
"pol", "rus", "slo", "spa", "sui", "swe", "tha", "tpe", "tw", "uk", "ukr", "usa" };
|
||||
"ecu", "esp", "euro", "fin", "fra", "gbr", "ger", "gre", "hkg", "hun", "irl", "isr",
|
||||
"isv", "ita", "jpn", "kaz", "kor", "lat", "lux", "mex", "ned", "nld", "nor", "nzl",
|
||||
"pol", "rus", "slo", "spa", "sui", "swe", "tha", "tpe", "tw", "uk", "ukr", "usa" };
|
||||
|
||||
//-------------------------------------------------
|
||||
// compares two items in the software list and
|
||||
@ -303,7 +303,6 @@ void ui_menu_select_software::handle()
|
||||
|
||||
if (m_event != nullptr && m_event->itemref == nullptr)
|
||||
{
|
||||
|
||||
if (m_event->iptkey == IPT_UI_CONFIGURE)
|
||||
inkey_configure(m_event);
|
||||
|
||||
@ -488,7 +487,7 @@ void ui_menu_select_software::populate()
|
||||
old_software = m_has_empty_start ? curitem + 1 : curitem;
|
||||
|
||||
item_append(m_displaylist[curitem]->longname.c_str(), m_displaylist[curitem]->devicetype.c_str(),
|
||||
m_displaylist[curitem]->parentname.empty() ? flags_ui : (MENU_FLAG_INVERT | flags_ui), (void *)m_displaylist[curitem]);
|
||||
m_displaylist[curitem]->parentname.empty() ? flags_ui : (MENU_FLAG_INVERT | flags_ui), (void *)m_displaylist[curitem]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -498,8 +497,8 @@ void ui_menu_select_software::populate()
|
||||
|
||||
for (int curitem = 0; m_searchlist[curitem] != nullptr; ++curitem)
|
||||
item_append(m_searchlist[curitem]->longname.c_str(), m_searchlist[curitem]->devicetype.c_str(),
|
||||
m_searchlist[curitem]->parentname.empty() ? flags_ui : (MENU_FLAG_INVERT | flags_ui),
|
||||
(void *)m_searchlist[curitem]);
|
||||
m_searchlist[curitem]->parentname.empty() ? flags_ui : (MENU_FLAG_INVERT | flags_ui),
|
||||
(void *)m_searchlist[curitem]);
|
||||
}
|
||||
|
||||
item_append(MENU_SEPARATOR_ITEM, nullptr, flags_ui, nullptr);
|
||||
@ -1492,7 +1491,7 @@ float ui_menu_select_software::draw_left_panel(float x1, float y1, float x2, flo
|
||||
}
|
||||
|
||||
mui.draw_text_full(container, str.c_str(), x1t, y1, x2 - x1, JUSTIFY_LEFT, WRAP_NEVER,
|
||||
DRAW_NORMAL, fgcolor, bgcolor, nullptr, nullptr, text_size);
|
||||
DRAW_NORMAL, fgcolor, bgcolor, nullptr, nullptr, text_size);
|
||||
y1 += line_height;
|
||||
}
|
||||
|
||||
@ -1992,7 +1991,7 @@ void ui_software_parts::custom_render(void *selectedref, float top, float bottom
|
||||
float width;
|
||||
ui_manager &mui = machine().ui();
|
||||
mui.draw_text_full(container, _("Software part selection:"), 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE,
|
||||
DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr);
|
||||
DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr);
|
||||
width += 2 * UI_BOX_LR_BORDER;
|
||||
float maxwidth = MAX(origx2 - origx1, width);
|
||||
|
||||
@ -2012,7 +2011,7 @@ void ui_software_parts::custom_render(void *selectedref, float top, float bottom
|
||||
|
||||
// draw the text within it
|
||||
mui.draw_text_full(container, _("Software part selection:"), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE,
|
||||
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr);
|
||||
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -2130,7 +2129,7 @@ void ui_bios_selection::custom_render(void *selectedref, float top, float bottom
|
||||
float width;
|
||||
ui_manager &mui = machine().ui();
|
||||
mui.draw_text_full(container, _("Bios selection:"), 0.0f, 0.0f, 1.0f, JUSTIFY_CENTER, WRAP_TRUNCATE,
|
||||
DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr);
|
||||
DRAW_NONE, ARGB_WHITE, ARGB_BLACK, &width, nullptr);
|
||||
width += 2 * UI_BOX_LR_BORDER;
|
||||
float maxwidth = MAX(origx2 - origx1, width);
|
||||
|
||||
@ -2150,5 +2149,5 @@ void ui_bios_selection::custom_render(void *selectedref, float top, float bottom
|
||||
|
||||
// draw the text within it
|
||||
mui.draw_text_full(container, _("Bios selection:"), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE,
|
||||
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr);
|
||||
DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr);
|
||||
}
|
||||
|
@ -87,9 +87,9 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
void *m_driver;
|
||||
bool m_software, m_inlist;
|
||||
s_bios m_bios;
|
||||
void *m_driver;
|
||||
bool m_software, m_inlist;
|
||||
s_bios m_bios;
|
||||
};
|
||||
|
||||
struct reselect_last
|
||||
|
@ -115,14 +115,14 @@ void ui_menu_sliders::handle()
|
||||
/* if we got here via up or page up, select the previous item */
|
||||
if (menu_event->iptkey == IPT_UI_UP || menu_event->iptkey == IPT_UI_PAGE_UP)
|
||||
{
|
||||
selected = (selected + item.size() - 1) % item.size();
|
||||
validate_selection(-1);
|
||||
selected = (selected + item.size() - 1) % item.size();
|
||||
validate_selection(-1);
|
||||
}
|
||||
|
||||
/* otherwise select the next item */
|
||||
else if (menu_event->iptkey == IPT_UI_DOWN || menu_event->iptkey == IPT_UI_PAGE_DOWN)
|
||||
{
|
||||
selected = (selected + 1) % item.size();
|
||||
selected = (selected + 1) % item.size();
|
||||
validate_selection(1);
|
||||
}
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ struct slider_state
|
||||
INT32 defval; /* default value */
|
||||
INT32 maxval; /* maximum value */
|
||||
INT32 incval; /* increment value */
|
||||
int id;
|
||||
int id;
|
||||
char description[1]; /* textual description */
|
||||
};
|
||||
|
||||
|
@ -30,7 +30,7 @@ NETLIST_START(TTL_7416_DIP)
|
||||
s3.A, /* A3 |5 10| Y5 */ s5.Q,
|
||||
s3.Q, /* Y3 |6 9| A4 */ s4.A,
|
||||
GND.I, /* GND |7 8| Y4 */ s4.Q
|
||||
/* +--------------+ */
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
@ -69,7 +69,7 @@ NETLIST_START(TTL_7400_DIP)
|
||||
s2.B, /* B2 |5 10| B3 */ s3.B,
|
||||
s2.Q, /* Y2 |6 9| A3 */ s3.A,
|
||||
GND.I, /* GND |7 8| Y3 */ s3.Q
|
||||
/* +--------------+ */
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
|
@ -11,9 +11,8 @@
|
||||
* Netlist Macros
|
||||
* ---------------------------------------------------------------------------*/
|
||||
|
||||
#define TTL_7400_GATE(_name) \
|
||||
NET_REGISTER_DEV(TTL_7400_GATE, _name) \
|
||||
|
||||
#define TTL_7400_GATE(_name) \
|
||||
NET_REGISTER_DEV(TTL_7400_GATE, _name)
|
||||
#define TTL_7400_NAND(_name, _A, _B) \
|
||||
NET_REGISTER_DEV(TTL_7400_NAND, _name) \
|
||||
NET_CONNECT(_name, A, _A) \
|
||||
|
@ -442,7 +442,7 @@ void matrix_solver_direct_t<m_N, _storage_N>::LE_solve()
|
||||
#else
|
||||
vec_add_mult_scalar(kN-i-1,pj,f1,pi);
|
||||
//for (unsigned k = i+1; k < kN; k++)
|
||||
// pj[k] = pj[k] + pi[k] * f1;
|
||||
// pj[k] = pj[k] + pi[k] * f1;
|
||||
//for (unsigned k = i+1; k < kN; k++)
|
||||
//A(j,k) += A(i,k) * f1;
|
||||
RHS(j) += RHS(i) * f1;
|
||||
|
@ -13,9 +13,9 @@
|
||||
* In this specific implementation, u is a unit vector specifying the row which
|
||||
* changed. Thus v contains the changed column.
|
||||
*
|
||||
* Than z = A⁻¹ u , w = transpose(A⁻¹) v , lambda = v z
|
||||
* Than z = A????? u , w = transpose(A?????) v , lambda = v z
|
||||
*
|
||||
* A⁻¹ <- 1.0 / (1.0 + lambda) * (z x w)
|
||||
* A????? <- 1.0 / (1.0 + lambda) * (z x w)
|
||||
*
|
||||
* The approach is iterative and applied for each row changed.
|
||||
*
|
||||
|
@ -15,7 +15,7 @@
|
||||
* Whilst the book proposes to invert the matrix R=(I+transpose(V)*Z) we define
|
||||
*
|
||||
* w = transpose(V)*y
|
||||
* a = R⁻¹ * w
|
||||
* a = R????? * w
|
||||
*
|
||||
* and consequently
|
||||
*
|
||||
@ -26,7 +26,7 @@
|
||||
* One fact omitted in the book is the fact that actually the matrix Z which contains
|
||||
* in it's columns the solutions of
|
||||
*
|
||||
* A * zk = uk
|
||||
* A * zk = uk
|
||||
*
|
||||
* for uk being unit vectors for full rank (max(k) == n) is identical to the
|
||||
* inverse of A.
|
||||
@ -655,8 +655,8 @@ inline int matrix_solver_w_t<m_N, _storage_N>::vsolve_non_dynamic(const bool new
|
||||
template <unsigned m_N, unsigned _storage_N>
|
||||
matrix_solver_w_t<m_N, _storage_N>::matrix_solver_w_t(const solver_parameters_t *params, const int size)
|
||||
: matrix_solver_t(GAUSSIAN_ELIMINATION, params)
|
||||
,m_cnt(0)
|
||||
, m_dim(size)
|
||||
,m_cnt(0)
|
||||
, m_dim(size)
|
||||
{
|
||||
m_rails_temp = palloc_array(terms_t, N());
|
||||
#if (NL_USE_DYNAMIC_ALLOCATION)
|
||||
|
@ -52,7 +52,7 @@ delegate_generic_function delegate_mfp::convert_to_generic(delegate_generic_clas
|
||||
// otherwise, it is the byte index into the vtable where the actual function lives
|
||||
std::uint8_t *vtable_base = *reinterpret_cast<std::uint8_t **>(object);
|
||||
#if defined(LOG_DELEGATES)
|
||||
printf("Calculated Addr = %08x (VTAB)\n", (uintptr_t)(void*)(*reinterpret_cast<delegate_generic_function *>(vtable_base + m_function + m_this_delta - 1)));
|
||||
printf("Calculated Addr = %08x (VTAB)\n", (uintptr_t)(void*)(*reinterpret_cast<delegate_generic_function *>(vtable_base + m_function + m_this_delta - 1)));
|
||||
#endif
|
||||
return *reinterpret_cast<delegate_generic_function *>(vtable_base + m_function + m_this_delta - 1);
|
||||
#else
|
||||
@ -70,7 +70,7 @@ delegate_generic_function delegate_mfp::convert_to_generic(delegate_generic_clas
|
||||
// otherwise, it is the byte index into the vtable where the actual function lives
|
||||
std::uint8_t *vtable_base = *reinterpret_cast<std::uint8_t **>(object);
|
||||
#if defined(LOG_DELEGATES)
|
||||
printf("Calculated Addr = %08x (VTAB)\n", (uintptr_t)(void*)(*reinterpret_cast<delegate_generic_function *>(vtable_base + m_function - 1)));
|
||||
printf("Calculated Addr = %08x (VTAB)\n", (uintptr_t)(void*)(*reinterpret_cast<delegate_generic_function *>(vtable_base + m_function - 1)));
|
||||
#endif
|
||||
return *reinterpret_cast<delegate_generic_function *>(vtable_base + m_function - 1);
|
||||
#endif
|
||||
|
@ -189,14 +189,14 @@
|
||||
namespace std
|
||||
{
|
||||
template<class _Container>
|
||||
inline constexpr auto
|
||||
cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))-> decltype(std::begin(__cont))
|
||||
{ return std::begin(__cont); }
|
||||
inline constexpr auto
|
||||
cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))-> decltype(std::begin(__cont))
|
||||
{ return std::begin(__cont); }
|
||||
|
||||
template<class _Container>
|
||||
inline constexpr auto
|
||||
cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))-> decltype(std::end(__cont))
|
||||
{ return std::end(__cont); }
|
||||
inline constexpr auto
|
||||
cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))-> decltype(std::end(__cont))
|
||||
{ return std::end(__cont); }
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -244,7 +244,6 @@ std::mutex m7z_file_impl::s_cache_mutex;
|
||||
/* ---------- FileInStream ---------- */
|
||||
|
||||
extern "C" {
|
||||
|
||||
static void *SZipAlloc(void *p, std::size_t size)
|
||||
{
|
||||
return (size == 0) ? nullptr : std::malloc(size);
|
||||
|
@ -21,7 +21,6 @@
|
||||
|
||||
|
||||
namespace util {
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
***************************************************************************/
|
||||
|
@ -31,7 +31,6 @@
|
||||
#include <vector>
|
||||
|
||||
namespace util {
|
||||
|
||||
template <typename CharT, typename Traits = std::char_traits<CharT>, typename Allocator = std::allocator<CharT> >
|
||||
class basic_vectorbuf : public std::basic_streambuf<CharT, Traits>
|
||||
{
|
||||
|
@ -21,7 +21,6 @@
|
||||
|
||||
|
||||
namespace util {
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
***************************************************************************/
|
||||
@ -739,7 +738,7 @@ static osd_file::error zippath_resolve(const char *path, osd_dir_entry_type &ent
|
||||
// is this file a ZIP file?
|
||||
if ((current_entry_type == ENTTYPE_FILE) &&
|
||||
((is_zip_file(apath_trimmed) && (archive_file::open_zip(apath_trimmed, zipfile) == archive_file::error::NONE)) ||
|
||||
(is_7z_file(apath_trimmed) && (archive_file::open_7z(apath_trimmed, zipfile) == archive_file::error::NONE))))
|
||||
(is_7z_file(apath_trimmed) && (archive_file::open_7z(apath_trimmed, zipfile) == archive_file::error::NONE))))
|
||||
{
|
||||
auto i = strlen(path + apath.length());
|
||||
while ((i > 0) && is_zip_path_separator(path[apath.length() + i - 1]))
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
|
||||
namespace util {
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
***************************************************************************/
|
||||
|
@ -16,8 +16,8 @@
|
||||
#define YM3438_TAG "m1ym"
|
||||
|
||||
static ADDRESS_MAP_START( segam1audio_map, AS_PROGRAM, 16, segam1audio_device )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION(":m1sndcpu", 0)
|
||||
AM_RANGE(0x080000, 0x09ffff) AM_ROM AM_REGION(":m1sndcpu", 0x20000) // mirror of upper ROM socket
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_REGION(":m1sndcpu", 0)
|
||||
AM_RANGE(0x080000, 0x09ffff) AM_ROM AM_REGION(":m1sndcpu", 0x20000) // mirror of upper ROM socket
|
||||
AM_RANGE(0xc20000, 0xc20001) AM_READWRITE(m1_snd_68k_latch_r, m1_snd_68k_latch1_w )
|
||||
AM_RANGE(0xc20002, 0xc20003) AM_READWRITE(m1_snd_v60_ready_r, m1_snd_68k_latch2_w )
|
||||
AM_RANGE(0xc40000, 0xc40007) AM_DEVREADWRITE8(MULTIPCM_1_TAG, multipcm_device, read, write, 0x00ff )
|
||||
|
@ -536,10 +536,10 @@ ROM_START(apple2gsr0)
|
||||
|
||||
ROM_REGION(0x20000,"maincpu",0)
|
||||
/* Should these roms really be split like this? according to the unofficial apple rom list, IIgs ROM00 was on one rom labeled 342-0077-A */
|
||||
// ROM_LOAD("rom0a.bin", 0x0000, 0x8000, CRC(9cc78238) SHA1(0ea82e10720a01b68722ab7d9f66efec672a44d3))
|
||||
// ROM_LOAD("rom0b.bin", 0x8000, 0x8000, CRC(8baf2a79) SHA1(91beeb11827932fe10475252d8036a63a2edbb1c))
|
||||
// ROM_LOAD("rom0c.bin", 0x10000, 0x8000, CRC(94c32caa) SHA1(4806d50d676b06f5213b181693fc1585956b98bb))
|
||||
// ROM_LOAD("rom0d.bin", 0x18000, 0x8000, CRC(200a15b8) SHA1(0c2890bb169ead63369738bbd5f33b869f24c42a))
|
||||
// ROM_LOAD("rom0a.bin", 0x0000, 0x8000, CRC(9cc78238) SHA1(0ea82e10720a01b68722ab7d9f66efec672a44d3))
|
||||
// ROM_LOAD("rom0b.bin", 0x8000, 0x8000, CRC(8baf2a79) SHA1(91beeb11827932fe10475252d8036a63a2edbb1c))
|
||||
// ROM_LOAD("rom0c.bin", 0x10000, 0x8000, CRC(94c32caa) SHA1(4806d50d676b06f5213b181693fc1585956b98bb))
|
||||
// ROM_LOAD("rom0d.bin", 0x18000, 0x8000, CRC(200a15b8) SHA1(0c2890bb169ead63369738bbd5f33b869f24c42a))
|
||||
ROM_LOAD("342-0077-a", 0x0000, 0x20000, CRC(dfbdd97b) SHA1(ff0c245dd0732ec4413a934fd80efc2defd8a8e3) ) /* 342-0077-A: IIgs ROM00 */
|
||||
|
||||
ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00)
|
||||
|
@ -279,9 +279,10 @@ ROM_END
|
||||
ROM_START( steeplec )
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
|
||||
ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "003773-a.4c", 0x0000, 0x0100, CRC(5ddc49b6) SHA1(58eba996703cbb7b3f66ff97357e191c9a3ab340) ) // Bugle
|
||||
ROM_LOAD( "003773-b.4d", 0x0100, 0x0100, CRC(e6994cde) SHA1(504f92dba0c8640d55c7412697868582043f3817) ) // Graphics
|
||||
ROM_REGION( 0x0220, "gfx", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "003773-a.4c", 0x0000, 0x0100, CRC(5ddc49b6) SHA1(58eba996703cbb7b3f66ff97357e191c9a3ab340) ) // Horse Graphics
|
||||
ROM_LOAD( "003773-b.4d", 0x0100, 0x0100, CRC(e6994cde) SHA1(504f92dba0c8640d55c7412697868582043f3817) ) // Horse Graphics
|
||||
ROM_LOAD( "003774.8c", 0x0200, 0x0020, CRC(f3785f4a) SHA1(98f4015049279de5ba109e6dd87bb94071df586) ) // Bugle
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -2406,5 +2406,3 @@ GAME( 198?, grudge, 0, balsente, grudge, balsente_state, grudge, RO
|
||||
#if 0
|
||||
GAME( 1985, teamht, hattrick, balsente, teamht, balsente_state, teamht, ROT0, "Bally/Sente", "Team Hat Trick", MACHINE_SUPPORTS_SAVE )
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -109,7 +109,6 @@ public:
|
||||
|
||||
void blackt96_state::video_start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -333,7 +332,7 @@ void blackt96_state::tile_callback(int &tile, int& fx, int& fy, int& region)
|
||||
fx = tile & 0x4000;
|
||||
fy = tile & 0x8000;
|
||||
tile &= 0x3fff;
|
||||
|
||||
|
||||
if (tile & 0x2000)
|
||||
{
|
||||
region = 0;
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
Car Jamboree
|
||||
Omori Electric CAD (OEC) 1983
|
||||
|
||||
|
||||
TODO:
|
||||
- colors are wrong
|
||||
- sprite priorities?
|
||||
@ -89,7 +89,7 @@ void carjmbre_state::machine_start()
|
||||
// zerofill
|
||||
m_nmi_enabled = false;
|
||||
m_bgcolor = 0;
|
||||
|
||||
|
||||
// register for savestates
|
||||
save_item(NAME(m_nmi_enabled));
|
||||
save_item(NAME(m_bgcolor));
|
||||
@ -183,7 +183,7 @@ void carjmbre_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
int flipx = m_spriteram[offs + 2] >> 6 & 1;
|
||||
int flipy = m_spriteram[offs + 2] >> 7 & 1;
|
||||
int sx = m_spriteram[offs + 3];
|
||||
|
||||
|
||||
// align to tilemap
|
||||
if (flip_screen())
|
||||
{
|
||||
@ -197,7 +197,7 @@ void carjmbre_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
sy = 241 - sy;
|
||||
sx -= 7;
|
||||
}
|
||||
|
||||
|
||||
m_gfxdecode->gfx(1)->transpen(bitmap, cliprect, code, color, flipx, flipy, sx, sy, 0);
|
||||
}
|
||||
}
|
||||
@ -365,7 +365,7 @@ static MACHINE_CONFIG_START( carjmbre, carjmbre_state )
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", carjmbre)
|
||||
MCFG_PALETTE_ADD("palette", 64)
|
||||
MCFG_PALETTE_INIT_OWNER(carjmbre_state, carjmbre)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("ay1", AY8910, XTAL_18_432MHz/6/2)
|
||||
|
@ -158,17 +158,17 @@
|
||||
***************************************************************************************
|
||||
|
||||
Game notes...
|
||||
|
||||
|
||||
The third set is resetting after drawing the maze, and when start a game.
|
||||
|
||||
Attract reset:
|
||||
|
||||
|
||||
bp d28e (this is after all the jsr tables that draw the maze)
|
||||
$d296: jsr $e0cd...
|
||||
$e189 (jsr $6337) ; $6337 ---> Goes nowhere. Hit the 00's (BRK) and reset.
|
||||
|
||||
Start reset:
|
||||
|
||||
|
||||
$e0e9: 4c ee 60 ; jmp $60ee <--- nothing here.
|
||||
|
||||
***************************************************************************************
|
||||
@ -588,7 +588,7 @@ ROM_END
|
||||
|
||||
/* This Petaco's 2-player game
|
||||
seems to soffer of some bitrot.
|
||||
|
||||
|
||||
The code executes subroutines located out of the ROM space.
|
||||
Finally jumps to nowhere.
|
||||
*/
|
||||
|
@ -155,10 +155,10 @@ static INPUT_PORTS_START( crimfght )
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x03, "1" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
PORT_DIPSETTING( 0x03, "1" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
PORT_DIPUNUSED_DIPLOC(0x04, 0x04, "SW2:3")
|
||||
PORT_DIPUNUSED_DIPLOC(0x08, 0x08, "SW2:4")
|
||||
PORT_DIPUNUSED_DIPLOC(0x10, 0x10, "SW2:5")
|
||||
@ -208,38 +208,38 @@ static INPUT_PORTS_START( crimfghtu )
|
||||
|
||||
PORT_MODIFY("DSW1")
|
||||
PORT_DIPNAME(0xf0, 0x00, "Coin B (Unused)") PORT_DIPLOCATION("SW1:5,6,7,8")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ))
|
||||
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 3C_2C ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 4C_3C ))
|
||||
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 3C_4C ))
|
||||
PORT_DIPSETTING( 0x70, DEF_STR( 2C_3C ))
|
||||
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ))
|
||||
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ))
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ))
|
||||
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ))
|
||||
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ))
|
||||
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Unused ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ))
|
||||
PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ))
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 3C_2C ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 4C_3C ))
|
||||
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 3C_4C ))
|
||||
PORT_DIPSETTING( 0x70, DEF_STR( 2C_3C ))
|
||||
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ))
|
||||
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ))
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ))
|
||||
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ))
|
||||
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ))
|
||||
PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Unused ))
|
||||
|
||||
PORT_MODIFY("DSW2")
|
||||
PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "SW2:1")
|
||||
PORT_DIPUNUSED_DIPLOC(0x02, 0x02, "SW2:2")
|
||||
PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "SW2:1")
|
||||
PORT_DIPUNUSED_DIPLOC(0x02, 0x02, "SW2:2")
|
||||
|
||||
PORT_MODIFY("P1")
|
||||
KONAMI8_B12_UNK(1)
|
||||
PORT_MODIFY("P1")
|
||||
KONAMI8_B12_UNK(1)
|
||||
|
||||
PORT_MODIFY("P2")
|
||||
KONAMI8_B12_UNK(2)
|
||||
PORT_MODIFY("P2")
|
||||
KONAMI8_B12_UNK(2)
|
||||
|
||||
PORT_MODIFY("P3")
|
||||
KONAMI8_B12_UNK(3)
|
||||
PORT_MODIFY("P3")
|
||||
KONAMI8_B12_UNK(3)
|
||||
|
||||
PORT_MODIFY("P4")
|
||||
KONAMI8_B12_UNK(4)
|
||||
PORT_MODIFY("P4")
|
||||
KONAMI8_B12_UNK(4)
|
||||
|
||||
PORT_MODIFY("SYSTEM")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
@ -402,7 +402,7 @@ ROM_END
|
||||
|
||||
ROM_START( crimfghtu )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* code + banked roms */
|
||||
ROM_LOAD( "821l02.f24", 0x00000, 0x20000, CRC(588e7da6) SHA1(285febb3bcca31f82b34af3695a59eafae01cd30) )
|
||||
ROM_LOAD( "821l02.f24", 0x00000, 0x20000, CRC(588e7da6) SHA1(285febb3bcca31f82b34af3695a59eafae01cd30) )
|
||||
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the sound CPU */
|
||||
ROM_LOAD( "821l01.h4", 0x0000, 0x8000, CRC(0faca89e) SHA1(21c9c6d736b398a29e8709e1187c5bf3cacdc99d) )
|
||||
|
@ -63,7 +63,7 @@ MACHINE_START_MEMBER(cyberbal_state,cyberbal2p)
|
||||
MACHINE_START_MEMBER(cyberbal_state,cyberbal)
|
||||
{
|
||||
MACHINE_START_CALL_MEMBER(cyberbal2p);
|
||||
|
||||
|
||||
membank("soundbank")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x1000);
|
||||
}
|
||||
|
||||
|
@ -500,7 +500,7 @@ void gaelco_state::machine_start()
|
||||
{
|
||||
if (memregion("oki")->bytes() > 0x040000) //bigkarnk oki isn't banked
|
||||
membank("okibank")->configure_entries(0, 16, memregion("oki")->base(), 0x10000);
|
||||
}
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( bigkarnk, gaelco_state )
|
||||
|
||||
|
@ -250,7 +250,7 @@ UINT8 hh_cop400_state::read_inputs(int columns)
|
||||
Castle Toy Einstein
|
||||
* COP421 MCU label ~/927 COP421-NEZ/N
|
||||
* 4 lamps, 1-bit sound
|
||||
|
||||
|
||||
This is a Simon clone, the tones are not harmonic. Two models exist, each
|
||||
with a different batteries setup, assume they're same otherwise.
|
||||
|
||||
@ -347,12 +347,12 @@ MACHINE_CONFIG_END
|
||||
Coleco Head to Head Basketball/Hockey/Soccer
|
||||
* COP420 MCU label COP420L-NEZ/N
|
||||
* 2-digit 7seg display, 41 other leds, 1-bit sound
|
||||
|
||||
|
||||
3 Head to Head games were released using this MCU/ROM. They play very much
|
||||
the same, only differing on game time.
|
||||
|
||||
|
||||
An earlier revision of this game runs on TMS1000.
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class h2hbaskb_state : public hh_cop400_state
|
||||
@ -389,7 +389,7 @@ WRITE8_MEMBER(h2hbaskb_state::write_l)
|
||||
// D2,D3 double as multiplexer
|
||||
UINT16 mask = ((m_d >> 2 & 1) * 0x00ff) | ((m_d >> 3 & 1) * 0xff00);
|
||||
UINT16 sel = (m_g | m_d << 4 | m_g << 8 | m_d << 12) & mask;
|
||||
|
||||
|
||||
// D2+G0,G1 are 7segs
|
||||
set_display_segmask(3, 0x7f);
|
||||
|
||||
|
@ -97,7 +97,7 @@ WRITE16_MEMBER(hh_sm510_state::lcd_segment_w)
|
||||
char buf[0x10];
|
||||
sprintf(buf, "%d.%d.%d", offset >> 2, seg, offset & 3);
|
||||
output().set_value(buf, state);
|
||||
|
||||
|
||||
m_lcd_output_cache[index] = state;
|
||||
}
|
||||
}
|
||||
|
@ -1379,7 +1379,7 @@ MACHINE_CONFIG_END
|
||||
- USA(1): Football, ERS(Electronic Readout Systems)
|
||||
- USA(2): Football, ELECsonic
|
||||
- USA(3): Football, no brand!
|
||||
|
||||
|
||||
Another hardware revision of this game uses a PIC16 MCU.
|
||||
|
||||
***************************************************************************/
|
||||
@ -1413,15 +1413,15 @@ WRITE16_MEMBER(cnfball_state::write_r)
|
||||
// R5,R8: N/C
|
||||
// R6,R7: speaker out
|
||||
m_speaker->level_w(data >> 6 & 3);
|
||||
|
||||
|
||||
// R9,R10: input mux
|
||||
m_inp_mux = data >> 9 & 3;
|
||||
|
||||
|
||||
// R0: DS8874N CP: clock pulse edge-triggered
|
||||
// note: DS8874N CP goes back to K8 too, game relies on it
|
||||
if ((data ^ m_r) & 1)
|
||||
m_grid = m_grid << 1 & 0x1ff;
|
||||
|
||||
|
||||
// R1: DS8874N _DATA: reset shift register
|
||||
if (~data & 2)
|
||||
m_grid = 1;
|
||||
@ -2818,7 +2818,7 @@ MACHINE_CONFIG_END
|
||||
Gakken FX-Micom R-165
|
||||
* TMS1100 MCU, label MP1312, die label MP1312A
|
||||
* 1 7seg led, 6 other leds, 1-bit sound
|
||||
|
||||
|
||||
This is a simple educational home computer. Refer to the extensive manual
|
||||
for more information. It was distributed later in the USA by Tandy Radio Shack,
|
||||
under their Science Fair series. Another 25 years later, Gakken re-released
|
||||
@ -2851,7 +2851,7 @@ void fxmcr165_state::prepare_display()
|
||||
// 7seg digit from O0-O6
|
||||
m_display_segmask[0] = 0x7f;
|
||||
m_display_state[0] = BITSWAP8(m_o,7,2,6,5,4,3,1,0) & 0x7f;
|
||||
|
||||
|
||||
// leds from R4-R10
|
||||
m_display_state[1] = m_r >> 4 & 0x7f;
|
||||
set_display_size(7, 2);
|
||||
@ -2862,7 +2862,7 @@ WRITE16_MEMBER(fxmcr165_state::write_r)
|
||||
{
|
||||
// R0-R3: input mux low
|
||||
m_inp_mux = (m_inp_mux & 0x10) | (data & 0xf);
|
||||
|
||||
|
||||
// R7: speaker out
|
||||
m_speaker->level_w(data >> 7 & 1);
|
||||
|
||||
@ -2875,7 +2875,7 @@ WRITE16_MEMBER(fxmcr165_state::write_o)
|
||||
{
|
||||
// O7: input mux high
|
||||
m_inp_mux = (m_inp_mux & 0xf) | (data >> 3 & 0x10);
|
||||
|
||||
|
||||
// O0-O6: digit segments (direct)
|
||||
m_o = data;
|
||||
prepare_display();
|
||||
|
@ -97,7 +97,7 @@ A 12.000MHz
|
||||
#include "machine/i8255.h"
|
||||
|
||||
#define MCLK XTAL_12MHz // this is on the video board
|
||||
#define CLK2 XTAL_8MHz // near the CPUs
|
||||
#define CLK2 XTAL_8MHz // near the CPUs
|
||||
|
||||
WRITE8_MEMBER(himesiki_state::himesiki_rombank_w)
|
||||
{
|
||||
@ -480,7 +480,7 @@ ROM_START( androidp )
|
||||
ROM_CONTINUE( 0x0c000, 0x04000)
|
||||
|
||||
ROM_REGION( 0x18000, "sub", 0 )
|
||||
ROM_LOAD( "MITSUBISHI_A04.toppcb.m5l27256k.N6.BIN", 0x00000, 0x08000, CRC(13c38fe4) SHA1(34a35fa057159a5c83892a88b8c908faa39d5cb3) )
|
||||
ROM_LOAD( "MITSUBISHI_A04.toppcb.m5l27256k.N6.BIN", 0x00000, 0x08000, CRC(13c38fe4) SHA1(34a35fa057159a5c83892a88b8c908faa39d5cb3) )
|
||||
|
||||
ROM_REGION( 0x10000, "bgtiles", 0 )
|
||||
ROM_LOAD( "MITSUBISHI_A05.toppcb.m5l27512k.F5.BIN", 0x00000, 0x10000, CRC(4c72a930) SHA1(f1542844391b55fe43293eef7ce48c09b7aca75a) )
|
||||
|
@ -679,7 +679,7 @@ static MACHINE_CONFIG_DERIVED( ibmpcjx, ibmpcjr )
|
||||
MCFG_DEVICE_MODIFY(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("512K")
|
||||
MCFG_RAM_EXTRA_OPTIONS("") // only boots with 512k currently
|
||||
MACHINE_CONFIG_END
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
@ -525,7 +525,7 @@ static ADDRESS_MAP_START( gp98_portmap, AS_IO, 8, igs009_state )
|
||||
|
||||
AM_RANGE( 0x5000, 0x5fff ) AM_RAM_WRITE(fg_tile_w ) AM_SHARE("fg_tile_ram")
|
||||
|
||||
// seems to lacks of PPI devices...
|
||||
// seems to lacks of PPI devices...
|
||||
AM_RANGE( 0x6480, 0x6480 ) AM_WRITE(nmi_and_coins_w )
|
||||
AM_RANGE( 0x6481, 0x6481 ) AM_READ_PORT( "SERVICE" )
|
||||
AM_RANGE( 0x6482, 0x6482 ) AM_READ_PORT( "COINS" )
|
||||
@ -863,7 +863,7 @@ MACHINE_CONFIG_END
|
||||
/***************************************************************************
|
||||
|
||||
Jingle Bell
|
||||
IGS, 1997.
|
||||
IGS, 1997.
|
||||
|
||||
English versions.
|
||||
|
||||
|
@ -4248,4 +4248,3 @@ GAME( 2000?, starzan, 0, starzan, iqblocka, igs017_state, starzan, ROT
|
||||
|
||||
/* Parent spk306us in driver spoker.cpp. Move this set to that driver? */
|
||||
GAME( ????, spkrform, spk306us, spkrform, spkrform, igs017_state, spkrform, ROT0, "IGS", "Super Poker (v100xD03) / Formosa", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )
|
||||
|
||||
|
@ -76,7 +76,7 @@ READ8_MEMBER(lwings_state::avengers_adpcm_r)
|
||||
|
||||
WRITE8_MEMBER(lwings_state::lwings_bankswitch_w)
|
||||
{
|
||||
// if (data & 0xe0) printf("bankswitch_w %02x\n", data);
|
||||
// if (data & 0xe0) printf("bankswitch_w %02x\n", data);
|
||||
// Fireball writes 0x20 on startup, maybe reset soundcpu?
|
||||
m_sprbank = (data & 0x10)>>4; // Fireball only
|
||||
|
||||
@ -405,7 +405,7 @@ static ADDRESS_MAP_START( fball_sound_map, AS_PROGRAM, 8, lwings_state )
|
||||
|
||||
AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_byte_r)
|
||||
|
||||
AM_RANGE(0xA000, 0xA000) AM_WRITE(fball_oki_bank_w)
|
||||
AM_RANGE(0xA000, 0xA000) AM_WRITE(fball_oki_bank_w)
|
||||
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
|
||||
@ -620,7 +620,7 @@ static INPUT_PORTS_START( fball )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_HIGH, "SWA:8" )
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
|
||||
@ -630,7 +630,7 @@ static INPUT_PORTS_START( fball )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
|
||||
|
||||
PORT_START("P4")
|
||||
PORT_START("P4")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
|
||||
@ -858,14 +858,14 @@ void lwings_state::machine_start()
|
||||
Fireball has 2 copies of the 'fixed' code in the main program rom, with only slight changes.
|
||||
it might be possible the hardware can bank that whole area or alternatively only see one version of the program
|
||||
the only difference is 2 pieces of code have been swapped around. It is unknown when this code is called.
|
||||
|
||||
3822: CD 73
|
||||
3823: 00 23
|
||||
3824: 3E 72
|
||||
3879: 73 CD
|
||||
387A: 23 00
|
||||
387B: 72 3E
|
||||
|
||||
|
||||
3822: CD 73
|
||||
3823: 00 23
|
||||
3824: 3E 72
|
||||
3879: 73 CD
|
||||
387A: 23 00
|
||||
387B: 72 3E
|
||||
|
||||
bank 0
|
||||
3822: 73 ld (hl),e
|
||||
3823: 23 inc hl
|
||||
@ -973,7 +973,7 @@ static MACHINE_CONFIG_START( fball, lwings_state )
|
||||
|
||||
MCFG_CPU_ADD("soundcpu", Z80, XTAL_12MHz/4) // ?
|
||||
MCFG_CPU_PROGRAM_MAP(fball_sound_map)
|
||||
// MCFG_CPU_PERIODIC_INT_DRIVER(lwings_state, irq0_line_hold, 222)
|
||||
// MCFG_CPU_PERIODIC_INT_DRIVER(lwings_state, irq0_line_hold, 222)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
|
||||
@ -1192,16 +1192,16 @@ ROM_START( fball )
|
||||
|
||||
ROM_REGION( 0x01000, "soundcpu", ROMREGION_ERASEFF )
|
||||
ROM_LOAD( "A05.bin", 0x00000, 0x01000, CRC(474dd19e) SHA1(962837716f54d0de2afb7f9df29f96b2e023bbcb) ) // BADADDR ----xxxxxxxxxxxx (16x data repeat)
|
||||
ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000)
|
||||
ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000)
|
||||
ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000)
|
||||
ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000)
|
||||
ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000)
|
||||
ROM_IGNORE(0x01000) ROM_IGNORE(0x01000) ROM_IGNORE(0x01000)
|
||||
|
||||
ROM_REGION( 0x04000, "gfx1", ROMREGION_ERASEFF )
|
||||
ROM_LOAD( "J03.bin", 0x00000, 0x04000, CRC(be11627f) SHA1(de6b25e1b951d786d28a1c26716587754cfdc0df) ) // BADADDR --xxxxxxxxxxxxxx (4x data repeat)
|
||||
ROM_IGNORE(0x04000)
|
||||
ROM_IGNORE(0x04000)
|
||||
ROM_IGNORE(0x04000)
|
||||
ROM_IGNORE(0x04000)
|
||||
|
||||
ROM_REGION( 0x40000, "gfx2", ROMREGION_ERASEFF )
|
||||
ROM_LOAD( "B15.bin", 0x20000, 0x10000, CRC(2169ad3e) SHA1(5628b97e6f4ad4291eb98b02ea8f9b2282b44c60) ) ROM_IGNORE(0x10000) // 1ST AND 2ND HALF IDENTICAL
|
||||
@ -1217,7 +1217,7 @@ ROM_START( fball )
|
||||
ROM_LOAD( "A03.bin", 0x00000, 0x40000, CRC(22b0d089) SHA1(a82d04c389694e1ed0b9b24555ddd6f9d9f6ca38) )
|
||||
ROM_RELOAD(0x40000,0x40000)
|
||||
ROM_LOAD( "A02.bin", 0x80000, 0x40000, CRC(951d6579) SHA1(8976a836538eb510888f49af94dbf66dacb8f067) )
|
||||
ROM_LOAD( "A01.bin", 0xc0000, 0x40000, CRC(020b5261) SHA1(698dbd7e125e4edd988791ecdae7db9ddc0705b3) )
|
||||
ROM_LOAD( "A01.bin", 0xc0000, 0x40000, CRC(020b5261) SHA1(698dbd7e125e4edd988791ecdae7db9ddc0705b3) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -1747,4 +1747,4 @@ GAME( 1987, buraikenb, avengers, avengersb,avengers, lwings_state, avengersb, RO
|
||||
// cloned lwings hardware
|
||||
GAME( 1992, fball, 0, fball, fball, driver_device, 0, ROT0, "FM Work", "Fire Ball (FM Work)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
|
||||
|
||||
|
@ -1668,4 +1668,3 @@ GAMEL(1983, spyhunt, 0, mcrsc_csd, spyhunt, mcr3_state, spyhunt, ROT9
|
||||
GAMEL(1983, spyhuntp, spyhunt, mcrsc_csd, spyhunt, mcr3_state, spyhunt, ROT90, "Bally Midway (Playtronic license)", "Spy Hunter (Playtronic license)", MACHINE_SUPPORTS_SAVE, layout_spyhunt )
|
||||
GAME( 1984, crater, 0, mcrscroll, crater, mcr3_state, crater, ORIENTATION_FLIP_X, "Bally Midway", "Crater Raider", MACHINE_SUPPORTS_SAVE )
|
||||
GAMEL(1985, turbotag, 0, mcrsc_csd, turbotag, mcr3_state, turbotag, ROT90, "Bally Midway", "Turbo Tag (prototype)", MACHINE_SUPPORTS_SAVE, layout_turbotag )
|
||||
|
||||
|
@ -1513,8 +1513,8 @@ ROM_START( chkndraw )
|
||||
ROM_LOAD( "u37", 0x4000, 0x2000, CRC(f554134d) SHA1(417dc83d24b4d39232b680e4004bf050c9cbb159) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx2", 0 )
|
||||
// ROM_LOAD( "u40", 0x0000, 0x2000, BAD_DUMP CRC(01722f98) SHA1(c75c9511c07379ea087be5d75cbc3e705628c824) )
|
||||
// ROM_LOAD( "u40a", 0x0000, 0x2000, BAD_DUMP CRC(03543d67) SHA1(5ae08dbc0f736c11070befb4cfad87ddaa24cef2) )
|
||||
// ROM_LOAD( "u40", 0x0000, 0x2000, BAD_DUMP CRC(01722f98) SHA1(c75c9511c07379ea087be5d75cbc3e705628c824) )
|
||||
// ROM_LOAD( "u40a", 0x0000, 0x2000, BAD_DUMP CRC(03543d67) SHA1(5ae08dbc0f736c11070befb4cfad87ddaa24cef2) )
|
||||
ROM_LOAD( "u40b", 0x0000, 0x2000, BAD_DUMP CRC(c53a9e90) SHA1(2076d045c279405083fec8949425532e7e7e7844) )
|
||||
ROM_END
|
||||
|
||||
|
@ -1085,8 +1085,8 @@ GFXDECODE_END
|
||||
static ADDRESS_MAP_START(polgar_mem , AS_PROGRAM, 8, polgar_state )
|
||||
AM_RANGE( 0x0000, 0x1fff ) AM_RAM
|
||||
//AM_RANGE( 0x2400, 0x2400 ) AM_WRITE(mboard_write_LED_8 ) // Chessboard
|
||||
// AM_RANGE( 0x2800, 0x2800 ) AM_WRITE(mboard_write_board_8) // Chessboard
|
||||
// AM_RANGE( 0x3000, 0x3000 ) AM_READ(mboard_read_board_8 ) // Chessboard
|
||||
// AM_RANGE( 0x2800, 0x2800 ) AM_WRITE(mboard_write_board_8) // Chessboard
|
||||
// AM_RANGE( 0x3000, 0x3000 ) AM_READ(mboard_read_board_8 ) // Chessboard
|
||||
AM_RANGE( 0x3400, 0x3405 ) AM_WRITE(polgar_write_LED) // Function LEDs
|
||||
AM_RANGE( 0x2c00, 0x2c07 ) AM_READ(read_keys)
|
||||
AM_RANGE( 0x2004, 0x2004 ) AM_WRITE(write_polgar_IO ) // LCD Instr. Reg + Beeper
|
||||
@ -1130,7 +1130,7 @@ static ADDRESS_MAP_START(gen32_mem, AS_PROGRAM, 32, polgar_state )
|
||||
static ADDRESS_MAP_START(bpl32_mem, AS_PROGRAM, 32, polgar_state )
|
||||
|
||||
AM_RANGE( 0x000000, 0x03ffff ) AM_ROM
|
||||
// AM_RANGE( 0x800000 , 0x800003 ) AM_READ(read_keys_BPL32 )
|
||||
// AM_RANGE( 0x800000 , 0x800003 ) AM_READ(read_keys_BPL32 )
|
||||
AM_RANGE( 0x900000 , 0x900003 ) AM_WRITE(write_board_BPL32 )
|
||||
AM_RANGE( 0xa00000 , 0xa00003 ) AM_WRITE(write_LED_BPL32 )
|
||||
AM_RANGE( 0xc00000 , 0xc00003 ) AM_WRITE(write_LCD_data_32 )
|
||||
@ -1145,8 +1145,8 @@ static ADDRESS_MAP_START(van32_mem, AS_PROGRAM, 32, polgar_state )
|
||||
AM_RANGE( 0x00000000, 0x0003ffff ) AM_ROM
|
||||
|
||||
//AM_RANGE( 0x800000fc , 0x800000ff ) AM_READ(mboard_read_board_32 )
|
||||
// AM_RANGE( 0x88000000 , 0x88000007 ) AM_WRITE(mboard_write_board_32 )
|
||||
// AM_RANGE( 0x90000000 , 0x90000007 ) AM_WRITE(mboard_write_LED_32 )
|
||||
// AM_RANGE( 0x88000000 , 0x88000007 ) AM_WRITE(mboard_write_board_32 )
|
||||
// AM_RANGE( 0x90000000 , 0x90000007 ) AM_WRITE(mboard_write_LED_32 )
|
||||
AM_RANGE( 0x800000ec , 0x800000ff ) AM_READ(read_buttons_van32 )
|
||||
AM_RANGE( 0xa0000000 , 0xa0000003 ) AM_WRITE(write_LCD_data_32 )
|
||||
AM_RANGE( 0xa0000010 , 0xa0000013 ) AM_WRITE(write_IOenables_32 )
|
||||
@ -1230,7 +1230,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START(milano_mem , AS_PROGRAM, 8, polgar_state )
|
||||
AM_RANGE( 0x0000, 0x1f9f ) AM_RAM
|
||||
AM_RANGE( 0x1fd0, 0x1fd0 ) AM_WRITE(milano_write_board ) // Chessboard
|
||||
// AM_RANGE( 0x1fe0, 0x1fe0 ) AM_READ(milano_read_board ) // Chessboard
|
||||
// AM_RANGE( 0x1fe0, 0x1fe0 ) AM_READ(milano_read_board ) // Chessboard
|
||||
AM_RANGE( 0x1fe8, 0x1fed ) AM_WRITE(milano_write_LED ) // Function LEDs
|
||||
AM_RANGE( 0x1fd8, 0x1fdf ) AM_READ(read_keys)
|
||||
AM_RANGE( 0x1ff0, 0x1ff0 ) AM_WRITE(write_polgar_IO) // IO control
|
||||
|
@ -5196,7 +5196,7 @@ ROM_START( dynabb ) /* Dynamite Baseball, Model 2B. Sega game ID# 833-12803 DYNA
|
||||
ROM_LOAD32_WORD("epr-19169.14", 0x100002, 0x080000, CRC(91a5acef) SHA1(2520a3e4ff15e4d583861ba656570abca5f7c611) )
|
||||
|
||||
ROM_REGION32_LE( 0x2000000, "user1", 0 ) // Data
|
||||
// 0x0000000 - 0x07fffff unpopulated? (not checked by ROM checks)
|
||||
// 0x0000000 - 0x07fffff unpopulated? (not checked by ROM checks)
|
||||
ROM_LOAD32_WORD("mpr-19176.9", 0x0800000, 0x400000, CRC(2c4e90f5) SHA1(8d5ed0b26e79dd6476282bc69cb27b42381635f2) )
|
||||
ROM_LOAD32_WORD("mpr-19177.10", 0x0800002, 0x400000, CRC(b0f1e512) SHA1(81e4124ac7766c7ea6bac7e7f4db110783394ae3) )
|
||||
ROM_LOAD32_WORD("mpr-19174.7", 0x1000000, 0x400000, CRC(057e5200) SHA1(dd07eb438d91a8132789154a633fb6ec4e2ef0d1) )
|
||||
|
@ -293,7 +293,7 @@ void n64_mess_state::mempak_format(UINT8* pak)
|
||||
0x00,0x03,0x00,0x03, 0x00,0x03,0x00,0x03, 0x00,0x03,0x00,0x03, 0x00,0x03,0x00,0x03,
|
||||
0x00,0x03,0x00,0x03, 0x00,0x03,0x00,0x03, 0x00,0x03,0x00,0x03, 0x00,0x03,0x00,0x03
|
||||
};
|
||||
|
||||
|
||||
memset(pak, 0, 0x8000);
|
||||
memcpy(pak, pak_header, 256);
|
||||
memcpy(pak+256, pak_inode_table, 256); // Main
|
||||
|
@ -6538,7 +6538,7 @@ ROM_START( wrungpo )
|
||||
ROM_LOAD( "mpr-23724.ic6", 0x5800000, 0x1000000, CRC(c633c45a) SHA1(23b45140f965428d33e2424b0574715c0b952d05) )
|
||||
// note: origin ROM board have 12x8MB FlashROMs with same contents as above
|
||||
|
||||
// 840-0064-01 2001 317-0306-COM Naomi
|
||||
// 840-0064-01 2001 317-0306-COM Naomi
|
||||
ROM_PARAMETER( ":rom_board:segam2crypt:key", "284ae7c3")
|
||||
ROM_END
|
||||
|
||||
|
@ -1291,7 +1291,7 @@ ROM_END
|
||||
. NGM-024
|
||||
NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
|
||||
. NGH-024
|
||||
|
||||
|
||||
. prototype
|
||||
NEO-MVS PROG-EP / NEO-MVS CHA-EPG
|
||||
****************************************/
|
||||
|
@ -32,10 +32,10 @@
|
||||
TODO:
|
||||
|
||||
- keyboard
|
||||
- only key 7 is recognized
|
||||
- escape key mapping
|
||||
- only key 7 is recognized
|
||||
- escape key mapping
|
||||
- VFD
|
||||
- reset/powerup time constants
|
||||
- reset/powerup time constants
|
||||
- bitmapped video
|
||||
- accurate video timing
|
||||
- cassette
|
||||
|
@ -4875,7 +4875,7 @@ DRIVER_INIT_MEMBER(nmk16_state,tdragon_prot)
|
||||
DRIVER_INIT_MEMBER(nmk16_state,ssmissin)
|
||||
{
|
||||
decode_ssmissin();
|
||||
|
||||
|
||||
membank("okibank1")->configure_entries(0, 4, memregion("oki1")->base() + 0x80000, 0x20000);
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
<there are probably others I've missed>
|
||||
|
||||
* History of the machine can be found at http://freudenbergs.de/bert/publications/Ingalls-2014-Smalltalk78.pdf
|
||||
|
||||
|
||||
* The notetaker has an 8-slot backplane, with the following cards in it:
|
||||
* I/O Processor card (8086@8Mhz, 8259pic, 4k ROM, Keyboard UART, DAC1200 (multiplexed to 2 channels))
|
||||
* Emulation Processor card (8086@5Mhz, 8259pic, 4k of local RAM with Parity check logic)
|
||||
@ -34,7 +34,7 @@
|
||||
* As far as I am aware, no media (world disks/boot disks) for the NoteTaker have survived (except maybe the two disks at Xerox Museum at PARC), but an incomplete dump of the Smalltalk-76 'world' which was used to bootstrap Smalltalk-78 originally did survive on the Alto disks at CHM
|
||||
|
||||
* We are missing the dump for the i8748 Keyboard MCU which does row-column scanning and mouse quadrature reading, and talks to the main system via serial
|
||||
|
||||
|
||||
* see http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/notetaker for additional information
|
||||
* see http://xeroxalto.computerhistory.org/Filene/Smalltalk-76/ for the smalltalk-76 dump
|
||||
* see http://xeroxalto.computerhistory.org/Indigo/BasicDisks/Smalltalk14.bfs!1_/ for more notetaker/smalltalk related files, including SmallTalk-80 files based on the notetaker smalltalk-78
|
||||
@ -656,19 +656,19 @@ read from 0x44 (byte wide) to check input fifo status
|
||||
/* Emulator CPU */
|
||||
/*
|
||||
static ADDRESS_MAP_START(notetaker_emulatorcpu_mem, AS_PROGRAM, 16, notetaker_state)
|
||||
AM_RANGE(0x00000, 0x01fff) AM_MIRROR(0xC0000) AM_RAM // actually a banked block of ram, 8k (4k words)
|
||||
AM_RANGE(0x02000, 0x3ffff) AM_MIRROR(0xC0000) AM_RAM AM_BASE("mainram") // 256k of ram (less 8k), shared between both processors, mirrored 4 times
|
||||
AM_RANGE(0xFFFC0, 0xFFFDF) AM_READWRITE(proc_illinst_r, proc_illinst_w)
|
||||
AM_RANGE(0xFFFE0, 0xFFFEF) AM_READWRITE(proc_control_r, proc_control_w)
|
||||
AM_RANGE(0x00000, 0x01fff) AM_MIRROR(0xC0000) AM_RAM // actually a banked block of ram, 8k (4k words)
|
||||
AM_RANGE(0x02000, 0x3ffff) AM_MIRROR(0xC0000) AM_RAM AM_BASE("mainram") // 256k of ram (less 8k), shared between both processors, mirrored 4 times
|
||||
AM_RANGE(0xFFFC0, 0xFFFDF) AM_READWRITE(proc_illinst_r, proc_illinst_w)
|
||||
AM_RANGE(0xFFFE0, 0xFFFEF) AM_READWRITE(proc_control_r, proc_control_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
// note everything in the emulatorcpu's io range is incompletely decoded; so if 0x1800 is accessed it will write to both the debug 8255 AND the pic8259! I'm not sure the code abuses this or not, but it might do so to both write registers and clear parity at once, or something similar.
|
||||
static ADDRESS_MAP_START(notetaker_emulatorcpu_io, AS_IO, 16, notetaker_state)
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x800, 0x803) AM_MIRROR(0x07FC) AM_DEVREADWRITE8("emupic8259", pic8259_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x1000, 0x1001) AM_MIRROR(0x07FE) AM_DEVREADWRITE("debug8255", 8255_device, read, write) // debugger board 8255, is this the same one as the iocpu accesses? or are these two 8255s on separate cards?
|
||||
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x07FE) AM_WRITE(EPConReg_w) // emu processor control reg & leds
|
||||
AM_RANGE(0x4000, 0x4001) AM_MIRROR(0x07FE) AM_WRITE(EmuClearParity_w) // writes here clear the local 8k-ram parity error register
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x800, 0x803) AM_MIRROR(0x07FC) AM_DEVREADWRITE8("emupic8259", pic8259_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x1000, 0x1001) AM_MIRROR(0x07FE) AM_DEVREADWRITE("debug8255", 8255_device, read, write) // debugger board 8255, is this the same one as the iocpu accesses? or are these two 8255s on separate cards?
|
||||
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x07FE) AM_WRITE(EPConReg_w) // emu processor control reg & leds
|
||||
AM_RANGE(0x4000, 0x4001) AM_MIRROR(0x07FE) AM_WRITE(EmuClearParity_w) // writes here clear the local 8k-ram parity error register
|
||||
ADDRESS_MAP_END
|
||||
*/
|
||||
|
||||
@ -900,4 +900,4 @@ ROM_END
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */
|
||||
COMP( 1978, notetakr, 0, 0, notetakr, notetakr, notetaker_state, notetakr, "Xerox", "NoteTaker", MACHINE_IS_SKELETON)
|
||||
//COMP( 1978, notetakr, 0, 0, notetakr, notetakr, driver_device, notetakr, "Xerox", "NoteTaker", MACHINE_IS_SKELETON)
|
||||
//COMP( 1978, notetakr, 0, 0, notetakr, notetakr, driver_device, notetakr, "Xerox", "NoteTaker", MACHINE_IS_SKELETON)
|
||||
|
@ -3,7 +3,7 @@
|
||||
/******************************************************************************
|
||||
|
||||
Novag generic 6502 based chess computer driver
|
||||
|
||||
|
||||
TODO:
|
||||
- move other Novag sets here when applicable
|
||||
|
||||
@ -254,7 +254,7 @@ WRITE8_MEMBER(novag6502_state::supercon_1f_w)
|
||||
// d4-d6: select led row
|
||||
m_led_select = data >> 4 & 7;
|
||||
display_matrix(8, 3, m_led_data, m_led_select);
|
||||
|
||||
|
||||
// d7: enable beeper
|
||||
m_beeper->set_state(data >> 7 & 1);
|
||||
}
|
||||
@ -403,9 +403,9 @@ static MACHINE_CONFIG_START( supercon, novag6502_state )
|
||||
MCFG_CPU_ADD("maincpu", M6502, XTAL_8MHz/2)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(novag6502_state, irq0_line_hold, 600) // guessed
|
||||
MCFG_CPU_PROGRAM_MAP(supercon_mem)
|
||||
|
||||
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", novag6502_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_supercon)
|
||||
|
||||
|
@ -1110,15 +1110,15 @@ static ADDRESS_MAP_START( numcrash_map, AS_PROGRAM, 8, pacman_state )
|
||||
AM_RANGE(0x4ff0, 0x4fff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_mask_w)
|
||||
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", namco_device, pacman_sound_enable_w)
|
||||
// AM_RANGE(0x5002, 0x5002) AM_WRITENOP
|
||||
// AM_RANGE(0x5003, 0x5003) AM_WRITE(pacman_flipscreen_w)
|
||||
// AM_RANGE(0x5004, 0x5005) AM_WRITENOP // AM_WRITE(pacman_leds_w)
|
||||
// AM_RANGE(0x5006, 0x5006) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
|
||||
// AM_RANGE(0x5007, 0x5007) AM_WRITE(pacman_coin_counter_w)
|
||||
// AM_RANGE(0x5002, 0x5002) AM_WRITENOP
|
||||
// AM_RANGE(0x5003, 0x5003) AM_WRITE(pacman_flipscreen_w)
|
||||
// AM_RANGE(0x5004, 0x5005) AM_WRITENOP // AM_WRITE(pacman_leds_w)
|
||||
// AM_RANGE(0x5006, 0x5006) AM_WRITENOP // AM_WRITE(pacman_coin_lockout_global_w)
|
||||
// AM_RANGE(0x5007, 0x5007) AM_WRITE(pacman_coin_counter_w)
|
||||
AM_RANGE(0x5040, 0x505f) AM_DEVWRITE("namco", namco_device, pacman_sound_w)
|
||||
AM_RANGE(0x5060, 0x506f) AM_WRITEONLY AM_SHARE("spriteram2")
|
||||
// AM_RANGE(0x5070, 0x507f) AM_WRITENOP
|
||||
// AM_RANGE(0x5080, 0x5080) AM_WRITENOP
|
||||
// AM_RANGE(0x5070, 0x507f) AM_WRITENOP
|
||||
// AM_RANGE(0x5080, 0x5080) AM_WRITENOP
|
||||
AM_RANGE(0x50c0, 0x50c0) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x5000, 0x5000) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x5040, 0x5040) AM_READ_PORT("IN1")
|
||||
@ -4220,7 +4220,7 @@ ROM_START( mspacmanbhe )
|
||||
ROM_CONTINUE(0x1000,0x800)
|
||||
ROM_CONTINUE(0x0800,0x800)
|
||||
ROM_CONTINUE(0x1800,0x800)
|
||||
ROM_IGNORE(0x2000)
|
||||
ROM_IGNORE(0x2000)
|
||||
|
||||
ROM_REGION( 0x0120, "proms", 0 )
|
||||
ROM_LOAD( "82s123.h7", 0x0000, 0x0020, CRC(3545e7e9) SHA1(b866b02579438afb11296e5c53a32c6425bd044d) ) // slightly different to original (verified)
|
||||
@ -5153,34 +5153,34 @@ ROM_START( pacgal )
|
||||
ROM_LOAD( "82s126.3m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* timing - not used */
|
||||
ROM_END
|
||||
|
||||
ROM_START( pacgal2 )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code+64k for decrypted code */
|
||||
ROM_LOAD( "pmg1.bin", 0x0000, 0x0800, CRC(8167fffc) SHA1(adc26e8baaf9b12c382b5606f2438f7ee6d2f7f5) )
|
||||
ROM_LOAD( "pmg5.bin", 0x0800, 0x0800, CRC(618bd9b3) SHA1(b9ca52b63a49ddece768378d331deebbe34fe177) )
|
||||
ROM_LOAD( "pmg2.bin", 0x1000, 0x0800, CRC(7d177853) SHA1(9b5ddaaa8b564654f97af193dbcc29f81f230a25) )
|
||||
ROM_LOAD( "pmg6.bin", 0x1800, 0x0800, CRC(4f91d245) SHA1(496f3d913a0abf6fa441615aedf60180e71866e8) )
|
||||
ROM_LOAD( "pmg3.bin", 0x2000, 0x0800, CRC(d0f20748) SHA1(7673d9744903f58d70ecc0ee817b57c3ce09dd80) )
|
||||
ROM_LOAD( "pmg7.bin", 0x2800, 0x0800, CRC(a948ce83) SHA1(08759833f7e0690b2ccae573c929e2a48e5bde7f) )
|
||||
ROM_LOAD( "pmg4.bin", 0x3000, 0x0800, CRC(4c842da6) SHA1(dbc84516e44412f863ffb678347929043fab852e) )
|
||||
ROM_LOAD( "pmg8.bin", 0x3800, 0x0800, CRC(022764dc) SHA1(0ab0da0834d88f3b1808755aec5c38a3ddd8184b) )
|
||||
ROM_LOAD( "u5.bin", 0x8000, 0x0800, CRC(f45fbbcd) SHA1(b26cc1c8ee18e9b1daa97956d2159b954703a0ec) )
|
||||
ROM_LOAD( "u6a.bin", 0x9000, 0x1000, CRC(3fdcb271) SHA1(4d604b98c6981a469041c0038345dbd5dcf4cd1d) )
|
||||
ROM_LOAD( "u7a.bin", 0xb000, 0x1000, CRC(5fafec7c) SHA1(1c6a85e5c348a69b8d51bcea4f8bdebb24825770) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", 0 )
|
||||
ROM_LOAD( "pmg9.bin", 0x0000, 0x0800, CRC(93933d1d) SHA1(fa38d2cb87e872bb9a3158a4df98f38360dc85ec) )
|
||||
ROM_LOAD( "pmg11.bin", 0x0800, 0x0800, CRC(7409fbec) SHA1(f440f08ba026ae6172666e1bdc0894ce33bba420) )
|
||||
ROM_LOAD( "pmg10.bin", 0x1000, 0x0800, CRC(22b0188a) SHA1(a9ed9ca8b36a60081fd364abc9bc23963932cc0b) )
|
||||
ROM_LOAD( "pmg12.bin", 0x1800, 0x0800, CRC(50c7477d) SHA1(c04ec282a8cb528df5e38ad750d12ee71612695d) )
|
||||
|
||||
ROM_REGION( 0x0120, "proms", 0 )
|
||||
ROM_LOAD( "82s123.7f", 0x0000, 0x0020, CRC(2fc650bd) SHA1(8d0268dee78e47c712202b0ec4f1f51109b1f2a5) )
|
||||
ROM_LOAD( "82s126.4a", 0x0020, 0x0100, CRC(3eb3a8e4) SHA1(19097b5f60d1030f8b82d9f1d3a241f93e5c75d6) ) /* 7611p4.4a */
|
||||
|
||||
ROM_REGION( 0x0200, "namco", 0 ) /* sound PROMs */
|
||||
ROM_LOAD( "82s126.1m", 0x0000, 0x0100, CRC(a9cc86bf) SHA1(bbcec0570aeceb582ff8238a4bc8546a23430081) )
|
||||
ROM_LOAD( "82s126.3m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* timing - not used */
|
||||
ROM_END
|
||||
ROM_START( pacgal2 )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code+64k for decrypted code */
|
||||
ROM_LOAD( "pmg1.bin", 0x0000, 0x0800, CRC(8167fffc) SHA1(adc26e8baaf9b12c382b5606f2438f7ee6d2f7f5) )
|
||||
ROM_LOAD( "pmg5.bin", 0x0800, 0x0800, CRC(618bd9b3) SHA1(b9ca52b63a49ddece768378d331deebbe34fe177) )
|
||||
ROM_LOAD( "pmg2.bin", 0x1000, 0x0800, CRC(7d177853) SHA1(9b5ddaaa8b564654f97af193dbcc29f81f230a25) )
|
||||
ROM_LOAD( "pmg6.bin", 0x1800, 0x0800, CRC(4f91d245) SHA1(496f3d913a0abf6fa441615aedf60180e71866e8) )
|
||||
ROM_LOAD( "pmg3.bin", 0x2000, 0x0800, CRC(d0f20748) SHA1(7673d9744903f58d70ecc0ee817b57c3ce09dd80) )
|
||||
ROM_LOAD( "pmg7.bin", 0x2800, 0x0800, CRC(a948ce83) SHA1(08759833f7e0690b2ccae573c929e2a48e5bde7f) )
|
||||
ROM_LOAD( "pmg4.bin", 0x3000, 0x0800, CRC(4c842da6) SHA1(dbc84516e44412f863ffb678347929043fab852e) )
|
||||
ROM_LOAD( "pmg8.bin", 0x3800, 0x0800, CRC(022764dc) SHA1(0ab0da0834d88f3b1808755aec5c38a3ddd8184b) )
|
||||
ROM_LOAD( "u5.bin", 0x8000, 0x0800, CRC(f45fbbcd) SHA1(b26cc1c8ee18e9b1daa97956d2159b954703a0ec) )
|
||||
ROM_LOAD( "u6a.bin", 0x9000, 0x1000, CRC(3fdcb271) SHA1(4d604b98c6981a469041c0038345dbd5dcf4cd1d) )
|
||||
ROM_LOAD( "u7a.bin", 0xb000, 0x1000, CRC(5fafec7c) SHA1(1c6a85e5c348a69b8d51bcea4f8bdebb24825770) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", 0 )
|
||||
ROM_LOAD( "pmg9.bin", 0x0000, 0x0800, CRC(93933d1d) SHA1(fa38d2cb87e872bb9a3158a4df98f38360dc85ec) )
|
||||
ROM_LOAD( "pmg11.bin", 0x0800, 0x0800, CRC(7409fbec) SHA1(f440f08ba026ae6172666e1bdc0894ce33bba420) )
|
||||
ROM_LOAD( "pmg10.bin", 0x1000, 0x0800, CRC(22b0188a) SHA1(a9ed9ca8b36a60081fd364abc9bc23963932cc0b) )
|
||||
ROM_LOAD( "pmg12.bin", 0x1800, 0x0800, CRC(50c7477d) SHA1(c04ec282a8cb528df5e38ad750d12ee71612695d) )
|
||||
|
||||
ROM_REGION( 0x0120, "proms", 0 )
|
||||
ROM_LOAD( "82s123.7f", 0x0000, 0x0020, CRC(2fc650bd) SHA1(8d0268dee78e47c712202b0ec4f1f51109b1f2a5) )
|
||||
ROM_LOAD( "82s126.4a", 0x0020, 0x0100, CRC(3eb3a8e4) SHA1(19097b5f60d1030f8b82d9f1d3a241f93e5c75d6) ) /* 7611p4.4a */
|
||||
|
||||
ROM_REGION( 0x0200, "namco", 0 ) /* sound PROMs */
|
||||
ROM_LOAD( "82s126.1m", 0x0000, 0x0100, CRC(a9cc86bf) SHA1(bbcec0570aeceb582ff8238a4bc8546a23430081) )
|
||||
ROM_LOAD( "82s126.3m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* timing - not used */
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( mschamp ) /* "Original" Zola-Puc board. FORCE ELECTRONICS KM-001 PCB copyright by RAYGLO MFG CO 1992/1993 */
|
||||
|
@ -92,8 +92,8 @@ static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_dyn_state )
|
||||
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
|
||||
AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff)
|
||||
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
|
||||
AM_RANGE(0x000d0000, 0x000d0fff) AM_ROM AM_REGION("game_prg", 0x0000) AM_WRITE8(bank1_w, 0xffffffff)
|
||||
AM_RANGE(0x000d1000, 0x000d1fff) AM_ROM AM_REGION("game_prg", 0x1000) AM_WRITE8(bank2_w, 0xffffffff)
|
||||
AM_RANGE(0x000d0000, 0x000d0fff) AM_ROM AM_REGION("game_prg", 0x0000) AM_WRITE8(bank1_w, 0xffffffff)
|
||||
AM_RANGE(0x000d1000, 0x000d1fff) AM_ROM AM_REGION("game_prg", 0x1000) AM_WRITE8(bank2_w, 0xffffffff)
|
||||
AM_RANGE(0x000d2000, 0x000d2fff) AM_ROMBANK("prgbank")
|
||||
AM_RANGE(0x000d3000, 0x000d3fff) AM_RAMBANK("nvram_bank")
|
||||
AM_RANGE(0x000df400, 0x000df8ff) AM_RAM //I/O board?
|
||||
|
@ -6946,7 +6946,7 @@ Currently stalls with "PRINTER ERROR"
|
||||
|
||||
ROM_REGION( 0x100, "proms", 0 )
|
||||
ROM_LOAD( "cap1144.u50", 0x0000, 0x0100, CRC(c80e88ef) SHA1(51c62a07f660a2f3be46a8fbb5af01cff2660e8d) )
|
||||
|
||||
|
||||
ROM_REGION( 0x1000, "printer", 0 ) /* ROM from the printer driver PCB */
|
||||
ROM_LOAD( "lp_86.u9", 0x0000, 0x1000, CRC(cdd93c06) SHA1(96f0a6e231f355a0b82bb0e1e698edbd66ff3020) ) /* 2732 EPROM */
|
||||
ROM_END
|
||||
|
@ -1272,7 +1272,7 @@ ROM_START( pleiadsn )
|
||||
ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(b254217c) SHA1(312a33cca09d5d2d18992f28eb051230a90db6e3) )
|
||||
ROM_LOAD( "3.bin", 0x1000, 0x0800, CRC(3b29aec5) SHA1(b90b55fdc799db672558e2f7c6b05a958bf33a2c) )
|
||||
ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(1fbde4d7) SHA1(b358649288108159a426dba3940c627c2d2aeb01) )
|
||||
ROM_LOAD( "5.bin", 0x2000, 0x0800, BAD_DUMP CRC(9dc73e63) SHA1(8a2de6666fecead7071285125b16641b50249adc) ) // the best of 50 different dumps. the device is clearly damaged.
|
||||
ROM_LOAD( "5.bin", 0x2000, 0x0800, BAD_DUMP CRC(9dc73e63) SHA1(8a2de6666fecead7071285125b16641b50249adc) ) // the best of 50 different dumps. the device is clearly damaged.
|
||||
ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(f1a8a00d) SHA1(5c183e3a73fa882ffec3cb9219fb5619e625591a) )
|
||||
ROM_LOAD( "7.bin", 0x3000, 0x0800, CRC(b5f07fbc) SHA1(2ae687c84732942e69ad4dfb7a4ac1b97b77487a) )
|
||||
ROM_LOAD( "8.bin", 0x3800, 0x0800, CRC(b3db08c2) SHA1(d5b1b77dcf2d76498f30d5f880635f5acfac7dfd) )
|
||||
|
@ -186,21 +186,21 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( gametree )
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
|
||||
ROM_REGION( 0x1040, "roms", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "bd1gtlo.d2", 0x0000, 0x0400, CRC(d44cf6a3) SHA1(66e9a8c0184ac53bf300fc5d5d6c8091f829485c)) // Computer program game code. PCB has Signetics 82s2708; schematics show 6341-1 or 82S181
|
||||
ROM_LOAD( "bd1gthi.f2", 0x0400, 0x0400, CRC(3c5a04ac) SHA1(427bae562c019257bcd050458d64670874d903fb)) // Computer program game code. PCB has Signetics 82s2708; schematics show 6341-1 or 82S181
|
||||
ROM_REGION( 0x1040, "roms", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "bd1gtlo.d2", 0x0000, 0x0400, CRC(d44cf6a3) SHA1(66e9a8c0184ac53bf300fc5d5d6c8091f829485c)) // Computer program game code. PCB has Signetics 82s2708; schematics show 6341-1 or 82S181
|
||||
ROM_LOAD( "bd1gthi.f2", 0x0400, 0x0400, CRC(3c5a04ac) SHA1(427bae562c019257bcd050458d64670874d903fb)) // Computer program game code. PCB has Signetics 82s2708; schematics show 6341-1 or 82S181
|
||||
|
||||
ROM_LOAD( "bd2gt1a.f12", 0x0800, 0x0200, CRC(820cec79) SHA1(b7142d75ba1cd4ebb0b69dd1184c6e1ea0611ba9)) // PROM 1 contains squirrel and squirrel point value. PCB has NEC B425; schematics show 82S141 or 6341-1
|
||||
ROM_LOAD( "bd2gt1b.f14", 0x0A00, 0x0200, CRC(52abe627) SHA1(960f19bef52fb5cf9fb74ab928a8dcb09922049d)) // PROM 1 contains squirrel and squirrel point value. PCB has NEC B425; schematics show 82S141 or 6341-1
|
||||
ROM_LOAD( "bd2gt1a.f12", 0x0800, 0x0200, CRC(820cec79) SHA1(b7142d75ba1cd4ebb0b69dd1184c6e1ea0611ba9)) // PROM 1 contains squirrel and squirrel point value. PCB has NEC B425; schematics show 82S141 or 6341-1
|
||||
ROM_LOAD( "bd2gt1b.f14", 0x0A00, 0x0200, CRC(52abe627) SHA1(960f19bef52fb5cf9fb74ab928a8dcb09922049d)) // PROM 1 contains squirrel and squirrel point value. PCB has NEC B425; schematics show 82S141 or 6341-1
|
||||
|
||||
ROM_LOAD( "bd2gt2a.e12", 0x0C00, 0x0200, CRC(5d8ef022) SHA1(8e6ccfded85b0611670e6a7fb99c0b279f79445e)) // PROM 2 contains other targets (rabbit and turkey) and point values. PCB has NEC B425
|
||||
ROM_LOAD( "bd2gt2b.e14", 0x0E00, 0x0200, CRC(9ca95a82) SHA1(c5057cbae18d71e6a04dd4ec87b83a5690a23888)) // PROM 2 - PCB has NEC B425; schematics show 82S141 or 6341-1
|
||||
ROM_LOAD( "bd2gt2a.e12", 0x0C00, 0x0200, CRC(5d8ef022) SHA1(8e6ccfded85b0611670e6a7fb99c0b279f79445e)) // PROM 2 contains other targets (rabbit and turkey) and point values. PCB has NEC B425
|
||||
ROM_LOAD( "bd2gt2b.e14", 0x0E00, 0x0200, CRC(9ca95a82) SHA1(c5057cbae18d71e6a04dd4ec87b83a5690a23888)) // PROM 2 - PCB has NEC B425; schematics show 82S141 or 6341-1
|
||||
|
||||
ROM_LOAD( "bd2a2.a2", 0x1000, 0x0020, CRC(1df96293) SHA1(7c8d19e34803efbe648b1db2d8c0c9a637df57d2)) // Contains PROM address codes and image speeds. Each has its own speed and address block in the image PROM. PCB has MMI 6331
|
||||
ROM_LOAD( "bd2a2.a2", 0x1000, 0x0020, CRC(1df96293) SHA1(7c8d19e34803efbe648b1db2d8c0c9a637df57d2)) // Contains PROM address codes and image speeds. Each has its own speed and address block in the image PROM. PCB has MMI 6331
|
||||
|
||||
ROM_LOAD( "bd2a3.a3", 0x1020, 0x0020, CRC(63dc8c9b) SHA1(0956180a3d8877aed181513887f5a8b15cd81b93)) // Contains PROM address codes and image speeds. PCB has MMI 6331; schematics show 82S123 or 6331-1
|
||||
ROM_LOAD( "bd2a3.a3", 0x1020, 0x0020, CRC(63dc8c9b) SHA1(0956180a3d8877aed181513887f5a8b15cd81b93)) // Contains PROM address codes and image speeds. PCB has MMI 6331; schematics show 82S123 or 6331-1
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -2332,7 +2332,7 @@ GAME( 1982, triplep, 0, triplep, triplep, scramble_state, scramble_ppi
|
||||
GAME( 1982, triplepa, triplep, triplep, triplep, scramble_state, scramble_ppi, ROT90, "K.K. International", "Triple Punch (set 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1982, knockout, triplep, triplep, triplep, scramble_state, scramble_ppi, ROT90, "bootleg? (KKK)", "Knock Out!! (bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1982, knockoutb,triplep, triplep, knockoutb,scramble_state, scramble_ppi, ROT90, "bootleg", "Knock Out!! (bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1982, knockoutc,triplep, triplep, knockoutb,scramble_state, scramble_ppi, ROT90, "bootleg (ESG)", "Knock Out!! (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) // ESG = Elektronik Spiel Gerate
|
||||
GAME( 1982, knockoutc,triplep, triplep, knockoutb,scramble_state, scramble_ppi, ROT90, "bootleg (ESG)", "Knock Out!! (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) // ESG = Elektronik Spiel Gerate
|
||||
|
||||
GAME( 1981, mariner, 0, mariner, scramble, scramble_state, mariner, ROT90, "Amenip", "Mariner", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 1981, 800fath, mariner, mariner, 800fath, scramble_state, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
|
||||
|
@ -3492,7 +3492,7 @@ static INPUT_PORTS_START( lockonph )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||
|
||||
PORT_START("SERVICE")
|
||||
PORT_START("SERVICE")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
|
||||
@ -3699,7 +3699,7 @@ void segas16b_state::tilemap_16b_fpointbl_fill_latch(int i, UINT16* latched_page
|
||||
latched_yscroll[i] = 0;
|
||||
latched_xscroll[i] = 0;
|
||||
}
|
||||
// printf("%02x returning latched page select %04x scrollx %04x scrolly %04x\n", i, latched_pageselect[i], latched_xscroll[i], latched_yscroll[i]);
|
||||
// printf("%02x returning latched page select %04x scrollx %04x scrolly %04x\n", i, latched_pageselect[i], latched_xscroll[i], latched_yscroll[i]);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( fpointbl, system16b )
|
||||
@ -3737,7 +3737,7 @@ static MACHINE_CONFIG_START( lockonph, segas16b_state )
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
// MCFG_SEGA_315_5195_MAPPER_ADD("mapper", "maincpu", segas16b_state, memory_mapper, mapper_sound_r, mapper_sound_w)
|
||||
// MCFG_SEGA_315_5195_MAPPER_ADD("mapper", "maincpu", segas16b_state, memory_mapper, mapper_sound_r, mapper_sound_w)
|
||||
|
||||
// video hardware
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", lockonph)
|
||||
@ -3756,7 +3756,7 @@ static MACHINE_CONFIG_START( lockonph, segas16b_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_YM2151_ADD("ymsnd", XTAL_16MHz/4) // ??
|
||||
// MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) // does set up the timer, but end up with no sound?
|
||||
// MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0)) // does set up the timer, but end up with no sound?
|
||||
MCFG_SOUND_ROUTE(0, "mono", 0.5)
|
||||
MCFG_SOUND_ROUTE(1, "mono", 0.5)
|
||||
|
||||
@ -9462,9 +9462,3 @@ GAME( 2006, isgsm, 0, isgsm, isgsm, isgsm_state,isgsm, ROT0,
|
||||
/* 01 */ // ?? unknown
|
||||
/* 02 */ GAME( 2006, tetrbx, isgsm, isgsm, tetrbx, isgsm_state,tetrbx, ROT0, "bootleg (ISG)", "Tetris / Bloxeed (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 )
|
||||
/* 03 */ GAME( 2008, shinfz, isgsm, isgsm, shinfz, isgsm_state,shinfz, ROT0, "bootleg (ISG)", "Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 ) // claims it's released in 2006, but set includes the PS2/S16 remake of Fantasy Zone II which is clearly from 2008
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -7,7 +7,7 @@ Shanghai
|
||||
driver by Nicola Salmoria
|
||||
|
||||
TODO:
|
||||
- games are currently too fast (especially noticeable with kothello screen transitions), either irqs actually
|
||||
- games are currently too fast (especially noticeable with kothello screen transitions), either irqs actually
|
||||
fires every two frames or a HD63484 SR bit isn't behaving correctly;
|
||||
- minor glitch with gfx copy on shanghai stage info panel (garbage on right);
|
||||
|
||||
@ -380,7 +380,7 @@ static MACHINE_CONFIG_START( shanghai, shanghai_state )
|
||||
MCFG_PALETTE_INIT_OWNER(shanghai_state,shanghai)
|
||||
|
||||
MCFG_H63484_ADD("h63484", 0, h63484_map)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user