Re: Konami MSX Antiques - compression
Maarten ter Huurne wrote: I found the table above by manually examining the first #60 bytes (approximately). To verify this theory, a program must be written that attempts to unpack the file using the codes in the table, then the unpacked file must be compared to the Antarctic Adventure ROM. I'm sleepy so I won't write that program now, feel free to write it yourself and post the results. If no-one writes it tomorrow I might have a go at it on Sunday. I'd like to have a try, just for fun. However, I don't have that MSX Antiques Collection here. Could someone send me a pair of Antiques/Original ROM to my e-mail address ( [EMAIL PROTECTED] )? It doesn't matter which pair, I just want to test Maarten's theory... And perhaps play a little with the results. =) I'll let you all know, of course. I can put it to test immediately after I receive the ROM. The original ROM isn't really necessary, but I ask it just in case I have some bad dump with me. This is very possible in the case of my MegaROM games. Thanks! -Parn (ICQ#1693182) /| | | |\ \| ___ |/ http://parn.overclocked.org/ \/ - \/ Parn's Music Station | | Game Music XMs and more! -- --Izati Aba Mehinam Eto Kafe Nan -- For info, see http://www.stack.nl/~wynke/MSX/listinfo.html
Re: Konami MSX Antiques - compression
On Wednesday 28 February 2001 18:55, you wrote: I'd like to have a try, just for fun. However, I don't have that MSX Antiques Collection here. Could someone send me a pair of Antiques/Original ROM to my e-mail address ( [EMAIL PROTECTED] )? You can get the compressed ROM from the URL Tristan posted. The original ROM is available on komkon, as AntarcticAdventure.rom.gz. It doesn't matter which pair, I just want to test Maarten's theory... I have been working a bit on a decompression routine since and the theory is wrong. Well, not totally wrong, but incomplete. There are many more encodings in the compression format than I expected. They just don't occur in the first 100 bytes of the file. Bye, Maarten -- For info, see http://www.stack.nl/~wynke/MSX/listinfo.html
Re: Konami MSX Antiques - compression
Maarten ter Huurne wrote: It doesn't matter which pair, I just want to test Maarten's theory... I have been working a bit on a decompression routine since and the theory is wrong. Well, not totally wrong, but incomplete. There are many more encodings in the compression format than I expected. They just don't occur in the first 100 bytes of the file. Interesting. Should I assume, then, that they use that "unknown" FF code? Please feel free to share your new findings, if you think it's ok. :) I will look into this myself. I'm still intrigued. Btw, I think Konami could have done a better job in PSG emulation. The one they did sucks big time certain times (when there's noise playing). :) []s, -Parn (ICQ#1693182) /| | | |\ \| ___ |/ http://parn.overclocked.org/ \/ - \/ Parn's Music Station | | Game Music XMs and more! -- --Izati Aba Mehinam Eto Kafe Nan -- For info, see http://www.stack.nl/~wynke/MSX/listinfo.html
Konami MSX Antiques - compression
Hi, The antiques collection ROM format is a type of compressed file, when rom is loaded in PSX memory, is exectly the same to original rom. It turns out there are two different versions of Antartic Adventure. The one called AntarcticAdventure.rom on komkon is the one used in the Antiques collection. I have a guess about the compression format. The base unit is one byte. Repeated patterns are encoded by storing a length and offset into the already unpacked data. The meanings of the various bytes are: : special/unknown 11nn: uncoded, length=n+8 10nn: length=n+2, offset=d+1 0nnn : length=n+3, offset=d So far the #FF byte seems to have no meaning, but I doubt Konami doubt have put it there if it was useless (it's compression after all). I found the table above by manually examining the first #60 bytes (approximately). To verify this theory, a program must be written that attempts to unpack the file using the codes in the table, then the unpacked file must be compared to the Antarctic Adventure ROM. I'm sleepy so I won't write that program now, feel free to write it yourself and post the results. If no-one writes it tomorrow I might have a go at it on Sunday. Bye, Maarten -- For info, see http://www.stack.nl/~wynke/MSX/listinfo.html
Re: Konami MSX Antiques - compression
On Saturday 24 February 2001 04:03, I wrote: The meanings of the various bytes are: : special/unknown 11nn: uncoded, length=n+8 10nn: length=n+2, offset=d+1 0nnn : length=n+3, offset=d I read this again and I guess it isn't really clear. "Uncoded" means that after the byte that contains the length, there will be that many raw bytes, bytes that can be copied directly to the output. Example: C1 01 02 03 04 05 06 07 08 09 The C1 announces 9 (1+8) uncoded bytes, which follow directly after. The bottom two cases are repeated patterns, if such a code is found while the current output address is X, then output[X-offset,X-offset+length) must be copied to output[X,X+length). Note the interval notation: including start index, excluding end index. Bye, Maarten -- For info, see http://www.stack.nl/~wynke/MSX/listinfo.html