Trying to make a very accurate SMB port to Game Maker

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Trying to make a very accurate SMB port to Game Maker
by on (#26838)
I want to try to make a seriously accurate port of SMB into Game Maker.
The display style can't really be reproduced but the physics could.

I'm gonna try to use the disassembly for a source of alot of the variables and all.

by on (#26839)
Considerating someone did it using Flash, good luck. ^_^;;

by on (#26902)
Ok, first off I'm gonna need to know how NES calculates values to place them in effect, especially for moving things.

Game maker's movement runs by a variable called "speed".

1 speed = 1 pixel movement per step/frame/clock cycle.
Mario's walk speed is like 18, but I know he doesn't move at 18 pixels per frame.

I need to kinda pick up on how or where in the ASM does it apply this value into mario's speed.

by on (#26907)
It's likely that the game uses "fixed point", where each speed is a fraction with a constant denominator. Can speeds in Game Maker be floating-point, or fraction, or decimal?

by on (#26909)
yeah fraction and decimal.
as in .2 or 1/5
what would a float point be?

It would be easier if FCEU XD had a frame-by-frame option.



After examination it seems like speed 0f = 15 pixel movements out of 16 frames.

so the speed would be 15/16.

It does used fix points.

by on (#26912)
Sorry to doublepost but I made a compilation of the project of how it is so far. Check it out:

http://www.box.net/shared/rpym327g18

by on (#26914)
No way you're going to get exact Mario physics unless you manually manage calculations. Any pre-supplied velocity or whatever will surely not offer enough control to do it.

by on (#26917)
What I really need to know is how it applies values.

by on (#26929)
Wiki is your friend... ^_^

http://en.wikipedia.org/wiki/Floating_point

by on (#26935)
I doubt you will achieve a "seriously accurate port" like this.

by on (#28154)
This project is out.
But I did manage to make a nice port of Donkey Kong.