Register - Login
Views: 99353131
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-21-22 07:17:22 PM
Jul - The Cutting Room Floor - ROM revisions and bugs New poll - New thread - New reply
Next newer thread | Next older thread
Rachel Mae

Creature of Chaos
Level: 141


Posts: 2660/5929
EXP: 33568297
For next: 551717

Since: 07-03-07

Pronouns: she/her
From: Foxglen

Since last post: 9 days
Last activity: 2 hours

Posted on 03-15-10 11:02:15 AM Link | Quote
After failing to get an SRAM file from Kirby's Adventure PRG0 working with PRG1, I realized that nobody has really bothered to examine the actual differences between game revisions, save for a few high-profile games like SMB3 or the Sonic the Hedgehog series. I'd like to change that!

If you know of any specific differences between two or more game revisions (preferably within the same country; we don't need to know about speed tweaks in PAL games), whether they affect gameplay or not, post them either here or on the wiki! Please be as detailed as possible; if you can explain why a change was made (ex: to correct a fatal bug), that would be fantastic. We'll have separate pages for revisions and bugs in the near future, but for now, just post them at the bottom of a page, below the unused goodies.

Games I'm personally interested in dissecting:

- Super Mario Bros. 2 (no noticeable gameplay differences in PRG1, lots of shifted code)
- Kirby's Adventure (minor change to story text and weird string at end of PRG; SRAM files aren't compatible, so some other major changes must have been made!)
- Castlevania (PRG1 fixes a crashing bug in the Grim Reaper's stage; what was changed, and was the bug present in the FDS version?)
- Mega Man 4 (no idea here...)

____________________
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: 2916/5390
EXP: 29044597
For next: 290408

Since: 07-22-07

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

Since last post: 330 days
Last activity: 330 days

Posted on 03-15-10 01:38:48 PM Link | Quote
03-15-10 08:38:48 AM
Post #2916
Mario Kart 64 had a crash fix in PAL 1.1, which probably only existed in PAL 1.0. The Japanese versions also have different textures and voices. (Differences between English and Japanese ROMs would be another thing maybe interesting to look at.)

Ocarina of Time had a total of four English versions:
v1.0: Original English version on gold cartridges and supposedly some rare grey ones as well.
v1.1: Fixed the Swordless Link bug, which is unfortunate really.
v1.2: Fixed the "steal the fishing rod" bug.
v1.3 (Gamecube version): Changed the symbol on "song of time" blocks. Don't know of any bug fixes.

1.1 and 1.2 also had changes to music and supposedly Ganon's blood (I've heard a few stories about that one, but not bothered to verify). All of these changes being due to complaints from religious nuts. Probably other bugfixes as well. May also be worth comparing differences in English and Japanese versions.

Super Mario 64 had the Japanese rumble version. Would be interesting to see what else was changed.

Didn't Super Mario Bros also have PRG0 and PRG1 versions?

____________________


witty comment
why not?
GoldS
Member
Level: 41


Posts: 1/372
EXP: 477020
For next: 3125

Since: 03-15-10


Since last post: 2.1 years
Last activity: 10 days

Posted on 03-15-10 01:51:52 PM (last edited by GoldS at 03-15-10 11:01 AM) Link | Quote
Differences I know about from Mega Man X, back when I was doing hacking research on it. There are a whopping 5 different revisions - Japan 1.0, U.S. 1.0, Japan 1.1, U.S. 1.1, and PAL 1.0, seemingly in that order of release.

S. Ice Platform bug: The charged S. Ice platform is not destroyed upon boss defeat. The platform can push the player even while the boss defeat animation is playing. This can lead to a bug on Storm Eagle where the boss is dead but you can fall off of the ship and die. This is more dangerous in the Sigma Stage 2 boss fight, where you can die and never respawn.

Sigma Double Death bug: The Rolling Shield can damage Sigma even after the player has been killed. Thus, Sigma can be defeated after death. The post-Sigma dialogue plays but the player has no control over the text, so no further progress can be made.

Flame Mammoth ceiling bug: It's possible to go up through the tubes that spawn the conveyor belt enemies in Flame Mammoth's stage. This can lead to graphical errors and the vertical bounds of the stage screwing up.

Japan 1.0
All bugs present.

U.S. 1.0
S. Ice Platform bug fixed - Platform is now destroyed upon boss defeat.
Sigma Double Death not fixed.
Flame Mammoth ceiling not fixed.

Japan 1.1
S. Ice Platform bug fixed.
Sigma Double Death fixed - Sigma can't be hit after death.
Flame Mammoth ceiling not fixed.

U.S. 1.1
S. Ice Platform bug fixed.
Sigma Double Death fixed.
Flame Mammoth ceiling not fixed.

PAL 1.0
S. Ice Platform bug fixed.
Sigma Double Death fixed
Flame Mammoth ceiling fixed -The tops of the enemy tubes are now solid.
Liliana
"A horrible person". That's what it says. "A horrible person."

We weren't even testing for that.


Level: NaN


Posts: 1636/-3841
EXP: NaN
For next: 0

Since: 07-23-07


Since last post: 10.2 years
Last activity: 10.1 years

Posted on 03-15-10 01:58:34 PM Link | Quote
Originally posted by HyperHacker
Ocarina of Time had a total of four English versions:
v1.0: Original English version on gold cartridges and supposedly some rare grey ones as well.
v1.1: Fixed the Swordless Link bug, which is unfortunate really.
v1.2: Fixed the "steal the fishing rod" bug.
v1.3 (Gamecube version): Changed the symbol on "song of time" blocks. Don't know of any bug fixes.


I'm pretty sure that the fishing rod bug is V1.0 only, too.

What distinguishes 1.1 from 1.2 is some text changes. The Gerudo at the Horseback Archery Range says "Do you want to try again for 20 Rupees?" in 1.0 and 1.1 even if you've never played the horseback archery before. This is something that was fixed in 1.2.

____________________
Originally posted by HotSoup
IE8 is just as secure -if not more so- than any browser on the market.
GoldS
Member
Level: 41


Posts: 2/372
EXP: 477020
For next: 3125

Since: 03-15-10


Since last post: 2.1 years
Last activity: 10 days

Posted on 03-18-10 01:44:01 AM Link | Quote
DKC Atlas has a pretty comprehensive list of differences in the Donkey Kong Country games here.
Nightblade

Level: 18


Posts: 27/55
EXP: 27368
For next: 2529

Since: 12-23-09

From: hereford, england

Since last post: 10.8 years
Last activity: 10.1 years

Posted on 03-26-10 06:49:47 PM Link | Quote
I think Europe had two versions of Havest Moon: Back To Nature version 1.1 fixed a freeze bug that wasn't in the USA version

____________________

Click here to level up my card!


MaxKnight
710
Systems Administrator
Level: 57


Posts: 621/719
EXP: 1414187
For next: 71741

Since: 07-29-07

From: Columbus, Ohio

Since last post: 10.6 years
Last activity: 9.7 years

Posted on 03-31-10 04:37:07 AM Link | Quote
Well hey, something I can contribute.

Around three years ago, I got into it on the Dragon Warrior board at GameFAQs with a certain individual that went by the name MeteorStrike. This caused him to not only go through the game and find all kinds of interesting things about its internals, but also to discover why a video made using PRG1 would break when played back in PRG0. Here is an excerpt from the guide he wrote and posted on IGN:


----------------------------------------

X - PRG 0 VS PRG 1
----------------------------------------

Now we have resolved the mystery about the Fighter's Ring, and that the
Death Necklace can only be acquired once per game. But we have done these
examinations with one version of the ROM. Couldn't it be possible that there
is some other version out there that is different with these regards?

Surely, if we remember getting more than one Death Necklace per game, and we
proved that this is not possible, there must be some other version out there
with this difference, right? If so, maybe this other version has the
Fighter's Ring's issue fixed as well? Pretty please? With an opcode on top?

Throughout this FAQ, I have looked at the PRG 0 version of the game. The
issue with the Death Necklace got me thinking about this. If we do a diff of
the PRG 0 and PRG 1 versions of the game using some utility out there that
does this, we see that the PRG 0 and PRG 1 versions are different by exactly
3 bytes:

Address PRG 0 PRG 1
3FAE 37 32
3FAF 32 29
AF7C EF F0

The first 2 addresses have to do with the title screen.

In PRG 0, the title screen says at the bottom:

LICENSED TO NINTENDO
TM TRADEMARK TO NINTENDO

In PRG 1, the title screen says at the bottom:

LICENSED TO NINTENDO
TM TRADEMARK OF NINTENDO

So basically, 66 % of the differences between PRG 0 and PRG 1 was to correct
the grammar... at the title screen where everyone can see it openly and poke
fun of it...

This is one easy way to tell which version of the game you have on the cart,
assuming there are only 2 versions, which, according to our research on the
Death Necklace, does not seem to be the case at all...

The last address seems like it can be code. If we do a seek to the relevant
address on the game, taking into account the NES header, we see the
following:

PRG 0:

$AF6B:1D EF 5F ORA $5FEF,X
$AF6E:0D 0E 0C ORA $0C0E
$AF71:1B UNDEFINED

PRG 1:

$AF6B:1D F0 5F ORA $5FF0,X
$AF6E:0D 0E 0C ORA $0C0E
$AF71:1B UNDEFINED

Before we even waste our time analyzing these opcodes, note that after we do
our OR operations, we eventually get to an undefined opcode. If these were
truly supposed to be opcodes, we can see that clearly, their execution would
lead to an undefined opcode before any branching could occur, which would
crash our game. Therefore, these bytes couldn't logically be opcodes. They
are probably something else. Even if these were valid opcodes, this single
difference here does not address any of the relevant details we have
researched. We can conclude that, for purposes of this FAQ, these two
versions are identical.


UPDATE 1.1:


Going back to this matter, one way we can determine what this last byte is
used for is via ROM corruption. Doing so and playing the game for a while to
verify the effect, we find out that the last byte actually has to do with
text as well.

If we look at a chunk of data through a hex editor that has dictionary
capabilities, and we use the game's text as the dictionary, we see the
following:

PRG 0:

AF60 0E 19 47 FC 60 FD 37 11 ep.. .Th
AF68 0E 5F F4 5F 0A 1D 1D 0A e . atta
AF70 0C 14 1C 4C FC 37 11 22 cks!.Thy
AF78 5F 2B 12 1D EF 5F 0D 0E Hit. de
AF80 0C 1B 0E 0A 1C 0E 0D 5F creased
AF88 0B 22 5F F5 47 FC 24 5F by ...A

PRG 1:

AF60 0E 19 47 FC 60 FD 37 11 ep.. .Th
AF68 0E 5F F4 5F 0A 1D 1D 0A e . atta
AF70 0C 14 1C 4C FC 37 11 22 cks!.Thy
AF78 5F 2B 12 1D F0 5F 0D 0E Hit. de
AF80 0C 1B 0E 0A 1C 0E 0D 5F creased
AF88 0B 22 5F F5 47 FC 24 5F by ...A

This clearly corresponds to the text we see when we get attacked by an enemy
in battle. Getting into a battle, we see the following:

PRG 0, HP Damage = 1:

The Slime attacks!
Thy Hit decreased by 1.

PRG 1, HP Damage = 1:

The Slime attacks!
Thy Hit Point decreased by 1.

PRG 0, HP Damage > 1:

The Slime attacks!
Thy Hits decreased by 2.

PRG 1, HP Damage > 1:

The Slime attacks!
Thy Hit Points decreased by 2.

So we see that the value of F0 corresponds to a single byte representation
of the string " Point", and the value of EF, when interpreted as such,
simply prints out null, or nothing at all. This kind of text "compression"
is actually quite common among video games.

From this, we can see that all 3 bytes that are different between PRG 0 and
PRG 1 correspond to text differences in the game. This means that PRG 0 and
PRG 1 SRAM data, save states, movie files, Game Genie codes, and others are
perfectly backwards-compatible with each other.

Also, it seems that I need to correct myself: 100 % of the differences
between PRG 0 and PRG 1 was to correct the grammar... It's nice to finally
know what the real differences are between the two versions! :)


/UPDATE



A link to this guide can be found here. Note that while I may be largely responsible for the creation of this document (he went so far as to dedicate the thing to me), I did not write this. This is entirely MeteorStrike's work, I just goaded him into producing it.

____________________
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: 2983/5390
EXP: 29044597
For next: 290408

Since: 07-22-07

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

Since last post: 330 days
Last activity: 330 days

Posted on 03-31-10 02:36:58 PM Link | Quote
03-31-10 09:36:58 AM
Post #2983
Originally posted by MaxKnight
why a video made using PRG1 would break when played back in PRG0.
[...]
From this, we can see that all 3 bytes that are different between PRG 0 and
PRG 1 correspond to text differences in the game. This means that PRG 0 and
PRG 1 SRAM data, save states, movie files, Game Genie codes, and others are
perfectly backwards-compatible with each other.
Does not compute.

The extra word would throw off the timing, would it not? As it now takes a couple frames longer to display.

____________________


witty comment
why not?
MaxKnight
710
Systems Administrator
Level: 57


Posts: 622/719
EXP: 1414187
For next: 71741

Since: 07-29-07

From: Columbus, Ohio

Since last post: 10.6 years
Last activity: 9.7 years

Posted on 03-31-10 10:36:04 PM Link | Quote
He said that before I brought up the movie file problem. He assumed that since the SRAM is transferable, that movie playback would not be affected. Then I brought up the fact that the TAS recorded in PRG1 would break on PRG0, and he did further investigation. It was quite a long addition to this section of his guide, so I decided not to include it in that giant codeblock. He learned that indeed, the lack of the extra word caused the RNG to be called further while it was waiting for input in PRG0, so button presses were timed to when it would have finished printing in PRG1. This didn't break that movie file until about a third of the way through. That was for the record back in 2007, though. I hear Acmlm went and broke that by using PRG0, among other optimizations.

You can ignore that false statement, then.

____________________
Next newer thread | Next older thread
Jul - The Cutting Room Floor - ROM revisions and bugs New poll - New thread - New reply


Rusted Logic

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

30 database queries, 1 query cache hits.
Query execution time:  0.089972 seconds
Script execution time:  0.025493 seconds
Total render time:  0.115465 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 300 - Warning: unescaped & or unknown entity "&page"
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 193 - 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 101 - Warning: unescaped & or unknown entity "&postid"
line 191 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 193 column 9 - Warning: missing <tr>
line 211 column 13 - Warning: missing <tr>
line 212 column 101 - Warning: unescaped & or unknown entity "&postid"
line 214 column 85 - Warning: <style> isn't allowed in <td> elements
line 214 column 9 - Info: <td> previously mentioned
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 101 - Warning: unescaped & or unknown entity "&postid"
line 284 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 286 column 9 - Warning: missing <tr>
line 304 column 13 - Warning: missing <tr>
line 305 column 101 - Warning: unescaped & or unknown entity "&postid"
line 307 column 192 - Warning: missing </span> before <blockquote>
line 307 column 254 - Warning: inserting implicit <span>
line 307 column 254 - Warning: missing </span> before <hr>
line 307 column 322 - Warning: inserting implicit <span>
line 307 column 322 - Warning: missing </span> before <hr>
line 312 column 1 - Warning: inserting implicit <span>
line 314 column 1216 - Warning: missing </span> before <blockquote>
line 314 column 1257 - Warning: inserting implicit <span>
line 314 column 1257 - Warning: missing </span> before <hr>
line 314 column 1321 - Warning: inserting implicit <span>
line 314 column 1321 - Warning: missing </span> before <hr>
line 314 column 1408 - Warning: discarding unexpected </span>
line 317 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 319 column 9 - Warning: missing <tr>
line 337 column 13 - Warning: missing <tr>
line 338 column 101 - Warning: unescaped & or unknown entity "&postid"
line 340 column 220 - Warning: unescaped & or unknown entity "&t"
line 343 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 345 column 9 - Warning: missing <tr>
line 363 column 13 - Warning: missing <tr>
line 364 column 101 - Warning: unescaped & or unknown entity "&postid"
line 372 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 374 column 9 - Warning: missing <tr>
line 392 column 13 - Warning: missing <tr>
line 393 column 101 - Warning: unescaped & or unknown entity "&postid"
line 544 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 546 column 9 - Warning: missing <tr>
line 564 column 13 - Warning: missing <tr>
line 565 column 101 - Warning: unescaped & or unknown entity "&postid"
line 567 column 85 - Warning: <style> isn't allowed in <td> elements
line 567 column 9 - Info: <td> previously mentioned
line 577 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 579 column 9 - Warning: missing <tr>
line 597 column 13 - Warning: missing <tr>
line 598 column 101 - Warning: unescaped & or unknown entity "&postid"
line 605 column 17 - Warning: missing <tr>
line 605 column 17 - Warning: discarding unexpected <table>
line 608 column 35 - Warning: missing <tr>
line 608 column 50 - Warning: missing </font> before </td>
line 608 column 91 - Warning: missing </font> before </table>
line 610 column 35 - Warning: missing <tr>
line 610 column 50 - Warning: missing </font> before </td>
line 611 column 37 - Warning: unescaped & or unknown entity "&id"
line 610 column 193 - Warning: missing </font> before </table>
line 612 column 17 - Warning: discarding unexpected </textarea>
line 612 column 28 - Warning: discarding unexpected </form>
line 612 column 35 - Warning: discarding unexpected </embed>
line 612 column 43 - Warning: discarding unexpected </noembed>
line 612 column 53 - Warning: discarding unexpected </noscript>
line 612 column 64 - Warning: discarding unexpected </noembed>
line 612 column 74 - Warning: discarding unexpected </embed>
line 612 column 82 - Warning: discarding unexpected </table>
line 612 column 90 - Warning: discarding unexpected </table>
line 614 column 9 - Warning: missing </font> before <table>
line 626 column 25 - Warning: discarding unexpected </font>
line 635 column 57 - Warning: discarding unexpected </font>
line 613 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 245 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 11 - Warning: <img> lacks "alt" attribute
line 161 column 23 - Warning: <img> lacks "alt" attribute
line 161 column 64 - Warning: <img> lacks "alt" attribute
line 161 column 113 - Warning: <img> lacks "alt" attribute
line 161 column 163 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 179 column 263 - Warning: <img> lacks "alt" attribute
line 179 column 728 - Warning: <td> attribute "align" has invalid value "top"
line 188 column 2442 - Warning: <img> lacks "alt" attribute
line 188 column 2623 - Warning: <img> lacks "alt" attribute
line 188 column 2803 - Warning: <img> lacks "alt" attribute
line 196 column 23 - Warning: <img> lacks "alt" attribute
line 196 column 64 - Warning: <img> lacks "alt" attribute
line 196 column 113 - Warning: <img> lacks "alt" attribute
line 196 column 163 - Warning: <img> lacks "alt" attribute
line 207 column 15 - Warning: <img> lacks "alt" attribute
line 222 column 3904 - Warning: <img> proprietary attribute value "absmiddle"
line 222 column 3904 - 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 161 - Warning: <img> lacks "alt" attribute
line 235 column 11 - Warning: <img> lacks "alt" attribute
line 245 column 15 - Warning: <img> lacks "alt" attribute
line 289 column 23 - Warning: <img> lacks "alt" attribute
line 289 column 64 - Warning: <img> lacks "alt" attribute
line 300 column 15 - Warning: <img> lacks "alt" attribute
line 322 column 22 - Warning: <img> lacks "alt" attribute
line 322 column 63 - Warning: <img> lacks "alt" attribute
line 322 column 112 - Warning: <img> lacks "alt" attribute
line 322 column 161 - Warning: <img> lacks "alt" attribute
line 323 column 11 - Warning: <img> lacks "alt" attribute
line 333 column 15 - Warning: <img> lacks "alt" attribute
line 347 column 11 - Warning: <img> lacks "alt" attribute
line 348 column 22 - Warning: <img> lacks "alt" attribute
line 348 column 63 - Warning: <img> lacks "alt" attribute
line 348 column 112 - Warning: <img> lacks "alt" attribute
line 348 column 162 - Warning: <img> lacks "alt" attribute
line 349 column 11 - Warning: <img> lacks "alt" attribute
line 359 column 15 - Warning: <img> lacks "alt" attribute
line 366 column 293 - Warning: <img> lacks "alt" attribute
line 376 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 376 column 15 - Warning: <img> lacks "alt" attribute
line 376 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 376 column 58 - Warning: <img> lacks "alt" attribute
line 376 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 376 column 101 - Warning: <img> lacks "alt" attribute
line 376 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 376 column 144 - Warning: <img> lacks "alt" attribute
line 376 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 376 column 187 - Warning: <img> lacks "alt" attribute
line 376 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 376 column 230 - Warning: <img> lacks "alt" attribute
line 376 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 376 column 273 - Warning: <img> lacks "alt" attribute
line 377 column 22 - Warning: <img> lacks "alt" attribute
line 377 column 63 - Warning: <img> lacks "alt" attribute
line 377 column 112 - Warning: <img> lacks "alt" attribute
line 377 column 162 - Warning: <img> lacks "alt" attribute
line 378 column 11 - Warning: <img> lacks "alt" attribute
line 388 column 15 - Warning: <img> lacks "alt" attribute
line 541 column 6260 - Warning: <img> lacks "alt" attribute
line 549 column 23 - Warning: <img> lacks "alt" attribute
line 549 column 64 - Warning: <img> lacks "alt" attribute
line 549 column 113 - Warning: <img> lacks "alt" attribute
line 549 column 163 - Warning: <img> lacks "alt" attribute
line 560 column 15 - Warning: <img> lacks "alt" attribute
line 581 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 581 column 15 - Warning: <img> lacks "alt" attribute
line 581 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 581 column 58 - Warning: <img> lacks "alt" attribute
line 581 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 581 column 101 - Warning: <img> lacks "alt" attribute
line 581 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 581 column 144 - Warning: <img> lacks "alt" attribute
line 581 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 581 column 187 - Warning: <img> lacks "alt" attribute
line 581 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 581 column 230 - Warning: <img> lacks "alt" attribute
line 581 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 581 column 273 - Warning: <img> lacks "alt" attribute
line 582 column 22 - Warning: <img> lacks "alt" attribute
line 582 column 63 - Warning: <img> lacks "alt" attribute
line 582 column 112 - Warning: <img> lacks "alt" attribute
line 582 column 162 - Warning: <img> lacks "alt" attribute
line 583 column 11 - Warning: <img> lacks "alt" attribute
line 593 column 15 - Warning: <img> lacks "alt" attribute
line 602 column 992 - Warning: <img> lacks "alt" attribute
line 611 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 611 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 611 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 620 column 25 - Warning: <img> lacks "alt" attribute
line 625 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 307 column 192 - Warning: trimming empty <span>
line 314 column 1216 - Warning: trimming empty <span>
line 605 column 17 - Warning: trimming empty <tr>
line 608 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 179 column 74 - Warning: <table> proprietary attribute "height"
line 179 column 155 - Warning: <td> proprietary attribute "background"
line 179 column 366 - Warning: <td> proprietary attribute "background"
line 179 column 460 - Warning: <td> proprietary attribute "background"
line 179 column 543 - Warning: <td> proprietary attribute "background"
line 179 column 646 - Warning: <td> proprietary attribute "background"
line 179 column 728 - Warning: <td> proprietary attribute "background"
line 188 column 2262 - Warning: <td> proprietary attribute "background"
line 188 column 2353 - Warning: <td> proprietary attribute "background"
line 188 column 2530 - Warning: <td> proprietary attribute "background"
line 188 column 2714 - Warning: <td> proprietary attribute "background"
line 212 column 27 - Warning: <nobr> is not approved by W3C
line 250 column 27 - Warning: <nobr> is not approved by W3C
line 305 column 27 - Warning: <nobr> is not approved by W3C
line 307 column 74 - Warning: <div> proprietary attribute "width"
line 314 column 1079 - Warning: <div> proprietary attribute "width"
line 338 column 27 - Warning: <nobr> is not approved by W3C
line 364 column 27 - Warning: <nobr> is not approved by W3C
line 393 column 27 - Warning: <nobr> is not approved by W3C
line 565 column 27 - Warning: <nobr> is not approved by W3C
line 598 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 219 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