mirror of
https://github.com/holub/mame
synced 2025-06-27 14:49:11 +03:00
saving current work
This commit is contained in:
parent
0ef1e789db
commit
fd723c9917
@ -1,11 +1,13 @@
|
|||||||
/*
|
/******************************************************************************
|
||||||
|
|
||||||
Pinball
|
Pinball
|
||||||
Midway A084-91313-G627
|
Midway A084-91313-G627
|
||||||
A080-91313-G627
|
A080-91313-G627
|
||||||
A082-91320-C000
|
A082-91320-C000
|
||||||
|
|
||||||
Only one of its kind
|
Only one of its kind
|
||||||
*/
|
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/*
|
/********************************************************************************
|
||||||
|
|
||||||
|
Pinball
|
||||||
Bally Kiss 8035 prototype
|
Bally Kiss 8035 prototype
|
||||||
*/
|
|
||||||
|
*********************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
/*************************************************************************************
|
||||||
|
|
||||||
|
Pinball
|
||||||
|
Micropin : Pentacup
|
||||||
|
First version used a 6800, but a later revision used a 8085A.
|
||||||
|
|
||||||
|
**************************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m6800/m6800.h"
|
#include "cpu/m6800/m6800.h"
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/*
|
/*********************************************************************************
|
||||||
|
|
||||||
|
Pinball
|
||||||
Playmatic MPU 1
|
Playmatic MPU 1
|
||||||
*/
|
|
||||||
|
**********************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/*
|
/**********************************************************************************
|
||||||
|
|
||||||
|
Pinball
|
||||||
Playmatic MPU 3
|
Playmatic MPU 3
|
||||||
*/
|
|
||||||
|
***********************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
/**********************************************************************************
|
||||||
|
|
||||||
|
Pinball
|
||||||
|
Sleic
|
||||||
|
|
||||||
|
***********************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/i86/i86.h"
|
#include "cpu/i86/i86.h"
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
/*
|
/**********************************************************************************
|
||||||
|
|
||||||
Pinball
|
Pinball
|
||||||
Technoplay "2-2C 8008 LS" (68000 CPU)
|
Technoplay "2-2C 8008 LS" (68000 CPU)
|
||||||
*/
|
Schematic and PinMAME used as references
|
||||||
|
|
||||||
|
***********************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m68000/m68000.h"
|
#include "cpu/m68000/m68000.h"
|
||||||
|
#include "techno.lh"
|
||||||
|
|
||||||
class techno_state : public driver_device
|
class techno_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -15,6 +19,14 @@ public:
|
|||||||
m_maincpu(*this, "maincpu")
|
m_maincpu(*this, "maincpu")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
DECLARE_WRITE16_MEMBER(disp1_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(disp2_w);
|
||||||
|
DECLARE_WRITE16_MEMBER(sound_w);
|
||||||
|
UINT16 m_digit_1;
|
||||||
|
UINT16 m_digit_2;
|
||||||
|
UINT16 m_segment_1;
|
||||||
|
UINT16 m_segment_2;
|
||||||
|
UINT8 m_vector;
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// devices
|
// devices
|
||||||
@ -22,23 +34,77 @@ protected:
|
|||||||
|
|
||||||
// driver_device overrides
|
// driver_device overrides
|
||||||
virtual void machine_reset();
|
virtual void machine_reset();
|
||||||
|
private:
|
||||||
|
bool m_digwait;
|
||||||
public:
|
public:
|
||||||
DECLARE_DRIVER_INIT(techno);
|
DECLARE_DRIVER_INIT(techno);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static ADDRESS_MAP_START( techno_map, AS_PROGRAM, 16, techno_state )
|
static ADDRESS_MAP_START( techno_map, AS_PROGRAM, 16, techno_state )
|
||||||
AM_RANGE(0x0000, 0xffff) AM_ROM
|
ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
|
||||||
AM_RANGE(0x4000, 0x5fff) AM_RAM
|
AM_RANGE(0x00000, 0x03fff) AM_ROM
|
||||||
AM_RANGE(0x6000, 0xffff) AM_ROM
|
AM_RANGE(0x04000, 0x05fff) AM_RAM // battery backed-up
|
||||||
AM_RANGE(0x10000, 0x17801) AM_NOP // io
|
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(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)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
//static ADDRESS_MAP_START( techno_sub_map, AS_IO, 8, techno_state )
|
||||||
|
// no ram here, must be internal to the cpu
|
||||||
|
// AM_RANGE(0x0000, 0x3fff) AM_READ(rd_r) // to TKY2016A audio processor which has its own 3.58MHz clock
|
||||||
|
// AM_RANGE(0x4000, 0x7fff) AM_WRITE(wr_w) // A11=LED;A12=WR2 (DAC) ;A13=WR1 (TKY2016A as above)
|
||||||
|
// AM_RANGE(0x4000, 0xbfff) AM_ROM // 4000-7FFF is same as 8000-BFFF; 4x 16k ROMS bankswitched
|
||||||
|
// AM_RANGE(0xc000, 0xffff) AM_ROM // another 16k ROM
|
||||||
|
//ADDRESS_MAP_END
|
||||||
|
|
||||||
|
WRITE16_MEMBER( techno_state::disp1_w )
|
||||||
|
{
|
||||||
|
m_segment_1 = data;
|
||||||
|
output_set_digit_value(m_digit_1, m_segment_1);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE16_MEMBER( techno_state::disp2_w )
|
||||||
|
{
|
||||||
|
m_segment_2 = data;
|
||||||
|
output_set_digit_value(m_digit_1+30, m_segment_2);
|
||||||
|
}
|
||||||
|
|
||||||
|
WRITE16_MEMBER( techno_state::sound_w )
|
||||||
|
{
|
||||||
|
if (m_digwait)
|
||||||
|
m_digit_1 = (m_digit_1+1) % 16;
|
||||||
|
|
||||||
|
if (BIT(data, 10))
|
||||||
|
{
|
||||||
|
m_digwait = 1;
|
||||||
|
m_digit_1 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static INPUT_PORTS_START( techno )
|
static INPUT_PORTS_START( techno )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
static INTERRUPT_GEN( techno_intgen )
|
||||||
|
{
|
||||||
|
techno_state *state = device->machine().driver_data<techno_state>();
|
||||||
|
// vectors change per int: 88-8F, 98-9F)
|
||||||
|
if ((state->m_vector & 7) == 7)
|
||||||
|
state->m_vector = (state->m_vector ^ 0x10) & 0x97;
|
||||||
|
state->m_vector++;
|
||||||
|
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()
|
void techno_state::machine_reset()
|
||||||
{
|
{
|
||||||
|
m_vector = 0x88;
|
||||||
}
|
}
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(techno_state,techno)
|
DRIVER_INIT_MEMBER(techno_state,techno)
|
||||||
@ -49,12 +115,21 @@ static MACHINE_CONFIG_START( techno, techno_state )
|
|||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MCFG_CPU_ADD("maincpu", M68000, 8000000)
|
MCFG_CPU_ADD("maincpu", M68000, 8000000)
|
||||||
MCFG_CPU_PROGRAM_MAP(techno_map)
|
MCFG_CPU_PROGRAM_MAP(techno_map)
|
||||||
|
MCFG_CPU_PERIODIC_INT(techno_intgen, 8000000/256) // 31250Hz
|
||||||
|
//MCFG_CPU_ADD("cpu2", TMS7000, 4000000)
|
||||||
|
//MCFG_CPU_PROGRAM_MAP(techno_sub_map)
|
||||||
|
|
||||||
|
/* Video */
|
||||||
|
MCFG_DEFAULT_LAYOUT(layout_techno)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
ROM_START(xforce)
|
ROM_START(xforce)
|
||||||
ROM_REGION(0x1000000, "maincpu", 0)
|
ROM_REGION(0x1000000, "maincpu", 0)
|
||||||
ROM_LOAD16_BYTE("ic15", 0x000001, 0x8000, CRC(fb8d2853) SHA1(0b0004abfe32edfd3ac15d66f90695d264c97eba))
|
ROM_LOAD16_BYTE("ic15", 0x000001, 0x8000, CRC(fb8d2853) SHA1(0b0004abfe32edfd3ac15d66f90695d264c97eba))
|
||||||
ROM_LOAD16_BYTE("ic17", 0x000000, 0x8000, CRC(122ef649) SHA1(0b425f81869bc359841377a91c39f44395502bff))
|
ROM_LOAD16_BYTE("ic17", 0x000000, 0x8000, CRC(122ef649) SHA1(0b425f81869bc359841377a91c39f44395502bff))
|
||||||
|
|
||||||
|
//ROM_REGION(0x20000), "cpu2", 0)
|
||||||
|
// 5 x 27256 roms are undumped
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
GAME(1987, xforce, 0, techno, techno, techno_state, techno, ROT0, "Tecnoplay", "X Force", GAME_IS_SKELETON_MECHANICAL)
|
GAME(1987, xforce, 0, techno, techno, techno_state, techno, ROT0, "Tecnoplay", "X Force", GAME_IS_SKELETON_MECHANICAL)
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<element name="digit" defstate="0">
|
<element name="digit" defstate="0">
|
||||||
<led16seg>
|
<led16seg>
|
||||||
<color red="1.0" green="1.0" blue="0.0" />
|
<color red="1.0" green="0.75" blue="0.0" />
|
||||||
</led16seg>
|
</led16seg>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<!-- Background -->
|
<!-- Background -->
|
||||||
<backdrop element="background">
|
<backdrop element="background">
|
||||||
<bounds left="0" top="35" right="714" bottom="394" />
|
<bounds left="0" top="35" right="714" bottom="154" />
|
||||||
</backdrop>
|
</backdrop>
|
||||||
|
|
||||||
<!-- LEDs -->
|
<!-- LEDs -->
|
||||||
@ -80,52 +80,52 @@
|
|||||||
<!-- Bottom Row -->
|
<!-- Bottom Row -->
|
||||||
|
|
||||||
<bezel name="digit45" element="digit">
|
<bezel name="digit45" element="digit">
|
||||||
<bounds left="10" top="105" right="44" bottom="184" />
|
<bounds left="10" top="105" right="44" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit44" element="digit">
|
<bezel name="digit44" element="digit">
|
||||||
<bounds left="54" top="105" right="88" bottom="184" />
|
<bounds left="54" top="105" right="88" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit43" element="digit">
|
<bezel name="digit43" element="digit">
|
||||||
<bounds left="98" top="105" right="132" bottom="184" />
|
<bounds left="98" top="105" right="132" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit42" element="digit">
|
<bezel name="digit42" element="digit">
|
||||||
<bounds left="142" top="105" right="176" bottom="184" />
|
<bounds left="142" top="105" right="176" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit41" element="digit">
|
<bezel name="digit41" element="digit">
|
||||||
<bounds left="186" top="105" right="220" bottom="184" />
|
<bounds left="186" top="105" right="220" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit40" element="digit">
|
<bezel name="digit40" element="digit">
|
||||||
<bounds left="230" top="105" right="264" bottom="184" />
|
<bounds left="230" top="105" right="264" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit39" element="digit">
|
<bezel name="digit39" element="digit">
|
||||||
<bounds left="274" top="105" right="308" bottom="184" />
|
<bounds left="274" top="105" right="308" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit38" element="digit">
|
<bezel name="digit38" element="digit">
|
||||||
<bounds left="318" top="105" right="352" bottom="184" />
|
<bounds left="318" top="105" right="352" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit37" element="digit">
|
<bezel name="digit37" element="digit">
|
||||||
<bounds left="362" top="105" right="396" bottom="184" />
|
<bounds left="362" top="105" right="396" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit36" element="digit">
|
<bezel name="digit36" element="digit">
|
||||||
<bounds left="406" top="105" right="440" bottom="184" />
|
<bounds left="406" top="105" right="440" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit35" element="digit">
|
<bezel name="digit35" element="digit">
|
||||||
<bounds left="450" top="105" right="484" bottom="184" />
|
<bounds left="450" top="105" right="484" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit34" element="digit">
|
<bezel name="digit34" element="digit">
|
||||||
<bounds left="494" top="105" right="528" bottom="184" />
|
<bounds left="494" top="105" right="528" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit33" element="digit">
|
<bezel name="digit33" element="digit">
|
||||||
<bounds left="538" top="105" right="572" bottom="184" />
|
<bounds left="538" top="105" right="572" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit32" element="digit">
|
<bezel name="digit32" element="digit">
|
||||||
<bounds left="582" top="105" right="616" bottom="184" />
|
<bounds left="582" top="105" right="616" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit31" element="digit">
|
<bezel name="digit31" element="digit">
|
||||||
<bounds left="626" top="105" right="660" bottom="184" />
|
<bounds left="626" top="105" right="660" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit30" element="digit">
|
<bezel name="digit30" element="digit">
|
||||||
<bounds left="670" top="105" right="704" bottom="184" />
|
<bounds left="670" top="105" right="704" bottom="144" />
|
||||||
</bezel>
|
</bezel>
|
||||||
</view>
|
</view>
|
||||||
</mamelayout>
|
</mamelayout>
|
||||||
|
Loading…
Reference in New Issue
Block a user