Re: Konami MSX Antiques - compression

2001-02-28 Thread Pablo Vasques Bravo-Villalba

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

2001-02-28 Thread Maarten ter Huurne

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

2001-02-28 Thread Pablo Vasques Bravo-Villalba

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

2001-02-23 Thread Maarten ter Huurne

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

2001-02-23 Thread Maarten ter Huurne

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