mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
xforce: fixed display [Robbbert]
This commit is contained in:
parent
df7f494dba
commit
00565ee26a
@ -10,6 +10,8 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "techno.lh"
|
||||
// schematic says 8MHz but it goes too fast
|
||||
#define TECHNO_MAINCLK 4e6
|
||||
|
||||
class techno_state : public driver_device
|
||||
{
|
||||
@ -19,8 +21,16 @@ public:
|
||||
m_maincpu(*this, "maincpu")
|
||||
{ }
|
||||
|
||||
DECLARE_READ16_MEMBER(key_r);
|
||||
DECLARE_READ16_MEMBER(rtrg_r);
|
||||
DECLARE_READ16_MEMBER(sound_r);
|
||||
DECLARE_WRITE16_MEMBER(disp1_w);
|
||||
DECLARE_WRITE16_MEMBER(disp2_w);
|
||||
DECLARE_WRITE16_MEMBER(lamp1_w);
|
||||
DECLARE_WRITE16_MEMBER(lamp2_w);
|
||||
DECLARE_WRITE16_MEMBER(setout_w);
|
||||
DECLARE_WRITE16_MEMBER(sol1_w);
|
||||
DECLARE_WRITE16_MEMBER(sol2_w);
|
||||
DECLARE_WRITE16_MEMBER(sound_w);
|
||||
UINT16 m_digit_1;
|
||||
UINT16 m_digit_2;
|
||||
@ -44,16 +54,16 @@ public:
|
||||
static ADDRESS_MAP_START( techno_map, AS_PROGRAM, 16, techno_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
|
||||
AM_RANGE(0x00000, 0x03fff) AM_ROM
|
||||
AM_RANGE(0x04000, 0x05fff) AM_RAM // battery backed-up
|
||||
AM_RANGE(0x04000, 0x04fff) AM_RAM // battery backed-up
|
||||
AM_RANGE(0x06000, 0x0ffff) AM_ROM
|
||||
//AM_RANGE(0x14000, 0x147ff) AM_READWRITE(key_r,lamp1_w)
|
||||
//AM_RANGE(0x14800, 0x14fff) AM_READWRITE(sound_r,lamp2_w)
|
||||
//AM_RANGE(0x15000, 0x157ff) AM_READWRITE(rtrg_r,sol1_w)
|
||||
//AM_RANGE(0x15800, 0x15fff) AM_WRITE(sol2_w)
|
||||
AM_RANGE(0x14000, 0x147ff) AM_READWRITE(key_r,lamp1_w)
|
||||
AM_RANGE(0x14800, 0x14fff) AM_READWRITE(sound_r,lamp2_w)
|
||||
AM_RANGE(0x15000, 0x157ff) AM_READWRITE(rtrg_r,sol1_w)
|
||||
AM_RANGE(0x15800, 0x15fff) AM_READNOP AM_WRITE(sol2_w) // reads from 15800, but shown as not connected
|
||||
AM_RANGE(0x16000, 0x167ff) AM_WRITE(sound_w)
|
||||
AM_RANGE(0x16800, 0x16fff) AM_WRITE(disp1_w)
|
||||
AM_RANGE(0x17000, 0x177ff) AM_WRITE(disp2_w)
|
||||
//AM_RANGE(0x17800, 0x17fff) AM_WRITE(setout_w)
|
||||
AM_RANGE(0x17800, 0x17fff) AM_WRITE(setout_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
//static ADDRESS_MAP_START( techno_sub_map, AS_IO, 8, techno_state )
|
||||
@ -66,13 +76,13 @@ ADDRESS_MAP_END
|
||||
|
||||
WRITE16_MEMBER( techno_state::disp1_w )
|
||||
{
|
||||
m_segment_1 = data;
|
||||
m_segment_1 = BITSWAP16(data, 12, 10, 8, 14, 13, 9, 11, 15, 7, 6, 5, 4, 3, 2, 1, 0);
|
||||
output_set_digit_value(m_digit_1, m_segment_1);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( techno_state::disp2_w )
|
||||
{
|
||||
m_segment_2 = data;
|
||||
m_segment_2 = BITSWAP16(data, 12, 10, 8, 14, 13, 9, 11, 15, 7, 6, 5, 4, 3, 2, 1, 0);
|
||||
output_set_digit_value(m_digit_1+30, m_segment_2);
|
||||
}
|
||||
|
||||
@ -88,6 +98,49 @@ WRITE16_MEMBER( techno_state::sound_w )
|
||||
}
|
||||
}
|
||||
|
||||
// lamps & keymatrix
|
||||
WRITE16_MEMBER( techno_state::lamp1_w )
|
||||
{
|
||||
}
|
||||
|
||||
// more lamps
|
||||
WRITE16_MEMBER( techno_state::lamp2_w )
|
||||
{
|
||||
}
|
||||
|
||||
// solenoids
|
||||
WRITE16_MEMBER( techno_state::sol1_w )
|
||||
{
|
||||
}
|
||||
|
||||
// more solenoids
|
||||
WRITE16_MEMBER( techno_state::sol2_w )
|
||||
{
|
||||
}
|
||||
|
||||
// unknown
|
||||
WRITE16_MEMBER( techno_state::setout_w )
|
||||
{
|
||||
}
|
||||
|
||||
// inputs
|
||||
READ16_MEMBER( techno_state::key_r )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// unknown
|
||||
READ16_MEMBER( techno_state::rtrg_r )
|
||||
{
|
||||
return 0xffff;
|
||||
}
|
||||
|
||||
// feedback from sound board, and some AUX inputs
|
||||
READ16_MEMBER( techno_state::sound_r )
|
||||
{
|
||||
return 0xffff;
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( techno )
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -98,8 +151,8 @@ static INTERRUPT_GEN( techno_intgen )
|
||||
if ((state->m_vector & 7) == 7)
|
||||
state->m_vector = (state->m_vector ^ 0x10) & 0x97;
|
||||
state->m_vector++;
|
||||
// core doesn't support clearing of irq via hardware
|
||||
generic_pulse_irq_line_and_vector(device, 1, state->m_vector, 1);
|
||||
//device_set_input_line_and_vector(device, 1, ASSERT_LINE, state->m_vector);
|
||||
}
|
||||
|
||||
void techno_state::machine_reset()
|
||||
@ -113,9 +166,9 @@ DRIVER_INIT_MEMBER(techno_state,techno)
|
||||
|
||||
static MACHINE_CONFIG_START( techno, techno_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, 8000000)
|
||||
MCFG_CPU_ADD("maincpu", M68000, TECHNO_MAINCLK)
|
||||
MCFG_CPU_PROGRAM_MAP(techno_map)
|
||||
MCFG_CPU_PERIODIC_INT(techno_intgen, 8000000/256) // 31250Hz
|
||||
MCFG_CPU_PERIODIC_INT(techno_intgen, TECHNO_MAINCLK/256) // 31250Hz
|
||||
//MCFG_CPU_ADD("cpu2", TMS7000, 4000000)
|
||||
//MCFG_CPU_PROGRAM_MAP(techno_sub_map)
|
||||
|
||||
|
@ -28,103 +28,103 @@
|
||||
|
||||
<!-- Top Row -->
|
||||
|
||||
<bezel name="digit15" element="digit">
|
||||
<bezel name="digit0" element="digit">
|
||||
<bounds left="10" top="45" right="44" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit14" element="digit">
|
||||
<bezel name="digit1" element="digit">
|
||||
<bounds left="54" top="45" right="88" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit13" element="digit">
|
||||
<bezel name="digit6" element="digit">
|
||||
<bounds left="98" top="45" right="132" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit12" element="digit">
|
||||
<bezel name="digit7" element="digit">
|
||||
<bounds left="142" top="45" right="176" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit11" element="digit">
|
||||
<bezel name="digit12" element="digit">
|
||||
<bounds left="186" top="45" right="220" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit10" element="digit">
|
||||
<bezel name="digit13" element="digit">
|
||||
<bounds left="230" top="45" right="264" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit9" element="digit">
|
||||
<bezel name="digit2" element="digit">
|
||||
<bounds left="274" top="45" right="308" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit8" element="digit">
|
||||
<bezel name="digit3" element="digit">
|
||||
<bounds left="318" top="45" right="352" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit7" element="digit">
|
||||
<bezel name="digit8" element="digit">
|
||||
<bounds left="362" top="45" right="396" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit6" element="digit">
|
||||
<bezel name="digit9" element="digit">
|
||||
<bounds left="406" top="45" right="440" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit5" element="digit">
|
||||
<bezel name="digit14" element="digit">
|
||||
<bounds left="450" top="45" right="484" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit4" element="digit">
|
||||
<bezel name="digit15" element="digit">
|
||||
<bounds left="494" top="45" right="528" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit3" element="digit">
|
||||
<bezel name="digit4" element="digit">
|
||||
<bounds left="538" top="45" right="572" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit2" element="digit">
|
||||
<bezel name="digit5" element="digit">
|
||||
<bounds left="582" top="45" right="616" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit1" element="digit">
|
||||
<bezel name="digit10" element="digit">
|
||||
<bounds left="626" top="45" right="660" bottom="84" />
|
||||
</bezel>
|
||||
<bezel name="digit0" element="digit">
|
||||
<bezel name="digit11" element="digit">
|
||||
<bounds left="670" top="45" right="704" bottom="84" />
|
||||
</bezel>
|
||||
|
||||
<!-- Bottom Row -->
|
||||
|
||||
<bezel name="digit45" element="digit">
|
||||
<bezel name="digit30" element="digit">
|
||||
<bounds left="10" top="105" right="44" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit44" element="digit">
|
||||
<bezel name="digit31" element="digit">
|
||||
<bounds left="54" top="105" right="88" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit43" element="digit">
|
||||
<bezel name="digit36" element="digit">
|
||||
<bounds left="98" top="105" right="132" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit42" element="digit">
|
||||
<bezel name="digit37" element="digit">
|
||||
<bounds left="142" top="105" right="176" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit41" element="digit">
|
||||
<bezel name="digit42" element="digit">
|
||||
<bounds left="186" top="105" right="220" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit40" element="digit">
|
||||
<bezel name="digit43" element="digit">
|
||||
<bounds left="230" top="105" right="264" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit39" element="digit">
|
||||
<bezel name="digit32" element="digit">
|
||||
<bounds left="274" top="105" right="308" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit38" element="digit">
|
||||
<bezel name="digit33" element="digit">
|
||||
<bounds left="318" top="105" right="352" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit37" element="digit">
|
||||
<bezel name="digit38" element="digit">
|
||||
<bounds left="362" top="105" right="396" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit36" element="digit">
|
||||
<bezel name="digit39" element="digit">
|
||||
<bounds left="406" top="105" right="440" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit35" element="digit">
|
||||
<bezel name="digit44" element="digit">
|
||||
<bounds left="450" top="105" right="484" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit34" element="digit">
|
||||
<bezel name="digit45" element="digit">
|
||||
<bounds left="494" top="105" right="528" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit33" element="digit">
|
||||
<bezel name="digit34" element="digit">
|
||||
<bounds left="538" top="105" right="572" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit32" element="digit">
|
||||
<bezel name="digit35" element="digit">
|
||||
<bounds left="582" top="105" right="616" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit31" element="digit">
|
||||
<bezel name="digit40" element="digit">
|
||||
<bounds left="626" top="105" right="660" bottom="144" />
|
||||
</bezel>
|
||||
<bezel name="digit30" element="digit">
|
||||
<bezel name="digit41" element="digit">
|
||||
<bounds left="670" top="105" right="704" bottom="144" />
|
||||
</bezel>
|
||||
</view>
|
||||
|
Loading…
Reference in New Issue
Block a user