Jump to content

Opening screen on TSB hack


joemoe

Recommended Posts

post-14745-0-72058300-1436281072_thumb.ppost-14745-0-72058300-1436281072_thumb.pThe first screen you see when opening rose bowl says 2002. I have figured out how to change all other opening screens via hex editor or tile editor, but can find where it says "Rose Bowl 2002." I would assume it is in hex editor?


Link to comment
Share on other sites

I bet the character tiles are just layed out funny in the rom.  need to go in with a code logger and find where that screen comes up.  I bet you'll find those "2002 ROSE BOWL" character pointers kind of jumbled up because of the way the screen is layed out.  


 


I will take a look for you.


Edited by buck
Link to comment
Share on other sites

Its was right in front of me all along, swore I scrolled slowly through the whole thing. Thanks a lot.


One more question?


How come I can add a long quote on last title screen in PPU mode but there isn't enough room for it in rom mode. Is there a way to make the rom save your changes for text in PPU mode?


Thanks again, glad I came here


Link to comment
Share on other sites

I don't know exactly how the PPU code view-mode and ROM view-mode are related.  I think of the ROM view as the actual concrete code (everything and anything) and the PPU-view is some sort of "specialized look into what is being read or seen for a given NES screen at a given time". 

As far as why you could change something on the PPU but not have room in the actual ROM, well I would guess that is because the PPU-view mode is independent from the actual ROM.  maybe the PPU has empty space not being used for a particular screen that happens to afford you the realtime ability to perform a modification like you mentioned "on the fly", but due to the way the ROM game is coded sequentially or whatever, would be tough to go in and "squeeze" stuff into the ROM code.

I know that for example mini-helmet PPU tweaks have to be copied and pasted from the PPU view to the appropriate section in the actual ROM code to actually be saved.  So no, I do not know of a way with FCEUX or whatever to save PPU-view changes directly to ROM.

Link to comment
Share on other sites

You cant save PPU changes to the ROM.

The PPU is the current graphical RAM. The game code loads information from the rom into ram and its not always organized the same way in RAM as it is in ROM.

There probably is enough room in the ROM with some code tweaking.

Often times when the code is "reading/loading" text from the rom to display it is set up to only read so many characters.

Link to comment
Share on other sites

An NES ROM is really two parts. A PRG section and a CHR section. On an actual cartridge these are two separate chips

 

The PRG section contains game data as well as exectuable code. 

The CHR section contains the games graphical tiles. 

 

The NES has two types of memory. CPU memory and PPU memory

 

CPU memory (called NES memory in FCEUX) is laid out as follows

 

Address Size Description
$0000 $800 2KB of work RAM
$0800 $800 Mirror of $000-$7FF 
$1000 $800 Mirror of $000-$7FF
$1800 $800 Mirror of $000-$7FF
$2000 8 PPU Ctrl Registers
$2008 $1FF8 *Mirror of $2000-$2007
$4000 $20 Registers (Mostly APU)
$4020 $1FDF Cartridge Expansion ROM
$6000 $2000 SRAM         (Save RAM) 
$8000 $4000 PRG-ROM  (switchable banks for MMC3) 
$C000 $4000 PRG-ROM (fixed bank...last two banks in PRG-ROM)

 

PPU MEMORY IS LaYED OUT AS FOLLOWS

 

The pattern table is divided into two 256-tile sections. This is what you see in the PPU viewer. 

 

A nametable is a 1024 byte area of memory used by the PPU to lay out backgrounds. Each byte in the nametable controls one 8x8 pixel character cell, and each nametable has 30 rows of 32 tiles each, for 960 ($3C0) bytes;

 

$0000-$0FFF $1000 Pattern table 0
$1000-$1FFF $1000 Pattern Table 1
$2000-$23FF $0400 Nametable 0 
$2400-$27FF $0400 Nametable 1
$2800-$2BFF $0400 Nametable 2
$2C00-$2FFF $0400 Nametable 3
$3000-$3EFF $0F00 Mirrors of $2000-$2EFF
$3F00-$3F1F $0020 Palette RAM indexes
$3F20-$3FFF $00E0 Mirrors of $3F00-$3F1F

 

In addition, the PPU internally contains 256 bytes of memory known as Object Attribute Memory which determines how sprites are rendered. The CPU can manipulate this memory through memory mapped registers at OAMADDR ($2003), OAMDATA ($2004), and OAMDMA ($4014).

 

Address            Size Description
$00-$0C (0 of 4) $40  Sprite Y coordinate
$01-$0D (1 of 4) $40  Sprite tile #
$02-$0E (2 of 4) $40  Sprite attribute
$03-$0F (3 of 4) $40  Sprite X coordinate

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...