Correctly setup the MC6845 device in the rockola driver.

This commit is contained in:
Phil Bennett 2008-12-24 22:35:48 +00:00
parent 6497510da6
commit 2d981a3be7

View File

@ -272,6 +272,8 @@ Stephh's notes (based on the games M6502 code and some tests) :
#include "rockola.h"
#define MASTER_CLOCK XTAL_11_289MHz
/* Change to 1 to allow fake debug buttons */
#define NIBBLER_HACK 0
@ -295,7 +297,7 @@ static void sasuke_start_counter(running_machine *machine)
sasuke_counter = 0;
sasuke_timer = timer_alloc(machine, sasuke_update_counter, NULL);
timer_adjust_periodic(sasuke_timer, attotime_zero, 0, ATTOTIME_IN_HZ(11289000/8)); // 1.4 MHz
timer_adjust_periodic(sasuke_timer, attotime_zero, 0, ATTOTIME_IN_HZ(MASTER_CLOCK / 8)); // 1.4 MHz
}
@ -754,6 +756,25 @@ static INTERRUPT_GEN( rockola_interrupt )
}
/*************************************
*
* 6845 CRTC interface
*
*************************************/
static const mc6845_interface mc6845_intf =
{
"main", /* screen we are acting on */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
NULL, /* after pixel update callback */
NULL, /* callback for display state changes */
NULL, /* HSYNC callback */
NULL /* VSYNC callback */
};
/*************************************
*
* Machine initialisation
@ -801,7 +822,7 @@ static MACHINE_RESET( pballoon )
static MACHINE_DRIVER_START( sasuke )
// basic machine hardware
MDRV_CPU_ADD("main", M6502, 11289000/16) // 700 kHz
MDRV_CPU_ADD("main", M6502, MASTER_CLOCK / 16) // 700 kHz
MDRV_CPU_PROGRAM_MAP(sasuke_map, 0)
MDRV_CPU_VBLANK_INT_HACK(satansat_interrupt, 2)
@ -810,7 +831,7 @@ static MACHINE_DRIVER_START( sasuke )
// video hardware
MDRV_SCREEN_ADD("main", RASTER)
MDRV_SCREEN_REFRESH_RATE((11289000.0 / 16) / (45 * 32 * 8))
MDRV_SCREEN_REFRESH_RATE((MASTER_CLOCK / 16) / (45 * 32 * 8))
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_SIZE(32*8, 32*8)
@ -823,7 +844,7 @@ static MACHINE_DRIVER_START( sasuke )
MDRV_VIDEO_START(satansat)
MDRV_VIDEO_UPDATE(rockola)
MDRV_MC6845_ADD("crtc", MC6845, 0, mc6845_null_interface)
MDRV_MC6845_ADD("crtc", MC6845, MASTER_CLOCK / 16, mc6845_intf)
// sound hardware
MDRV_SPEAKER_STANDARD_MONO("mono")
@ -875,7 +896,7 @@ MACHINE_DRIVER_END
static MACHINE_DRIVER_START( vanguard )
// basic machine hardware
//MDRV_CPU_ADD("main", M6502, 11289000/8) // 1.4 MHz
//MDRV_CPU_ADD("main", M6502, MASTER_CLOCK / 8) // 1.4 MHz
MDRV_CPU_ADD("main", M6502, 930000) // adjusted
MDRV_CPU_PROGRAM_MAP(vanguard_map, 0)
MDRV_CPU_VBLANK_INT_HACK(rockola_interrupt, 2)
@ -885,7 +906,7 @@ static MACHINE_DRIVER_START( vanguard )
// video hardware
MDRV_SCREEN_ADD("main", RASTER)
MDRV_SCREEN_REFRESH_RATE((11289000.0 / 16) / (45 * 32 * 8))
MDRV_SCREEN_REFRESH_RATE((MASTER_CLOCK / 16) / (45 * 32 * 8))
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_SIZE(32*8, 32*8)
@ -898,7 +919,7 @@ static MACHINE_DRIVER_START( vanguard )
MDRV_VIDEO_START(rockola)
MDRV_VIDEO_UPDATE(rockola)
MDRV_MC6845_ADD("crtc", MC6845, 0, mc6845_null_interface)
MDRV_MC6845_ADD("crtc", MC6845, MASTER_CLOCK / 16, mc6845_intf)
// sound hardware
MDRV_SPEAKER_STANDARD_MONO("mono")