diff options
| author | 2011-11-09 22:10:07 +0000 | |
|---|---|---|
| committer | 2011-11-09 22:10:07 +0000 | |
| commit | b0f3c051a8d0c491c32c351cf3d5eace3984637a (patch) | |
| tree | a7a294902f82c8a61de4e6bbd08e8dc66e3cfe24 /src | |
| parent | ef6b961f2c075471ab12147414c930eca6c21353 (diff) | |
Some bug-fixes
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/drivers/segas24.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c index 15189f5346e..4d45365654e 100644 --- a/src/mame/drivers/segas24.c +++ b/src/mame/drivers/segas24.c @@ -347,8 +347,9 @@ Notes: #define VIDEO_CLOCK XTAL_32MHz #define TIMER_CLOCK (VIDEO_CLOCK/4) #define HSYNC_CLOCK (VIDEO_CLOCK/2/656.0) -#define FRC_CLOCK_MODE0 (MASTER_CLOCK/2)/16 // 625 kHz -#define FRC_CLOCK_MODE1 (MASTER_CLOCK/2)/1024 // 9 kHz +/* TODO: understand why divisors doesn't match at all with the reference */ +#define FRC_CLOCK_MODE0 (MASTER_CLOCK/2)/24 // /16 according to Charles +#define FRC_CLOCK_MODE1 (MASTER_CLOCK/2)/1536 // /1024 according to Charles, but /1536 sounds better enum { IRQ_YM2151 = 1, @@ -747,7 +748,7 @@ READ8_MEMBER( segas24_state::frc_r ) { INT32 result = (frc_cnt_timer->time_elapsed() * (frc_mode ? FRC_CLOCK_MODE1 : FRC_CLOCK_MODE0)).as_double(); - result %= ((frc_mode) ? 0x100 : 0x67); + result %= ((frc_mode) ? 0x67 : 0x100); return result; } @@ -1288,9 +1289,7 @@ static MACHINE_RESET( system24 ) state->mlatch = 0x00; state->frc_mode = 0; state->frc_cnt_timer = machine.device<timer_device>("frc_timer"); - //state->frc_cnt_timer->reset(); - //state->frc_cnt = 0; - //state->irq_frc->adjust(attotime::from_hz(state->frc_mode ? FRC_CLOCK_MODE1 : FRC_CLOCK_MODE0)); + state->frc_cnt_timer->reset(); } /************************************* |
