This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - Xeda112358
Pages: 1 ... 99 100 [101] 102 103 ... 317
1501
« on: November 29, 2012, 12:22:53 pm »
Wow, those sprites are great o.o Do you mind if I look for a way to speed up your grayscale, though? (it will be a few days, probably, before I can work on that, though). 1) Is that possible to display text on a specified buffer ?
No, there isn't a way to do that, sorry .__. When I need to draw text on another buffer, I do this: Disp 'pi9872 ;or whatever the buffer is Text(0,0,"Stuff Disp 'pi9340 ;Or whatever your main buffer is.
2) Is that possible to archive the data program, and run a subroutine inside while it is archived ?
Unfortunately, no, again :[ However, I will point out that you can convert all the hex (sprites?) directly to data and store all the sprites in an appvar. This will save some memory and slightly speed up sprite display.
1502
« on: November 29, 2012, 06:38:27 am »
That looks really cool! Great job, so far
1503
« on: November 29, 2012, 06:33:22 am »
tr1p1ea: You are awesome Also, there is almost an identical "Australian English" comment over on TI|BD that was made years ago, so I got a laugh out of it
1504
« on: November 28, 2012, 06:52:44 pm »
Hi Mercolify! I was going to suggest KermM's book for TI-BASIC. We also have a bunch of tutorials in the community on this site and others. TIBasicDeveloper has a huge compilation of info on BASIC, as well, but Omnimaga is the Goto place for Axe coding. * Xeda112358 likes programming jokes
1505
« on: November 28, 2012, 01:09:30 pm »
Yay, an update. Boba Foxx from TIBD gave the idea of using a factorial token "!" as a prefix in Str1 to tell the program to read a line. The program is now 334 bytes and is able to read/write to lines of code in the program. Now it is super useful
1506
« on: November 28, 2012, 07:57:08 am »
Warning: I'm not an Axe programmer Basically what you can do is store all of the coordinates in order as data. Brackets are one way to do it, but then you have to convert all your coordinates to hex. Instead, use Data(. For example: Data(1,9,25,9,25,1,25,9,3,4,4,4,...→A
Now you can run a For( loop to draw all your lines. I am not sure if this will work, but I think you will get the idea: Data(1,9,25,9,25,1,25,9,3,4,4,4,...)-1→A For(53 ;number of lines you have, I think Line({A++},{A++},{A++},{A++}) End EDIT: If Jacobly doesn't get around to it, this is the even more optimised version he gave on IRC: Data(1,9,25,9,25,1,25,9,3,4,4,4,...)-2→A For(53 ;number of lines you have, I think Line({A+2→A}r,/256,{A+2}r,/256 End
1507
« on: November 27, 2012, 11:14:59 pm »
I got this idea from Deep Thought, I modified it slightly, but I need some input: This might be hard, but how about writing back a string to a label in the program? Something like
:Lbl 0 :{1,1,2,3 :Lbl 1 :Ans→L₁ :"{1,3,4,7→Str1 :"0,1 :Asm(SMC
True SMC in BASIC is something we have yet to see
I modified the syntax to be more easily used by BASIC programmers (I hope), so here is what I have: prgmLBLLINER is "Label Line Read" and will let you read a line at the offset of a label. Str1 contains the name of the label, followed by a colon (sorry). Ans contains the line number to read. If Ans is zero, this program will instead return how many lines there are until the end of the program. So for example: "MD:→Str1 3 Asm(prgmLBLLINER Pause Ans Return Lbl MD Bulbasaur Ivysaur Venusaur ...
This code will return "Venusaur" in Ans. prgmLBLLINEW is "Label Line Write" and will let you replace a line after a label. The syntax is the same as before, except the data to replace with follows the colon. If there is nothing after the colon, the line is made empty. For example: "MD:!PEANUTS→Str1 3 Asm(prgmLBLLINEW Return Lbl MD Bulbasaur Ivysaur Venusaur ...
That code will change the line reading "Venusaur" to "!PEANUTS" Also, setting Ans to zero as the input will return the number of lines left in the program after the label. So here is my question... Alone, these programs are 204 and 285 bytes respectively. However, they share almost all the same code, so combined it would be a little over 300 bytes. I was thinking that having a decimal part in Ans (like 3.1) could tell the program to read a line, and no decimal part would tell it to overwrite a line. Does this sound like a good syntax? EDIT: Also, that quote came from my hex opcodes topic. If you want the hex opcodes for these, be prepared to input a long code EDIT2: See below for an updated version!
1508
« on: November 27, 2012, 08:24:37 am »
In a future update, I should include: Edit Lock/Unlock ProgramsEFD74AFE04C03CEB4E234623117884121CEDB0AF12EFF142D8EE0377C9 Put the name of the program in Ans, if it exists, this will toggle the lock status of the program. Maybe I should also make a Hide/Unhide code and a short code to toggle between appvars and programs. These two, however, would require that I check for duplicates, so the code would get even more involved. EDIT:This might be hard, but how about writing back a string to a label in the program? Something like
:Lbl 0 :{1,1,2,3 :Lbl 1 :Ans?L? :"{1,3,4,7?Str1 :"0,1 :Asm(SMC
True SMC in BASIC is something we have yet to see
Almost two years ago, but... I do not have the opcode for this one since the programs are pretty big, opcode-wise, but I finally made it I think it is rather snazzy as well. Also, I am not content with this being the final version When I do finalise it, I will put it in the hex opcodes list. EDIT2: This is more for Axe programmers. I looked back at this post and felt that I should update it. I created a much better routine for Grammer and BatLib that I have adapted for Axe. It is now much faster and it works with relative addresses. Also, it recognises negative numbers: To store to Ans and make use of numbers greater than 9999, then you would need a code that looks kind of like this:
7EE5E60FCB3FF53C4F060009EB606822B48423F130061AE60FCDB54E1AE6F007070707CDB54E1B0D79B720EAE111090019ED5BB4847BC9 D5E5CD804EED5BB4841922B484E13E0ACD804ED1C9 EB0608210000290730011910F9C9
Do not use that because that only works in a very specific context, but that is what the code looks like in BatLib. I am not sure how to translate that to Axe because it uses calls.
Anywho, the OS bcall EFEF4A does not convert numbers >9999, but EF9247 can store numbers up to 65535.
Blegh, such an inefficient code Anyways, these 70 bytes can go in Axe, in-line, using Asm( EFD74A2178847EE680F5237ED68011000038284704237E07070707E5626B29291929EBE1E60F835F30011405280D3E80A8280847077E38E32318DBF128077B2F5F7A2F5713EB It is a bit big, but it works. Plus, it can be easily adapted further to make it easy to read list elements, so if you want to pass a list to your Axe program (for a library, for example), you can.
1509
« on: November 26, 2012, 06:40:16 pm »
Well, I found a few bugs and I've no clue how they got there since I specifically addressed them in the last update. Anyways, GetName was almost completely broken. It wasn't returning names properly in many cases and it was returning the wrong sizes for archived vars (I know how that bug snuck in... I optimised something and forgot to update something else). Anyways, I decided to fix the command and then update it a bit to make things worthwhile - GetName now returns a decimal value in theta of precisely .1 if the program is archived.
- GetName now returns custom list names in a syntax BASIC users are more familiar with
- CopyProg (the command) now accepts the little L for custom lists in its name syntax.
Unfortunately, the cost of this was 52 bytes of code in all, bringing the total to 759 bytes :[ On the other hand, it makes things much easier/better when using the program for a shell >.>
1510
« on: November 26, 2012, 04:34:00 pm »
Nice text and that isometric map is awesome! I like the door opening so much, too O_O
1511
« on: November 26, 2012, 11:39:47 am »
I won't have time to be on a team for a while, but I can offer some random help every now and then.
1512
« on: November 26, 2012, 08:44:07 am »
Make some picture, then play with cycle It has been a while since I did that, so I wonder if it can manage grayscale >.>
1513
« on: November 26, 2012, 08:00:19 am »
^Check Tifreakware, they're supposed to be the tutorial king. Also, a pdf of TI's official manual might not be a bad idea if you don't own a hard copy.
This is definitely a must
1514
« on: November 25, 2012, 08:29:06 pm »
That looks pretty gorgeous o.o
1515
« on: November 25, 2012, 08:20:09 pm »
I am not sure where a good one can be found, but if you want to experiment in the meantime, try TIBasicDeveloper and remember that there are specific types of "End" like EndIf, EndWhile, EndFor. Further, you can use vars like this: 32→abc. And you need to close parentheses on the 89, but it doesn't matter since the programs get pre-crunched when they are run (basically, it converts the code to a different format, usually cutting down on size. Oh, and lists are read like list1[element] instead of using ()
EDIT: To add to DrDnar's post: And sprites!
Pages: 1 ... 99 100 [101] 102 103 ... 317
|