Warning: You are using TidyHTML mode! Pages MAY and probably WILL break. To disable, click here or append 'xxx-off=1' to the URL!

Register - Login
Views: 57949629
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies
10-17-14 07:59:03 PM

Jul - Posts by messiaen
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 45 46 47 48 49 50 51 52 53 54
messiaen
Catgirl
Level: 61


Posts: 232/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 08-28-08 06:54:15 PM, in You smile, you lose Link
Prepare to lose even if you can't understand a word of this!



That guy is a "Fox News-style" ultra-conservative local reporter, which adds to the fun .
messiaen
Catgirl
Level: 61


Posts: 233/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 08-31-08 05:52:16 PM, in ASM hacking (last edited by messiaen at 09-05-08 11:45 AM) Link
Maybe, but the problem is finding unused bytes in the RAM Object to hold all this stuff. Also, with this simpler approach you just have to create a separate behavior for each Koopa. Look how handy this is with the 0x04 Jump command:

Koopa-The-Quick Alternate Path/Star Behavior:
00 05 00 00 <-- The first two lines are copied from the usual Koopa Behavior:
11 01 20 41 <-- Perhaps this one isn't even needed
27 3E 00 00 07 01 16 A0 <-- Pointer to path
27 3F 00 00 0B D6 11 94 <-- X, Y
27 50 00 00 EE 08 00 00 <-- Z
04 00 00 00 13 00 45 88 <-- Proceed to the usual Koopa Behavior (after the first 2 commands)

So, that's just 40 bytes for each new Koopa, and it could be stored somewhere in the level bank (0x0E), so TT64 wouldn't have trouble knowning that this 0x07 Bank is the one currently loaded.

The same jump approach could be used for the behaviors which have collision pointers. Here is a template:


Universal collision template
00 09 00 00 <-- Or something else, depending on the target behavior
[ ... ] <-- Here you copy all commands from the target behavior before the collision pointer
2A 00 00 00 XX XX XX XX <-- Set your new pointer in RAM Object
04 00 00 00 XX XX XX XX <-- Continue to normal behavior (jump after the 0x2A command)


If I have enough time, I'll try this week to compile a list of all the "moving platforms" behaviors that will work just by changing the collision pointer. These will probably be enough for the next release of TT64 before using this kind of ASM hacks.

Edit: I'm done with the list. I used one of my custom objects, set all the collision pointers in the behavior bank to it and now I'm using Yoshiman's spawn code to test stuff. Most behaviors work nicely with custom models/collision data, so with a very simple behavior interface you can assign interesting effects to the new objects.

---

Edit2: Here's another ASM trick that can be potentially VERY useful. Looking through Cellar Dweller's Notes, I saw that some behavior commands are unused. So, I replaced the code of the 0x12 command with a modified version of the 0x0C (simple JAL) command. However, this new command can jump to data inside one of the level banks using the segmented_to_virtual (0x80277f50) function, which returns the virtual memory address of a segmented pointer.

Sample usage:

12 00 00 00 07 01 16 A0 # Address must be word aligned (multiple of 4)

Here is basically how the 0x0C command works:

80384688: LW T7, 0x0004 (T6) <-- Load argument from 0x0C command
8038468C: SW T7, 0x001C (SP) <-- Store in Stack
80384690: LW T9, 0x001C (SP) <-- Copy to T9
80384694: JALR RA, T9 <-- JAL to Register T9
80384698: NOP <-- Delay Slot

And the modified version in the custom 0x12 command:

80384E20: JAL 0x80277F50 <-- Segmented to Virtual function
80384E24: LW A0, 0x001C (SP) <-- Ran argument from 0x12 command into this function
80384E28: SW V0, 0x001C (SP) <-- Save in stack [Not sure if it's necessary]
80384E2C: JALR RA, V0 <-- JAL to Register V0 [V0 = return value from segmented_to_virtual]
80384E30: NOP <-- Delay Slot
messiaen
Catgirl
Level: 61


Posts: 234/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-08-08 10:13:49 AM, in B.O.B. Source Code Link
Some ******* **** from misc files:


bne @fuckadam [...]

beq @fuckyou [...]

fuckscreen ds.b 1 ;counter to fuck screen up (hdma) [...]

virusturnfinal equ 150 ;sucker fucker [...]

lda enemyblind ;stun the fuckers? [...]

bne @gofuck ;this is a bug fix [...]

@gofuck:
jsl TSKcancel
rtl [...]

bne @fuckingbadtask ;this is a bug fix [...]

@fuckoff:
rtl [...]

lda #50
sta fuckscreen ;special hdma trick! [...]

@vanish: ;now shadowman fucks off! [...]

jmp @killthefucker ;the end



******* ASM.
messiaen
Catgirl
Level: 61


Posts: 235/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-08-08 01:03:52 PM, in ASM hacking (last edited by messiaen at 09-08-08 05:22 PM) Link
The arguments from level comands are processed by 0x0C call before the "loop" area:

ROM Addr: 0021E380 Hex Behav: 13004580
Description: Koopa Behavior
[...]
21E3B8/0045B8 0C 00 00 00 80 2F BC 4C <-- Only called once.
21E3C0/0045C0 08 00 00 00 <-- "Loop"
21E3C4/0045C4 0C 00 00 00 80 2F D7 F8 <-- This is continuously being called
21E3CC/0045CC 09 00 00 00 <-- End

The first thing the "802FBC4C" call does is to load the arguments from the 0x24 command (stored in the RAM object) and branch out accordingly. If you take this call out, the arguments won't be processed and you'll have a "Running Koopa". This is true for most objects: the 0x0C calls before the 0x08 command usually process arguments and set a few variables, while the call inside the 0x08 "loop" area is responsible for the object movement/behavior.

I posted the list of behaviors with collision pointers which will work fine on custom objects in the Behavior thread. Try testing a few of these on imported objects by copying all the behavior and just changing the 0x2A collision pointer.

Edit: Here is a commented disassembly of the "Moving Up And Down" (0x3B30) behavior call responsible for processing the arguments. Looking at these calls is a good way to discover the possible arguments for some object. Maybe in same cases it won't be hard to create tweaks with custom arguments.
messiaen
Catgirl
Level: 61


Posts: 236/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-10-08 06:55:48 PM, in Mario 64 Notes and upcoming project (last edited by messiaen at 09-10-08 06:56 PM) Link
Hello,

I've set up a simple site with some of my Mario 64 hacking notes. It's still messy, but way better than dozens of isolated .txt files in my HD . Most of it has already been posted to this board, but I'm updating the site with interesting information.

This big checksum area disassembly (done with NEMU) is very useful if you want to search pointers, coordinates or floats that may be hardcoded.

On a side note, I've started a simple utility that edits interesting values in the checksum area. Besides collecting values from Gameshark codes (any code from 80246000-80346000 is a good candidate), I'm doing some work finding Bosses star positions. They are mostly stored as floats using load immediate instructions, and some ASM changes are necessary to get more flexibility. This program will handle this by applying a few patches on the ROM, so all you'll have to do is input a decimal X, Y, Z position.

In this link (which will be constantly updated) I posted some more detailed information about some of the bosses stars and a quick guide how to find the instructiosn that load the coordinates.

I'm also interested in any codes that changes Mario physics (jump distances, height and all other parameters), so if you have anything on this it may be interesting to add a simple physics editor.
messiaen
Catgirl
Level: 61


Posts: 237/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-11-08 11:19:44 AM, in Experimental Platform Battlefield v0.4 RELEASED (Mac patch included) Link
It's been a while since I've experimented with these things. The problem is that if you want enemies standing on a platform, the collision has to work all the time, otherwise they will just fall to the ground.

In order to experiment with these, you can try to tweak a platform behavior with these parameters:

0E 45 xx xx <-- Drawing distance
0E 43 xx xx <-- (most likely) collision distance

The 0E 43 xx xx parameter is mostly used on very big objects. When the behavior doesn't specify them, a default
value is used. These big objects needs this otherwise will Mario collide with the object before the collision is loaded, resulting in a glitchy effect. Most likely this is something VL-Tone will have to deal with when importing big objects as individual objects with movable collision, so this is worth experimenting with.

It would be much easier to test this using NEMU, however it doesn't work with the extended ROM (I'm trying some tweaks to see if I can get it to work, but no success yet).
messiaen
Catgirl
Level: 61


Posts: 238/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-12-08 02:50:55 AM, in Experimental Platform Battlefield v0.4 RELEASED (Mac patch included) Link
That's what I tried to do in the "Flat" Lava Land patch: an extra copy of some of the platform behaviors with this collision setting tweaked so it could work with enemies. It worked fine, but doing this for "Platform Battlefield" would take a lot of time and possibly crash the game.

When you extend the behavior bank, it's important to remember that it's loaded in all levels, so even though some extra bytes won't matter in Flatworld they might even crash another level. The behavior bank should probably be left untouched, with extra behaviors being loaded in a bank loaded only in the specific level which uses it. Since this is a planned feature for the next release, this will probably be easier to handle on the next release of TT64.

Talking about crashes, one thing I noticed by loading more banks into Flatworld is that even though your level may work, you can still have mysterious crashes due to memoy limitations if you load too much stuff.
messiaen
Catgirl
Level: 61


Posts: 239/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-13-08 01:35:26 PM, in Mario 64 Notes and upcoming project Link
I seriously need to organize the music data into a document , but I'm glad some of messy notes helped you.

I've updated the site mainly with some disassemblies of simpler collision rountines. Here is a product of this: a (crappy) custom collision terrain. It replaces the 0x0A (Death at the bottom) terrain, however it's possible to create new collision types with a bit more work.
messiaen
Catgirl
Level: 61


Posts: 240/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-13-08 03:31:11 PM, in Mario 64 Notes and upcoming project (last edited by messiaen at 09-13-08 03:38 PM) Link
(Toad's music)

I can see what may be confusing you. First, all pointers are relative to the beggining of this track (0x7CA8F0).

The "0x" before the number means it is a hexadecimal number. This signal is used in a lot of programming languages.

For instance,, 0x7CA8F0 + 0x5B = 0x7CA94B.

What may be confusing, if you are comparing the hex data of the song with my document, is that I've placed things in a linear order, while the format is very jumpy. To understand it you have to think of a "tree":


1
/ \
2 3
/ \ / \
4 5 6 7


The first ("1") block of data has the general properties, and points to track data ("2 and 3"). This data ("2" and "3") points to snippets the music data (the notes itself). I hope this helps a bit.

About putting everything together in a .zip file, I think most notes aren't ready for it yet. I'm constantly updating and correcting stuff, and some of them needs more descriptions (the music files are particularly messy, I think there are even some comments in portuguese!). When I'm satisfied with most of the notes, I'll add a link in the first page to a big .zip file with everything for easier reference, ok?
messiaen
Catgirl
Level: 61


Posts: 241/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-14-08 02:05:24 PM, in I owe this board $6000 Link
It was worth about $7000.

Then I cliked "Update Data" and now it's worth $1197.2

Shame on me.

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 242/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-14-08 04:55:14 PM, in ASM hacking Link
A conditional jump is an interesting idea, but I'm not sure if its possible to make it use the Model ID. What is stored in the "RAM object" isn't the ID, but rather the RAM pointer for the geo layout/polygon data.

Making it use the arguments from the 0x24 command would be easier, the problem as you predicted is that they are already used for most objects, especially by platforms.

What about implementing something like this:

When you import new geometry to be used as independent solid object, TT64 saves (internally or somewhere in the ROM) a level-specific table of model IDs and their respectives collision pointers. From this list TT64 can generate (during the level editing, if it detects that the model id you're working with is a imported object) a new behavior (that will be in the level script bank) and combo (ie, combo Model 0x36 with Elevator Behavior) on the spot, using something like the template I posted earlier on.

Do you think something like this would work or do you have something else in mind?

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 243/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-14-08 09:01:51 PM, in ASM hacking (last edited by messiaen at 09-14-08 09:13 PM) Link
Nice, the script dumper will be useful!

Now I understand what you meant by static behaviors and why a conditional jump would be useful.

I have an idea that might work. I was looking at the documentation for the 0x24 command, and there are 4 bytes for parameters [2 for each type?], but TT64 only edits one byte for each param. Am I right to assume that all objects loaded from level script only use 1 byte [the last one] for each param and that's why you supressed the other one? So, what about we use the extra byte in one of these parameters to save the model ID? This way, a conditional jump based on it would be possible.

For instance, if an platform object uses parameter 1 = 01, TT64 would set it to xx01 (xx = Model ID).

The conditional jump (or load collision) command would use this byte, and before jumping would reset it to 0, in order to avoid any further interference.

I think this could be a solution to get a static behavior (ie, going up and down) which can be easily used for many models. It may even take less space than using the jump command.

Edit: Another option would be to edit the 0x24 command so that it stores the model ID somewhere in the RAM Object (maybe in this seemingly unused parameter byte). Maybe this would make the process even easier (no necessary changes in TT64!).

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 244/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 01:06:16 PM, in Releasing TT64 version 0.5.99b. Now fully Vista and intel Mac compatible! (last edited by messiaen at 09-15-08 01:13 PM) Link
Thanks for this release, VL-Tone! It's very nice having the backgrounds for the levels. Is it a giant sphere that surrounds the scene?

I'll have to disagree with you, the script dumper is a major feature, it's so much easier to read the data linearly!
Hopefully, it will inspire people to experiment more with behaviors.

Not having to deal with the M64Geometry files is a relief, and I didn't notice any difference in the loading time.

However, I noticed that the backgrounds are hardcoded. I loaded a ROM with swapped background banks and it still displayed the default backgrounds. Any way to make this more flexible?

Also, does the script dumper use a hardcoded list for level script/behavior banks ? I got a #getProp error when trying to access the Bob-omb script from the "Level Select" script dumper in a Flatworld-enabled ROM.

Edit: I got a #mycolor bug, tried to replicate it and it still happens if you move the mouse a lot when TT64 is loading.

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 245/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 02:54:53 PM, in I owe this board $6000 Link
I guess I'll just have to post 10.000 messages this week, then it will be ok.

But I might need some help.

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 246/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 06:12:32 PM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) Link
Hi, I've decided to release a bunch of 'side' hacks I did in the last months:

- Slide battlefield
- Play as peach in Bob-omb
- Bowser in Bob-omb
- Bowser in Bob-omb (2)
- Rainbow Road in Mario 64
- Water SMB1 Theme in Jolly Roger Bay
- Squishable Mushroom Platforms
- Custom Title Screen

With the new version of TT64, it's easier to load them because you don't have to worry about deleting files.

Download here.

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 248/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 10:10:58 PM, in Koopa-The-Quick Trajectory Modifier v0.2 (last edited by messiaen at 09-19-08 03:30 PM) Link
It should probably work, as long as your target ROM still has the original Bob-omb Battlefield level. What kind of problem did you have with it?

Edit: I tested the 'Koopa Path' ROM (the one you have to edit) and it works with 0.5.99b, besides my readme saying that 'newer versions' aren't supported .

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 249/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 10:19:56 PM, in Notice: Error on line 7 Link
Here is a Gameshark code that will give you unlimited posts:

81000664 0007
81000666 FFFF
81000668 FFFF
8100066A FFFF

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 250/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 10:25:27 PM, in Notice: Error on line 7 Link
up up down down left right left right b a should also work for 30 posts.

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 251/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 10:35:43 PM, in Notice: Error on line 7 Link
Gray it fast my period is coming.

--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
messiaen
Catgirl
Level: 61


Posts: 252/1085
EXP: 1795237
For next: 81359

Since: 11-20-07


Since last post: 197 days
Last activity: 183 days

Posted on 09-15-08 10:49:48 PM, in Notice: Error on line 7 Link


--------------------
Mario 64 notes @ http://sites.google.com/site/messiaen64/
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 45 46 47 48 49 50 51 52 53 54
Jul - Posts by messiaen






Rusted Logic

Acmlmboard - 07/23/2013 b378.03
©2000-2013 Acmlm, Xkeeper, Inuyasha, et al.
bargaining-tycoon

33 database queries, 44 query cache hits.
Query execution time:  0.050292 seconds
Script execution time:  0.089329 seconds
Total render time:  0.139621 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 94 column 11 - Warning: <form> isn't allowed in <table> elements
line 93 column 10 - Info: <table> previously mentioned
line 95 column 11 - Warning: missing <tr>
line 95 column 124 - Warning: missing </font> before </td>
line 99 column 16 - Warning: plain text isn't allowed in <tr> elements
line 95 column 11 - Info: <tr> previously mentioned
line 100 column 68 - Warning: <nobr> is not approved by W3C
line 100 column 68 - Warning: missing </nobr> before </td>
line 117 column 68 - Warning: <nobr> is not approved by W3C
line 117 column 68 - Warning: missing </nobr> before <tr>
line 141 column 35 - Warning: missing <tr>
line 141 column 50 - Warning: missing </font> before </td>
line 141 column 135 - Warning: missing </font> before </table>
line 143 column 35 - Warning: missing <tr>
line 143 column 95 - Warning: unescaped & or unknown entity "&page"
line 143 column 128 - Warning: unescaped & or unknown entity "&page"
line 143 column 161 - Warning: unescaped & or unknown entity "&page"
line 143 column 194 - Warning: unescaped & or unknown entity "&page"
line 143 column 227 - Warning: unescaped & or unknown entity "&page"
line 143 column 260 - Warning: unescaped & or unknown entity "&page"
line 143 column 293 - Warning: unescaped & or unknown entity "&page"
line 143 column 326 - Warning: unescaped & or unknown entity "&page"
line 143 column 359 - Warning: unescaped & or unknown entity "&page"
line 143 column 392 - Warning: unescaped & or unknown entity "&page"
line 143 column 426 - Warning: unescaped & or unknown entity "&page"
line 143 column 464 - Warning: unescaped & or unknown entity "&page"
line 143 column 499 - Warning: unescaped & or unknown entity "&page"
line 143 column 534 - Warning: unescaped & or unknown entity "&page"
line 143 column 569 - Warning: unescaped & or unknown entity "&page"
line 143 column 608 - Warning: unescaped & or unknown entity "&page"
line 143 column 643 - Warning: unescaped & or unknown entity "&page"
line 143 column 678 - Warning: unescaped & or unknown entity "&page"
line 143 column 713 - Warning: unescaped & or unknown entity "&page"
line 143 column 748 - Warning: unescaped & or unknown entity "&page"
line 143 column 783 - Warning: unescaped & or unknown entity "&page"
line 143 column 818 - Warning: unescaped & or unknown entity "&page"
line 143 column 853 - Warning: unescaped & or unknown entity "&page"
line 143 column 888 - Warning: unescaped & or unknown entity "&page"
line 143 column 923 - Warning: unescaped & or unknown entity "&page"
line 143 column 50 - Warning: missing </font> before </td>
line 143 column 960 - Warning: missing </font> before </table>
line 150 column 9 - Warning: <div> isn't allowed in <tr> elements
line 149 column 9 - Info: <tr> previously mentioned
line 152 column 9 - Warning: missing <tr>
line 166 column 13 - Warning: missing <tr>
line 167 column 27 - Warning: <nobr> is not approved by W3C
line 171 column 237 - Warning: unescaped & or unknown entity "&hl"
line 171 column 246 - Warning: unescaped & or unknown entity "&fs"
line 171 column 253 - Warning: discarding unexpected </param>
line 171 column 304 - Warning: discarding unexpected </param>
line 171 column 360 - Warning: unescaped & or unknown entity "&hl"
line 171 column 369 - Warning: unescaped & or unknown entity "&fs"
line 171 column 312 - Warning: <embed> is not approved by W3C
line 171 column 461 - Warning: discarding unexpected </embed>
line 175 column 15 - Warning: missing <td>
line 176 column 9 - Warning: <div> isn't allowed in <tr> elements
line 175 column 15 - Info: <tr> previously mentioned
line 178 column 9 - Warning: missing <tr>
line 192 column 13 - Warning: missing <tr>
line 193 column 27 - Warning: <nobr> is not approved by W3C
line 244 column 15 - Warning: missing <td>
line 245 column 9 - Warning: <div> isn't allowed in <tr> elements
line 244 column 15 - Info: <tr> previously mentioned
line 247 column 9 - Warning: missing <tr>
line 261 column 13 - Warning: missing <tr>
line 262 column 27 - Warning: <nobr> is not approved by W3C
line 299 column 15 - Warning: missing <td>
line 300 column 9 - Warning: <div> isn't allowed in <tr> elements
line 299 column 15 - Info: <tr> previously mentioned
line 302 column 9 - Warning: missing <tr>
line 316 column 13 - Warning: missing <tr>
line 317 column 27 - Warning: <nobr> is not approved by W3C
line 331 column 1087 - Warning: unescaped & or unknown entity "&page"
line 335 column 15 - Warning: missing <td>
line 336 column 9 - Warning: <div> isn't allowed in <tr> elements
line 335 column 15 - Info: <tr> previously mentioned
line 338 column 9 - Warning: missing <tr>
line 352 column 13 - Warning: missing <tr>
line 353 column 27 - Warning: <nobr> is not approved by W3C
line 367 column 15 - Warning: missing <td>
line 368 column 9 - Warning: <div> isn't allowed in <tr> elements
line 367 column 15 - Info: <tr> previously mentioned
line 370 column 9 - Warning: missing <tr>
line 384 column 13 - Warning: missing <tr>
line 385 column 27 - Warning: <nobr> is not approved by W3C
line 399 column 15 - Warning: missing <td>
line 400 column 9 - Warning: <div> isn't allowed in <tr> elements
line 399 column 15 - Info: <tr> previously mentioned
line 402 column 9 - Warning: missing <tr>
line 416 column 13 - Warning: missing <tr>
line 417 column 27 - Warning: <nobr> is not approved by W3C
line 425 column 15 - Warning: missing <td>
line 426 column 9 - Warning: <div> isn't allowed in <tr> elements
line 425 column 15 - Info: <tr> previously mentioned
line 428 column 9 - Warning: missing <tr>
line 442 column 13 - Warning: missing <tr>
line 443 column 27 - Warning: <nobr> is not approved by W3C
line 449 column 15 - Warning: missing <td>
line 450 column 9 - Warning: <div> isn't allowed in <tr> elements
line 449 column 15 - Info: <tr> previously mentioned
line 452 column 9 - Warning: missing <tr>
line 466 column 13 - Warning: missing <tr>
line 467 column 27 - Warning: <nobr> is not approved by W3C
line 491 column 15 - Warning: missing <td>
line 492 column 9 - Warning: <div> isn't allowed in <tr> elements
line 491 column 15 - Info: <tr> previously mentioned
line 494 column 9 - Warning: missing <tr>
line 508 column 13 - Warning: missing <tr>
line 509 column 27 - Warning: <nobr> is not approved by W3C
line 517 column 15 - Warning: missing <td>
line 518 column 9 - Warning: <div> isn't allowed in <tr> elements
line 517 column 15 - Info: <tr> previously mentioned
line 520 column 9 - Warning: missing <tr>
line 534 column 13 - Warning: missing <tr>
line 535 column 27 - Warning: <nobr> is not approved by W3C
line 547 column 15 - Warning: missing <td>
line 548 column 9 - Warning: <div> isn't allowed in <tr> elements
line 547 column 15 - Info: <tr> previously mentioned
line 550 column 9 - Warning: missing <tr>
line 564 column 13 - Warning: missing <tr>
line 565 column 27 - Warning: <nobr> is not approved by W3C
line 581 column 15 - Warning: missing <td>
line 582 column 9 - Warning: <div> isn't allowed in <tr> elements
line 581 column 15 - Info: <tr> previously mentioned
line 584 column 9 - Warning: missing <tr>
line 598 column 13 - Warning: missing <tr>
line 599 column 27 - Warning: <nobr> is not approved by W3C
line 614 column 15 - Warning: missing <td>
line 615 column 9 - Warning: <div> isn't allowed in <tr> elements
line 614 column 15 - Info: <tr> previously mentioned
line 617 column 9 - Warning: missing <tr>
line 631 column 13 - Warning: missing <tr>
line 632 column 27 - Warning: <nobr> is not approved by W3C
line 638 column 15 - Warning: missing <td>
line 639 column 9 - Warning: <div> isn't allowed in <tr> elements
line 638 column 15 - Info: <tr> previously mentioned
line 641 column 9 - Warning: missing <tr>
line 655 column 13 - Warning: missing <tr>
line 656 column 27 - Warning: <nobr> is not approved by W3C
line 673 column 15 - Warning: missing <td>
line 674 column 9 - Warning: <div> isn't allowed in <tr> elements
line 673 column 15 - Info: <tr> previously mentioned
line 676 column 9 - Warning: missing <tr>
line 690 column 13 - Warning: missing <tr>
line 691 column 27 - Warning: <nobr> is not approved by W3C
line 697 column 15 - Warning: missing <td>
line 698 column 9 - Warning: <div> isn't allowed in <tr> elements
line 697 column 15 - Info: <tr> previously mentioned
line 700 column 9 - Warning: missing <tr>
line 714 column 13 - Warning: missing <tr>
line 715 column 27 - Warning: <nobr> is not approved by W3C
line 724 column 15 - Warning: missing <td>
line 725 column 9 - Warning: <div> isn't allowed in <tr> elements
line 724 column 15 - Info: <tr> previously mentioned
line 727 column 9 - Warning: missing <tr>
line 741 column 13 - Warning: missing <tr>
line 742 column 27 - Warning: <nobr> is not approved by W3C
line 746 column 15 - Warning: missing <td>
line 747 column 9 - Warning: <div> isn't allowed in <tr> elements
line 746 column 15 - Info: <tr> previously mentioned
line 749 column 9 - Warning: missing <tr>
line 763 column 13 - Warning: missing <tr>
line 764 column 27 - Warning: <nobr> is not approved by W3C
line 768 column 15 - Warning: missing <td>
line 769 column 9 - Warning: <div> isn't allowed in <tr> elements
line 768 column 15 - Info: <tr> previously mentioned
line 771 column 9 - Warning: missing <tr>
line 785 column 13 - Warning: missing <tr>
line 786 column 27 - Warning: <nobr> is not approved by W3C
line 791 column 17 - Warning: discarding unexpected <table>
line 794 column 35 - Warning: missing <tr>
line 794 column 95 - Warning: unescaped & or unknown entity "&page"
line 794 column 128 - Warning: unescaped & or unknown entity "&page"
line 794 column 161 - Warning: unescaped & or unknown entity "&page"
line 794 column 194 - Warning: unescaped & or unknown entity "&page"
line 794 column 227 - Warning: unescaped & or unknown entity "&page"
line 794 column 260 - Warning: unescaped & or unknown entity "&page"
line 794 column 293 - Warning: unescaped & or unknown entity "&page"
line 794 column 326 - Warning: unescaped & or unknown entity "&page"
line 794 column 359 - Warning: unescaped & or unknown entity "&page"
line 794 column 392 - Warning: unescaped & or unknown entity "&page"
line 794 column 426 - Warning: unescaped & or unknown entity "&page"
line 794 column 464 - Warning: unescaped & or unknown entity "&page"
line 794 column 499 - Warning: unescaped & or unknown entity "&page"
line 794 column 534 - Warning: unescaped & or unknown entity "&page"
line 794 column 569 - Warning: unescaped & or unknown entity "&page"
line 794 column 608 - Warning: unescaped & or unknown entity "&page"
line 794 column 643 - Warning: unescaped & or unknown entity "&page"
line 794 column 678 - Warning: unescaped & or unknown entity "&page"
line 794 column 713 - Warning: unescaped & or unknown entity "&page"
line 794 column 748 - Warning: unescaped & or unknown entity "&page"
line 794 column 783 - Warning: unescaped & or unknown entity "&page"
line 794 column 818 - Warning: unescaped & or unknown entity "&page"
line 794 column 853 - Warning: unescaped & or unknown entity "&page"
line 794 column 888 - Warning: unescaped & or unknown entity "&page"
line 794 column 923 - Warning: unescaped & or unknown entity "&page"
line 794 column 50 - Warning: missing </font> before </td>
line 794 column 960 - Warning: missing </font> before </table>
line 796 column 35 - Warning: missing <tr>
line 796 column 50 - Warning: missing </font> before </td>
line 796 column 135 - Warning: missing </font> before </table>
line 798 column 17 - Warning: discarding unexpected </textarea>
line 798 column 28 - Warning: discarding unexpected </form>
line 798 column 35 - Warning: discarding unexpected </embed>
line 798 column 43 - Warning: discarding unexpected </noembed>
line 798 column 53 - Warning: discarding unexpected </noscript>
line 798 column 64 - Warning: discarding unexpected </noembed>
line 798 column 74 - Warning: discarding unexpected </embed>
line 798 column 82 - Warning: discarding unexpected </table>
line 798 column 90 - Warning: discarding unexpected </table>
line 807 column 9 - Warning: missing </font> before <table>
line 823 column 69 - Warning: inserting implicit <font>
line 826 column 1 - Warning: inserting implicit <font>
line 835 column 23 - Warning: inserting implicit <font>
line 842 column 58 - Warning: discarding unexpected </font>
line 800 column 1 - Warning: missing </center>
line 91 column 9 - Warning: <img> lacks "alt" attribute
line 93 column 10 - Warning: <table> lacks "summary" attribute
line 95 column 63 - Warning: <img> lacks "alt" attribute
line 100 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 100 column 93 - Warning: <img> lacks "alt" attribute
line 117 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 117 column 98 - Warning: <img> lacks "alt" attribute
line 136 column 1 - Warning: <table> lacks "summary" attribute
line 136 column 240 - Warning: <td> attribute "bgcolor" lacks value
line 141 column 17 - Warning: <table> lacks "summary" attribute
line 143 column 17 - Warning: <table> lacks "summary" attribute
line 151 column 9 - Warning: <table> lacks "summary" attribute
line 155 column 22 - Warning: <img> lacks "alt" attribute
line 155 column 63 - Warning: <img> lacks "alt" attribute
line 155 column 112 - Warning: <img> lacks "alt" attribute
line 155 column 162 - Warning: <img> lacks "alt" attribute
line 162 column 15 - Warning: <img> lacks "alt" attribute
line 165 column 11 - Warning: <table> lacks "summary" attribute
line 173 column 574 - Warning: <img> proprietary attribute value "absmiddle"
line 173 column 574 - Warning: <img> lacks "alt" attribute
line 177 column 9 - Warning: <table> lacks "summary" attribute
line 181 column 22 - Warning: <img> lacks "alt" attribute
line 181 column 63 - Warning: <img> lacks "alt" attribute
line 181 column 112 - Warning: <img> lacks "alt" attribute
line 181 column 162 - Warning: <img> lacks "alt" attribute
line 188 column 15 - Warning: <img> lacks "alt" attribute
line 191 column 11 - Warning: <table> lacks "summary" attribute
line 246 column 9 - Warning: <table> lacks "summary" attribute
line 250 column 22 - Warning: <img> lacks "alt" attribute
line 250 column 63 - Warning: <img> lacks "alt" attribute
line 250 column 112 - Warning: <img> lacks "alt" attribute
line 250 column 162 - Warning: <img> lacks "alt" attribute
line 257 column 15 - Warning: <img> lacks "alt" attribute
line 260 column 11 - Warning: <table> lacks "summary" attribute
line 301 column 9 - Warning: <table> lacks "summary" attribute
line 305 column 22 - Warning: <img> lacks "alt" attribute
line 305 column 63 - Warning: <img> lacks "alt" attribute
line 305 column 112 - Warning: <img> lacks "alt" attribute
line 305 column 162 - Warning: <img> lacks "alt" attribute
line 312 column 15 - Warning: <img> lacks "alt" attribute
line 315 column 11 - Warning: <table> lacks "summary" attribute
line 337 column 9 - Warning: <table> lacks "summary" attribute
line 341 column 22 - Warning: <img> lacks "alt" attribute
line 341 column 63 - Warning: <img> lacks "alt" attribute
line 341 column 112 - Warning: <img> lacks "alt" attribute
line 341 column 162 - Warning: <img> lacks "alt" attribute
line 348 column 15 - Warning: <img> lacks "alt" attribute
line 351 column 11 - Warning: <table> lacks "summary" attribute
line 357 column 289 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 289 - Warning: <img> lacks "alt" attribute
line 369 column 9 - Warning: <table> lacks "summary" attribute
line 373 column 22 - Warning: <img> lacks "alt" attribute
line 373 column 63 - Warning: <img> lacks "alt" attribute
line 373 column 112 - Warning: <img> lacks "alt" attribute
line 373 column 162 - Warning: <img> lacks "alt" attribute
line 380 column 15 - Warning: <img> lacks "alt" attribute
line 383 column 11 - Warning: <table> lacks "summary" attribute
line 401 column 9 - Warning: <table> lacks "summary" attribute
line 405 column 22 - Warning: <img> lacks "alt" attribute
line 405 column 63 - Warning: <img> lacks "alt" attribute
line 405 column 112 - Warning: <img> lacks "alt" attribute
line 405 column 162 - Warning: <img> lacks "alt" attribute
line 412 column 15 - Warning: <img> lacks "alt" attribute
line 415 column 11 - Warning: <table> lacks "summary" attribute
line 427 column 9 - Warning: <table> lacks "summary" attribute
line 431 column 22 - Warning: <img> lacks "alt" attribute
line 431 column 63 - Warning: <img> lacks "alt" attribute
line 431 column 112 - Warning: <img> lacks "alt" attribute
line 431 column 162 - Warning: <img> lacks "alt" attribute
line 438 column 15 - Warning: <img> lacks "alt" attribute
line 441 column 11 - Warning: <table> lacks "summary" attribute
line 445 column 133 - Warning: <img> proprietary attribute value "absmiddle"
line 445 column 133 - Warning: <img> lacks "alt" attribute
line 451 column 9 - Warning: <table> lacks "summary" attribute
line 455 column 22 - Warning: <img> lacks "alt" attribute
line 455 column 63 - Warning: <img> lacks "alt" attribute
line 455 column 112 - Warning: <img> lacks "alt" attribute
line 455 column 162 - Warning: <img> lacks "alt" attribute
line 462 column 15 - Warning: <img> lacks "alt" attribute
line 465 column 11 - Warning: <table> lacks "summary" attribute
line 493 column 9 - Warning: <table> lacks "summary" attribute
line 497 column 22 - Warning: <img> lacks "alt" attribute
line 497 column 63 - Warning: <img> lacks "alt" attribute
line 497 column 112 - Warning: <img> lacks "alt" attribute
line 497 column 162 - Warning: <img> lacks "alt" attribute
line 504 column 15 - Warning: <img> lacks "alt" attribute
line 507 column 11 - Warning: <table> lacks "summary" attribute
line 519 column 9 - Warning: <table> lacks "summary" attribute
line 523 column 22 - Warning: <img> lacks "alt" attribute
line 523 column 63 - Warning: <img> lacks "alt" attribute
line 523 column 112 - Warning: <img> lacks "alt" attribute
line 523 column 162 - Warning: <img> lacks "alt" attribute
line 530 column 15 - Warning: <img> lacks "alt" attribute
line 533 column 11 - Warning: <table> lacks "summary" attribute
line 549 column 9 - Warning: <table> lacks "summary" attribute
line 553 column 22 - Warning: <img> lacks "alt" attribute
line 553 column 63 - Warning: <img> lacks "alt" attribute
line 553 column 112 - Warning: <img> lacks "alt" attribute
line 553 column 162 - Warning: <img> lacks "alt" attribute
line 560 column 15 - Warning: <img> lacks "alt" attribute
line 563 column 11 - Warning: <table> lacks "summary" attribute
line 583 column 9 - Warning: <table> lacks "summary" attribute
line 587 column 22 - Warning: <img> lacks "alt" attribute
line 587 column 63 - Warning: <img> lacks "alt" attribute
line 587 column 112 - Warning: <img> lacks "alt" attribute
line 587 column 162 - Warning: <img> lacks "alt" attribute
line 594 column 15 - Warning: <img> lacks "alt" attribute
line 597 column 11 - Warning: <table> lacks "summary" attribute
line 616 column 9 - Warning: <table> lacks "summary" 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 627 column 15 - Warning: <img> lacks "alt" attribute
line 630 column 11 - Warning: <table> lacks "summary" attribute
line 640 column 9 - Warning: <table> lacks "summary" attribute
line 644 column 22 - Warning: <img> lacks "alt" attribute
line 644 column 63 - Warning: <img> lacks "alt" attribute
line 644 column 112 - Warning: <img> lacks "alt" attribute
line 644 column 162 - Warning: <img> lacks "alt" attribute
line 651 column 15 - Warning: <img> lacks "alt" attribute
line 654 column 11 - Warning: <table> lacks "summary" attribute
line 675 column 9 - Warning: <table> lacks "summary" attribute
line 679 column 22 - Warning: <img> lacks "alt" attribute
line 679 column 63 - Warning: <img> lacks "alt" attribute
line 679 column 112 - Warning: <img> lacks "alt" attribute
line 679 column 162 - Warning: <img> lacks "alt" attribute
line 686 column 15 - Warning: <img> lacks "alt" attribute
line 689 column 11 - Warning: <table> lacks "summary" attribute
line 695 column 379 - Warning: <img> proprietary attribute value "absmiddle"
line 695 column 379 - Warning: <img> lacks "alt" attribute
line 699 column 9 - Warning: <table> lacks "summary" attribute
line 703 column 22 - Warning: <img> lacks "alt" attribute
line 703 column 63 - Warning: <img> lacks "alt" attribute
line 703 column 112 - Warning: <img> lacks "alt" attribute
line 703 column 162 - Warning: <img> lacks "alt" attribute
line 710 column 15 - Warning: <img> lacks "alt" attribute
line 713 column 11 - Warning: <table> lacks "summary" attribute
line 726 column 9 - Warning: <table> lacks "summary" attribute
line 730 column 22 - Warning: <img> lacks "alt" attribute
line 730 column 63 - Warning: <img> lacks "alt" attribute
line 730 column 112 - Warning: <img> lacks "alt" attribute
line 730 column 162 - Warning: <img> lacks "alt" attribute
line 737 column 15 - Warning: <img> lacks "alt" attribute
line 740 column 11 - Warning: <table> lacks "summary" attribute
line 748 column 9 - Warning: <table> lacks "summary" attribute
line 752 column 22 - Warning: <img> lacks "alt" attribute
line 752 column 63 - Warning: <img> lacks "alt" attribute
line 752 column 112 - Warning: <img> lacks "alt" attribute
line 752 column 162 - Warning: <img> lacks "alt" attribute
line 759 column 15 - Warning: <img> lacks "alt" attribute
line 762 column 11 - Warning: <table> lacks "summary" attribute
line 770 column 9 - Warning: <table> lacks "summary" attribute
line 774 column 22 - Warning: <img> lacks "alt" attribute
line 774 column 63 - Warning: <img> lacks "alt" attribute
line 774 column 112 - Warning: <img> lacks "alt" attribute
line 774 column 162 - Warning: <img> lacks "alt" attribute
line 781 column 15 - Warning: <img> lacks "alt" attribute
line 784 column 11 - Warning: <table> lacks "summary" attribute
line 788 column 73 - Warning: <img> lacks "alt" attribute
line 146 column 17 - Warning: <table> lacks "summary" attribute
line 794 column 17 - Warning: <table> lacks "summary" attribute
line 796 column 17 - Warning: <table> lacks "summary" attribute
line 802 column 1 - Warning: <img> lacks "alt" attribute
line 803 column 1 - Warning: <img> lacks "alt" attribute
line 804 column 1 - Warning: <img> lacks "alt" attribute
line 811 column 9 - Warning: <table> lacks "summary" attribute
line 813 column 25 - Warning: <img> lacks "alt" attribute
line 843 column 17 - Warning: <table> lacks "summary" attribute
line 141 column 135 - Warning: trimming empty <font>
line 143 column 960 - Warning: trimming empty <font>
line 768 column 15 - Warning: trimming empty <tr>
line 794 column 960 - Warning: trimming empty <font>
line 796 column 135 - Warning: trimming empty <font>
line 153 column 11 - Warning: <a> cannot copy name attribute to id
line 179 column 11 - Warning: <a> cannot copy name attribute to id
line 248 column 11 - Warning: <a> cannot copy name attribute to id
line 303 column 11 - Warning: <a> cannot copy name attribute to id
line 339 column 11 - Warning: <a> cannot copy name attribute to id
line 371 column 11 - Warning: <a> cannot copy name attribute to id
line 403 column 11 - Warning: <a> cannot copy name attribute to id
line 429 column 11 - Warning: <a> cannot copy name attribute to id
line 453 column 11 - Warning: <a> cannot copy name attribute to id
line 495 column 11 - Warning: <a> cannot copy name attribute to id
line 521 column 11 - Warning: <a> cannot copy name attribute to id
line 551 column 11 - Warning: <a> cannot copy name attribute to id
line 585 column 11 - Warning: <a> cannot copy name attribute to id
line 618 column 11 - Warning: <a> cannot copy name attribute to id
line 642 column 11 - Warning: <a> cannot copy name attribute to id
line 677 column 11 - Warning: <a> cannot copy name attribute to id
line 701 column 11 - Warning: <a> cannot copy name attribute to id
line 728 column 11 - Warning: <a> cannot copy name attribute to id
line 750 column 11 - Warning: <a> cannot copy name attribute to id
line 772 column 11 - Warning: <a> cannot copy name attribute to id
Info: Document content looks like HTML Proprietary
Info: No system identifier in emitted doctype
389 warnings, 0 errors were found!


The table summary attribute should be used to describe
the table structure. It is very helpful for people using
non-visual browsers. The scope and headers attributes for
table cells are useful for specifying which headers apply
to each table cell, enabling non-visual browsers to provide
a meaningful context for each cell.

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 may also want to try
"http://www.cast.org/bobby/" which is a free Web-based
service for checking URLs for accessibility.

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.

To learn more about HTML Tidy see http://tidy.sourceforge.net
Please fill bug reports and queries using the "tracker" on the Tidy web site.
Additionally, questions can be sent to html-tidy@w3.org
HTML and CSS specifications are available from http://www.w3.org/
Lobby your company to join W3C, see http://www.w3.org/Consortium