Previous 15994 Revisions Next

r989 Sunday 16th September, 2007 at 21:09:08 UTC by Wilbert Pol
[PCE] Supergrafx driver. Driver is still marked as not-working because I haven't worked out all the details yet.
[src/mess/drivers]pce.c
[src/mess/includes]pce.h
[src/mess/machine]pce.c

src/mess/includes/pce.h
r988r989
3636extern struct pce_struct pce;
3737DRIVER_INIT( pce );
3838DRIVER_INIT( tg16 );
39DRIVER_INIT( sgx );
3940#endif
src/mess/machine/pce.c
r988r989
144144   pce.io_port_options = NO_CD_SIG | TG_16_JOY_SIG | CONST_SIG;
145145}
146146
147DRIVER_INIT( sgx ) {
148   pce.io_port_options = NO_CD_SIG | PCE_JOY_SIG | CONST_SIG;
149}
150
147151/* todo: how many input ports does the PCE have? */
148152WRITE8_HANDLER ( pce_joystick_w )
149153{
src/mess/drivers/pce.c
r988r989
1515- sprite precaching
1616- rewrite the base renderer loop
1717- Add CD support
18- SuperGrafix Driver
1918- Add 6 button joystick support
2019- Add 263 line mode
2120- Sprite DMA should use vdc VRAM functions
r988r989
5857   AM_RANGE( 0x00, 0x03) AM_READWRITE( vdc_0_r, vdc_0_w )
5958ADDRESS_MAP_END
6059
60ADDRESS_MAP_START( sgx_mem , ADDRESS_SPACE_PROGRAM, 8)
61   AM_RANGE( 0x000000, 0x07FFFF) AM_ROMBANK(1)
62   AM_RANGE( 0x080000, 0x0FFFFF) AM_ROMBANK(2)
63   AM_RANGE( 0x100000, 0x1EDFFF) AM_ROMBANK(3)
64   AM_RANGE( 0x1EE000, 0x1EFFFF) AM_RAM AM_BASE( &pce_nvram )
65   AM_RANGE( 0x1F0000, 0x1F7FFF) AM_RAM AM_BASE( &pce_user_ram )
66   AM_RANGE( 0x1FE000, 0x1FE007) AM_READWRITE( vdc_0_r, vdc_0_w ) AM_MIRROR(0x03E0)
67   AM_RANGE( 0x1FE008, 0x1FE00F) AM_READWRITE( vpc_r, vpc_w ) AM_MIRROR(0x03E0)
68   AM_RANGE( 0x1FE010, 0x1FE017) AM_READWRITE( vdc_1_r, vdc_1_w ) AM_MIRROR(0x03E0)
69   AM_RANGE( 0x1FE400, 0x1FE7FF) AM_READWRITE( vce_r, vce_w )
70   AM_RANGE( 0x1FE800, 0x1FEBFF) AM_READWRITE( C6280_r, C6280_0_w )
71   AM_RANGE( 0x1FEC00, 0x1FEFFF) AM_READWRITE( H6280_timer_r, H6280_timer_w )
72   AM_RANGE( 0x1FF000, 0x1FF3FF) AM_READWRITE( pce_joystick_r, pce_joystick_w )
73   AM_RANGE( 0x1FF400, 0x1FF7FF) AM_READWRITE( H6280_irq_status_r, H6280_irq_status_w )
74   AM_RANGE( 0x1FF800, 0x1FFBFF) AM_READWRITE( pce_cd_intf_r, pce_cd_intf_w )
75ADDRESS_MAP_END
76
77ADDRESS_MAP_START( sgx_io , ADDRESS_SPACE_IO, 8)
78   AM_RANGE( 0x00, 0x03) AM_READWRITE( sgx_vdc_r, sgx_vdc_w )
79ADDRESS_MAP_END
80
6181/* todo: alternate forms of input (multitap, mouse, etc.) */
6282INPUT_PORTS_START( pce )
6383
r988r989
145165   MDRV_SOUND_ROUTE(1, "right", 1.00)
146166MACHINE_DRIVER_END
147167
168static MACHINE_DRIVER_START( sgx )
169   /* basic machine hardware */
170   MDRV_CPU_ADD(H6280, MAIN_CLOCK/3)
171   MDRV_CPU_PROGRAM_MAP(sgx_mem, 0)
172   MDRV_CPU_IO_MAP(sgx_io, 0)
173   MDRV_CPU_VBLANK_INT(sgx_interrupt, VDC_LPF)
174   MDRV_SCREEN_REFRESH_RATE(60)
175   MDRV_SCREEN_VBLANK_TIME(DEFAULT_REAL_60HZ_VBLANK_DURATION)
176   MDRV_INTERLEAVE(1)
177
178   /* video hardware */
179   MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
180   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
181   MDRV_SCREEN_ADD("main",0)
182   MDRV_SCREEN_RAW_PARAMS(MAIN_CLOCK/2, VDC_WPF, 70, 70 + 512 + 32, VDC_LPF, 14, 14+242)
183   MDRV_PALETTE_LENGTH(1024)
184   MDRV_PALETTE_INIT( vce )
185   MDRV_COLORTABLE_LENGTH(1024)
186
187   MDRV_VIDEO_START( pce )
188   MDRV_VIDEO_UPDATE( pce )
189
190   MDRV_NVRAM_HANDLER( pce )
191   MDRV_SPEAKER_STANDARD_STEREO("left","right")
192   MDRV_SOUND_ADD(C6280, MAIN_CLOCK/6)
193   MDRV_SOUND_ROUTE(0, "left", 1.00)
194   MDRV_SOUND_ROUTE(1, "right", 1.00)
195MACHINE_DRIVER_END
196
148197static void pce_partialhash(char *dest, const unsigned char *data,
149198        unsigned long length, unsigned int functions)
150199{
r988r989
187236
188237#define rom_pce NULL
189238#define rom_tg16 NULL
239#define rom_sgx NULL
190240
191241/*     YEAR  NAME    PARENT   COMPAT   MACHINE   INPUT    INIT   CONFIG  COMPANY    FULLNAME */
192242CONS( 1987, pce,    0,      0,      pce,    pce,     pce,   pce,   "Nippon Electronic Company", "PC Engine", GAME_IMPERFECT_SOUND )
193243CONS( 1989, tg16,   pce,    0,      pce,    pce,     tg16,  pce,   "Nippon Electronic Company", "TurboGrafx 16", GAME_IMPERFECT_SOUND )
244CONS( 1989,   sgx,   pce,   0,      sgx,   pce,   sgx,   pce,   "Nippon Electronic Company", "SuperGrafx", GAME_NOT_WORKING )
194245

Previous 15994 Revisions Next


© 1998-2018 The MESS Team