Previous 199869 Revisions Next

r26034 Thursday 7th November, 2013 at 12:10:39 UTC by Dirk Best
Move DIABLO31 drive definitions to alto2.h for now. Clean up ROM loading, input port (keyboard) definitions and more
[/branches/alto2/src/mess/drivers]alto2.c

branches/alto2/src/mess/drivers/alto2.c
r26033r26034
3131
3232}
3333
34/* Memory Maps */
34READ16_MEMBER( alto2_state::alto2_mmio_r )
35{
36   return 0;
37}
3538
36#if   (ALTO2_CRAM_CONFIG==1)
37#define   ALTO2_UCODE_ROM_PAGES   1      //!< number of microcode ROM pages
38#define   ALTO2_UCODE_RAM_PAGES   1      //!< number of microcode RAM pages
39#elif (ALTO2_CRAM_CONFIG==2)
40#define   ALTO2_UCODE_ROM_PAGES   2      //!< number of microcode ROM pages
41#define   ALTO2_UCODE_RAM_PAGES   1      //!< number of microcode RAM pages
42#elif (ALTO2_CRAM_CONFIG==3)
43#define   ALTO2_UCODE_ROM_PAGES   1      //!< number of microcode ROM pages
44#define   ALTO2_UCODE_RAM_PAGES   3      //!< number of microcode RAM pages
45#else
46#error "Undefined CROM/CRAM configuration"
47#endif
39WRITE16_MEMBER( alto2_state::alto2_mmio_w )
40{
4841
42}
43
44/* Memory Maps */
45
4946static ADDRESS_MAP_START( alto2_ucode_map, AS_PROGRAM, 32, alto2_state )
50   AM_RANGE(0x0000, ALTO2_UCODE_RAM_BASE-1) AM_ROM
47   AM_RANGE(0, ALTO2_UCODE_RAM_BASE-1) AM_ROM
5148   AM_RANGE(ALTO2_UCODE_RAM_BASE, ALTO2_UCODE_SIZE-1) AM_READWRITE(alto2_ucode_r, alto2_ucode_w)
5249ADDRESS_MAP_END
5350
5451static ADDRESS_MAP_START( alto2_ram_map, AS_IO, 16, alto2_state )
55   AM_RANGE(0x0000, ALTO2_RAM_SIZE/2-1) AM_READWRITE(alto2_ram_r, alto2_ram_w)
52   AM_RANGE(0, ALTO2_IO_PAGE_BASE - 1) AM_READWRITE(alto2_ram_r, alto2_ram_w)
53   AM_RANGE(ALTO2_IO_PAGE_BASE, 0177777) AM_READWRITE(alto2_mmio_r, alto2_mmio_w)
5654ADDRESS_MAP_END
5755
5856
r26033r26034
196194   PORT_BIT(A2_KEY_I,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("i I") PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')   //!< normal: i    shifted: I
197195   PORT_BIT(A2_KEY_X,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("x X") PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')   //!< normal: x    shifted: X
198196   PORT_BIT(A2_KEY_O,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("o O") PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')   //!< normal: o    shifted: O
199   PORT_BIT(A2_KEY_L,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("l L") PORT_CODE(KEYCODE_E) PORT_CHAR('l') PORT_CHAR('L')   //!< normal: l    shifted: L
197   PORT_BIT(A2_KEY_L,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("l L") PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')   //!< normal: l    shifted: L
200198   PORT_BIT(A2_KEY_COMMA,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(", <") PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')   //!< normal: ,    shifted: <
201199   PORT_BIT(A2_KEY_QUOTE,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("' \"") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\x27') PORT_CHAR('"')   //!< normal: '    shifted: "
202200   PORT_BIT(A2_KEY_RBRACKET,   IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("] }") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}')   //!< normal: ]    shifted: }
r26033r26034
214212   PORT_BIT(A2_KEY_B,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("b B") PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')   //!< normal: b    shifted: B
215213   PORT_BIT(A2_KEY_Z,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("z Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')   //!< normal: z    shifted: Z
216214   PORT_BIT(A2_KEY_LSHIFT,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LSHIFT") PORT_CODE(KEYCODE_LSHIFT)                     //!< LSHIFT
217   PORT_BIT(A2_KEY_P,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(". >") PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')   //!< normal: .    shifted: >
218   PORT_BIT(A2_KEY_S,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("; :") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')//!< normal: ;    shifted: :
215   PORT_BIT(A2_KEY_PERIOD,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(". >") PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')   //!< normal: .    shifted: >
216   PORT_BIT(A2_KEY_SEMICOLON,   IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("; :") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')//!< normal: ;    shifted: :
219217   PORT_BIT(A2_KEY_RETURN,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("RETURN") PORT_CODE(KEYCODE_ENTER) PORT_CHAR('\013')         //!< RETURN
220   PORT_BIT(A2_KEY_L,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("â†� ↑") PORT_CODE(KEYCODE_LEFT)                        //!< normal: left arrow   shifted: up arrow (caret)
218   PORT_BIT(A2_KEY_LEFTARROW,   IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(" ") PORT_CODE(KEYCODE_LEFT)                        //!< normal: left arrow   shifted: up arrow (caret)
221219   PORT_BIT(A2_KEY_DEL,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_DEL)                        //!< normal: DEL  shifted: ?
222220   PORT_BIT(A2_KEY_MSW_2_17,   IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2/17") PORT_CODE(KEYCODE_MENU)                        //!< unused on Microswitch KDB
223221
r26033r26034
231229   PORT_BIT(A2_KEY_N,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("n N") PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')   //!< normal: n    shifted: N
232230   PORT_BIT(A2_KEY_M,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("m M") PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')   //!< normal: m    shifted: M
233231   PORT_BIT(A2_KEY_LOCK,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LOCK") PORT_CODE(KEYCODE_SCRLOCK)                     //!< LOCK
234   PORT_BIT(A2_KEY_SPACE,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_E) PORT_CHAR(' ')               //!< SPACE
232   PORT_BIT(A2_KEY_SPACE,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')               //!< SPACE
235233   PORT_BIT(A2_KEY_L,         IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("[ {") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{')   //!< normal: [    shifted: {
236234   PORT_BIT(A2_KEY_EQUALS,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("= +") PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+')   //!< normal: =    shifted: +
237235   PORT_BIT(A2_KEY_RSHIFT,      IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_RSHIFT)                     //!< RSHIFT
r26033r26034
264262INPUT_PORTS_END
265263
266264
267/* F4 character display */
268
269static const gfx_layout alto2_gfx_layout =
270{
271   16, 1,                        /* 16x1 pixels */
272   65536,                        /* 65536 codes */
273   1,                           /* 1 bit per pixel */
274   {0},                        /* no bitplanes */
275   /* x offsets */
276   {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
277   /* y offsets */
278   {0},
279   16                           /* two bytes per code */
280};
281
282
283/* Graphics Decode Information */
284
285static GFXDECODE_START( alto2 )
286   GFXDECODE_ENTRY( "gfx1", 0x0000, alto2_gfx_layout,  0, 2 )
287GFXDECODE_END
288
289
290265/* Palette Initialization */
291266
292267void alto2_state::palette_init()
r26033r26034
307282   MCFG_SCREEN_UPDATE_DRIVER(alto2_state, screen_update)
308283   MCFG_SCREEN_VBLANK_DRIVER(alto2_state, screen_eof_alto2)
309284
310   MCFG_GFXDECODE(alto2)
311285   MCFG_PALETTE_LENGTH(2)
312
313   /* internal ram */
314   MCFG_RAM_ADD(RAM_TAG)
315   MCFG_RAM_DEFAULT_SIZE("256K")
316286MACHINE_CONFIG_END
317287
318288/* ROMs */
319289
320290ROM_START(alto2)
321   ROM_REGION( 01440, "2k_ctrl", 0 )
322   ROMX_LOAD( "2kctl.u3",   00000, 00377, CRC(5f8d89e8) SHA1(487cd944ab074290aea73425e81ef4900d92e250), ROM_NIBBLE)   //!< 3601-1 256x4 BPROM; Emulator address modifier
323   ROMX_LOAD( "2kctl.u76",  00400, 00777, CRC(1edef867) SHA1(928b8a15ac515a99109f32672441832173883b81), ROM_NIBBLE)   //!< 3601-1 256x4 BPROM; 2KCTL replacement for u51 (1KCTL)
324   ROMX_LOAD( "3kcram.a37", 01000, 01377, CRC(9417360d) SHA1(bfcdbc56ee4ffafd0f2f672c0c869a55d6dd194b), ROM_NIBBLE)
325   ROMX_LOAD( "2kctl.u38",  01400, 01437, CRC(fc51b1d1) SHA1(e36c2a12a5da377394264899b5ae504e2ffda46e), 0)            //!< 82S23 32x8 BPROM; task priority and initial address
291   ROM_REGION( 01500, "2k_ctrl", 0 )
292   ROMX_LOAD( "2kctl.u3",   00000, 00400, CRC(5f8d89e8) SHA1(487cd944ab074290aea73425e81ef4900d92e250), ROM_NIBBLE)   //!< 3601-1 256x4 BPROM; Emulator address modifier
293   ROMX_LOAD( "2kctl.u76",  00400, 00400, CRC(1edef867) SHA1(928b8a15ac515a99109f32672441832173883b81), ROM_NIBBLE)   //!< 3601-1 256x4 BPROM; 2KCTL replacement for u51 (1KCTL)
294   ROMX_LOAD( "3kcram.a37", 01000, 00400, CRC(9417360d) SHA1(bfcdbc56ee4ffafd0f2f672c0c869a55d6dd194b), ROM_NIBBLE)
295   ROMX_LOAD( "2kctl.u38",  01400, 00040, CRC(fc51b1d1) SHA1(e36c2a12a5da377394264899b5ae504e2ffda46e), 0)            //!< 82S23 32x8 BPROM; task priority and initial address
296   ROMX_LOAD( "alu.a10",    01440, 00040, CRC(e0857892) SHA1(dcd389767139f0acc1f87cf074459115abc5b90b), ROM_NIBBLE)
326297
327   ROM_REGION16_LE( 0400, "const", 0 )
298   ROM_REGION16_BE( 0400, "const", 0 )
328299   // constant PROMs, 4 x 4bit
329300   // UINT16 src = BITS(addr, 3,2,1,4,5,6,7,0);
330301   // UINT16 u16 = ~((const[src] << 8) | (const[src+0x100));
331302   // m_const[addr] = u16;
332   ROMX_LOAD( "madr.a6",    00000, 00377, CRC(c2c196b2) SHA1(8b2a599ac839ec2a070dbfef2f1626e645c858ca), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 0000-0377 C(00)',C(01)',C(02)',C(03)'
333   ROMX_LOAD( "madr.a5",    00000, 00377, CRC(42336101) SHA1(c77819cf40f063af3abf66ea43f17cc1a62e928b), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 0000-0377 C(04)',C(05)',C(06)',C(07)'
334   ROMX_LOAD( "madr.a4",    00000, 00377, CRC(b957e490) SHA1(c72660ad3ada4ca0ed8697c6bb6275a4fe703184), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 0000-0377 C(08)',C(09)',C(10)',C(11)'
335   ROMX_LOAD( "madr.a3",    00000, 00377, CRC(e0992757) SHA1(5c45ea824970663cb9ee672dc50861539c860249), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 0000-0377 C(12)',C(13)',C(14)',C(15)'
303   ROMX_LOAD( "madr.a6",    00000, 00400, CRC(c2c196b2) SHA1(8b2a599ac839ec2a070dbfef2f1626e645c858ca), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 0000-0377 C(00)',C(01)',C(02)',C(03)'
304   ROMX_LOAD( "madr.a5",    00000, 00400, CRC(42336101) SHA1(c77819cf40f063af3abf66ea43f17cc1a62e928b), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 0000-0377 C(04)',C(05)',C(06)',C(07)'
305   ROMX_LOAD( "madr.a4",    00000, 00400, CRC(b957e490) SHA1(c72660ad3ada4ca0ed8697c6bb6275a4fe703184), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 0000-0377 C(08)',C(09)',C(10)',C(11)'
306   ROMX_LOAD( "madr.a3",    00000, 00400, CRC(e0992757) SHA1(5c45ea824970663cb9ee672dc50861539c860249), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 0000-0377 C(12)',C(13)',C(14)',C(15)'
336307
337#if   0   // FIXME: just different names(?)
338   ROM_REGION16_LE( 0400, "const_alt", 0 )
308#if   0   // FIXME: just different names - the hashes are the same... remove?
309   ROM_REGION16_BE( 0400, "const_alt", 0 )
339310   // alternate constant PROMs, 4 x 4bit
340311   // UINT16 src = BITS(addr, 3,2,1,4,5,6,7,0);
341312   // UINT16 u16 = ~((const[src] << 8) | (const[src+0x100));
342313   // m_const[addr] = u16;
343   ROMX_LOAD( "c3.3",       00000, 00377, CRC(c2c196b2) SHA1(8b2a599ac839ec2a070dbfef2f1626e645c858ca), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 0000-0377 C(00)',C(01)',C(02)',C(03)'
344   ROMX_LOAD( "c2.3",       00000, 00377, CRC(42336101) SHA1(c77819cf40f063af3abf66ea43f17cc1a62e928b), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 0000-0377 C(04)',C(05)',C(06)',C(07)'
345   ROMX_LOAD( "c1.3",       00000, 00377, CRC(b957e490) SHA1(c72660ad3ada4ca0ed8697c6bb6275a4fe703184), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 0000-0377 C(08)',C(09)',C(10)',C(11)'
346   ROMX_LOAD( "c0.3",       00000, 00377, CRC(e0992757) SHA1(5c45ea824970663cb9ee672dc50861539c860249), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 0000-0377 C(12)',C(13)',C(14)',C(15)'
314   ROMX_LOAD( "c3.3",       00000, 00400, CRC(c2c196b2) SHA1(8b2a599ac839ec2a070dbfef2f1626e645c858ca), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 0000-0377 C(00)',C(01)',C(02)',C(03)'
315   ROMX_LOAD( "c2.3",       00000, 00400, CRC(42336101) SHA1(c77819cf40f063af3abf66ea43f17cc1a62e928b), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 0000-0377 C(04)',C(05)',C(06)',C(07)'
316   ROMX_LOAD( "c1.3",       00000, 00400, CRC(b957e490) SHA1(c72660ad3ada4ca0ed8697c6bb6275a4fe703184), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 0000-0377 C(08)',C(09)',C(10)',C(11)'
317   ROMX_LOAD( "c0.3",       00000, 00400, CRC(e0992757) SHA1(5c45ea824970663cb9ee672dc50861539c860249), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 0000-0377 C(12)',C(13)',C(14)',C(15)'
347318#endif
348319
349   ROM_REGION32_LE( 02000, "ucode", ROMREGION_INVERT )
320   ROM_REGION32_BE( 02000, "ucode", ROMREGION_INVERT )
350321   // micro code PROMs, 8 x 4bit
351322   // UINT32 src = addr ^ 0x3ff;
352323   // UINT32 u32 = ~((ucode[src] << 24) | (ucode[src+0x400] << 16) | (ucode[src+0x800] << 8) | (ucode[src+0xc00));
353324   // m_ucode[addr] = u32 ^ ALTO2_UCODE_INVERTED;
354   ROMX_LOAD( "55x.3",      00000, 01777, CRC(de870d75) SHA1(2b98cc769d8302cb39948711424d987d94e4159b), ROM_NIBBLE | ROM_BITSHIFT(28))   //!< 00000-01777 RSEL(0)',RSEL(1)',RSEL(2)',RSEL(3)'
355   ROMX_LOAD( "64x.3",      00000, 01777, CRC(51b444c0) SHA1(8756e51f7f3253a55d75886465beb7ee1be6e1c4), ROM_NIBBLE | ROM_BITSHIFT(24))   //!< 00000-01777 RSEL(4)',ALUF(0)',ALUF(1)',ALUF(2)'
356   ROMX_LOAD( "65x.3",      00000, 01777, CRC(741d1437) SHA1(01f7cf07c2173ac93799b2475180bfbbe7e0149b), ROM_NIBBLE | ROM_BITSHIFT(20))   //!< 00000-01777 ALUF(3)',BS(0)',BS(1)',BS(2)'
357   ROMX_LOAD( "63x.3",      00000, 01777, CRC(f22d5028) SHA1(c65a42baef702d4aff2d9ad8e363daec27de6801), ROM_NIBBLE | ROM_BITSHIFT(16))   //!< 00000-01777 F1(0),F1(1)',F1(2)',F1(3)'
358   ROMX_LOAD( "53x.3",      00000, 01777, CRC(3c89a740) SHA1(95d812d489b2bde03884b2f126f961caa6c8ec45), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 00000-01777 F2(0),F2(1)',F2(2)',F2(3)'
359   ROMX_LOAD( "60x.3",      00000, 01777, CRC(a35de0bf) SHA1(7fa4aead44dcf5393bbfd1706c0ada24aa6fd3ac), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 00000-01777 LOADT',LOADL,NEXT(0)',NEXT(1)'
360   ROMX_LOAD( "61x.3",      00000, 01777, CRC(f25bcb2d) SHA1(acb57f3104a8dc4ba750dd1bf22ccc81cce9f084), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 00000-01777 NEXT(2)',NEXT(3)',NEXT(4)',NEXT(5)'
361   ROMX_LOAD( "62x.3",      00000, 01777, CRC(1b20a63f) SHA1(41dc86438e91c12b0fe42ffcce6b2ac2eb9e714a), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 00000-01777 NEXT(6)',NEXT(7)',NEXT(8)',NEXT(9)'
325   ROMX_LOAD( "55x.3",      00000, 02000, CRC(de870d75) SHA1(2b98cc769d8302cb39948711424d987d94e4159b), ROM_NIBBLE | ROM_BITSHIFT(28))   //!< 00000-01777 RSEL(0)',RSEL(1)',RSEL(2)',RSEL(3)'
326   ROMX_LOAD( "64x.3",      00000, 02000, CRC(51b444c0) SHA1(8756e51f7f3253a55d75886465beb7ee1be6e1c4), ROM_NIBBLE | ROM_BITSHIFT(24))   //!< 00000-01777 RSEL(4)',ALUF(0)',ALUF(1)',ALUF(2)'
327   ROMX_LOAD( "65x.3",      00000, 02000, CRC(741d1437) SHA1(01f7cf07c2173ac93799b2475180bfbbe7e0149b), ROM_NIBBLE | ROM_BITSHIFT(20))   //!< 00000-01777 ALUF(3)',BS(0)',BS(1)',BS(2)'
328   ROMX_LOAD( "63x.3",      00000, 02000, CRC(f22d5028) SHA1(c65a42baef702d4aff2d9ad8e363daec27de6801), ROM_NIBBLE | ROM_BITSHIFT(16))   //!< 00000-01777 F1(0),F1(1)',F1(2)',F1(3)'
329   ROMX_LOAD( "53x.3",      00000, 02000, CRC(3c89a740) SHA1(95d812d489b2bde03884b2f126f961caa6c8ec45), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 00000-01777 F2(0),F2(1)',F2(2)',F2(3)'
330   ROMX_LOAD( "60x.3",      00000, 02000, CRC(a35de0bf) SHA1(7fa4aead44dcf5393bbfd1706c0ada24aa6fd3ac), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 00000-01777 LOADT',LOADL,NEXT(0)',NEXT(1)'
331   ROMX_LOAD( "61x.3",      00000, 02000, CRC(f25bcb2d) SHA1(acb57f3104a8dc4ba750dd1bf22ccc81cce9f084), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 00000-01777 NEXT(2)',NEXT(3)',NEXT(4)',NEXT(5)'
332   ROMX_LOAD( "62x.3",      00000, 02000, CRC(1b20a63f) SHA1(41dc86438e91c12b0fe42ffcce6b2ac2eb9e714a), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 00000-01777 NEXT(6)',NEXT(7)',NEXT(8)',NEXT(9)'
362333
363   ROM_REGION32_LE( 02000, "xm_mesa_5.1", ROMREGION_INVERT )
334   ROM_REGION32_BE( 02000, "xm_mesa_5.1", ROMREGION_INVERT )
364335   // extended memory Mesa 5.1 micro code PROMs, 8 x 4bit
365   ROMX_LOAD( "xm51.u54",   00000, 01777, CRC(11086ae9) SHA1(c394e3fadbfb91801ddc1a70cb25dc6f606c4f76), ROM_NIBBLE | ROM_BITSHIFT(28))   //!< 00000-01777 RSEL(0)',RSEL(1)',RSEL(2)',RSEL(3)'
366   ROMX_LOAD( "xm51.u74",   00000, 01777, CRC(be8224f2) SHA1(ea9abcc3832b26a094319796901237e1e3f238b6), ROM_NIBBLE | ROM_BITSHIFT(24))   //!< 00000-01777 RSEL(4)',ALUF(0)',ALUF(1)',ALUF(2)'
367   ROMX_LOAD( "xm51.u75",   00000, 01777, CRC(dfe3e3ac) SHA1(246fd29f92150a5d5d7627fbb4f2504c7b6cd5ec), ROM_NIBBLE | ROM_BITSHIFT(20))   //!< 00000-01777 ALUF(3)',BS(0)',BS(1)',BS(2)'
368   ROMX_LOAD( "xm51.u73",   00000, 01777, CRC(6c20fa46) SHA1(a054330c65048011f12209aaed5c6da73d95f029), ROM_NIBBLE | ROM_BITSHIFT(16))   //!< 00000-01777 F1(0),F1(1)',F1(2)',F1(3)'
369   ROMX_LOAD( "xm51.u52",   00000, 01777, CRC(0a31eec8) SHA1(4e2ad5daa5e6a6f2143ee4de00c7b625d096fb02), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 00000-01777 F2(0),F2(1)',F2(2)',F2(3)'
370   ROMX_LOAD( "xm51.u70",   00000, 01777, CRC(5c64ee54) SHA1(0eb16d1b5e5967be7c1bf8c8ef6efdf0518a752c), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 00000-01777 LOADT',LOADL,NEXT(0)',NEXT(1)'
371   ROMX_LOAD( "xm51.u71",   00000, 01777, CRC(7283bf71) SHA1(819fdcc407ed0acdd8f12b02db6efbcab7bec19a), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 00000-01777 NEXT(2)',NEXT(3)',NEXT(4)',NEXT(5)'
372   ROMX_LOAD( "xm51.u72",   00000, 01777, CRC(a28e5251) SHA1(44dd8ad4ad56541b5394d30ce3521b4d1d561394), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 00000-01777 NEXT(6)',NEXT(7)',NEXT(8)',NEXT(9)'
336   ROMX_LOAD( "xm51.u54",   00000, 02000, CRC(11086ae9) SHA1(c394e3fadbfb91801ddc1a70cb25dc6f606c4f76), ROM_NIBBLE | ROM_BITSHIFT(28))   //!< 00000-01777 RSEL(0)',RSEL(1)',RSEL(2)',RSEL(3)'
337   ROMX_LOAD( "xm51.u74",   00000, 02000, CRC(be8224f2) SHA1(ea9abcc3832b26a094319796901237e1e3f238b6), ROM_NIBBLE | ROM_BITSHIFT(24))   //!< 00000-01777 RSEL(4)',ALUF(0)',ALUF(1)',ALUF(2)'
338   ROMX_LOAD( "xm51.u75",   00000, 02000, CRC(dfe3e3ac) SHA1(246fd29f92150a5d5d7627fbb4f2504c7b6cd5ec), ROM_NIBBLE | ROM_BITSHIFT(20))   //!< 00000-01777 ALUF(3)',BS(0)',BS(1)',BS(2)'
339   ROMX_LOAD( "xm51.u73",   00000, 02000, CRC(6c20fa46) SHA1(a054330c65048011f12209aaed5c6da73d95f029), ROM_NIBBLE | ROM_BITSHIFT(16))   //!< 00000-01777 F1(0),F1(1)',F1(2)',F1(3)'
340   ROMX_LOAD( "xm51.u52",   00000, 02000, CRC(0a31eec8) SHA1(4e2ad5daa5e6a6f2143ee4de00c7b625d096fb02), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 00000-01777 F2(0),F2(1)',F2(2)',F2(3)'
341   ROMX_LOAD( "xm51.u70",   00000, 02000, CRC(5c64ee54) SHA1(0eb16d1b5e5967be7c1bf8c8ef6efdf0518a752c), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 00000-01777 LOADT',LOADL,NEXT(0)',NEXT(1)'
342   ROMX_LOAD( "xm51.u71",   00000, 02000, CRC(7283bf71) SHA1(819fdcc407ed0acdd8f12b02db6efbcab7bec19a), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 00000-01777 NEXT(2)',NEXT(3)',NEXT(4)',NEXT(5)'
343   ROMX_LOAD( "xm51.u72",   00000, 02000, CRC(a28e5251) SHA1(44dd8ad4ad56541b5394d30ce3521b4d1d561394), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 00000-01777 NEXT(6)',NEXT(7)',NEXT(8)',NEXT(9)'
373344
374   ROM_REGION32_LE( 02000, "xm_mesa_4.1", ROMREGION_INVERT )
345   ROM_REGION32_BE( 02000, "xm_mesa_4.1", ROMREGION_INVERT )
375346   // extended memory Mesa 4.1 (?) micro code PROMs, 8 x 4bit
376   ROMX_LOAD( "xm654.41",   00000, 01777, CRC(beace302) SHA1(0002fea03a0261f57365095c4b87385d833f7063), ROM_NIBBLE | ROM_BITSHIFT(28))   //!< 00000-01777 RSEL(0)',RSEL(1)',RSEL(2)',RSEL(3)'
377   ROMX_LOAD( "xm674.41",   00000, 01777, CRC(7db5c097) SHA1(364bc41951baa3ad274031bd49abec1cf5b7a980), ROM_NIBBLE | ROM_BITSHIFT(24))   //!< 00000-01777 RSEL(4)',ALUF(0)',ALUF(1)',ALUF(2)'
378   ROMX_LOAD( "xm675.41",   00000, 01777, CRC(26eac1e7) SHA1(9220a1386afae8de96bdb2cf084afbadeeb61d42), ROM_NIBBLE | ROM_BITSHIFT(20))   //!< 00000-01777 ALUF(3)',BS(0)',BS(1)',BS(2)'
379   ROMX_LOAD( "xm673.41",   00000, 01777, CRC(8173d7e3) SHA1(7fbacf6dccb60dfe9cef88a248c3a1660efddcf4), ROM_NIBBLE | ROM_BITSHIFT(16))   //!< 00000-01777 F1(0),F1(1)',F1(2)',F1(3)'
380   ROMX_LOAD( "xm652.41",   00000, 01777, CRC(ddfa94bb) SHA1(38625e269400aaf38cd07b5dbf36c0087a0f1b92), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 00000-01777 F2(0),F2(1)',F2(2)',F2(3)'
381   ROMX_LOAD( "xm670.41",   00000, 01777, CRC(1cd187f3) SHA1(0fd5eff7c6b5c2383aa20148a795b80286554675), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 00000-01777 LOADT',LOADL,NEXT(0)',NEXT(1)'
382   ROMX_LOAD( "xm671.41",   00000, 01777, CRC(f21b1ad7) SHA1(1e18bdb35de7802892ac373c128f900786d40886), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 00000-01777 NEXT(2)',NEXT(3)',NEXT(4)',NEXT(5)'
383   ROMX_LOAD( "xm672.41",   00000, 01777, CRC(110ee075) SHA1(bb72fceba5ce9e5e8c8a0024915006bdd011a3f3), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 00000-01777 NEXT(6)',NEXT(7)',NEXT(8)',NEXT(9)'
347   ROMX_LOAD( "xm654.41",   00000, 02000, CRC(beace302) SHA1(0002fea03a0261f57365095c4b87385d833f7063), ROM_NIBBLE | ROM_BITSHIFT(28))   //!< 00000-01777 RSEL(0)',RSEL(1)',RSEL(2)',RSEL(3)'
348   ROMX_LOAD( "xm674.41",   00000, 02000, CRC(7db5c097) SHA1(364bc41951baa3ad274031bd49abec1cf5b7a980), ROM_NIBBLE | ROM_BITSHIFT(24))   //!< 00000-01777 RSEL(4)',ALUF(0)',ALUF(1)',ALUF(2)'
349   ROMX_LOAD( "xm675.41",   00000, 02000, CRC(26eac1e7) SHA1(9220a1386afae8de96bdb2cf084afbadeeb61d42), ROM_NIBBLE | ROM_BITSHIFT(20))   //!< 00000-01777 ALUF(3)',BS(0)',BS(1)',BS(2)'
350   ROMX_LOAD( "xm673.41",   00000, 02000, CRC(8173d7e3) SHA1(7fbacf6dccb60dfe9cef88a248c3a1660efddcf4), ROM_NIBBLE | ROM_BITSHIFT(16))   //!< 00000-01777 F1(0),F1(1)',F1(2)',F1(3)'
351   ROMX_LOAD( "xm652.41",   00000, 02000, CRC(ddfa94bb) SHA1(38625e269400aaf38cd07b5dbf36c0087a0f1b92), ROM_NIBBLE | ROM_BITSHIFT(12))   //!< 00000-01777 F2(0),F2(1)',F2(2)',F2(3)'
352   ROMX_LOAD( "xm670.41",   00000, 02000, CRC(1cd187f3) SHA1(0fd5eff7c6b5c2383aa20148a795b80286554675), ROM_NIBBLE | ROM_BITSHIFT( 8))   //!< 00000-01777 LOADT',LOADL,NEXT(0)',NEXT(1)'
353   ROMX_LOAD( "xm671.41",   00000, 02000, CRC(f21b1ad7) SHA1(1e18bdb35de7802892ac373c128f900786d40886), ROM_NIBBLE | ROM_BITSHIFT( 4))   //!< 00000-01777 NEXT(2)',NEXT(3)',NEXT(4)',NEXT(5)'
354   ROMX_LOAD( "xm672.41",   00000, 02000, CRC(110ee075) SHA1(bb72fceba5ce9e5e8c8a0024915006bdd011a3f3), ROM_NIBBLE | ROM_BITSHIFT( 0))   //!< 00000-01777 NEXT(6)',NEXT(7)',NEXT(8)',NEXT(9)'
384355
385356   ROM_REGION( 01040, "displ", 0 )
386   ROMX_LOAD( "displ.a38",  00000, 00377, CRC(fd30beb7) SHA1(65e4a19ba4ff748d525122128c514abedd55d866), ROM_NIBBLE)   //!< P3601 256x4 BPROM; display FIFO control: STOPWAKE, MBEMPTY
387   ROMX_LOAD( "displ.a66",  00400, 00777, CRC(9f91aad9) SHA1(69b1d4c71f4e18103112e8601850c2654e9265cf), ROM_NIBBLE)   //!< P3601 256x4 BPROM; display VSYNC and VBLANK
388   ROMX_LOAD( "displ.a63",  01000, 01037, CRC(82a20d60) SHA1(39d90703568be5419ada950e112d99227873fdea), 0)            //!< 82S23 32x8 BPROM; display HBLANK, HSYNC, SCANEND, HLCGATE ...
357   ROMX_LOAD( "displ.a38",  00000, 00400, CRC(fd30beb7) SHA1(65e4a19ba4ff748d525122128c514abedd55d866), ROM_NIBBLE)   //!< P3601 256x4 BPROM; display FIFO control: STOPWAKE, MBEMPTY
358   ROMX_LOAD( "displ.a66",  00400, 00400, CRC(9f91aad9) SHA1(69b1d4c71f4e18103112e8601850c2654e9265cf), ROM_NIBBLE)   //!< P3601 256x4 BPROM; display VSYNC and VBLANK
359   ROMX_LOAD( "displ.a63",  01000, 00040, CRC(82a20d60) SHA1(39d90703568be5419ada950e112d99227873fdea), 0)            //!< 82S23 32x8 BPROM; display HBLANK, HSYNC, SCANEND, HLCGATE ...
389360
390361   ROM_REGION( 01400, "ether", 0 )
391   ROMX_LOAD( "enet.a41",   00000, 00377, CRC(d5de8d86) SHA1(c134a4c898c73863124361a9b0218f7a7f00082a), ROM_NIBBLE)
392   ROMX_LOAD( "enet.a42",   00400, 00777, CRC(9d5c81bd) SHA1(ac7e63332a3dad0bef7cd0349b24e156a96a4bf0), ROM_NIBBLE)
393   ROMX_LOAD( "enet.a49",   01000, 01377, CRC(4d2dcdb2) SHA1(583327a7d70cd02702c941c0e43c1e9408ff7fd0), ROM_NIBBLE)
362   ROMX_LOAD( "enet.a41",   00000, 00400, CRC(d5de8d86) SHA1(c134a4c898c73863124361a9b0218f7a7f00082a), ROM_NIBBLE)
363   ROMX_LOAD( "enet.a42",   00400, 00400, CRC(9d5c81bd) SHA1(ac7e63332a3dad0bef7cd0349b24e156a96a4bf0), ROM_NIBBLE)
364   ROMX_LOAD( "enet.a49",   01000, 00400, CRC(4d2dcdb2) SHA1(583327a7d70cd02702c941c0e43c1e9408ff7fd0), ROM_NIBBLE)
394365
395   ROM_REGION( 0x0300, "memory", 0 )
396   ROMX_LOAD( "madr.a32",   0x0000, 0x00ff, CRC(a0e3b4a7) SHA1(24e50afdeb637a6a8588f8d3a3493c9188b8da2c), ROM_NIBBLE)   //! P3601 256x4 BPROM; mouse motion signals MX1, MX2, MY1, MY2
397   ROMX_LOAD( "madr.a64",   0x0100, 0x01ff, CRC(a66b0eda) SHA1(4d9088f592caa3299e90966b17765be74e523144), ROM_NIBBLE)   //! P3601 256x4 BPROM; memory addressing
398   ROMX_LOAD( "madr.a65",   0x0200, 0x02ff, CRC(ba37febd) SHA1(82e9db1cb65f451755295f0d179e6f8fe3349d4d), ROM_NIBBLE)   //! P3601 256x4 BPROM; memory addressing
399   ROMX_LOAD( "madr.a90",   0x0300, 0x03ff, CRC(7a2d8799) SHA1(c3760dba147740729d33b9b88e59088a4cc7437a), ROM_NIBBLE)
400   ROMX_LOAD( "madr.a91",   0x0400, 0x04ff, CRC(dd556aeb) SHA1(900f333a091e3ccde0843019c25f25fba62e6023), ROM_NIBBLE)
366   ROM_REGION( 02400, "memory", 0 )
367   ROMX_LOAD( "madr.a32",   00000, 00400, CRC(a0e3b4a7) SHA1(24e50afdeb637a6a8588f8d3a3493c9188b8da2c), ROM_NIBBLE)   //! P3601 256x4 BPROM; mouse motion signals MX1, MX2, MY1, MY2
368   ROMX_LOAD( "madr.a64",   00400, 00400, CRC(a66b0eda) SHA1(4d9088f592caa3299e90966b17765be74e523144), ROM_NIBBLE)   //! P3601 256x4 BPROM; memory addressing
369   ROMX_LOAD( "madr.a65",   01000, 00400, CRC(ba37febd) SHA1(82e9db1cb65f451755295f0d179e6f8fe3349d4d), ROM_NIBBLE)   //! P3601 256x4 BPROM; memory addressing
370   ROMX_LOAD( "madr.a90",   01400, 00400, CRC(7a2d8799) SHA1(c3760dba147740729d33b9b88e59088a4cc7437a), ROM_NIBBLE)
371   ROMX_LOAD( "madr.a91",   02000, 00400, CRC(dd556aeb) SHA1(900f333a091e3ccde0843019c25f25fba62e6023), ROM_NIBBLE)
372
373   ROM_REGION( ALTO2_RAM_SIZE, "io", 0 )
401374ROM_END
402375
403376/* Game Drivers */
404377
405378//    YEAR  NAME    PARENT  COMPAT  MACHINE  INPUT  CLASS        INIT   COMPANY  FULLNAME   FLAGS
406COMP( 1974, alto2,  0,      0,      alto2,   alto2, alto2_state, alto2, "Xerox", "Alto-II", GAME_NOT_WORKING )
379COMP( 1974, alto2,  0,      0,      alto2,   alto2, alto2_state, alto2, "Xerox", "Alto-II", GAME_NOT_WORKING | GAME_NO_SOUND )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team