@@ -8,18 +8,18 @@ IGT Gameking 960
8
8
- complete QUART devices, and fix "QUART COUNTER NOT RUNNING" error message;
9
9
- interrupt system, wants IAC mode from i960;
10
10
\- ms3/ms72c/bmoonii acks irq0 from quart2 CIR block only;
11
- - SENET, CMOS + RTC?
11
+ - SENET device. Ties a i2c-like bus named netflex for comms with ticket printers, bill acceptors, touch screen ...
12
12
\- bmoonii main board has an Actel A1020B + CY7C128A static RAM;
13
- \- all games will eventually print "RTC device: SOFTWARE", expecting an optional device somewhere;
13
+ \- CMOS never get properly initialized, tied on SENET?
14
+ - all games will eventually print "RTC device: SOFTWARE", expecting an optional device somewhere. Later boards have a RTC62423;
14
15
- bmoonii, ms5, ms14, dblheart, mystjag: crashes in i960 with unhandled 00 after RAM error.
15
16
\- Do they all need NVRAM setchips?
16
17
\- Crash may be related to lack of irq service;
17
- - understand what's "netflex" device;
18
- - CMOS never get properly initialized?
19
- - Eventually uses a touchscreen;
20
18
- watchdog (ADM691AAN on bmoonii board);
21
19
- All games are silent;
22
20
\- bmoonii has a YM2413 on main board, tied with a XTAL(3'579'545).
21
+ \- some extra stuff routes thru QUART chips (namely SRESET comes from there)
22
+ \- ymz should require snd roms being hooked up to its internal memory map thru ROM_COPY;
23
23
- Hangs on soft reset;
24
24
25
25
gkigt4 debug hang points:
@@ -119,6 +119,7 @@ More chips (from eBay auction):
119
119
#include " machine/nvram.h"
120
120
#include " sound/ymz280b.h"
121
121
#include " video/ramdac.h"
122
+ #include " sound/ymopl.h"
122
123
123
124
#include " emupal.h"
124
125
#include " screen.h"
@@ -139,6 +140,7 @@ class igt_gameking_state : public driver_device
139
140
, m_bg_vram(*this , " bg_vram" )
140
141
, m_gfxdecode(*this , " gfxdecode" )
141
142
, m_quart(*this , " quart%u" , 1U )
143
+ , m_opll(*this , " opll" )
142
144
{ }
143
145
144
146
void igt_gameking (machine_config &config);
@@ -164,6 +166,7 @@ class igt_gameking_state : public driver_device
164
166
required_shared_ptr<uint32_t > m_bg_vram;
165
167
required_device<gfxdecode_device> m_gfxdecode;
166
168
required_device_array<sc28c94_device, 2 > m_quart;
169
+ required_device<ym2413_device> m_opll;
167
170
168
171
tilemap_t *m_bg_tilemap = nullptr ;
169
172
TILE_GET_INFO_MEMBER (get_bg_tile_info);
@@ -255,6 +258,7 @@ void igt_gameking_state::igt_gameking_map(address_map &map)
255
258
// 28050000: SOUND SEL
256
259
// 28060000: COLOR SEL
257
260
// 28070000: OUT SEL
261
+ map (0x28000000 , 0x28000003 ).rw (m_opll, FUNC (ym2413_device::read), FUNC (ym2413_device::write)).umask32 (0x00ff00ff );
258
262
map (0x28010000 , 0x2801007f ).rw (m_quart[0 ], FUNC (sc28c94_device::read), FUNC (sc28c94_device::write)).umask32 (0x00ff00ff );
259
263
map (0x28020000 , 0x280205ff ).flags (i960_cpu_device::BURST).ram (); // CMOS?
260
264
map (0x28030000 , 0x28030003 ).nopr ();
@@ -540,10 +544,10 @@ void igt_gameking_state::igt_gameking(machine_config &config)
540
544
m_screen->set_visarea (0 , 640 -1 , 0 , 480 -1 );
541
545
m_screen->set_screen_update (FUNC (igt_gameking_state::screen_update));
542
546
m_screen->set_palette (m_palette);
543
- // m_screen->screen_vblank().set_inputline(m_maincpu, I960_IRQ2);
544
547
// Xilinx used as video chip XTAL(26'666'666) on board
545
548
546
549
SC28C94 (config, m_quart[0 ], XTAL (24'000'000 ) / 6 );
550
+ m_quart[0 ]->irq_cb ().set_inputline (m_maincpu, I960_IRQ3);
547
551
m_quart[0 ]->d_tx_cb ().set (" diag" , FUNC (rs232_port_device::write_txd));
548
552
549
553
SC28C94 (config, m_quart[1 ], XTAL (24'000'000 ) / 6 );
@@ -563,6 +567,8 @@ void igt_gameking_state::igt_gameking(machine_config &config)
563
567
/* sound hardware */
564
568
SPEAKER (config, " mono" ).front_center ();
565
569
570
+ YM2413 (config, m_opll, XTAL (3'579'545 )).add_route (ALL_OUTPUTS, " mono" , 1.0 );
571
+
566
572
YMZ280B (config, " ymz" , XTAL (16'934'400 )).add_route (ALL_OUTPUTS, " mono" , 1.0 ); // enhanced sound on optional Media-Lite sub board
567
573
568
574
NVRAM (config, " nvram" , nvram_device::DEFAULT_ALL_1);
@@ -575,6 +581,7 @@ void igt_gameking_state::igt_ms72c(machine_config &config)
575
581
576
582
// TODO: pinpoint enable/acknowledge
577
583
// clears a bit in $280201fc from there, may really expect vectored irqs from i960 instead ...
584
+ // irq2 comes from SENET device
578
585
// m_screen->screen_vblank().set_inputline(m_maincpu, I960_IRQ2);
579
586
}
580
587
0 commit comments