nesdev.com
http://forums.nesdev.com/

Tools required
http://forums.nesdev.com/viewtopic.php?f=21&t=14574
Page 1 of 1

Author:  Muhammad_R4 [ Sat Jul 23, 2016 1:03 pm ]
Post subject:  Tools required

Hello NES dev :)

I have partially implemented the PPU and tested it on a very simple tiles

now I want a real games tiles

what I want exactly :

name table memory ,the tiles pointed to by name table , the corresponding attribute tables and for sure the palette memory

I have found some tools but unfortunately , the either do not give me what I want ( I don't want a bitmap , I want memory) or I couldn't use it.

any help ?

Author:  dougeff [ Sat Jul 23, 2016 2:54 pm ]
Post subject:  Re: Tools required

Quote:
tested it on a very simple tiles


What's the difference between a simple tile and a complex one? The PPU handle them identically.

Quote:
what I want exactly :

name table memory ,the tiles pointed to by name table , the corresponding attribute tables and for sure the palette memory


How about this approach...
Play a game in FCEUX, pause execution. Copy the contents of the PPU in the hex editor tool.

Author:  tepples [ Sat Jul 23, 2016 3:36 pm ]
Post subject:  Re: Tools required

Muhammad_R4 wrote:
what I want exactly :

name table memory ,the tiles pointed to by name table , the corresponding attribute tables and for sure the palette memory

These can be pulled from any of several sources:
  • FCEUX (Windows) can dump all PPU memory: Debug > Hex Editor then File > Dump > PPU Memory. Tiles are at $0000 (usually) or $1000 (sometimes), nametables are at $2000 or $2C00, and palette is at $3F00.
  • Create something with my graphics editor, either directly or by using savtool to convert a bitmap image. Then open the .sav file. Tiles are at $0000, nametable at $1800, and palette at $1F00.
  • A save state of a game with CHR RAM will have the entire PPU memory. Save state formats are emulator-specific, but an open-source emulator should document its format.
  • A save state of a game with CHR ROM will have the nametables and palette, and the tile data will be in CHR ROM.

If you want me to export any of the above from my own projects, let me know.

I assume "complex one" is a full-size scene that can be shown to those evaluating progress in your project, as opposed to just a couple hand-pixeled tiles with no artistic merit.

Author:  Muhammad_R4 [ Sat Jul 23, 2016 3:43 pm ]
Post subject:  Re: Tools required

Quote:
I assume "complex one" is a full-size scene that can be shown to those evaluating progress in your project, as opposed to just a couple hand-pixeled tiles with no artistic merit.


exactly what I meant by complex , I want to see a complex scene

Author:  Muhammad_R4 [ Sat Jul 23, 2016 4:02 pm ]
Post subject:  Re: Tools required

Quote:
These can be pulled from any of several sources:
FCEUX (Windows) can dump all PPU memory: Debug > Hex Editor then File > Dump > PPU Memory. Tiles are at $0000 (usually) or $1000 (sometimes), nametables are at $2000 or $2C00, and palette is at $3F00.



I have done this , when i dumbed the memory and opened it to read , there where somethings ( strange chars , etc ) ,then what?

Author:  tepples [ Sat Jul 23, 2016 5:09 pm ]
Post subject:  Re: Tools required

What did you use to open the file? Open it in a hex editor, not a text editor.

Author:  Muhammad_R4 [ Sat Jul 23, 2016 5:50 pm ]
Post subject:  Re: Tools required

I have another question

what about the OAM memory ? how can I see it ?

Author:  tepples [ Sat Jul 23, 2016 6:31 pm ]
Post subject:  Re: Tools required

Some builds of FCEUX (Windows) supported exporting the 256-byte display list from emulated OAM. I requested it when I was originally developing that graphics editor four years ago. Somehow it got lost in the shuffle, possibly around the big reorganization of FCEUX 2.2.1. (I remember the reorganization because the Action 53 mapper, #28, also got lost but was reinstated in FCEUX 2.2.2.) You can file a request in FCEUX's issue tracker at SourceForge to have it reinstated. Until then, you can open the debugger and set a breakpoint on writes to CPU $4014 to catch the display list just before the CPU sends it to PPU OAM. For example, if the value written to $4014 is $02, then OAM will be a copy of the data that was in CPU $0200-$02FF at the time of the write to $4014. Or if the value written to $4014 is $07, then OAM will be a copy of the data that was in CPU $0700-$07FF at the time of the write to $4014. Then you can export CPU memory and extract the appropriate 256-byte page.

Author:  dougeff [ Sat Jul 23, 2016 7:48 pm ]
Post subject:  Re: Tools required

I believe Nintendulator can see the Sprite RAM in its debugger.

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/