136
Axe / Re: Guts of a program editor
« on: September 26, 2019, 06:32:44 pm »
That menu looks so nice in your editor example! I'm about an hour from being able to actually check it out, but it all looks fantastic so far!
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. 136
Axe / Re: Guts of a program editor« on: September 26, 2019, 06:32:44 pm »
That menu looks so nice in your editor example! I'm about an hour from being able to actually check it out, but it all looks fantastic so far!
137
TI-BASIC / Re: How to obtain the id of a calculator for program security?« on: September 22, 2019, 09:16:54 am »
I don't believe that there is an easy way. You would need an assembly program, but it would need to enable flash protection (non-trivial) in order to read those bytes. Once that is done, though, it is pretty easy to get in assembly code, see WikiTI.
138
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!« on: September 21, 2019, 07:19:54 pm »
Here is an optimized p_LineShr routine. NOTE: It flips the meaning of the carry flag on output, so the line routines that use this will need to ret c instead of ret nc.
Code: [Select] p_LineShr: Optimized routine: -4 bytes, -13cc Code: [Select] p_LineShr: Or this version, it only save 3 bytes, but saves 10 more clock cycles: Code: [Select] p_LineShr:
139
Grammer / Re: Grammer 2-The APP« on: September 19, 2019, 07:39:33 pm »
This is just a quick update! I tracked down a critical bug in Grammer that has been around for a few of the mini releases (probably since last year). Send( was returning the wrong pointer, so if you started writing bytes to a file, you would almost certainly end up corrupting variables in RAM. Anyways, the link in the previous post now points to the corrected version
![]() 140
Grammer / Re: Grammer 2-The APP« on: September 13, 2019, 08:14:30 pm »
Hey folks, have the first official update in over seven years!
Since the last update, I've optimized some more and added in filled circle routines internally. With that, there are now 12 circle drawing methods, with various borders and fills (between white/black/invert/clear). ![]() Download Grammer v2.50.6.3 ![]() 141
Grammer / Re: Latest Grammer Updates« on: September 13, 2019, 08:08:50 pm »
EDIT: Updated this download with a critical bugfix with the Send( command. Was v2.50.6.3.
EDIT2: Yet more important bugs were fixed, now we are graduating to 2.50.6.7 for this update :| Grammer v2.50.6.4 There have been many updates, importantly the version naming convention. In the past, the Grammer version was identified by the date that it was made. Now it is separated into 2.major.minor.veryminor. Updates: This is NOT an exhaustive list.
To the language:
Here are some screenshots: ![]() ![]() ![]() 142
ASM / Re: ASM Optimized routines« on: September 10, 2019, 06:18:29 pm »
Here is a circle routine that I made!
Code: [Select] ;Written by Zeda Thomas, free to use. The really cool feature about this is that you can define a custom plot routine pointed to by IX, so it isn't TI-specific, and you can do all sorts of wonky things like:Draw 2x2 pixels: ![]() Code: [Select] ;calling with `ld ix,pixelOn_2x2` Or draw a circle whose "pixels" are circles: ![]() Code: [Select] ;calling with `ld ix,pixelOn_circle` EDIT: I inlined some subroutines because there was no reason to have them called. It was a waste of clock cycles and space!EDIT: Have a separate, filled rectangle routine! Note that if you pass the same arguments as the regular circle routine, this only draws the inside part and skips the border. Code: [Select] ;Written by Zeda Thomas, free to use.
143
Super Smash Bros. Open / Re: [Axe] Super Smash Bros. Open« on: September 09, 2019, 09:25:05 pm »
So far as I can tell, the latest version is here, but it is incomplete (they note in the readme that some of the attacks might not work, for example). Hayleia is still around in the calc programming community, but I don't think that they do any calc programming anymore.
144
Grammer / Re: Grammer 2-The APP« on: September 05, 2019, 08:16:30 pm »
Minor update to the above.
The menu routine is now more efficient on scrolling. I did actually take advantage of the "rectangle shift up/down" routines so now it makes fewer calls to the Grammer routines, improving performance. Here is what it looks like now: ![]() I also remade the rectangle routines. It is 112 bytes larger, but it is cleaner code, uses 4 bytes of already allocated RAM instead of 24 bytes of specially allocated RAM, and doesn't use shadow registers (so it doesn't need to disable interrupts). As well, I added two new methods-- they both invert the border, but one clears the inside, the other sets it to black. I have no idea why that might ever be desirable, but I have all the other methods of setting the border and fill to black/white/clear/invert, so why not? (and it didn't add much to the code). Now I just need to add in left/right rectangle shifts and world domination will be mine. Attached is the .8xk for those who need the latest. 145
Other Discussions / Re: Pokemon Amber« on: September 05, 2019, 06:48:20 pm »
It turns out that I actually used a lot of the code in the OmniRPG project to get a mockup and the source was available for that. The Pokemon Amber project is essentially dead, but I did look through the code and try to get it up and running. The code was super convoluted and poorly documented, so it would have been difficult to expand upon.
However, it did inspire me to work on an RPG engine (also incomplete) if you are ever feeling motivated! Here's an up-to-date .gif of the example for the project: ![]() You can see the coordinates in the upper right that are on for debugging, and the name input leaves a lot to be desired (in fact, it doesn't even work yet ![]() 146
General Calculator Help / Re: TI-89 and TI-Connect Not working after TiLP install« on: September 04, 2019, 09:29:29 pm »
Yes, TiLP does let you load programs onto your calc.
I think you need to upgrade your OS if you want to run the program that you are trying to download. Unfortunately, TI's site only has v3.10 (for the 89 Titanium). You'll probably need to email them to obtain a copy of OS 2.09 for the basic TI-89. 147
General Calculator Help / Re: TTI-89 and TI-Connect Not working after TiLP install« on: September 04, 2019, 11:05:33 am »
I don't know how to help, unfortunately. But for the sake of the next person who might know:
I haven't used TIConnect in years, but I think there might be a new version since that page was updated. I find TiLP to be a bit more reliable, so I've just stuck with that ![]() 148
Grammer / Re: Grammer 2-The APP« on: September 03, 2019, 02:21:54 pm »
There are perks to both languages, that's for sure. I think Grammer is better for higher-level stuff, and Axe is better for faster, lower level stuff.
EDIT: Here is what the fancy menu looks like now: ![]() For this one, each of the items is generated on-the-fly by a Grammer subroutine, and that contributes to it's slowness. It has to execute the subroutine every time the user moves up or down, as well as whenever an element is generated. In this implementation, every time the menu scrolls, it has to generate all of the elements from scratch. I might make it just scroll the contents up or down and generate a single item instead of the whole thing, but that's for future work. At least Grammer already has code for shifting rectangular regions of the screen up or down!. 149
Grammer / Re: Grammer 2-The APP« on: September 03, 2019, 12:46:32 am »
Grammer now has proper support for big sprites! With the Pt-Off( command, you can now specify a width argument and it will actually work (with proper clipping, too).
I also totally overhauled the Menu( command. On the surface, it will look largely the same, except that now it allows scrolling if their are too many elements. Internally, it requires a much smaller memory footprint and has a more powerful menu interface. To take advantage of this, I added the Menu(' command. With this one, you can supply two Grammer subroutines to compute the outputs. The syntax looks like: Code: [Select] Menu('"Title",y,x,height,width,GET_ELEMENT_ptr,SELECT_ELEMENT_ptr The subroutine for GET_ELEMENT will receive the index in Ans. Return 0 if it is out-of-bounds, else return a pointer to the string to display. The subroutine for SELECT_ELEMENT will receive the index in Ans. Modify this as you want, the result will be returned as the result of the menu. 0 is returned if the menu exited due to [CLEAR] or [ON]. An example is:Code: [Select] Lbl "GET→A That will display items with the name "ITEM A" through "ITEM Z".
150
TI Calculators / Re: Downgrading OS if nLaunchy is already present« on: August 29, 2019, 10:17:51 am »
As far as I can tell, once you have had 4.5.1, you will need to wait for a new exploit to be found (and that can take a long while).
|
|
|