It is currently Mon Dec 10, 2018 6:21 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Tue Apr 24, 2018 6:01 pm 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3155
Location: Brazil
I added Acclaim's IRQ timing, of IRQ counter clocking on falling edges of A12. This way, Mickey games work much better. From my attempts of getting this game working fine, I'd like some advice on it. Ages ago, someone said that the only difference is about Acclaim's IRQ triggered 4 cycles later if compared to MMC3. That's NOT the only difference from my attempts.

Is Numberland the same board/IRQ system of Letterland? Numberland expects the IRQ counter to be always clocked, even after a IRQ counter reset (so, the new value would be irq_latch-1), but Letterland expects the "normal" behavior - of checking irq_counter == 0; else, decrement it. Well, if I apply the Numberland behaviour, Letterland has a scorebar of 1 scanline shorter in size.

If I ignore $2006 writes, there's no scorebar shaking.
If I fix Letterland, Numberland is glitched by 1 scanline (IRQ timing is off by 1).
If I fix Numberland, Letterland is the glitched one, but I believe it's what a NES console does.

EDIT: it was a mistake in my code.


Last edited by Zepper on Thu May 03, 2018 3:22 pm, edited 3 times in total.

Top
 Profile  
 
PostPosted: Tue Apr 24, 2018 9:58 pm 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 708
Mickey's Safari in Letterland uses Acclaim's MC-ACC chip (mapper 4 submapper 3), Mickey's Adventures in Numberland uses a regular MMC3C chip (mapper 4 submapper 0). Implement MC-ACC by raising IRQ four PPU cycles after PA12 goes high (versus 0 on MMC3) and by ignoring further PA12 rises for 35 PPU cycles (versus 8 on MMC3). Mickey's Safari in Letterland's scorebar seems to depend on the latter aspect.


Top
 Profile  
 
PostPosted: Wed Apr 25, 2018 12:44 pm 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3155
Location: Brazil
NewRisingSun wrote:
Mickey's Safari in Letterland uses Acclaim's MC-ACC chip (mapper 4 submapper 3), Mickey's Adventures in Numberland uses a regular MMC3C chip (mapper 4 submapper 0). Implement MC-ACC by raising IRQ four PPU cycles after PA12 goes high (versus 0 on MMC3) and by ignoring further PA12 rises for 35 PPU cycles (versus 8 on MMC3). Mickey's Safari in Letterland's scorebar seems to depend on the latter aspect.

Awesome. So, Mickey's Safari in Letterland is officially fixed in my emulator. Do you know if the IRQ counter on MC-ACC is checked the same way what MMC3 does? In other words, checking if the counter went 1->0 to trigger an IRQ.

EDIT: found another problem in my code. Now Mickey in Numberland works fine.
EDIT 2: must filter writes to $2006 when the new ppu address (loopy_v) is greater than $2FFF. No more shaking.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group