Search found 104 matches

by Andreas Naive
Mon Jul 07, 2008 2:07 pm
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

I took a look at the QM probability estimation tables. In a IBM's document, with registers of 16 bits and a table of 113 values, the first values looks like this: 0x5a1d 0x2568 0x1114 0x080b 0x03d8 0x01da .... So if we were to make a small 8-bits version... {0x5a, 0x25, 0x11, 0x08, 0x03, 0x01} would...
by Andreas Naive
Mon Jul 07, 2008 1:52 pm
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

I have seen QM-coder descriptions in the past, but that document seems to describe a general framework for arithmetic compression, what is what the patents refer to. That's what i was interested in. Concretely, this sections (i found the index somewhere in the net): 6.8 Arithmetic coding ..............
by Andreas Naive
Mon Jul 07, 2008 12:11 pm
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

This morning i thought it could be worthwhile to do a patent search again now that we have more knowledge about how this stuff works. Well, i could be extremely lucky, but i assure you that it only took 2 minutes to hit the target. ;) Searching more, i found that Seiko Epson filled a number of paten...
by Andreas Naive
Fri Jul 04, 2008 9:00 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

I have finished doing a small app that take the data and generate a binary tree with the PROB and MPS evolution. Basicly, it takes a list of compressed-uncompressed pairs and parse it to calculate the PROB and MPS. I have only applied it to the 16 first bits' set, but it could be used with more data...
by Andreas Naive
Tue Jul 01, 2008 2:42 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

But because they depend on the surroundings, and those evolve separately, aren't we tracking 1 PROB to bitplane0, 2 for bitplane1, 4 for bitplane2, etc (30 in total)? That's why I'm worried I'm misunderstanding the terminology (or your code ideas) here. No. I think you caught it. But those were jus...
by Andreas Naive
Tue Jul 01, 2008 12:36 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

To make sure I'm using the terminology correctly: It appears each bit in the decompressed bytes have their own 'context'. Each context tracks the current probability of getting a LPS for a given 'surrounding' (for lack of a better word). Or are you using context in the sense I used the word 'surrou...
by Andreas Naive
Mon Jun 30, 2008 11:40 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

It seems i'm today just too tired to do anything productive, so i thought i would better share my current state of mind with you: 1) At this point, i don't think there is more than 8 PROB contexts (not sure if the MPS use more than 8, however), as i saw an example that apparently disproved my previo...
by Andreas Naive
Sat Jun 28, 2008 3:22 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

OK. After allowing the MPS be changed even if PROB=0x25, i now match all the 17th bit "strange cases" with the cases when after the 9th bit we haven't renormalized (there is a 1 to 1 correspondence). So maybe the answer is there. I now have to go to a relative's wedding, so i will be gone ...
by Andreas Naive
Fri Jun 27, 2008 4:27 pm
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

After 16bits, try resetting all contexts to "startup state" and let me know if you get 32bits now. He, he. That was the first thing i tried, you should have guessed that. ;) EDIT: Nevermind. The probability and mps states do carry over somehow, as bit17 can have prob=$25, and the mps of b...
by Andreas Naive
Fri Jun 27, 2008 3:07 pm
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

For instance, how much can those logic trees be simplified if we allow use of the previous mps and prob as part of the logic? Yesterday i was able to reproduce the first 16 bits in a reasonably clean and coherent way by supposing the three previous bits are used to determine the context and the &qu...
by Andreas Naive
Thu Jun 26, 2008 11:16 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

Code: Select all

// bit 17
if( out_count==0 )
{
   PROB = 0x25;

   if( ((PREDICT>>7)&1) == 0 )
   {
      MPS = 1;

      if( ((PREDICT>>15)&1) == 0 )
      {
         PROB = 0x5A;
         MPS = 0;
      }
   }
}

What is "out_count"?
by Andreas Naive
Wed Jun 25, 2008 11:41 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

Okay, to get second bit of bitplane1 (get first 10 bits to decode correct) Código: if the _immediately_previous_ symbol was correct (not related to current bitplane at all) prob=$25 if last bit from this bitplane was guessed wrong mps=1 endif else prob=$5A endif After cross-comparing this with my t...
by Andreas Naive
Wed Jun 25, 2008 11:05 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

For a long string of LPS, the 0th and 4th bitplane seem to be treated differently as their mps is changed for the second bit from that bitplane, while it is not for the other six bitplanes. I had seen something different with the 0th bitplane compared with the following ones. Nice to know i wasn't ...
by Andreas Naive
Tue Jun 24, 2008 3:27 pm
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

How is that possible? Especially for the 36-37 transition (and the bounds of that (35-36, 37-38 transitions) which seem to involve much more than 8 bit wide registers. If you could share at least that much for me to mull over, it would be useful. I'm still not using the BOTTOM thing. I still don't ...
by Andreas Naive
Tue Jun 24, 2008 3:50 am
Forum: SNESdev
Topic: SPC7110 Reverse Engineering Project
Replies: 314
Views: 133979

I haven't been *totally* busy with RL. I have done some work on this ;) If i havent' said anything is because i'm in a point where i really need to work and test things before saying nonsenses and confuse people. But, to give some highlights of what i'm doing... I'm able to reproduce the 9 first bit...