1 // license:BSD-3-Clause
2 // copyright-holders:
3 /*
4
5 SIGMA B31 SYSTEM
6 Seems a predecessor (or only mechanical version) of the hardware in sigmab52.cpp
7
8 Board silkscreend on top sigma,inc. B31-1E
9 B31-1E GTP
10 MECH-SLOT (MS)
11 1ST REEL
12 2ND REEL
13 3RD REEL
14 4TH REEL
15 5TH REEL
16 sigma, inc.
17
18 Board stickered on top x2 microware
19 (c)MICROWARE SYSTEMS CORPORATION
20 IND09LI
21
22 9 jumpers on back that look like it came that way, not re-worked.
23
24 .57 27256 stickered M-SLOT
25 03-00
26 L89-1625
27
28 .70 27512 stickered B325107-084
29 CAPTAIN LUCKY
30 L93-0091
31
32
33 chip at location ic69 24 pin dip Stamped Motorola logo? MC68B50P stickered MODS
34 T6A J9007 COMPLETE
35
36 chip at location ic62 28 pin dip Stamped Hitachi logo? OJ1 R
37 HD63B40P
38
39 chip at location ic3 28 pin dip Stamped Fujitsu logo? JAPAN
40 8464A-15L
41 9034 T98
42
43 chip at location ic9 28 pin dip Stamped Fujitsu logo? JAPAN
44 8464A-15L
45 9034 T98
46
47 chip at location ic65 28 pin dip Stamped Fujitsu logo? JAPAN
48 8464A-15L
49 9047 T01
50
51 chip at location ic65 28 pin dip Stamped NEC JAPAN
52 D43256AC-10L
53 9103AD053
54
55 chip at location JP6 20 pin dip switch stickered DENOMINATION
56 SET
57
58 chip at location ic80 7 pin sip stamped Fujitsu logo? JAPAN
59 MB3730
60 9041 M40 <- might be missing some since the bolt of the heat sink blocks it
61
62 sw1 off
63 sw2 off
64 sw3 on
65 sw4 on
66 sw5 on
67 sw6 off
68 sw7 off
69 sw8 off
70 sw9 off
71 sw10 off
72
73 Oscillator at x1 stamped KX0-01-1
74 8.0000MHZ
75 9051 KYOCERA
76
77 Oscillator at x2 stamped KX0-HC1-T
78 3.579545MHZ
79 9103 KYOCERA
80
81 missing chip at ic56 silkscreen says 6809
82
83 chip at location ic43 24 pin dip stamped YAMAHA
84 YM3812
85 9036 EADB
86
87 chip at location ic50 28 pin dip stamped Hitachi logo? 1A1 R
88 HD63B40P
89 JAPAN
90
91 */
92
93 #include "emu.h"
94 #include "cpu/m6809/m6809.h"
95 #include "machine/6840ptm.h"
96 #include "machine/6850acia.h"
97 #include "machine/nvram.h"
98 #include "sound/3812intf.h"
99 #include "speaker.h"
100
101
102 class sigmab31_state : public driver_device
103 {
104 public:
sigmab31_state(const machine_config & mconfig,device_type type,const char * tag)105 sigmab31_state(const machine_config &mconfig, device_type type, const char *tag) :
106 driver_device(mconfig, type, tag),
107 m_maincpu(*this, "maincpu")
108 { }
109
110 void sigmab31(machine_config &config);
111
112 protected:
113 virtual void machine_start() override;
114 virtual void machine_reset() override;
115
116 private:
117 void prg_map(address_map &map);
118
119 required_device<cpu_device> m_maincpu;
120 };
121
122
prg_map(address_map & map)123 void sigmab31_state::prg_map(address_map &map)
124 {
125 map(0x6000, 0xf6ff).rom();
126 map(0xf800, 0xffff).rom();
127 }
128
129
130 static INPUT_PORTS_START( cptlucky )
131 PORT_START("IN0")
132 PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
133
134 PORT_START("DSW1") // TODO: should be 10 switches
135 PORT_DIPNAME( 0x01, 0x01, "DSW1-1" ) PORT_DIPLOCATION("SW1:1")
DEF_STR(Off)136 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
137 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
138 PORT_DIPNAME( 0x02, 0x02, "DSW1-2" ) PORT_DIPLOCATION("SW1:2")
139 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
140 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
141 PORT_DIPNAME( 0x04, 0x04, "DSW1-3" ) PORT_DIPLOCATION("SW1:3")
142 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
143 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
144 PORT_DIPNAME( 0x08, 0x08, "DSW1-4" ) PORT_DIPLOCATION("SW1:4")
145 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
146 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
147 PORT_DIPNAME( 0x10, 0x10, "DSW1-5" ) PORT_DIPLOCATION("SW1:5")
148 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
149 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
150 PORT_DIPNAME( 0x20, 0x20, "DSW1-6" ) PORT_DIPLOCATION("SW1:6")
151 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
152 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
153 PORT_DIPNAME( 0x40, 0x40, "DSW1-7" ) PORT_DIPLOCATION("SW1:7")
154 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
155 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
156 PORT_DIPNAME( 0x80, 0x80, "DSW1-8" ) PORT_DIPLOCATION("SW1:8")
157 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
158 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
159 INPUT_PORTS_END
160
161
162 void sigmab31_state::machine_start()
163 {
164 }
165
machine_reset()166 void sigmab31_state::machine_reset()
167 {
168 }
169
170
sigmab31(machine_config & config)171 void sigmab31_state::sigmab31(machine_config &config)
172 {
173 MC6809(config, m_maincpu, 8_MHz_XTAL);
174 m_maincpu->set_addrmap(AS_PROGRAM, &sigmab31_state::prg_map);
175
176 PTM6840(config, "6840ptm_1", 8_MHz_XTAL / 8);
177
178 PTM6840(config, "6840ptm_2", 8_MHz_XTAL / 8);
179
180 ACIA6850(config, "acia");
181
182 //NVRAM(config, "nvram", nvram_device::DEFAULT_NONE);
183
184 SPEAKER(config, "mono").front_center();
185
186 YM3812(config, "ymsnd", 3.579545_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 1.0);
187 }
188
189
190 ROM_START( cptlucky )
191 ROM_REGION( 0x10000, "maincpu", 0 )
192 ROM_LOAD( "b325107-084_captain_lucky_l93-0091.70", 0x00000, 0x10000, CRC(84c2ab4e) SHA1(3d388ba1c8e4718ca95df45f59d0315887385a27) )
193
194 ROM_REGION( 0x8000, "opl", 0 )
195 ROM_LOAD( "m-slot_03-00_l89-1625.57", 0x00000, 0x8000, CRC(268c8a7c) SHA1(90903428d6c0af3ebdcb462e80a7c28dc4ee7af2) )
196 ROM_END
197
198
199 GAME( 199?, cptlucky, 0, sigmab31, cptlucky, sigmab31_state, empty_init, ROT0, "Sigma", "Captain Lucky", MACHINE_IS_SKELETON_MECHANICAL ) // a 1992 copyright can be found online, but could be for a later version
200