Register - Login
Views: 99412707
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 11:56:14 PM
Jul - General Game/ROM Hacking - V-Rally Edition 99.z64 file EXTRACTED!!! New poll - New thread - New reply
Next newer thread | Next older thread
Cajetan
Member
Level: 22


Posts: 10/88
EXP: 51647
For next: 6703

Since: 08-06-11

From: Binary

Since last post: 346 days
Last activity: 346 days

Posted on 11-06-11 09:50:57 AM (last edited by Cajetan at 11-06-11 06:53 AM) Link | Quote
What the hell have i done?
If you wont believe me:



I don't know how it happened. I just opened the ROM with 7-zip which opened the rom and showed all the files in it. It only seems to work with 7-zip. Interessting or?

I tried other z64 rom's like SM64 etc. but these didn't worked. Only V-Rally Edition works. So, z64 ROM's has an protection and they forgot to put it into V-Rally Edition?

Would be great if someone could bypass the protection of the other ROM's and then we could get the extracted files.

Also, if you wanna make it a .z64 file then i would need a compiler, because zipping it won't help.
xdaniel
980
Level: 64


Posts: 329/982
EXP: 2151774
For next: 62323

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 17 days
Last activity: 4 hours

Posted on 11-06-11 11:16:27 AM Link | Quote


>>ESTABLISHING LINK...DONE.    >>FETCHING POST DATA...DONE.    >>EXECUTING POSTDISP.BIN...


Instead of thinking up something on their own, it seems the developers just made the game use a ZIP file as its archive of game data, which 7-Zip apparently notices (starts at 0x15DB10 in the ROM, btw). SM64, Star Fox, MK64, the Zelda games, etc., etc. all use other compression formats - those specifically, blocks of MIO0 or Yaz0 compressed data - so those certainly won't open in 7-Zip, WinRAR or whatever else. But who knows, maybe there are other games that did this...


____________________
cu xdaniel - Follower of the Church of Madoka


"What color is your BLOOD?!?"

Raccoon Sam
Member
free speech disabled
Level: 32


Posts: 121/187
EXP: 187695
For next: 18747

Since: 07-25-07

From: Somewhat

Since last post: 4.4 years
Last activity: 1.0 years

Posted on 11-06-11 12:36:33 PM Link | Quote
Oh wow!
That is interesting.
Have all known N64 games been dumped? If yes, if one has them all, he could run a script that attempts to extract every single ROM and we could see what else there is besides this game.

I wouldn't be surprised if other games did this too, not just N64.

Great find!
Cajetan
Member
Level: 22


Posts: 11/88
EXP: 51647
For next: 6703

Since: 08-06-11

From: Binary

Since last post: 346 days
Last activity: 346 days

Posted on 11-06-11 12:48:18 PM Link | Quote
Originally posted by xdaniel

Oh wow!
That is interesting.
Have all known N64 games been dumped? If yes, if one has them all, he could run a script that attempts to extract every single ROM and we could see what else there is besides this game.

I wouldn't be surprised if other games did this too, not just N64.

Great find!



Mhh i wish there could be a way to get SM64 extracted.
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 4374/5390
EXP: 29053204
For next: 281801

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 334 days
Last activity: 334 days

Posted on 11-07-11 07:30:36 AM Link | Quote
Post #4374 · 11-07-11 02:30:36 AM
There is check the SM64 forum. MIO0 (used in Mario 64, Mario Kart, and a bunch of others), YAZ0 (used in Zelda) and YAY0 (used in Gamecube and maybe some N64 games?) are all documented and have decompression tools available. Most games generally don't keep any names for their files, though.

It might be interesting to write a script that searches through an archive of ROMs looking for any interesting magic numbers.

____________________
Cajetan
Member
Level: 22


Posts: 12/88
EXP: 51647
For next: 6703

Since: 08-06-11

From: Binary

Since last post: 346 days
Last activity: 346 days

Posted on 11-07-11 07:01:23 PM (last edited by Cajetan at 11-07-11 04:05 PM) Link | Quote
Originally posted by Rena
There is check the SM64 forum. MIO0 (used in Mario 64, Mario Kart, and a bunch of others), YAZ0 (used in Zelda) and YAY0 (used in Gamecube and maybe some N64 games?) are all documented and have decompression tools available. Most games generally don't keep any names for their files, though.

It might be interesting to write a script that searches through an archive of ROMs looking for any interesting magic numbers.


Yeah, but it would be easier if there were one program that does that all already. Also im talking about the source code of sm64. Like having its original C scripts, animation files(so we could it change later, without using ASM) etc.

But that maybe isn't possible, we can only decompressing it. I will search some decompression tool's. I also found a tool for MIO0 that isn't very known in SM64 Hacking. Then i will pack them to one tool, that would save time. BTW, does someone know the full name for MIO0?
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 4376/5390
EXP: 29053204
For next: 281801

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 334 days
Last activity: 334 days

Posted on 11-08-11 02:35:24 AM Link | Quote
Post #4376 · 11-07-11 09:35:24 PM
You can't feasibly turn a ROM back into source code (it can be done by hand, but it's a very long, tedious process)... if you found source code in that archive that'd be very interesting.

Similarly we can only guess at names unless something leaks from Nintendo. My best guess is "MarIO compression format version 0". YAZ might come from the name of the programmer who implemented it.

____________________
Cajetan
Member
Level: 22


Posts: 14/88
EXP: 51647
For next: 6703

Since: 08-06-11

From: Binary

Since last post: 346 days
Last activity: 346 days

Posted on 11-08-11 12:47:27 PM Link | Quote
Originally posted by Rena
You can't feasibly turn a ROM back into source code (it can be done by hand, but it's a very long, tedious process)... if you found source code in that archive that'd be very interesting.

Similarly we can only guess at names unless something leaks from Nintendo. My best guess is "MarIO compression format version 0". YAZ might come from the name of the programmer who implemented it.


I remember the old Acmln topic's, everyone was saying: "It's impossible to hack SM64." And now we have a great Level Editor. By now i think(your right) it will be impossible to turn ROM back into Source Code, by program's. But sometime hackers will crack it and then we have it. That's why Key algorithms gets updated etc. Sometime MD5 could be easy hackable, if there is a way and then there will be sometime a MD8 or higher. Who knows.
Joe
Common spammer
🍬
Level: 111


Posts: 2375/3392
EXP: 14489991
For next: 378369

Since: 08-02-07

From: Pororoca

Since last post: 4 days
Last activity: 4 hours

Posted on 11-09-11 03:53:19 AM Link | Quote
I don't think you understand a single thing you're saying.

Hacking compression (like MIO0) is hard, but possible. Hacking level geometry, object coordinates, and textures is easy. Really easy. As in, I could do it without consulting any of the SM64 hacking documents.

Turning a ROM into source code is much harder than hacking compression. There are a lot of attempts out there, and not one can produce decent output for a common .exe file, let alone a N64 ROM. It is technically possible, but don't expect to ever see it happen.

Oh, and MD5 has nothing to do with this - that's a hash algorithm, and cracking it is nothing at all like decompiling C code.

____________________
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 4380/5390
EXP: 29053204
For next: 281801

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 334 days
Last activity: 334 days

Posted on 11-09-11 06:19:32 AM Link | Quote
Post #4380 · 11-09-11 01:19:32 AM
The problem is simply that source code contains a lot of information that doesn't end up in the ROM. Names, comments, structure, etc. You can't just pull that missing information from nowhere.

People who said hacking SM64 (or, for that matter, anything else) was impossible were just wrong. Hacking a game is just changing some bits in it. It's not easy to figure out which bits to change and what to change them to, but it's certainly possible.

Maybe someday people will completely decompile the game back into a source-code form. It's been done with several NES games already. But it's a very long, difficult task that can only be done by hand, one game at a time.

____________________
Cajetan
Member
Level: 22


Posts: 17/88
EXP: 51647
For next: 6703

Since: 08-06-11

From: Binary

Since last post: 346 days
Last activity: 346 days

Posted on 11-09-11 03:01:45 PM (last edited by Cajetan at 11-09-11 12:15 PM) Link | Quote
Originally posted by Rena
The problem is simply that source code contains a lot of information that doesn't end up in the ROM. Names, comments, structure, etc. You can't just pull that missing information from nowhere.

People who said hacking SM64 (or, for that matter, anything else) was impossible were just wrong. Hacking a game is just changing some bits in it. It's not easy to figure out which bits to change and what to change them to, but it's certainly possible.

Maybe someday people will completely decompile the game back into a source-code form. It's been done with several NES games already. But it's a very long, difficult task that can only be done by hand, one game at a time.


Um, short off-topic:
Are you HyperHacker? Since he/she used your layout.

And also, are there any new MIO0 Compressor's available? Or something how i can replace something without using TT64. Because TT64 cannot do everything.
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - V-Rally Edition 99.z64 file EXTRACTED!!! New poll - New thread - New reply


Rusted Logic

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

28 database queries, 4 query cache hits.
Query execution time:  0.084098 seconds
Script execution time:  0.042145 seconds
Total render time:  0.126243 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 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 213 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - 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 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 193 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 195 column 9 - Warning: missing <tr>
line 213 column 13 - Warning: missing <tr>
line 214 column 102 - Warning: unescaped & or unknown entity "&postid"
line 216 column 74 - Warning: <style> isn't allowed in <td> elements
line 216 column 9 - Info: <td> previously mentioned
line 217 column 312 - Warning: missing </div>
line 229 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 231 column 9 - Warning: missing <tr>
line 249 column 13 - Warning: missing <tr>
line 250 column 102 - Warning: unescaped & or unknown entity "&postid"
line 261 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 263 column 9 - Warning: missing <tr>
line 281 column 13 - Warning: missing <tr>
line 282 column 102 - Warning: unescaped & or unknown entity "&postid"
line 297 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 299 column 9 - Warning: missing <tr>
line 317 column 13 - Warning: missing <tr>
line 318 column 102 - Warning: unescaped & or unknown entity "&postid"
line 322 column 5020 - Warning: replacing unexpected input with </input>
line 322 column 5334 - Warning: discarding unexpected </span>
line 325 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 327 column 9 - Warning: missing <tr>
line 345 column 13 - Warning: missing <tr>
line 346 column 102 - Warning: unescaped & or unknown entity "&postid"
line 357 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 359 column 9 - Warning: missing <tr>
line 377 column 13 - Warning: missing <tr>
line 378 column 102 - Warning: unescaped & or unknown entity "&postid"
line 382 column 4935 - Warning: replacing unexpected input with </input>
line 382 column 5249 - Warning: discarding unexpected </span>
line 385 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 387 column 9 - Warning: missing <tr>
line 405 column 13 - Warning: missing <tr>
line 406 column 102 - Warning: unescaped & or unknown entity "&postid"
line 415 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 417 column 9 - Warning: missing <tr>
line 435 column 13 - Warning: missing <tr>
line 436 column 102 - Warning: unescaped & or unknown entity "&postid"
line 438 column 74 - Warning: <style> isn't allowed in <td> elements
line 438 column 9 - Info: <td> previously mentioned
line 447 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 449 column 9 - Warning: missing <tr>
line 467 column 13 - Warning: missing <tr>
line 468 column 102 - Warning: unescaped & or unknown entity "&postid"
line 474 column 5231 - Warning: replacing unexpected input with </input>
line 474 column 5545 - Warning: discarding unexpected </span>
line 477 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 479 column 9 - Warning: missing <tr>
line 497 column 13 - Warning: missing <tr>
line 498 column 102 - Warning: unescaped & or unknown entity "&postid"
line 512 column 17 - Warning: missing <tr>
line 512 column 17 - Warning: discarding unexpected <table>
line 515 column 35 - Warning: missing <tr>
line 515 column 50 - Warning: missing </font> before </td>
line 515 column 91 - Warning: missing </font> before </table>
line 517 column 35 - Warning: missing <tr>
line 517 column 50 - Warning: missing </font> before </td>
line 518 column 37 - Warning: unescaped & or unknown entity "&id"
line 517 column 213 - Warning: missing </font> before </table>
line 519 column 17 - Warning: discarding unexpected </textarea>
line 519 column 28 - Warning: discarding unexpected </form>
line 519 column 35 - Warning: discarding unexpected </embed>
line 519 column 43 - Warning: discarding unexpected </noembed>
line 519 column 53 - Warning: discarding unexpected </noscript>
line 519 column 64 - Warning: discarding unexpected </noembed>
line 519 column 74 - Warning: discarding unexpected </embed>
line 519 column 82 - Warning: discarding unexpected </table>
line 519 column 90 - Warning: discarding unexpected </table>
line 521 column 9 - Warning: missing </font> before <table>
line 533 column 25 - Warning: discarding unexpected </font>
line 542 column 57 - Warning: discarding unexpected </font>
line 520 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 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
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 182 column 135 - Warning: <img> lacks "alt" attribute
line 197 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 15 - Warning: <img> lacks "alt" attribute
line 197 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 58 - Warning: <img> lacks "alt" attribute
line 197 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 101 - Warning: <img> lacks "alt" attribute
line 197 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 144 - Warning: <img> lacks "alt" attribute
line 197 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 187 - Warning: <img> lacks "alt" attribute
line 197 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 230 - Warning: <img> lacks "alt" attribute
line 197 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 273 - Warning: <img> lacks "alt" attribute
line 197 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 316 - Warning: <img> lacks "alt" attribute
line 197 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 359 - Warning: <img> lacks "alt" attribute
line 197 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 402 - Warning: <img> lacks "alt" attribute
line 198 column 22 - Warning: <img> lacks "alt" attribute
line 198 column 63 - Warning: <img> lacks "alt" attribute
line 198 column 112 - Warning: <img> lacks "alt" attribute
line 198 column 162 - Warning: <img> lacks "alt" attribute
line 199 column 11 - Warning: <img> lacks "alt" attribute
line 209 column 15 - Warning: <img> lacks "alt" attribute
line 222 column 1124 - Warning: <div> anchor "divxdn" already defined
line 223 column 1288 - Warning: <img> lacks "alt" attribute
line 223 column 1423 - Warning: <img> lacks "alt" attribute
line 224 column 1505 - Warning: <img> lacks "alt" attribute
line 234 column 22 - Warning: <img> lacks "alt" attribute
line 234 column 63 - Warning: <img> lacks "alt" attribute
line 234 column 112 - Warning: <img> lacks "alt" attribute
line 234 column 162 - Warning: <img> lacks "alt" attribute
line 235 column 11 - Warning: <img> escaping malformed URI reference
line 235 column 11 - Warning: <img> lacks "alt" attribute
line 245 column 15 - Warning: <img> lacks "alt" attribute
line 266 column 22 - Warning: <img> lacks "alt" attribute
line 266 column 63 - Warning: <img> lacks "alt" attribute
line 266 column 112 - Warning: <img> lacks "alt" attribute
line 266 column 162 - Warning: <img> lacks "alt" attribute
line 267 column 11 - Warning: <img> lacks "alt" attribute
line 277 column 15 - Warning: <img> lacks "alt" attribute
line 302 column 23 - Warning: <img> lacks "alt" attribute
line 302 column 64 - Warning: <img> lacks "alt" attribute
line 302 column 113 - Warning: <img> lacks "alt" attribute
line 302 column 163 - Warning: <img> lacks "alt" attribute
line 313 column 15 - Warning: <img> lacks "alt" attribute
line 320 column 4484 - Warning: <img> proprietary attribute value "absmiddle"
line 320 column 4484 - Warning: <img> lacks "alt" attribute
line 330 column 22 - Warning: <img> lacks "alt" attribute
line 330 column 63 - Warning: <img> lacks "alt" attribute
line 330 column 112 - Warning: <img> lacks "alt" attribute
line 330 column 162 - Warning: <img> lacks "alt" attribute
line 331 column 11 - Warning: <img> lacks "alt" attribute
line 341 column 15 - Warning: <img> lacks "alt" attribute
line 348 column 156 - Warning: <img> proprietary attribute value "absmiddle"
line 348 column 156 - Warning: <img> lacks "alt" attribute
line 362 column 23 - Warning: <img> lacks "alt" attribute
line 362 column 64 - Warning: <img> lacks "alt" attribute
line 362 column 113 - Warning: <img> lacks "alt" attribute
line 362 column 163 - Warning: <img> lacks "alt" attribute
line 373 column 15 - Warning: <img> lacks "alt" attribute
line 390 column 22 - Warning: <img> lacks "alt" attribute
line 390 column 63 - Warning: <img> lacks "alt" attribute
line 390 column 112 - Warning: <img> lacks "alt" attribute
line 390 column 162 - Warning: <img> lacks "alt" attribute
line 391 column 11 - Warning: <img> lacks "alt" attribute
line 401 column 15 - Warning: <img> lacks "alt" attribute
line 420 column 23 - Warning: <img> lacks "alt" attribute
line 420 column 64 - Warning: <img> lacks "alt" attribute
line 420 column 113 - Warning: <img> lacks "alt" attribute
line 420 column 163 - Warning: <img> lacks "alt" attribute
line 421 column 11 - Warning: <img> lacks "alt" attribute
line 431 column 15 - Warning: <img> lacks "alt" attribute
line 452 column 23 - Warning: <img> lacks "alt" attribute
line 452 column 64 - Warning: <img> lacks "alt" attribute
line 452 column 113 - Warning: <img> lacks "alt" attribute
line 452 column 163 - Warning: <img> lacks "alt" attribute
line 463 column 15 - Warning: <img> lacks "alt" attribute
line 482 column 22 - Warning: <img> lacks "alt" attribute
line 482 column 63 - Warning: <img> lacks "alt" attribute
line 482 column 112 - Warning: <img> lacks "alt" attribute
line 482 column 162 - Warning: <img> lacks "alt" attribute
line 483 column 11 - Warning: <img> lacks "alt" attribute
line 493 column 15 - Warning: <img> lacks "alt" attribute
line 518 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 518 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 518 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 527 column 25 - Warning: <img> lacks "alt" attribute
line 532 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 322 column 5087 - Warning: trimming empty <label>
line 382 column 5002 - Warning: trimming empty <label>
line 474 column 5298 - Warning: trimming empty <label>
line 512 column 17 - Warning: trimming empty <tr>
line 515 column 50 - 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 214 column 27 - Warning: <nobr> is not approved by W3C
line 250 column 27 - Warning: <nobr> is not approved by W3C
line 282 column 27 - Warning: <nobr> is not approved by W3C
line 318 column 27 - Warning: <nobr> is not approved by W3C
line 346 column 27 - Warning: <nobr> is not approved by W3C
line 378 column 27 - Warning: <nobr> is not approved by W3C
line 406 column 27 - Warning: <nobr> is not approved by W3C
line 436 column 27 - Warning: <nobr> is not approved by W3C
line 468 column 27 - Warning: <nobr> is not approved by W3C
line 498 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 214 warnings and 0 errors!


URIs must be properly escaped, they must not contain unescaped
characters below U+0021 including the space character and not
above U+007E. Tidy escapes the URI for you as recommended by
HTML 4.01 section B.2.1 and XML 1.0 section 4.2.2. Some user agents
use another algorithm to escape such URIs and some server-sided
scripts depend on that. If you want to depend on that, you must
escape the URI on your own. For more information please refer to
http://www.w3.org/International/O-URL-and-ident.html

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