Previous 15994 Revisions Next

r7646 Friday 26th March, 2010 at 16:40:28 UTC by Angelo Salese
Separated the Sharp MZ-2500 into it's own driver
[src/mess]mess.mak
[src/mess/drivers]mz2500.c* mz700.c

src/mess/mess.mak
r7645r7646
13141314   $(MESS_MACHINE)/mz80.o      \
13151315   $(MESS_DRIVERS)/x1.o      \
13161316   $(MESS_FORMATS)/x1_tap.o   \
1317   $(MESS_DRIVERS)/mz2500.o   \
13171318
1319
13181320$(MESSOBJ)/sinclair.a:         \
13191321   $(MESS_VIDEO)/border.o      \
13201322   $(MESS_VIDEO)/spectrum.o   \
src/mess/drivers/mz2500.c
r0r7646
1/***************************************************************************
2
3    Sharp MZ-2500 (c) 1985 Sharp Corporation
4
5    26/03/2010 Skeleton driver.
6
7****************************************************************************/
8
9#include "emu.h"
10#include "cpu/z80/z80.h"
11
12static VIDEO_START( mz2500 )
13{
14}
15
16static VIDEO_UPDATE( mz2500 )
17{
18    return 0;
19}
20
21static ADDRESS_MAP_START(mz2500_map, ADDRESS_SPACE_PROGRAM, 8)
22   AM_RANGE(0x00000,0x7fff) AM_ROM
23ADDRESS_MAP_END
24
25static ADDRESS_MAP_START(mz2500_io, ADDRESS_SPACE_PROGRAM, 8)
26ADDRESS_MAP_END
27
28/* Input ports */
29static INPUT_PORTS_START( mz2500 )
30INPUT_PORTS_END
31
32
33static MACHINE_RESET(mz2500)
34{
35}
36
37static const gfx_layout mz2500_cg_layout =
38{
39   8, 8,      /* 8 x 8 graphics */
40   256,      /* 512 codes */
41   1,      /* 1 bit per pixel */
42   { 0 },      /* no bitplanes */
43   { 0, 1, 2, 3, 4, 5, 6, 7 },
44   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
45   8 * 8      /* code takes 8 times 8 bits */
46};
47
48/* gfx1 is mostly 16x16, but there are some 8x8 characters */
49static const gfx_layout mz2500_8_layout =
50{
51   8, 8,      /* 8 x 8 graphics */
52   1920,      /* 1920 codes */
53   1,      /* 1 bit per pixel */
54   { 0 },      /* no bitplanes */
55   { 0, 1, 2, 3, 4, 5, 6, 7 },
56   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
57   8 * 8      /* code takes 8 times 8 bits */
58};
59
60static const gfx_layout mz2500_16_layout =
61{
62   16, 16,      /* 16 x 16 graphics */
63   8192,      /* 8192 codes */
64   1,      /* 1 bit per pixel */
65   { 0 },      /* no bitplanes */
66   { 0, 1, 2, 3, 4, 5, 6, 7, 128, 129, 130, 131, 132, 133, 134, 135 },
67   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
68   16 * 16      /* code takes 16 times 16 bits */
69};
70
71static GFXDECODE_START( mz2500 )
72   GFXDECODE_ENTRY("cgrom", 0, mz2500_cg_layout, 0, 256)
73   GFXDECODE_ENTRY("gfx1", 0x4400, mz2500_8_layout, 0, 256)   // for viewer only
74   GFXDECODE_ENTRY("gfx1", 0, mz2500_16_layout, 0, 256)      // for viewer only
75GFXDECODE_END
76
77static MACHINE_DRIVER_START( mz2500 )
78    /* basic machine hardware */
79    MDRV_CPU_ADD("maincpu", Z80, 6000000)
80    MDRV_CPU_PROGRAM_MAP(mz2500_map)
81
82    MDRV_MACHINE_RESET(mz2500)
83
84   /* video hardware */
85   MDRV_SCREEN_ADD("screen", RASTER)
86   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
87   MDRV_SCREEN_RAW_PARAMS(XTAL_17_73447MHz/2, 568, 0, 40*8, 312, 0, 25*8)
88   MDRV_PALETTE_LENGTH(256*2)
89//   MDRV_PALETTE_INIT(black_and_white)
90
91   MDRV_GFXDECODE(mz2500)
92
93    MDRV_VIDEO_START(mz2500)
94    MDRV_VIDEO_UPDATE(mz2500)
95MACHINE_DRIVER_END
96
97/* ROM definition */
98ROM_START( mz2500 )
99   ROM_REGION( 0x8000, "maincpu", 0 )
100   ROM_LOAD( "ipl.rom", 0x0000, 0x8000, CRC(7a659f20) SHA1(ccb3cfdf461feea9db8d8d3a8815f7e345d274f7) )
101
102   ROM_REGION( 0x1000, "cgrom", 0 )
103   ROM_LOAD( "cg.rom", 0x0000, 0x0800, CRC(a082326f) SHA1(dfa1a797b2159838d078650801c7291fa746ad81) )
104
105   ROM_REGION( 0x40000, "gfx1", 0 )
106   ROM_LOAD( "kanji.rom", 0x0000, 0x40000, CRC(dd426767) SHA1(cc8fae0cd1736bc11c110e1c84d3f620c5e35b80) )
107
108   ROM_REGION( 0x40000, "dictionary", 0 )
109   ROM_LOAD( "dict.rom", 0x00000, 0x40000, CRC(aa957c2b) SHA1(19a5ba85055f048a84ed4e8d471aaff70fcf0374) )
110ROM_END
111
112/* Driver */
113
114COMP( 1985, mz2500,   0,        0,      mz2500,   mz2500,        0,      "Sharp",     "MZ-2500", GAME_NOT_WORKING | GAME_NO_SOUND)
src/mess/drivers/mz700.c
r7645r7646
141141   AM_RANGE(0xfe, 0xff) AM_DEVREADWRITE("z80pio", z80pio_d_r, z80pio_d_w)
142142ADDRESS_MAP_END
143143
144
145static ADDRESS_MAP_START( mz2500_mem, ADDRESS_SPACE_PROGRAM, 8 )
146ADDRESS_MAP_END
147
148static ADDRESS_MAP_START( mz2500_io, ADDRESS_SPACE_IO, 8 )
149   ADDRESS_MAP_GLOBAL_MASK(0xff)
150ADDRESS_MAP_END
151
152144/***************************************************************************
153145    INPUT PORTS
154146***************************************************************************/
r7645r7646
315307   8 * 8      /* code takes 8 times 8 bits */
316308};
317309
318static const gfx_layout mz2500_cg_layout =
319{
320   8, 8,      /* 8 x 8 graphics */
321   256,      /* 512 codes */
322   1,      /* 1 bit per pixel */
323   { 0 },      /* no bitplanes */
324   { 0, 1, 2, 3, 4, 5, 6, 7 },
325   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
326   8 * 8      /* code takes 8 times 8 bits */
327};
328
329/* gfx1 is mostly 16x16, but there are some 8x8 characters */
330static const gfx_layout mz2500_8_layout =
331{
332   8, 8,      /* 8 x 8 graphics */
333   1920,      /* 1920 codes */
334   1,      /* 1 bit per pixel */
335   { 0 },      /* no bitplanes */
336   { 0, 1, 2, 3, 4, 5, 6, 7 },
337   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
338   8 * 8      /* code takes 8 times 8 bits */
339};
340
341static const gfx_layout mz2500_16_layout =
342{
343   16, 16,      /* 16 x 16 graphics */
344   8192,      /* 8192 codes */
345   1,      /* 1 bit per pixel */
346   { 0 },      /* no bitplanes */
347   { 0, 1, 2, 3, 4, 5, 6, 7, 128, 129, 130, 131, 132, 133, 134, 135 },
348   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
349   16 * 16      /* code takes 16 times 16 bits */
350};
351
352310static GFXDECODE_START( mz700 )
353311   GFXDECODE_ENTRY("cgrom", 0, mz700_layout, 0, 256)
354312GFXDECODE_END
r7645r7646
358316   GFXDECODE_ENTRY("monitor", 0x1000, mz700_layout, 0, 256)   // for mz800 viewer only
359317GFXDECODE_END
360318
361static GFXDECODE_START( mz2500 )
362   GFXDECODE_ENTRY("cgrom", 0, mz2500_cg_layout, 0, 256)
363   GFXDECODE_ENTRY("gfx1", 0x4400, mz2500_8_layout, 0, 256)   // for viewer only
364   GFXDECODE_ENTRY("gfx1", 0, mz2500_16_layout, 0, 256)      // for viewer only
365GFXDECODE_END
366
367
368319/***************************************************************************
369320    MACHINE DRIVERS
370321***************************************************************************/
r7645r7646
445396MACHINE_DRIVER_END
446397
447398
448static VIDEO_START( mz2500 )
449{
450}
451
452static VIDEO_UPDATE( mz2500 )
453{
454    return 0;
455}
456
457static MACHINE_DRIVER_START( mz2500 )
458   /* basic machine hardware */
459   MDRV_CPU_ADD("maincpu", Z80, 6000000)   /* 6MHz - unsure about the exact crystal */
460   MDRV_CPU_PROGRAM_MAP(mz2500_mem)
461   MDRV_CPU_IO_MAP(mz2500_io)
462
463   /* video hardware */
464   MDRV_SCREEN_ADD("screen", RASTER)
465   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
466   MDRV_SCREEN_RAW_PARAMS(XTAL_17_73447MHz/2, 568, 0, 40*8, 312, 0, 25*8)
467
468   MDRV_GFXDECODE(mz2500)
469   MDRV_PALETTE_LENGTH(256*2)
470   MDRV_PALETTE_INIT(mz700)
471
472   MDRV_VIDEO_START(mz2500)
473   MDRV_VIDEO_UPDATE(mz2500)
474MACHINE_DRIVER_END
475
476
477
478399/***************************************************************************
479400    ROM DEFINITIONS
480401***************************************************************************/
r7645r7646
505426   ROM_LOAD( "1z-009b.rom", 0x0000, 0x1000, CRC(ab1fbe6f) SHA1(7b10d7965c541393e33a265bcf71a00314d2db7a) )
506427ROM_END
507428
508ROM_START( mz2500 )
509   ROM_REGION( 0x8000, "monitor", 0 )
510   ROM_LOAD( "ipl.rom", 0x0000, 0x8000, CRC(7a659f20) SHA1(ccb3cfdf461feea9db8d8d3a8815f7e345d274f7) )
511
512   ROM_REGION( 0x1000, "cgrom", 0 )
513   ROM_LOAD( "cg.rom", 0x0000, 0x0800, CRC(a082326f) SHA1(dfa1a797b2159838d078650801c7291fa746ad81) )
514
515   ROM_REGION( 0x40000, "gfx1", 0 )
516   ROM_LOAD( "kanji.rom", 0x0000, 0x40000, CRC(dd426767) SHA1(cc8fae0cd1736bc11c110e1c84d3f620c5e35b80) )
517
518   ROM_REGION( 0x40000, "dictionary", 0 )
519   ROM_LOAD( "dict.rom", 0x00000, 0x40000, CRC(aa957c2b) SHA1(19a5ba85055f048a84ed4e8d471aaff70fcf0374) )
520ROM_END
521
522429/***************************************************************************
523430    GAME DRIVERS
524431***************************************************************************/
r7645r7646
528435COMP( 1982, mz700j,   mz700,    0,      mz700,    mz700,    mz700,  "Sharp",     "MZ-700 (Japan)", 0 )
529436COMP( 1984, mz800,    0,        0,      mz800,    mz800,    mz800,  "Sharp",     "MZ-800", GAME_NOT_WORKING )
530437COMP( 1984, mz1500,   0,        0,      mz800,    mz800,    mz800,  "Sharp",     "MZ-1500", GAME_NOT_WORKING )   // Japanese version of the MZ-800
531
532// MZ-2500 probably needs a separate driver...
533COMP( 1985, mz2500,   0,        0,      mz2500,   0,        0,      "Sharp",     "MZ-2500", GAME_NOT_WORKING | GAME_NO_SOUND)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team