News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Pause screen map scrolling issue

Started by passarbye, June 02, 2013, 06:20:08 PM

Previous topic - Next topic

passarbye

So i've been working on my own hack as of late, and i've run into a bit of an issue with DSO's hex tweak found on the Hex page of the main site.

11297 - 85 B1 to C6 B1
112C6 - 85 B1 to E6 B1
112D3 - 85 B1 to C6 B1
112E0 - 85 B1 to E6 B1
The pause screen map scrolls much more smoothly (found by DSO).
I've applied the tweak, and double checked to make sure it was entered correctly and it is.
here's a conversation that MetroidMST and I had about it:
[17:30] passarbye i'm having an issue with the pause screen scrolling if anyone knows how to fix it.
[17:30] passarbye it's only scrolling left and right after applying DSO's hex tweak found on the main site
[17:32] MetroidMst That DSO man. . . He has some shady tweaks. . .
[17:32] MetroidMst Have you applied other patches/asm?
[17:32] passarbye lemme check
[17:33] MetroidMst It may be conflicting with something, though I doubt it for that part of the ROM.
[17:33] MetroidMst Or, it may not have been entered in right.
[17:33] passarbye JAM's bugfix compilation, but i don't recall it saying anything about the map screen
[17:33] passarbye and i double checked it, it's entered right
[17:35] passarbye the patch doesn't alter any space within 11297-112E0, which is where the tweak is
[17:37] MetroidMst Then I have nothing.
[17:42] passarbye alright, i'll make a topic on it and see if someone knows more about it. i've searched and couldn't find anything on it.

HERE is a link to the patch i am referring to and using.
after applying the hex, the screen only scrolls left and right even when pressing up and down.
i'm not sure if the problem lies with the tweak itself, or if something just went wrong, or if this is a common known problem, but some help would be appreciated.


Quietus

To ask the obvious question: Have you explored enough vertical rooms within the map to enable vertical scrolling?  All map scrolling is disabled until enough rooms have been explored in one direction or the other.  For example, in the original game, no vertical scrolling can be done until nearing the bottom of the Crateria shaft.

passarbye

Quote from: Quietus on June 02, 2013, 06:57:11 PM
To ask the obvious question: Have you explored enough vertical rooms within the map to enable vertical scrolling?  All map scrolling is disabled until enough rooms have been explored in one direction or the other.  For example, in the original game, no vertical scrolling can be done until nearing the bottom of the Crateria shaft.
i had first tested it on a previous save (same ROM after hex applied) with brinstar mostly explored (including kraid), and could not scroll vertically at all.
in fact, it wrapped when i scrolled far enough left or right.
then i tested it on a fresh save, and got to crateria's map station and again, could not scroll vertically.

i'm really not sure what could be causing this.

Quietus

I've just tried on a clean ROM.  I applied JAM's patch, and then altered the hex.  It worked without a problem.  I tired both Crateria and Brinstar, and both scroll in all directions.

passarbye

Quote from: Quietus on June 02, 2013, 07:31:28 PM
I've just tried on a clean ROM.  I applied JAM's patch, and then altered the hex.  It worked without a problem.  I tired both Crateria and Brinstar, and both scroll in all directions.
i suppose i should have just tried that anyway, sorry for the inconvenience.  :=x:
i'll see if it has something to do with JAM's patch, and will report it if there is a conflict.
who knows, it could have been a simple oversight with all the hex editing i was doing. ¯\_(ツ)_/¯

passarbye

Double post because i found out what the problem was.
on the main site, the hex tweak is shown as this:
11297 - 85 B1 to C6 B1
112C6 - 85 B1 to E6 B1
112D3 - 85 B1 to C6 B1
112E0 - 85 B1 to E6 B1
The pause screen map scrolls much more smoothly (found by DSO).

this is technically incorrect. you will never need to change the second byte, which is B1 on some and B3 on others.
the correct hex is:
11297 - 85 to C6
112C6 - 85 to E6
112D3 - 85 to C6
112E0 - 85 to E6

please change this on the main site so others won't have the same problem that i did!  :^_^:

Quietus

I see what you mean.  There's no need to note the B1, since it never changes.  I don't think it's a major issue, but it may as well be changed.

Boostguardian

I managed to get these values to work, however when I scroll the map the rooms fall halfway between the grid lines instead of upon them.
I'm thinking maybe the values aren't quite right?

passarbye

Quote from: Boostguardian on June 03, 2013, 07:06:51 AM
I managed to get these values to work, however when I scroll the map the rooms fall halfway between the grid lines instead of upon them.
I'm thinking maybe the values aren't quite right?
is this only horizontally?  :pwuh: i've got the same thing except it's only on the horizontal plane. (i don't mind it though)
for me, vertically they stay on the grid every time you tap the button up or down.

P.JBoy

Changing only the first byte should fix the problem completely. The B1 and B3 are corresponding to the horizontal and vertical scrolls respectively, so if none of them are B3, the map will never scroll down.

You can have really fine control over how the map scrolls by changing the (16-bit) values at 112E4..11303 and 11304..11323. I've not looked into exactly how it works, the game uses: 0000, 0000, 0000, 0008, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000 by default for both, and I don't know what the difference between the two ranges is. But if you set them all to 0001, you get the same result as the above hex tweaks; I hypothesise that the first range is for the moment the direction is pressed, and the second range is looped while the button is held, but I don't know.

Also, changing the (16-bit) value at 112A3 will determine the interval between the sound being made while scrolling, but the value has to be a power of 2 subtract 1 (2n-1), i.e. all bits to the right of the top set bit are also set