menu of super mario bros.
Moderator: Moderators
menu of super mario bros.
As it construct the menu of mario?
The tileset is veri simple
Re: menu of super mario bros.
The "Super Mario Bros." block/logo at the title screen is made up of all sorts of tiles in the $1000-1FFF PPU RAM (upper pattern table) region. Here are some:
Tile $44 (upper left corner/dot)
Tile $48 (empty/blank space)
Tile $49 (upper right corner/dot)
Tile $5F (bottom left corner/dot)
Tile $78 (shadowing under text)
Tile $7A (bottom right corner/dot)
Tile $95 (shadowing under text)
Tiles $97-98 (shadowing under text)
Tiles $D0-E1 (make up the text "SUPER MARIO BROS", and some of the shadowing)
Tile $E7 (period after "BROS")
The "garbage" or "static" you see which make up tiles $EC to $FE (PPU RAM $1EC0 to $1FEF) during the title screen are actually data, not graphics -- they ran out of PRG ROM space and had to stick some data in CHR. The game actually reads this out of PPU RAM and uses it:
You can see all of this with an emulator like Mesen, which gives very good/detailed nametable and CHR/pattern table tools.
If you're asking what the data itself does (its format, etc.), this would requiring reverse-engineering it. It does have involvement in creation of the title screen, but fiddling around with bytes/bits just corrupts it in a way that isn't immediately obvious, so the data may be compressed or formatted in a certain way. There is a comprehensive disassembly of SMB which you can dig through. The screenshot above correlates with this part of the code. Sadly, the individual who did the disassembly left the hard-coded RAM $0300 address there rather than referring to the high and low bytes of VRAM_Buffer1_Offset.
There's also this document/source code that goes over some of it. You're wanting what's called TitleScreenDataOffset and VRAM_Buffer1_Offset in there. You'll need to examine the actual 6502 code to understand what the format of the data is that's read from PPU RAM and written to $0300-0363 or so.
Tile $44 (upper left corner/dot)
Tile $48 (empty/blank space)
Tile $49 (upper right corner/dot)
Tile $5F (bottom left corner/dot)
Tile $78 (shadowing under text)
Tile $7A (bottom right corner/dot)
Tile $95 (shadowing under text)
Tiles $97-98 (shadowing under text)
Tiles $D0-E1 (make up the text "SUPER MARIO BROS", and some of the shadowing)
Tile $E7 (period after "BROS")
The "garbage" or "static" you see which make up tiles $EC to $FE (PPU RAM $1EC0 to $1FEF) during the title screen are actually data, not graphics -- they ran out of PRG ROM space and had to stick some data in CHR. The game actually reads this out of PPU RAM and uses it:
You can see all of this with an emulator like Mesen, which gives very good/detailed nametable and CHR/pattern table tools.
If you're asking what the data itself does (its format, etc.), this would requiring reverse-engineering it. It does have involvement in creation of the title screen, but fiddling around with bytes/bits just corrupts it in a way that isn't immediately obvious, so the data may be compressed or formatted in a certain way. There is a comprehensive disassembly of SMB which you can dig through. The screenshot above correlates with this part of the code. Sadly, the individual who did the disassembly left the hard-coded RAM $0300 address there rather than referring to the high and low bytes of VRAM_Buffer1_Offset.
There's also this document/source code that goes over some of it. You're wanting what's called TitleScreenDataOffset and VRAM_Buffer1_Offset in there. You'll need to examine the actual 6502 code to understand what the format of the data is that's read from PPU RAM and written to $0300-0363 or so.
Re: menu of super mario bros.
That crazy, use sprites of 8x8 and the resize to 16x16.
I think that this was not possible in old cartridges ...
I think that this was not possible in old cartridges ...
Re: menu of super mario bros.
I think SMB needs a little more than 3D menus in order to look like a game from nowadays...!