On a Dendy, does the APU frame counter give IRQs every 50 or 60 FPS?
Easiest way to tell is to run Dragon Quest 1 or 2. If the music plays slower, it's 50FPS. If it plays at normal speed, it's 60FPS.
I was under the impression that all Dendy units shared timings with the PAL NES, i. e. 50fps.
APU Frame Counter is generated entirely in the CPU. The Dendy CPU runs faster than the PAL NES CPU; the master clock is divided by 15 instead of 16 for compatibility with raster effects in software for the NTSC Famicom.
Indeed. Dendy is FamiClone with PAL PPU.
mikejmoffitt wrote:
I was under the impression that all Dendy units shared timings with the PAL NES, i. e. 50fps.
The way the Dendy generates PAL video in completely different from how a PAL NES does it. Even though the Dendy runs at 50fps, the PPU/CPU clock ratio is the same as that of the NTSC NES. Also, while the PAL NES extends the frame by making VBlank longer, the Dendy puts the extra time at the end of the frame. All of this makes the Dendy much more compatible with an NTSC NES than a PAL NES is.
I'd like to know about the frame counter on PAL, let alone Dendy.
Our wiki page just says "TODO: describe PAL"
http://wiki.nesdev.com/w/index.php/APU_Frame_Counter
Does anyone have a reference for how it is in PAL?[/url]
Nintendulator says:
const int FrameCyclesNTSC[5] = { 7456,14912,22370,29828,37280 };
const int FrameCyclesPAL[5] = { 8312,16626,24938,33252,41560 };
But that's not the same as a hardware confirmation.
These numbers tell you at what CPU cycle you reach that APU subframe number. 4th number tells you when you get an APU Frame IRQ (in CPU cycles). 5th number only matters if the APU is running in 5 stage mode.
Does famiclone even have an APU frame counter ? I heard multiple times that Dragon Warrior games, doen't work on famiclones....
If the system can perform frequency sweeps and hardware volume envelopes, then it has to have the APU frame counter. Whether or not it will generate interrupts is a different question.
Dragon Warrior (US version) doesn't use Frame IRQs. It's Dragon Quest (Japanese version) that does. Same for Dragon Quest 2.
I have no idea why Dragon Warrior 1 would fail on a famiclone. It works so well on every emulator in existence. Some kind of electrical or hardware incompatibility?
I think I got my answer from watching the Battletoads video. Sound sweeps go higher than normal, so it's clocking the frame counter at normal NTSC clock cycle counts.
Dwedit wrote:
I think I got my answer from watching the Battletoads video. Sound sweeps go higher than normal, so it's clocking the frame counter at normal NTSC clock cycle counts.
Not quite. NTSC Famcom CPU core runs at 21.47727/12=1,7897725MHz. Dendy CPU core runs at 26.601712/15=1,77344746MHz. Difference is more than 0,9%.
I'm referring to CPU cycles per APU frame counter tick, not the rate of the frame counter in Hz.
I still don't have solid tested numbers for this (someone needs to run Blargg's APU Frame IRQ test on a Dendy to see if it exactly matches NTSC), but I see that it's running at approximately NTSC speed (~7456 cycles per tick) instead of PAL speed (~8312 cycles per tick).
Quote:
On a Dendy, does the APU frame counter give IRQs every 50 or 60 FPS?
Easiest way to tell is to run Dragon Quest 1 or 2. If the music plays slower, it's 50FPS. If it plays at normal speed, it's 60FPS.
6527P chip result:
Dragon Quest (Japan) have same music speed as NTSC. Most of blargg's APU tests also passed.
So, Dendy APU frame counter give IRQs every 60 FPS.
Now someone of you may update wiki info.
Could you use
thefox's test to provide a more precise timing?
lidnariq wrote:
Could you use
thefox's test to provide a more precise timing?
3a42 on UM6561