Previous 15994 Revisions Next

r7475 Monday 1st March, 2010 at 17:36:38 UTC by Curt Coder
[PHC25] Fixed character display.
[src/mess/drivers]phc25.c

src/mess/drivers/phc25.c
r7474r7475
2424   TODO:
2525 
2626   - RAM should be 16KB
27   - chargen ROM
2827   - MC6847 mode selection lines
2928   - keyboard
3029   - cassette
r7474r7475
101100   cassette_output(state->cassette, BIT(data, 0) ? -1.0 : +1.0);
102101 
103102   /* internal/external character generator */
104   mc6847_intext_w(state->mc6847, !BIT(data, 2));
103   mc6847_intext_w(state->mc6847, BIT(data, 2));
105104 
106105   /* cassette motor */
107106   cassette_change_state(state->cassette, CASSETTE_MASK_MOTOR, BIT(data, 1) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED);
r7474r7475
286285{
287286   phc25_state *state = (phc25_state *)machine->driver_data;
288287 
289   return state->char_rom[(ch << 4) | (line & 0x0f)];
288   return state->char_rom[((ch-2) * 12) + line + 4];
290289}
291290 
292291static const mc6847_interface mc6847_intf =
r7474r7475
305304   DEVCB_NULL
306305};
307306 
308static VIDEO_START( phc25 )
307static VIDEO_START( pal )
309308{
310309   phc25_state *state = (phc25_state *)machine->driver_data;
311310 
r7474r7475
313312   state->mc6847 = devtag_get_device(machine, MC6847_TAG);
314313 
315314   /* find memory regions */
315   state->char_rom = memory_region(machine, Z80_TAG) + 0x5000;
316}
317 
318static VIDEO_START( ntsc )
319{
320   phc25_state *state = (phc25_state *)machine->driver_data;
321 
322   /* find devices */
323   state->mc6847 = devtag_get_device(machine, MC6847_TAG);
324 
325   /* find memory regions */
316326   state->char_rom = memory_region(machine, "chargen");
317327}
318328 
r7474r7475
371381    MDRV_MACHINE_START(phc25)
372382 
373383    /* video hardware */
374    MDRV_VIDEO_START(phc25)
375384    MDRV_VIDEO_UPDATE(phc25)
376385 
377386   /* sound hardware */
r7474r7475
404413   MDRV_MC6847_ADD(MC6847_TAG, mc6847_intf)
405414    MDRV_MC6847_TYPE(M6847_VERSION_ORIGINAL_PAL)
406415   MDRV_MC6847_CHAR_ROM(phc25_char_rom_r)
416 
417   MDRV_VIDEO_START(pal)
407418MACHINE_DRIVER_END
408419 
409420static MACHINE_DRIVER_START( ntsc )
r7474r7475
421432   MDRV_MC6847_ADD(MC6847_TAG, mc6847_intf)
422433    MDRV_MC6847_TYPE(M6847_VERSION_ORIGINAL_NTSC)
423434   MDRV_MC6847_CHAR_ROM(phc25_char_rom_r)
435 
436   MDRV_VIDEO_START(ntsc)
424437MACHINE_DRIVER_END
425438 
426439/* ROMs */
r7474r7475
430443   ROM_LOAD( "phc25rom.0", 0x0000, 0x2000, CRC(fa28336b) SHA1(582376bee455e124de24ba4ac02326c8a592fa5a) )
431444   ROM_LOAD( "phc25rom.1", 0x2000, 0x2000, CRC(38fd578b) SHA1(dc3db78c0cdc89f1605200d39535be65a4091705) )
432445   ROM_LOAD( "phc25rom.2", 0x4000, 0x2000, CRC(54392b27) SHA1(1587827fe9438780b50164727ce3fdea1b98078a) )
433 
434   ROM_REGION( 0x1000, "chargen", 0 )
435   ROM_LOAD( "chargen.bin", 0x0000, 0x1000, NO_DUMP )
436446ROM_END
437447 
438448ROM_START( phc25j )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team