| |
Mr. Mouse
Registered: Dec 2001 Posts: 235 |
Warp compression method (AR)
Does anyone know the compression scheme used in Action Replay's "warp" disksaving method? I notice the sectors look a little different, where's the information about which next sector to go to while decompressing?
|
|
... 24 posts hidden. Click here to view all posts.... |
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
Quote: I have somewhere a comparison of several *25 loaders (Warp*25, VorpaLoad, Heureka and at least one more I can't remember just now - Super Snapsot?) and not so surprisingly most of them seem to be copies of each other. Decoding routines may have index registers swapped or RAW -> decoded tables altered, but they all use eight raw bits as an index to six decoded bits (extra bits set/reset depending on the index value to keep hardware happy). That makes decoding much faster than GCR, but limits bytes per sector to 240.
Dig it up and pass the comparison over please!
/cz |
| |
TNT Account closed
Registered: Oct 2004 Posts: 189 |
I found some early notes comparing Epyx Vorpal and Datel Warp*25 drive code, here they are side by side.
First code snipped is disk reading part and related table, the second one is serial transfer and related table. Tables have unused parts blanked so you can compare them...
Sorry for missing memory locations for Vorpal code in these notes.
Vorpal Action Replay Warp*25
BVC * 05e0 50 FE BVC $05E0
CLV 05e2 B8 CLV
LDX $1C01 05e3 AE 01 1C LDX $1C01
EOR $04D1,X 05e6 5D E4 04 EOR $04E4,X
STA $0146,Y 05e9 99 46 01 STA $0146,Y
>8:04d1 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 04e4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:04e1 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 04f4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:04f1 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 0504 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:0501 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 0514 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:0511 .. .. .. .. .. .. .. .. .. 00 01 02 .. 03 04 .. 0524 .. .. .. .. .. .. .. .. .. 00 01 02 .. 03 04 ..
>8:0521 .. .. 05 06 .. 07 08 .. .. 09 0a 0b .. 0c 0d .. 0534 .. .. 05 06 .. 07 08 .. .. 09 0a 0b .. 0c 0d ..
>8:0531 .. .. .. .. .. 0e 0f .. .. 20 21 22 .. 23 24 .. 0544 .. .. .. .. .. 0e 0f .. .. 20 21 22 .. 23 24 ..
>8:0541 .. .. 25 26 .. 27 28 .. .. 29 2a 2b .. .. .. .. 0554 .. .. 25 26 .. 27 28 .. .. 29 2a 2b .. .. .. ..
>8:0551 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 0564 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:0561 .. .. 2c 2d .. 2e 2f .. .. 40 41 42 .. 43 44 .. 0574 .. .. 2c 2d .. 2e 2f .. .. 40 41 42 .. 43 44 ..
>8:0571 .. .. .. .. .. 45 46 .. .. 47 48 49 .. 4a 4b .. 0584 .. .. .. .. .. 45 46 .. .. 47 48 49 .. 4a 4b ..
>8:0581 .. .. 4c 4d .. 4e 4f .. .. 60 61 62 .. 63 .. .. 0594 .. .. 4c 4d .. 4e 4f .. .. 60 61 62 .. 63 .. ..
>8:0591 .. .. .. .. .. .. .. .. .. 64 65 66 .. 67 68 .. 05a4 .. .. .. .. .. .. .. .. .. 64 65 66 .. 67 68 ..
>8:05a1 .. .. 69 6a .. 6b 6c .. .. 6d 6e 6f .. .. .. .. 05b4 .. .. 69 6a .. 6b 6c .. .. 6d 6e 6f .. .. .. ..
>8:05b1 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 05c4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:05c1 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 05d4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
LDX $0146,Y 047c BE 46 01 LDX $0146,Y
STX $1800 047f 8E 00 18 STX $1800
LDA $0690,X 0482 BD 74 06 LDA $0674,X
STA $1800 0485 8D 00 18 STA $1800
ASL A 0488 0A ASL A
AND #$0F 0489 29 0F AND #$0F
STA $1800 048b 8D 00 18 STA $1800
>8:0690 00 01 00 01 02 03 02 03 00 01 00 01 02 03 02 03 0674 00 01 00 01 02 03 02 03 00 01 00 01 02 03 02 03
>8:06a0 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 0684 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:06b0 04 05 04 05 06 07 06 07 04 05 04 05 06 07 06 07 0694 04 05 04 05 06 07 06 07 04 05 04 05 06 07 06 07
>8:06c0 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 06a4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:06d0 08 09 08 09 0a 0b 0a 0b 08 09 08 09 0a 0b 0a 0b 06b4 08 09 08 09 0a 0b 0a 0b 08 09 08 09 0a 0b 0a 0b
>8:06e0 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 06c4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
>8:06f0 0c 0d 0c 0d 0e 0f 0e 0f 0c 0d 0c 0d 0e 0f 0e 0f 06d4 0c 0d 0c 0d 0e 0f 0e 0f 0c 0d 0c 0d 0e 0f 0e 0f
>8:0700 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 06e4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
|
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
TNT: Very nice - thanx a lot!
/cz |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
That leaves the question of what being first.. :) Of course, there are just so many ways to do warp-speed loading, but the similarities here are glaring. |
| |
TNT Account closed
Registered: Oct 2004 Posts: 189 |
Super Snapshot v5 has identical tables, and they are at exactly same memory locations as Vorpal. Vorpal was written by Scott Nelson and Stephen Landrum, SSv5 manual credits Richard Bond for Turbo*25. I wonder who ripped who...
I need to get my hands on SSv3 & SSv4 images to check them too. |
| |
TNT Account closed
Registered: Oct 2004 Posts: 189 |
Vorpal was released in 1986, SSv4 is from 1987/1988 according to manual. I don't know if SSv3 had turbo*25 already. |
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
Absolutely definately I'd bet on Vorpal. Warp25 became available with the Action Replay 3 according to adverts. Interesting part here: early adverts by Datel from April (AR3 release) to June 1987 do not mention Warp25 while any later advert often has an extra bright box for the feature.
Going to put more online sometime soon.
/cz |
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
Snapshot64 released November 1985
Super Snapshot 2 released January 1987 (two versions that year)
Super Snapshot 3 released February 1988
Super Snapshot 4 released November 1988
Super Snapshot 3 released December 1989
And now get me ROM dumps of SSv2 and SSv3!
(And while we are at that - Freeze Frame above MK1, FC2, Formel 64 and Game Killer I am missing out as well - anyone? :) )
@TNT: Take a look at Heureka Sprint while you are at it - would be interesting to know wether it uses the same tables as well. :)
/cz |
| |
raven Account closed
Registered: Jan 2002 Posts: 137 |
This GCR replacement is actually great for demos, with one small change: next track/sector is better put back in place, since its very useful to change interleave in a demo, according to free rastertime while loading.
A demo using this will have one disadvantage though - it wont be possible to spread it using D64. |
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
Just came across this - adding to this "warp info dump thread" - as I see it - for later reference :)
http://www.faime.demon.co.uk/retro/loader.html
/cz |
Previous - 1 | 2 | 3 | 4 - Next |