Register - Login
Views: 99381093
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 11:47:45 PM
Jul - Posts by VL-Tone
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 ... 22 23 24 25 26 27 28 29 30 31
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 144/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-22-07 06:15:22 AM, in What Now? A pickable Peach Object? Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by yoshiman
It was me who created the pick up Peach code as can be viewed on YouTube (search for yoshielectron). The reason why Peach appears as she should is because I've bothered to include her animation pointer.

One pointer indicates which gfx structure the object uses. And for animated objects you use the animation pointer otherwise you get a messed up object.



Oh, so you're that legendary James guy? Welcome to the forum!

I've known about your site since quite a while, there are many very interesting discoveries on it. I've been thinking of emailing you, but then the laziness bug bit me (it wouldn't be the first time...).

As I understand it, you're specialized in the RAM hacking side of Super Mario 64. Using the Equalizer, which is a super powerful GameShark-type device, you've reverse-engineered some of the mechanics behind the SM64 engine.

But what you've been stumbling on is different from what's edited by TT64, and it's actually a part I don't know much about (except from reading your info). While TT64 edits the level commands in the ROM that place objects in levels, what you've been editing is the "live" variables and parameters in RAM of the objects that are currently in the game as you play it. (You may already know that, but I'm explaining it for everyone else)

The 608 bytes data structures you're talking about on your site don't exist in the ROM as is.

The 0x24, 0x42 and 0x43 commands that TT64 can edit are the macro commands that initialize these data structures as the level is created.

For example, a 0x24 command may place an object at an X, Y and Z position which is essentially, its starting pos. When the level is initialized a 608 bytes structure is created in one of the 240 slots in RAM . Then, the X, Y and Z variables in that RAM structure may change according to the behavior assigned to the object. Note that a level command may create more than one structure thus using more than one slot, for example: the cannon base will spawn the cannon itself as another RAM object, which will itself spawn a bubble object if it's a bubble cannon.

You end up having more control over objects when you edit these RAM variables, because more parameters are available to be modified. For example, the 0x24, 0x42 and 0x43 commands don't include variables for size, but the 608 bytes RAM objects have width, height and depth variables.

While there are ways to edit some geometry layout commands in ROM to change the global size of an object, not all models include a size command, and changes will affect ALL objects of this type. If you changed the Flyguy enemy model to be 10x bigger by editing a geometry layout command in ROM (or scaling vertices), every Flyguy would appear this size in the game. On the other hand, changing the w, h and d variables in the RAM structure can be done on individual objects in the current level, so you could have Flyguys of various sizes.

So the thing is, many of your codes can't be easily transformed into an .IPS (or .PSF) patch, because the ROM level commands are not powerful enough to control all of the same variables, which are generally controlled by ASM functions called by the behavior code.

With some recent discoveries in animation command hacking tough, I could recreate the pickable Peach object mod as a ROM hack.

Still, there are tons of things you've discovered that can be useful to ROM editing and the advancement of SM64 hacking. As we'll begin to understand the mechanism that go from a level command in ROM to a 608 bytes data structure in RAM, it may eventually be possible to create a new "super" level command that can directly set all of these parameters, so we could set up levels with objects like boxes of different width, height and depth, much like the GoldenEye engine is able to do. That will require some ASM hacking for sure, but it would be worth it.

Anyway, maybe a whole thread could be created about hacking these RAM objects, and obviously you're welcome to participate in it

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 145/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-22-07 06:47:30 AM, in Help/Questions about Toad's Tool 64 and SM64 hacking (last edited by VL-Tone at 12-22-07 03:50 AM) Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by nevum
Hey guys, just wondering if there is going to be a Vista-compatible TT64 soon


Ask Adobe...
http://www.adobe.com/products/director/special/crossproduct/faq.html



When is the next version of Director software expected to be released?

Adobe has not published an official time frame for the next release of Director and generally does not disclose details of new releases more than 30 days before a product is expected to ship. However, our current planning assumption is that the next major release of Director will be announced in January 2008.



They've just recently changed that tidbit in their FAQ page, previously they were talking about having Director 11 released by the end of 2007. It seems that it will be pushed back, but at least we know we'll have some official announcement this January. I don't think the actual release will be much later than March 2008.

Director was heavily neglected by Macromedia over the last few years, before they were bought by Adobe. Director 11 won't include many new features, even though the last release dates back to 2004. The reason is that most of the work they had to do first is cleaning the neglected and somewhat messy code base. They had to do that anyway mainly because of the fact that they had to port it to intel Macs. While moving Mac apps from PPC to intel was relatively easy for smaller apps, they had no choice but to get to know the program code inside and out, to get rid of the legacy code and hacks. Director 1.0 was released in 1988, and while I'm sure they've did some big rewrite at one point, there's probably a lot of old stuff found in Director MX 2004 (version 10).

They could've done a quick and easy port to Vista (kinda like they did with the Vista Shockwave plug-in) but in a way the intel Mac port forced them to clean up their code so they get a code-base that they'll be able to use to build new extensive features for the next big version (Director 12). So while the intel Mac port may have created a delay for the Vista version, in the end it will be a better thing for both Mac and Vista users.

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 146/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-22-07 06:51:54 AM, in TT64 Version 0.5.9b Released! Bug reports here. Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by Garth
All 3 users on my computer are administrators. But TT64 only works on the user that when it was made it was an admin. The other two WERE standard until last week. I re-downloaded it and it still has the same problem.


So TT64 still works on the initial admin account?

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 147/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-24-07 03:53:42 AM, in What Now? A pickable Peach Object? Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
There is only one Peach model, but in the geometry layout commands, there are two Peach body part hierarchies. One for the starting sequence where she fades out, and one for the end.

Please refer to this document: http://homepage.mac.com/qubedstudios/PeachGeo.txt and this post: http://jul.rustedlogic.net/thread.php?pid=15523&r=1#15523 for a more detailed description and instruction to make Peach always visible.

There are commands that can write to arbitrary parts of RAM, but they wouldn't be useful for the intended purpose, because we need something that works with the slot allocation system for RAM objects.

For sure there are ASM functions used by the behavior ASM code to set parameters of the RAM objects, that's how for example, the squished Goomba animation can be performed by changing the height parameter of the RAM object. I'm not sure though if these commands can be used.

Yoshiman, when you're talking about the pointer to the behavior coding, are you talking about a pointer that starts with "13" (which is the bank number for behavior scripts)? If so, then this is one of the things that TT64 can edit. You can get a list of most of the behaviors in this doc: http://homepage.mac.com/qubedstudios/SM64Behaviors.txt

Anyway, let's move the rest of the discussion in the "Editing RAM objects" thread.


____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 148/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-24-07 04:41:23 AM, in Editing the RAM objects (last edited by VL-Tone at 12-24-07 04:22 AM) Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by yoshiman

One of the object variables is a pointer to the behaviour coding, for all we know there might be unused behaviours? This was how, for example, I made a ghost Peach by using the Big Boo behaviour pointer; the behaviour coding can be used in any level. But be warned, some behaviour pointers cause the game to crash if used with certain objects, this may be due to the coding finding values within the object structure that it doesn't 'like.'

I really need to look at the ASM in more detail, see how it handles the object behaviour. Compared to Ocarina of Timer and Resi Evil 2 on the N64 that I know quite a bit how the objects are handled, SM64 although simple has features that perhaps were planned to be used at one time. For example, you can rotate an object's collision idependent of the actual object rotation so you can, for e.g., read only the back or side of a signpost.

We really need to take SM64 apart, I'm sure there is something hiding...

James S.




As I've said in the other thread, if the behavior pointers are the same as those that are set by ROM level commands, you might be interested in this document: http://homepage.mac.com/qubedstudios/SM64Behaviors.txt

The behavior pointers (13XXXXXX) refer to what I've called "behavior scripts" which are a few commands that set different aspects of the behavior for a given object. Behavior scripts can, amongst other things, set the animation sequence of an object (using the 0x27 command). The 0x27 command is described in more details in this thread: http://jul.rustedlogic.net/thread.php?id=954

Other behavior commands include one to set the collision map of a single object (0x2A) and other commands can spawn sub-objects (0x1C, 0x29 and 0x2C). The 0x0C command calls ASM routines found in RAM, and this is where the real magic happens.

[0C] [00 00 00] [80 2A CC 3C]


[0]= 0C is the command byte.
[1,2,3]= Always zero, unused?
[4,5,6,7]= Offset in RAM of the ASM function.



I haven't studied much of the ASM routines that are referred by the 0x0C commands, but once we reverse-engineer most of it, we'll be able to do very interesting stuff.

Originally posted by yoshiman
I know a lot about the so-called 'RAM objects,' I'm putting a list together about the different variables that belong to a structure. From what I understand, the level details only set a few of the variables such as position and rotation, very much as is the case of Ocarina of Time. However, the level details are copied to the RAM in Ocarina of Time but this does not seem to be the case for SM64.



At which address the RAM objects are stored?

The ROM level commands are also copied to RAM in SM64, like in OOT. I guess you just didn't stumble on them.

Originally posted by HyperHacker
I doubt that's really support for planned but unused features so much as just quirks of the way it's programmed. Many games have collision maps and actual level models separate for speed reasons (the collision map can have much less detail/fewer polygons since it's invisible), so you can make them mismatch if you want.
Originally posted by yoshiman
But be warned, some behaviour pointers cause the game to crash if used with certain objects, this may be due to the coding finding values within the object structure that it doesn't 'like.'
I'd guess it's more likely the code tries to reference a part that isn't in that model.


We're still looking for the Blargg behavior script. There's still a lot of undefined and un-referenced behavior scripts so there's still hope. I also more recently found the animation command pointer for the Blargg: it's 05 00 61 6C. So not only the model is still there, but also the animation data.

Some behavior scripts are dependent on data that's only present in certain levels. Those include behavior scripts that refer to collision data found in a specific memory bank (segment), or those that refer to animation data.

While some object indeed have polygonal collision maps (levels, platforms, boxes etc.), many enemies and Mario himself don't use polygons for collision detection. Because of the complexity of the body, and the fact that it's animated, a spherical collision bubble is instead used. There's no polygon involved, it's only a matter of detecting a collision if the distance between objects is less than X. This is how most 3d games worked until more recently when more powerful and precise physics engines were implemented in games.



Just a little note, the current thread is a related to this thread: http://jul.rustedlogic.net/thread.php?id=1607 (which was trashed).

yoshiman (aka James S.) is an experienced SM64 "RAM hacker" that can bring a lot to the SM64 hacking community because of his discoveries. More on his website at http://james.boshikoopa.googlepages.com/game_codes and http://james.boshikoopa.googlepages.com/game_hacking


____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 149/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-24-07 05:00:09 AM, in Future uses for a possible level geometry/collision map editor Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
I was about to write something about explaining why Mario couldn't walk upside-down in SM64, but then I realized that this is not what you were talking about.

Flipping a level upside-down could be done without a complete geometry editor program. Just find the vertices list for both the geometry and collision map, and invert the Z parameter (and maybe add a number to it to modify its vertical offset).

As for this topic, I think it will just create too much hype and expectaTION for a tool that doesn't exist or isn't released yet, detracting attention from what TT64 can do now.

There's tons of fun stuff to do with TT64, and tons of things that are still waiting to be discovered with TT64. If people only focus on what TT64 can't do, they'll only be longing for something, instead of appreciating what they have now.

____________________
(post in restricted forum)
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 151/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-24-07 05:49:50 AM, in Japanese TT64 site (last edited by VL-Tone at 12-24-07 03:27 AM) Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Japanese people have been discovering Toad's Tool 64 lately, as it seems that a well-known Japanese magazine (Windows%100) featured an article about it. It's only natural that they're interested in TT64, because after all Super Mario 64 is a Japanese game!

As discussed previously, my M64 ROM Extender unfortunately doesn't work on Japanese Windows systems. The solution they've found is to create a "difference patch" to extend the ROM. It's in the form of an executable, so that it includes both the patcher program and the patch itself. I've uploaded the program to my website if you want to check it.

http://homepage.mac.com/qubedstudios/JapaneseM64ROMExtender.zip

People using foreign Windows system and/or anyone having problems with my ROM extender might want to try it.

There's a now pretty extensive "atwiki" Japanese page about TT64.

http://www41.atwiki.jp/ttmario64/

Here's the translated version:
http://www.google.com/translate?u=http%3A%2F%2Fwww41.atwiki.jp%2Fttmario64%2F&langpair=ja%7Cen&hl=en&ie=UTF8

Amongst other things, there's a page with a few mod patches http://www41.atwiki.jp/ttmario64/pages/26.html Again they're mostly .exe files (I'm not sure if they're supposed to be applied to an unextended or extended ROM).

There's another page with a long list of videos of Japanese SM64 hacks made with TT64:

http://www41.atwiki.jp/ttmario64/pages/35.html

It seems that there's a lot of SM64 hacking activity over there, I wish I could read Japanese and didn't have to use online translators!

Edit: The videos are on nicovideo.jp which is a Youtube-like japanese site that requires registration to view the video. To register, follow the instructions found at: http://www.neogaf.com/forum/showthread.php?p=8551398

To disable the scrolling comments, click on the little bird icon found at the bottom of the player.

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 152/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-26-07 05:19:22 AM, in Future uses for a possible level geometry/collision map editor Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Ok then, dream on guys...

Just don't beg for the geometry editor, and keep in mind that there's still lot of fun things that can be done with TT64 as is, just check out the Japanese mods.

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 153/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-26-07 06:05:51 AM, in Japanese TT64 site Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
I've been watching the Japanese SM64 mods videos over the last few days (I was only aware of the main page, I didn't realize it was a full site with videos and patches until I created this topic). Some of them are really interesting and creative. One even features an "automatic Mario" segment in a Bowser stage http://www.nicovideo.jp/watch/sm1059340

Some mods were made by SM64 pros who created extremely hard levels and goals, and you can see them jumping around with no hesitation on small platforms high in the sky, very impressive stuff.

I think that the average age of the Japanese SM64 hacker might be higher, because of cultural differences. While north-american players in their twenties might have grown disinterested in SM64 and moved to more "mature" stuff, Japanese have been exposed to much more cute and cartoony stuff. So I would think that there's a smaller amount of immaturity in their SM64 hacking community.

Originally posted by HyperHacker
Interesting, I wonder why it doesn't work on Japanese systems? Text doesn't show up, or it doesn't run at all?


The ROM Extender simply doesn't work as intended on Japanese systems. The resulting extended ROM would be unusable, and simply reading the checksum fails so you can't even manage to get to that point.

Here's why:

To enable fast copying of large binary data chunks in Director MX, I had to use the Binary IO Xtra, which is a plug-in for Director. The built-in File I/O Xtra is not suited for binary data I/O.

The Binary IO Xtra can quickly read large amount of data directly into a text variable. I'm using the Binary IO Xtra to copy the decompressed MIO0 banks into the extended ROM, loading them into a variable, and then writing the data back directly from the variable.

The problem is that on a Japanese system, Director MX uses a different internal representation of text variables (Unicode) which as a result corrupts the data read from the Binary IO Xtra (for some reason, some bytes end up being skipped).

TT64 itself uses a different Xtra to read/write data, which is slower and read data in list variables that look like that [255,0,0,120,232,34,50]. So TT64 works on Japanese systems, but not the ROM Extender. I could retrofit the other File Xtra into the ROM Extender, but it would end up being much much slower. Anyway there are other problems with the ROM Extender, one being that it doesn't work with WINE on Linux (but TT64 does.)

Anyhow, Cellar Dweller has been kindly working on a new cross-platform ROM Extender written in C (which will work in Windows, Mac and Linux). He already gave me a working command-line prototype, and he intends to add a GUI.


____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 154/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-26-07 07:09:26 PM, in Japanese TT64 site Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by Kles
Originally posted by HyperHacker
Er, how do you watch the video? I only see a thumbnail.




Gotta register. Look up on Google how to do it. (register nicovideo or something)




You can google it, or you can take a look at the last link in the first post of this thread.

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 155/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-27-07 04:38:40 AM, in Hacking animations Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
yoshiman, you might want to take a look at this thread: http://jul.rustedlogic.net/thread.php?id=954

What I'm describing there is the 0x27 animation command used in the behavior scripts. The command includes a pointer to animation data which is found in the same MIO0 (compressed) data bank as the geometry for a particular animated object.

I didn't spend much time on analyzing the format of the animation data, but it seems to be related to the animation values you're talking about. It contains a series of rotation values, arranged in a hierarchy that matches the body hierarchy.

But Mario is a special case, its behavior script doesn't contain a 0x27 command, and I've found no traces of animation data anywhere in Mario's MIO0 data bank. In fact it's behavior script doesn't seem to be used that much, you can change values and things, and the only difference you'll see is that for some reason Mario will run faster. Aside from that, he seems to be controlled by an entirely different animation system.




____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 156/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-27-07 04:41:43 AM, in Japanese TT64 site Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by HyperHacker
Originally posted by Kles
Originally posted by HyperHacker
Er, how do you watch the video? I only see a thumbnail.




Gotta register. Look up on Google how to do it. (register nicovideo or something)


Booooooooo.



Yeah, it's a drag, but nicovideo contains a large collection of very nice video-game related stuff (amongst other things) that you usually can't find on Youtube. I guess that registration is a way to prevent the site from being invaded by stupid westerners

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 157/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-27-07 04:44:37 AM, in SM64 RSP Commands Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
I guess that moving models from SM64 to SMK64 would be easier than in the opposite direction?

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 158/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 12-27-07 05:38:15 AM, in Editing the RAM objects Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by HyperHacker
Originally posted by yoshiman
Am I right in thinking that the lower polygon Mario is used for collision purposes or is it the original model left in?
I'm pretty sure it's for when Mario is far enough from the camera that most of the detail would be lost. A lot of games will use low-polygon models for far-away objects since you wouldn't notice it at that distance anyway.


Yeah it's a LOD (level of detail) system, but it only applies to Mario. There are actually 3 different Mario models. TT64 includes a feature to disable the low-polygon Mario and use the high-poly version in all cases, and somehow it doesn't seem to slow down the game.




Ok, so I've done a little RAM searching with the latest version of PJ64, and I've found the 608 bytes long RAM objects and did some experiments.

When in the Castle Ground level (NTSC version, which is the only one I'm gonna refer to), at 0x8033D6E8 in RAM you can find the data structure of a tree. This tree in TT64 is the 2nd object in the 0x43 list (the first being the Castle Tower).

At 0x33D788 you can find the current X Y and Z coordinates (and size?).

But the most interesting find was what yoshiman call the behavior pointers. To avoid confusion, we should use a different name since in TT64 it means something else.

Let me explain:

In the level setup commands found in ROM (and also copied in RAM), the behavior pointer for a tree is 13002AA4. It's a pointer for a behavior script, found at offset 0x2AA4 in bank 0x13

Here a quote from this doc: http://homepage.mac.com/qubedstudios/SM64Behaviors.txt


Behavior scripts are loaded in bank 0x13. They define some basic parameters an object behavior. The core of the behavior logic though is in ASM functions, which are called by the behavior scripts using the 0x0C command.


Bank 0x13 is copied to RAM from location 219E00 to 21F4C0 in ROM. The location in RAM of bank 0x13 is dependent on which other bank was loaded before, though I think that the banks loaded before are usually the same since these are shared by most levels.

So, to get back at this tree behavior script, here's what it looks like:


ROM Addr: 0021C8A4 Hex Behav: 13002AA4

Description: Tree Behavior
21C8A4/002AA4 00 0A 00 00
21C8A8/002AA8 21 00 00 00
21C8AC/002AAC 11 01 00 01
21C8B0/002AB0 10 2A 00 40
21C8B4/002AB4 23 00 00 00 00 50 01 F4
21C8BC/002ABC 10 05 00 00
21C8C0/002AC0 08 00 00 00
21C8C4/002AC4 0C 00 00 00 80 2C 63 E8
21C8CC/002ACC 09 00 00 00



The only command I know really in this particular script is the 0x0C command. It points to an ASM function in RAM (at location 0x802C63E8 in this case) where the actual behavior code is executed.

While experimenting in the 608-byte RAM object, I've found what yoshiman call the behavior pointer in this case: 0x80EDC44.

The pointer is found at two places in the 608 bytes structure, at 0x8033D8B4 and 0x8033D8BC.

Here's the interesting part, if you look at the location referred by the pointer (0x80EDC44), here's what you find:

80EDC44: 0C 00 00 00 80 2C 63 E8 09 00 00 00

Looks familiar? It's the 0x0C command found in the tree behavior script! And actually, the whole script is there, in fact this location is part of bank 0x13 in RAM.

In some object behavior scripts, there are more than one 0x0C commands, so that explains why yoshiman found objects that had multiple "behavior pointers".

I hope it's not too confusing...

To summarize, there are pointers in RAM object that refer to 0x0C command locations found in bank 0x13 in RAM. These pointers are probably set up while the level is created, and the behavior script for each object is read the first time. The 0x0C commands themselves refer to ASM functions found elsewhere in RAM.




Ok that's about it for now, I'm going to be in vacation for a week or so, with no or little internet access, in the meantime, please be kind to Metal_Man88

____________________
(post in restricted forum)
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 160/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 01-04-08 02:29:32 AM, in Super Mario 64 Saga Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by GlitchGuy2
A series of terror for Mario, SM64S, is a 40 minute long saga I worked on a while back.
Here is the episode
http://youtube.com/watch?v=uPOK9m1bJ0A\
http://youtube.com/watch?v=qkBQ3_Ys29Y&feature=related
http://youtube.com/watch?v=0CqB_sxPhS0&feature=related
http://youtube.com/watch?v=Ve7xoui345M&feature=related This one has no sound

I''m afriad I lost the ROM to this though... Sorry.



Please use the appropriate thread to post your mods or videos. Post your SM64 mods, patches and screenshots here!

You might also want to do some research and learn how to post url addresses on a forum.

This thread will self-destruct in a few hours...

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 161/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 01-04-08 02:50:56 AM, in TT64 Version 0.5.9b Released! Bug reports here. Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by kingwhomp
VL-Tone...,i just had a question...do u know when TT64 will be updated???

Hello, I'm back from my vacation!

Well I can't blame you for asking, since I was supposed to update TT64 a while ago (even though I never gave any specific date).

I didn't work much on TT64 over the last couple of months. Mainly because I had less time. But another reason is that since I upgraded my Mac to OS X 10.5 (Leopard), Director MX (the program used to make TT64) has a big problem. Every other program I have work perfectly under Leopard, but lucky as I am, only Director MX has a problem. The worst part is that others seem to have no problem running Director under 10.5.

Everything works fine, except for one thing: keyboard shortcuts (for menu etc.) stopped working. And it's a pain, since I'm really used to them.

I was waiting for Director 11, the next version (Vista and intel-Mac native) which was supposed to be released by the end of 2007, but the release has been pushed back, as I wrote elsewhere, the release date will be officially announced this month.

So I've been a little reluctant to work on TT64 since then, because it would require me to either dual-boot with Tiger (10.4) or fire up Parallels (Windows VM) each time I feel like working on it. And Parallels runs a little slow when it comes to some of the 3d stuff.

I may still release version 0.6b it before Director 11, because it's been a long time since I've released something, and some of the features of 0.6b were already in the work when I stopped working on TT64 (saving/loading individual levels, reverting to original ROM data)

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 162/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 01-04-08 03:03:16 AM, in SM64 Music Editing Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by matalilo
I've made some research on the Mario 64's sequenced format and just didn't find somthing nice out, but I am working on a decompiler for midi export!

It seems the seq file(s) are not the same as those compressed with "midicomp".

Just now I did somthing in N64 programming and compiled after one day of
messing with the compiler stuff a midi player for the n64! It uses the general midi soundbank and an uncompressed midi-file.

I tested the programm on PJ64 v 1.6 with it's provided plugins /Sync to Audio = on!

I'm working on a new version with improvments like compressed midi, text/video stuff for playback info.

I'll post more info very soon

Link http://uploaded.to/?id=l37mdm (whenever the link should not work just scream

.matalilo



matalilo for some reason your post was completely overlooked by everyone here (including me), even though that midi decompiler project of yours looks promising. I hope you were not discouraged by the lack of replies If you read this, please come back, we need more smart people here

Originally posted by mortalkenshi2
well i went and looked through this data and i looked up the title screen music. I deleted it and replaced with Bob-omb battlefield music and it played really glitched up. It was playing the song but like the main melody was like really deep. Also, I looked through the zelda rom for the addresses that rstewart showed and I didn't really find anything. Can anyone help me out?


I guess it's simply because the instruments and settings for this tracks are different. As for Zelda, maybe the addresses are for different version?

____________________
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 163/621
EXP: 1135507
For next: 21612

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 1.2 years

Posted on 01-05-08 11:15:08 PM, in Editing the RAM objects Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
Originally posted by yoshiman
Yeah, the behaviour pointerss are nothing more than jumps to ASM, that is, coding stored in the RAM. But since that's copied from the ROM, it would be possible to alter how objects behave. I mean, create new behaviours, such as for Mario to ride Yoshi.

James S.



Mario riding Yoshi would be pretty nice, we're not quite there yet, but your info certainly help us move in that direction.

What else can you tell us about the RAM objects? It would be very useful if you could make a list of the variables/parameters you know about.

____________________
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 ... 22 23 24 25 26 27 28 29 30 31
Jul - Posts by VL-Tone


Rusted Logic

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

34 database queries, 41 query cache hits.
Query execution time:  0.077591 seconds
Script execution time:  0.085600 seconds
Total render time:  0.163191 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 147 column 134 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 94 - Warning: unescaped & or unknown entity "&page"
line 149 column 126 - Warning: unescaped & or unknown entity "&page"
line 149 column 158 - Warning: unescaped & or unknown entity "&page"
line 149 column 190 - Warning: unescaped & or unknown entity "&page"
line 149 column 222 - Warning: unescaped & or unknown entity "&page"
line 149 column 254 - Warning: unescaped & or unknown entity "&page"
line 149 column 286 - Warning: unescaped & or unknown entity "&page"
line 149 column 320 - Warning: unescaped & or unknown entity "&page"
line 149 column 352 - Warning: unescaped & or unknown entity "&page"
line 149 column 385 - Warning: unescaped & or unknown entity "&page"
line 149 column 419 - Warning: unescaped & or unknown entity "&page"
line 149 column 457 - Warning: unescaped & or unknown entity "&page"
line 149 column 491 - Warning: unescaped & or unknown entity "&page"
line 149 column 525 - Warning: unescaped & or unknown entity "&page"
line 149 column 559 - Warning: unescaped & or unknown entity "&page"
line 149 column 593 - Warning: unescaped & or unknown entity "&page"
line 149 column 627 - Warning: unescaped & or unknown entity "&page"
line 149 column 661 - Warning: unescaped & or unknown entity "&page"
line 149 column 695 - Warning: unescaped & or unknown entity "&page"
line 149 column 729 - Warning: unescaped & or unknown entity "&page"
line 149 column 763 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 800 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 179 column 73 - Warning: <style> isn't allowed in <td> elements
line 179 column 9 - Info: <td> previously mentioned
line 179 column 1511 - Warning: missing </font> before <blockquote>
line 179 column 1590 - Warning: inserting implicit <font>
line 179 column 1590 - Warning: missing </font> before <hr>
line 179 column 1655 - Warning: inserting implicit <font>
line 179 column 1655 - Warning: missing </font> before <hr>
line 182 column 1 - Warning: inserting implicit <font>
line 179 column 137 - Warning: missing </div>
line 210 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 212 column 9 - Warning: missing <tr>
line 230 column 13 - Warning: missing <tr>
line 233 column 73 - Warning: <style> isn't allowed in <td> elements
line 233 column 9 - Info: <td> previously mentioned
line 233 column 1511 - Warning: missing </font> before <blockquote>
line 233 column 1590 - Warning: inserting implicit <font>
line 233 column 1590 - Warning: missing </font> before <hr>
line 233 column 1652 - Warning: inserting implicit <font>
line 233 column 1652 - Warning: missing </font> before <hr>
line 234 column 1 - Warning: inserting implicit <font>
line 234 column 1 - Warning: missing </font> before <blockquote>
line 238 column 1990 - Warning: inserting implicit <font>
line 238 column 1990 - Warning: missing </font> before <hr>
line 239 column 1 - Warning: inserting implicit <font>
line 239 column 1 - Warning: missing </font> before <hr>
line 242 column 1 - Warning: inserting implicit <font>
line 233 column 137 - Warning: missing </div>
line 250 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 252 column 9 - Warning: missing <tr>
line 270 column 13 - Warning: missing <tr>
line 273 column 73 - Warning: <style> isn't allowed in <td> elements
line 273 column 9 - Info: <td> previously mentioned
line 273 column 1511 - Warning: missing </font> before <blockquote>
line 273 column 1590 - Warning: inserting implicit <font>
line 273 column 1590 - Warning: missing </font> before <hr>
line 273 column 1652 - Warning: inserting implicit <font>
line 273 column 1652 - Warning: missing </font> before <hr>
line 274 column 1 - Warning: inserting implicit <font>
line 273 column 137 - Warning: missing </div>
line 278 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 280 column 9 - Warning: missing <tr>
line 298 column 13 - Warning: missing <tr>
line 301 column 73 - Warning: <style> isn't allowed in <td> elements
line 301 column 9 - Info: <td> previously mentioned
line 303 column 1981 - Warning: unescaped & or unknown entity "&r"
line 303 column 2039 - Warning: unescaped & or unknown entity "&r"
line 301 column 137 - Warning: missing </div>
line 315 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 317 column 9 - Warning: missing <tr>
line 335 column 13 - Warning: missing <tr>
line 338 column 73 - Warning: <style> isn't allowed in <td> elements
line 338 column 9 - Info: <td> previously mentioned
line 338 column 1511 - Warning: missing </font> before <blockquote>
line 338 column 1590 - Warning: inserting implicit <font>
line 338 column 1590 - Warning: missing </font> before <hr>
line 339 column 1 - Warning: inserting implicit <font>
line 339 column 1 - Warning: missing </font> before <hr>
line 346 column 1 - Warning: inserting implicit <font>
line 346 column 1 - Warning: missing </font> before <blockquote>
line 353 column 3675 - Warning: inserting implicit <font>
line 353 column 3675 - Warning: missing </font> before <hr>
line 359 column 1 - Warning: inserting implicit <font>
line 359 column 1 - Warning: missing </font> before <blockquote>
line 362 column 4066 - Warning: inserting implicit <font>
line 362 column 4066 - Warning: missing </font> before <hr>
line 362 column 4131 - Warning: inserting implicit <font>
line 362 column 4131 - Warning: missing </font> before <hr>
line 363 column 4538 - Warning: inserting implicit <font>
line 364 column 1 - Warning: inserting implicit <font>
line 364 column 1 - Warning: missing </font> before <blockquote>
line 369 column 4740 - Warning: inserting implicit <font>
line 369 column 4740 - Warning: missing </font> before <hr>
line 369 column 4808 - Warning: inserting implicit <font>
line 369 column 4808 - Warning: missing </font> before <blockquote>
line 369 column 5140 - Warning: inserting implicit <font>
line 369 column 5140 - Warning: missing </font> before <hr>
line 369 column 5205 - Warning: inserting implicit <font>
line 369 column 5205 - Warning: missing </font> before <hr>
line 369 column 5411 - Warning: inserting implicit <font>
line 369 column 5411 - Warning: missing </font> before <hr>
line 370 column 1 - Warning: inserting implicit <font>
line 370 column 1 - Warning: missing </font> before <hr>
line 378 column 1 - Warning: inserting implicit <font>
line 338 column 137 - Warning: missing </div>
line 384 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 386 column 9 - Warning: missing <tr>
line 404 column 13 - Warning: missing <tr>
line 407 column 73 - Warning: <style> isn't allowed in <td> elements
line 407 column 9 - Info: <td> previously mentioned
line 407 column 137 - Warning: missing </div>
line 415 column 15 - Warning: missing <tr>
line 415 column 15 - Warning: discarding unexpected <table>
line 416 column 41 - Warning: missing <td>
line 422 column 9 - Warning: missing <tr>
line 440 column 13 - Warning: missing <tr>
line 441 column 27 - Warning: missing </nobr> before </table>
line 443 column 73 - Warning: <style> isn't allowed in <td> elements
line 443 column 9 - Info: <td> previously mentioned
line 456 column 2741 - Warning: unescaped & or unknown entity "&langpair"
line 456 column 2758 - Warning: unescaped & or unknown entity "&hl"
line 456 column 2764 - Warning: unescaped & or unknown entity "&ie"
line 456 column 2850 - Warning: unescaped & or unknown entity "&langpair"
line 456 column 2867 - Warning: unescaped & or unknown entity "&hl"
line 456 column 2873 - Warning: unescaped & or unknown entity "&ie"
line 443 column 137 - Warning: missing </div>
line 473 column 9 - Warning: missing <tr>
line 491 column 13 - Warning: missing <tr>
line 492 column 27 - Warning: missing </nobr> before </table>
line 494 column 73 - Warning: <style> isn't allowed in <td> elements
line 494 column 9 - Info: <td> previously mentioned
line 494 column 137 - Warning: missing </div>
line 501 column 9 - Warning: missing <tr>
line 519 column 13 - Warning: missing <tr>
line 520 column 27 - Warning: missing </nobr> before </table>
line 522 column 73 - Warning: <style> isn't allowed in <td> elements
line 522 column 9 - Info: <td> previously mentioned
line 522 column 1511 - Warning: missing </font> before <blockquote>
line 528 column 2593 - Warning: inserting implicit <font>
line 528 column 2593 - Warning: missing </font> before <hr>
line 528 column 2661 - Warning: inserting implicit <font>
line 528 column 2661 - Warning: missing </font> before <hr>
line 529 column 1 - Warning: inserting implicit <font>
line 522 column 137 - Warning: missing </div>
line 548 column 9 - Warning: missing <tr>
line 566 column 13 - Warning: missing <tr>
line 567 column 27 - Warning: missing </nobr> before </table>
line 569 column 73 - Warning: <style> isn't allowed in <td> elements
line 569 column 9 - Info: <td> previously mentioned
line 569 column 1511 - Warning: missing </font> before <blockquote>
line 569 column 1590 - Warning: inserting implicit <font>
line 569 column 1590 - Warning: missing </font> before <hr>
line 569 column 1663 - Warning: inserting implicit <font>
line 569 column 1663 - Warning: missing </font> before <hr>
line 569 column 1731 - Warning: inserting implicit <font>
line 569 column 1731 - Warning: missing </font> before <hr>
line 572 column 1 - Warning: inserting implicit <font>
line 572 column 1 - Warning: missing </font> before <hr>
line 576 column 1 - Warning: inserting implicit <font>
line 569 column 137 - Warning: missing </div>
line 582 column 9 - Warning: missing <tr>
line 600 column 13 - Warning: missing <tr>
line 601 column 27 - Warning: missing </nobr> before </table>
line 603 column 73 - Warning: <style> isn't allowed in <td> elements
line 603 column 9 - Info: <td> previously mentioned
line 603 column 137 - Warning: missing </div>
line 617 column 9 - Warning: missing <tr>
line 635 column 13 - Warning: missing <tr>
line 636 column 27 - Warning: missing </nobr> before </table>
line 638 column 73 - Warning: <style> isn't allowed in <td> elements
line 638 column 9 - Info: <td> previously mentioned
line 638 column 1511 - Warning: missing </font> before <blockquote>
line 638 column 1590 - Warning: inserting implicit <font>
line 638 column 1590 - Warning: missing </font> before <hr>
line 638 column 1670 - Warning: inserting implicit <font>
line 638 column 1670 - Warning: missing </font> before <hr>
line 638 column 1743 - Warning: inserting implicit <font>
line 638 column 1743 - Warning: missing </font> before <hr>
line 638 column 1811 - Warning: inserting implicit <font>
line 638 column 1811 - Warning: missing </font> before <hr>
line 641 column 1 - Warning: inserting implicit <font>
line 641 column 1 - Warning: missing </font> before <hr>
line 644 column 2243 - Warning: inserting implicit <font>
line 644 column 2243 - Warning: missing </font> before <hr>
line 646 column 1 - Warning: inserting implicit <font>
line 638 column 137 - Warning: missing </div>
line 652 column 9 - Warning: missing <tr>
line 670 column 13 - Warning: missing <tr>
line 671 column 27 - Warning: missing </nobr> before </table>
line 673 column 73 - Warning: <style> isn't allowed in <td> elements
line 673 column 9 - Info: <td> previously mentioned
line 673 column 137 - Warning: missing </div>
line 678 column 9 - Warning: missing <tr>
line 696 column 13 - Warning: missing <tr>
line 697 column 27 - Warning: missing </nobr> before </table>
line 699 column 73 - Warning: <style> isn't allowed in <td> elements
line 699 column 9 - Info: <td> previously mentioned
line 699 column 1511 - Warning: missing </font> before <blockquote>
line 699 column 1590 - Warning: inserting implicit <font>
line 699 column 1590 - Warning: missing </font> before <hr>
line 699 column 1670 - Warning: inserting implicit <font>
line 699 column 1670 - Warning: missing </font> before <hr>
line 699 column 1735 - Warning: inserting implicit <font>
line 699 column 1735 - Warning: missing </font> before <hr>
line 699 column 1871 - Warning: inserting implicit <font>
line 699 column 1871 - Warning: missing </font> before <hr>
line 700 column 1 - Warning: inserting implicit <font>
line 700 column 1 - Warning: missing </font> before <hr>
line 704 column 1 - Warning: inserting implicit <font>
line 704 column 1 - Warning: missing </font> before <blockquote>
line 719 column 3446 - Warning: inserting implicit <font>
line 719 column 3446 - Warning: missing </font> before <hr>
line 719 column 3450 - Warning: inserting implicit <font>
line 719 column 3450 - Warning: missing </font> before <hr>
line 720 column 1 - Warning: inserting implicit <font>
line 720 column 1 - Warning: missing </font> before <blockquote>
line 725 column 4061 - Warning: inserting implicit <font>
line 725 column 4061 - Warning: missing </font> before <hr>
line 736 column 1 - Warning: inserting implicit <font>
line 736 column 1 - Warning: missing </font> before <hr>
line 756 column 1 - Warning: inserting implicit <font>
line 699 column 137 - Warning: missing </div>
line 766 column 9 - Warning: missing <tr>
line 784 column 13 - Warning: missing <tr>
line 785 column 27 - Warning: missing </nobr> before </table>
line 787 column 73 - Warning: <style> isn't allowed in <td> elements
line 787 column 9 - Info: <td> previously mentioned
line 787 column 1511 - Warning: missing </font> before <blockquote>
line 787 column 1590 - Warning: inserting implicit <font>
line 787 column 1590 - Warning: missing </font> before <hr>
line 787 column 1657 - Warning: inserting implicit <font>
line 790 column 1852 - Warning: unescaped & or unknown entity "&feature"
line 791 column 1910 - Warning: unescaped & or unknown entity "&feature"
line 792 column 1968 - Warning: unescaped & or unknown entity "&feature"
line 787 column 1657 - Warning: missing </font> before <hr>
line 795 column 1 - Warning: inserting implicit <font>
line 787 column 137 - Warning: missing </div>
line 805 column 9 - Warning: missing <tr>
line 823 column 13 - Warning: missing <tr>
line 824 column 27 - Warning: missing </nobr> before </table>
line 826 column 73 - Warning: <style> isn't allowed in <td> elements
line 826 column 9 - Info: <td> previously mentioned
line 826 column 1511 - Warning: missing </font> before <blockquote>
line 826 column 1590 - Warning: inserting implicit <font>
line 826 column 1590 - Warning: missing </font> before <hr>
line 826 column 1656 - Warning: inserting implicit <font>
line 826 column 1656 - Warning: missing </font> before <hr>
line 827 column 1 - Warning: inserting implicit <font>
line 826 column 137 - Warning: missing </div>
line 844 column 9 - Warning: missing <tr>
line 862 column 13 - Warning: missing <tr>
line 863 column 27 - Warning: missing </nobr> before </table>
line 865 column 73 - Warning: <style> isn't allowed in <td> elements
line 865 column 9 - Info: <td> previously mentioned
line 865 column 1511 - Warning: missing </font> before <blockquote>
line 865 column 1590 - Warning: inserting implicit <font>
line 865 column 1590 - Warning: missing </font> before <hr>
line 865 column 1655 - Warning: inserting implicit <font>
line 865 column 1655 - Warning: missing </font> before <hr>
line 881 column 2594 - Warning: inserting implicit <font>
line 882 column 1 - Warning: inserting implicit <font>
line 882 column 1 - Warning: missing </font> before <blockquote>
line 885 column 3018 - Warning: inserting implicit <font>
line 885 column 3018 - Warning: missing </font> before <hr>
line 885 column 3088 - Warning: inserting implicit <font>
line 885 column 3088 - Warning: missing </font> before <hr>
line 886 column 1 - Warning: inserting implicit <font>
line 865 column 137 - Warning: missing </div>
line 892 column 9 - Warning: missing <tr>
line 910 column 13 - Warning: missing <tr>
line 911 column 27 - Warning: missing </nobr> before </table>
line 913 column 73 - Warning: <style> isn't allowed in <td> elements
line 913 column 9 - Info: <td> previously mentioned
line 913 column 1511 - Warning: missing </font> before <blockquote>
line 913 column 1590 - Warning: inserting implicit <font>
line 913 column 1590 - Warning: missing </font> before <hr>
line 913 column 1655 - Warning: inserting implicit <font>
line 913 column 1655 - Warning: missing </font> before <hr>
line 916 column 1 - Warning: inserting implicit <font>
line 913 column 137 - Warning: missing </div>
line 925 column 35 - Warning: missing <tr>
line 925 column 94 - Warning: unescaped & or unknown entity "&page"
line 925 column 126 - Warning: unescaped & or unknown entity "&page"
line 925 column 158 - Warning: unescaped & or unknown entity "&page"
line 925 column 190 - Warning: unescaped & or unknown entity "&page"
line 925 column 222 - Warning: unescaped & or unknown entity "&page"
line 925 column 254 - Warning: unescaped & or unknown entity "&page"
line 925 column 286 - Warning: unescaped & or unknown entity "&page"
line 925 column 320 - Warning: unescaped & or unknown entity "&page"
line 925 column 352 - Warning: unescaped & or unknown entity "&page"
line 925 column 385 - Warning: unescaped & or unknown entity "&page"
line 925 column 419 - Warning: unescaped & or unknown entity "&page"
line 925 column 457 - Warning: unescaped & or unknown entity "&page"
line 925 column 491 - Warning: unescaped & or unknown entity "&page"
line 925 column 525 - Warning: unescaped & or unknown entity "&page"
line 925 column 559 - Warning: unescaped & or unknown entity "&page"
line 925 column 593 - Warning: unescaped & or unknown entity "&page"
line 925 column 627 - Warning: unescaped & or unknown entity "&page"
line 925 column 661 - Warning: unescaped & or unknown entity "&page"
line 925 column 695 - Warning: unescaped & or unknown entity "&page"
line 925 column 729 - Warning: unescaped & or unknown entity "&page"
line 925 column 763 - Warning: unescaped & or unknown entity "&page"
line 925 column 50 - Warning: missing </font> before </td>
line 925 column 800 - Warning: missing </font> before </table>
line 927 column 35 - Warning: missing <tr>
line 927 column 50 - Warning: missing </font> before </td>
line 927 column 134 - Warning: missing </font> before </table>
line 929 column 17 - Warning: discarding unexpected </textarea>
line 929 column 28 - Warning: discarding unexpected </form>
line 929 column 35 - Warning: discarding unexpected </embed>
line 929 column 43 - Warning: discarding unexpected </noembed>
line 929 column 53 - Warning: discarding unexpected </noscript>
line 929 column 64 - Warning: discarding unexpected </noembed>
line 929 column 74 - Warning: discarding unexpected </embed>
line 929 column 82 - Warning: discarding unexpected </table>
line 929 column 90 - Warning: discarding unexpected </table>
line 931 column 9 - Warning: missing </font> before <table>
line 943 column 25 - Warning: discarding unexpected </font>
line 952 column 58 - Warning: discarding unexpected </font>
line 930 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 179 column 693 - Warning: <img> lacks "alt" attribute
line 207 column 5747 - Warning: <img> proprietary attribute value "absmiddle"
line 207 column 5747 - Warning: <img> lacks "alt" attribute
line 207 column 5879 - Warning: <img> lacks "alt" attribute
line 207 column 6038 - Warning: <img> lacks "alt" attribute
line 215 column 22 - Warning: <img> lacks "alt" attribute
line 215 column 63 - Warning: <img> lacks "alt" attribute
line 215 column 112 - Warning: <img> lacks "alt" attribute
line 215 column 162 - Warning: <img> lacks "alt" attribute
line 226 column 15 - Warning: <img> lacks "alt" attribute
line 233 column 693 - Warning: <img> lacks "alt" attribute
line 233 column 1730 - Warning: <img> proprietary attribute value "absmiddle"
line 233 column 1730 - Warning: <img> lacks "alt" attribute
line 247 column 4037 - Warning: <img> lacks "alt" attribute
line 247 column 4196 - Warning: <img> lacks "alt" attribute
line 255 column 22 - Warning: <img> lacks "alt" attribute
line 255 column 63 - Warning: <img> lacks "alt" attribute
line 255 column 112 - Warning: <img> lacks "alt" attribute
line 255 column 162 - Warning: <img> lacks "alt" attribute
line 266 column 15 - Warning: <img> lacks "alt" attribute
line 273 column 693 - Warning: <img> lacks "alt" attribute
line 275 column 2024 - Warning: <img> lacks "alt" attribute
line 275 column 2183 - Warning: <img> lacks "alt" attribute
line 283 column 22 - Warning: <img> lacks "alt" attribute
line 283 column 63 - Warning: <img> lacks "alt" attribute
line 283 column 112 - Warning: <img> lacks "alt" attribute
line 283 column 162 - Warning: <img> lacks "alt" attribute
line 294 column 15 - Warning: <img> lacks "alt" attribute
line 301 column 693 - Warning: <img> lacks "alt" attribute
line 312 column 3216 - Warning: <img> lacks "alt" attribute
line 312 column 3375 - Warning: <img> lacks "alt" attribute
line 320 column 22 - Warning: <img> lacks "alt" attribute
line 320 column 63 - Warning: <img> lacks "alt" attribute
line 320 column 112 - Warning: <img> lacks "alt" attribute
line 320 column 162 - Warning: <img> lacks "alt" attribute
line 331 column 15 - Warning: <img> lacks "alt" attribute
line 338 column 693 - Warning: <img> lacks "alt" attribute
line 381 column 7291 - Warning: <img> lacks "alt" attribute
line 381 column 7450 - Warning: <img> lacks "alt" attribute
line 389 column 22 - Warning: <img> lacks "alt" attribute
line 389 column 63 - Warning: <img> lacks "alt" attribute
line 389 column 112 - Warning: <img> lacks "alt" attribute
line 389 column 162 - Warning: <img> lacks "alt" attribute
line 400 column 15 - Warning: <img> lacks "alt" attribute
line 407 column 693 - Warning: <img> lacks "alt" attribute
line 413 column 2503 - Warning: <img> lacks "alt" attribute
line 413 column 2662 - Warning: <img> lacks "alt" attribute
line 425 column 22 - Warning: <img> lacks "alt" attribute
line 425 column 63 - Warning: <img> lacks "alt" attribute
line 425 column 112 - Warning: <img> lacks "alt" attribute
line 425 column 162 - Warning: <img> lacks "alt" attribute
line 436 column 15 - Warning: <img> lacks "alt" attribute
line 443 column 693 - Warning: <img> lacks "alt" attribute
line 468 column 4006 - Warning: <img> lacks "alt" attribute
line 468 column 4165 - Warning: <img> lacks "alt" attribute
line 476 column 22 - Warning: <img> lacks "alt" attribute
line 476 column 63 - Warning: <img> lacks "alt" attribute
line 476 column 112 - Warning: <img> lacks "alt" attribute
line 476 column 162 - Warning: <img> lacks "alt" attribute
line 487 column 15 - Warning: <img> lacks "alt" attribute
line 494 column 693 - Warning: <img> lacks "alt" attribute
line 496 column 1855 - Warning: <img> lacks "alt" attribute
line 496 column 2014 - Warning: <img> lacks "alt" attribute
line 504 column 22 - Warning: <img> lacks "alt" attribute
line 504 column 63 - Warning: <img> lacks "alt" attribute
line 504 column 112 - Warning: <img> lacks "alt" attribute
line 504 column 162 - Warning: <img> lacks "alt" attribute
line 515 column 15 - Warning: <img> lacks "alt" attribute
line 522 column 693 - Warning: <img> lacks "alt" attribute
line 543 column 4496 - Warning: <img> lacks "alt" attribute
line 543 column 4655 - Warning: <img> lacks "alt" attribute
line 551 column 22 - Warning: <img> lacks "alt" attribute
line 551 column 63 - Warning: <img> lacks "alt" attribute
line 551 column 112 - Warning: <img> lacks "alt" attribute
line 551 column 162 - Warning: <img> lacks "alt" attribute
line 562 column 15 - Warning: <img> lacks "alt" attribute
line 569 column 693 - Warning: <img> lacks "alt" attribute
line 569 column 1787 - Warning: <img> proprietary attribute value "absmiddle"
line 569 column 1787 - Warning: <img> lacks "alt" attribute
line 577 column 2264 - Warning: <img> proprietary attribute value "absmiddle"
line 577 column 2264 - Warning: <img> lacks "alt" attribute
line 577 column 2396 - Warning: <img> lacks "alt" attribute
line 577 column 2555 - Warning: <img> lacks "alt" attribute
line 585 column 22 - Warning: <img> lacks "alt" attribute
line 585 column 63 - Warning: <img> lacks "alt" attribute
line 585 column 112 - Warning: <img> lacks "alt" attribute
line 585 column 162 - Warning: <img> lacks "alt" attribute
line 596 column 15 - Warning: <img> lacks "alt" attribute
line 603 column 693 - Warning: <img> lacks "alt" attribute
line 612 column 2760 - Warning: <img> lacks "alt" attribute
line 612 column 2919 - Warning: <img> lacks "alt" attribute
line 620 column 22 - Warning: <img> lacks "alt" attribute
line 620 column 63 - Warning: <img> lacks "alt" attribute
line 620 column 112 - Warning: <img> lacks "alt" attribute
line 620 column 162 - Warning: <img> lacks "alt" attribute
line 631 column 15 - Warning: <img> lacks "alt" attribute
line 638 column 693 - Warning: <img> lacks "alt" attribute
line 638 column 1867 - Warning: <img> proprietary attribute value "absmiddle"
line 638 column 1867 - Warning: <img> lacks "alt" attribute
line 644 column 2255 - Warning: <img> proprietary attribute value "absmiddle"
line 644 column 2255 - Warning: <img> lacks "alt" attribute
line 647 column 2888 - Warning: <img> proprietary attribute value "absmiddle"
line 647 column 2888 - Warning: <img> lacks "alt" attribute
line 647 column 3019 - Warning: <img> lacks "alt" attribute
line 647 column 3178 - Warning: <img> lacks "alt" attribute
line 655 column 22 - Warning: <img> lacks "alt" attribute
line 655 column 63 - Warning: <img> lacks "alt" attribute
line 655 column 112 - Warning: <img> lacks "alt" attribute
line 655 column 162 - Warning: <img> lacks "alt" attribute
line 666 column 15 - Warning: <img> lacks "alt" attribute
line 673 column 693 - Warning: <img> lacks "alt" attribute
line 673 column 1753 - Warning: <img> lacks "alt" attribute
line 673 column 1912 - Warning: <img> lacks "alt" attribute
line 681 column 22 - Warning: <img> lacks "alt" attribute
line 681 column 63 - Warning: <img> lacks "alt" attribute
line 681 column 112 - Warning: <img> lacks "alt" attribute
line 681 column 162 - Warning: <img> lacks "alt" attribute
line 692 column 15 - Warning: <img> lacks "alt" attribute
line 699 column 693 - Warning: <img> lacks "alt" attribute
line 757 column 5948 - Warning: <img> proprietary attribute value "absmiddle"
line 757 column 5948 - Warning: <img> lacks "alt" attribute
line 757 column 6081 - Warning: <img> lacks "alt" attribute
line 757 column 6240 - Warning: <img> lacks "alt" attribute
line 769 column 22 - Warning: <img> lacks "alt" attribute
line 769 column 63 - Warning: <img> lacks "alt" attribute
line 769 column 112 - Warning: <img> lacks "alt" attribute
line 769 column 162 - Warning: <img> lacks "alt" attribute
line 780 column 15 - Warning: <img> lacks "alt" attribute
line 787 column 693 - Warning: <img> lacks "alt" attribute
line 800 column 2473 - Warning: <img> lacks "alt" attribute
line 800 column 2632 - Warning: <img> lacks "alt" attribute
line 808 column 22 - Warning: <img> lacks "alt" attribute
line 808 column 63 - Warning: <img> lacks "alt" attribute
line 808 column 112 - Warning: <img> lacks "alt" attribute
line 808 column 162 - Warning: <img> lacks "alt" attribute
line 819 column 15 - Warning: <img> lacks "alt" attribute
line 826 column 693 - Warning: <img> lacks "alt" attribute
line 839 column 3393 - Warning: <img> lacks "alt" attribute
line 839 column 3552 - Warning: <img> lacks "alt" attribute
line 847 column 22 - Warning: <img> lacks "alt" attribute
line 847 column 63 - Warning: <img> lacks "alt" attribute
line 847 column 112 - Warning: <img> lacks "alt" attribute
line 847 column 162 - Warning: <img> lacks "alt" attribute
line 858 column 15 - Warning: <img> lacks "alt" attribute
line 865 column 693 - Warning: <img> lacks "alt" attribute
line 876 column 2340 - Warning: <img> proprietary attribute value "absmiddle"
line 876 column 2340 - Warning: <img> lacks "alt" attribute
line 878 column 2520 - Warning: <img> proprietary attribute value "absmiddle"
line 878 column 2520 - Warning: <img> lacks "alt" attribute
line 883 column 2831 - Warning: <img> proprietary attribute value "absmiddle"
line 883 column 2831 - Warning: <img> lacks "alt" attribute
line 883 column 2949 - Warning: <img> proprietary attribute value "absmiddle"
line 883 column 2949 - Warning: <img> lacks "alt" attribute
line 887 column 3720 - Warning: <img> lacks "alt" attribute
line 887 column 3879 - Warning: <img> lacks "alt" attribute
line 895 column 22 - Warning: <img> lacks "alt" attribute
line 895 column 63 - Warning: <img> lacks "alt" attribute
line 895 column 112 - Warning: <img> lacks "alt" attribute
line 895 column 162 - Warning: <img> lacks "alt" attribute
line 906 column 15 - Warning: <img> lacks "alt" attribute
line 913 column 693 - Warning: <img> lacks "alt" attribute
line 919 column 2302 - Warning: <img> lacks "alt" attribute
line 919 column 2461 - Warning: <img> lacks "alt" attribute
line 937 column 25 - Warning: <img> lacks "alt" attribute
line 942 column 267 - Warning: <img> lacks "alt" attribute
line 147 column 134 - Warning: trimming empty <font>
line 149 column 800 - Warning: trimming empty <font>
line 179 column 1511 - Warning: trimming empty <font>
line 233 column 1511 - Warning: trimming empty <font>
line 238 column 1990 - Warning: trimming empty <font>
line 273 column 1511 - Warning: trimming empty <font>
line 338 column 1511 - Warning: trimming empty <font>
line 353 column 3675 - Warning: trimming empty <font>
line 363 column 4538 - Warning: trimming empty <font>
line 569 column 1511 - Warning: trimming empty <font>
line 638 column 1511 - Warning: trimming empty <font>
line 699 column 1511 - Warning: trimming empty <font>
line 719 column 3446 - Warning: trimming empty <font>
line 725 column 4061 - Warning: trimming empty <font>
line 787 column 1511 - Warning: trimming empty <font>
line 826 column 1511 - Warning: trimming empty <font>
line 865 column 1511 - Warning: trimming empty <font>
line 881 column 2594 - Warning: trimming empty <font>
line 913 column 1511 - Warning: trimming empty <font>
line 925 column 800 - Warning: trimming empty <font>
line 927 column 134 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 179 column 157 - Warning: <table> proprietary attribute "height"
line 179 column 222 - Warning: <td> proprietary attribute "background"
line 179 column 318 - Warning: <td> proprietary attribute "background"
line 179 column 408 - Warning: <table> proprietary attribute "height"
line 179 column 488 - Warning: <td> proprietary attribute "background"
line 179 column 1443 - Warning: <td> proprietary attribute "background"
line 231 column 27 - Warning: <nobr> is not approved by W3C
line 233 column 157 - Warning: <table> proprietary attribute "height"
line 233 column 222 - Warning: <td> proprietary attribute "background"
line 233 column 318 - Warning: <td> proprietary attribute "background"
line 233 column 408 - Warning: <table> proprietary attribute "height"
line 233 column 488 - Warning: <td> proprietary attribute "background"
line 233 column 1443 - Warning: <td> proprietary attribute "background"
line 271 column 27 - Warning: <nobr> is not approved by W3C
line 273 column 157 - Warning: <table> proprietary attribute "height"
line 273 column 222 - Warning: <td> proprietary attribute "background"
line 273 column 318 - Warning: <td> proprietary attribute "background"
line 273 column 408 - Warning: <table> proprietary attribute "height"
line 273 column 488 - Warning: <td> proprietary attribute "background"
line 273 column 1443 - Warning: <td> proprietary attribute "background"
line 299 column 27 - Warning: <nobr> is not approved by W3C
line 301 column 157 - Warning: <table> proprietary attribute "height"
line 301 column 222 - Warning: <td> proprietary attribute "background"
line 301 column 318 - Warning: <td> proprietary attribute "background"
line 301 column 408 - Warning: <table> proprietary attribute "height"
line 301 column 488 - Warning: <td> proprietary attribute "background"
line 301 column 1443 - Warning: <td> proprietary attribute "background"
line 336 column 27 - Warning: <nobr> is not approved by W3C
line 338 column 157 - Warning: <table> proprietary attribute "height"
line 338 column 222 - Warning: <td> proprietary attribute "background"
line 338 column 318 - Warning: <td> proprietary attribute "background"
line 338 column 408 - Warning: <table> proprietary attribute "height"
line 338 column 488 - Warning: <td> proprietary attribute "background"
line 338 column 1443 - Warning: <td> proprietary attribute "background"
line 405 column 27 - Warning: <nobr> is not approved by W3C
line 407 column 157 - Warning: <table> proprietary attribute "height"
line 407 column 222 - Warning: <td> proprietary attribute "background"
line 407 column 318 - Warning: <td> proprietary attribute "background"
line 407 column 408 - Warning: <table> proprietary attribute "height"
line 407 column 488 - Warning: <td> proprietary attribute "background"
line 407 column 1443 - Warning: <td> proprietary attribute "background"
line 441 column 27 - Warning: <nobr> is not approved by W3C
line 443 column 157 - Warning: <table> proprietary attribute "height"
line 443 column 222 - Warning: <td> proprietary attribute "background"
line 443 column 318 - Warning: <td> proprietary attribute "background"
line 443 column 408 - Warning: <table> proprietary attribute "height"
line 443 column 488 - Warning: <td> proprietary attribute "background"
line 443 column 1443 - Warning: <td> proprietary attribute "background"
line 492 column 27 - Warning: <nobr> is not approved by W3C
line 494 column 157 - Warning: <table> proprietary attribute "height"
line 494 column 222 - Warning: <td> proprietary attribute "background"
line 494 column 318 - Warning: <td> proprietary attribute "background"
line 494 column 408 - Warning: <table> proprietary attribute "height"
line 494 column 488 - Warning: <td> proprietary attribute "background"
line 494 column 1443 - Warning: <td> proprietary attribute "background"
line 520 column 27 - Warning: <nobr> is not approved by W3C
line 522 column 157 - Warning: <table> proprietary attribute "height"
line 522 column 222 - Warning: <td> proprietary attribute "background"
line 522 column 318 - Warning: <td> proprietary attribute "background"
line 522 column 408 - Warning: <table> proprietary attribute "height"
line 522 column 488 - Warning: <td> proprietary attribute "background"
line 522 column 1443 - Warning: <td> proprietary attribute "background"
line 567 column 27 - Warning: <nobr> is not approved by W3C
line 569 column 157 - Warning: <table> proprietary attribute "height"
line 569 column 222 - Warning: <td> proprietary attribute "background"
line 569 column 318 - Warning: <td> proprietary attribute "background"
line 569 column 408 - Warning: <table> proprietary attribute "height"
line 569 column 488 - Warning: <td> proprietary attribute "background"
line 569 column 1443 - Warning: <td> proprietary attribute "background"
line 601 column 27 - Warning: <nobr> is not approved by W3C
line 603 column 157 - Warning: <table> proprietary attribute "height"
line 603 column 222 - Warning: <td> proprietary attribute "background"
line 603 column 318 - Warning: <td> proprietary attribute "background"
line 603 column 408 - Warning: <table> proprietary attribute "height"
line 603 column 488 - Warning: <td> proprietary attribute "background"
line 603 column 1443 - Warning: <td> proprietary attribute "background"
line 636 column 27 - Warning: <nobr> is not approved by W3C
line 638 column 157 - Warning: <table> proprietary attribute "height"
line 638 column 222 - Warning: <td> proprietary attribute "background"
line 638 column 318 - Warning: <td> proprietary attribute "background"
line 638 column 408 - Warning: <table> proprietary attribute "height"
line 638 column 488 - Warning: <td> proprietary attribute "background"
line 638 column 1443 - Warning: <td> proprietary attribute "background"
line 671 column 27 - Warning: <nobr> is not approved by W3C
line 673 column 157 - Warning: <table> proprietary attribute "height"
line 673 column 222 - Warning: <td> proprietary attribute "background"
line 673 column 318 - Warning: <td> proprietary attribute "background"
line 673 column 408 - Warning: <table> proprietary attribute "height"
line 673 column 488 - Warning: <td> proprietary attribute "background"
line 673 column 1443 - Warning: <td> proprietary attribute "background"
line 697 column 27 - Warning: <nobr> is not approved by W3C
line 699 column 157 - Warning: <table> proprietary attribute "height"
line 699 column 222 - Warning: <td> proprietary attribute "background"
line 699 column 318 - Warning: <td> proprietary attribute "background"
line 699 column 408 - Warning: <table> proprietary attribute "height"
line 699 column 488 - Warning: <td> proprietary attribute "background"
line 699 column 1443 - Warning: <td> proprietary attribute "background"
line 785 column 27 - Warning: <nobr> is not approved by W3C
line 787 column 157 - Warning: <table> proprietary attribute "height"
line 787 column 222 - Warning: <td> proprietary attribute "background"
line 787 column 318 - Warning: <td> proprietary attribute "background"
line 787 column 408 - Warning: <table> proprietary attribute "height"
line 787 column 488 - Warning: <td> proprietary attribute "background"
line 787 column 1443 - Warning: <td> proprietary attribute "background"
line 824 column 27 - Warning: <nobr> is not approved by W3C
line 826 column 157 - Warning: <table> proprietary attribute "height"
line 826 column 222 - Warning: <td> proprietary attribute "background"
line 826 column 318 - Warning: <td> proprietary attribute "background"
line 826 column 408 - Warning: <table> proprietary attribute "height"
line 826 column 488 - Warning: <td> proprietary attribute "background"
line 826 column 1443 - Warning: <td> proprietary attribute "background"
line 863 column 27 - Warning: <nobr> is not approved by W3C
line 865 column 157 - Warning: <table> proprietary attribute "height"
line 865 column 222 - Warning: <td> proprietary attribute "background"
line 865 column 318 - Warning: <td> proprietary attribute "background"
line 865 column 408 - Warning: <table> proprietary attribute "height"
line 865 column 488 - Warning: <td> proprietary attribute "background"
line 865 column 1443 - Warning: <td> proprietary attribute "background"
line 911 column 27 - Warning: <nobr> is not approved by W3C
line 913 column 157 - Warning: <table> proprietary attribute "height"
line 913 column 222 - Warning: <td> proprietary attribute "background"
line 913 column 318 - Warning: <td> proprietary attribute "background"
line 913 column 408 - Warning: <table> proprietary attribute "height"
line 913 column 488 - Warning: <td> proprietary attribute "background"
line 913 column 1443 - Warning: <td> proprietary attribute "background"
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 642 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md