mirror of
https://github.com/holub/mame
synced 2025-04-17 22:13:04 +03:00
srcclean the tree.
This commit is contained in:
parent
cbe7391c95
commit
297e546844
@ -29,7 +29,7 @@ mif201_device::mif201_device(const machine_config &mconfig, const char *tag, dev
|
||||
|
||||
//void mif201_device::irq_out(int state)
|
||||
//{
|
||||
// m_bus->int_w<2>(state);
|
||||
// m_bus->int_w<2>(state);
|
||||
//}
|
||||
|
||||
|
||||
|
@ -36,7 +36,7 @@ private:
|
||||
required_device_array<i8251_device, 2> m_uart;
|
||||
required_device<pit8253_device> m_pit;
|
||||
|
||||
// void map(address_map &map);
|
||||
// void map(address_map &map);
|
||||
};
|
||||
|
||||
|
||||
|
@ -112,17 +112,17 @@ u8 aha2940au_scsi_device::capptr_r()
|
||||
void aha2940au_scsi_device::config_map(address_map &map)
|
||||
{
|
||||
pci_card_device::config_map(map);
|
||||
// map(0x40, 0x40) DEVCONFIG
|
||||
// map(0x41, 0x41) DEVSTATUS0
|
||||
// map(0x42, 0x42) DEVSTATUS1
|
||||
// map(0x43, 0x43) PCIERRGEN
|
||||
// map(0x40, 0x40) DEVCONFIG
|
||||
// map(0x41, 0x41) DEVSTATUS0
|
||||
// map(0x42, 0x42) DEVSTATUS1
|
||||
// map(0x43, 0x43) PCIERRGEN
|
||||
|
||||
// PME 1.0
|
||||
map(0xdc, 0xdf).lr32(NAME([] { return 0x0001'0001; }));
|
||||
// map(0xe0, 0xe1) PM_CSR
|
||||
// map(0xe2, 0xe2) PMCSR_BSE
|
||||
// map(0xe3, 0xe3) PM_DATA
|
||||
// map(0xff, 0xff) IDENREG
|
||||
// map(0xe0, 0xe1) PM_CSR
|
||||
// map(0xe2, 0xe2) PMCSR_BSE
|
||||
// map(0xe3, 0xe3) PM_DATA
|
||||
// map(0xff, 0xff) IDENREG
|
||||
}
|
||||
|
||||
void aha2940au_scsi_device::io_map(address_map &map)
|
||||
|
@ -8,7 +8,7 @@
|
||||
systems without a TI-99/4A console, like the SGCPU and the Geneve. The
|
||||
board must be removed from the sidecar unit and plugged on this simple
|
||||
adapter board, which is then put in a slot of the Peripheral Expansion Box.
|
||||
|
||||
|
||||
+-------+
|
||||
+-----|-------|---+
|
||||
| Speech syn |
|
||||
@ -20,21 +20,21 @@
|
||||
| Adapter board |
|
||||
| |
|
||||
(((o LED PEB slot connector |
|
||||
+--------------|||||||||||||||||||||||||----------+
|
||||
+--------------|||||||||||||||||||||||||----------+
|
||||
|||||||||||||||||||||||||
|
||||
|
||||
|
||||
Technical detail:
|
||||
|
||||
|
||||
The SBE signal (Speech Block Enable), which is generated in the TI console,
|
||||
is not forwarded to the PEB. One of the tasks of this board is thus to
|
||||
decode the mapped addresses once more and to activate the synthesizer
|
||||
is not forwarded to the PEB. One of the tasks of this board is thus to
|
||||
decode the mapped addresses once more and to activate the synthesizer
|
||||
accordingly.
|
||||
|
||||
|
||||
A second issue for Geneve users is that the address extension bits (AMA,
|
||||
AMB, AMC) need to be decoded as well to avoid the synthesizer interfering
|
||||
with other memory access. This can be activated in the configuration. The
|
||||
default is on.
|
||||
|
||||
|
||||
Michael Zapf
|
||||
March 2025
|
||||
|
||||
@ -93,11 +93,11 @@ void ti_speechsyn_adapter_device::setaddress_dbin(offs_t offset, int state)
|
||||
{
|
||||
// Valid access = not(DBIN and A5)
|
||||
bool reading = (state==ASSERT_LINE);
|
||||
|
||||
// An access is valid when reading from 9000 and writing to 9400.
|
||||
|
||||
// An access is valid when reading from 9000 and writing to 9400.
|
||||
bool valid = (((offset & 0x0400)==0) == reading);
|
||||
bool sbe = false;
|
||||
|
||||
|
||||
// Recreate the SBE signal that is only available at the I/O port of the console
|
||||
if (m_dec_high)
|
||||
// We need to decode the AMA/AMB/AMC address extension lines
|
||||
@ -128,7 +128,7 @@ void ti_speechsyn_adapter_device::device_start()
|
||||
void ti_speechsyn_adapter_device::device_reset()
|
||||
{
|
||||
m_dec_high = (ioport("AMADECODE")->read()!=0);
|
||||
LOGMASKED(LOG_CONFIG, "Speech adapter%s decoding the AMA/B/C lines.\n", m_dec_high? "" : " not");
|
||||
LOGMASKED(LOG_CONFIG, "Speech adapter%s decoding the AMA/B/C lines.\n", m_dec_high? "" : " not");
|
||||
}
|
||||
|
||||
void ti_speechsyn_adapter_options(device_slot_interface &device)
|
||||
|
@ -38,7 +38,7 @@ private:
|
||||
uint8_t* m_rom4;
|
||||
uint8_t* m_roma;
|
||||
uint8_t* m_romc;
|
||||
|
||||
|
||||
required_device<ram_device> m_ram;
|
||||
};
|
||||
|
||||
|
@ -1,49 +1,49 @@
|
||||
// license:LGPL-2.1+
|
||||
// copyright-holders:Michael Zapf
|
||||
/****************************************************************************
|
||||
|
||||
|
||||
TI-99 Speech synthesizer
|
||||
|
||||
This is the emulation Speech Synthesizer, which plugs into the I/O port of
|
||||
the TI console. Even though the sidecar expansion concept was largely
|
||||
abandoned by the introduction of the Peripheral Expansion Box with the 4A,
|
||||
the Speech Synthesizer was sold as a sidecar expansion until the end.
|
||||
|
||||
|
||||
Typical setup:
|
||||
Speech Synthesizer
|
||||
sidecar
|
||||
v
|
||||
v
|
||||
+----------------+---+----------
|
||||
| TI-99/4(A) | | PEB connection cable
|
||||
+------------+---+ +----------
|
||||
| oooooooooo | |---+
|
||||
| oooooooooo | |
|
||||
+-----------------
|
||||
|
||||
|
||||
Also as a common modification, users removed the board inside the sidecar
|
||||
and placed it on an adapter to go into the PEB and thus to become
|
||||
available for the Geneve or SGCPU. See bus/ti99/peb/speechadapter.cpp.
|
||||
|
||||
The sidecar offers a flippable lid where vocabulary expansion modules were
|
||||
supposed to be plugged in, but those have never seen daylight. In most of
|
||||
the units, including mine, no connector can be found under the lid, so the
|
||||
decision to drop this idea must have come early.
|
||||
The sidecar offers a flippable lid where vocabulary expansion modules were
|
||||
supposed to be plugged in, but those have never seen daylight. In most of
|
||||
the units, including mine, no connector can be found under the lid, so the
|
||||
decision to drop this idea must have come early.
|
||||
|
||||
Technical details:
|
||||
|
||||
The Voice Synthesis Processor (VSP) used for the TI Speech Synthesizer
|
||||
is the CD2501E, aka TMS5200 (internal name TMC0285), a predecessor of the
|
||||
TMS5220 which was used in many other commercial products.
|
||||
|
||||
The Voice Synthesis Processor (VSP) used for the TI Speech Synthesizer
|
||||
is the CD2501E, aka TMS5200 (internal name TMC0285), a predecessor of the
|
||||
TMS5220 which was used in many other commercial products.
|
||||
Two TMS6100 circuits hold the standard vocabulary, mainly used from Extended
|
||||
Basic programs.
|
||||
|
||||
|
||||
The interaction with the TMS5200 relies completely on the READY*
|
||||
line; the INT* line is not connected.
|
||||
|
||||
The VSP delivers a READY* signal, which needs to be inverted for the rest
|
||||
of the TI system. The board of the Speech Synthesizer uses a simple
|
||||
of the TI system. The board of the Speech Synthesizer uses a simple
|
||||
transistor for this purpose.
|
||||
|
||||
|
||||
Michael Zapf
|
||||
March 2025
|
||||
|
||||
@ -74,7 +74,7 @@ namespace bus::ti99::sidecar {
|
||||
Constructor called from subclasses.
|
||||
*/
|
||||
ti_speech_synthesizer_device::ti_speech_synthesizer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: bus::ti99::internal::ioport_attached_device(mconfig, TI99_SPEECHSYN, tag, owner, clock),
|
||||
: bus::ti99::internal::ioport_attached_device(mconfig, TI99_SPEECHSYN, tag, owner, clock),
|
||||
m_vsp(*this, VSP),
|
||||
m_port(*this, PORT),
|
||||
m_reading(false),
|
||||
@ -144,7 +144,7 @@ void ti_speech_synthesizer_device::setaddress_dbin(offs_t offset, int state)
|
||||
{
|
||||
// If other address, turn off RS* and WS* (negative logic!)
|
||||
m_vsp->combined_rsq_wsq_w(~0);
|
||||
|
||||
|
||||
// Pass through to the external port
|
||||
if (m_port != nullptr)
|
||||
m_port->setaddress_dbin(offset, state);
|
||||
@ -200,7 +200,7 @@ void ti_speech_synthesizer_device::reset_in(int state)
|
||||
}
|
||||
|
||||
/*
|
||||
Forward the incoming interrupt to the console
|
||||
Forward the incoming interrupt to the console
|
||||
*/
|
||||
void ti_speech_synthesizer_device::extint(int state)
|
||||
{
|
||||
@ -216,10 +216,10 @@ void ti_speech_synthesizer_device::extready(int state)
|
||||
|
||||
void ti_speech_synthesizer_device::speech_ready(int state)
|
||||
{
|
||||
// Invert the READY* signal
|
||||
m_ssyn_ready = (state==0)? ASSERT_LINE : CLEAR_LINE;
|
||||
// Invert the READY* signal
|
||||
m_ssyn_ready = (state==0)? ASSERT_LINE : CLEAR_LINE;
|
||||
LOGMASKED(LOG_READY, "SSyn READY = %d\n", (state==0));
|
||||
|
||||
|
||||
if ((state==0) && !m_reading)
|
||||
// Clear the lines only when we are done with writing.
|
||||
m_vsp->combined_rsq_wsq_w(~0);
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:LGPL-2.1+
|
||||
// copyright-holders:Michael Zapf
|
||||
/****************************************************************************
|
||||
|
||||
|
||||
Speech Synthesizer sidecar device
|
||||
Michael Zapf
|
||||
|
||||
@ -49,7 +49,7 @@ protected:
|
||||
private:
|
||||
required_device<cd2501e_device> m_vsp;
|
||||
required_device<bus::ti99::internal::ioport_device> m_port;
|
||||
|
||||
|
||||
void speech_ready(int state);
|
||||
|
||||
bool m_reading;
|
||||
|
@ -79,7 +79,7 @@ void sc61860_device::sc61860_instruction()
|
||||
case 76: sc61860_in_a();m_icount-=2;break;
|
||||
case 77: /*nopw*/;m_icount-=2;break;
|
||||
case 78: sc61860_wait();m_icount-=6;break;
|
||||
case 79: sc61860_wait_x(false);m_icount-=1;break;
|
||||
case 79: sc61860_wait_x(false);m_icount-=1;break;
|
||||
case 80: sc61860_inc_p();m_icount-=2;break;
|
||||
case 81: sc61860_dec_p();m_icount-=2;break;
|
||||
case 82: sc61860_store_ext(A);m_icount-=2;break;
|
||||
|
@ -622,11 +622,11 @@ void am9513_device::set_tc(int c, bool state)
|
||||
if ((m_counter_mode[d] & 0x1f00) == (state ? 0x0000 : 0x1000))
|
||||
{
|
||||
LOGMASKED(LOG_TC, "Counter %d: TC cascade Next Count %u \n", c + 1, m_count[d]);
|
||||
|
||||
|
||||
count_edge(d);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// TC gating
|
||||
if ((m_counter_mode[d] & 0xe000) == 0x2000)
|
||||
gate_count(d, state && (bus_is_16_bit() || m_gate_alt[d]));
|
||||
|
@ -212,7 +212,7 @@ public:
|
||||
s3virgevx_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// s3virgevx_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
// s3virgevx_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void device_start() override ATTR_COLD;
|
||||
virtual void device_reset() override ATTR_COLD;
|
||||
|
@ -6,7 +6,7 @@
|
||||
Skeleton driver for Secoinsa Serie 20 minicomputer.
|
||||
|
||||
Secoinsa (Sociedad Española de Comunicaciones e Informática, S.A.) was a company founded in 1975 by Fujitsu, the Spanish
|
||||
National Institute for Industry (Instituto Nacional de Industria, INI), Telefónica, and other investors (mainly banks).
|
||||
National Institute for Industry (Instituto Nacional de Industria, INI), Telefónica, and other investors (mainly banks).
|
||||
It primarily manufactured and sold FACOM clones for the Spanish market.
|
||||
|
||||
In 1986, the company was split and sold. Telefónica acquired the professional services division, while Fujitsu España
|
||||
@ -120,7 +120,7 @@ PCB SECOINSA SM16B-0200-0140:
|
||||
|
||||
|
||||
|
||||
CPU PCB
|
||||
CPU PCB
|
||||
_______________________________________________________________
|
||||
| ___ __________ _________ |
|
||||
| | | |SN74LS74AN |74LS08N_| |
|
||||
@ -292,7 +292,7 @@ RAM PCB 2 (24 x HM6116P-3)
|
||||
| |HM | |HM | |HM | |HM | |HM | AM25LS252IPC __|
|
||||
| |6116P | |6116P | |6116P | |6116P | |6116P | __|
|
||||
| |3 | |3 | |3 | |3 | |3 | _________ __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| _______ _______ _______ _______ _______ __|
|
||||
| | | | | | | | | | | __|
|
||||
| | | | | | | | | | | __________ __|
|
||||
@ -345,7 +345,7 @@ RAM PCB 3 (24 x HM6116P-3)
|
||||
| |HM | |HM | |HM | |HM | |HM | AM25LS252IPC __|
|
||||
| |6116P | |6116P | |6116P | |6116P | |6116P | __|
|
||||
| |3 | |3 | |3 | |3 | |3 | _________ __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| _______ _______ _______ _______ _______ __|
|
||||
| | | | | | | | | | | __|
|
||||
| | | | | | | | | | | __________ __|
|
||||
@ -398,7 +398,7 @@ RAM PCB 4 (24 x HM6116P-3)
|
||||
| |HM | |HM | |HM | |HM | |HM | AM25LS252IPC __|
|
||||
| |6116P | |6116P | |6116P | |6116P | |6116P | __|
|
||||
| |3 | |3 | |3 | |3 | |3 | _________ __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| _______ _______ _______ _______ _______ __|
|
||||
| | | | | | | | | | | __|
|
||||
| | | | | | | | | | | __________ __|
|
||||
@ -451,7 +451,7 @@ RAM PCB 5 (32 x HM6116P-3)
|
||||
| |HM | |HM | |HM | |HM | |HM | AM25LS252IPC __|
|
||||
| |6116P | |6116P | |6116P | |6116P | |6116P | __|
|
||||
| |3 | |3 | |3 | |3 | |3 | _________ __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| _______ _______ _______ _______ _______ __|
|
||||
| | | | | | | | | | | __|
|
||||
| | | | | | | | | | | __________ __|
|
||||
@ -504,7 +504,7 @@ RAM PCB 5 (24 x HM6116P-3)
|
||||
| |HM | |HM | |HM | |HM | |HM | AM25LS252IPC __|
|
||||
| |6116P | |6116P | |6116P | |6116P | |6116P | __|
|
||||
| |3 | |3 | |3 | |3 | |3 | _________ __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| |______| |______| |______| |______| |______| SN74ALS133N __|
|
||||
| _______ _______ _______ _______ _______ __|
|
||||
| | | | | | | | | | | __|
|
||||
| | | | | | | | | | | __________ __|
|
||||
|
@ -111,7 +111,7 @@
|
||||
- Reworked coin inputs per game.
|
||||
- Promoted Draw 80 Poker (Minn) to working.
|
||||
- Promoted Wild 1 (Quick Change Kit) to working.
|
||||
|
||||
|
||||
|
||||
TODO:
|
||||
|
||||
@ -585,8 +585,8 @@ static INPUT_PORTS_START( drw80wld )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_GAMBLE_KEYOUT )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("KeyIn x01") PORT_CODE(KEYCODE_A) // KeyIn A (Coinage x 1 ) No timeout
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 ) // coin sequencer A Or Coin Switch (DSW_1 Selector)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 ) // coin sequencer B
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 ) // coin sequencer C
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 ) // coin sequencer B
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN3 ) // coin sequencer C
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("KeyIn x04") PORT_CODE(KEYCODE_S) // Key In B (Coinage x 4) No Timeout
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("KeyIn x20") PORT_CODE(KEYCODE_D) // Key In C (Coinage x 20) No Timeout
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -64,7 +64,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.1" y="0.30" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="L5" defstate="1">
|
||||
<disk state="0"><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
<disk state="1"><color red="0.20" green="0.20" blue="0.20" /></disk>
|
||||
@ -73,7 +73,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.1" y="0.30" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="L6" defstate="1">
|
||||
<disk state="0"><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
<disk state="1"><color red="0.20" green="0.20" blue="0.20" /></disk>
|
||||
@ -82,7 +82,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.1" y="0.30" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<element name="LX">
|
||||
<rect><color red="0.00" green="0.0" blue="0.0" /></rect>
|
||||
@ -154,7 +154,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<element name="lamp3" ref="L3" inputtag="IN1" inputmask="0x08">
|
||||
<bounds x="2.545" y="3.12" width="0.31" height="0.26" />
|
||||
</element>
|
||||
|
||||
|
||||
<!-- Draw button-lamp -->
|
||||
<element name="lamp6" ref="buttonedge_w" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="2.875" y="3.50" width="0.35" height="0.30" />
|
||||
@ -172,4 +172,4 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
</element>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
||||
</mamelayout>
|
||||
|
@ -73,7 +73,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.1" y="0.30" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="L7" defstate="0">
|
||||
<rect state="1"><color red="1.0" green="1.0" blue="1.0" /></rect>
|
||||
<rect state="0"><color red="0.20" green="0.20" blue="0.20" /></rect>
|
||||
@ -82,7 +82,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.05" y="0.10" width="0.9" height="0.8" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
|
||||
<element name="LX">
|
||||
@ -147,7 +147,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="1.845" y="3.12" width="0.31" height="0.26" />
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<!-- Hold 4 button-lamp -->
|
||||
<element name="lamp5" ref="buttonedge_y" inputtag="IN2" inputmask="0x0001">
|
||||
<bounds x="2.525" y="3.10" width="0.35" height="0.30" />
|
||||
@ -155,7 +155,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<element name="lamp5" ref="L3" inputtag="IN2" inputmask="0x0001">
|
||||
<bounds x="2.545" y="3.12" width="0.31" height="0.26" />
|
||||
</element>
|
||||
|
||||
|
||||
<!-- Deal/Draw button-lamp -->
|
||||
<element name="lamp1" ref="buttonedge_w" inputtag="IN2" inputmask="0x0010">
|
||||
<bounds x="2.875" y="3.50" width="0.35" height="0.30" />
|
||||
@ -179,4 +179,4 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
</element>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
||||
</mamelayout>
|
||||
|
@ -73,7 +73,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.1" y="0.30" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="L7" defstate="0">
|
||||
<disk state="1"><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
<disk state="0"><color red="0.20" green="0.20" blue="0.20" /></disk>
|
||||
@ -82,7 +82,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.1" y="0.30" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="L8" defstate="0">
|
||||
<disk state="1"><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
<disk state="0"><color red="0.20" green="0.20" blue="0.20" /></disk>
|
||||
@ -91,7 +91,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<bounds x="0.1" y="0.30" width="0.8" height="0.4" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<element name="LX">
|
||||
<rect><color red="0.00" green="0.0" blue="0.0" /></rect>
|
||||
@ -171,7 +171,7 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
<element name="lamp7" ref="L3" inputtag="IN1" inputmask="0x08">
|
||||
<bounds x="2.545" y="3.12" width="0.31" height="0.26" />
|
||||
</element>
|
||||
|
||||
|
||||
<!-- Draw button-lamp -->
|
||||
<element name="lamp6" ref="buttonedge_w" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="2.875" y="3.50" width="0.35" height="0.30" />
|
||||
@ -189,4 +189,4 @@ copyright-holders: Roberto Fresca, Grull Osgo.
|
||||
</element>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
||||
</mamelayout>
|
||||
|
@ -544,7 +544,7 @@ void linndrum_audio_device::mux_drum_w(int voice, u8 data, bool is_strobe)
|
||||
}
|
||||
|
||||
LOGMASKED(LOG_STROBES, "Strobed mux drum %s: %02x (gain: %f)\n",
|
||||
MUX_VOICE_NAMES[voice], data, m_mux_volume[voice]->gain());
|
||||
MUX_VOICE_NAMES[voice], data, m_mux_volume[voice]->gain());
|
||||
}
|
||||
|
||||
void linndrum_audio_device::snare_w(u8 data)
|
||||
@ -591,7 +591,7 @@ void linndrum_audio_device::snare_w(u8 data)
|
||||
m_snare_volume->set_gain(gain);
|
||||
|
||||
LOGMASKED(LOG_STROBES, "Strobed snare / sidestick: %02x (iref: %f, gain: %f)\n",
|
||||
data, iref, gain);
|
||||
data, iref, gain);
|
||||
}
|
||||
|
||||
void linndrum_audio_device::tom_w(u8 data)
|
||||
@ -633,8 +633,8 @@ void linndrum_audio_device::tom_w(u8 data)
|
||||
m_tom_out[i]->set_gain((i == selected_output) ? 1 : 0);
|
||||
|
||||
LOGMASKED(LOG_STROBES, "Strobed tom / conga: %02x (is_tom: %d, pitch:%d, output: %d, %s)\n",
|
||||
data, m_tom_selected, m_tom_selected_pitch, selected_output,
|
||||
(selected_output >= 0) ? TOM_VOICE_NAMES[selected_output] : "none");
|
||||
data, m_tom_selected, m_tom_selected_pitch, selected_output,
|
||||
(selected_output >= 0) ? TOM_VOICE_NAMES[selected_output] : "none");
|
||||
}
|
||||
|
||||
void linndrum_audio_device::strobe_click_w(u8 /*data*/)
|
||||
@ -1020,8 +1020,8 @@ void linndrum_audio_device::update_volume_and_pan(int channel)
|
||||
m_voice_hpf[channel]->filter_rc_set_RC(filter_rc_device::HIGHPASS, r_voice_gnd, 0, 0, C_VOICE);
|
||||
|
||||
LOGMASKED(LOG_MIX, "Gain update for %s - left: %f, right: %f, HPF cutoff: %.2f Hz\n",
|
||||
MIXER_CHANNEL_NAMES[channel], gain_left, gain_right,
|
||||
1.0F / (2 * float(M_PI) * r_voice_gnd * C_VOICE));
|
||||
MIXER_CHANNEL_NAMES[channel], gain_left, gain_right,
|
||||
1.0F / (2 * float(M_PI) * r_voice_gnd * C_VOICE));
|
||||
}
|
||||
|
||||
void linndrum_audio_device::update_master_volume()
|
||||
@ -1059,7 +1059,7 @@ void linndrum_audio_device::update_mux_drum_pitch()
|
||||
m_mux_timer->adjust(period, 0, period);
|
||||
|
||||
LOGMASKED(LOG_PITCH, "Updated mux drum pitch. CV: %f, freq: %d, adjusted: %d\n",
|
||||
cv, freq, adjusted_freq);
|
||||
cv, freq, adjusted_freq);
|
||||
}
|
||||
|
||||
void linndrum_audio_device::update_snare_pitch()
|
||||
@ -1119,7 +1119,7 @@ void linndrum_audio_device::update_tom_pitch()
|
||||
m_tom_timer->adjust(period, 0, period);
|
||||
|
||||
LOGMASKED(LOG_PITCH, "Updated tom pitch: %d, %d. CV: %f, freq: %d\n",
|
||||
knob_index, knob_value, cv, freq);
|
||||
knob_index, knob_value, cv, freq);
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
@ -430,15 +430,15 @@
|
||||
- Added some notes.
|
||||
|
||||
[2025-03-10]
|
||||
- Bonne Chance chars and tiles both 3bpp.
|
||||
- New TILE_GET_INFO and video start for Bonne Chance.
|
||||
- Bonne Chance chars and tiles both 3bpp.
|
||||
- New TILE_GET_INFO and video start for Bonne Chance.
|
||||
- Reworked the Bonne Chance and 7mezzo color palette.
|
||||
|
||||
|
||||
TODO:
|
||||
|
||||
- Figure out how the palette is generated, to avoid a custom palette.
|
||||
- Find a board to investigate if the chars GFX are 1bpp or 3bpp.
|
||||
- Find a board to investigate if the chars GFX are 1bpp or 3bpp.
|
||||
|
||||
|
||||
*******************************************************************************/
|
||||
@ -683,17 +683,17 @@ void magicfly_state::bchance_palette(palette_device &palette) const
|
||||
palette.set_pen_color(7*8 + 1, rgb_t(0xff, 0xff, 0xff));
|
||||
palette.set_pen_color(0xa*8 + 1, rgb_t(0x00, 0xff, 0x00)); // credits (green)
|
||||
palette.set_pen_color(0xb*8 + 1, rgb_t(0xff, 0xff, 0x00)); // odds + bet (yell)
|
||||
palette.set_pen_color(0xd*8 + 1, rgb_t(0xff, 0x00, 0xff)); // push deal (mag)
|
||||
palette.set_pen_color(0xd*8 + 1, rgb_t(0xff, 0x00, 0xff)); // push deal (mag)
|
||||
palette.set_pen_color(0xe*8 + 1, rgb_t(0x00, 0xff, 0xff)); // big good luck (cyan)
|
||||
palette.set_pen_color(0xf*8 + 1, rgb_t(0xff, 0xff, 0xff)); // odds (white)
|
||||
|
||||
palette.set_pen_color(0xf*8 + 1, rgb_t(0xff, 0xff, 0xff)); // odds (white)
|
||||
|
||||
// color code 7 all black
|
||||
for(int i=0; i < 0x8; i++)
|
||||
{
|
||||
palette.set_pen_color(7*8 + i, rgb_t(0x00, 0x00, 0x00));
|
||||
}
|
||||
|
||||
// all code+2 colors black (corners)
|
||||
// all code+2 colors black (corners)
|
||||
for(int i=0; i < 0x10; i++)
|
||||
{
|
||||
palette.set_pen_color(i*8 + 2, rgb_t(0x00, 0x00, 0x00));
|
||||
|
@ -543,14 +543,14 @@
|
||||
- Added new test functions for drhl, drhla, dphl, and dphla.
|
||||
- Cleaned all the conditional unused things.
|
||||
- Rewrote inputs for different sets.
|
||||
- DIP switches improvements for norautp, norautrh,
|
||||
- DIP switches improvements for norautp, norautrh,
|
||||
- New inputs for norautua, dphla, drhl, ssjkrpkr.
|
||||
- New portmap for dphl, dphla.
|
||||
- Added Interrupts through vertical sync for all sets based on i8080.
|
||||
- Fixed norautua and norautub table for bin to bcd conversion.
|
||||
- New button-lamps layout with 10 buttons for dphl, dphla, dphljp,
|
||||
drhl, drhla, and ssjkrpkr.
|
||||
- Clickable buttons for all former buttons-lamps layouts.
|
||||
- Clickable buttons for all former buttons-lamps layouts.
|
||||
- Promoted drhl, drhla, norautua, norautub, and ssjkrpkr to working.
|
||||
|
||||
- Implemented a custom timer and counter to get correct reads in unknown hardware.
|
||||
@ -573,7 +573,7 @@
|
||||
- Derivated inputs for fasdrwp.
|
||||
- Added buttons-lamps layout for fastdrwp.
|
||||
- Promoted fastdrwp set to working.
|
||||
|
||||
|
||||
|
||||
TODO:
|
||||
|
||||
@ -589,8 +589,8 @@
|
||||
|
||||
- dphl type, as dphljp, smshilo, dphlunkb, were flagged as
|
||||
imperfect graphics due they show part of a paytable as garbage
|
||||
when you coin/bet the game. After deal, they are not showing
|
||||
this anymore.
|
||||
when you coin/bet the game. After deal, they are not showing
|
||||
this anymore.
|
||||
|
||||
|
||||
*******************************************************************************/
|
||||
@ -636,7 +636,7 @@ public:
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_hopper(*this, "hopper"),
|
||||
m_hopper(*this, "hopper"),
|
||||
m_decrypted_opcodes(*this, "decrypted_opcodes"),
|
||||
m_lamps(*this, "lamp%u", 0U)
|
||||
{ }
|
||||
@ -716,15 +716,15 @@ private:
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<ticket_dispenser_device> m_hopper;
|
||||
required_device<ticket_dispenser_device> m_hopper;
|
||||
optional_shared_ptr<uint8_t> m_decrypted_opcodes;
|
||||
output_finder<12> m_lamps;
|
||||
|
||||
|
||||
int m_test3 = 1;
|
||||
int m_test3b = 0;
|
||||
int m_test_count = 0;
|
||||
uint8_t m_videoram[0x800] = {};
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -757,7 +757,7 @@ uint32_t norautp_state::screen_update_norautp(screen_device &screen, bitmap_ind1
|
||||
int colour = (m_np_vram[count] & 0xc0) >> 6;
|
||||
if((y == 4) | ( y == 5))
|
||||
colour = colour + 4;
|
||||
|
||||
|
||||
m_gfxdecode->gfx(1)->opaque(bitmap,cliprect, tile, colour, 0, 0, (x * 32) + 8, y * 32);
|
||||
|
||||
count+=2;
|
||||
@ -801,7 +801,7 @@ void norautp_state::norautp_palette(palette_device &palette) const
|
||||
palette.set_pen_color(13, rgb_t(0xff, 0x00, 0x00)); // red
|
||||
palette.set_pen_color(14, rgb_t(0xff, 0xff, 0xff)); // white
|
||||
palette.set_pen_color(15, rgb_t(0x00, 0x00, 0x00)); // black
|
||||
|
||||
|
||||
}
|
||||
|
||||
void norautp_state::drhl_palette(palette_device &palette) const
|
||||
@ -841,11 +841,11 @@ void norautp_state::sureshoto_palette(palette_device &palette) const
|
||||
palette.set_pen_color(8, rgb_t(0xff, 0xff, 0xff)); // white
|
||||
palette.set_pen_color(9, rgb_t(0x00, 0x00, 0x00)); // cards bg
|
||||
palette.set_pen_color(10, rgb_t(0xff, 0xff, 0xff)); // white
|
||||
palette.set_pen_color(11, rgb_t(0x00, 0x00, 0x00));
|
||||
palette.set_pen_color(11, rgb_t(0x00, 0x00, 0x00));
|
||||
palette.set_pen_color(12, rgb_t(0xff, 0xff, 0xff)); // white
|
||||
palette.set_pen_color(13, rgb_t(0xff, 0x00, 0x00));
|
||||
palette.set_pen_color(13, rgb_t(0xff, 0x00, 0x00));
|
||||
palette.set_pen_color(14, rgb_t(0xff, 0xff, 0xff)); // white
|
||||
palette.set_pen_color(15, rgb_t(0xff, 0x00, 0x00));
|
||||
palette.set_pen_color(15, rgb_t(0xff, 0x00, 0x00));
|
||||
}
|
||||
|
||||
|
||||
@ -921,7 +921,7 @@ void norautp_state::counterlamps_w(uint8_t data)
|
||||
m_lamps[10] = BIT(data, 0); // HI lamp
|
||||
m_lamps[11] = BIT(data, 1); // LO lamp
|
||||
|
||||
m_hopper->motor_w(BIT(data, 2));
|
||||
m_hopper->motor_w(BIT(data, 2));
|
||||
|
||||
machine().bookkeeping().coin_counter_w(0, data & 0x10); // Coin1/3 counter
|
||||
machine().bookkeeping().coin_counter_w(1, data & 0x20); // Coin2 counter
|
||||
@ -944,7 +944,7 @@ TIMER_CALLBACK_MEMBER(norautp_state::ppi2_ack)
|
||||
m_np_vram[np_addr] = vram_data;
|
||||
m_videoram[np_addr] = vram_data;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// game waits for bit 4 (0x10) to be reset.
|
||||
@ -1314,7 +1314,7 @@ static INPUT_PORTS_START( norautrh )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_DIPNAME( 0x04, 0x04, "Bet Max" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPNAME( 0x04, 0x04, "Bet Max" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, "1" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x00, "20" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x04, "5 " ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x80)
|
||||
@ -1556,7 +1556,7 @@ static INPUT_PORTS_START( norautua )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_DIPNAME( 0x04, 0x04, "Bet Max" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPNAME( 0x04, 0x04, "Bet Max" ) PORT_DIPLOCATION("DSW1:6")
|
||||
PORT_DIPSETTING( 0x04, "1" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x00, "20" ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x00)
|
||||
PORT_DIPSETTING( 0x04, "5 " ) PORT_CONDITION("DSW1", 0x80, EQUALS, 0x80)
|
||||
@ -1615,7 +1615,7 @@ static INPUT_PORTS_START( dphl )
|
||||
PORT_DIPSETTING( 0x40, "When 8 or more is bet" )
|
||||
PORT_DIPSETTING( 0x20, "When 4 or more is bet" )
|
||||
PORT_DIPSETTING( 0x00, "Always" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
@ -1624,9 +1624,9 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( dphla )
|
||||
|
||||
PORT_INCLUDE( dphl )
|
||||
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_READ_LINE_DEVICE_MEMBER("hopper", FUNC(ticket_dispenser_device::line_r)) // hopper
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_READ_LINE_DEVICE_MEMBER("hopper", FUNC(ticket_dispenser_device::line_r)) // hopper
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -1690,7 +1690,7 @@ static INPUT_PORTS_START( ssjkrpkr )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
|
||||
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
@ -1699,7 +1699,7 @@ INPUT_PORTS_END
|
||||
static INPUT_PORTS_START( sureshoto )
|
||||
|
||||
PORT_INCLUDE( dphl )
|
||||
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Break (Deal)")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused bet
|
||||
@ -1737,7 +1737,7 @@ static INPUT_PORTS_START( sureshoto )
|
||||
PORT_DIPSETTING( 0x40, "When 4 or more is bet" )
|
||||
PORT_DIPSETTING( 0x20, "When 4 or more is bet" )
|
||||
PORT_DIPSETTING( 0x00, "Always" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
@ -1766,7 +1766,7 @@ static INPUT_PORTS_START( fastdrwp )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_DIPNAME( 0x80, 0x80, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPNAME( 0x80, 0x80, "Test Mode" ) PORT_DIPLOCATION("DSW1:1")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
@ -1952,7 +1952,7 @@ void norautp_state::noraut_base(machine_config &config)
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_norautp);
|
||||
PALETTE(config, m_palette, FUNC(norautp_state::norautp_palette), 16);
|
||||
|
||||
|
||||
HOPPER(config, m_hopper, attotime::from_msec(150));
|
||||
|
||||
// sound hardware
|
||||
@ -5051,7 +5051,7 @@ void norautp_state::init_enc()
|
||||
ROM[0x1da0] = 0x10; // 10.000
|
||||
ROM[0x1da1] = 0x27;
|
||||
ROM[0x1da2] = 0xe8; // 1.000
|
||||
ROM[0x1da3] = 0x03;
|
||||
ROM[0x1da3] = 0x03;
|
||||
ROM[0x1da4] = 0x64; // 100
|
||||
ROM[0x1da5] = 0x00;
|
||||
ROM[0x1da6] = 0x0a; // 10
|
||||
@ -5094,7 +5094,7 @@ void norautp_state::init_unka()
|
||||
ROM[0x0003] = 0xff;
|
||||
ROM[0x0004] = 0xd0;
|
||||
ROM[0x0005] = 0xc3;
|
||||
ROM[0x0006] = 0x80;
|
||||
ROM[0x0006] = 0x80;
|
||||
ROM[0x0007] = 0x01;
|
||||
ROM[0x01d5] = 0xaf;
|
||||
|
||||
@ -5106,8 +5106,8 @@ void norautp_state::init_unkb()
|
||||
for (int i = 0x0680; i < 0x0740; i++)
|
||||
{
|
||||
ROM[i] = ~ROM[i];
|
||||
ROM[i + 0X800] = ~ROM[i + 0X800];
|
||||
}
|
||||
ROM[i + 0x800] = ~ROM[i + 0x800];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
* Challenger Draw Poker
|
||||
https://flyers.arcade-museum.com/videogames/show/4296
|
||||
https://flyers.arcade-museum.com/videogames/show/4374
|
||||
|
||||
|
||||
* Challenger Black Jack 21
|
||||
https://flyers.arcade-museum.com/videogames/show/4295
|
||||
|
||||
@ -130,7 +130,7 @@
|
||||
|
||||
|
||||
registers:
|
||||
|
||||
|
||||
Credits: da-db
|
||||
Coins in: dd
|
||||
|
||||
@ -159,9 +159,9 @@
|
||||
SET UP
|
||||
TIMER 6 (range: 1 to 12)
|
||||
MAX BET 8 (range: 5 to 50)
|
||||
AUTO BET OFF (options: OFF/ON)
|
||||
AUTO DEAL OFF (options: OFF/ON)
|
||||
REBET OFF (options: OFF/ON)
|
||||
AUTO BET OFF (options: OFF/ON)
|
||||
AUTO DEAL OFF (options: OFF/ON)
|
||||
REBET OFF (options: OFF/ON)
|
||||
|
||||
After adjusting the last item, you will return to the game mode.
|
||||
|
||||
@ -244,7 +244,7 @@ public:
|
||||
m_dac(*this, "dac"),
|
||||
m_in0(*this, "IN0"),
|
||||
m_in1(*this, "IN1"),
|
||||
m_in2(*this, "IN2"),
|
||||
m_in2(*this, "IN2"),
|
||||
m_lamps(*this, "lamp%u", 0U)
|
||||
|
||||
{ }
|
||||
@ -316,10 +316,10 @@ uint8_t vpoker_state::blitter_r(offs_t offset)
|
||||
{
|
||||
if(m_in2->read() == 1 ) // Save and Halt
|
||||
m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
|
||||
|
||||
|
||||
if(offset == 6)
|
||||
return m_in0->read();
|
||||
|
||||
|
||||
if(offset == 7)
|
||||
return m_in1->read();
|
||||
|
||||
@ -331,7 +331,7 @@ void vpoker_state::blitter_w(offs_t offset, uint8_t data)
|
||||
uint8_t *videoram = m_videoram.get();
|
||||
|
||||
m_blit_ram[offset] = data;
|
||||
|
||||
|
||||
if(offset == 1)
|
||||
{
|
||||
machine().bookkeeping().coin_counter_w(0, BIT(data, 5)); // coin_in
|
||||
@ -407,8 +407,8 @@ void vpoker_state::main_map(address_map &map)
|
||||
|
||||
static INPUT_PORTS_START( vpoker )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin In") PORT_IMPULSE(3)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin In") PORT_IMPULSE(3)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_GAMBLE_BOOK )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-10") PORT_CODE(KEYCODE_Q)
|
||||
@ -425,7 +425,7 @@ static INPUT_PORTS_START( vpoker )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Deal")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Draw")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_CANCEL )
|
||||
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
@ -498,7 +498,7 @@ void vpoker_state::ptm_5_irq(int state)
|
||||
|
||||
void vpoker_state::firq_coin_line(int state)
|
||||
{
|
||||
if(m_in0->read() == 0xfe)
|
||||
if(m_in0->read() == 0xfe)
|
||||
m_maincpu->set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
@ -512,7 +512,7 @@ void vpoker_state::vpoker(machine_config &config)
|
||||
// basic machine hardware
|
||||
MC6809(config, m_maincpu, XTAL(4'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vpoker_state::main_map);
|
||||
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
// video hardware
|
||||
@ -546,7 +546,7 @@ void vpoker_state::fiveaces(machine_config &config)
|
||||
// video hardware
|
||||
screen_device &screen(SCREEN(config.replace(), "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.screen_vblank().set(FUNC(vpoker_state::firq_coin_line));
|
||||
screen.screen_vblank().set(FUNC(vpoker_state::firq_coin_line));
|
||||
screen.set_size(512, 256);
|
||||
screen.set_visarea(48, 448-1, 0, 240-1); // 512x256 total
|
||||
screen.set_screen_update(FUNC(vpoker_state::screen_update_vpoker));
|
||||
|
@ -98,10 +98,10 @@ void pc88va_sgp_device::control_w(u8 data)
|
||||
u8 pc88va_sgp_device::status_r()
|
||||
{
|
||||
// crude debug single-stepping
|
||||
// if (machine().input().code_pressed(KEYCODE_S))
|
||||
// return 0;
|
||||
// if (!machine().input().code_pressed_once(KEYCODE_A))
|
||||
// return 1;
|
||||
// if (machine().input().code_pressed(KEYCODE_S))
|
||||
// return 0;
|
||||
// if (!machine().input().code_pressed_once(KEYCODE_A))
|
||||
// return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1686,7 +1686,7 @@ void pc88va_state::picture_mask_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
case 3: COMBINE_DATA(&m_picture_mask.bottom); m_picture_mask.bottom &= 0xff; break;
|
||||
}
|
||||
|
||||
// popmessage("x0 %d y0 %d - x1 %d y1 %d", m_picture_mask.left, m_picture_mask.top, m_picture_mask.right, m_picture_mask.bottom);
|
||||
// popmessage("x0 %d y0 %d - x1 %d y1 %d", m_picture_mask.left, m_picture_mask.top, m_picture_mask.right, m_picture_mask.bottom);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -236,7 +236,7 @@ private:
|
||||
u8 m_firq_timer_preset = 0xff; // Preset for 40103 timer. Pulled high.
|
||||
u8 m_selected_cv_in = 0x07; // MUX A-C inputs. Pulled high.
|
||||
bool m_inhibit_cv_in = true; // MUX INHibit input. Pulled high.
|
||||
std::array<bool, 4> m_haltreq = { false, false, false, false }; // Halt request to the voice board (HALTREQ).
|
||||
std::array<bool, 4> m_haltreq = { false, false, false, false }; // Halt request to the voice board (HALTREQ).
|
||||
std::array<bool, 6> m_encoder_dir = { false, false, false, false, false, false };
|
||||
std::array<bool, 6> m_encoder_changed = { false, false, false, false, false, false };
|
||||
std::array<u64, 3> m_vfd_anode_masks = { 0, 0, 0 };
|
||||
|
@ -61,7 +61,7 @@ void mcd212_device::update_matte_arrays()
|
||||
|
||||
const int num_mattes = BIT(m_image_coding_method, ICM_NM_BIT) ? 2 : 1;
|
||||
const bool matte_flag = BIT(m_matte_control[0], MC_MF_BIT); // MF bit must be the same. See 5.10.2 Matte Commands
|
||||
|
||||
|
||||
int matte_idx[2] = { 0, 4 };
|
||||
int x = 0;
|
||||
for (; x < width; x++)
|
||||
|
@ -38,7 +38,7 @@ Front panel:
|
||||
|
||||
|
||||
Six PCBs connected with two backplanes (Motorola VME 9 conns and a custom one with 13 conns):
|
||||
|
||||
|
||||
OSD PCB (B6) (EURO-BEEB 65, CUBE EuroBEEB Single Board Computer PCB from Control Universal Ltd.)
|
||||
- Rockwell R6551AP ACIA
|
||||
- Rockwell R6522AP VIA
|
||||
@ -220,7 +220,7 @@ PCB VIDEO (B1) (labeled "OPTOMAX VIDEO PCB 9000-0022-2/2")
|
||||
- 2716 EPROM
|
||||
- 2 x Toshiba TC5565PL-15
|
||||
- Motorola MC68230P8
|
||||
___ ___ ___ ___
|
||||
___ ___ ___ ___
|
||||
| | | | | | | |
|
||||
_______________| |___| |___| |___| |________________________________
|
||||
| |___| |___| |___| |___| |
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
Skeleton driver for Microtek Powerpack In-Circuit Emulator model PP-SW+ PIII
|
||||
|
||||
Main POD with two PCBs connected with a small backplane (also connects
|
||||
Main POD with two PCBs connected with a small backplane (also connects
|
||||
with the pass-through CPU adapter using a flat cable):
|
||||
- PCB 1:
|
||||
* Side A
|
||||
@ -29,7 +29,7 @@ with the pass-through CPU adapter using a flat cable):
|
||||
|
||||
Pass-through CPU adapter for Pentium III:
|
||||
- 1 x Xilinx XCV100.
|
||||
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -180,15 +180,15 @@ void pv9234_state::pv9234(machine_config &config)
|
||||
|
||||
// TODO: actually NS16550A, uses DA-25 port for a non-standard 8P1 125k baud rate
|
||||
NS16550(config, "uart", 8_MHz_XTAL);
|
||||
// uart.out_tx_callback().set("serial", FUNC(rs232_port_device::write_txd));
|
||||
// uart.out_dtr_callback().set("serial", FUNC(rs232_port_device::write_dtr));
|
||||
// uart.out_rts_callback().set("serial", FUNC(rs232_port_device::write_rts));
|
||||
// uart.out_tx_callback().set("serial", FUNC(rs232_port_device::write_txd));
|
||||
// uart.out_dtr_callback().set("serial", FUNC(rs232_port_device::write_dtr));
|
||||
// uart.out_rts_callback().set("serial", FUNC(rs232_port_device::write_rts));
|
||||
//
|
||||
// rs232_port_device &serial(RS232_PORT(config, "serial", default_rs232_devices, "terminal"));
|
||||
// serial.rxd_handler().set("uart", FUNC(ns16550_device::rx_w));
|
||||
// serial.dcd_handler().set("uart", FUNC(ns16550_device::dcd_w));
|
||||
// serial.dsr_handler().set("uart", FUNC(ns16550_device::dsr_w));
|
||||
// serial.cts_handler().set("uart", FUNC(ns16550_device::cts_w));
|
||||
// rs232_port_device &serial(RS232_PORT(config, "serial", default_rs232_devices, "terminal"));
|
||||
// serial.rxd_handler().set("uart", FUNC(ns16550_device::rx_w));
|
||||
// serial.dcd_handler().set("uart", FUNC(ns16550_device::dcd_w));
|
||||
// serial.dsr_handler().set("uart", FUNC(ns16550_device::dsr_w));
|
||||
// serial.cts_handler().set("uart", FUNC(ns16550_device::cts_w));
|
||||
|
||||
// TODO: has a Philips SAA-branded chip on the evasive PCB picture
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
Apache 3 ATF-011
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
- road layer, has twelve rotation registers!
|
||||
- road layer, has twelve rotation registers!
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
Cycle Warriors ABA-011
|
||||
Big Fight ABA-011
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
- Combine Big Fight & CycleWarriors video routines - currently each
|
||||
game uses different sized tilemaps - these are probably software
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
Round Up 5 ATC-011
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
- Finish road layer.
|
||||
Tunnel sections are borderline unplayable, plus slopes are ugly to watch.
|
||||
|
||||
- Always boots with a coin inserted
|
||||
- Always boots with a coin inserted
|
||||
$5152 is the coin counter, gets an explicit 1 at boot.
|
||||
There are other two buffers read from 68k before that, written to $5156 and $515a
|
||||
If these are 0xffff by then game boots normally ...
|
||||
|
@ -2,10 +2,10 @@
|
||||
// copyright-holders:Bryan McPhail, Angelo Salese
|
||||
/***************************************************************************
|
||||
|
||||
This is a common base for apache3.cpp, roundup5.cpp and cyclwarr.cpp
|
||||
This is a common base for apache3.cpp, roundup5.cpp and cyclwarr.cpp
|
||||
|
||||
Gray Out (from 1987) is likely a similar setup
|
||||
http://www.tatsu-mi.co.jp/game/trace/index.html
|
||||
Gray Out (from 1987) is likely a similar setup
|
||||
http://www.tatsu-mi.co.jp/game/trace/index.html
|
||||
|
||||
Incredibly complex hardware! These are all different boards, but share
|
||||
a similar sprite chip (TZB215 on Apache 3, TZB315 on others). Other
|
||||
|
@ -295,7 +295,7 @@ void janshi_vdp_device::draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip
|
||||
|
||||
widths come from "widthflags" (0xfc3780)
|
||||
"unk1" (0xfc3700) and "unk2" (0xfc37c0) are a mystery
|
||||
*/
|
||||
*/
|
||||
|
||||
int spr_offs = (m_vram1[(i * 4) + 0] | (m_vram1[(i * 4) + 1] << 8)) & 0xffff;
|
||||
int col = (m_vram1[(i * 4) + 2] & 0xf8) >> 3;
|
||||
@ -1083,7 +1083,7 @@ INPUT_PORTS_END
|
||||
void pinkiri8_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_io_matrix));
|
||||
|
||||
|
||||
save_item(NAME(m_prot_read_index));
|
||||
save_item(NAME(m_prot_char));
|
||||
save_item(NAME(m_prot_index));
|
||||
|
Loading…
Reference in New Issue
Block a user