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


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-28-15 12:42:38 PM, in Project64MM(Memory Mod) - RDRAM Extension (last edited by Cajetan at 02-28-15 01:03:11 PM) Link
Originally posted by Joe
Originally posted by Cajetan
I tested it out a few times and concluded that we can max reach 32MB RDRAM and not go any further.
What limits you to 32MB?


I believe it had something to do with the memory map. If I go any further, I would write into AI, SI, VI, etc. or other important stuff. Not a good idea to write in there.

Originally posted by Joe
Nintendo's boot code only initializes up to 16MB of RAM. The remainder is left uninitialized, which makes it completely unusable. Do you have reworked initialization code to get around this limitation?


All I did was expanding the RDRAM up to 32MB RDRAM, respectively you can select 4MB, 8MB, 12MB, 16MB, 20MB, 24MB, 28MB and 32MB RDRAM.

Currently the extended RDRAM works for the interpreter, but got it work already for the recompiler + physical lookup table. Works wonderful. Releasing that later when I did it for each MIPS instruction. (blame zilmar)


EDIT:
Also, I tested this code here (with my CajeASM):


This wrote 0x68 byte to 0x80C01404 (16MB range). I changed the emulated instruction in the recompiler to read/write (LB/SB) a larger range. I could try it with an even higher range.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 02-28-15 03:01:30 PM, in Project64MM(Memory Mod) - RDRAM Extension (last edited by Cajetan at 02-28-15 03:02:10 PM) Link
Originally posted by Joe
Originally posted by Cajetan
I believe it had something to do with the memory map. If I go any further, I would write into AI, SI, VI, etc. or other important stuff. Not a good idea to write in there.
The memory map is empty up to 0x83EFFFFF (63MB), though I don't know how much of this can actually have RAM mapped to it on a real console...


wrote another test code, writing into 32MB RDRAM area:


I edited emulator source code to read/write from 32MB RDRAM extended area. Works, with all loading/storing instructions. Also works with DmaCopy. So, it can be used when using the modified emulator.

Originally posted by Joe

When a N64 first turns on, it has 0 bytes of RAM. The boot code has to detect and enable the individual RDRAM chips, and it can do this for up to 16MB. Even if more than that is physically connected, only 16MB can be accessed. You'll need to reinitialize the RDRAM chips in order to enable more RAM than that.

Emulators don't bother with any of that; they just treat the RDRAM as if it's already been initialized.


Ah, I understand. Well, I never looked into how the N64 really does this kind of stuff and I have no idea how I would accomplish this on a real N64 console. Maybe someone else with more experience on this could test it out. You know, I'm kinda more the "software" guy. Heh.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-16-15 03:01:45 PM, in Hi juls Link
Originally posted by Ri4300
I'm just posting here to see what my post looks like in a thread. I can't figure out how to use CSS because im a noob.


Hai. Tarek701 here. Guessing from your name you do some MIPS ASM too.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-17-15 08:46:38 PM, in How to make Star Road Custom Level Multiplayer (last edited by Cajetan at 03-17-15 08:47:27 PM) Link
Originally posted by RedToad
I am going to start using CajeASM and see what I can do with it. Since I can't move the addresses down and the code is too large to simplify I will have to figure something else out. Not to worry though, I will figure this out no matter what.

Link to Caje-ASM: http://www.romhacking.net/utilities/1085/

EDIT: New plan, I will use Notepad ++ to make the code since I can copy and paste code with it and insert code. Then I will save the code created as a .ASM file and load it into CajeASM for assembling. Wish me luck!


Yes, my CajeASM is definitely a good choice for quick assembling and offers some other stuff too to make life easier to asm programmers, like labels, defines etc.

If there's any problem contact me here.

____________________
- Tarek701
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-18-15 06:03:04 PM, in How to make Star Road Custom Level Multiplayer Link
Originally posted by RedToad
I have a major problem with cajeASM. I wrote the code in Notepad++ and I have MIPS highlighting on and it shows no errors but I try to assemble it to a rom and it doesn't change the rom at all. It says it was successful but nothing happened. I am running it as administrator and it is still doing it.

Here is my code from the manual:

.ORG 0x00000000
LUI T0, 0x254D
ADDIU T0, T1, 0x2899
NOP
J 0x0033008
NOP

I check to see if it did anything to the rom in lemASM and nothing was changed. Please help Cajetan!


Are you sure you have v6.03? It works for me:


____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-19-15 02:33:41 PM, in How to make Star Road Custom Level Multiplayer (last edited by Cajetan at 03-19-15 02:33:59 PM) Link
Originally posted by RedToad
Yes I have tried Hello World in Super Mario 64 and the file select screen works but right when I choose the file the rom crashes. The cajeasm doesn't even show that it is changing anything. I downloaded my cajeasm version from Romhacking. Is there any other primary source I can download it from? Maybe the version I downloaded is messed up.


Try to download it from my blog:
http://sm64-hacks.square7.ch/CajeASM%20v6.03.zip

And yeah, it's unnecessary to put an .org 0x00000000 to the beginning of your ASM hack as it would (without .org) put it to 0x00000000 anyway.

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-19-15 06:31:10 PM, in How to make Star Road Custom Level Multiplayer (last edited by Cajetan at 03-19-15 06:34:09 PM) Link
Originally posted by RedToad
Originally posted by Ri4300


Edit: I clicked X and it still worked.


Really? Well it didn't for me. Maybe you should add a message that says press any key to continue in the command prompt. Or just change the readme to tell users if it is not working to press a key instead of the X. I am running windows vista by the way. What system are you using?

Edit: Did some more researching and found that I couldn't do the Hello World mod because you need a extended rom for that. I don't think it will work with the normal 8 mb rom. Try the Hello World patch on the regular Super Mario 64 rom and see what happens. I also found something very odd. I tried to patch the beginning of the rom on a extended rom with the same code i tried from the manual. I pressed the X to close command prompt and let it do its crc stuff, and it DIDN'T work. Until I tried it again and pressed enter like I did last time.

The weirdest part about it is that the Hello World code works even if I press the X or press enter, as long as I am using the extended rom. What is going on here? There must be a glitch in the program when dealing with the beginning of the code of the rom. You might want to look into it.


I've tried it on a fresh, 8MB ROM. It works. It doesn't matter if you have an extended ROM or not, because 0x861C0 is a subroutine for mario's behavior (a 0x0C command, which calls a function for the behavior. The function is inside a loop (in behavior scripts), which also explains why the message is supposed to be displayed over and over again and therefore it stands there until mario's behavior is either changed to another behavior or you remove the 0x0C call to the RAM Address containing your code) which exists in the original too, it's not compressed or anything.



Either you downloaded a weird ROM or your download was somehow corrupted or did you eventually tried to use the same ROM where you assembled the code to 0x00000000 already? There are many possibilities. But it definitely works with original ROM, extended and extended+expanded+patched (obj_import) ROM. I test out the stuff always before releasing it. But still, I re-uploaded my CajeASM v6.03 (from my folder) for you here, but I doubt that it would work now. If it really does, then well, possible that I forgot something:

http://fbe.am/w21

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-19-15 06:52:03 PM, in How to make Star Road Custom Level Multiplayer (last edited by Cajetan at 03-19-15 06:54:29 PM) Link
Originally posted by RedToad
It might be because my rom has a .n64 extension. Would this affect the assembling process in any way?


This might explain it:


Yes, blame me for not adding support for the other extensions. As soon as more people get interest into MIPS ASM Hacking, I guess I re-code CajeASM a fifth time and add more features including the support of the other extensions. Maybe I start it in a week or two. But well, the more people are interested to it, the more likely I'm motivated enough to work on it again. Other way it wouldn't make sense to re-code the tool if only 3 or 4 people use it. For a quite while now the only one who really used CajeASM a lot was kaze. The rest basically ignored it. That demotivates me sometimes.

I guess you better get a SM64 with a .z64 extension.

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-19-15 07:45:02 PM, in How to make Star Road Custom Level Multiplayer (last edited by Cajetan at 03-19-15 08:12:38 PM) Link
Originally posted by RedToad
YAY! We figured it out!!! I guess I will have to find a .z64 rom until you add the support for the .n64 file type. Thanks for all of your help. I think I am back in business now!!! I will continue my work on making the Super Star Road Multiplayer 1.3 again. That's a load off my mind!

EDIT: More research! I don't even have to find a .z64 rom! I can just convert it with tool64.

Found it on epforums: http://www.epforums.org/showthread.php?93152-Super-Mario-64-romhack-problems

Going to test it soon!

Link For Tool64: http://www.mediafire.com/download/l2ljd4l7n6esnbl/tool64_v1.11.zip


Ah, yes. Totally forgot about the tool you can use to convert the ROM to big endian. Wish you good luck.

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-19-15 08:33:09 PM, in How to make Star Road Custom Level Multiplayer Link
Originally posted by RedToad
I'm afraid I've got some bad news and some good news. The good news is when I converted my .n64 rom to .z64 it solved the issue with the Hello World Code, it works perfectly now! But the bad news is that I still have the glitch when I try to modify the start of the rom code. It only works when I press a key at the command prompt and doesn't work when I press the X. Expanding/ extending it doesn't help either. I just don't get it! Is there any way that I can try the rom that you have? Maybe that will give us some answers.


I'm going to PM it to you. It's not allowed to post ROMs here.

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 03-20-15 12:32:17 PM, in How to make Star Road Custom Level Multiplayer Link
Originally posted by RedToad
I tried removing .org but it still doesn't apply unless I push enter at the command prompt. What I am trying to say is that it works just in a weird way. Because I have already converted the bytes to .z64 it fixes the code applying problems so essentially I think I can continue it's just that I wanted to know why it was doing it.


It's simple. My CajeASM is actually a big-endian assembler and starts from the most significant byte to the less significant byte. Right to Left.

ADDIU SP, SP, 0xFFE8

Would be:
27 BD FF E8

in Binary:
100111 10111 10111 11111111101000

100111 = ADDIU
10111 = SP (Stack Pointer)
11111111101000 = Immediate Value = 0xFFE8

Now, in little-endian order it would look like this:
BD 27 E8 FF

in Binary:
10111101001001111110100011111111

Each N64 ROM is dumped from some the backup copy devices you could use for the N64 to copy a game and (later) distribute it. Those devices read either little-endian or big-endian. The Mr. Backup Z64 reads big-endian and saves it as big-endian ROM (.z64). Obviously if we now assemble code to a .n64 ROM which is assembled as big-endian the emulator can't read it because the emulator assumes that the .n64 ROM is little-endian and so it reads your code in little-endian too.

So, no matter what you do. My assembler is (unfortunately) only assembling code in big-endian format. Yeah, I totally forget about it while I coded CajeASM and thought I had implemented the other byte orders already, but I didn't. In CajeASM v7.0 (completely re-coded) I'm definitely adding support for the other n64 file formats.

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 04-05-15 05:44:54 PM, in CajeASM - MIPS R4300i Assembler for N64 (last edited by Cajetan at 04-05-15 05:45:14 PM) Link

UPDATE(04/05/2015) - CajeASM v7.0b (r14) RELEASED!!

OMG OMG OMG OMG OMG It's here, even if no one cares (or only a few) I can tell you, it's finally here. As this is the "beta" version, this means that the disassembler and the listing file (command-line) update is still not available and will be probably done in a few days or weeks. However, the rest is completely done and therefore CajeASM is finally ready to be released. Actually a lot of updates are internal, which are way too complicated to explain, so I put them at the 2nd update list. The first update list just contains the stuff which is useful for the user.



UPDATES:

  • [IMPR]: Recoded and improved errors in code, writes errors now to a log file. (Logs/log.txt) Label and define errors are saved in two separate log files in Logs folder.

  • [IMPR]: CajeASM assembles 12-20 secs faster than before. Hyperspeed fucky fuck funky.

  • [ADD]: CajeASM is now able to assemble ASM code to big-endian (.z64), little-endian (.v64) and byteswapped/middle-endian (.n64).

  • [ADD]: Added new directives:

    • .incbin "binfile.bin" -> Let's you include binary files into your ASM code.

    • .byte/.halfword/.word/.float -> Let's you insert numeric values into your code.

    • .align alignment, (optional) fill -> Aligns your data/code to a byte boundary, optionally filling the skipped bytes with 'fill'.

    • .skip n, fill -> skips 'n' bytes, optionally filling them with 'fill'.


  • [FIX]: Fixed decimal, binary value conversion.

  • [FIX]: Fixed LI instruction to not use ADDI/ADDIU anymore for values which are in 16-bit range.

  • [FIX]: Fixed crashes caused if the immediate value didn't have a prefix or was too short.

  • [FIX]: Re-added missing instruction SYSCALL.

  • [FIX]: Rewritten label/define list code. This time it should work better and more efficient now and prevent mystical label errors.

  • [ADD]: New command-line options, new command-line argument parser.

  • [IMPR]: If no destination register is specified in pseudo-branch instructions, then on default AT register is used.

  • [FIX]: Fixed MTC2/MFC2 (RSP) instructions not reading the element. (ex.: mtc2 t0, v3[2])

  • [FIX]: Fixed vector load/store instructions not reading the address properly.

  • [ADD]: New CajeASM v7.0+ Manual. Better, explains all pseudo-stuff step-for-step and shows how they look like when translated to real MIPS code.

  • [FIX]: ROM and ASM Files close properly now.

  • [FIX]: include directive for ASM files didn't work properly before and didn't import all defines.

  • [FIX]: hex {} parser/lexer error and confusing it with labels. Has been finally fixed.

  • [FIX]: CajeASM v6.03 crashed when labels were called three times.

  • [DEL+REPL]: (internal) Deleted some old encoding algorithm (originally this was supposed to be a small, quick reader (encoding) for ASM code, fucked up crap which never worked in the end.
    This was replaced with an algorithm somewhat similiar to ( w(v') >= t + 1) )

  • [FIX]: Closing CajeASM console-command line by pressing "X" caused that rn64crc.exe and chksum64.exe didn't open.

  • [FIX]: CajeASM update checker sometimes didn't read the URL.

  • [FIX]: Fixed prefixes like "0X" not being recognized (forgot to uppercase that one in my check code)

  • [FIX]: Fixed inefficient use of my BitFields (some fields were left filled with bits of preceding instructions, sometimes causing horribly wrong instruction encodings)

  • [FIX]: Fixed instruction reader and code which passes the bits to it's fields, especially the FPU instructions were sometimes not written properly.

  • [FIX]: CajeASM GUI no longer crashes if file is in use (actually it shouldn't even crash before, but it still did for some others. )

  • [FIX]: BEQI/BNEI and BGEI/BLEI/BLTI/BGTI not being correctly translated. Fixed this finally.

  • [FIX]: Lexer errors sometimes crashed CajeASM, especially LI instructions once again.

  • [FIX]: Result of MIPS instructions (Appending BitFields) sometimes were out of range (leading zero's) causing errors.

  • [FIX]: Fixed CajeASM GUI being not properly getting the filepath sometimes (when space was used in filenames).

  • [FIX]: include directive for ASM files sometimes didn't assemble some instructions (forgot to point to visitor, blame me)

  • [FIX]: CajeASM didn't read RSP instructions properly sometimes (especially the scalar modes)

  • [IMPR]: Re-coded reader for scalar modes for RSP instructions (0q, 1q, 0h, 1h, 2h, 3h, 0w-7w)

  • [FIX]: Removed "URL not found" spam. (caused when link wasn't available or when some crap was wrong with the host)

  • [FIX]: Fixed crash when attempting to open a zero byte file.

  • [FIX]: Fixed various memory corruption issues (random crashing)

  • [FIX]: Fixed parser not recognizing RSP instruction VSUB.

  • [FIX]: Fixed endless loop if define didn't exist.

  • [FIX]: Fixed B instruction not being translated correctly to real MIPS ASM instruction.

  • [IMPR]: CajeASM GUI and CajeASM console-application merged to one.


Download-Link:

http://origami64.net/attachment.php?aid=52



____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 04-30-15 11:20:39 AM, in CajeASM - MIPS R4300i Assembler for N64 Link
UPDATE(04/29/2015) - CajeASM v7.2b (r301) RELEASED!!
Pseudo-Branch instruction assembling error fix.

UPDATES:

[FIX]: BLT, BGT, BLE, BGE didn't assemble correctly (they assembled R0, R0, offset, which was wrong)

Download-Link:
CajeASM v7.2

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 05-11-15 07:48:40 PM, in CajeASM - MIPS R4300i Assembler for N64 Link
UPDATE(05/11/2015) - CajeASM v7.24 (Stable) RELEASED!!
New fixes. Fixed include crashes + cajeasm auto-aligns code after .incbin (in case the bytes aren't multiple of 4).

UPDATES:

[FIX]: Fixed immediate crash when including an ASM or bin file from another folder outside of CajeASM.exe
[FIX]: After incbin the code is auto-aligned to 4 byte boundary so ASM code is not messed up when assembling.

Download-Link:
CajeASM v7.24

____________________
- Tarek701.
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 08-08-20 09:58:22 AM, in Acmlm archives (last edited by Cajetan at 08-08-20 01:08:50 PM) Link
Originally posted by Xenesis
The no-ip.org domain doesn't appear to work anymore.

If you update the links to use the kafuka domain they work:

I2
I3


(Sorry for the bump)

Oh no. It looks like these two archives went down now as well. I've tried it since yesterday and no luck. I1, I2 and I3 were very important archives that I think should be preserved. I hope somebody or acmlm himself could fix it or (better) re-upload the archives locally (as a ZIP).
Cajetan
Member
Level: 22


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

Since: 08-06-11

From: Binary

Since last post: 345 days
Last activity: 345 days

Posted on 05-13-21 04:53:58 PM, in Things that you remember existing but nobody else does (last edited by Cajetan at 05-13-21 04:54:44 PM) Link
I remember a game (I don't remember where I got it from. Was it those ICQ games? Or RealPlay? I can't recall) in between 2004-2009, it was a kinda Jump 'n' Run like and it had those two characters that looked like cooks, wearing a chef's hat. You could either play it as single-player or co-op. I used to play it with my brother a lot. And I always tried to search the game after all these years, but I never could find it again.
Pages: 1 2 3 4
Jul - Posts by Cajetan


Rusted Logic

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

27 database queries, 38 query cache hits.
Query execution time:  0.099839 seconds
Script execution time:  0.029270 seconds
Total render time:  0.129110 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 147 column 134 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 96 - Warning: unescaped & or unknown entity "&page"
line 149 column 130 - Warning: unescaped & or unknown entity "&page"
line 149 column 164 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 201 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 197 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 199 column 9 - Warning: missing <tr>
line 217 column 13 - Warning: missing <tr>
line 235 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 237 column 9 - Warning: missing <tr>
line 255 column 13 - Warning: missing <tr>
line 263 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 265 column 9 - Warning: missing <tr>
line 283 column 13 - Warning: missing <tr>
line 297 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 299 column 9 - Warning: missing <tr>
line 317 column 13 - Warning: missing <tr>
line 337 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 339 column 9 - Warning: missing <tr>
line 357 column 13 - Warning: missing <tr>
line 368 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 370 column 9 - Warning: missing <tr>
line 388 column 13 - Warning: missing <tr>
line 410 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 412 column 9 - Warning: missing <tr>
line 430 column 13 - Warning: missing <tr>
line 443 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 445 column 9 - Warning: missing <tr>
line 463 column 13 - Warning: missing <tr>
line 479 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 481 column 9 - Warning: missing <tr>
line 499 column 13 - Warning: missing <tr>
line 507 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 509 column 9 - Warning: missing <tr>
line 527 column 13 - Warning: missing <tr>
line 557 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 559 column 9 - Warning: missing <tr>
line 577 column 13 - Warning: missing <tr>
line 627 column 5580 - Warning: inserting implicit <p>
line 633 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 635 column 9 - Warning: missing <tr>
line 653 column 13 - Warning: missing <tr>
line 667 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 669 column 9 - Warning: missing <tr>
line 687 column 13 - Warning: missing <tr>
line 702 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 704 column 9 - Warning: missing <tr>
line 722 column 13 - Warning: missing <tr>
line 737 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 739 column 9 - Warning: missing <tr>
line 757 column 13 - Warning: missing <tr>
line 763 column 17 - Warning: missing <tr>
line 763 column 17 - Warning: discarding unexpected <table>
line 766 column 35 - Warning: missing <tr>
line 766 column 96 - Warning: unescaped & or unknown entity "&page"
line 766 column 130 - Warning: unescaped & or unknown entity "&page"
line 766 column 164 - Warning: unescaped & or unknown entity "&page"
line 766 column 50 - Warning: missing </font> before </td>
line 766 column 201 - Warning: missing </font> before </table>
line 768 column 35 - Warning: missing <tr>
line 768 column 50 - Warning: missing </font> before </td>
line 768 column 134 - Warning: missing </font> before </table>
line 770 column 17 - Warning: discarding unexpected </textarea>
line 770 column 28 - Warning: discarding unexpected </form>
line 770 column 35 - Warning: discarding unexpected </embed>
line 770 column 43 - Warning: discarding unexpected </noembed>
line 770 column 53 - Warning: discarding unexpected </noscript>
line 770 column 64 - Warning: discarding unexpected </noembed>
line 770 column 74 - Warning: discarding unexpected </embed>
line 770 column 82 - Warning: discarding unexpected </table>
line 770 column 90 - Warning: discarding unexpected </table>
line 772 column 9 - Warning: missing </font> before <table>
line 784 column 25 - Warning: discarding unexpected </font>
line 793 column 58 - Warning: discarding unexpected </font>
line 771 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 192 column 1295 - Warning: <img> lacks "alt" attribute
line 202 column 22 - Warning: <img> lacks "alt" attribute
line 202 column 63 - Warning: <img> lacks "alt" attribute
line 202 column 112 - Warning: <img> lacks "alt" attribute
line 202 column 162 - Warning: <img> lacks "alt" attribute
line 203 column 11 - Warning: <img> lacks "alt" attribute
line 213 column 15 - Warning: <img> lacks "alt" attribute
line 223 column 634 - Warning: <img> lacks "alt" attribute
line 240 column 22 - Warning: <img> lacks "alt" attribute
line 240 column 63 - Warning: <img> lacks "alt" attribute
line 240 column 112 - Warning: <img> lacks "alt" attribute
line 240 column 162 - Warning: <img> lacks "alt" attribute
line 241 column 11 - Warning: <img> lacks "alt" attribute
line 251 column 15 - Warning: <img> lacks "alt" attribute
line 268 column 22 - Warning: <img> lacks "alt" attribute
line 268 column 63 - Warning: <img> lacks "alt" attribute
line 268 column 112 - Warning: <img> lacks "alt" attribute
line 268 column 162 - Warning: <img> lacks "alt" attribute
line 269 column 11 - Warning: <img> lacks "alt" attribute
line 279 column 15 - Warning: <img> lacks "alt" attribute
line 302 column 22 - Warning: <img> lacks "alt" attribute
line 302 column 63 - Warning: <img> lacks "alt" attribute
line 302 column 112 - Warning: <img> lacks "alt" attribute
line 302 column 162 - Warning: <img> lacks "alt" attribute
line 303 column 11 - Warning: <img> lacks "alt" attribute
line 313 column 15 - Warning: <img> lacks "alt" attribute
line 334 column 767 - Warning: <img> lacks "alt" attribute
line 342 column 22 - Warning: <img> lacks "alt" attribute
line 342 column 63 - Warning: <img> lacks "alt" attribute
line 342 column 112 - Warning: <img> lacks "alt" attribute
line 342 column 162 - Warning: <img> lacks "alt" attribute
line 343 column 11 - Warning: <img> lacks "alt" attribute
line 353 column 15 - Warning: <img> lacks "alt" attribute
line 373 column 22 - Warning: <img> lacks "alt" attribute
line 373 column 63 - Warning: <img> lacks "alt" attribute
line 373 column 112 - Warning: <img> lacks "alt" attribute
line 373 column 162 - Warning: <img> lacks "alt" attribute
line 374 column 11 - Warning: <img> lacks "alt" attribute
line 384 column 15 - Warning: <img> lacks "alt" attribute
line 403 column 2034 - Warning: <img> lacks "alt" attribute
line 415 column 22 - Warning: <img> lacks "alt" attribute
line 415 column 63 - Warning: <img> lacks "alt" attribute
line 415 column 112 - Warning: <img> lacks "alt" attribute
line 415 column 162 - Warning: <img> lacks "alt" attribute
line 416 column 11 - Warning: <img> lacks "alt" attribute
line 426 column 15 - Warning: <img> lacks "alt" attribute
line 436 column 302 - Warning: <img> lacks "alt" attribute
line 448 column 22 - Warning: <img> lacks "alt" attribute
line 448 column 63 - Warning: <img> lacks "alt" attribute
line 448 column 112 - Warning: <img> lacks "alt" attribute
line 448 column 162 - Warning: <img> lacks "alt" attribute
line 449 column 11 - Warning: <img> lacks "alt" attribute
line 459 column 15 - Warning: <img> lacks "alt" attribute
line 484 column 22 - Warning: <img> lacks "alt" attribute
line 484 column 63 - Warning: <img> lacks "alt" attribute
line 484 column 112 - Warning: <img> lacks "alt" attribute
line 484 column 162 - Warning: <img> lacks "alt" attribute
line 485 column 11 - Warning: <img> lacks "alt" attribute
line 495 column 15 - Warning: <img> lacks "alt" attribute
line 512 column 22 - Warning: <img> lacks "alt" attribute
line 512 column 63 - Warning: <img> lacks "alt" attribute
line 512 column 112 - Warning: <img> lacks "alt" attribute
line 512 column 162 - Warning: <img> lacks "alt" attribute
line 513 column 11 - Warning: <img> lacks "alt" attribute
line 523 column 15 - Warning: <img> lacks "alt" attribute
line 562 column 22 - Warning: <img> lacks "alt" attribute
line 562 column 63 - Warning: <img> lacks "alt" attribute
line 562 column 112 - Warning: <img> lacks "alt" attribute
line 562 column 162 - Warning: <img> lacks "alt" attribute
line 563 column 11 - Warning: <img> lacks "alt" attribute
line 573 column 15 - Warning: <img> lacks "alt" attribute
line 638 column 22 - Warning: <img> lacks "alt" attribute
line 638 column 63 - Warning: <img> lacks "alt" attribute
line 638 column 112 - Warning: <img> lacks "alt" attribute
line 638 column 162 - Warning: <img> lacks "alt" attribute
line 639 column 11 - Warning: <img> lacks "alt" attribute
line 649 column 15 - Warning: <img> lacks "alt" attribute
line 672 column 22 - Warning: <img> lacks "alt" attribute
line 672 column 63 - Warning: <img> lacks "alt" attribute
line 672 column 112 - Warning: <img> lacks "alt" attribute
line 672 column 162 - Warning: <img> lacks "alt" attribute
line 673 column 11 - Warning: <img> lacks "alt" attribute
line 683 column 15 - Warning: <img> lacks "alt" attribute
line 707 column 22 - Warning: <img> lacks "alt" attribute
line 707 column 63 - Warning: <img> lacks "alt" attribute
line 707 column 112 - Warning: <img> lacks "alt" attribute
line 707 column 162 - Warning: <img> lacks "alt" attribute
line 708 column 11 - Warning: <img> lacks "alt" attribute
line 718 column 15 - Warning: <img> lacks "alt" attribute
line 742 column 22 - Warning: <img> lacks "alt" attribute
line 742 column 63 - Warning: <img> lacks "alt" attribute
line 742 column 112 - Warning: <img> lacks "alt" attribute
line 742 column 162 - Warning: <img> lacks "alt" attribute
line 743 column 11 - Warning: <img> lacks "alt" attribute
line 753 column 15 - Warning: <img> lacks "alt" attribute
line 778 column 25 - Warning: <img> lacks "alt" attribute
line 783 column 267 - Warning: <img> lacks "alt" attribute
line 147 column 134 - Warning: trimming empty <font>
line 149 column 201 - Warning: trimming empty <font>
line 627 column 5580 - Warning: trimming empty <p>
line 763 column 17 - Warning: trimming empty <tr>
line 766 column 201 - Warning: trimming empty <font>
line 768 column 134 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 218 column 27 - Warning: <nobr> is not approved by W3C
line 256 column 27 - Warning: <nobr> is not approved by W3C
line 284 column 27 - Warning: <nobr> is not approved by W3C
line 318 column 27 - Warning: <nobr> is not approved by W3C
line 358 column 27 - Warning: <nobr> is not approved by W3C
line 389 column 27 - Warning: <nobr> is not approved by W3C
line 431 column 27 - Warning: <nobr> is not approved by W3C
line 464 column 27 - Warning: <nobr> is not approved by W3C
line 500 column 27 - Warning: <nobr> is not approved by W3C
line 528 column 27 - Warning: <nobr> is not approved by W3C
line 578 column 27 - Warning: <nobr> is not approved by W3C
line 654 column 27 - Warning: <nobr> is not approved by W3C
line 688 column 27 - Warning: <nobr> is not approved by W3C
line 723 column 27 - Warning: <nobr> is not approved by W3C
line 758 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 221 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