Register - Login
Views: 99364190
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 02:24:12 PM
Jul - The Cutting Room Floor - Pokemon Puzzle Challenge graphics, compression and stuff New poll - New thread - New reply
Pages: 1 2 Next newer thread | Next older thread
xdaniel
980
Level: 64


Posts: 434/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-18-13 04:54:33 PM Link | Quote


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


So, Mr. "I hate graphics compression" here tried looking into the graphic compression used in Pokemon Puzzle Challenge for the GBC and... didn't get very far.

Here's a few notes tho, which might help someone who is more familiar with compression formats, assembly on the GB, etc. to figure this out. All offsets are for the Japanese version of the game, Pokemon de Panepon, as I 1) had that ROM handy, and 2) expect more potential leftover graphics from Panel de Pon in this version.

First, probably the one interesting thing I know, 00:0C5D appear to be the start of the decompression routine, with HL containing the source address from which to read the compressed data, DE containing the target address to write the uncompressed data to, and A being loaded with the compression code by the opcode at 0C5D. As far as I can see, if bit 7 of the code is non-zero (i.e. (code & 0x80) != 0), the following data is compressed. If it is zero, the following X bytes are copied as-is to the output, with X being the remaining bits of the code (i.e. (code & 0x7F)) plus 1.

I also sort of managed to "decompress" data prefixed by codes 0x80, 0x90, 0xB0 and 0xF0, but I'm 99% sure that those implementations were more like pretty bad hacks that only worked on certain input data - still, 0x80 appears to be "take X bytes from output and repeat those", while 0xF0 appears to be "repeat single uncompressed byte X times". Not exactly sure on either, tho.

Next up, at 0x14CA55 begins the compressed graphics for the copyright screen (text, Pikachu tiles, etc). This is the only block of graphics I have an exact start offset for, any other graphics I looked into where just found via a tile editor, so I couldn't get any correct offsets for those.

Finally, I wasn't sure if I should post this in ROM hacking or the TCRF board, but decided on the latter as I mainly looked into this for Panel de Pon's sake - meaning finding more leftovers from the game's pre-Pokemon incarnation -, and because it'll likely get more exposure in here than down in ROM hacking. Feel free to move this around, tho.


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Xkeeper

Level: 263


Posts: 20934/25343
EXP: 296699466
For next: 2260987

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 8 days
Last activity: 2 days

Posted on 04-18-13 04:59:00 PM Link | Quote
This place is fine.

Did you see my tweet or something? Curious that you started looking into it right after I mentioned it!


As for decompressing, somehow it doesn't surprise me that this game does it weird... It seems like your writeup makes sense. I'm guessing this is for tilemaps and not just the graphics themselves, too?

____________________
Sanqui
2060
πŸ’›πŸ€πŸ’œπŸ–€πŸ¦‰
Level: 87


Posts: 1193/2066
EXP: 6304486
For next: 88288

Since: 12-20-09

Pronouns: any ✨
From: Czechia | Estonia

Since last post: 5 days
Last activity: 9 hours

Posted on 04-18-13 05:03:36 PM (last edited by Sanky at 04-18-13 05:04:29 PM) Link | Quote


*Sanky flops.

level 57

exp 1436505

exppct 43.7%

numposts 1193

 
I can try and look into it; after all I already figured out one compression format by myself.

Also, there are a few unused sidebar graphics which I was gonna document on TCRF but later forgot about.

Two examples.
CEA2 is the sidebar style.

____________________
I hate to just gloss over things β€’ I keep hoping, but nothing takes form β€’ "The stars watch over us," you say β€’ But aren't they only at night?
xdaniel
980
Level: 64


Posts: 435/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-18-13 05:11:22 PM Link | Quote


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


The tweet about a character from the GCN Panel de Pon? I've seen that and I guess it is the reason I looked into this, yeah

It's not necessarily the game that's weird, it's more like that I'm bad with compressed data. I was really happy when I figured out the simple RLE the GB Printer uses on my own! As for the tilemaps, I'm not sure if they're included here, what I've seen so far is really just the tiles. All I know is, setting a breakpoint on 00:0C5D in NO$GMB, then letting the game run until it hits the breakpoint, run again, again, and so on, allows one to see how the tiles assemble themselves in VRAM block by block.

...Sanky posted while I was typing the above, and damn, this has already been done? Ahhh, well, I can still try and code a decompressor myself... that'll be at least something


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Xkeeper

Level: 263


Posts: 20935/25343
EXP: 296699466
For next: 2260987

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 8 days
Last activity: 2 days

Posted on 04-18-13 05:17:50 PM Link | Quote
He hasn't figured it out, he's just saying that he's had experience figuring these out from a different game

____________________
xdaniel
980
Level: 64


Posts: 436/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-18-13 05:20:07 PM (last edited by xdaniel at 04-18-13 05:35:21 PM) Link | Quote


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


...not just compression understanding fail, but reading comprehension fail too! Man, I'm good, huh? <.<"

Gotta keep looking into this then!

EDIT, for something less stupid: RAM addresses CEC0 and CEC1 in the Japanese version hold the ID of the Pokemon you're currently playing with, the first being the mugshot itself, the second one the palette. Any pair from 0x1A and up appear as Chikorita but with different, "non-Chikorita" palettes - 0x1B, for example, gives it a bluish tint. I'm wondering if those are Panel de Pon leftovers?

(And unrelated to any leftovers, CEC3 is the speed level, which can actually be set to 0 to stop the stack from rising - it does go up again if you clear some panels, tho )


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Xkeeper

Level: 263


Posts: 20936/25343
EXP: 296699466
For next: 2260987

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 8 days
Last activity: 2 days

Posted on 04-18-13 05:42:07 PM Link | Quote
Originally posted by xdaniel
(And unrelated to any leftovers, CEC3 is the speed level, which can actually be set to 0 to stop the stack from rising - it does go up again if you clear some panels, tho )


I had a Lua script for this; there are a few other variables that determine the status of the stack (STOP timer, "ohshit" timer in VS games)... I'll dig those out soon.

____________________
xdaniel
980
Level: 64


Posts: 437/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-18-13 07:01:34 PM (last edited by xdaniel at 04-18-13 09:39:05 PM) Link | Quote


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


Call it cheating, but here's something cool:



0x3E8FE in the Japanese ROM, compressed - graphics for the suspend save screen featuring (if I'm not totally mistaken) Lip from Panel de Pon! I ended up porting, patching and hacking my emulator SharpBoy's CPU core to execute the actual decompression function in the ROM, which, with a bit of glue, now spits out a byte array with the decompressed data

Preparing a decompressor in a bit, will then post it here~

EDIT, here we go: http://magicstone.de/dzd/random/PokepaneDec.rar
Bugfixed build: http://magicstone.de/dzd/random/PokepaneDec_2.rar

Syntax: PokepaneDec [ROM file] [data offset (hex)] [output file]
Example: PokepaneDec "D:\ROMs\GB\GBxRen\Pokemon de Panepon (J) [C][!].gbc" 0x3E8FE "D:\ROMs\GB\panepon-decomp.gb"

The big letdown with this is probably that it can't scan for valid graphics offsets or anything like that - you have to tell it exactly where to find the data. It should also work with the US and European versions of the game - it recognizes the version and selects the correct offset for the decompression function based on that - but this is entirely untested.

EDIT 2: Most likely an incorrect start offset (0x7D8A2 JPN), but still...

http://i.imgur.com/YJvn0Fu.png

"Produced by Team Battle Clash"? "Nintendo presents" in what looks like a speech bubble? Especially the latter reminds me very much of the SNES game and Tetris Attack...

EDIT again: Scratch the above, it's 0x7D615 JPN:



That's Lip yet again, right? ...you know what would be funny? If there was one single flag somewhere in the ROM that turns Pokemon Puzzle Challenge back into Panel de Pon.

EDIT XYZ: It was called "Panel de Pon GB":



(again, wrong offset)


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



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: 5002/5390
EXP: 29049439
For next: 285566

Since: 07-22-07

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

Since last post: 332 days
Last activity: 332 days

Posted on 04-18-13 09:46:09 PM Link | Quote
Post #5002 Β· Thu 130418 174609
That format sounds like it could have something in common with the compression used in mainstream Pokémon GB games, which is supported by Lunar Compress and well documented.

____________________
xdaniel
980
Level: 64


Posts: 438/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-18-13 10:07:03 PM Link | Quote


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


It's not the same format - in fact, this seems to not be supported by Lunar Compress at all -, but it's true that they might have something in common. Is there any other Intelligent Systems game that uses compressed graphics and has the format documented? Wondering if it might be a format common to several of their games.

Also, I found what looks like the proper offsets (JPN version) for the PdP title screen graphics:

0x9E3A5:


0x9F2B4:



____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Joe
Common spammer
🍬
Level: 111


Posts: 2834/3392
EXP: 14488110
For next: 380250

Since: 08-02-07

From: Pororoca

Since last post: 2 days
Last activity: 13 hours

Posted on 04-18-13 11:03:25 PM Link | Quote
Here's the format. Now you can write a decompresser without a CPU core.

0xxxxxxx = Copy (X + 1) bytes from input to output
10xxxxyy yyyyyyyy = Copy (X + 2) bytes from (output - Y)
110xxxxx xyyyyyyy yyyyyyyy = Copy (X + 2) bytes from (output - Y)
1110xxxx xxxxxxxx yyyyyyyy = Write Y to output (X + 3) times
11110xxx yyyyyyyy = Write Y to output (X + 3) times
11111xxx = End of compressed data

____________________
ちにゃあ。
Foxhack
Member
Annoying fuzzball
Level: 54


Posts: 347/722
EXP: 1173320
For next: 60550

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 2.0 years
Last activity: 1.8 years

Posted on 04-19-13 12:14:53 AM Link | Quote
I assembled the Nintendo logos and the suspend screen, and added them to the article.

____________________
My Video Game Collection
xdaniel
980
Level: 64


Posts: 439/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-22-13 03:20:58 PM Link | Quote


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


Originally posted by Joe
Here's the format. Now you can write a decompresser without a CPU core.

Guess Kagami helped out Tsurugi on here too, huh? Or something. Anyway, C# implementation, might not be the prettiest but should work right... the copyrights decompress correctly, and they do use all compression types:


/* Reversed & documented by Joe @ http://jul.rustedlogic.net/thread.php?pid=420938#420938 */

public byte[] Decompress(int Offset)
{
List<byte> output = new List<byte>()

byte cmd = 0;
int len, outpos;

bool eod = false;

while (!eod)
{
cmd = Data[Offset];

if ((cmd & 0x80) == 0)
{
/* 0xxxxxxx = Copy (X + 1) bytes from input to output */
len = (cmd & 0x7F) + 1;
for (int i = 0; i < len; i++) output.Add(Data[Offset + 1 + i])
Offset += len + 1;
}
else
{
if ((cmd & 0x40) == 0)
{
/* 10xxxxyy yyyyyyyy = Copy (X + 2) bytes from (output - Y) */
len = ((cmd >> 2) & 0xF) + 2;
outpos = output.Count - (((cmd & 0x3) << 8) | Data[Offset + 1])
for (int i = 0; i < len; i++) output.Add(output[outpos + i])
Offset += 2;
}
else if ((cmd & 0x20) == 0)
{
/* 110xxxxx xyyyyyyy yyyyyyyy = Copy (X + 2) bytes from (output - Y) */
len = (((cmd & 0x1F) << 1) | (Data[Offset + 1] >> 7)) + 2;
outpos = output.Count - (((Data[Offset + 1] & 0x7F) << 8) | Data[Offset + 2])
for (int i = 0; i < len; i++) output.Add(output[outpos + i])
Offset += 3;
}
else if ((cmd & 0x10) == 0)
{
/* 1110xxxx xxxxxxxx yyyyyyyy = Write Y to output (X + 3) times */
len = (((cmd & 0xF) << 8) | Data[Offset + 1]) + 3;
for (int i = 0; i < len; i++) output.Add(Data[Offset + 2])
Offset += 3;
}
else if ((cmd & 0x08) == 0)
{
/* 11110xxx yyyyyyyy = Write Y to output (X + 3) times */
len = (cmd & 0x7) + 3;
for (int i = 0; i < len; i++) output.Add(Data[Offset + 1])
Offset += 2;
}
}

/* 11111xxx = End of compressed data */
eod = ((cmd & 0xF8) == 0xF8)
}

return output.ToArray()
}




____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Aeonic Butterfly
200
Level: 32


Posts: 175/207
EXP: 191507
For next: 14935

Since: 12-27-10

From: Ridgecrest, CA

Since last post: 4.4 years
Last activity: 4.4 years

Posted on 04-22-13 08:34:42 PM Link | Quote
I've got nothing to say, but awesome job.
Joe
Common spammer
🍬
Level: 111


Posts: 2842/3392
EXP: 14488110
For next: 380250

Since: 08-02-07

From: Pororoca

Since last post: 2 days
Last activity: 13 hours

Posted on 04-22-13 08:51:42 PM Link | Quote
Originally posted by xdaniel
Guess Kagami helped out Tsurugi on here too, huh? Or something.
Who better to reverse-engineer a compression format than a robot?

____________________
ちにゃあ。
xdaniel
980
Level: 64


Posts: 440/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-22-13 09:05:25 PM Link | Quote


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


Originally posted by Joe
Who better to reverse-engineer a compression format than a robot?

Very true. Goddesses might know how to use computers, but not to that extend

Anyway, been working on a GUI for the decompressor, with fancy preview, sanity checks, all those bells and whistles:



It doesn't take command line arguments currently, but it'll do so in the future, replicating the way the old CPU-core-based decompressor worked. That screenshot also shows more previously unknown leftovers, the world map for the VS Com story mode. It's pretty much identical to how the used, Pokemon-themed one looks in VRAM in layout, so it's probably possible to show it in-game - with a certain amount of brokenness and wrong colors and such - by just swap some pointers around.


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



xdaniel
980
Level: 64


Posts: 441/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-22-13 09:19:36 PM (last edited by xdaniel at 04-22-13 10:36:54 PM) Link | Quote


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


Oh hell, how many more names has this game been known under during development? Or is this used somewhere?




And yes, this is all from the Japanese ROM.

EDIT: A ton of compressed data offsets for the Japanese ROM. Anything prefixed with "PdP" I'm pretty sure is unused, there's likely a bunch more of those blocks I noted down as "character illustration", might've been cutscenes, and I didn't map much of the data beyond 0x100000 for now as that appears to be mostly Pokemon-related. PPL is the "Pokemon Puzzle League" logo and copyright stuff.

0x146FF: Pkm "START...GAME START!" & misc. graphics
0x15644: (??? Vines? Plants?)
0x159BF: (??? More outdoor graphics?)
0x16912: PdP Character illustration
0x18D90: (??? "GAME OVER", "TRY AGAIN")
0x19CE2: PdP Other character illustrations (1) (Ending?)
0x19DE7: PdP Other character illustrations (2)
0x1A130: PdP Other character illustrations (3)
0x1A934: PdP "CONGRATULATIONS" banner
0x1E49B: Pkm Options screen graphics (1)
0x1E5D2: Pkm Options screen graphics (2)
0x1E8B1: Pkm Options screen cursor
0x204EB: (??? Clouds?)
0x205A3: (??? Character illustration (1))
0x20B6C: (??? Character illustration (2))
0x212BA: (??? Character illustration (1))
0x2148A: (??? Character illustration (2))
0x21A30: (??? Character illustration (3))
0x28F18: (??? "PUSH ANY KEY!" "PUSH START!")
0x3E5E4: PdP Suspend screen (1)
0x3E8FE: PdP Suspend screen (2)
0x48000: (??? Pokemon HUD)
0x4D4C6: (??? Misc. text)
0x4D9C7: (??? "CONGRATULATIONS" "PUSH START")
0x50E6C: (??? "READY" counter)
0x50F95: (??? Chain counter)
0x51065: (??? "STAGE" counter)
0x512A1: (??? "STAGE", "SPECIAL", "LAST")
0x5145F: (??? "TIME")
0x5E63D: (??? Cursor)
0x5E692: (??? Menu borders)
0x6560D: Pkm Resume save screen
0x65BE3: (??? Game levels/modes)
0x66796: (Pkm Pichu & misc. text)
0x7C910: Pdp Copyrights
0x7CA27: (PdP Intro? (1))
0x7CAFF: (PdP Intro? (2))
0x7D0E3: (PdP Intro? (3))
0x7D615: PdP Nintendo logo
0x7DD32: (??? "START...GAME START!" "MAX CHAIN")
0x7DE30: (??? Slow Mode banner)
0x7E3AF: (PdP "Omedetou!")
0x9E3A5: PdP Title screen
0x9F2B4: PdP Title screen (Push Start)
0x9F762: (??? "RESULT" screen graphics)
0x9FA5A: (??? "CLEAR TIME" & numbers)
0xA05C4: PdP Character illustration (1) (Cutscenes?)
0xA0BAA: PdP Character illustration (2)
0xA0D3D: PdP Character illustration (3)
0xA1576: PdP Character illustration (4)
0xA1AD2: PdP Character illustration (5)
0xBC2E7: PdP Story mode map
0xC8800: PdP Blocks
0xC8CD8: PdP Blocks (resolving?)
0xC8E08: PdP HUD (normal)
0xC9063: PdP HUD (Ojama mode)
0xC92D3: PdP HUD (stage mode)
0xC959B: PdP "EASY" level
0xC95DB: PdP "NORMAL" level
0xC9623: PdP "HARD" level
0xC965C: PdP "S-HARD" level
0xC96A8: PdP "V-HARD" level
0xC96F1: PdP "SLOW" level
0xC9733: PdP Sidebar(?)
0xCA031: PdP Ojama blocks(?)
0xCA0EB: PdP "TRY AGAIN?"
0xCA374: PdP "GAME OVER"
0xCA80E: PdP Hi-Score font(?)
0xCA8B7: PdP "READY" counter
0xFC000: PdP Character illustration (1) (More cutscenes?)
0xFC3CC: PdP Character illustration (2)
0xFC9BD: PdP Character illustration (3)
0xFDDA3: (??? Misc. text & "EASY", "NORMAL", "HARD", envelope, etc.)
0xFDF6F: (??? Misc. text & "V-", "S-HARD", etc.)
0xFE018: (??? Misc. text; "PANEPON" "RA" "KU", envelope, etc.)
0xFE18D: (??? Misc. text, "2P", "COM", etc.)
0x110000: PPL Title logo
0x110809: PPL Copyrights
0x110C8F: (Pkm Trainer sprites & speech bubble "Getto da ze!" ?) (1)
0x110F26: (Pkm Trainer sprites) (2)
0x1114AF: Pkm Story mode map
0x1494A1: Pkm Congratulations (Pikachu/Pichu)
0x14C000: Pkm Suspend screen (1)
0x14C2AC: Pkm Suspend screen (2)
0x14CA55: Pkm Copyrights


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



xdaniel
980
Level: 64


Posts: 443/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-24-13 05:28:22 PM Link | Quote


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


PaneponGUI v1.0 is out, complete with source code if anyone's interested: http://magicstone.de/dzd/?page=programs

I'll also see about updating the game's article myself, but feel free to dump and add more graphics regardless!


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Joe
Common spammer
🍬
Level: 111


Posts: 2849/3392
EXP: 14488110
For next: 380250

Since: 08-02-07

From: Pororoca

Since last post: 2 days
Last activity: 13 hours

Posted on 04-24-13 08:07:29 PM Link | Quote
It blows up with an incomprehensible error message if the ROM is read-only.

____________________
ちにゃあ。
xdaniel
980
Level: 64


Posts: 444/982
EXP: 2151467
For next: 62630

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 16 days
Last activity: 7 hours

Posted on 04-24-13 08:31:17 PM Link | Quote


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


Oops, it does, access denied... Guess I'm trying to open the file with the wrong privileges or so. I'll fix that in an update down the line - thinking of adding one or two more tiny things anyway - but it'll be a bit until then. In the meantime, don't try to open read-only files? ^^"


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Pages: 1 2 Next newer thread | Next older thread
Jul - The Cutting Room Floor - Pokemon Puzzle Challenge graphics, compression and stuff 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, 2 query cache hits.
Query execution time:  0.089152 seconds
Script execution time:  0.053839 seconds
Total render time:  0.142991 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 301 - 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 227 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 97 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 132 - 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 179 column 74 - Warning: <style> isn't allowed in <td> elements
line 179 column 9 - Info: <td> previously mentioned
line 195 column 3016 - Warning: discarding unexpected </i>
line 180 column 312 - Warning: missing </div>
line 202 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 204 column 9 - Warning: missing <tr>
line 222 column 13 - Warning: missing <tr>
line 223 column 102 - Warning: unescaped & or unknown entity "&postid"
line 225 column 74 - Warning: <style> isn't allowed in <td> elements
line 225 column 9 - Info: <td> previously mentioned
line 233 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 235 column 9 - Warning: missing <tr>
line 253 column 13 - Warning: missing <tr>
line 254 column 102 - Warning: unescaped & or unknown entity "&postid"
line 256 column 74 - Warning: <style> isn't allowed in <td> elements
line 256 column 9 - Info: <td> previously mentioned
line 256 column 3292 - Warning: '<' + '/' + letter not allowed here
line 261 column 20 - Warning: '<' + '/' + letter not allowed here
line 261 column 34 - Warning: '<' + '/' + letter not allowed here
line 265 column 21 - Warning: '<' + '/' + letter not allowed here
line 278 column 373 - Warning: unescaped & or unknown entity "&exp"
line 278 column 385 - Warning: unescaped & or unknown entity "&expn"
line 278 column 396 - Warning: unescaped & or unknown entity "&expp"
line 278 column 406 - Warning: unescaped & or unknown entity "&exppost"
line 278 column 419 - Warning: unescaped & or unknown entity "&expidle"
line 278 column 435 - Warning: unescaped & or unknown entity "&post"
line 278 column 445 - Warning: unescaped & or unknown entity "&version"
line 278 column 455 - Warning: unescaped & or unknown entity "&date"
line 284 column 1612 - Warning: discarding unexpected </div>
line 284 column 1618 - Warning: discarding unexpected </td>
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 308 column 102 - Warning: unescaped & or unknown entity "&postid"
line 310 column 74 - Warning: <style> isn't allowed in <td> elements
line 310 column 9 - Info: <td> previously mentioned
line 320 column 1821 - Warning: discarding unexpected </i>
line 311 column 312 - Warning: missing </div>
line 327 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 329 column 9 - Warning: missing <tr>
line 347 column 13 - Warning: missing <tr>
line 348 column 102 - Warning: unescaped & or unknown entity "&postid"
line 350 column 74 - Warning: <style> isn't allowed in <td> elements
line 350 column 9 - Info: <td> previously mentioned
line 353 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 355 column 9 - Warning: missing <tr>
line 373 column 13 - Warning: missing <tr>
line 374 column 102 - Warning: unescaped & or unknown entity "&postid"
line 376 column 74 - Warning: <style> isn't allowed in <td> elements
line 376 column 9 - Info: <td> previously mentioned
line 388 column 1677 - Warning: discarding unexpected </i>
line 377 column 312 - Warning: missing </div>
line 395 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 397 column 9 - Warning: missing <tr>
line 415 column 13 - Warning: missing <tr>
line 416 column 102 - Warning: unescaped & or unknown entity "&postid"
line 418 column 74 - Warning: <style> isn't allowed in <td> elements
line 418 column 9 - Info: <td> previously mentioned
line 423 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 425 column 9 - Warning: missing <tr>
line 443 column 13 - Warning: missing <tr>
line 444 column 102 - Warning: unescaped & or unknown entity "&postid"
line 446 column 74 - Warning: <style> isn't allowed in <td> elements
line 446 column 9 - Info: <td> previously mentioned
line 484 column 3004 - Warning: discarding unexpected </i>
line 447 column 312 - Warning: missing </div>
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 512 column 102 - Warning: unescaped & or unknown entity "&postid"
line 514 column 4563 - Warning: replacing unexpected input with </input>
line 514 column 4877 - Warning: discarding unexpected </span>
line 517 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 519 column 9 - Warning: missing <tr>
line 537 column 13 - Warning: missing <tr>
line 538 column 102 - Warning: unescaped & or unknown entity "&postid"
line 540 column 74 - Warning: <style> isn't allowed in <td> elements
line 540 column 9 - Info: <td> previously mentioned
line 554 column 1477 - Warning: discarding unexpected </i>
line 541 column 312 - Warning: missing </div>
line 561 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 563 column 9 - Warning: missing <tr>
line 581 column 13 - Warning: missing <tr>
line 582 column 102 - Warning: unescaped & or unknown entity "&postid"
line 584 column 74 - Warning: <style> isn't allowed in <td> elements
line 584 column 9 - Info: <td> previously mentioned
line 594 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 596 column 9 - Warning: missing <tr>
line 614 column 13 - Warning: missing <tr>
line 615 column 102 - Warning: unescaped & or unknown entity "&postid"
line 620 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 622 column 9 - Warning: missing <tr>
line 640 column 13 - Warning: missing <tr>
line 641 column 102 - Warning: unescaped & or unknown entity "&postid"
line 643 column 74 - Warning: <style> isn't allowed in <td> elements
line 643 column 9 - Info: <td> previously mentioned
line 712 column 4216 - Warning: discarding unexpected </i>
line 644 column 312 - Warning: missing </div>
line 719 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 721 column 9 - Warning: missing <tr>
line 739 column 13 - Warning: missing <tr>
line 740 column 102 - Warning: unescaped & or unknown entity "&postid"
line 745 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 747 column 9 - Warning: missing <tr>
line 765 column 13 - Warning: missing <tr>
line 766 column 102 - Warning: unescaped & or unknown entity "&postid"
line 768 column 74 - Warning: <style> isn't allowed in <td> elements
line 768 column 9 - Info: <td> previously mentioned
line 771 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 773 column 9 - Warning: missing <tr>
line 791 column 13 - Warning: missing <tr>
line 792 column 102 - Warning: unescaped & or unknown entity "&postid"
line 794 column 74 - Warning: <style> isn't allowed in <td> elements
line 794 column 9 - Info: <td> previously mentioned
line 807 column 1920 - Warning: discarding unexpected </i>
line 795 column 312 - Warning: missing </div>
line 814 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 816 column 9 - Warning: missing <tr>
line 834 column 13 - Warning: missing <tr>
line 835 column 102 - Warning: unescaped & or unknown entity "&postid"
line 837 column 74 - Warning: <style> isn't allowed in <td> elements
line 837 column 9 - Info: <td> previously mentioned
line 936 column 4861 - Warning: discarding unexpected </i>
line 838 column 312 - Warning: missing </div>
line 943 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 945 column 9 - Warning: missing <tr>
line 963 column 13 - Warning: missing <tr>
line 964 column 102 - Warning: unescaped & or unknown entity "&postid"
line 966 column 74 - Warning: <style> isn't allowed in <td> elements
line 966 column 9 - Info: <td> previously mentioned
line 974 column 1183 - Warning: discarding unexpected </i>
line 967 column 312 - Warning: missing </div>
line 981 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 983 column 9 - Warning: missing <tr>
line 1001 column 13 - Warning: missing <tr>
line 1002 column 102 - Warning: unescaped & or unknown entity "&postid"
line 1004 column 74 - Warning: <style> isn't allowed in <td> elements
line 1004 column 9 - Info: <td> previously mentioned
line 1007 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 1009 column 9 - Warning: missing <tr>
line 1027 column 13 - Warning: missing <tr>
line 1028 column 102 - Warning: unescaped & or unknown entity "&postid"
line 1030 column 74 - Warning: <style> isn't allowed in <td> elements
line 1030 column 9 - Info: <td> previously mentioned
line 1036 column 1183 - Warning: discarding unexpected </i>
line 1031 column 312 - Warning: missing </div>
line 1043 column 17 - Warning: missing <tr>
line 1043 column 17 - Warning: discarding unexpected <table>
line 1046 column 35 - Warning: missing <tr>
line 1046 column 97 - Warning: unescaped & or unknown entity "&page"
line 1046 column 50 - Warning: missing </font> before </td>
line 1046 column 132 - Warning: missing </font> before </table>
line 1048 column 35 - Warning: missing <tr>
line 1048 column 50 - Warning: missing </font> before </td>
line 1049 column 37 - Warning: unescaped & or unknown entity "&id"
line 1048 column 227 - Warning: missing </font> before </table>
line 1050 column 17 - Warning: discarding unexpected </textarea>
line 1050 column 28 - Warning: discarding unexpected </form>
line 1050 column 35 - Warning: discarding unexpected </embed>
line 1050 column 43 - Warning: discarding unexpected </noembed>
line 1050 column 53 - Warning: discarding unexpected </noscript>
line 1050 column 64 - Warning: discarding unexpected </noembed>
line 1050 column 74 - Warning: discarding unexpected </embed>
line 1050 column 82 - Warning: discarding unexpected </table>
line 1050 column 90 - Warning: discarding unexpected </table>
line 1052 column 9 - Warning: missing </font> before <table>
line 1064 column 25 - Warning: discarding unexpected </font>
line 1073 column 57 - Warning: discarding unexpected </font>
line 1051 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 160 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 15 - Warning: <img> lacks "alt" attribute
line 160 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 58 - Warning: <img> lacks "alt" attribute
line 160 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 101 - Warning: <img> lacks "alt" attribute
line 160 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 144 - Warning: <img> lacks "alt" attribute
line 160 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 187 - Warning: <img> lacks "alt" attribute
line 160 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 230 - Warning: <img> lacks "alt" attribute
line 160 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 273 - Warning: <img> lacks "alt" attribute
line 160 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 316 - Warning: <img> lacks "alt" attribute
line 160 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 359 - Warning: <img> lacks "alt" attribute
line 160 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 402 - 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 195 column 2767 - Warning: <div> anchor "divxdn" already defined
line 197 column 3085 - Warning: <img> lacks "alt" attribute
line 197 column 3220 - Warning: <img> lacks "alt" attribute
line 198 column 3302 - Warning: <img> lacks "alt" attribute
line 207 column 23 - Warning: <img> lacks "alt" attribute
line 207 column 64 - Warning: <img> lacks "alt" attribute
line 207 column 113 - Warning: <img> lacks "alt" attribute
line 207 column 163 - Warning: <img> lacks "alt" attribute
line 208 column 11 - Warning: <img> lacks "alt" attribute
line 218 column 15 - Warning: <img> lacks "alt" attribute
line 227 column 1044 - Warning: <img> proprietary attribute value "absmiddle"
line 227 column 1044 - Warning: <img> lacks "alt" attribute
line 237 column 16 - Warning: <img> proprietary attribute value "absmiddle"
line 237 column 16 - Warning: <img> lacks "alt" attribute
line 237 column 59 - Warning: <img> proprietary attribute value "absmiddle"
line 237 column 59 - Warning: <img> lacks "alt" attribute
line 237 column 102 - Warning: <img> proprietary attribute value "absmiddle"
line 237 column 102 - Warning: <img> lacks "alt" attribute
line 237 column 145 - Warning: <img> proprietary attribute value "absmiddle"
line 237 column 145 - Warning: <img> lacks "alt" attribute
line 238 column 22 - Warning: <img> lacks "alt" attribute
line 238 column 63 - Warning: <img> lacks "alt" attribute
line 238 column 112 - Warning: <img> lacks "alt" attribute
line 238 column 162 - Warning: <img> lacks "alt" attribute
line 239 column 11 - Warning: <img> lacks "alt" attribute
line 249 column 15 - Warning: <img> lacks "alt" attribute
line 253 column 92 - Warning: <font> attribute "color" had invalid value "7C60B0" and has been replaced
line 281 column 1029 - Warning: <img> lacks "alt" attribute
line 281 column 1089 - Warning: <img> lacks "alt" attribute
line 291 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 15 - Warning: <img> lacks "alt" attribute
line 291 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 58 - Warning: <img> lacks "alt" attribute
line 291 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 101 - Warning: <img> lacks "alt" attribute
line 291 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 144 - Warning: <img> lacks "alt" attribute
line 291 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 187 - Warning: <img> lacks "alt" attribute
line 291 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 230 - Warning: <img> lacks "alt" attribute
line 291 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 273 - Warning: <img> lacks "alt" attribute
line 291 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 316 - Warning: <img> lacks "alt" attribute
line 291 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 359 - Warning: <img> lacks "alt" attribute
line 291 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 291 column 402 - 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 311 column 312 - Warning: <div> anchor "divxdn" already defined
line 315 column 738 - Warning: <img> proprietary attribute value "absmiddle"
line 315 column 738 - Warning: <img> lacks "alt" attribute
line 319 column 1485 - Warning: <img> proprietary attribute value "absmiddle"
line 319 column 1485 - Warning: <img> lacks "alt" attribute
line 320 column 1572 - Warning: <div> anchor "divxdn" already defined
line 322 column 1890 - Warning: <img> lacks "alt" attribute
line 322 column 2025 - Warning: <img> lacks "alt" attribute
line 323 column 2107 - Warning: <img> lacks "alt" attribute
line 332 column 23 - Warning: <img> lacks "alt" attribute
line 332 column 64 - Warning: <img> lacks "alt" attribute
line 332 column 113 - Warning: <img> lacks "alt" attribute
line 332 column 163 - Warning: <img> lacks "alt" attribute
line 333 column 11 - Warning: <img> lacks "alt" attribute
line 343 column 15 - Warning: <img> lacks "alt" attribute
line 350 column 901 - Warning: <div> anchor "xklayout" already defined
line 350 column 1091 - Warning: <img> proprietary attribute value "absmiddle"
line 350 column 1091 - Warning: <img> lacks "alt" attribute
line 357 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 15 - Warning: <img> lacks "alt" attribute
line 357 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 58 - Warning: <img> lacks "alt" attribute
line 357 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 101 - Warning: <img> lacks "alt" attribute
line 357 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 144 - Warning: <img> lacks "alt" attribute
line 357 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 187 - Warning: <img> lacks "alt" attribute
line 357 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 230 - Warning: <img> lacks "alt" attribute
line 357 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 273 - Warning: <img> lacks "alt" attribute
line 357 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 316 - Warning: <img> lacks "alt" attribute
line 357 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 359 - Warning: <img> lacks "alt" attribute
line 357 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 357 column 402 - Warning: <img> lacks "alt" attribute
line 358 column 22 - Warning: <img> lacks "alt" attribute
line 358 column 63 - Warning: <img> lacks "alt" attribute
line 358 column 112 - Warning: <img> lacks "alt" attribute
line 358 column 162 - Warning: <img> lacks "alt" attribute
line 359 column 11 - Warning: <img> lacks "alt" attribute
line 369 column 15 - Warning: <img> lacks "alt" attribute
line 373 column 91 - Warning: <font> attribute "color" had invalid value "32126d" and has been replaced
line 377 column 312 - Warning: <div> anchor "divxdn" already defined
line 387 column 1340 - Warning: <img> proprietary attribute value "absmiddle"
line 387 column 1340 - Warning: <img> lacks "alt" attribute
line 388 column 1428 - Warning: <div> anchor "divxdn" already defined
line 390 column 1746 - Warning: <img> lacks "alt" attribute
line 390 column 1881 - Warning: <img> lacks "alt" attribute
line 391 column 1963 - Warning: <img> lacks "alt" attribute
line 400 column 23 - Warning: <img> lacks "alt" attribute
line 400 column 64 - Warning: <img> lacks "alt" attribute
line 400 column 113 - Warning: <img> lacks "alt" attribute
line 400 column 163 - Warning: <img> lacks "alt" attribute
line 401 column 11 - Warning: <img> lacks "alt" attribute
line 411 column 15 - Warning: <img> lacks "alt" attribute
line 418 column 901 - Warning: <div> anchor "xklayout" already defined
line 418 column 1229 - Warning: <img> proprietary attribute value "absmiddle"
line 418 column 1229 - Warning: <img> lacks "alt" attribute
line 420 column 1475 - Warning: <img> proprietary attribute value "absmiddle"
line 420 column 1475 - Warning: <img> lacks "alt" attribute
line 427 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 15 - Warning: <img> lacks "alt" attribute
line 427 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 58 - Warning: <img> lacks "alt" attribute
line 427 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 101 - Warning: <img> lacks "alt" attribute
line 427 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 144 - Warning: <img> lacks "alt" attribute
line 427 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 187 - Warning: <img> lacks "alt" attribute
line 427 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 230 - Warning: <img> lacks "alt" attribute
line 427 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 273 - Warning: <img> lacks "alt" attribute
line 427 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 316 - Warning: <img> lacks "alt" attribute
line 427 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 359 - Warning: <img> lacks "alt" attribute
line 427 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 427 column 402 - Warning: <img> lacks "alt" attribute
line 428 column 22 - Warning: <img> lacks "alt" attribute
line 428 column 63 - Warning: <img> lacks "alt" attribute
line 428 column 112 - Warning: <img> lacks "alt" attribute
line 428 column 162 - Warning: <img> lacks "alt" attribute
line 429 column 11 - Warning: <img> lacks "alt" attribute
line 439 column 15 - Warning: <img> lacks "alt" attribute
line 443 column 91 - Warning: <font> attribute "color" had invalid value "32126d" and has been replaced
line 447 column 312 - Warning: <div> anchor "divxdn" already defined
line 453 column 666 - Warning: <img> lacks "alt" attribute
line 455 column 1082 - Warning: <img> proprietary attribute value "absmiddle"
line 455 column 1082 - Warning: <img> lacks "alt" attribute
line 475 column 2343 - Warning: <img> lacks "alt" attribute
line 481 column 2635 - Warning: <img> lacks "alt" attribute
line 484 column 2755 - Warning: <div> anchor "divxdn" already defined
line 486 column 3073 - Warning: <img> lacks "alt" attribute
line 486 column 3208 - Warning: <img> lacks "alt" attribute
line 487 column 3290 - Warning: <img> lacks "alt" attribute
line 496 column 23 - Warning: <img> lacks "alt" attribute
line 496 column 64 - Warning: <img> lacks "alt" attribute
line 496 column 113 - Warning: <img> lacks "alt" attribute
line 496 column 163 - Warning: <img> lacks "alt" attribute
line 507 column 15 - Warning: <img> lacks "alt" attribute
line 521 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 15 - Warning: <img> lacks "alt" attribute
line 521 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 58 - Warning: <img> lacks "alt" attribute
line 521 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 101 - Warning: <img> lacks "alt" attribute
line 521 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 144 - Warning: <img> lacks "alt" attribute
line 521 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 187 - Warning: <img> lacks "alt" attribute
line 521 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 230 - Warning: <img> lacks "alt" attribute
line 521 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 273 - Warning: <img> lacks "alt" attribute
line 521 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 316 - Warning: <img> lacks "alt" attribute
line 521 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 359 - Warning: <img> lacks "alt" attribute
line 521 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 521 column 402 - Warning: <img> lacks "alt" attribute
line 522 column 22 - Warning: <img> lacks "alt" attribute
line 522 column 63 - Warning: <img> lacks "alt" attribute
line 522 column 112 - Warning: <img> lacks "alt" attribute
line 522 column 162 - Warning: <img> lacks "alt" attribute
line 523 column 11 - Warning: <img> lacks "alt" attribute
line 533 column 15 - Warning: <img> lacks "alt" attribute
line 541 column 312 - Warning: <div> anchor "divxdn" already defined
line 550 column 1062 - Warning: <img> lacks "alt" attribute
line 553 column 1137 - Warning: <img> lacks "alt" attribute
line 554 column 1228 - Warning: <div> anchor "divxdn" already defined
line 556 column 1546 - Warning: <img> lacks "alt" attribute
line 556 column 1681 - Warning: <img> lacks "alt" attribute
line 557 column 1763 - Warning: <img> lacks "alt" attribute
line 566 column 23 - Warning: <img> lacks "alt" attribute
line 566 column 64 - Warning: <img> lacks "alt" attribute
line 566 column 113 - Warning: <img> lacks "alt" attribute
line 566 column 163 - Warning: <img> lacks "alt" attribute
line 567 column 11 - Warning: <img> lacks "alt" attribute
line 577 column 15 - Warning: <img> lacks "alt" attribute
line 584 column 831 - Warning: <img> proprietary attribute value "absmiddle"
line 584 column 831 - Warning: <img> lacks "alt" attribute
line 599 column 22 - Warning: <img> lacks "alt" attribute
line 599 column 63 - Warning: <img> lacks "alt" attribute
line 599 column 112 - Warning: <img> lacks "alt" attribute
line 599 column 162 - Warning: <img> lacks "alt" attribute
line 600 column 11 - Warning: <img> lacks "alt" attribute
line 610 column 15 - Warning: <img> lacks "alt" attribute
line 624 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 15 - Warning: <img> lacks "alt" attribute
line 624 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 58 - Warning: <img> lacks "alt" attribute
line 624 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 101 - Warning: <img> lacks "alt" attribute
line 624 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 144 - Warning: <img> lacks "alt" attribute
line 624 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 187 - Warning: <img> lacks "alt" attribute
line 624 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 230 - Warning: <img> lacks "alt" attribute
line 624 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 273 - Warning: <img> lacks "alt" attribute
line 624 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 316 - Warning: <img> lacks "alt" attribute
line 624 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 359 - Warning: <img> lacks "alt" attribute
line 624 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 624 column 402 - Warning: <img> lacks "alt" attribute
line 625 column 22 - Warning: <img> lacks "alt" attribute
line 625 column 63 - Warning: <img> lacks "alt" attribute
line 625 column 112 - Warning: <img> lacks "alt" attribute
line 625 column 162 - Warning: <img> lacks "alt" attribute
line 626 column 11 - Warning: <img> lacks "alt" attribute
line 636 column 15 - Warning: <img> lacks "alt" attribute
line 644 column 312 - Warning: <div> anchor "divxdn" already defined
line 648 column 758 - Warning: <img> proprietary attribute value "absmiddle"
line 648 column 758 - Warning: <img> lacks "alt" attribute
line 712 column 3967 - Warning: <div> anchor "divxdn" already defined
line 714 column 4285 - Warning: <img> lacks "alt" attribute
line 714 column 4420 - Warning: <img> lacks "alt" attribute
line 715 column 4502 - Warning: <img> lacks "alt" attribute
line 723 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 723 column 15 - Warning: <img> lacks "alt" attribute
line 723 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 723 column 58 - Warning: <img> lacks "alt" attribute
line 723 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 723 column 101 - Warning: <img> lacks "alt" attribute
line 723 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 723 column 144 - Warning: <img> lacks "alt" attribute
line 724 column 22 - Warning: <img> lacks "alt" attribute
line 724 column 63 - Warning: <img> lacks "alt" attribute
line 724 column 112 - Warning: <img> lacks "alt" attribute
line 724 column 162 - Warning: <img> lacks "alt" attribute
line 735 column 15 - Warning: <img> lacks "alt" attribute
line 742 column 117 - Warning: <img> proprietary attribute value "absmiddle"
line 742 column 117 - Warning: <img> lacks "alt" attribute
line 750 column 23 - Warning: <img> lacks "alt" attribute
line 750 column 64 - Warning: <img> lacks "alt" attribute
line 750 column 113 - Warning: <img> lacks "alt" attribute
line 750 column 163 - Warning: <img> lacks "alt" attribute
line 751 column 11 - Warning: <img> lacks "alt" attribute
line 761 column 15 - Warning: <img> lacks "alt" attribute
line 768 column 981 - Warning: <img> proprietary attribute value "absmiddle"
line 768 column 981 - Warning: <img> lacks "alt" attribute
line 775 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 15 - Warning: <img> lacks "alt" attribute
line 775 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 58 - Warning: <img> lacks "alt" attribute
line 775 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 101 - Warning: <img> lacks "alt" attribute
line 775 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 144 - Warning: <img> lacks "alt" attribute
line 775 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 187 - Warning: <img> lacks "alt" attribute
line 775 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 230 - Warning: <img> lacks "alt" attribute
line 775 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 273 - Warning: <img> lacks "alt" attribute
line 775 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 316 - Warning: <img> lacks "alt" attribute
line 775 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 359 - Warning: <img> lacks "alt" attribute
line 775 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 775 column 402 - Warning: <img> lacks "alt" attribute
line 776 column 22 - Warning: <img> lacks "alt" attribute
line 776 column 63 - Warning: <img> lacks "alt" attribute
line 776 column 112 - Warning: <img> lacks "alt" attribute
line 776 column 162 - Warning: <img> lacks "alt" attribute
line 777 column 11 - Warning: <img> lacks "alt" attribute
line 787 column 15 - Warning: <img> lacks "alt" attribute
line 795 column 312 - Warning: <div> anchor "divxdn" already defined
line 799 column 752 - Warning: <img> proprietary attribute value "absmiddle"
line 799 column 752 - Warning: <img> lacks "alt" attribute
line 800 column 908 - Warning: <img> proprietary attribute value "absmiddle"
line 800 column 908 - Warning: <img> lacks "alt" attribute
line 804 column 1091 - Warning: <img> lacks "alt" attribute
line 807 column 1671 - Warning: <div> anchor "divxdn" already defined
line 809 column 1989 - Warning: <img> lacks "alt" attribute
line 809 column 2124 - Warning: <img> lacks "alt" attribute
line 810 column 2206 - Warning: <img> lacks "alt" attribute
line 818 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 15 - Warning: <img> lacks "alt" attribute
line 818 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 58 - Warning: <img> lacks "alt" attribute
line 818 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 101 - Warning: <img> lacks "alt" attribute
line 818 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 144 - Warning: <img> lacks "alt" attribute
line 818 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 187 - Warning: <img> lacks "alt" attribute
line 818 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 230 - Warning: <img> lacks "alt" attribute
line 818 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 273 - Warning: <img> lacks "alt" attribute
line 818 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 316 - Warning: <img> lacks "alt" attribute
line 818 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 359 - Warning: <img> lacks "alt" attribute
line 818 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 818 column 402 - Warning: <img> lacks "alt" attribute
line 819 column 22 - Warning: <img> lacks "alt" attribute
line 819 column 63 - Warning: <img> lacks "alt" attribute
line 819 column 112 - Warning: <img> lacks "alt" attribute
line 819 column 162 - Warning: <img> lacks "alt" attribute
line 820 column 11 - Warning: <img> lacks "alt" attribute
line 830 column 15 - Warning: <img> lacks "alt" attribute
line 834 column 91 - Warning: <font> attribute "color" had invalid value "32126d" and has been replaced
line 838 column 312 - Warning: <div> anchor "divxdn" already defined
line 844 column 735 - Warning: <img> lacks "alt" attribute
line 845 column 794 - Warning: <img> lacks "alt" attribute
line 936 column 4612 - Warning: <div> anchor "divxdn" already defined
line 938 column 4930 - Warning: <img> lacks "alt" attribute
line 938 column 5065 - Warning: <img> lacks "alt" attribute
line 939 column 5147 - Warning: <img> lacks "alt" attribute
line 947 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 15 - Warning: <img> lacks "alt" attribute
line 947 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 58 - Warning: <img> lacks "alt" attribute
line 947 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 101 - Warning: <img> lacks "alt" attribute
line 947 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 144 - Warning: <img> lacks "alt" attribute
line 947 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 187 - Warning: <img> lacks "alt" attribute
line 947 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 230 - Warning: <img> lacks "alt" attribute
line 947 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 273 - Warning: <img> lacks "alt" attribute
line 947 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 316 - Warning: <img> lacks "alt" attribute
line 947 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 359 - Warning: <img> lacks "alt" attribute
line 947 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 947 column 402 - Warning: <img> lacks "alt" attribute
line 948 column 22 - Warning: <img> lacks "alt" attribute
line 948 column 63 - Warning: <img> lacks "alt" attribute
line 948 column 112 - Warning: <img> lacks "alt" attribute
line 948 column 162 - Warning: <img> lacks "alt" attribute
line 949 column 11 - Warning: <img> lacks "alt" attribute
line 959 column 15 - Warning: <img> lacks "alt" attribute
line 967 column 312 - Warning: <div> anchor "divxdn" already defined
line 974 column 934 - Warning: <div> anchor "divxdn" already defined
line 976 column 1252 - Warning: <img> lacks "alt" attribute
line 976 column 1387 - Warning: <img> lacks "alt" attribute
line 977 column 1469 - Warning: <img> lacks "alt" attribute
line 986 column 23 - Warning: <img> lacks "alt" attribute
line 986 column 64 - Warning: <img> lacks "alt" attribute
line 986 column 113 - Warning: <img> lacks "alt" attribute
line 986 column 163 - Warning: <img> lacks "alt" attribute
line 987 column 11 - Warning: <img> lacks "alt" attribute
line 997 column 15 - Warning: <img> lacks "alt" attribute
line 1004 column 835 - Warning: <img> proprietary attribute value "absmiddle"
line 1004 column 835 - Warning: <img> lacks "alt" attribute
line 1011 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 15 - Warning: <img> lacks "alt" attribute
line 1011 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 58 - Warning: <img> lacks "alt" attribute
line 1011 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 101 - Warning: <img> lacks "alt" attribute
line 1011 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 144 - Warning: <img> lacks "alt" attribute
line 1011 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 187 - Warning: <img> lacks "alt" attribute
line 1011 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 230 - Warning: <img> lacks "alt" attribute
line 1011 column 273 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 273 - Warning: <img> lacks "alt" attribute
line 1011 column 316 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 316 - Warning: <img> lacks "alt" attribute
line 1011 column 359 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 359 - Warning: <img> lacks "alt" attribute
line 1011 column 402 - Warning: <img> proprietary attribute value "absmiddle"
line 1011 column 402 - Warning: <img> lacks "alt" attribute
line 1012 column 22 - Warning: <img> lacks "alt" attribute
line 1012 column 63 - Warning: <img> lacks "alt" attribute
line 1012 column 112 - Warning: <img> lacks "alt" attribute
line 1012 column 162 - Warning: <img> lacks "alt" attribute
line 1013 column 11 - Warning: <img> lacks "alt" attribute
line 1023 column 15 - Warning: <img> lacks "alt" attribute
line 1031 column 312 - Warning: <div> anchor "divxdn" already defined
line 1036 column 934 - Warning: <div> anchor "divxdn" already defined
line 1038 column 1252 - Warning: <img> lacks "alt" attribute
line 1038 column 1387 - Warning: <img> lacks "alt" attribute
line 1039 column 1469 - Warning: <img> lacks "alt" attribute
line 1049 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 1049 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 1049 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 1058 column 25 - Warning: <img> lacks "alt" attribute
line 1063 column 267 - Warning: <img> lacks "alt" attribute
line 514 column 4630 - Warning: trimming empty <label>
line 1043 column 17 - Warning: trimming empty <tr>
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 223 column 27 - Warning: <nobr> is not approved by W3C
line 254 column 27 - Warning: <nobr> is not approved by W3C
line 308 column 27 - Warning: <nobr> is not approved by W3C
line 348 column 27 - Warning: <nobr> is not approved by W3C
line 374 column 27 - Warning: <nobr> is not approved by W3C
line 416 column 27 - Warning: <nobr> is not approved by W3C
line 444 column 27 - Warning: <nobr> is not approved by W3C
line 512 column 27 - Warning: <nobr> is not approved by W3C
line 538 column 27 - Warning: <nobr> is not approved by W3C
line 582 column 27 - Warning: <nobr> is not approved by W3C
line 615 column 27 - Warning: <nobr> is not approved by W3C
line 641 column 27 - Warning: <nobr> is not approved by W3C
line 740 column 27 - Warning: <nobr> is not approved by W3C
line 766 column 27 - Warning: <nobr> is not approved by W3C
line 792 column 27 - Warning: <nobr> is not approved by W3C
line 835 column 27 - Warning: <nobr> is not approved by W3C
line 964 column 27 - Warning: <nobr> is not approved by W3C
line 1002 column 27 - Warning: <nobr> is not approved by W3C
line 1028 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 638 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