Commit Graph

54 Commits

Author SHA1 Message Date
dranke 48727040b3 Merge pull request #5 from ped7g/z80_ped7g
Z80 ped7g - further optimisations
2022-09-27 22:35:44 +02:00
Peter Helcmanovsky (Ped) 8a32e1384c z80_unpacker: readme.txt and comment update 2022-09-19 15:19:39 +02:00
Peter Helcmanovsky (Ped) 9913dcf4bb z80_unpacker: comment with possible LUT variant of updating probs value
missing 512 byte table generator, which doesn't look trivial to do
(especially in terms of code size).
Not tested, but looks as decent speed up.
2022-09-19 14:31:00 +02:00
Peter Helcmanovsky (Ped) a8fd3dc573 z80_unpacker: optimisation: -1B in decode_number (fwd 170B / rev 167B)
slightly slower code, ROM unpack is back to ~22.6s
2022-09-19 13:20:44 +02:00
Peter Helcmanovsky (Ped) e1f9fa143a z80_unpacker: comment with caller size optimisation tip 2022-09-19 11:58:32 +02:00
Peter Helcmanovsky (Ped) db1c7d2d14 z80_unpacker: optimisation: -1B in decode_number (fwd 171B / rev 168B) 2022-09-19 11:49:53 +02:00
Peter Helcmanovsky (Ped) c1ffd0e7ed z80_unpacker: attempt for faster decode_number (+6B, ~1% faster) => not good
archived in comments for future reference
2022-09-19 11:42:56 +02:00
Peter Helcmanovsky (Ped) 00d084105a z80_unpacker: optimisation: -2B in backward unpack (fwd 172B / rev 169B)
backward was already -1B, so now the total difference is -3B.
2022-09-19 01:31:22 +02:00
Peter Helcmanovsky (Ped) 8e5298caee z80_unpacker: optimisation: -1B in decode_number = 172B (but +4T per length) 2022-09-19 01:09:21 +02:00
Peter Helcmanovsky (Ped) 1fb29f3a1b z80_unpacker: optimisation: -1B and -1T in decode_bit = 173B 2022-09-18 23:44:18 +02:00
dranke c8924456aa -r reverses both input and output 2022-09-18 23:38:41 +02:00
dranke 7b0e22f459 Merge pull request #3 from ped7g/z80_ped7g
backward unpacker + example extended
2022-09-18 23:24:28 +02:00
Peter Helcmanovsky (Ped) 165f593a11 z80_unpacker: (codestyle) whitespace + temporary label rename 2022-09-18 23:04:37 +02:00
Peter Helcmanovsky (Ped) d4bce4bf7c z80_unpacker: optimisation: -3B and ~-10T in decode_bit = 174B
unpack zx48.rom is now ~22.6s (from 23.0s)
(performance version is now 199 bytes, zx48.rom unpack 19.4s -> 19.0s)
2022-09-18 22:54:10 +02:00
Peter Helcmanovsky (Ped) b13fa05413 z80_unpacker: add backward variant of unpacker + example extended 2022-09-18 00:23:14 +02:00
Peter Helcmanovsky (Ped) 3c773aca8d z80_unpacker: add performance variant of depacker 2022-09-16 03:38:03 +02:00
dranke a5406deb30 Merge pull request #2 from ped7g/z80_ped7g
Z80 ped7g - few more optimisations for current variant of packer
2022-09-16 00:26:55 +02:00
Peter Helcmanovsky (Ped) 9211544cb9 z80_unpacker: add resulting snapshot file to example 2022-09-15 18:37:06 +02:00
Peter Helcmanovsky (Ped) 3fa9e0fa12 z80_unpacker: optimisations: 0B, -13T in decode_bit (stays 177B) 2022-09-15 18:22:33 +02:00
Peter Helcmanovsky (Ped) aa3fad4d80 z80_unpacker: optimisations: -3B and ~-24T in decode_bit = 177B 2022-09-15 18:22:32 +02:00
Peter Helcmanovsky (Ped) 6624940ed9 z80_unpacker: optimisations: -2B and -27T in decode_bit = 180B 2022-09-15 18:22:32 +02:00
Peter Helcmanovsky (Ped) c3a9773e5c z80_unpacker: optimisations: -1B in unpack implementation = 182B 2022-09-15 18:22:31 +02:00
Peter Helcmanovsky (Ped) a75a35efb2 z80_unpacker: probs context-size for offset/length numbers as EQU 2022-09-15 18:22:27 +02:00
dranke 540a91d1ba forgot to add back -l 9 2022-09-15 00:18:30 +02:00
dranke e7aaf1491a add old-prob-update to compare script, add reverse option 2022-09-14 23:51:38 +02:00
dranke a1dabaf7f9 add simple script to compare compression of variants 2022-09-14 23:41:14 +02:00
dranke 75e375fb1f Merge branch 'ped7g-z80_ped7g' into z80 2022-09-14 09:03:28 +02:00
Peter Helcmanovsky (Ped) c7ea11bce3 z80_unpacker: optimisations: -2B in unpack implementation = 183B 2022-09-14 01:44:04 +02:00
Peter Helcmanovsky (Ped) 02d20867ee z80_unpacker: optimisations: -2B in unpack implementation = 185B 2022-09-14 01:01:56 +02:00
Peter Helcmanovsky (Ped) 511ddefc08 z80_unpacker: optimisations: -4T per offset/length bit decoded
making the 256-alignment of probs array even more baked-in, but there
was no real chance to get rid of that any way
2022-09-14 00:01:51 +02:00
Peter Helcmanovsky (Ped) d30baaa91f z80_unpacker: optimisations: -1B by keeping write_ptr in DE' 2022-09-13 23:57:59 +02:00
Peter Helcmanovsky (Ped) 919a892ef0 z80_unpacker: optimisations: -1B by decode_length returning CF=0 2022-09-13 23:25:03 +02:00
Peter Helcmanovsky (Ped) ea5c0b1b15 z80_unpacker: optimisations: shorter >>4 in probs update 2022-09-13 23:15:18 +02:00
Peter Helcmanovsky (Ped) a19ec2abb7 z80_unpacker: optimisations: remove .offset init
first offset is mandatory in packed data
2022-09-13 22:53:15 +02:00
Peter Helcmanovsky (Ped) 7b051113e1 z80_unpacker: initial working version with screen-slideshow example 2022-09-13 22:12:03 +02:00
dranke f1f1c64a76 implement simplified prob update, update unpack.c 2022-09-10 12:01:42 +02:00
dranke 36cb6d77b5 BE bitstream, flip bit encoding 2022-09-10 11:31:09 +02:00
dranke 629c5fce7d optimize c_unpacker state update a bit, add -b flag to --help 2022-09-09 19:10:31 +02:00
dranke a205473ad6 slight optimization v0.1.0 2022-09-09 08:32:03 +02:00
dranke 4903ac3786 c unpacker now works 2022-09-09 00:47:33 +02:00
dranke f817dc9254 first try of c decompressor, not working yet 2022-09-08 23:42:03 +02:00
dranke d93aec186c add compressed_size function 2022-06-19 23:08:47 +02:00
dranke 3902425922 add bitstream variant, could be useful on 8bit platforms 2021-12-28 23:59:56 +01:00
dranke 2e7983fc65 use u8 context entries 2021-12-27 22:35:53 +01:00
dranke f7f891e154 fix creating broken files if they end with a match 2021-12-27 22:34:14 +01:00
dranke 08c86af06f some slight tweaks to the compressed format 2021-12-27 16:58:39 +01:00
dranke 7d280bd533 unify interface, only one pack function now 2021-11-26 21:58:28 +01:00
dranke c0560f99a8 add compression levels 2021-11-26 00:01:33 +01:00
dranke 5fedc032a9 speed optimizations + progress bar 2021-11-25 22:43:39 +01:00
dranke 5e82c65c18 a few speed and/or compression ratio improvements 2021-11-24 22:35:24 +01:00