Previous 15994 Revisions Next

r7765 Thursday 8th April, 2010 at 12:48:41 UTC by Curt Coder
[VIDBRAIN] Added cartridge, cassette, keyboard layout, I/O ports, mirroring.
[src/mess/drivers]vidbrain.c
[src/mess/includes]vidbrain.h

src/mess/includes/vidbrain.h
r7764r7765
55
66#define F3850_TAG      "cd34"
77#define SCREEN_TAG      "screen"
8#define SPEAKER_TAG      "speaker"
8#define DISCRETE_TAG   "discrete"
9#define CASSETTE_TAG   "cassette"
910
1011class vidbrain_state
1112{
r7764r7765
1415
1516   vidbrain_state(running_machine &machine) { }
1617
18   /* keyboard state */
19   UINT8 keylatch;
20   int joy_enable;
21
1722   /* devices */
18   running_device *speaker;
23   running_device *discrete;
1924};
2025
2126#endif
src/mess/drivers/vidbrain.c
r7764r7765
11/***************************************************************************
22
3    VideoBrain
3    VideoBrain Family Computer
44
55   http://www.seanriddle.com/vbinfo.html
66   http://www.seanriddle.com/videobrain.html
r7764r7765
1414   TODO:
1515
1616   - video
17   - sound
18   - cartridge
19   - keyboard
20   - 4 analog joysticks
21   - memory mirrors
22   - I/O map
17   - discrete sound
18   - keyboard column 8
19   - joystick scan timer 555
2320   - expander 1 (cassette, RS-232)
2421   - expander 2 (modem)
2522
r7764r7765
2825#include "emu.h"
2926#include "includes/vidbrain.h"
3027#include "cpu/f8/f8.h"
28#include "devices/cartslot.h"
29#include "devices/cassette.h"
30#include "devices/messram.h"
31#include "sound/discrete.h"
3132
32static ADDRESS_MAP_START(vidbrain_mem, ADDRESS_SPACE_PROGRAM, 8)
33   AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0xc000) AM_ROM AM_REGION(F3850_TAG, 0)
34   AM_RANGE(0x0c00, 0x0fff) AM_RAM
35//   AM_RANGE(0x1000, 0x1fff) AM_ROM cartridge
36   AM_RANGE(0x2000, 0x27ff) AM_ROM AM_REGION(F3850_TAG, 0x800)
33/***************************************************************************
34    READ/WRITE HANDLERS
35***************************************************************************/
36
37/*-------------------------------------------------
38    keyboard_w - keyboard column write
39-------------------------------------------------*/
40
41WRITE8_HANDLER( keyboard_w )
42{
43   /*
44
45      bit      description
46
47      0      keyboard column 0, sound data 0
48      1      keyboard column 1, sound data 1
49      2      keyboard column 2
50      3      keyboard column 3
51      4      keyboard column 4
52      5      keyboard column 5
53      6      keyboard column 6
54      7      keyboard column 7
55
56   */
57
58   vidbrain_state *state = (vidbrain_state *)space->machine->driver_data;
59
60   state->keylatch = data;
61}
62
63/*-------------------------------------------------
64    keyboard_r - keyboard row read
65-------------------------------------------------*/
66
67READ8_HANDLER( keyboard_r )
68{
69   /*
70
71      bit      description
72
73      0      keyboard row 0
74      1      keyboard row 1
75      2      keyboard row 2
76      3      keyboard row 3
77      4     
78      5     
79      6     
80      7     
81
82   */
83
84   vidbrain_state *state = (vidbrain_state *)space->machine->driver_data;
85
86   UINT8 data = input_port_read(space->machine, "JOY-R");
87
88   if (!BIT(state->keylatch, 0)) data &= input_port_read(space->machine, "IO00");
89   if (!BIT(state->keylatch, 1)) data &= input_port_read(space->machine, "IO01");
90   if (!BIT(state->keylatch, 2)) data &= input_port_read(space->machine, "IO02");
91   if (!BIT(state->keylatch, 3)) data &= input_port_read(space->machine, "IO03");
92   if (!BIT(state->keylatch, 4)) data &= input_port_read(space->machine, "IO04");
93   if (!BIT(state->keylatch, 5)) data &= input_port_read(space->machine, "IO05");
94   if (!BIT(state->keylatch, 6)) data &= input_port_read(space->machine, "IO06");
95   if (!BIT(state->keylatch, 7)) data &= input_port_read(space->machine, "IO07");
96
97   return data;
98}
99
100/*-------------------------------------------------
101    sound_w - sound clock write
102-------------------------------------------------*/
103
104WRITE8_HANDLER( sound_w )
105{
106   /*
107
108      bit      description
109
110      0     
111      1     
112      2     
113      3     
114      4      sound clock
115      5     
116      6     
117      7      joystick enable
118
119   */
120
121   vidbrain_state *state = (vidbrain_state *)space->machine->driver_data;
122
123   /* sound clock */
124   discrete_sound_w(state->discrete, NODE_01, BIT(state->keylatch, 0));
125   discrete_sound_w(state->discrete, NODE_02, BIT(state->keylatch, 1));
126
127   /* joystick enable */
128   state->joy_enable = BIT(data, 7);
129}
130
131/***************************************************************************
132    MEMORY MAPS
133***************************************************************************/
134
135/*-------------------------------------------------
136    ADDRESS_MAP( vidbrain_mem )
137-------------------------------------------------*/
138
139static ADDRESS_MAP_START( vidbrain_mem, ADDRESS_SPACE_PROGRAM, 8 )
140   AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0xc000) AM_ROM
141//   AM_RANGE(0x0800, 0x08ff) video chip
142   AM_RANGE(0x0c00, 0x0fff) AM_MIRROR(0xe000) AM_RAM
143   AM_RANGE(0x1000, 0x1fff) AM_ROM
144   AM_RANGE(0x2000, 0x27ff) AM_MIRROR(0xc000) AM_ROM
37145ADDRESS_MAP_END
38146
39/* Input ports */
40static INPUT_PORTS_START( vidbrain )
41INPUT_PORTS_END
147/*-------------------------------------------------
148    ADDRESS_MAP( vidbrain_io )
149-------------------------------------------------*/
42150
151static ADDRESS_MAP_START( vidbrain_io, ADDRESS_SPACE_IO, 8 )
152   AM_RANGE(0x00, 0x00) AM_WRITE(keyboard_w)
153   AM_RANGE(0x01, 0x01) AM_READWRITE(keyboard_r, sound_w)
154ADDRESS_MAP_END
43155
44static MACHINE_RESET(vidbrain)
156/***************************************************************************
157    INPUT PORTS
158***************************************************************************/
159
160/*-------------------------------------------------
161    INPUT_PORTS( vidbrain )
162-------------------------------------------------*/
163
164static INPUT_CHANGED( trigger_reset )
45165{
166   cputag_set_input_line(field->port->machine, F3850_TAG, INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
46167}
47168
169static INPUT_PORTS_START( vidbrain )
170   PORT_START("IO00")
171   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_CHAR('"')
172   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('O') PORT_CHAR('#')
173   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("P \xC2\xA2") PORT_CODE(KEYCODE_P) PORT_CHAR('P') PORT_CHAR(0x00a2)
174   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("; \xC2\xB6") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(0x00b6)
175   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
176
177   PORT_START("IO01")
178   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_CHAR('!')
179   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_CHAR(')')
180   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_CHAR('$')
181   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR('\'') PORT_CHAR('*')
182   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
183
184   PORT_START("IO02")
185   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Y \xC3\xB7") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_CHAR(0x00f7)
186   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_CHAR('(')
187   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_CHAR(':')
188   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
189   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
190
191   PORT_START("IO03")
192   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("T \xC3\x97") PORT_CODE(KEYCODE_T) PORT_CHAR('T') PORT_CHAR(0x00d7)
193   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_CHAR('/')
194   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_CHAR(',')
195   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ERASE RESTART") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
196   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
197
198   PORT_START("IO04")
199   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_CHAR('9')
200   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_CHAR('-')
201   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_CHAR('=')
202   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPACE RUN/STOP") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
203   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
204
205   PORT_START("IO05")
206   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_CHAR('8')
207   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_CHAR('6')
208   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_CHAR('+')
209   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SPECIAL ALARM") PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4))
210   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
211
212   PORT_START("IO06")
213   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) PORT_CHAR('W') PORT_CHAR('7')
214   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_CHAR('5')
215   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_CHAR('3')
216   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("NEXT CLOCK") PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3))
217   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
218
219   PORT_START("IO07")
220   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') PORT_CHAR('%')
221   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_CHAR('4')
222   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_CHAR('2')
223   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("PREVIOUS COLOR") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
224   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
225
226   PORT_START("UV201-31")
227   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_CHAR('.')
228   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_CHAR('1')
229   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('?') PORT_CHAR('0')
230   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("BACK TEXT") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
231   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
232
233   PORT_START("RESET")
234   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("MASTER CONTROL") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHANGED(trigger_reset, 0)
235
236   PORT_START("JOY1-X")
237   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_PLAYER(1)
238
239   PORT_START("JOY1-Y")
240   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_PLAYER(1)
241
242   PORT_START("JOY2-X")
243   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_PLAYER(2)
244
245   PORT_START("JOY2-Y")
246   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_PLAYER(2)
247
248   PORT_START("JOY3-X")
249   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_PLAYER(3)
250
251   PORT_START("JOY3-Y")
252   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_PLAYER(3)
253
254   PORT_START("JOY4-X")
255   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_PLAYER(4)
256
257   PORT_START("JOY4-Y")
258   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(25) PORT_PLAYER(4)
259
260   PORT_START("JOY-R")
261   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
262   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
263   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
264   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
265   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
266INPUT_PORTS_END
267
268/***************************************************************************
269    VIDEO
270***************************************************************************/
271
272/*-------------------------------------------------
273    VIDEO_START( vidbrain )
274-------------------------------------------------*/
275
48276static VIDEO_START( vidbrain )
49277{
50278}
51279
280/*-------------------------------------------------
281    VIDEO_UPDATE( vidbrain )
282-------------------------------------------------*/
283
52284static VIDEO_UPDATE( vidbrain )
53285{
54286    return 0;
55287}
56288
57/* F4 Character Displayer */
289/*-------------------------------------------------
290    gfx_layout vidbrain_charlayout
291-------------------------------------------------*/
292
58293static const gfx_layout vidbrain_charlayout =
59294{
60295   8, 7,               /* 8 x 7 characters */
61   59,               /* 59 characters */
62   1,               /* 1 bits per pixel */
296   59,                  /* 59 characters */
297   1,                  /* 1 bits per pixel */
63298   { 0 },               /* no bitplanes */
64299   /* x offsets */
65300   { 0, 1, 2, 3, 4, 5, 6, 7 },
r7764r7765
68303   8*7               /* every char takes 7 bytes */
69304};
70305
306/*-------------------------------------------------
307    GFXDECODE( vidbrain )
308-------------------------------------------------*/
309
71310static GFXDECODE_START( vidbrain )
72   GFXDECODE_ENTRY( F3850_TAG, 0x0810, vidbrain_charlayout, 0, 1 )
311   GFXDECODE_ENTRY( F3850_TAG, 0x2010, vidbrain_charlayout, 0, 1 )
73312GFXDECODE_END
74313
314/***************************************************************************
315    SOUND
316***************************************************************************/
317
318/*-------------------------------------------------
319    DISCRETE_SOUND( vidbrain )
320-------------------------------------------------*/
321
322static DISCRETE_SOUND_START( vidbrain )
323   DISCRETE_INPUT_LOGIC(NODE_01)
324   DISCRETE_INPUT_LOGIC(NODE_02)
325   DISCRETE_OUTPUT(NODE_02, 5000)
326DISCRETE_SOUND_END
327
328/***************************************************************************
329    DEVICE CONFIGURATION
330***************************************************************************/
331
332/*-------------------------------------------------
333    cassette_config vidbrain_cassette_config
334-------------------------------------------------*/
335
336static const cassette_config vidbrain_cassette_config =
337{
338   cassette_default_formats,
339   NULL,
340   (cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED)
341};
342
343/***************************************************************************
344    MACHINE INITIALIZATION
345***************************************************************************/
346
347/*-------------------------------------------------
348    MACHINE_START( vidbrain )
349-------------------------------------------------*/
350
351static MACHINE_START( vidbrain )
352{
353   vidbrain_state *state = (vidbrain_state *)machine->driver_data;
354
355   /* find devices */
356   state->discrete = devtag_get_device(machine, DISCRETE_TAG);
357
358   /* register for state saving */
359   state_save_register_global(machine, state->keylatch);
360   state_save_register_global(machine, state->joy_enable);
361}
362
363/***************************************************************************
364    MACHINE DRIVERS
365***************************************************************************/
366
367/*-------------------------------------------------
368    MACHINE_DRIVER_START( vidbrain )
369-------------------------------------------------*/
370
75371static MACHINE_DRIVER_START( vidbrain )
76372   MDRV_DRIVER_DATA(vidbrain_state)
77373
78374    /* basic machine hardware */
79375    MDRV_CPU_ADD(F3850_TAG, F8, XTAL_14_31818MHz/8)
80376    MDRV_CPU_PROGRAM_MAP(vidbrain_mem)
377    MDRV_CPU_IO_MAP(vidbrain_io)
81378
82    MDRV_MACHINE_RESET(vidbrain)
379    MDRV_MACHINE_START(vidbrain)
83380
84381    /* video hardware */
85382    MDRV_SCREEN_ADD(SCREEN_TAG, RASTER)
r7764r7765
89386    MDRV_SCREEN_SIZE(640, 480)
90387    MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
91388   MDRV_GFXDECODE(vidbrain)
92    MDRV_PALETTE_LENGTH(2)
93    MDRV_PALETTE_INIT(black_and_white)
389    MDRV_PALETTE_LENGTH(16)
94390
95391    MDRV_VIDEO_START(vidbrain)
96392    MDRV_VIDEO_UPDATE(vidbrain)
393
394   /* sound hardware */
395   MDRV_SPEAKER_STANDARD_MONO("mono")
396
397   MDRV_SOUND_ADD(DISCRETE_TAG, DISCRETE, 0)
398   MDRV_SOUND_CONFIG_DISCRETE(vidbrain)
399   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
400
401   /* devices */
402   MDRV_CASSETTE_ADD(CASSETTE_TAG, vidbrain_cassette_config)
403
404   /* cartridge */
405   MDRV_CARTSLOT_ADD("cart")
406   MDRV_CARTSLOT_EXTENSION_LIST("bin")
407
408   /* internal ram */
409   MDRV_RAM_ADD("messram")
410   MDRV_RAM_DEFAULT_SIZE("1K")
97411MACHINE_DRIVER_END
98412
99/* ROM definition */
413/***************************************************************************
414    ROMS
415***************************************************************************/
416
100417ROM_START( vidbrain )
101    ROM_REGION( 0x1000, F3850_TAG, 0 )
102   ROM_LOAD( "res1.d67", 0x0000, 0x0800, CRC(065fe7c2) SHA1(9776f9b18cd4d7142e58eff45ac5ee4bc1fa5a2a) )
103   ROM_LOAD( "res2.e5",  0x0800, 0x0800, CRC(1d85d7be) SHA1(26c5a25d1289dedf107fa43aa8dfc14692fd9ee6) )
418    ROM_REGION( 0x3000, F3850_TAG, 0 )
419   ROM_LOAD( "res1.d67",  0x0000, 0x0800, CRC(065fe7c2) SHA1(9776f9b18cd4d7142e58eff45ac5ee4bc1fa5a2a) )
420   ROM_CART_LOAD( "cart", 0x1000, 0x1000, 0 )
421   ROM_LOAD( "res2.e5",   0x2000, 0x0800, CRC(1d85d7be) SHA1(26c5a25d1289dedf107fa43aa8dfc14692fd9ee6) )
104422ROM_END
105423
106/* Driver */
424/***************************************************************************
425    SYSTEM DRIVERS
426***************************************************************************/
107427
108/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    COMPANY   FULLNAME       FLAGS */
109COMP( 1977, vidbrain,  0,       0,   vidbrain,   vidbrain,    0,          "VideoBrain Computer Company",   "VideoBrain Family Computer",      GAME_NOT_WORKING | GAME_NO_SOUND )
428/*    YEAR  NAME      PARENT   COMPAT   MACHINE      INPUT      INIT   COMPANY                     FULLNAME                  FLAGS */
429COMP( 1977, vidbrain,   0,      0,      vidbrain,   vidbrain,   0,      "VideoBrain Computer Company",   "VideoBrain Family Computer",   GAME_NOT_WORKING | GAME_NO_SOUND )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team