Omnimaga

Calculator Community => TI Calculators => TI-BASIC => Topic started by: Shazane Koronova on January 19, 2007, 03:03:00 pm

Title: A question
Post by: Shazane Koronova on January 19, 2007, 03:03:00 pm
I have a truly epic project in mind, and have the basics of the engine coded on Basic with Xlib.  But I'm not sure if it's the best way to go, or if I shouldn't use any calc based language for this.  Xlib certainly improves the speed of basic, but if I complicate it further it may become unbearably slow.  Also, the 83+ has a pathetic amount of RAM which will almost certainly not contain the entire game.

I have a basic understanding of ASM, and could probably master it with a little time.  So what language do you think I should use for this game?
Title: A question
Post by: DJ Omnimaga on January 19, 2007, 03:09:00 pm
with 83+ xlib you can copy ram programs from archive temporarly. in other word, you have 163840+24389 bytes of memory avaliable to run the game
Title: A question
Post by: trevmeister66 on January 19, 2007, 03:23:00 pm
yeah, what he said!  
Title: A question
Post by: Delnar_Ersike on January 19, 2007, 06:51:00 pm
Also, there are many interesting tricks in BASIC even people like me who have more than a year of experience don't know (I just learned one today). Once you have most of the code done, run it by Weregoose on UnitedTI: he's a master at these tricks.

You can also use external ASM libraries to compress some of your programs.
Title: A question
Post by: Shazane Koronova on January 20, 2007, 06:11:00 am
QUOTE
with 83+ xlib you can copy ram programs from archive temporarly. in other word, you have 163840+24389 bytes of memory avaliable to run the game


How do you do it?  I wasn't able to access anything that was archived, and I really need to use archive memory, a matrix I used for a tilemap took up over 15000 bytes of RAM!
Title: A question
Post by: trevmeister66 on January 20, 2007, 06:15:00 am
well you can have the matrix archived and xLIB will automaticaly call from it for a tilemap, but the only problem is you can't do hit detection(at least the way i'm doing it) so i have to have it unarched anyways (mine is 12845 bytes)

Unless someone can tell me how to do hit detection with it archived, i don't think you'll be able to do anything about the matrix.

As for programs being unarched and arched, i think it's in the tutorial or readme or something.
Title: A question
Post by: DJ Omnimaga on January 20, 2007, 08:17:00 am
check for real(10 function in xLIB APP
Title: A question
Post by: trevmeister66 on January 20, 2007, 04:15:00 pm
I'm guessing thats for arching and unarching?
Title: A question
Post by: Delnar_Ersike on January 20, 2007, 05:13:00 pm
*Delnar_Ersike
Title: A question
Post by: trevmeister66 on January 20, 2007, 05:22:00 pm
But is there any way with any known ASM library that lets you call from a matrix if it's archived?
Title: A question
Post by: Shazane Koronova on January 20, 2007, 06:38:00 pm
For me it doesn't even show the tilemap if the matrix is archived, and I cant move without getting the error.

On an unrelated note, is there any way for Xlib to use greyscale?
Title: A question
Post by: trevmeister66 on January 20, 2007, 06:42:00 pm
yeah you can, i think you would need 2 matrixes that use the real(2 command back to back. You would also need 2 of each tile that vary a little to make the gs

example:

real(2,[A],*rest of syntax*
real(2,,*rest of syntax*

i think, I THINK, that's how it would work, but i don't know since i'm new to xLIB.

and i don't know what's wrong with your matrix thing.
Title: A question
Post by: DJ Omnimaga on January 21, 2007, 04:56:00 am
http://omnimaga.org/index.php?showtopic=173
Title: A question
Post by: Shazane Koronova on January 21, 2007, 12:57:00 pm
ok, real(10) can archive and unarchive a matrix, but how do you do it with a program and a picture?
Title: A question
Post by: DJ Omnimaga on January 21, 2007, 02:29:00 pm
i didn't knew real(10 could copy/erase/archive(?) something else than programs o.oblink.gif
Title: A question
Post by: Shazane Koronova on January 21, 2007, 02:54:00 pm
It wouldn't do it with a program, only a matrix.  You can COPY and DELETE with it?!  Could you tell me the specifics of Real(10)?  
Title: A question
Post by: trevmeister66 on January 21, 2007, 03:08:00 pm
c1-->
CODE
ec1
"PROGRAM NAME //name of program to be coppied
real(10,0,1 //10 is the xLIB function, 0 i think is to copy the program from above, and the last number is which (out of 16) program you copy to (i think the new ones are called XTEMPXX).
c2
ec2


and to run it you would just do

pgrmXTEMPXX
Title: A question
Post by: Shazane Koronova on January 22, 2007, 10:44:00 am
but how do you archive a program with it?
Title: A question
Post by: trevmeister66 on January 22, 2007, 04:08:00 pm
you can't, but you can have the program pre archived, and call it with that method so you don't have to ever unarchive it.
Title: A question
Post by: Shazane Koronova on January 23, 2007, 12:36:00 pm
that works.  Then what's the code to delete a program?
Title: A question
Post by: Delnar_Ersike on January 23, 2007, 12:54:00 pm
QuoteBegin-trevmeister66+21 Jan, 2007, 21:08-->
QUOTE (trevmeister66 @ 21 Jan, 2007, 21:08)
c1-->
CODE
ec1
"PROGRAM NAME //name of program to be coppied
real(10,0,1 //10 is the xLIB function, 0 i think is to copy the program from above, and the last number is which (out of 16) program you copy to (i think the new ones are called XTEMPXX).
c2
ec2


and to run it you would just do

pgrmXTEMPXX  

 it's XTEMPxxx, not XTEMPxx. Also, its -15, not 1-16

For deleting, put in real(10,1,x  if you want to delete a specific XTEMPxxx. The last number tells which number XTEMPxxx it should delete.

To delete all XTEMPxxx programs, just put in real(10,2,0
Title: A question
Post by: trevmeister66 on January 23, 2007, 01:43:00 pm
meh, i had to think of it off the top of my head, and i had never used it before either, so close enough =)