What kind of functions would you like to see next?
Math functions
 20%  [ 2 ]
Program Sprite Functions
 80%  [ 8 ]
Total Votes : 10

I have just release a side project that I've been working on: a macOS themed library that not only includes some sick graphics, but also a lot of beneficial shortcuts that MANY beginning toolchain users struggle to implement (an example is getting numerical user input that supports deleting characters, etc., printing doubles, etc.).

Link to download library: Iron XCoder

GitHub Repo Link

If any of y'all have any suggestions on functions that y'all think would be great to have or if you are a beginner yourself and would like someone to create a shortcut for you, please don't hesitate to tell me!

Source Code: literally provided with the library!

As MateoC loves to tell me and I will now tell you, PLEASE READ THE README!!!
Hey Bob, I think your using the wrong word here you should be using "library" not "toolchain".
What you seem to be working on is a library, not a toolchain. Libraries provide helper functions other programs can use, a toolchain is something you build code with.

Also, I'm saddened you didn't go for the low-hanging MonTIrey fruit. Not to mention that since we don't know the legalities attached to use of the literal name of the Apple OS, making a slight change like that can help there somewhat.
I think we shouldn't get too caught up on the naming here--this is a great idea, and I look forward to see what you'll do with it.

If you need any help, please don't hesitate to reach out to me, after making OPTIX 3 I'd like to think I know a thing or two about GUI libraries.

One thing that I would like to see is generic character input and graphical routines (rendering buttons, text, etc. at different locations with different styling), as speaking from personal experience when I was getting started with simple graphical programs for the CE, those were the most difficult and often had to be unnecessarily repeated. It's nice to have standardized routines for handling them.

Good luck, if your progress on GrannySmithOS is any indication you're more than capable of making this a reality.

EDIT: For the curious, the naming was from this post by DrDnar.
ACagliano wrote:
What you seem to be working on is a library, not a toolchain. Libraries provide helper functions other programs can use, a toolchain is something you build code with.

Also, I'm saddened you didn't go for the low-hanging MonTIrey fruit. Not to mention that since we don't know the legalities attached to use of the literal name of the Apple OS, making a slight change like that can help there somewhat.


Yeah, lol! I made the necessary changes!
epsilon5 wrote:

Good luck, if your progress on GrannySmithOS is any indication you're more than capable of making this a reality.

EDIT: For the curious, the naming was from this post by DrDnar.


Thanks epsilon! And yes, I just couldn't help using DrDnar's suggested naming, it was just too good to let go! Very Happy
epsilon5 wrote:

One thing that I would like to see is generic character input and graphical routines (rendering buttons, text, etc. at different locations with different styling), as speaking from personal experience when I was getting started with simple graphical programs for the CE, those were the most difficult and often had to be unnecessarily repeated. It's nice to have standardized routines for handling them.


Lol, I've actually started doing a generic character input routine and it's almost complete. Right now I have an integer and double input routine in gfx. But I kinda want to know more about what you mean by graphical routines. Like I've already made a generic notification routine in the first release that displays a notification such as an error anywhere on the screen. But I'm really curious about knowing more about the button rendering. Do you just mean style and location or also 'clickability' (I can't seem to find a better word, lol)?
Does this actually support the TI-84 Plus CSE? Programs that use the CE C toolchain aren't compatible with it, they have completely different architectures.

I also can't really say that I like the license on it:
Quote:
License Information: This toolchain is free for all TI-84 Plus CE and TI-84 Plus C Silver Edition Developers. If you use any part of this toolchain (in whole or in part) either through copying any portion of the toolchain or using these functions, you must credit the author and creator (Jonathan Khayat 'Bob Smith') in your readme.txt AND in your program. You must also provide the following link and text BOTH in the readme.txt and program: "Check out GrannySmithOS: ceme.tech.com/DL2279". Copying any portion of this toolchain includes copying and editing, regardless of how different the editing renders the function.

Making users credit the library author is fine, but in my opinion requiring them to advertise one of the creator's other projects is a bit unreasonable. And I suppose that this isn't a concern for a library with only graphics functions in it, but for some types of programs (particularly those that just take an input in a variable and then output into another variable, especially intended to be called from a TI-BASIC program) it's not really possible to include text inside of the program itself. I suppose that you could just embed the string into the program using an extra linker command, but nobody would ever actually read that unless they were reverse-engineering your program.

Additionally, OS_TYPE_PRGM does not guarantee that a program is a TI-BASIC program, and OS_TYPE_PROT_PRGM does not guarantee that a program is a native program. For example, TI-BASIC programs locked using TI Connect™ or Cesium are of type OS_TYPE_PROT_PRGM, and there are also some assembly programs such as ASMHOOK that are type OS_TYPE_PRGM in order to get around restrictions in the TI Connect™ CE App for Chrome OS™ Operating System. Instead of checking the type of the variable, you should instead check if the first two bytes of the program are the Asm84CEPrgm token.
commandblockguy wrote:
Does this actually support the TI-84 Plus CSE? Programs that use the CE C toolchain aren't compatible with it, they have completely different architectures.


Well, my friend who has a CSE was able to run C programs completely fine with it.

commandblockguy wrote:
I also can't really say that I like the license on it ...
Making users credit the library author is fine, but in my opinion requiring them to advertise one of the creator's other projects is a bit unreasonable.


I kinda agree that it's a bit unreasonable and also cumbersome when they try to include links and stuff in a program. I'll revise that so that's it's a lot easier to give me credit for the library author. Thanks for letting me know!
Alright, the documentation looks great! Great job on the release!!
Alvajoy123 wrote:
Alright, the documentation looks great! Great job on the release!!


Thanks! I'm working on some more functions and fixed a bug in existing ones, but other than that this is probably the easiest project I have ever completed. (It literally took me like 2 hours!)
For those of y'all that have been active in SAX and Discord, this stuff will definitely be history. Nevertheless, I still like to document stuff and make them official.

Update: Iron XCoder version 15.1 is now released.

What's New:
– Routine to display C and ASM sprites are now included.
– Routine to display C and ASM descriptions are now included.
– Routine to solve right triangles.
– Routine to solve a triangle (includes area and perimeter in calculations).
GitHub readme was added that provides the official documentation of the functions.
– Code optimizations to make functions faster.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement