APU frame counter speed on Dendy?

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
Dwedit
Posts: 4410
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

APU frame counter speed on Dendy?

Post by Dwedit » Wed Jun 13, 2012 2:14 pm

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.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
mikejmoffitt
Posts: 1352
Joined: Sun May 27, 2012 8:43 pm

Post by mikejmoffitt » Thu Jun 14, 2012 10:26 am

I was under the impression that all Dendy units shared timings with the PAL NES, i. e. 50fps.

tepples
Posts: 22281
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Thu Jun 14, 2012 10:30 am

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.

User avatar
HardWareMan
Posts: 206
Joined: Mon Jan 01, 2007 11:12 am

Post by HardWareMan » Thu Jun 14, 2012 10:54 am

Indeed. Dendy is FamiClone with PAL PPU.

User avatar
tokumaru
Posts: 11998
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Thu Jun 14, 2012 11:31 am

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.

User avatar
rainwarrior
Posts: 8002
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Post by rainwarrior » Thu Jun 14, 2012 1:27 pm

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]

User avatar
Dwedit
Posts: 4410
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Thu Jun 14, 2012 1:47 pm

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.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
Bregalad
Posts: 8008
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Fri Jun 15, 2012 1:34 am

Does famiclone even have an APU frame counter ? I heard multiple times that Dragon Warrior games, doen't work on famiclones....
Useless, lumbering half-wits don't scare us.

User avatar
Dwedit
Posts: 4410
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Fri Jun 15, 2012 11:09 am

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?
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
Dwedit
Posts: 4410
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Sat Jun 30, 2012 12:49 pm

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.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
HardWareMan
Posts: 206
Joined: Mon Jan 01, 2007 11:12 am

Post by HardWareMan » Sun Jul 01, 2012 6:53 am

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%.

User avatar
Dwedit
Posts: 4410
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Sun Jul 01, 2012 11:31 am

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).
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
Eugene.S
Posts: 298
Joined: Sat Apr 18, 2009 4:36 am
Location: Russia (UTC+3)
Contact:

Re: APU frame counter speed on Dendy?

Post by Eugene.S » Fri Jul 08, 2016 10:25 am

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.
Last edited by Eugene.S on Fri Jul 08, 2016 12:06 pm, edited 2 times in total.

lidnariq
Posts: 10256
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: APU frame counter speed on Dendy?

Post by lidnariq » Fri Jul 08, 2016 10:55 am

Could you use thefox's test to provide a more precise timing?

User avatar
Eugene.S
Posts: 298
Joined: Sat Apr 18, 2009 4:36 am
Location: Russia (UTC+3)
Contact:

Re: APU frame counter speed on Dendy?

Post by Eugene.S » Fri Jul 08, 2016 11:26 am

3A42

Post Reply