Dwedit's Board

Enjoy the board

You are not logged in.

Announcement

Welcome, fellow visitors from other websites!
Whenever you download a file, I'd appreciate it if you posted a nice "Thank You" message, then tell me which site you came from. Thanks.
- Dwedit

#1 2006-09-24 2:04:06 pm

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

PocketNES 9.99

PocketNES 9.99 - Last updated 2006-09-24

Download
Source Code (for programmers only)

Use this version if you have a GBA Movie Player (CF Version, not an M3)

If you use a GBAMP SD, or multiboot cable, use This version

New in this version:
*  Supports Monochrome Mode, used to flash the screen in Dragon Warrior 1, 2, and Final Fantasy 3.
*  Supports Frame IRQ used by Dragon Quest 1, 2, and Door Door.  Possibly buggy.
*  Supports NES Play Action Football
*  Supports Mapper 42
*  Now can save state in mapper 40,42,69
*  SRAM save compression takes place immediately on entering menu, making save smaller for pogoshell
*  Removed EWRAM Turbo option
*  Changing gamma immediatly updates palette
*  Code Cleanup

Newer:
* Fixed IRQ bugs

Last edited by Dwedit (2006-10-12 11:43:34 pm)


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#2 2006-10-12 5:48:15 am

maxzhou88
Member
From: shenzhen china
Registered: 2006-10-12
Posts: 19
Website

Re: PocketNES 9.99

PocketNES9.99 can't play the NES ROM "Hello_Kitty.nes"(Japenses version PROM:32K CROM:32K mapper 3)


                                 Roman9.98      Kuwanger9.98(CSD)    Dwedit 9.98(2005-09-07)    Dwedit 9.99
FF1(ch).nes      245           OK                   NG                                  OK                             OK
FF2(ch).nes      245           OK                   NG                                  OK                             OK
FF3(ch).nes         4            OK                  OK                                   NG                            NG
Hello kitty.nes     3            OK                   OK                                  OK                            NG

Last edited by maxzhou88 (2006-10-12 10:02:02 am)


Attachments:
Attachment Icon pocketnes(roman).rar, Size: 29,236 bytes, Downloads: 582

The such beautiful days can arrive once again in my life?
72299.gif

Offline

#3 2006-10-12 6:58:23 am

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

Adding Frame IRQ support seems to have broken "Hello Kitty no Ohanabatake".  If I build a version with Frame IRQ disabled, that game works again, but Dragon Quest fails.  I'll look into where the bug in my implementation of Frame IRQ is.

In the meantime, here's a build with Frame IRQ disabled, and hello kitty works on this version.
[FILE REMOVED!]

Last edited by Dwedit (2006-10-12 11:43:07 pm)


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#4 2006-10-12 10:05:28 am

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

Final Fantasy 3 (ch) might need its mapper changed to 245.  Mapper 4 has a strict 512k limit, and if that game is any bigger, it must use a different mapper.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#5 2006-10-12 10:44:45 am

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

I've stepped through the hello kitty game in a debugger.  The game indeed has a bug, it's supposed to disable frame IRQ, but due to crappy programming, it enables it instead.
0x4038 = A5 -> A9
0x4057 = A5 -> A9
should fix the rom in pocketnes, but I believe fixing the emulator is more important than hacking games to work.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#6 2006-10-12 11:37:20 am

maxzhou88
Member
From: shenzhen china
Registered: 2006-10-12
Posts: 19
Website

Re: PocketNES 9.99

Ha ha! Hello kitty indeed has a bug.
     lda  $40         ; It's error
     sta  $4017      ;disable frame IRQ
following is right
     lda  #$40       ; 0x40 or 0x80
     sta  $4017      ;disable frame IRQ

Last edited by maxzhou88 (2006-10-12 11:42:26 am)


The such beautiful days can arrive once again in my life?
72299.gif

Offline

#7 2006-10-12 12:50:33 pm

maxzhou88
Member
From: shenzhen china
Registered: 2006-10-12
Posts: 19
Website

Re: PocketNES 9.99

Dwedit wrote:

Final Fantasy 3 (ch) might need its mapper changed to 245.  Mapper 4 has a strict 512k limit, and if that game is any bigger, it must use a different mapper.

Final Fantasy 3 (ch) can play in Kuwanger's pocketNES(wsd) version, It's mapper is 4(MMC3), might is super C3. Its PROM can be more  than 512K .


The such beautiful days can arrive once again in my life?
72299.gif

Offline

#8 2006-10-12 2:44:11 pm

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

A real mmc3 only supports up to 512k PRG, this is because the MMC3 chip only controls address lines 13-18.  Mapper 245 uses the CHR bankswiting to select which 512k bank is active, kind like how MMC1 only supports 256k of prg, but uses the chr line to support 512k prg in the SUROM board.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#9 2006-10-12 11:50:00 pm

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

Uploaded new version to pocketnes.org.  Fixes hello kitty.
What was the bug?
I had RTI executing the interrupts regardless of whether they were supposed to be enabled or not.  Fixed that.

The story behind hello kitty:
Hello kitty fails to disable frame IRQ due to a couple typos in the original code.
Hello kitty has an IRQ handler that is not properly equipped to deal with frame IRQ.  If frame IRQ occurrs, the game crashes.  Its IRQ handler consists of just an RTI instruction.  The handler never acknowledges frame IRQ, so another frame IRQ immediately happens as it returns from the interrupt.  It gets stuck in an infinate loop.  Fortunately, Frame IRQ never actually happens, because the game runs with IRQs disabled.
Pocketnes had a bug where it assumed IRQs were always enabled when returning from an interrupt.  So it jumped into the frame IRQ handler, boom.  Crash.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#10 2006-10-13 5:29:38 pm

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

I've made a few more changes, now the code for mapper 245 doesn't trample over the mapper 4 code anymore.  Fixes FF3.  Now download yet.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#11 2006-10-18 11:23:18 am

SilentZorah
Member
Registered: 2006-10-18
Posts: 1

Re: PocketNES 9.99

Okay.  Dwedit, I've got a couple of bug reports for ya.

I've been trying to play Megaman 1 and Megaman 2 on PocketNES 9.99 lately, and the save states appear broken to an extent.  It'll start you up at where you saved, yes, but after you reload it (I use the R+Start method), the graphics are all jumbled as soon as the screen changes.  (ex: Select a stage on the boss select, save, and after the stage begins, reload the save state.  You'll see what I mean.)

Also, I dunno if this is related, but I'm also having difficulties with graphics on Punch-Out!! (Mugshots between rounds are jumbled with random letters) and Fire Emblem 2 (Text is garbled when you're shown stats or actions).  However, with Fire Emblem 2, everything looks normal when the text windows aren't open.  There is a bit of a slow down in both of these games, though...

The save state bug wasn't like this in the last version, I know.  However, I don't know if the bugs for Punch-Out!! and Fire Emblem 2 are new or not, as I only added them to my flash card after downloading PocketNES 9.99.  Do you think you could take a look at these?

Offline

#12 2006-10-18 4:19:39 pm

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

PocketNES's savestate format really really sucks, especially since it stores INTERNAL POINTERS into a file, so when the next version comes around, things internally aren't in the exact same places.

Fire Emblem and Punch Out use features of the NES that wouldn't emulate well on a GBA.  It relies on the cartridge requesting a specific tile number, and that tells the cartridge to swap the graphics pages, and that would work horribly on any emulator that assumes the same graphics page is being displayed each scanline.  A GBA can't switch graphics pages in the middle of a scanline.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#13 2006-12-04 5:46:39 am

sci
Guest

Re: PocketNES 9.99

would it be hard to move this new upgrade to work on the GBAMP?

#14 2006-12-06 8:35:57 pm

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

Merging the changes into the GBAMP version will happen when the next version is worked on.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#15 2007-05-13 10:25:00 am

amar
Guest

Re: PocketNES 9.99

can i play it om my ds lite?

#16 2009-01-10 10:45:03 am

Reachie
Guest

Re: PocketNES 9.99

I have problems on my GBAMP SD. I put the file on my SD Card, but I cant play NES Games, there is no game Symbol.
Can someone explane me that in easy steps. How i have to do this.

Sorry for my english, Iam german

#17 2009-01-10 11:22:16 am

Dwedit
Administrator
From: Chicago
Registered: 2004-12-12
Posts: 1,017
Website

Re: PocketNES 9.99

A release thread for an old version is not the best place to ask this question, but you want "PocketNES Compy", a version of pocketnes based on the 9.97 series which uses compressed games up to 256K in size.  Nobody has figured out how to do write support for the GBAMP SD, so the regular GBAMP builds are out.


"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman