1 // license:BSD-3-Clause
2 // copyright-holders:
3 /*
4     'Matrix' slot machine or poker game (the bezel has poker cards) by unidentified manufacturer
5     Game title is taken from ROM labels and cabinet. Might be incomplete.
6 
7     Hardware consists of:
8 
9     Motherboard (GXM-530D):
10     Cyrix MediaGX GXm-266GP 2.9V
11     Cyrix GXm Cx5530 with GCT bios
12     128MB RAM
13     SMC FDC37C931
14     5-dip bank
15 
16     Daughter card (FLASH ROM SSD 374-525-627-33-78J54):
17     Lattice ispLSI 1032E 70LJ D980B06
18     Unpopulated spaces marked for: DS5002FP, PIC16C54, 93C56 EEPROM, a couple more unreadable
19     8-dip bank
20     6 ROMs
21     1 RAM
22 */
23 
24 #include "emu.h"
25 #include "cpu/i386/i386.h"
26 #include "screen.h"
27 
28 class matrix_state : public driver_device
29 {
30 public:
matrix_state(const machine_config & mconfig,device_type type,const char * tag)31 	matrix_state(const machine_config &mconfig, device_type type, const char *tag)
32 		: driver_device(mconfig, type, tag),
33 		m_maincpu(*this, "maincpu")
34 	{ }
35 
36 	void matrix(machine_config &config);
37 
38 private:
39 	required_device<cpu_device> m_maincpu;
40 
41 	void main_map(address_map &map);
42 
screen_update(screen_device & screen,bitmap_rgb32 & bitmap,const rectangle & cliprect)43 	uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; }
44 };
45 
46 
main_map(address_map & map)47 void matrix_state::main_map(address_map &map)
48 {
49 }
50 
INPUT_PORTS_START(matrix)51 static INPUT_PORTS_START( matrix )
52 INPUT_PORTS_END
53 
54 
55 void matrix_state::matrix(machine_config &config)
56 {
57 	// basic machine hardware
58 	MEDIAGX(config, m_maincpu, 233'000'000); // Cyrix MediaGX GXm-266GP
59 	m_maincpu->set_addrmap(AS_PROGRAM, &matrix_state::main_map);
60 
61 	// video hardware, all TBD
62 	screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
63 	screen.set_refresh_hz(60);
64 	screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
65 	screen.set_size(640, 480);
66 	screen.set_visarea(0, 640-1, 0, 480-1);
67 	screen.set_screen_update(FUNC(matrix_state::screen_update));
68 }
69 
70 
71 ROM_START( matrix )
72 	ROM_REGION32_LE(0x40000, "bios", 0)
73 	ROM_LOAD("d586_bios.bin", 0x00000, 0x40000, CRC(39fc093a) SHA1(3376bac4f0d6e729d5939e3078ecdf700464cba3) )
74 
75 	ROM_REGION(0x300000, "unsorted", 0)
76 	ROM_LOAD( "matrix_031203u5.bin",  0x000000, 0x080000, CRC(95aa8fb7) SHA1(8cbfa783a887779350609d6f3ea1e88187bd21a4) )
77 	ROM_LOAD( "matrix_031203u6.bin",  0x080000, 0x080000, CRC(38822bc6) SHA1(b57bd9fa44cab9fa4cef8873454c8be0dc7ab781) )
78 	ROM_LOAD( "matrix_031203u7.bin",  0x100000, 0x080000, CRC(74d31f1a) SHA1(bf6eae262cab6d24276f43370f3b9e4f687b9a52) )
79 	ROM_LOAD( "matrix_031203u18.bin", 0x180000, 0x080000, CRC(7b20c6cb) SHA1(51d9a442c510a60f85d9ad7b56cfe67c60f4ab1b) )
80 	ROM_LOAD( "matrix_031203u19.bin", 0x200000, 0x080000, CRC(c612c80c) SHA1(ef7586369fd1f9c6b8f3e78806c3be16b5aa1a3d) )
81 	ROM_LOAD( "matrix_031203u20.bin", 0x280000, 0x080000, CRC(f87ac4ae) SHA1(ef9b730a1113d36ef6a041fe36d77edfa255ad98) )
82 ROM_END
83 
84 
85 GAME( 200?, matrix, 0, matrix, matrix, matrix_state, empty_init, ROT0, "<unknown>", "Matrix", MACHINE_IS_SKELETON )
86