Register - Login
Views: 99380857
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 11:40:47 PM
Jul - Posts by Cajetan
Pages: 1 2 3 4
Cajetan
Member
Level: 22


Posts: 21/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 12-26-11 08:43:01 AM, in Super Mario Star Road RELEASE! (Download avaliable) (last edited by Cajetan at 12-26-11 05:43 AM) Link
So Celux, are you also going to release your little object importer you made? I think you was releasing it, shortly after Star Road's release.

Also, great hack. You must put alot of work in it.
Cajetan
Member
Level: 22


Posts: 22/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 12-26-11 08:37:07 PM, in Super Mario Star Road RELEASE! (Download avaliable) Link
Originally posted by messiaen
Really amazing work, I am happy to see my tools used in all their potential.

Yeah, he did also made some sort of object importer to replace the game objects (example coins with carrot model).

He said he will release it shortly after Star Road is done.
Cajetan
Member
Level: 22


Posts: 23/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-12-12 10:34:45 AM, in Mario 64 Level Importer Link
Originally posted by messiaen
Probably getting a bit complicated..

-snip-

Still, with a decent behavior generator most users can simply avoid using this.


Great. I can't wait for this.

Are you actually back on SM64 Hacking now? Because you posted an older reply where you said, that you lost interess on SM64 Hacking.
Cajetan
Member
Level: 22


Posts: 24/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-22-12 07:06:24 PM, in Help/Questions about Toad's Tool 64 and SM64 hacking (last edited by Cajetan at 02-22-12 05:38 PM) Link
So i have a little problem here, it's about the Cheats configuration file in Nemu64. Well, i coded a little Hello World example in C, compiled it and got the final.txt I also checked the Syntax again and yeah it was correct, so now i did copy and paste the code into the cheats.ini file. But when i start Nemu64 with normal SM64 file, then i can't the cheat name anywhere... Which is a big problem for me. How do i fix this? I know Nemu64 is very buggy, but it also worked for others, so it must work for me too.

EDIT:
This is what i used:

#include "mario64.h"

void main(void)
{

asm volatile(la, $gp, _gp);
PrintXY(50,50,"Hello World!");
PrintXY(25,25,"Hello World, again!");

}
Cajetan
Member
Level: 22


Posts: 27/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-23-12 05:51:10 PM, in Help/Questions about Toad's Tool 64 and SM64 hacking Link
Ok well, i got another problem it didn't compiles now [...] Please read my PM, messiaen. Because i don't want to spam this forum with all my geeky questions.
Cajetan
Member
Level: 22


Posts: 29/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-24-12 10:45:44 AM, in Correctly Compilling C For Usage With N64 Link
Originally posted by messiaen
Sent by Cajetan in a PM. Please post question in the appropriate threads, not in PMs, geeky stuff is the purpose of this forum.

Originally posted by Cajetan
Okay another question(sorry for annoying you, but there isn't any other who knows stuff like that): How do i setup all stuff correctly?

Yes, i did following:
Installed MinGW, MSYS everything perfectly. I also got z64actor and z64teleport successfully compiled. Now i wanted to make my OWN code for SM64. Now comes the hard part for me: How do i setup everything correctly. In my folder is following:

m64helloworld.c
mario64.h
mario64.x
hook
makefile

Now with MSYS i did cd to that folder. Now i typed in: make
i get following errors:

"make: *** No rule to make target `mario64.o', needed by `mario64.elf'. Stop."

So, but i know mario64.o and mario64.elf get generated... i can't have them, because they must be later generated... So what am i doing wrong here?


I don't blame you, makefiles are very confusing.

Your makefile PRJNAME is probably mario64, so it expects your source file to be called mario64.c, unless you specify otherwise.


Well, it does compile now, but again a lot of errors:

$ make hlw

mips64-gcc -std=gnu99 -nodefaultlibs -march=vr4300 -mtune=vr4300 -mabi=32 -I. -I../include -fno-builtin -o3 -c -o hlw.o hlw.c
In file included from hlw.c:1:
explode.h:43: error: expected ')' before 'flags'
explode.h:56: error: expected ')' before '*' token
explode.h:57: error: expected ')' before '*' token
explode.h:58: error: expected ')' before '*' token
explode.h:59: error: expected ')' before '*' token
explode.h:60: error: expected ')' before 'obj_pointer'
explode.h:61: error: expected ')' before 'object1'
explode.h:62: error: expected ')' before 'dst'
explode.h:63: error: expected ')' before 'obj_ptr'
explode.h:64: error: expected ')' before 'argument'
explode.h:69: error: expected ')' before 'obj_pointer'
explode.h:70: error: expected ')' before 'model_ID'
explode.h:71: error: expected ')' before 'animation_index'
explode.h:72: error: expected ')' before 'argument'
explode.h:73: error: expected ')' before 'obj_pointer'
explode.h:74: error: expected ')' before 'behavior_segmented_pointer'
explode.h:75: error: expected ')' before 'obj_pointer'
explode.h:76: error: expected ')' before 'obj_pointer'
explode.h:79: error: expected ')' before 'mario_struct_pointer'
explode.h:81: error: expected ')' before '*' token
explode.h:85: error: expected ')' before 'layer'
explode.h:86: error: expected ')' before '*' token
explode.h:89: error: expected ')' before 'msg_ID'
explode.h:90: error: expected ')' before 'x_pos'
explode.h:91: error: expected ')' before 'x'
explode.h:92: error: expected ')' before 'arg'
explode.h:95: error: expected ')' before 'x'
explode.h:96: error: expected ')' before 'x'
explode.h:97: error: expected ')' before 'x'
explode.h:100: error: expected ')' before 'segmented_pointer'
explode.h:103: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
explode.h:112: error: expected specifier-qualifier-list before 'u16'
explode.h:119: error: expected specifier-qualifier-list before 'u32'
explode.h:125: error: expected declaration specifiers or '...' before 'u16'
explode.h:131: error: expected specifier-qualifier-list before 'u32'
explode.h:154: error: expected specifier-qualifier-list before 'u32'
explode.h:172: error: expected specifier-qualifier-list before 'u16'
explode.h:190: error: expected specifier-qualifier-list before 's16'
explode.h:203: error: expected specifier-qualifier-list before 'u32'
explode.h:220: error: expected specifier-qualifier-list before 's16'
explode.h:243: error: expected specifier-qualifier-list before 'u16'
explode.h:415: error: expected specifier-qualifier-list before 'u32'
hlw.c: In function '_start':
hlw.c:5: warning: implicit declaration of function 'PrintXY'
make: *** [hlw.o] Error 1"



I used now the updated explode.h, then i tried using the outdated(mario64.h) and get the same errors like up there. Is something wrong with the compiler?
Cajetan
Member
Level: 22


Posts: 30/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-24-12 12:51:43 PM, in Correctly Compilling C For Usage With N64 (last edited by Cajetan at 02-24-12 09:59 AM) Link
Ok, the last help i need. Ok everything compiles now, but i get now a very short error:



$ make

mips64-gcc -std=gnu99 -nodefaultlibs -march=vr4300 -mtune=vr4300 -mabi=32 -I. -I../include -fno-builtin -o3 -c -o hlw.o hlw.c
mips64-ld -o hlw.elf hlw.o -L. -T hlw.x
d:\m64hack\c\n64tree-win32\root\bin\mips64-ld.exe:hlw.x:44: parse error
make: *** [hlw.elf] Error 1



I think that would be all then and compilation can be successful.

If the compilation goes successful next time, then i will write a tutorial how to get a successful compilation with your own code.

BTW, Hook is the hack entry point, so where do i actually hook my helloworld.c in?
Cajetan
Member
Level: 22


Posts: 31/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-24-12 04:04:53 PM, in Correctly Compilling C For Usage With N64 (last edited by Cajetan at 02-24-12 01:13 PM) Link
Originally posted by messiaen
Can't help if you don't post the contents of your hlw.x file. Make sure it's exactly the same as mario64.x and it will work fine.

The "hook" is what CALLS your code. In the examples provided, its called from Mario's Behavior, so whenever Mario is playing, your function (which by default is at 0x80400000) will be called.

The hook file is simply a Gameshark code that paches

JAL 0x80400000
NOP

to Mario Behavior, which is equivalente to a YourHack(); function call in C.

"Injecting" the hack into the ROM without using Gameshark codes is a bit more complicated.


Ah Thank you, i found it out. It looks like i got a false mario64.x file. It compiles now everything. Thanks for your help, im going to write a tutorial how to do compile own codes without problems.
Cajetan
Member
Level: 22


Posts: 32/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-24-12 05:43:08 PM, in Correctly Compilling C For Usage With N64 Link
Originally posted by vinnyboiler
Originally posted by Cajetan
Ah Thank you, i found it out. It looks like i got a false mario64.x file. It compiles now everything. Thanks for your help, im going to write a tutorial how to do compile own codes without problems.


Oh a tutorial actually sounds quite nice, I would absolute love it if you do.


Yes, i will do. By the way, this is the successful Result i got from compiling:

Cajetan
Member
Level: 22


Posts: 33/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-24-12 08:55:16 PM, in Correctly Compilling C For Usage With N64 (last edited by Cajetan at 02-24-12 05:55 PM) Link
So i wrote the tutorial... I don't know if you like it, but if anything is missing please report it:

http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c
Cajetan
Member
Level: 22


Posts: 34/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-26-12 11:31:23 AM, in Correctly Compilling C For Usage With N64 Link
Thanks Messiaen. I will provide the link to the N64Toolchain and the restly things will be added too.
I will also add some exercises like spawn a child object or make a code that prints Hello World on the screen... I think that should help understanding how Super Mario 64 actually works and motivates others to write tutorials. I also will provide links to learn the C syntax.. it must be destiny... because i actually wanted to post the same link (http://www.cprogramming.com). It's a very good site and i learned from there all my basic knowledge of the C Syntax. It's great written and very understandable.

I hope you, me or someone else could update the header files and share it here.

Cajetan
Member
Level: 22


Posts: 35/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-01-12 03:55:26 PM, in Correctly Compilling C For Usage With N64 (last edited by Cajetan at 03-01-12 02:51 PM) Link
Originally posted by ShenoxVII

Lol hey tarek, haven't talked to you since I met you randomly on kaillera like a couple of years ago, and before that when we were hacking that kiddy game. If you are the person i think you are, German.

Btw, NICE tutorial, I love it thanks for doing this its a huge break through for progress in the sm64 hacking world, hopefully this will gain popularity of more complex hacks and now dealing with actual languages with the rom, so we can build off of it.

This, is great.


Ah that was you? I never knew that. However, you actually should thank Messiaen. He's the one that even found this possibility. I did just write a tutorial how to use it. Btw, im going to update it. Also, we should not getting off-topic. This topic is actually about C usage.

Oh, i nearly forgot: Messiaen is there any way to edit the Dialog text without using the Text Wrangler? I work currently on some project, which i need some way to edit the dialog text in my C file without using the Text Wrangler.
Cajetan
Member
Level: 22


Posts: 36/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-02-12 06:38:23 PM, in Beta Stuff Thread: Beta Trampoline and other stuff Link
Originally posted by MarioGame2222
Here You Can See What Happens If You Press The Button! You can Even Try It Yourself with the Patch at The Bottom of This Post!

<object width="420" height="315"><embed src="http://www.youtube.com/v/yGRyuICsGzI?version=3&hl=de_DE" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>

http://www.mediafire.com/?0903ncit6260imo


I think this ROM got hacked. The yellow cap switch actually doesn't do anything. I think you modified something to it. (via C, ASM or something else)
Cajetan
Member
Level: 22


Posts: 37/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-03-12 11:32:17 AM, in Help/Questions about Toad's Tool 64 and SM64 hacking (last edited by Cajetan at 03-03-12 08:38 AM) Link
I'm currently working on a sort of ... Shop in SM64. Now i have some problems there:

- I need to know the address for the current Coin amount ( RAM )

- I need to know how i can change Dialog's in my C code, without using the Text Wrangler

BTW, yes i use C coding for creating the Shop in SM64.

____________________
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

- Click there to learn more about C coding and writing your own codes for Super Mario 64.
Cajetan
Member
Level: 22


Posts: 38/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-03-12 12:42:12 PM, in How do you expand the SM64 Sound Bank? (last edited by Cajetan at 03-03-12 09:48 AM) Link
As i know, Messiaen's Level Importer contains some hack, that allows to add larger .m64 sequences.

EDIT:
Sorry, i was wrong.

It only allows you to override the sequence size restrictions, but i think you maybe mean this.

Mh... i watched the comments of this site:
http://goldeneyevault.com/viewfile.php?id=212

You came from there?

____________________
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

- Click there to learn more about C coding and writing your own codes for Super Mario 64.
Cajetan
Member
Level: 22


Posts: 39/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-03-12 12:56:27 PM, in How do you expand the SM64 Sound Bank? Link
Originally posted by Warwiio

Yes and I'm from youtube too.


Yeah, read my PM.

____________________
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

- Click there to learn more about C coding and writing your own codes for Super Mario 64.
Cajetan
Member
Level: 22


Posts: 40/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-03-12 08:45:34 PM, in Correctly Compilling C For Usage With N64 (last edited by Cajetan at 03-03-12 05:47 PM) Link
Originally posted by Kenshi

I've read throughout the whole thread and yet I can't understand entirely what this does. What does Compiling C or use with the N64 allow you to do?


The C coding allows you to access the RAM and let you modify it.
For example following code:




#include "n64.h"
#include "explode.h"

void _start(void) {
asm volatile("la $gp, _gp")
PrintXY(160, 160, "Hello World")
}



Now you are able to use the N64Toolchain and compile the following code into a GameShark code for Super Mario 64. Now you type in that GameShark and it will print "Hello World" on Super Mario 64 after Mario spawns at the outside of the castle.

Conclusion:
With C you are able to modify SM64's RAM Objects and compile them into GameShark code. I'm currently working on a SM64 Shop, which i need the right addresses for(RAM: Current Coin amount + changing Dialog text's etc. )

I also got the idea of making a website where others can upload their patches that include the GameShark Patch(yes, this is a bit more complicated. ) etc. But it's currently very hard for everyone to understand how to setup the N64 Toolchain and get everything working right. That's why i wrote the tutorial. If you wanna look at it, look at my signature. If you don't understand something ask it here or PM me.

____________________
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

- Click there to learn more about C coding and writing your own codes for Super Mario 64.
Cajetan
Member
Level: 22


Posts: 41/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-10-12 11:21:17 PM, in Help/Questions about Toad's Tool 64 and SM64 hacking Link
Originally posted by DamiHack
Originally posted by Cajetan
I'm currently working on a sort of ... Shop in SM64. Now i have some problems there:

- I need to know the address for the current Coin amount ( RAM )

- I need to know how i can change Dialog's in my C code, without using the Text Wrangler

BTW, yes i use C coding for creating the Shop in SM64.


Catejan, the address for the current Coin amount is in conflict with the address of the stars: I tested that with Cheat Engine 6.1; the address is: 53DCB218

For more informations the address of the Lives is: 4C57B21E

Catejan, can you teach me ho to create custom behaviors and edit C codes?


Sorry, but you're wrong... I don't get everything, because maybe you use Cheat Engine. Cheat engine doesn't actually target the running ROM.. it targets the emulator and everything that runs inside the emulator... So it must be some addresses away...

Again... Does anyone know the real address for the current coin amount? If yes, then please post it.

____________________
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

- Click there to learn more about C coding and writing your own codes for Super Mario 64.
Cajetan
Member
Level: 22


Posts: 42/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-18-12 06:54:39 AM, in Help/Questions about Toad's Tool 64 and SM64 hacking Link
Originally posted by Celux
I found it In nemu64. To change the coin amount instantly you must modify both 0x33B218 and 0x33B262, each of them being halfwords (2 bytes).

I plan to create a shop in Star Road 2, but coins are used for other purposes such as health and 100-coin stars, so lives will be the currency for purchasing some of my new power ups.


Thank you. Now i think i can create a working shop. I will release it on my website sooner or later as GameShark code. I will tell the downloader's then what correct value has to be changed. For example the coin amount you have to pay and what Item will be spawned if you have the correct amount of coin.



____________________
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

- Click there to learn more about C coding and writing your own codes for Super Mario 64.
Cajetan
Member
Level: 22


Posts: 43/88
EXP: 51640
For next: 6710

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 11-12-12 06:45:12 PM, in Password Recovering - So long... Link
Ok, it's over. Got my main back.

Thank you,
Cajetan.

____________________
http://sites.google.com/site/cajetan64/home/coding-in-n64-with-c

- Click there to learn more about C coding and writing your own codes for Super Mario 64.
Pages: 1 2 3 4
Jul - Posts by Cajetan


Rusted Logic

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

28 database queries, 49 query cache hits.
Query execution time:  0.076106 seconds
Script execution time:  0.030848 seconds
Total render time:  0.106954 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 96 - Warning: unescaped & or unknown entity "&page"
line 149 column 132 - Warning: unescaped & or unknown entity "&page"
line 149 column 166 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 201 - 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 184 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 186 column 9 - Warning: missing <tr>
line 204 column 13 - Warning: missing <tr>
line 213 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 215 column 9 - Warning: missing <tr>
line 233 column 13 - Warning: missing <tr>
line 247 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 249 column 9 - Warning: missing <tr>
line 267 column 13 - Warning: missing <tr>
line 287 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 289 column 9 - Warning: missing <tr>
line 307 column 13 - Warning: missing <tr>
line 313 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 315 column 9 - Warning: missing <tr>
line 333 column 13 - Warning: missing <tr>
line 413 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 415 column 9 - Warning: missing <tr>
line 433 column 13 - Warning: missing <tr>
line 452 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 454 column 9 - Warning: missing <tr>
line 472 column 13 - Warning: missing <tr>
line 491 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 493 column 9 - Warning: missing <tr>
line 511 column 13 - Warning: missing <tr>
line 523 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 525 column 9 - Warning: missing <tr>
line 543 column 13 - Warning: missing <tr>
line 551 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 553 column 9 - Warning: missing <tr>
line 571 column 13 - Warning: missing <tr>
line 582 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 584 column 9 - Warning: missing <tr>
line 602 column 13 - Warning: missing <tr>
line 617 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 619 column 9 - Warning: missing <tr>
line 637 column 13 - Warning: missing <tr>
line 642 column 329 - Warning: discarding unexpected <param>
line 642 column 417 - Warning: discarding unexpected </param>
line 642 column 425 - Warning: discarding unexpected <param>
line 642 column 468 - Warning: discarding unexpected </param>
line 642 column 476 - Warning: discarding unexpected <param>
line 642 column 523 - Warning: discarding unexpected </param>
line 649 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 651 column 9 - Warning: missing <tr>
line 669 column 13 - Warning: missing <tr>
line 683 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 685 column 9 - Warning: missing <tr>
line 703 column 13 - Warning: missing <tr>
line 721 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 723 column 9 - Warning: missing <tr>
line 741 column 13 - Warning: missing <tr>
line 752 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 754 column 9 - Warning: missing <tr>
line 772 column 13 - Warning: missing <tr>
line 801 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 803 column 9 - Warning: missing <tr>
line 821 column 13 - Warning: missing <tr>
line 845 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 847 column 9 - Warning: missing <tr>
line 865 column 13 - Warning: missing <tr>
line 879 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 881 column 9 - Warning: missing <tr>
line 899 column 13 - Warning: missing <tr>
line 910 column 17 - Warning: missing <tr>
line 910 column 17 - Warning: discarding unexpected <table>
line 913 column 35 - Warning: missing <tr>
line 913 column 96 - Warning: unescaped & or unknown entity "&page"
line 913 column 132 - Warning: unescaped & or unknown entity "&page"
line 913 column 166 - Warning: unescaped & or unknown entity "&page"
line 913 column 50 - Warning: missing </font> before </td>
line 913 column 201 - Warning: missing </font> before </table>
line 915 column 35 - Warning: missing <tr>
line 915 column 50 - Warning: missing </font> before </td>
line 915 column 134 - Warning: missing </font> before </table>
line 917 column 17 - Warning: discarding unexpected </textarea>
line 917 column 28 - Warning: discarding unexpected </form>
line 917 column 35 - Warning: discarding unexpected </embed>
line 917 column 43 - Warning: discarding unexpected </noembed>
line 917 column 53 - Warning: discarding unexpected </noscript>
line 917 column 64 - Warning: discarding unexpected </noembed>
line 917 column 74 - Warning: discarding unexpected </embed>
line 917 column 82 - Warning: discarding unexpected </table>
line 917 column 90 - Warning: discarding unexpected </table>
line 919 column 9 - Warning: missing </font> before <table>
line 931 column 25 - Warning: discarding unexpected </font>
line 940 column 58 - Warning: discarding unexpected </font>
line 918 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 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 189 column 22 - Warning: <img> lacks "alt" attribute
line 189 column 63 - Warning: <img> lacks "alt" attribute
line 189 column 112 - Warning: <img> lacks "alt" attribute
line 189 column 162 - Warning: <img> lacks "alt" attribute
line 190 column 11 - Warning: <img> lacks "alt" attribute
line 200 column 15 - Warning: <img> lacks "alt" attribute
line 218 column 22 - Warning: <img> lacks "alt" attribute
line 218 column 63 - Warning: <img> lacks "alt" attribute
line 218 column 112 - Warning: <img> lacks "alt" attribute
line 218 column 162 - Warning: <img> lacks "alt" attribute
line 219 column 11 - Warning: <img> lacks "alt" attribute
line 229 column 15 - Warning: <img> lacks "alt" attribute
line 252 column 22 - Warning: <img> lacks "alt" attribute
line 252 column 63 - Warning: <img> lacks "alt" attribute
line 252 column 112 - Warning: <img> lacks "alt" attribute
line 252 column 162 - Warning: <img> lacks "alt" attribute
line 253 column 11 - Warning: <img> lacks "alt" attribute
line 263 column 15 - Warning: <img> lacks "alt" attribute
line 292 column 22 - Warning: <img> lacks "alt" attribute
line 292 column 63 - Warning: <img> lacks "alt" attribute
line 292 column 112 - Warning: <img> lacks "alt" attribute
line 292 column 162 - Warning: <img> lacks "alt" attribute
line 293 column 11 - Warning: <img> lacks "alt" attribute
line 303 column 15 - Warning: <img> lacks "alt" attribute
line 318 column 22 - Warning: <img> lacks "alt" attribute
line 318 column 63 - Warning: <img> lacks "alt" attribute
line 318 column 112 - Warning: <img> lacks "alt" attribute
line 318 column 162 - Warning: <img> lacks "alt" attribute
line 319 column 11 - Warning: <img> lacks "alt" attribute
line 329 column 15 - Warning: <img> lacks "alt" attribute
line 418 column 22 - Warning: <img> lacks "alt" attribute
line 418 column 63 - Warning: <img> lacks "alt" attribute
line 418 column 112 - Warning: <img> lacks "alt" attribute
line 418 column 162 - Warning: <img> lacks "alt" attribute
line 419 column 11 - Warning: <img> lacks "alt" attribute
line 429 column 15 - Warning: <img> lacks "alt" attribute
line 457 column 22 - Warning: <img> lacks "alt" attribute
line 457 column 63 - Warning: <img> lacks "alt" attribute
line 457 column 112 - Warning: <img> lacks "alt" attribute
line 457 column 162 - Warning: <img> lacks "alt" attribute
line 458 column 11 - Warning: <img> lacks "alt" attribute
line 468 column 15 - Warning: <img> lacks "alt" attribute
line 496 column 22 - Warning: <img> lacks "alt" attribute
line 496 column 63 - Warning: <img> lacks "alt" attribute
line 496 column 112 - Warning: <img> lacks "alt" attribute
line 496 column 162 - Warning: <img> lacks "alt" attribute
line 497 column 11 - Warning: <img> lacks "alt" attribute
line 507 column 15 - Warning: <img> lacks "alt" attribute
line 520 column 643 - Warning: <img> lacks "alt" attribute
line 528 column 22 - Warning: <img> lacks "alt" attribute
line 528 column 63 - Warning: <img> lacks "alt" attribute
line 528 column 112 - Warning: <img> lacks "alt" attribute
line 528 column 162 - Warning: <img> lacks "alt" attribute
line 529 column 11 - Warning: <img> lacks "alt" attribute
line 539 column 15 - Warning: <img> lacks "alt" attribute
line 556 column 22 - Warning: <img> lacks "alt" attribute
line 556 column 63 - Warning: <img> lacks "alt" attribute
line 556 column 112 - Warning: <img> lacks "alt" attribute
line 556 column 162 - Warning: <img> lacks "alt" attribute
line 557 column 11 - Warning: <img> lacks "alt" attribute
line 567 column 15 - Warning: <img> lacks "alt" 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 588 column 11 - Warning: <img> lacks "alt" attribute
line 598 column 15 - Warning: <img> lacks "alt" attribute
line 622 column 22 - Warning: <img> lacks "alt" attribute
line 622 column 63 - Warning: <img> lacks "alt" attribute
line 622 column 112 - Warning: <img> lacks "alt" attribute
line 622 column 162 - Warning: <img> lacks "alt" attribute
line 623 column 11 - Warning: <img> lacks "alt" attribute
line 633 column 15 - Warning: <img> lacks "alt" attribute
line 654 column 22 - Warning: <img> lacks "alt" attribute
line 654 column 63 - Warning: <img> lacks "alt" attribute
line 654 column 112 - Warning: <img> lacks "alt" attribute
line 654 column 162 - Warning: <img> lacks "alt" attribute
line 655 column 11 - Warning: <img> lacks "alt" attribute
line 665 column 15 - Warning: <img> lacks "alt" attribute
line 688 column 22 - Warning: <img> lacks "alt" attribute
line 688 column 63 - Warning: <img> lacks "alt" attribute
line 688 column 112 - Warning: <img> lacks "alt" attribute
line 688 column 162 - Warning: <img> lacks "alt" attribute
line 689 column 11 - Warning: <img> lacks "alt" attribute
line 699 column 15 - Warning: <img> lacks "alt" attribute
line 726 column 22 - Warning: <img> lacks "alt" attribute
line 726 column 63 - Warning: <img> lacks "alt" attribute
line 726 column 112 - Warning: <img> lacks "alt" attribute
line 726 column 162 - Warning: <img> lacks "alt" attribute
line 727 column 11 - Warning: <img> lacks "alt" attribute
line 737 column 15 - Warning: <img> lacks "alt" attribute
line 757 column 22 - Warning: <img> lacks "alt" attribute
line 757 column 63 - Warning: <img> lacks "alt" attribute
line 757 column 112 - Warning: <img> lacks "alt" attribute
line 757 column 162 - Warning: <img> lacks "alt" attribute
line 758 column 11 - Warning: <img> lacks "alt" attribute
line 768 column 15 - Warning: <img> lacks "alt" attribute
line 806 column 22 - Warning: <img> lacks "alt" attribute
line 806 column 63 - Warning: <img> lacks "alt" attribute
line 806 column 112 - Warning: <img> lacks "alt" attribute
line 806 column 162 - Warning: <img> lacks "alt" attribute
line 807 column 11 - Warning: <img> lacks "alt" attribute
line 817 column 15 - Warning: <img> lacks "alt" attribute
line 850 column 22 - Warning: <img> lacks "alt" attribute
line 850 column 63 - Warning: <img> lacks "alt" attribute
line 850 column 112 - Warning: <img> lacks "alt" attribute
line 850 column 162 - Warning: <img> lacks "alt" attribute
line 851 column 11 - Warning: <img> lacks "alt" attribute
line 861 column 15 - Warning: <img> lacks "alt" attribute
line 884 column 22 - Warning: <img> lacks "alt" attribute
line 884 column 63 - Warning: <img> lacks "alt" attribute
line 884 column 112 - Warning: <img> lacks "alt" attribute
line 884 column 162 - Warning: <img> lacks "alt" attribute
line 885 column 11 - Warning: <img> lacks "alt" attribute
line 895 column 15 - Warning: <img> lacks "alt" attribute
line 925 column 25 - Warning: <img> lacks "alt" attribute
line 930 column 267 - Warning: <img> lacks "alt" attribute
line 147 column 134 - Warning: trimming empty <font>
line 149 column 201 - Warning: trimming empty <font>
line 910 column 17 - Warning: trimming empty <tr>
line 913 column 201 - Warning: trimming empty <font>
line 915 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 205 column 27 - Warning: <nobr> is not approved by W3C
line 234 column 27 - Warning: <nobr> is not approved by W3C
line 268 column 27 - Warning: <nobr> is not approved by W3C
line 308 column 27 - Warning: <nobr> is not approved by W3C
line 334 column 27 - Warning: <nobr> is not approved by W3C
line 434 column 27 - Warning: <nobr> is not approved by W3C
line 473 column 27 - Warning: <nobr> is not approved by W3C
line 512 column 27 - Warning: <nobr> is not approved by W3C
line 544 column 27 - Warning: <nobr> is not approved by W3C
line 572 column 27 - Warning: <nobr> is not approved by W3C
line 603 column 27 - Warning: <nobr> is not approved by W3C
line 638 column 27 - Warning: <nobr> is not approved by W3C
line 670 column 27 - Warning: <nobr> is not approved by W3C
line 704 column 27 - Warning: <nobr> is not approved by W3C
line 742 column 27 - Warning: <nobr> is not approved by W3C
line 773 column 27 - Warning: <nobr> is not approved by W3C
line 822 column 27 - Warning: <nobr> is not approved by W3C
line 866 column 27 - Warning: <nobr> is not approved by W3C
line 900 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 261 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