Register - Login
Views: 99790504
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 03:44:46 AM
Jul - Posts by OniLink10
Pages: 1 2
OniLink10
User
Level: 12


Posts: 1/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-09-09 07:35:44 PM, in Mario 64 'C' header files Link
This is very helpful! However, sadly I've run into a problem with this. NEMU can't even open Etnded ROMs, so I can't test with NEMU, and Project64 won't let the code run, it will crash with a "Memory out of Range" or something. Can anyone help me? Here's my Code and the C Code for it if that helps find my problem:

812CB26C 0C10

812CB26E 0000
812CB278 1000
812CB27A 0040
813FF000 3C1C
813FF002 8040
813FF004 279C
813FF006 0030
813FF008 3C06
813FF00A 8040
813FF00C 24C6
813FF00E 001C
813FF010 2404
813FF012 000A
813FF014 080B
813FF016 59B0
813FF018 2405
813FF01A 0014
813FF01C 5465
813FF01E 7374
813FF020 696E
813FF022 672C
813FF024 2031
813FF026 2032
813FF028 2033
813FF02A 00AA
813FF02C AAAA
813FF02E AAAA




#include "include/n64.h"

#include "include/mario64.h"

void _start(void)
{
asm volatile("la $gp, _gp")
PrintXY(10,20,"Testing, 1 2 3")
}


Can anyone help?
OniLink10
User
Level: 12


Posts: 2/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-09-09 08:34:10 PM, in Mario 64 'C' header files Link
It works now! Thank you so much! But, could you explain something to me? I set the X Coordinate of the Text to 10, and the Y Coordinate to 20, yet the Text was at the very bottom, and the word "Testing," was all stacked up on the left. Does the game measure the X and Y Coordinates for Text in Characters?
OniLink10
User
Level: 12


Posts: 3/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-09-09 09:57:35 PM, in Mario 64 'C' header files Link
Originally posted by messiaen
The text is sort of centered around the X coordinate, so try for instance using PrintXY(150,60,"Testing, 1 2 3");. I think the range of X, Y values is 320x240.

Ah, that makes sense. Thanks so much!
OniLink10
User
Level: 12


Posts: 4/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-09-09 10:43:29 PM, in Complete List of ROM/RAM Values? (last edited by OniLink10 at 05-09-09 07:44 PM) Link
Is there a complete list of all the known ROM/RAM Addresses and what they are for yet? If there is, I highly recommend it be stickied. It would help with keeping track of what has been discovered, may possibly help us discover new things linked to what we already know, and will help us prevent 2 people "discovering" the same thing. If there isn't a list already, we could start it right here!
OniLink10
User
Level: 12


Posts: 5/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-12-09 12:48:30 AM, in Help/Questions about Toad's Tool 64 and SM64 hacking (last edited by OniLink10 at 05-11-09 09:49 PM) Link
Not sure if this has been asked already(Don't want to read through 16 Pages of Questions), but can anyone teach me about the 1-6 Bit Floating Point S,T Coordinates used for storing the Texture Locations in ROM? What I mean is Bytes 9-12 of the Level Geo's Vertices. I've tried Googling and searching the documentation, yet can't find anything.
OniLink10
User
Level: 12


Posts: 6/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-12-09 02:09:26 PM, in Help/Questions about Toad's Tool 64 and SM64 hacking (last edited by OniLink10 at 05-12-09 11:14 AM) Link
Originally posted by VL-Tone
Originally posted by OniLink10
Not sure if this has been asked already(Don't want to read through 16 Pages of Questions), but can anyone teach me about the 1-6 Bit Floating Point S,T Coordinates used for storing the Texture Locations in ROM? What I mean is Bytes 9-12 of the Level Geo's Vertices. I've tried Googling and searching the documentation, yet can't find anything.


I had a pretty hard time finding anything about the texture coordinates format, since it was only described by the n64 devkit documentation as the "10.5 format" and I couldn't find anything about it.

What I eventually discovered is that the format is based on the IEEE-754-1985 "Binary Floating-Point Arithmetic" format, but using only 16-bits, with 10 bits used for the significand ( or mantissa) and 5 bits used for the exponent (plus one sign bit).

Here's the wikipedia entry for IEEE-754-1985: http://en.wikipedia.org/wiki/IEEE_754-1985

This format is also known as "s10e5" and is used by some recent graphic cards (nVIDIA) on a low-level.

Check out this document describing a s10e5 c++ class definition: http://www.mrob.com/pub/math/s10e5.h.txt

I had found a pretty nice document which help me a lot to write a decimal-to-s10e5 converter for use with the TT64 level importer, but I can't find it... It's been a few months since I've worked on it so I couldn't really teach you how it works from the top of my head.


Woah, I was just looking at that Wikipedia Article while trying to figure out the data format!
So, if I did this correctly, 0x50DE(Used in Flatworld) translates to 0101000011011110 in Binary, which splits into 0 Sign, 10100 is 20, but the 5-Bit Bias is 15, so 20-15=5, so Exponent is 5, and 0011011110 is 2.22, and 2.22*10^5 is 222000. So, if the XYZ Coordinates are 0x2000,0x0000,0xDFFF(Used in Flatworld), then the S,T(I hear they are also known as U,V?) Coordinates are 0,222000, according to Flatworld. Hmm, I don't see how this relates to the X,Y,Z Coordinates. Maybe it has to do with the Texture Size? Hrm...
OniLink10
User
Level: 12


Posts: 7/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-12-09 10:13:31 PM, in Toad's Tool 0.6.0 (On hiatus for an indefinite amount of time) Link
Originally posted by VideoGuy
I have been reading this thread for quite a while and am very excited for the importer.

I have two questions, that I believe have not been asked before, although I could be mistaken.

1) In addition to the imported ground, will our levels have the 200-something empty objects that were available in the original Flatworld?

2) You mentioned being able to import textures for the created levels. Do these have to be set externally or is there an option to use textures that are already in Super Mario 64? For example if I want a grass area on my level, could I use the grass texture that is in such levels as Bob-omb Battlefield?

I can answer this.
1)The Level Geometry is separate from the Objects, so yes, you will have all of the Objects available.

2) I would assume that VL_Tone would make it so that you can use internal Textures in the Terrain, as well as insert new Textures into the ROM to use in your custom Level Geometry.
OniLink10
User
Level: 12


Posts: 8/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-13-09 02:18:51 AM, in Help/Questions about Toad's Tool 64 and SM64 hacking Link
Hrm, just tried loading my ROM(edited the Level by hand, may have missed something), and I get an error when it begins to render: Value out of Range. What do you think it could be? I have no idea what part of my code is causing this, so I'll just post it all:

20 00 00 00 20 00 00 00 00 00 00 00 00 00 00 FF

20 00 00 00 DF FF 00 00 50 DE 00 00 00 00 00 FF
DF FF 00 00 DF FF 00 00 50 DE 50 DE 00 00 00 FF
DF FF 00 00 20 00 00 00 00 00 50 DE 00 00 00 FF
10 00 01 00 10 00 00 00 00 00 00 00 00 00 00 FF
10 00 01 00 EF FF 00 00 50 DE 00 00 00 00 00 FF
EF FF 01 00 EF FF 00 00 50 DE 50 DE 00 00 00 FF
EF FF 01 00 10 00 00 00 00 00 50 DE 00 00 00 FF
E7 00 00 00 00 00 00 00
B7 00 00 00 00 01 00 00
FC 12 7F FF FF FF F8 38
F5 10 00 00 07 00 00 00
BB 00 00 01 FF FF FF FF
E8 00 00 00 00 00 00 00
F5 10 10 00 00 01 40 50
F2 00 00 00 00 00 C0 7C
FD 10 00 00 09 00 58 00
E6 00 00 00 00 00 00 00
F3 00 00 00 07 3F F1 00
03 86 00 10 07 00 01 5C
03 88 00 10 07 00 01 60
04 30 00 00 07 00 00 00
BF 00 00 00 00 00 0A 28
BF 00 00 00 00 0A 28 32
BF 00 00 00 00 0A 14 32
BF 00 00 00 00 14 32 3C
BF 00 00 00 00 14 1E 3C
BF 00 00 00 00 1E 3C 46
BF 00 00 00 00 1E 00 28
BF 00 00 00 00 1E 28 46
BF 00 00 00 00 28 32 3C
BF 00 00 00 00 28 3C 46
FF FF FF FF
A0 A0 A0 FF
00 40 00 08
20 00 00 00 20 00
20 00 00 00 DF FF
DF FF 00 00 DF FF
DF FF 00 00 20 00
10 00 01 00 10 00
10 00 01 00 EF FF
EF FF 01 00 EF FF
EF FF 01 00 10 00
00 00 00 0A
00 00 00 01 00 04
00 01 00 04 00 05
00 01 00 02 00 05
00 02 00 05 00 06
00 02 00 03 00 06
00 03 00 06 00 07
00 03 00 00 00 04
00 00 00 04 00 07
00 04 00 05 00 06
00 04 00 06 00 07
00 41 00 42



I also changed the Level Script to have the Polygon Pointer, Level Start/End, and Collision Pointer correct, so I don't know what could be wrong. Also, the Level is at ROM Address 0x1203000. If I need to give any more info, I will!
OniLink10
User
Level: 12


Posts: 9/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-13-09 04:27:39 AM, in Help/Questions about Toad's Tool 64 and SM64 hacking (last edited by OniLink10 at 05-13-09 01:31 AM) Link
Originally posted by VL-Tone
Originally posted by OniLink10
Hrm, just tried loading my ROM(edited the Level by hand, may have missed something), and I get an error when it begins to render: Value out of Range. What do you think it could be? I have no idea what part of my code is causing this, so I'll just post it all:

----------

I also changed the Level Script to have the Polygon Pointer, Level Start/End, and Collision Pointer correct, so I don't know what could be wrong. Also, the Level is at ROM Address 0x1203000. If I need to give any more info, I will!


I can see two problem with your script:

The first one is minor, in the sense that it should cause any error in either TT64 or an emulator:


03 86 00 10 07 00 01 5C

03 88 00 10 07 00 01 60



Your pointers to the two shading colors are off. They should be pointing at 0x140 and 0x144, which is where you find FF FF FF FF and A0 A0 A0 FF respectively.

The second problem is a big one and will cause an error in both TT64 and an emulator. You didn't change the number of vertices to be loaded by the 0x04 command.


04 30 00 00 07 00 00 00



See that 0x30 value in the second byte? It should be 0x70 because you changed the number of vertices to 8 instead of 4.

Calculating this value is pretty simple: (number of vertices-1) X 16. Another equivalent way is simply set the low nibble (the left "digit" of the byte) to the number of vertices minus one. If you have 5 vertices, you'll get 0x40. If you have 11 vertices, you get 0xA0. The limit is 16 vertices per 0x04 command (0xF0) and is a limitation of the SM64 3d drawing lib.

So in case you didn't completely understand, you should change the line to this:

04 70 00 00 07 00 00 00

and it should work, unless there are other problems I didn't spot.

As for texture coordinates (S,T or U,V), they represent the corresponding positions of vertices on a 2d texture. If you scale the texture coordinates, you can change the relative texture size, but that's just a side effect of it, their main purpose is to map 2d textures into a 3d object. I suggest you do some research about texture mapping.



I had a feeling that 0x30 had something to do with it, but the Flatworld Battlefield Documentation had no Comment on it. Thanks so much! It loads correctly now, and all I need to do is research Texture Mapping before I can finish this 100%.

EDIT: Oh wait, stupid Project64:
Unable to detect Microcode settings
Microcode ID $4D2AD3FF
Rom

>
What is this?!
OniLink10
User
Level: 12


Posts: 10/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-14-09 02:14:24 PM, in Help/Questions about Toad's Tool 64 and SM64 hacking Link
Originally posted by CF23
How do I change Koopas path in a race on flatbattlefield?

I think there's a program called "Koopa Trajectory Modifier" or something like that. Google it. Not sure though...

Question, will Empty Objects that aren't disabled glitch up the game in any way? Cause I kept getting an error with an unused function when they were enabled, but that went away after I disabled them.
OniLink10
User
Level: 12


Posts: 11/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-17-09 10:36:19 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Could you make an alignment patch to repair a freshly extended ROM?
Or is that what your patch does, and I'm only thinking it patches a Freshly Extended ROM to N64-Compatible Missing Stars?
OniLink10
User
Level: 12


Posts: 12/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-17-09 10:55:45 PM, in Toad's Tool 64 v0.5.994b bugfix release! Bug reports go here! Link
I've had some troubles with the little "Act Bar". Every time I click a certain star, a random star other than that one lights up/dims down. Why is this?
OniLink10
User
Level: 12


Posts: 13/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-19-09 01:40:19 PM, in ToadsTool Suggestions (last edited by OniLink10 at 05-19-09 10:41 AM) Link
I have a suggestion, since I saw in another thread that you plan on changing the Extended ROM. In order to prevent people from scrapping, why don't you make a Text Exporter/Importer? A Level Exporter/Importer(Exports/Imports the actual Level Script and Data)? Pretty much anything that could be exported and imported that hasn't been yet? It would be convenient, and less people would want to(or have to) scrap their projects.

Also good for Backups without Backing up the entire ROM.

Just a suggestion, I don't care if you add it or not, it would just be nice if you did.
OniLink10
User
Level: 12


Posts: 14/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-19-09 10:09:16 PM, in ToadsTool Suggestions Link
Originally posted by Metal_Man88
Mayhaps that could be done, OniLink, but the different stuff in the new version will be so dramatic that the old projects will probably be scrapped in part or whole due to being far less of a change to the game by comparison to what the new version will do.

Furthermore, riddle me this: would it make more sense for him to spend his time just finishing the new features which add to the functionality and allow more real editing, or spend hours creating backwards compatibility with a limited tool for people who scrap their projects over a new version they don't even have to download? (They can continue using the old versions freely, by all means, so why would they scrap it, again? If it's so they can use the new version then clearly they, too, want to do serious polygon hacking, which then gives a very good reason to scrap or have to re-enter the old work, as it's a totally new thing.)

Maybe you're right. It would make more sense to work on the new features. Maybe someone else could make an Exporter/Importer for those kinds of things? I might just go ahead and make it myself.
OniLink10
User
Level: 12


Posts: 15/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-20-09 12:37:44 AM, in Beta Stuff Thread: Beta Trampoline and other stuff Link
I'd say the Inner part between the two checkerboards looks slightly wooden, so maybe decoration? Or maybe it was intended to be a Trampoline, but then they made it static after realizing it looked too wooden and didn't want to have to go back and redo the Texture? If that were true, it would either be laziness on Nintendo's Part, or they were pressed for time, considering this was a release game.
OniLink10
User
Level: 12


Posts: 16/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-20-09 07:19:56 AM, in Toad's Tool 0.6.0 (On hiatus for an indefinite amount of time) (last edited by OniLink10 at 05-20-09 04:25 AM) Link
Personally, I find 24x1MB more than enough. That would be a Total size of 44MB. Maybe 28 Slots instead. You did say that the engine would slow down before 1MB, so I'd advise not going over that. I'm lovin' the new GUI! I wonder what Nintendo would say if they saw this.

Also, for the reimporting .OBJ files, would it overwrite the current level? If so, I'd just have it clear the level and import the new one as if there wasn't a level there before. Or am I misunderstanding?
OniLink10
User
Level: 12


Posts: 17/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-27-09 02:52:33 AM, in Toad's Tool 0.6.0 (On hiatus for an indefinite amount of time) Link
Wait, it's 20MB of non-level data in an Extended ROM, right? I think so, you said a 32MB ROM could have 12 1MB Level Slots. If that's true, then we could make 1MB Level Slots(You said the max was 1MB), then we would have 4 Level Slots in a 24MB ROM, 12 Level Slots in a 32MB ROM, and 28 Level Slots in a 48MB ROM. I'd say that's plenty.
OniLink10
User
Level: 12


Posts: 18/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 05-27-09 11:09:04 PM, in Toad's Tool 64 v0.5.994b bugfix release! Bug reports go here! (last edited by OniLink10 at 05-27-09 10:27 PM) Link
EDIT: I had a problem with TT64 crashing when trying to render the level earlier, and I think I found the cause of it. I got it to work by patching the older version of Flatworld Battlefield, and it worked, until I tried Maximizing the Window. Thing is, it only does this in OpenGL, when I switch to DirectX(which I hate), it works fine. Strange...
OniLink10
User
Level: 12


Posts: 19/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 06-04-09 04:00:04 AM, in Mario 64 'C' header files Link
I didn't mention this before, and I probably should have, but there appears to be no cat command in the DOS Prompt when converting the GS Cheats to NEMU-Style Cheats. This is a problem, I have to make the GS Cheats into NEMU-Style Cheats by hand. > Is there any alternative to cat?
OniLink10
User
Level: 12


Posts: 20/21
EXP: 6626
For next: 1295

Since: 05-09-09


Since last post: 12.9 years
Last activity: 12.3 years

Posted on 06-10-09 01:55:23 AM, in Toad's Tool 64 v0.5.994b bugfix release! Bug reports go here! Link
Originally posted by RDX
Does the "launch rom" button work for anyone?

Cause it's never worked for me. Not sure why.

You need to associate the ROM Format with an Emulator, as in set up Windows so that double-clicking on a file of that type opens it in an Emulator.
Pages: 1 2
Jul - Posts by OniLink10


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

28 database queries, 49 query cache hits.
Query execution time: 0.082641 seconds
Script execution time: 0.023667 seconds
Total render time: 0.106308 seconds