1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
// license:BSD-3-Clause
// copyright-holders:
// Skeleton driver for Yuvo / Yubis Z80 based medal games.
#include "emu.h"
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "sound/ymz280b.h"
#include "speaker.h"
/*
This tries to document the available info, but even game titles should be taken with a grain of salt.
YouTube video references:
Hexa President: http://www.youtube.com/watch?v=5Ea5HxH2zwM&t=8s
Golden Hexa: http://www.youtube.com/watch?v=3u1ccTo3SGI
*/
/*
Golden Hexa by Yubis
PCBs:
Yuvo PCC116B - maincpu board
- TMPZ84C00AP-8
- 8 MHz XTAL
- maincpu ROM
- 2 x TMP82C55AN-2
- 2 x 8 dips bank
Yuvo PCO124B - sound board
- TMPZ84C00AP-8
- 8 MHz XTAL
- audiocpu ROM
- YMZ280B-F
- sample ROMs
Yuvo PCI117B - I/O board
- connectors and ttl chips
*/
class yuvomz80_state : public driver_device
{
public:
yuvomz80_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
private:
required_device<cpu_device> m_maincpu;
};
static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, yuvomz80_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, yuvomz80_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_mem_map, AS_PROGRAM, 8, yuvomz80_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("audiocpu", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_io_map, AS_PROGRAM, 8, yuvomz80_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_END
static INPUT_PORTS_START( goldhexa )
INPUT_PORTS_END
static MACHINE_CONFIG_START( yuvomz80 )
MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz)
MCFG_CPU_PROGRAM_MAP(mem_map)
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz)
MCFG_CPU_PROGRAM_MAP(audio_mem_map)
MCFG_CPU_IO_MAP(audio_io_map)
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL_8MHz)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
MACHINE_CONFIG_END
ROM_START( goldhexa )
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD( "ghp_program_ver.1.02.ic8", 0x0000, 0x10000, CRC(a21a8cfd) SHA1(324f54ca6e17373138df2854f8c5e77cf78e9434) ) // 1111xxxxxxxxxxxx = 0xFF
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD( "hp-sp_ver.1.01.ic7", 0x0000, 0x2000, CRC(05133b91) SHA1(2fe931e55c503f15aedfb1c1ea14c257f57c564b) ) // 1xxxxxxxxxxxx = 0xFF
ROM_REGION(0x100000, "ymz", 0)
ROM_LOAD( "ghp_pcm-a_ver.1.01.ic12", 0x00000, 0x80000, CRC(08de888b) SHA1(a6b68accb136481f45b65eab33e0bab5212a1daf) )
ROM_LOAD( "ghp_pcm-b_ver.1.01.ic13", 0x80000, 0x80000, CRC(161838c9) SHA1(52b9c324b01702c1164a462af371d82e8c2eea43) )
ROM_END
ROM_START( hexapres )
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD( "hexapres.bin", 0x0000, 0x10000, NO_DUMP )
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD( "ghp_snd.bin", 0x0000, 0x10000, CRC(8933b6ea) SHA1(a66157f2b7407ab374db07bcda34f066740f14dc) )
ROM_REGION(0x100000, "ymz", 0)
ROM_LOAD( "ghp_voia.bin", 0x00000, 0x80000, CRC(cf3e4c43) SHA1(6d348054704d1d0082d6166701ab84cb162b3a26) )
ROM_LOAD( "ghp_voib.bin", 0x80000, 0x80000, CRC(8be745fe) SHA1(840bbb212c8c519f2e4633f8db731fcf3f55635a) )
ROM_END
GAME( 200?, goldhexa, 0, yuvomz80, goldhexa, yuvomz80_state, 0, ROT0, "Yubis", "Golden Hexa", MACHINE_IS_SKELETON_MECHANICAL )
GAME( 200?, hexapres, 0, yuvomz80, goldhexa, yuvomz80_state, 0, ROT0, "Yubis", "Hexa President", MACHINE_IS_SKELETON_MECHANICAL )
|