I am working on a program that requires compression and decompression to be done on calc. I lack the programming skills to achieve compression/decompression, although I do understand the concept. Yet, I would rather not let another project fail. So, I ask... is there anyone with the time and expertise who would like to code the compression/decompression routines, and be listed on the project as a co-author? If not, I'll try again when everything else is done, but I doubt I'll be successful.
What kind of data are you trying to compress? Could a simple Run Length Encoding suffice?
Most other (de)compression methods require a lot of ram to perform quickly.
This algorithm needs to compress all different data forms...in fact, a specially formatted "Archive". Here's the project in question:

http://clrhome.org/projects/calcrar
Alright, so you're right, an LZ77 or LZ77-like solution would probably achieve the most satisfactory results. I'll try tinkering about during school writing a Z80 LZ77 codec.
Thank you. I do appreciate it.
Any progress on this Kaslai?
I talked in IRC about some ideas. I'm not sure how BASIC programs are run, but what I'm thinking is that you could probably decompress files in-place. Just insertmem in to the running programs space to fit the size of the decompressed files, provided enough memory.

Decompressing in place is easy enough; you just need to write the compressor to run backwards instead of forwards. Then, decompress from the end of where the decompressed data will be. I don't think the TI-83+ uses memory caching, so going backwards shouldn't cut performance.
I haven't the slightest clue how to do this. lol.

Edit: Does anyone feel up to writing this for me? I can handle the rest on my own, I'm pretty sure.
puCrunch will be something of interest. There are various implementations on ticalc.org.
LZF is conceptually very similar to LZ77-- I've been working on an implementation to target the prizm.

My goal with that is maximal compression, so it's very slow. I've been slowly improving the speed, though.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement