Super Game Boy 2: Enable Unused Unfinished OBJ_TRN mode
~
Share
Super Game Boy 2 is a hardware accessory for the Super Nintendo Entertainment System that enables playback of original Game Boy and Game Boy Color titles on a TV. It utilizes video and audio output from the SNES, enhancing gameplay with larger visuals and customizable monochrome palettes. The accessory supports multiplayer via a multitap and permits unique game enhancements, though many features remain underutilized. A notable but unfinished functionality is the OBJ_TRN mode, which allows for the potential display of additional graphical objects, although it was never fully realized in commercial games.
The Super Game Boy is a game accessory that plays original monochrome Game Boy games as well as black Game Boy Color games using the SNES console as an input interface with audio and video output display to the TV. The focal point was allowing players finally being able to play Game Boy games on a more accessible bigger screen, as well as having the ability to assign all 4 of the monochrome palettes to a 15-BIT value.
Games could also be developed to take advantage of the additional functions of the SNES, though they were almost completely wasted in games. Most developers just opted to throw up a border and palettes that were often incomplete and weren't very good, as well as often locking out the player from changing palettes and or controller settings. Games could allow up to 4 players to play limited modes by plugging in a SNES Multitap accessory allowing Bomberman deathmatches, Street Fighter 2 tournaments and even the more obscure turn-based board games would be setup to work without passing a single controller to other players.
A small number of games offered alternate soundtracks using the SGB sound driver, games even uploaded their custom own sound samples and that was much less common. Only one game, Space Invaders actually uploaded an early version of the game running in the SGB's RAM. The ability to write custom hooks in both RAM and ROM were also possible though never actually used in any meaningful way.
Lastly, There was also the ability to, or at least supposed to have been, to display SNES 26 objects via OBJ_TRN (object transfer) mode using command C1 with a defined palette of 16 (4-BIT mode) using 4Kbytes of VRAM. The method of display is of masking the lower portion of the screen with the last rendered image.
By applying this patch it is possible to enable the long lost functionality of this display mode for games that were either not supported to include additional Super Game Boy support or games that were released prior to 1994 and so you would see a constant image of the last area of the game's display.
It is unclear why the OBJ_TRN mode was never actually implemented. Could have been time constraints, interference with interrupts, and or the concept may have not been deemed generally practical to use and set up. The mode was unfinished and there are a few limitations.
Full technical information is included in the readme.txt as well as how to enable the function using original hardware because it would clutter this page.
Known issues and or limitations (due to hardware limitations)
-OBJ_TRN is always enabled and this could pose problems for games that display their status bars or HUDs at the bottom of the screen.
-By default, certain elements of game areas may be obfuscated by the enabled objects.
-Because the function was never used or setup by any commercial game, the applications are severely limited and the masked screen area is always blank.
-Setting up 9902 CHR_TRN does not store the character objects in the area of VRAM. There are two methods of displaying custom objects and both require gratuitous work.
1. Set up DATA_SND to modify the SGB/2 using DATA_SND and JUMP so that it can accept a standard 4Kbyte VRAM transfer of CHR_TRN 9902.
2. You will need to write DATA_SND into the area of VRAM at 11 bytes per command.
-Entering the menu will overwrite the existing VRAM and you will need to reload the custom objects. Because there is no practical method of refreshing the objects you would always be constantly writing DATA_SND it may appear wrong for a set number of frames.
-Screensavers or attract mode (ATTRC_EN) is disabled for all original borders. Enabling screensavers while OBJ_TRN mode is enable would interfere.
The Super Game Boy is a game accessory that plays original monochrome Game Boy games as well as black Game Boy Color games using the SNES console as an input interface with audio and video output display to the TV. The focal point was allowing players finally being able to play Game Boy games on a more accessible bigger screen, as well as having the ability to assign all 4 of the monochrome palettes to a 15-BIT value.
Games could also be developed to take advantage of the additional functions of the SNES, though they were almost completely wasted in games. Most developers just opted to throw up a border and palettes that were often incomplete and weren't very good, as well as often locking out the player from changing palettes and or controller settings. Games could allow up to 4 players to play limited modes by plugging in a SNES Multitap accessory allowing Bomberman deathmatches, Street Fighter 2 tournaments and even the more obscure turn-based board games would be setup to work without passing a single controller to other players.
A small number of games offered alternate soundtracks using the SGB sound driver, games even uploaded their custom own sound samples and that was much less common. Only one game, Space Invaders actually uploaded an early version of the game running in the SGB's RAM. The ability to write custom hooks in both RAM and ROM were also possible though never actually used in any meaningful way.
Lastly, There was also the ability to, or at least supposed to have been, to display SNES 26 onjects via OBJ_TRN (object transfer) mode using command C1 with a definted palette of 16 (4-BIT mode) using 4Kbytes of VRAM. The method of display is of masking the lower portion of the screen with the last rendered image.
By applying this patch it is possible to enable the long lost functionality of this display mode for games that were either not supported to include additional Super Game Boy support or games that were released prior to 1994 and so you would see a constant image of the last area of the game's display.
It is unclear why the OBJ_TRN mode was never actually implemented. Could have been time costraints, interferrence with interrupts, and or the concept may have not been deemed generally practical to use and set up. The mode was unfinished and there are a few limitations.
Full technical information is included in the readme.txt as well as how to enable the function using original hardware because it would clutter this page.
Known issues and or limitations (due to hardware limitations)
-OBJ_TRN is always enabled and this could pose problems for games that display their status bars or HUDs at the bottom of the screen.
-By default, certain elements of game areas may be obfuscated by the enabled objects.
-Because the function was never used or setup by any commercial game, the applications are severely limited and the masked screen area is always blank.
-Setting up 9902 CHR_TRN does not store the character objects in the area of VRAM. There are two methods of displaying custom objects and both require gratutious work.
1. Set up DATA_SND to modify the SGB/2 using DATA_SND and JUMP so that it can accept a standard 4Kbyte VRAM transfer of CHR_TRN 9902.
2. You will need to write DATA_SND into the area of VRAM at 11 bytes per command.
-Entering the menu will overwrite the existing VRAM and you will need to reload the custom objects. Because there is no practical method of refreshing the objects you would always be constantly writing DATA_SND it may appear wrong for a set number of frames.
-Screensavers or attract mode (ATTRC_EN) is disabled for all original borders. Enabling screensavers while OBJ_TRN mode is enable would interferre.
-The command for OBJ_TRN is a stub command and ends in a ret and does not function. Likewise, the bytes that set the custom system palette do not function.
The defunct and incomplete format for OBJ_TRN would be as follows:
C1030400050006000700000000000000
Please consider supporting my past, present and future projects at patreon.com/nensondubois
Stay tuned for several more game modifications. :)
eof
non RHDN page info due to cluttering the page description area.
https://twitter.com/nensondubois_/status/1342569878243352577 - A detailed explanation of early official documents and some of my own discoveries.
79060F007E??00 (01 Enable 00 Disable) - For SGB-enhanced games
and Game Genie code (requires physically modified Game Genie expansion pins) or a Pro Action Replay MK3 cart (verified works!)
00814D07
Database match: Super Game Boy 2 (Japan)
Database: No-Intro: Super Nintendo Entertainment System (v. 20180813-062835)
File/ROM SHA-1: E5B2922CA137051059E4269B236D07A22C07BC84
File/ROM CRC32: CB176E45
Super Game Boy 2: Enable Unused Unfinished OBJ_TRN mode Game Wiki
Experience Super Game Boy 2: Enable Unused Unfinished OBJ_TRN mode Game (USA) online wiki exclusivly at RetroSpot.net. View Super Game Boy 2: Enable Unused Unfinished OBJ_TRN mode and use it with an core of your choice. Super Game Boy 2: Enable Unused Unfinished OBJ_TRN mode is compatible with PC, Mac, iOS and Android. RetroSpot is USA #1 choice for Retro Game information for games like Super Game Boy 2: Enable Unused Unfinished OBJ_TRN mode.