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