Author Topic: Splash screen test on TI-84+C  (Read 10037 times)

0 Members and 1 Guest are viewing this topic.

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: Splash screen test on TI-84+C
« Reply #15 on: May 19, 2013, 11:24:31 pm »
Technically the scrolling is only drawing the edges as required so its not really animation I guess.

The first image test I did was half res 16 colour stored in nibbles. Was just a quick test but did use pucrunch since that's pretty simple. What compression techniques are you using currently and planning to use in the future?

Also when you say 8bit colour you mean 8bit index to a 16bit colour table?
« Last Edit: May 19, 2013, 11:26:50 pm by tr1p1ea »
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Splash screen test on TI-84+C
« Reply #16 on: May 19, 2013, 11:57:25 pm »
That's what I meant yeah, 256 colours based on a colour index table to convert them to 16-big BGR for the LCD driver :) My terminology probably isn't the best, as this is my first time finally tackling this kind of thing lol

My utility converts the .bmp to 256 colour binary data, and then I used Jimmy Mardell's Huffman compression tool. On the calculator I used slightly modified version of his decompression routine, which for each byte it decompresses, then looks it up on the colour table and sends the respective 16-bit colour to the LCD.

Yeah I'm thinking 16 colour nibble data too for sprites, tiles, etc. for any games I make. Well to clarify, 15 colours and one transparent, provided that it's workable. I may or may not use the half-res mode, depending on what the game is, and how practical it is.

How are your tests going?

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Splash screen test on TI-84+C
« Reply #17 on: May 30, 2013, 08:36:49 pm »
I posted a WikiTI page about making applications for the TI-84+CSE. Maybe you can turn this into a full library with API?
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Splash screen test on TI-84+C
« Reply #18 on: June 08, 2013, 12:47:04 am »
That would definitively be a good idea. It might convince some ASM coders to venture into 84+CSE coding, since there were basically no tools to make games for it, particularly graphical routines.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Splash screen test on TI-84+C
« Reply #19 on: June 10, 2013, 10:30:37 pm »
I posted a WikiTI page about making applications for the TI-84+CSE. Maybe you can turn this into a full library with API?

Cool! :) I've just applied for a WikiTI account as per your suggestion via email the other day too.

Turning this into a library is something I'd love to do. I haven't really looked at this for the last fortnight, but when I get some free time I'll be digging back into it again and seeing what else I can do. I have started preliminary work on 16-colour splash screens / graphics as another alternative, which will help to get image sizes down for those that aren't after a huge colour depth.

Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: Splash screen test on TI-84+C
« Reply #20 on: July 01, 2013, 04:58:40 am »
Hey James, whats the compression ratio using your huffman program? When I try to use the build.bat file it says that it cant create ab.bin and I dont get the .asm file. I made IViewer and it stores images as app vars and displays them but the max size for the app var is 65400 bytes. I cant fit complex images such as a jungle with a lot of leaves using only RLE unless I reduce the quality to an unacceptable level. From what I've read about huffman compression, it sounds good for text but is it better than RLE for images?

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Splash screen test on TI-84+C
« Reply #21 on: July 01, 2013, 08:21:48 pm »
Hey James, whats the compression ratio using your huffman program? When I try to use the build.bat file it says that it cant create ab.bin and I dont get the .asm file. I made IViewer and it stores images as app vars and displays them but the max size for the app var is 65400 bytes. I cant fit complex images such as a jungle with a lot of leaves using only RLE unless I reduce the quality to an unacceptable level. From what I've read about huffman compression, it sounds good for text but is it better than RLE for images?
It depends on the image. I'm certainly no expert on compression and the various techniques, Huffman just tends to be the one I use thanks to the tools that Jimmy Mardell made available with Sqrxz.

Did you want to email me the original image you're trying to compress? I'd be happy to see how it works with the program I've been working on (although admittedly, I haven't done any work on it in around a month, but it's still fairly fresh in my mind :) )

Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: Splash screen test on TI-84+C
« Reply #22 on: July 01, 2013, 11:49:05 pm »
Here's an image that will not compress for me under 70,000 bytes. It's a jungle scene with a waterfall. Reducing the colors or blurring it (within reason) does not get it to the 65,400 limit. As it currently stands, it is 73,553 bytes compressed using rle. Can huffman get it smaller? Thanks.

(Oh yeah, I like your site too!)
« Last Edit: July 01, 2013, 11:50:19 pm by AssemblyBandit »

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: Splash screen test on TI-84+C
« Reply #23 on: July 02, 2013, 12:34:28 am »
RLE is typically not that great for images that have a lot of detail. Huffman should work better, but i would also suggest trying puCrunch as well (though most puCrunch compressors wont work with anything over 64KB so it may need to be split? (Though im sure this can be rectified)).

EDIT - I tested it with a puCrunch compressor just quickly and it compressed the image down to 50.5% of its original size, which is promising.
« Last Edit: July 02, 2013, 12:40:08 am by tr1p1ea »
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: Splash screen test on TI-84+C
« Reply #24 on: July 02, 2013, 01:46:53 am »
50% Wow! So I guess puCrunch is what it needs to be using! Thanks a lot for the info!

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: Splash screen test on TI-84+C
« Reply #25 on: July 02, 2013, 01:54:38 am »
Well that said, huffman should fare pretty good as well.

Really with images the ideal compression schemes to use are those that are already established in other OS's, like gif, jpeg, png etc. However there arent any on-calc decompression routines that i am aware of (Perhaps png variants). Either way it would be a good exercise :).

I only tried puCrunch since i already had the tools lying around. Bare in mind that with other types of images, puCrunch might not be most viable solution.

My first test with the 84C was an image viewer that uses puCrunch (since it was only a quick test). I did limit this to half resolution (160x120) at 16 colours (pixel index packed into nibbles). Uncompressed images are 9632 bytes, but with compression it can be a lot lower (depending on the image). At 256 colours (standard palette) this would be 19200 bytes for an uncompressed image, with compression bringing it down also ... anyway it was just a test and not as feature filled as this project.

We need a good image viewer and JamesV is the man to do it :).

EDIT - Uhuh! Now i see your interest in this project :).

http://www.ticalc.org/archives/files/fileinfo/454/45449.html

Looks to work pretty nicely, although the menu messes up a bit in jsTIfied. Ill test it on hardware when i get home.
« Last Edit: July 02, 2013, 09:54:01 pm by tr1p1ea »
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: Splash screen test on TI-84+C
« Reply #26 on: July 03, 2013, 08:13:11 am »
I couldn't even get it to work on jsTIfied. Following the code, the bit commands come up as ????. I dont think they're implemented yet or something. It's solid on real hardware though.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Splash screen test on TI-84+C
« Reply #27 on: July 26, 2013, 01:06:48 am »
Yeah jsTIfied is still not very accurate. For example, it lacks 160x240 support and Buttonz is messed up. I guess the calc is just not documented enough to allow jsTIfied to support them or there was just lack of time.
« Last Edit: July 26, 2013, 01:07:17 am by DJ Omnimaga »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: Splash screen test on TI-84+C
« Reply #28 on: July 26, 2013, 01:48:32 am »
yeah jsTIfied has only been updated to allow minimal 84C (as in TIOS) LCD operation.

Kerm is very pressed for time, but im sure he will get around to it :).
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."