Showing posts with label game assets. Show all posts
Showing posts with label game assets. Show all posts

Friday, May 17, 2019

Continuing ~ Super Mario Bros. World Class Track Meet Duck Hunt - Unused Mario 2 Lost Levels Tiles Graphics

Time for another Super Mario Bros. article where we take a look at Super Mario Bros. 2 assets that remain inside of the menu programming of the one of the most videogame cartridges ubiquitous. Seriously, everybody and their dog owned a copy. I still do along with the manual. It never came with an official box as it was bundled with the Action Set NES.





For aesthetic mental reference: The controller (left), NES (middle), cartridge (right)

  


Surprisingly Nintendo for some reason used the Japanese true Super Mario Bros. 2 and character tilemapping to form the basis of the menu; graphic tileset and relative assets. I guess they were porting the Famicom Disk System file system when writing the menu because it may have been quicker or it was just on their workstation at the time? Maybe they did this on purpose just to see if someone would undoubtably notice over time? I really don't know and we will probably never quite know exactly why this even exists on the cartridge at all.
What you are about to see may burn your eyes because it may look like a garbled mess, but actually it is clearly (well maybe not so clearly.) the graphics from Super Mario Bros. 2. The palettes are based on which game is selected in the menu so it is the most visually pleasing to look at the Super Mario Bros highlighted section for better visual analysis.






Long and behold the detail!












Title screen graphics of Super Mario Bros 2 for reference.







Here is the original information I found.
[CODE]
Super Mario Bros. + Duck Hunt + World Class Track Meet (U) (PRG0) [!].nes
Replace Super Mario Bros tiles with unused Super Mario Bros. 2 Lost levels tiles
IEXTGAZE
XEVTAZAV
ZPETALZA
Display unused Super Mario Bros. 2 Lost levels tiles at game select menu (I actually made this interesting discovery about a week ago. All of the CHR from the Lost Levels / Super Mario Bros. 2 is actually inside the Super Mario Bros. + Duck Hunt + World Class Track Meet game select bank! There are also unused tiles in Super Mario Bros. 2! https://twitter.com/nensondubois_/status/924508098907267072)
YPSTLGPA

Fixes Duck Hunt selection palette to match Super Mario Bros. / 2
TLXVYZPZ
YPUTAZTZ
YAUTPZIZ

Fixes World Class Track Meet selection palette to match Super Mario Bros. / 2
TLUTLZYL
YPUTGXZZ
YAUTIZPZ

Replaces Duck Hunt 'upper-left brick' tile with unused Super Mario Bros. 2 tile. The table starts is located at 0x01E556-1E8CA beginning with Super Mario Bros and ending with World Class Track Meet.
E665:??:AD

Replaces Duck Hunt 'upper-left brick' tile with unused Super Mario Bros. 2 star tile (there are other unused tiles but this is just an example)
OYVTIVSZ
[/CODE]

Tuesday, May 14, 2019

Shades of blue and a hidden, broken pixel that can be fixed in Soukoban Densetsu - Hikari to Yami no Kun

Let's push some boxes... err words around because it's time for another entry!
Soukoban in case you're unfamiliar, is a classic game where you walk behind boxes and shove them around a mostly enclosed area or a maze while avoiding the prospect of being trapped into unsolvable puzzles or situations forcing you to restart the area from the start.
The game was ported to numerous consoles including two Japanese versions for both the Japanese Super Nintendo / Famicom Sega Genesis / MegaDrive, and even made its way into Deadly Premonition (hahaha we will get to this game eventually!) as a sidequest for unlocking higher tier items in the general store.
First, let's start off with exploring a few unused graphical assets in this game for the sake of some box madness (ok, I should probably stop now.)
First is an unused palette for the Super Game Boy that matches the border palette. Normally it is a variation of black and white contrasts but the game's developers programmed a blue-red brownish setting but decided against using it in the game most likely because they felt it didn't show off the user's border palette creation properties as well as it was intended. This is the only game that offers a border that is centered around using system palette 0 allowing the user to set up the border to display a palette of their choosing. I guess they chose a black and white palette for the final because it makes your custom palettes stand out and they wanted focus on that feature? They could have given the option to switch between the two but that was probably more work than the developers wanted to invest, or it just wasn't a consideration at all.
Unfortunately there are a few issues with using the system palette 0 for this feature and the most notable issue is a developer oversight which I will explain and showcase later.
Load unused Super Game Boy palette
111-31B-6EE
001-3BB-6EA
Here's the lost matching border palette. There's also an oddly matching overlay appearing to fit anywhere. There is also a variation which removes the lowermost 8x8 tilemapping.












Overlaying the game screen with black attributes was not an appropriate choice for this game because the game has too varying a set of levels that would require a lot of time to compensate per puzzle and lots of space in the game's read only memory which was a premium at no less than 1mb for Game Boy Color games. Most interesting is the fact that the game's developers left in remnants from the SDK or library they using. I also found this in numerous other games including the mostly poorly ported Game Boy version Tetris Attack (it has some good music) and B-Daman Fighting Phoenix, a crossover of Bomberman and B-Daman. As you can see, the overlay looks as if it were made to show off either a platforming game or an ourside area where it is viewed from a bird's eye angle.
All that is currently known about the understanding of the SDK from my research is that it is totally unclear where the SDK originated; whether it was developed in house by Nintendo or by a different company altogether during the development of the Super Game Boy to showcase it's enhanced features such as but not limited to a library of built-in sound effects, custom music, and the ill-fated unfinished OBJ_TRN mode which would display 'scrollable' SNES objects on the screen in either 8x8 or 16x16 form overriding the static palette limitations. It is a very early SDK most likely developed in tandem with the Super Game Boy at the time, based on the fact that it has the OBJ_TRN command as C1, which in the final build of the Super Game Boy ends in a ret or return to subroutine so it wasn't implemented, but could still be accessed. I will write about the unfinished display mode at another time. 
 There are other hints that it was an official SDK designed to promote the Super Game Boy such as the "Nintendo" Super Game Boy 'SOUND' listing in the table as well as a default setting for the SNES NMI JUMP and DATA_SND definitions to perform various tasks the user could incorporate into their games on the SNES side allowing better graphics, sounds, music and a more robust interactive multiplayer mode.

The SDK appears in several games in varying revisions to suit the developer's project needs over time. It appears in a wide range of third party company developed games to name a few: Konami and Hudson.












Loads unused palette without modifying ATTR_BLK attributes (attributes black), sets a screen area overlay within specified dimensions.
001-3BB-6EA
What were they testing? This obviously looks like it could have been reserved for the title screen, story captions and cutscenes? There is also a variation which removes the lowermost 8x8 tilemapping.
Lastly, a developer oversight caused a single 8x8 pixel of the border to display an incorrect tilemapping. This renders the whole idea of allowing users to design the custom palette of the game's border. What a shame. Well, sure enough I took the liberty of fixing this issue in a matter of minutes. I fail to see how an important miniscule feature was hindered by a nefarious oversight.











Original post:
 https://twitter.com/nensondubois_/status/891869088988975105

Took 4 minutes. To fix the border, modify 0x01086D to 00 from 0C or via Game Genie code 008-6DB-D5A. The first skull is the only one that fully matches with your custom palette. So, maybe the border's ability to adapt with the player's palette was an afterthought? The skulls actually have an attribute to match the user's palette but it was never implemented.
I also made three more videos but they're lesser interesting as an afterthought. People really seem to love afterthoughts.