summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/cosmos_playc8f.cpp
blob: 2e0c204ada2fb75e5a24928f891b34e56ab61790 (plain) (blame)
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
// license:BSD-3-Clause
// copyright-holders:
/*********************************************************************************************************************************************

  Skeleton driver for Cosmos PLAYC8F/PLAYC8E hardware based electromechanical machines.

  Known machines on this hardware:

  Dumped  Manufacturer                                                     Machine             Notes
  ------  ---------------------------------------------------------------  ------------------  -----------------------------------------------
  Yes     Benchmark Games, Inc.                                            Basketball          PLAYC8F + SY-MUSIC01 (music)
  Yes     Benchmark Games, Inc.                                            Ten Strike Classic  PLAYC8F (mechanical sound, no sound/music PCBs)
  No      Universal Space Amusement (HK) Co., Ltd                          Mr. Wolf            PLAYC8F
  No      HomingGame                                                       Gold Fort           PLAYC8F + SOUND03H (music, STC11F08XE-based)
  No      Family Fun Companies, Inc.                                       Basket Fortune      PLAYC8F + SY-MUSIC01 (music)
  No      Family Fun Companies, Inc.                                       Pharaoh’s Treasure  PLAYC8F + SY-MUSIC01 (music) + SC52 (sound)
  No      Family Fun Companies, Inc.                                       Football Fortune    PLAYC8F + SY-MUSIC01 (music)
  No      Universal Space Amusement Equipment Ltd.                         Bed Monsters        PLAYC8F + SY-MUSIC01 (music)
  No      Universal Space Amusement Equipment Ltd.                         Colorama 4 Player   PLAYC8F + SY-MUSIC01 (music)
  No      Universal Space Amusement Equipment Ltd. / Bromley Incorporated  Ghost Hunter        PLAYC8E + SY-MUSIC01 (music)

  Main PCB "COSMOS PLAYC8F":
 ________________________________________________________________________________________
|                                  _________  _________                 O <- Led 8    :||
|  ____________                   HN74HC374N HN74HC374N                                 |
| |:::::::::::|                    _________  _________                 O <- Led 7    :||
|                                 |ULN2803A| |ULN2803A|                               :||
|  ____________                   __________  __________                O <- Led 6    :||
| |:::::::::::|                  |:::::::::| |:::::::::|                              :||
|                                  _________  _________                 O <- Led 5    :||
|  ____________                   |ULN2803A| |ULN2803A|  ___  ___  ___                :||
| |:::::::::::|                    _________  _________ |  | |  | | o|  O <- Led 4      |
|                                 HN74HC374N HN74HC374N |  | |  | | o|                :||
|  ____________     _________      _________  _________ |  <-HD74HC374N O <- Led 3    :||
| |:::::::::::|     |ULN2803A|    HN74HC374N HN74HC374N |__| |__<-ULN2803A            :||
|                   _________      _________  _________           | o|  O <- Led 2    :||
|                   HN74HC374N    |ULN2803A| |ULN2803A|           |_o|                :||
| ___                             __________  __________                O <- Led 1    :||
||..|                            |:::::::::| |:::::::::|                                |
||..|      _________               _________  _________                 ___             |
||..|     SN74HC245N              |ULN2803A| |ULN2803A|                |  <-74HC374N  :||
||..|      _________               _________  _________                |  |           :||
||..|     SN74HC245N              HN74HC374N HN74HC374N                |  |           :||
||..|      _________            Reset switch->(o)                      |__|           :||
||..|     SN74HC245N   ___  ___    __________________      ___  ___    ___              |
||..|      _________  |  | |  |   |M68HC705C8       |     |  | |  |    |  <-74HC374N  :||
||..|     SN74HC245N  |  | |  |   |_________________|     |  | |  |    |  |           :||
||..|      _________  |  |<-HD74HC138P         Xtal       |  |<-HD74HC138P            :||
||..|     SN74HC245N  |__| |__|<-HD74HC138P   4.0MHz      |__| |__|<-HD74HC138P       :||
||__|                                                                  |__|           :||
|                                                                       ___             |
| ___      _________              _________               __________   |  <-74HC374N  :||
||..|     HN74HC245AN            |_8xdips_|   (o)  :     | Battery |   |  |           :||
||..|      _________              _________   Test Test  |(not present)|  |           :||
||..|     HN74HC245AN            |_8xdips_|  Switch Conn |_________|   |__|           :||
||..|      _________                               _________            ___             |
||..|     HN74HC245AN                             HN74HC374N           |  <-74HC374N  :||
||..|      _________                               _________           |  |           :||
||..|     HN74HC245AN                             |ULN2803A|           |  |           :||
||..|      _________                                                   |__|           :||
||..|     HN74HC245AN        ______           ________________                          |
||__|                         ····           |:::::::::::::::|    COSMOS PLAYC8F PCB    |
|___________________________Power conn__________________________________________________|


  Sound PCB "SY-MUSIC01":
 ___________________________________________________________________
| ___   __  __    __________________                               |
| ···   ··  ··    ::::::::::::::::::                               |
| CN1  CN2 CN3            CN4                                      |
|                __  __  __  __  __  __  __  __                    |
|               |_ ||__||__||__||__||__||__||__|                   |
|                                                         ________ |
|                                _______                SN74HC138N |
|                          Xtal |OKI   |                           |
|                      4.096MHz |M9811 |             _____________ |
|                               |______|            | ROM1       | |
|                                                   |____________| |
|                           _______________          _____________ |
|                          | MCU MCS51    |         | ROM2       | |
|                          |______________|         |____________| |
|           ____                                     _____________ |
|          4558D                                    | ROM3       | |
|                                                   |____________| |
|   ______  ______                                   _____________ |
|  |__  _|  ······                                  | ROM4       | |
|    | |      CN5       SY-MUSIC01 PCB (V1.1)       |____________| |
|____| |___________________________________________________________|
     |_|<- Volume

***********************************************************************************************************************************************/

#include "emu.h"
#include "cpu/m6805/m68hc05.h"
#include "cpu/mcs51/mcs51.h"
#include "sound/okim9810.h"
#include "speaker.h"

namespace {

class cosmos_playc8f_state : public driver_device
{
public:
	cosmos_playc8f_state(const machine_config &mconfig, device_type type, const char *tag)
		: driver_device(mconfig, type, tag)
		, m_maincpu(*this, "maincpu")
		, m_soundcpu(*this, "soundcpu")
	{
	}

	void playc8f(machine_config &config);
	void playc8f_symusic01(machine_config &config);

private:
	required_device<m68hc05_device> m_maincpu;
	optional_device<mcs51_cpu_device> m_soundcpu;
};

static INPUT_PORTS_START(playc8f)
INPUT_PORTS_END

// PLAYC8F + SY-MUSIC01 (music)
void cosmos_playc8f_state::playc8f_symusic01(machine_config &config)
{
	M68HC705C8A(config, m_maincpu, 4_MHz_XTAL);

	I80C51(config, m_soundcpu, 6_MHz_XTAL); // Actually an AT89C51

	SPEAKER(config, "mono").front_center();

	okim9810_device &oki(OKIM9810(config, "oki", 4.096_MHz_XTAL)); // Actually an OKI M9811
	oki.add_route(ALL_OUTPUTS, "mono", 0.50);
}

// PLAYC8F (without sound hardware)
void cosmos_playc8f_state::playc8f(machine_config &config)
{
	M68HC705C8A(config, m_maincpu, 4_MHz_XTAL);
}

ROM_START(bgbasketb)
	ROM_REGION(0x002000, "maincpu", 0)
	ROM_LOAD("srlqj02-2-01_2013-03-23.u13", 0x000000, 0x002000, CRC(9ab77de9) SHA1(c3507636dfe963023d5894403b850b65da2613b4)) // MC705C8ACPE

	ROM_REGION(0x001000, "soundcpu", 0)
	ROM_LOAD("mglqj-y-3-3_2004-10-22.u2",   0x000000, 0x001000, NO_DUMP) // AT89C51, protected

	ROM_REGION(0x200000, "samples", 0)
	ROM_LOAD("mglqj-y-1-3_2004-10-22.rom1", 0x000000, 0x100000, CRC(ca8ac968) SHA1(c974e16d86f0d5fbc5fe663aa81dff82b8678813)) // 27C801
	ROM_LOAD("mglqj-y-2-3_2004-10-22.rom2", 0x100000, 0x100000, CRC(b4987ea2) SHA1(77f42740bea08a72fc1a201a0ed7946c380141cf)) // 27C801
ROM_END

ROM_START(bgbasketbb)
	ROM_REGION(0x002000, "maincpu", 0)
	ROM_LOAD("basketball_2004-01-22.u13",   0x000000, 0x002000, CRC(5dd80da6) SHA1(5671d7166c7131ce0ad415da16842f271cc7ac3f)) // MC68HC705C8P

	ROM_REGION(0x001000, "soundcpu", 0)
	ROM_LOAD("mglqj-y-3-3_2004-10-22.u2",   0x000000, 0x001000, NO_DUMP) // AT89C51, protected

	ROM_REGION(0x200000, "samples", 0)
	ROM_LOAD("mglqj-y-1-3_2004-10-22.rom1", 0x000000, 0x100000, CRC(ca8ac968) SHA1(c974e16d86f0d5fbc5fe663aa81dff82b8678813)) // 27C801
	ROM_LOAD("mglqj-y-2-3_2004-10-22.rom2", 0x100000, 0x100000, CRC(b4987ea2) SHA1(77f42740bea08a72fc1a201a0ed7946c380141cf)) // 27C801
ROM_END

// This is a reissue and copy of the 1957 Williams Ten Strike
ROM_START(tenstrikc)
	ROM_REGION(0x002000, "maincpu", 0)
	ROM_LOAD("gdblq_2003-5-17.u13",         0x000000, 0x002000, CRC(dc345c3b) SHA1(50edbecf20e038f35556d315447a9d370d125ea7)) // MC68HC705C8A

	// No sound hardware (just mechanical sounds triggered by relays)
ROM_END

} // anonymous namespace

//   YEAR  NAME        PARENT     MACHINE            INPUT    CLASS                 INIT        ROT   COMPANY                  FULLNAME                               FLAGS
GAME(2013, bgbasketb,  0,         playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 1)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(2004, bgbasketbb, bgbasketb, playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 2)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(2003, tenstrikc,  0,         playc8f,           playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Ten Strike Classic",                  MACHINE_IS_SKELETON_MECHANICAL)