Compression in Virtual Chess 64


New member
Hey guys. I see a lot of [potentially] helpful assistance given here. Most of the projects don't seem similar to my field of interest, so I am curious at least just to see what reaction I get.

The art in chess is conquering my past dream to continue learning programming or some hacking. As I set aside learning new programming languages, I put in place an increasing interest in the philosophy ties with chess openings and reaching conclusions.

I have been collecting video game chess engines. I want to get as much information about their "personalities" as I can.

There was little text I could find straight in the VC64 binary that was already in unencrypted English. If there is, here again, some form of compression set in place stopping me from looking at text notes, how can I learn what to do to unravel it?

The amount of work I am willing to go through, is limited mostly only by my abilities to be able to perform the task and the exceeding amount of free time I have at this point.

My primary interest is the opening book design. Generally, the first few moves recognized as theory in a chess game are made automatically by some chess engines set to then play "human-predefined moves", but analysis continues once opening theory has stopped. My only ways of finding the opening database VC64 uses are to keep plugging in every possible move until analysis must begin in all cases or to learn from resources unknown to me, how to translate from the game code to what I ask.

Thanks for any information.

Reaper man

I know squat about N64 hacking at the moment, but I came across this script to deinterleave N64 ROMs a few days ago. Dunno if it's of any use or not, but figured I'd mention it just in case.

isn't that only for N64 roms that are interlaced? I know that sounds like an obvious question, but you should have pointed out that only some of the N64 roms are like that.

edit: also, it looks to me like this "script" is a function written in C++ and is possibly intended for a coder of say, an N64 emulator, to use in his project.


New member
I have no idea, like I said, I know squat about N64 writing. But I'm pretty sure the script is written in PHP and is intended for standalone use. Perhaps if D wanders by, he can fill us in.

Edit: Now that I've looked at it again, it is indeed in PHP and does specify "if needed", which insinuates that not all N64 ROMs are interleaved. Still, can't hurt to try it.


New member
Good to know
I am not familiar with interleaving, but just for now I can say I will not find the case to use this script [edits] because for this game as I am about to suggest, only some of the text exists but cannot be found in the binary in ready English, while there is also English not sure this app finds which sections of the game are "interleaved" and which aren't. In VC64, browsing with a hex editor we can see some text to make out. We can see just a few debug texts and some things like menu labels.

I can also search for moves in machine notation like "G1F3" and see some results, but those might just be the commands to move the pieces in tutorial mode rather than parts of the opening book.

To convert the opening book to text, I will need to find some documentation on how chess software stores opening data. Between a couple engines coded in Java I could see some similarities in pattern of the book sections.

dumb question, but how would reading the text strings help you in learning the AI in the game?

I lost a bit of focus on some other parts in the game that I could not see, but I mostly value extracting the opening book.

At the same time, any unused beta text in the game (even if in tutorial mode) I am interested in, even if it only means thinking about the developers' planning. There is no telling how relevant such will turn out to be, but the guideline is, the more information I can see, the better.

The best way to learn about the AI is to play it and learn to have some advantage in the testing games, which I have done. The opening book that I want, however, teaches me nothing about the AI's moves--only the developers' choice of moves to substitute in the immediate game.
While I do with this much chess software, I am also interested in history.
Last edited:


New member
Yes thanks, more-or-less.

Things like comments but text that I can not see by playing the game, those would also be alright.
Of course that level of information isn't what I was hoping for. If you browse through Jet Force Gemini, you can see some communicative debug notes in there, like Nintendo devs were e-mailing each other but that kind of style message in the game binary.

Thing is with VC64 there is a lot that is unknown about this game. Even the credits are unknown except for a couple dudes. Things like the musician / etc. are unknown.

While I'm interested in chess though, I am more hoping to be able to decode past things like unused comments, such as the opening book.
Most chess software stores a tree of listed chess moves to make from the very beginning of the game. This opening theory lasts for a short while but reflects a developer's social style at the game, rather than the personality of the AI that does not play in the early phase.

Anything would be great, though, as I'm always wanting to know more.
Top Bottom