News: 11 March 2016 - Forum Rules

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tigrou

Pages: [1]
1
PLEASE DELETE ME

2
ROM Hacking Discussion / Super Mario Land 2 (GB) level format
« on: October 11, 2015, 10:10:01 am »
Does anyone have information about internal level format used in this game (which is similar to SML3)

I remember there was some information on that page  (in german) but unfortunately it seems to be gone :
http://magicstone.de/rhwiki/article/Super_Mario_Land_2

I checked with wayback machine but no luck.

All I found is this :
http://raccoonsam.byethost8.com/?ckattempt=1

(which we should probably put on data crystal until it's gone forever as well)

3
Hello,

I'm looking for a PSX emulator (or a 3D plugin for it, or just a method) that would allow me to freely look around a 3D scene when a game is playing.
I know one emulator that allow to do that, Dolphin emulator (Wii) : you just need to enable an option in settings and then press keys to move around. sometimes the game just crashes but some games allow to do it and this is pretty nice cause you can easily see how some stuff are implemented.

In the case of Dolphin, I guess it works by multiplying projection matrix just before rendering the whole stuff. For PSX, I could maybe locate where game buffer swap is done and multiply matrices  by myself but it seems a lot of pain, my psx hacking skills are pretty limited, and it will be specific to one game. Any advice ?

4
ROM Hacking Discussion / NES glitches that i dont understand
« on: January 17, 2013, 05:34:55 am »
When playing SMB3 on FCEUX, i noticed that the tiles near right border of the screen have always wrong palette :



Is it a emulator glitch / error, something specific to that game, or due to how nes hardware (PPU) works ?

I remember not having this problem when playing on a real TV, maybe its because this region is not visible ? (has it something to do with HBLANK?)

Also, something strange : setting 0xCF (mario vertical velocity) to 0x80 (-128) and 0xBD (horizontal velocity) to 0x7F (128) will make player "fly" to the right full speed. It will also force game to scroll level horizontally at maximum possible speed (higher than what is possible when playing game normally) and  most tiles will have wrong palette :



What i think is that tiles palette is set at a precise moment and if level is scrolled too fast that moment is "missed". Anyway, no matter scroll speed, tile indexes are always set correctly, why would palette be set separately than tiles indexes (PPU limitation) ?

5
ROM Hacking Discussion / Super Mario Land 3 (Wario Land) RAM map
« on: December 30, 2012, 09:36:40 am »
Hello, I started to have a look at ram values in Super Mario Land 3 (Wario Land).

I wanted to post this in romhacking documents but it seems this kind of document are not accepted : "Documents containing only game specific RAM hacking are out of scope."

Here is what I found so far :

+----------------------------------------------------------------------------------------+
|RAM      |Purpose                                                                       |
|---------+------------------------------------------------------------------------------|
|         |active actors on the screen (enemies, bonuses, throwed coins, ...).           |
|         |                                                                              |
|         |each actor take 32 bytes. there is a maximum of 8 actors.                     |
|         |                                                                              |
|         |enemies with throwable items (eg : boomerang) need a second actor to manage   |
|         |the item.                                                                     |
|         |                                                                              |
|         |a lot of information is enemy specific.                                       |
|         |                                                                              |
|         |actors that are not used anymore (status = 00) are recycled when need of a new|
|         |actor.                                                                        |
|A200-A2FF|                                                                              |
|         |only actors that have status = 02 are drawn.                                  |
|         |                                                                              |
|         |          +00 : status                                                        |
|         |                00 : inactive                                                 |
|         |                01 : out of screen (not visible) but still active             |
|         |                02 : visible                                                  |
|         |          +01-02 : x position                                                 |
|         |          +03-04 : y position                                                 |
|         |          +0A : y position (relative to screen)                               |
|         |          +0B : x position (relative to screen)                               |
|         |          +0E : orientation (01 : right - 02 : left)                          |
|         |          +0F : animation counter                                             |
|---------+------------------------------------------------------------------------------|
|A375     |writing something here terminate level                                        |
|---------+------------------------------------------------------------------------------|
|A376     |indicate if level exit is open (00 : closed, 01 : rising up, 02 : open)       |
|---------+------------------------------------------------------------------------------|
|A600     |writing something here trigger sound effects                                  |
|---------+------------------------------------------------------------------------------|
|A805-A807|total player money                                                            |
|---------+------------------------------------------------------------------------------|
|A808     |hearts                                                                        |
|---------+------------------------------------------------------------------------------|
|A809     |lives                                                                         |
|---------+------------------------------------------------------------------------------|
|A80A     |wario status (00 : small, 01 : normal, 02 : bull, 03 : eagle, 04 : dragon)    |
|---------+------------------------------------------------------------------------------|
|         |rice beach completion.                                                        |
|         |                                                                              |
|         |each bit indicate if a specific level have been completed                     |
|A80B     |                                                                              |
|         |total number of bits used can be different for each world.                    |
|         |                                                                              |
|         |last bit generally indicate if world have been completed (a flag is then show |
|         |on map)                                                                       |
|---------+------------------------------------------------------------------------------|
|A80C     |mt. teapot completion                                                         |
|---------+------------------------------------------------------------------------------|
|A80D     |numbers of levels completed                                                   |
|---------+------------------------------------------------------------------------------|
|A80E-A80F|treasures collected (1 bit per treasure, since there is 15 treasures one bit  |
|         |is unused)                                                                    |
|---------+------------------------------------------------------------------------------|
|A810     |stove canyon completion                                                       |
|---------+------------------------------------------------------------------------------|
|A811     |ss tea cup completion                                                         |
|---------+------------------------------------------------------------------------------|
|A812     |parsely woods completion                                                      |
|---------+------------------------------------------------------------------------------|
|A813     |sherbet land completion                                                       |
|---------+------------------------------------------------------------------------------|
|A814     |syrup castle completion                                                       |
|---------+------------------------------------------------------------------------------|
|A815     |indicate if level check point has been activated (00 : inactive, 01 : active) |
|---------+------------------------------------------------------------------------------|
|A816     |this value is overwritten everytime a level check point is activated. value is|
|         |different for each level.                                                     |
|---------+------------------------------------------------------------------------------|
|A817     |indicate if game have been completed at least once                            |
|---------+------------------------------------------------------------------------------|
|         |control level transition                                                      |
|         |                                                                              |
|A8C4     |      01 : show level title                                                   |
|         |      02 : warp player to start of level                                      |
|         |      03 : normal gameplay                                                    |
|         |      0A : warp to last door used (if no door entered, crashes)               |
|---------+------------------------------------------------------------------------------|
|A900-A901|level scroll y                                                                |
|---------+------------------------------------------------------------------------------|
|A902-A903|level scroll x                                                                |
|---------+------------------------------------------------------------------------------|
|A905     |game internal timer                                                           |
|---------+------------------------------------------------------------------------------|
|A90F     |wario animation frame (when walking, swimming, ...)                           |
|---------+------------------------------------------------------------------------------|
|A911-A912|player position y                                                             |
|---------+------------------------------------------------------------------------------|
|A913-A914|player position x                                                             |
|---------+------------------------------------------------------------------------------|
|A915     |player animation frame (walking, swimming etc...)                             |
|---------+------------------------------------------------------------------------------|
|A916     |player horizontal or vertical flip, invert palette or half visible (bit 4-7)  |
|---------+------------------------------------------------------------------------------|
|A917     |player blinking eyes timer (reset to zero if player make any move)            |
|---------+------------------------------------------------------------------------------|
|A93A     |screen shaker timer                                                           |
|---------+------------------------------------------------------------------------------|
|A94B     |wario invicibility timer                                                      |
|---------+------------------------------------------------------------------------------|
|A964-A965|remaining level time                                                          |
|---------+------------------------------------------------------------------------------|
|A97A-A97B|level coins collected                                                         |
|---------+------------------------------------------------------------------------------|
|A998     |wario flying timer                                                            |
|---------+------------------------------------------------------------------------------|
|AA0A     |flame thrower timer                                                           |
|---------+------------------------------------------------------------------------------|
|AC88     |level animation counter (moving platform, water, ...)                         |
|---------+------------------------------------------------------------------------------|
|         |this array maps level 16x16 blocks to hardware 8x8 tiles.                     |
|AD00-AEFF|                                                                              |
|         |there is 128 blocks in total, each defined by the 4 indexes of 8x8 tiles.     |
|---------+------------------------------------------------------------------------------|
|C000-DFFF|level 16x16 block indexes are decompressed here. level size is 256 x 32       |
|         |blocks.                                                                       |
+----------------------------------------------------------------------------------------+

6
ROM Hacking Discussion / GTA Chinatown Wars - Camera hack
« on: April 10, 2012, 10:31:42 am »
Hello everybody,

I would like to know if anybody here ever try to hack / modify something in GTA - Chinatown wars (ds version) ?

Here is a screen of the game :



I think it would be nice to change camera angle of the game, to have something much more like previous gta games :



Since the game is not software rendered, I think it should not requires too much effort.

I dont know that much about DS hardware programming, but i think there is some projection matrix setup somewhere before 3D scene rendering. Changing some values there should do the trick ?

However, here is possible things that wont work :

- If rockstar decides to have that view, there is a reason. I guess one of them is limited power of DS. with that view, the game dont need to render a lot of things (frustrum culling). Changing camera view (with some code hack) will maybe show non-rendered areas. Maybe another hack somewhere will be needed to force DS to display everything needed.

- Maybe game will slowdown a bit after that change. But since the game run in emulator its maybe possible to fix that.

- Camera will maybe go inside some buildings / other polygons, like in games where camera is buggy.

- Some 2D sprites (and maybe other stuff) may not render correctly, because the view angle has changed.

or... maybe everything in the game is calculated from some camera angle (which already change dynamically while playing in the game if i remember correctly ) , so forcing it to be lower wont cause any of the problems stated above (except bad performance)

What do you think of the idea ?
As anyone already try this ? (for GTA CT or any other DS game)

Pages: [1]