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