Author Topic: Athena: Calculator project installer  (Read 13237 times)

0 Members and 1 Guest are viewing this topic.

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Athena: Calculator project installer
« on: December 08, 2010, 04:16:49 pm »
Originally started on Cemetech (since there's a load of C coders there who are pretty willing to help), but I'm bringing the idea here too.

As stated in the title, "Athena" is a project to help simplify the installation of large BASIC games. It started when I was reading some thread on Cemetech and DJ Omnimaga mentioned something about me building a RoL3 installer in TI-Basic/CIII. So I figured I would try my hand at building something better. Something that could possibly be used by just about anyone. The project is targeted for the TI-83+SE/TI-84+(SE) users, since they've got crazy-insane archive space for which this is possible.

For users who will be installing these games, you will only need prgmATHENA and some number of data files that are distributed. These data files act as compressed group files. Once you get all that stuff to your graphing calculator (at least read the ReadME.txt that the developer will most likely have put in), run Asm(prgmATHENA) and it will guide you through the installation process. Once it starts, no further user interaction will be needed unless you have to do stuff like garbage collect. No longer do you have to sit in front of a computer and have to send each and every individual file and possibly have to manually archive them. No longer will you have to send group files just to extract then archive the variables. Athena will perform much of this management for you!

If you accidentally delete a few of the files used by the game and if you still have both prgmATHENA and its data files, you may repair the installation by running prgmATHENA again.

Planned is the ability to install files to work with DCS. Which is to say, it will be folder-aware and let you install files in any folder of your choosing (or create your own right then and there if you don't have the folder).

Since the data files are compressed, you'll be able to have multiple large BASIC games on your calculator at the same time. Just uninstall one and install the other if you really want to.

More information will be made available for developers interested in using Athena for their projects. So... tell me what you think.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Athena: Calculator project installer
« Reply #1 on: December 08, 2010, 04:18:36 pm »
Originally started on Cemetech (since there's a load of C coders there who are pretty willing to help), but I'm bringing the idea here too.

As stated in the title, "Athena" is a project to help simplify the installation of large BASIC games. It started when I was reading some thread on Cemetech and DJ Omnimaga mentioned something about me building a RoL3 installer in TI-Basic/CIII. So I figured I would try my hand at building something better. Something that could possibly be used by just about anyone. The project is targeted for the TI-83+SE/TI-84+(SE) users, since they've got crazy-insane archive space for which this is possible.

For users who will be installing these games, you will only need prgmATHENA and some number of data files that are distributed. These data files act as compressed group files. Once you get all that stuff to your graphing calculator (at least read the ReadME.txt that the developer will most likely have put in), run Asm(prgmATHENA) and it will guide you through the installation process. Once it starts, no further user interaction will be needed unless you have to do stuff like garbage collect. No longer do you have to sit in front of a computer and have to send each and every individual file and possibly have to manually archive them. No longer will you have to send group files just to extract then archive the variables. Athena will perform much of this management for you!

If you accidentally delete a few of the files used by the game and if you still have both prgmATHENA and its data files, you may repair the installation by running prgmATHENA again.

Planned is the ability to install files to work with DCS. Which is to say, it will be folder-aware and let you install files in any folder of your choosing (or create your own right then and there if you don't have the folder).

Since the data files are compressed, you'll be able to have multiple large BASIC games on your calculator at the same time. Just uninstall one and install the other if you really want to.

More information will be made available for developers interested in using Athena for their projects. So... tell me what you think.

It's a kind of installer and uninstaller program?

Looks nice :)

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Athena: Calculator project installer
« Reply #2 on: December 08, 2010, 05:05:40 pm »
Yup. People can build archives using this project and then distribute them as their game. It won't take up a whole lot of space since each archive is compressed. The only real limitation is the memory on the calculator. What could end up happening is that some large BASIC game that takes up some 130KB of memory can be archived in like 60KB or something like that.

The limitation with respect to the individual archives is that each archive can decompress up to 64KB. The archive itself may be quite small, but each one will expand to up to 64KB, which means that I can't have some huge as hell single archive, each 64KB (yes, they *will* send to the calc if they were that large. You just can't unarchive them).
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Athena: Calculator project installer
« Reply #3 on: December 08, 2010, 05:08:08 pm »
Does it check to make sure there's enough space to decompress?
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Athena: Calculator project installer
« Reply #4 on: December 08, 2010, 05:10:46 pm »
Does it check to make sure there's enough space to decompress?
In short, yes. Your RAM has got to be pretty much empty, though. There are checks in the data stream that tells the installer a rough estimate as to how much space the install will take, and then compare that to the calc's memory.

I intend on modifying the pucrunch decompressor so that it'll extract on a file basis. It'll then move stuff to FlashROM as necessary. As such, all files that go into FlashROM will be extracted first, then files that need to reside in RAM will go there.
« Last Edit: December 08, 2010, 05:12:50 pm by Iambian »
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Athena: Calculator project installer
« Reply #5 on: December 08, 2010, 10:07:45 pm »
Got in some early results. While I haven't coded everything yet, I am able to get .bin files that contain all the compressed data. I tried to pack Illusiat 13, which weighs in at over 130KB. The end result? Three files that collectively take up around 42KB. (12KB, 25KB, 5KB)

Now, to verify that it's all good and start writing the .8xp packager into the C program. After that, the Z80 part of Athena can start up.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Athena: Calculator project installer
« Reply #6 on: December 08, 2010, 10:17:38 pm »
Wow thats some impressive stats right there O.O Why does it compress into 3 files instead of just one large 42K out of curiosity? 

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: Athena: Calculator project installer
« Reply #7 on: December 08, 2010, 11:24:46 pm »
This is awesome! Sure, maybe there's a steep size requirement if you decompress/install a massive game like Metroid II, but a lot of people complained about those games being hard to install back then, due to being in multiple steps, so this might come handy.

Will this support hacked pictures? This is one major issue when installing Zelda: Dark Link Quest and to a lesser extent Reuben Quest: The Lost Mirror.
« Last Edit: December 08, 2010, 11:25:30 pm by DJ Omnimaga »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Athena: Calculator project installer
« Reply #8 on: December 08, 2010, 11:41:42 pm »
Wow thats some impressive stats right there O.O Why does it compress into 3 files instead of just one large 42K out of curiosity? 
The version of pucrunch that I'm using can only compress up to 64KB at a time. Since I13 is around 130KB and each file is reasonably sized, so it'll create three archives.

As far as hacked pics are concerned, if you can get them to the computer, it'll pack just fine. If it really becomes an issue (because I hear that hacked pics can only sent to the compy by group), I might add support for automatic group extraction so it can be included into the project. Maybe. I just want something that works at the moment.
A Cherry-Flavored Iambian draws near... what do you do? ...

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: Athena: Calculator project installer
« Reply #9 on: December 08, 2010, 11:43:27 pm »
Oh right, I forgot about getting them on the comp. They have to be grouped. Alternatively maybe you could maybe have an on-calc hacked pic manager for use with your installer? The person could choose which hacked pic package to import in his project on the computer.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Athena: Calculator project installer
« Reply #10 on: December 10, 2010, 10:21:47 am »
Just FYI, you can un-group hacked pics once they are on the PC with the WinRAR utility (if you were thinking that that's an issue). I'm not sure how the file names would show up on PC though.

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Athena: Calculator project installer
« Reply #11 on: December 10, 2010, 11:37:50 am »
Just FYI, you can un-group hacked pics once they are on the PC with the WinRAR utility (if you were thinking that that's an issue). I'm not sure how the file names would show up on PC though.
If it can do that, you should probably be able to rename them to whatever you want. The variable's name (when it is sent to the calc) is actually dependent on some name field somewhere near the start of the file.

On another note, I've got Athena generating valid .8xp files now, so I guess I can start working on the Z80 side of things pretty soon.
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Athena: Calculator project installer
« Reply #12 on: December 10, 2010, 09:48:15 pm »
This sounds really cool, good luck on it :) Can't wait to see how this turns out.

Just out of curiosity, isn't pucrunch a compression method?
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline Iambian

  • Coder Of Tomorrow
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 739
  • Rating: +216/-3
  • Cherry Flavoured Nommer of Fishies
    • View Profile
Re: Athena: Calculator project installer
« Reply #13 on: December 10, 2010, 10:06:21 pm »
This sounds really cool, good luck on it :) Can't wait to see how this turns out.

Just out of curiosity, isn't pucrunch a compression method?
Thanks for the support!

Oh, and pucrunch is a compressor, not a method. pucrunch uses some LZ77/RLE hybrid, as explained in (way too much) detail here: http://www.cs.tut.fi/~albert/Dev/pucrunch/

If you can fully understand that, then you'll be all ready to implement it in Axe :)
« Last Edit: December 10, 2010, 10:07:42 pm by Iambian »
A Cherry-Flavored Iambian draws near... what do you do? ...

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Athena: Calculator project installer
« Reply #14 on: December 10, 2010, 10:29:56 pm »
Ah ok, I just remember seeing it somewhere before while compression was talked about so that's why I asked. But ah ok, thanks :) It'll be a long time before I incorporate any of that into anything I do though :P
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)