Author Topic: Illusiat remake for the TI-81 and some discoveries  (Read 10232 times)

0 Members and 1 Guest are viewing this topic.

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
Illusiat remake for the TI-81 and some discoveries
« on: December 04, 2008, 03:51:48 am »
I know the TI-81 has been discontinued for 11 years by now and hardly anyone used it for programming due to the lack of a link port but just for fun I wanted to try the challenge of porting one of my old game in that limited 2400 bytes RAM space and it succeeded. So tonight the game that introduced the Illusiat series is now avaliable for the first Texas Instruments graphing calculator ever released!



Since 2001 there have been 3 versions of Illusiat released, including this one. The first one was my first released RPG ever. The second one was an enhanced remake utilizing Illusiat 12 walking, battle and menu engine as well as some ASM libraries from The Reign Of Legends 2. It came out in 2003 in a bundle called Illusiat 2004, containing remakes of the 4 first Illusiat RPGs in the series, with bigger and more complex maps, improved storyline, added level-up system for the two first games, which didn't used to have one, new magic spells and a lot of major changes.

This new version of Illusiat is based on the very first version ever but this time for the first TI graphing calculator ever released. Maps are similar to the first game and the graphics aren't as good but there have been some improvements in some areas, most being inspired from the 2003 remake included with Illusiat 2004. This is also the hardest version of all.

Because the TI-81 has no link port you must type the entire source code by hand and due to memory limitations you must type in the matrices as well. In fact, on a TI-81 matrices won't take any RAM (altough the maximum size is 6x6). The only thing that takes RAM is lists and the 37 program slots content (except their names). The source code is included in txt format with the readme.

Make sure you read the readme carefully though because despite the lack of a link port, thus, ASM support, a TI-81 can crash and I doubt you would want to see your RAM cleared when you're almost done typing the game in the editor. (If you cannot open WMV files, the video shows me trying to access the list editor with 6 bytes of RAM and the calc freaks out and at one point when pressing ON you are greeted with a Mem Cleared message. I don't know if this was fixed in ROM version 2.0 of the TI-81 but on my 1.1 one it sure surprised me at first.)

If you still own this archeologic piece of TI history and don't mind typing 2400 bytes of code by hand as well as two 6x6 matrices you can download the game source here and try the game out!
« Last Edit: December 04, 2008, 04:08:04 am by DJ Omnimaga »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline simplethinker

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 695
  • Rating: +16/-5
  • snjwffl
    • View Profile
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #1 on: December 04, 2008, 08:36:08 am »
Cograts on finishing ;D (now to go steal borrow my cousin's 81...)
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true." -- Professor Robert Silensky



Chip's Challenge: ħ%

Offline Speler

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 857
  • Rating: +6/-2
    • View Profile
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #2 on: December 04, 2008, 10:13:30 am »
Congratulations!  Too bad I don't got an 81.

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: Illusiat remake for the TI-81 and some discoveries
« Reply #3 on: December 05, 2008, 04:08:50 pm »
I might actually adapt this for the TI-82 at one point so people can see how it looks like. I will probably need to do lot of editing though and game might end up bigger because the TI-82, 83 and 83+ are 3x faster than the TI-81 so I will need something else than "cos cos cos 1" to slow down the game XD. Plus, I don't plan to use 37 programs if I do a 82 version. Note that 82 programs runs on the 83 and 83+ as well, except on some emulators. I might need to do a modified 83 port though if it doesn't interpret formulas correctly due to how newer models handles parhentesis and multiplying differently than older ones

On the TI-80, however, I wonder if I will not save space instead, because a "69!"  instruction is enough to do a delay on this calc and I might barely need such thing considering it's still slow without it
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

metagross111

  • Guest
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #4 on: December 05, 2008, 05:27:42 pm »
maybe...."cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos 1? >_>

Offline simplethinker

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 695
  • Rating: +16/-5
  • snjwffl
    • View Profile
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #5 on: December 05, 2008, 06:14:41 pm »
maybe...."cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos cos 1? >_>
That may slow it down, but that's 37 bytes and consider the fact that the TI-81 only has 2400 bytes of RAM.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true." -- Professor Robert Silensky



Chip's Challenge: ħ%

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: Illusiat remake for the TI-81 and some discoveries
« Reply #6 on: December 05, 2008, 07:43:35 pm »
lol I actually used cos cos cos 1 simply because the only other way to add a delay in the game would be this code:

Code: [Select]
Lbl 1
IS>(K,25
Goto 1

And that's assuming K=0 at first, else you may need to replace 25 with an higher value and if you are uncertain what is the value before this loop is executed you must set one manually, taking even more space. Basically I always saved between 4 and 7 bytes doing the "cos" thing. For a longer delay using 6 cos'es instructions may have been a better idea, though. On the 82 or above or even the 73 this wouldn't work because you would need too many cos/cos( to slow the calc down long enough

EDIT: wow I didn't realised [code ] tags produced such small text... I will have to look further into that later
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

metagross111

  • Guest
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #7 on: December 05, 2008, 09:59:24 pm »
lol I actually used cos cos cos 1 simply because the only other way to add a delay in the game would be this code:

Code: [Select]
Lbl 1
IS>(K,25
Goto 1

And that's assuming K=0 at first, else you may need to replace 25 with an higher value and if you are uncertain what is the value before this loop is executed you must set one manually, taking even more space. Basically I always saved between 4 and 7 bytes doing the "cos" thing. For a longer delay using 6 cos'es instructions may have been a better idea, though. On the 82 or above or even the 73 this wouldn't work because you would need too many cos/cos( to slow the calc down long enough

EDIT: wow I didn't realised [code ] tags produced such small text... I will have to look further into that later

i like the code tags the way they are :/

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: Illusiat remake for the TI-81 and some discoveries
« Reply #8 on: December 05, 2008, 10:06:13 pm »
ok, personally i would increase the font size a little though, since I use a 17 CRT inch monitor on 1024x768 res and it's pretty small to read x.x
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

metagross111

  • Guest
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #9 on: December 06, 2008, 09:25:45 am »
actually, it may be better to change the font altogether. courier sort of sucks at that small size. maybe tahoma you can manage it?

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: Illusiat remake for the TI-81 and some discoveries
« Reply #10 on: December 06, 2008, 09:53:11 am »
I thought about that. Maybe Lucida Console? All computer programming language editors uses Courrier by default and some Lucida Console and Lucida would fit well I think. In order of priority (because I'm sure some computers doesn't have Lucida or Courrier installed due to some people in schools/libraries deleting default files from public computers) it would be Lucida, if not present Courrier and if not present default board font (Tahoma)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline JonimusPrime

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 389
  • Rating: +25/-5
    • View Profile
    • Jonimoose.net
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #11 on: December 06, 2008, 10:39:38 pm »
Did the 81 have a rand function? If yes rand(x is a good delay because it generates a list containing x random numbers which allows you to make delays of any size using the same code. I don't know if the 81 has this functionality but I know the 83,83+, and 86 all have this feature.

"Always code as if the person who will maintain your code is a maniac serial killer that knows where you live" -Unknown

"If you've done something right no one will know that you've done anything at all" -Futurama

"Have a nice day, or not, the choice is yours." Tom Steiner

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: Illusiat remake for the TI-81 and some discoveries
« Reply #12 on: December 07, 2008, 12:01:03 am »
ooh yeah maybe I could have used that instead x.x now if only I thought about it before. It's slower than sin/cos/tan actually, meaning I could have saved space. I might try to update the code at one point and add more goodies. I try to make sure the game takes the entire RAM, else I would need to remove a lot of stuff to make sure there's signifiantly more RAM left, so users won't get the list editor glitch happening if they ever wandered there
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

metagross111

  • Guest
Re: Illusiat remake for the TI-81 and some discoveries
« Reply #13 on: December 07, 2008, 08:54:58 am »
why do some of these commands take so long? o_0

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: Illusiat remake for the TI-81 and some discoveries
« Reply #14 on: December 07, 2008, 11:33:32 am »
I don't know. rand and sin always took long on all old calcs I got. THey take a long time for the processor to calculate compared to just 2+2. This is why I don't recommend using too much randomizing inside BASIC games walking engine, since it slows it down a lot. Usually for enemies it's better to have pre-defined walking patterns stored into a list or something before the walking loop starts.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)