Omnimaga

Omnimaga => News => Topic started by: DJ Omnimaga on December 04, 2008, 03:51:48 am

Title: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga 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!

(http://www.omnimaga.org/images/screenshots/illusiat81title.gif)(http://www.omnimaga.org/images/screenshots/illusiat81.gif)
(http://www.omnimaga.org/images/screenshots/illusiat81battle.gif)(http://www.omnimaga.org/images/screenshots/illusiat81ramusage.gif)

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 (http://www.omnimaga.org/otherfiles/ti81crashed.wmv) 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 (http://www.omnimaga.org/index.php?action=downloads;sa=view;id=276) and try the game out!
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: simplethinker on December 04, 2008, 08:36:08 am
Cograts on finishing ;D (now to go steal borrow my cousin's 81...)
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: Speler on December 04, 2008, 10:13:30 am
Congratulations!  Too bad I don't got an 81.
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga 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
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: metagross111 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? >_>
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: simplethinker 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.
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga 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
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: metagross111 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 :/
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga 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
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: metagross111 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?
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga 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)
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: JonimusPrime 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.
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga 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
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: metagross111 on December 07, 2008, 08:54:58 am
why do some of these commands take so long? o_0
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga 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.
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: TravisE on December 18, 2008, 10:49:24 pm
Hi, I was tempted to dig out my ancient TI-81 and try this out. This thing was my first graphing calculator waaayy back in 1994 or so. I've only been playing it for a few minutes so far, but given the extreme programming limitations, this is really impressive. This isn't the type of game I would have imagined being possible on a TI-81, especially not with ASCII-art graphics (even simple ones).

As silly as this may sound, I really think this deserves a news article on ticalc.org. If you upload a copy of Illusiat 81 there, I will be the first one to suggest it. :)

I think there may be a couple of minor errors in the source code file. I had to ignore the “Grid Off” instruction in Pgrm1 since to my knowledge there is no such instruction on the TI-81 (or at least not on mine). Also, after typing everything in and double-checking it, the up/down controls on the map seemed to be reversed, which confused me a bit at first. It seems that in Prgm3 on the line that displays the map movement prompt the ‘V’ and ‘^’ are backwards. When I swapped them, map movement made a lot more sense. ;)
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga on December 18, 2008, 11:47:05 pm
Well I thought this could maybe make news, both because of how in depth it is for a TI-81, being the first TI-81 RPG to be released and the first upload in the TI-81 directory since maybe 5 or 6 years, but due to some events that occured one year ago in the community I requested the removal of my entire author profile there (altough it took them 4 and half a month to remove it) and am not planning to upload anymore stuff on any english TI site in the future. So since ticalc.org only feature programs in their own archives (at least since Michael_V was hired as news editor)

I would go into further details but I lost the huge post I did about this back then and it was filled with english mistakes anyway (which caused a lot of mockery among grammar nazis in a IRC channel, even thought they know english is not my native language) and I don't feel like rexplaining right now x.x. You might find some older posts about this here on the forums though.

As for the game itself, there might have been some errors while I typed it by hand. The GridOff function is avaliable in the MODE menu. I added it because I was planning to add graphical magic animations, but then I found out the only way to turn axis off was to Dim the window so the dots and the actual axis are out of the screen so it was too much hassle to fit animations afterward in the limited RAM. However when I decided to go with home screen animations I totally forgot to remove the GridOff from the code. I actually started typing it before adding the home screen animations so I don't remember if it was on the real calc.

Welcome by the way :)
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: TravisE on December 20, 2008, 10:29:48 pm
Well I thought this could maybe make news, both because of how in depth it is for a TI-81, being the first TI-81 RPG to be released and the first upload in the TI-81 directory since maybe 5 or 6 years, but due to some events that occured one year ago in the community I requested the removal of my entire author profile there (altough it took them 4 and half a month to remove it) and am not planning to upload anymore stuff on any english TI site in the future. So since ticalc.org only feature programs in their own archives (at least since Michael_V was hired as news editor)

That's too bad, but since you're the author, that's your choice.

Quote
As for the game itself, there might have been some errors while I typed it by hand. The GridOff function is avaliable in the MODE menu. I added it because I was planning to add graphical magic animations, but then I found out the only way to turn axis off was to Dim the window so the dots and the actual axis are out of the screen so it was too much hassle to fit animations afterward in the limited RAM. However when I decided to go with home screen animations I totally forgot to remove the GridOff from the code. I actually started typing it before adding the home screen animations so I don't remember if it was on the real calc.

I thought I might have been overlooking it somewhere. :) I didn't even remember that GridOn was actually available on the TI-81, but then again it's been years since I touched the thing.

Quote
Welcome by the way :)

Thanks!

I think I got up to the last boss (is the last boss where it says “Now see my true power!” and you have to do a second battle immediately?), but unfortunately my TI-81 locked up for some strange reason (no idea why, it's never happened before) when I left it on on the Illusiat main menu for a while, and since I don't feel like typing it back in and starting over at the moment, I guess I'm done for the time being. ;)
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: metagross111 on December 20, 2008, 11:05:43 pm
how long is the guy, btw?
Title: Re: Illusiat remake for the TI-81 and some discoveries
Post by: DJ Omnimaga on December 21, 2008, 02:07:50 am
ouch this sucks about the locking down x.x, I didn't got that problem yet, it would have sucked if I did while coding the game and had to restart from scratch x.x

As for the GridOff it's definitively inside the game and even used, you really need to access the MODE menu from the PRGM editor to access the function. However, the character movement choices in Prgm3 were definitviely swapped so I updated the zip file with the new version