Previous 15994 Revisions Next

r7464 Thursday 25th February, 2010 at 18:18:53 UTC by Curt Coder
Added skeleton driver for Sanyo PHC-25.
[docs]messnew.txt
[src/mess]mess.mak messdriv.c
[src/mess/drivers]phc25.c*

src/mess/messdriv.c
r7463r7464
16701670   DRIVER( rvoicepc )
16711671   DRIVER( vcc )
16721672   DRIVER( victor9k )
1673   DRIVER( phc25 )
16731674
16741675#endif /* DRIVER_RECURSIVE */
src/mess/mess.mak
r7463r7464
361361   $(MESSOBJ)/rockwell.a \
362362   $(MESSOBJ)/samcoupe.a \
363363   $(MESSOBJ)/samsung.a \
364   $(MESSOBJ)/sanyo.a \
364365   $(MESSOBJ)/sega.a \
365366   $(MESSOBJ)/sgi.a \
366367   $(MESSOBJ)/sharp.a \
r7463r7464
550551   $(MESS_DRIVERS)/apricot.o   \
551552   $(MESS_DRIVERS)/apricotf.o   \
552553   $(MESS_FORMATS)/apridisk.o   \
554   $(MESS_DRIVERS)/victor9k.o   \
553555
554556$(MESSOBJ)/amiga.a:            \
555557   $(MAME_VIDEO)/amiga.o      \
r7463r7464
12591261$(MESSOBJ)/samsung.a:         \
12601262   $(MESS_DRIVERS)/spc1000.o   \
12611263
1264$(MESSOBJ)/sanyo.a:            \
1265   $(MESS_DRIVERS)/phc25.o      \
1266
12621267$(MESSOBJ)/sega.a:            \
12631268   $(MESS_DRIVERS)/genesis.o   \
12641269   $(MESS_MACHINE)/genesis.o   \
r7463r7464
16111616   $(MESS_DRIVERS)/eti660.o   \
16121617   $(MESS_DRIVERS)/rvoice.o   \
16131618   $(MESS_DRIVERS)/fidelz80.o   \
1614   $(MESS_DRIVERS)/victor9k.o   \
16151619
16161620
16171621
src/mess/drivers/phc25.c
r0r7464
1/***************************************************************************
2 
3        Sanyo PHC-25
4 
5        Skeleton driver.
6 
7****************************************************************************/
8 
9/*
10 
11   http://www.geocities.jp/sanyo_phc_25/
12 
13   Z80 @ 4 MHz
14   MC6847 video
15   3x 8KB bios ROM
16   1x 4KB chargen ROM
17   16KB RAM
18   6KB video RAM
19 
20*/
21 
22#include "emu.h"
23#include "cpu/z80/z80.h"
24#include "devices/messram.h"
25#include "video/m6847.h"
26#include "sound/ay8910.h"
27 
28 
29static ADDRESS_MAP_START(phc25_mem, ADDRESS_SPACE_PROGRAM, 8)
30   ADDRESS_MAP_UNMAP_HIGH
31   AM_RANGE(0x0000, 0x5fff) AM_ROM
32   AM_RANGE(0x8000, 0xbfff) AM_RAM
33   AM_RANGE(0xe800, 0xffff) AM_RAM // video RAM
34ADDRESS_MAP_END
35 
36static ADDRESS_MAP_START(phc25_io, ADDRESS_SPACE_IO, 8)
37   ADDRESS_MAP_UNMAP_HIGH
38   ADDRESS_MAP_GLOBAL_MASK(0x80)
39//   AM_RANGE(0x40, 0x40) 6847
40//   AM_RANGE(0x80, 0x88) keyboard
41//   AM_RANGE(0xc0, 0xc1) PSG
42ADDRESS_MAP_END
43 
44/* Input ports */
45INPUT_PORTS_START( phc25 )
46INPUT_PORTS_END
47 
48 
49static MACHINE_RESET(phc25)
50{
51}
52 
53static VIDEO_START( phc25 )
54{
55}
56 
57static VIDEO_UPDATE( phc25 )
58{
59    return 0;
60}
61 
62static const mc6847_interface mc6847_intf =
63{
64   DEVCB_NULL,
65   DEVCB_NULL,
66   DEVCB_NULL,
67   DEVCB_NULL,
68   DEVCB_NULL,
69   DEVCB_NULL,
70   DEVCB_NULL,
71   DEVCB_NULL,
72   DEVCB_NULL,
73   DEVCB_NULL,
74   DEVCB_NULL,
75   DEVCB_NULL
76};
77 
78static const ay8910_interface ay8910_intf =
79{
80   AY8910_LEGACY_OUTPUT,
81   AY8910_DEFAULT_LOADS,
82   DEVCB_NULL,
83   DEVCB_NULL,
84   DEVCB_NULL,
85   DEVCB_NULL
86};
87 
88static MACHINE_DRIVER_START( phc25 )
89    /* basic machine hardware */
90    MDRV_CPU_ADD("maincpu", Z80, XTAL_4MHz)
91    MDRV_CPU_PROGRAM_MAP(phc25_mem)
92    MDRV_CPU_IO_MAP(phc25_io)
93 
94    MDRV_MACHINE_RESET(phc25)
95 
96    /* video hardware */
97    MDRV_SCREEN_ADD("screen", RASTER)
98    MDRV_SCREEN_REFRESH_RATE(50)
99    MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
100    MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
101    MDRV_SCREEN_SIZE(640, 480)
102    MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
103    MDRV_PALETTE_LENGTH(2)
104    MDRV_PALETTE_INIT(black_and_white)
105 
106    MDRV_VIDEO_START(phc25)
107    MDRV_VIDEO_UPDATE(phc25)
108 
109   MDRV_MC6847_ADD("mc6847", mc6847_intf)
110    MDRV_MC6847_TYPE(M6847_VERSION_ORIGINAL_NTSC)
111 
112   /* sound hardware */
113   MDRV_SPEAKER_STANDARD_MONO("mono")
114   MDRV_SOUND_ADD("ay8910", AY8910, 3579545/2)
115   MDRV_SOUND_CONFIG(ay8910_intf)
116   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
117   
118   /* internal ram */
119   MDRV_RAM_ADD("messram")
120   MDRV_RAM_DEFAULT_SIZE("16K")
121MACHINE_DRIVER_END
122 
123/* ROM definition */
124ROM_START( phc25 )
125    ROM_REGION( 0x8000, "maincpu", 0 )
126   ROM_LOAD( "phc25rom.bin", 0x0000, 0x6000, CRC(c442ed57) SHA1(af0a6a6be8e48a56b6960f89c76bad6320ea0f55))
127 
128    ROM_REGION( 0x1000, "chargen", 0 )
129   ROM_LOAD( "chargen.bin", 0x0000, 0x1000, NO_DUMP)
130ROM_END
131 
132/* Driver */
133 
134/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT     COMPANY   FULLNAME       FLAGS */
135COMP( 1983, phc25,  0,       0,   phc25,    phc25,     0,   "Sanyo",   "PHC-25",      GAME_NOT_WORKING | GAME_NO_SOUND)
136 
docs/messnew.txt
r7463r7464
3131- Digital Microsystems DMS-86
3232- Digital Microsystems DMS-5000
3333- Digital Microsystems ZSBC-3
34- Sanyo PHC-25 [Gilles Fetis, Curt Coder]
3435- Tandy 2000 [Curt Coder]
3536- TRS-80 Model II [Curt Coder]
3637- TRS-80 Model II/16 [Curt Coder]

Previous 15994 Revisions Next


© 1998-2018 The MESS Team