Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Zingzing wrote:
Is there any way this can be made compatible for other calculators?

In short: no there's no easy way.
The biggest reason is because KryptonIDE requires the C libraries, which are only compatible with the CE. To port this program to any other 84 type calculator would require the author to make the program in an entirely different language (ASM probably).

Even if this program was already written in ASM, it still wouldn't be easy because of the different processors the TI 84 Plus CE and the TI 84 Plus (CSE) have. Every TI 84 Plus (CSE) type calculator has a z80 processor which runs z80 assembly. The CE however was upgraded with a new processor, a ez80. Although the names are very similar and, from what I've heard, the actual ez80 ASM code isn't incredibly different from regular z80. It's different enough that no program written in ez80 ASM will run on a z80 processor and vice versa. (Well, there is a person that's making a program that'll let you run z80 games on a ez80, but that doesn't help anyone trying to run an ez80 game on their z80 calculator.)

The final reason this wouldn't work on a monochrome calculator is because the screens are obviously completely different. Any monochrome calculator can't automatically convert a color into grey scale. Also, the resolutions are different so that also messes things up.

I hope I explained everything well! Smile
You know, KryptonicDragon, If you could implement a "backdoor" into KryptonIDE. (i.e a way to load and edit a program in the editor from another program or shell *cough* NOS *cough*), I would implement an edit function into NOS that would use KryptonIDE (if it is installed or provide it as a download with NOS). Just a thought for improvements!
Can you support external line numbers when launched externally too? So the below two would be perfectly valid:

Goes to token offset 22:

Code:
"AAAA:22":prgmKEDIT


Goes to token offset 0:

Code:
"AAAA":prgmKEDIT


These are token offsets not character offsets. Thanks! Smile Cesium has support for both of these now.
Oops.
Just posting to let everyone know that neither I, nor the project is dead. (Though that isn't a surprise to anyone that's chatted in the Cemetech IRC recently)
I apologize for not giving proper notice, but I had decided to take a break from working on KryptonIDE until summer break, I don't like working on programming projects without a good amount of time to work without interruptions, so school simply wasn't going to let me have enough focus to work on KryptonIDE.

So, yes, I am still working on KryptonIDE, and yes, I do plan on completing it.
As for the next release, I plan on releasing a beta that should actually be usable sometime next Friday (the 10th).
From there I will continue adding features and fixing bugs to arrive at a normal, fully-featured release.

There will be another post in this thread soon, detailing all the features I've added during my absence.
This is gonna be a long one, have fun reading it and possibly having an epileptic seizure from all the animated PNGs (please don't).
Most (not all) of the things I've added/changed in KryptonIDE:

[00:] Main menu has been changed.
The main menu now shows a clock and battery status, and I've stripped out a few of the "shell-like" features that were there before, since pretty much everyone with a +CE uses Cesium or some other shell that already has those features, and you don't need that code to be taking up extra space.
Now, the main menu presents a list of programs immediately, asking for you to select a program to edit. You can also create a new program or delete an existing one, but for anything else, use your shell.


[01:] A way to immediately launch KryptonIDE into editing a program.
If you put the name of a program into the ANS var, KryptonIDE will attempt to open the editor directly to that program.
You can also specify a token offset with a number after a colon after the program name, and the editor will move your caret to that offset upon entry.
For example: "PROGRAM":prgmKEDIT will launch KryptonIDE straight into editing "PROGRAM". "PROGRAM:142" will launch KryptonIDE straight into editing "PROGRAM", and move the caret to after the 142nd token.


[02:] Scrolling up actually works!
In the (now very, very outdated) beta I posted a while ago, scrolling up apparently didn't work, at all. Oops. I promise it works now, here, look:



[03:] Editor looks different.
The editor now has a header which shows a clock and battery status, the name of the program you are currently editing, and the size (in bytes of course) of the program you are currently editing. (Yes, the size is updated in real time, and so is the clock).


[04:] Function menus in the editor.
The editor now has three function menus, File, Edit, and Goto. The options in the menus are:

<File> :
Open... : Does nothing right now.
Save : Saves the program you're currently editing.
Save As : Prompts for a program name and saves to that program instead.

[b] <Edit> : [/b]Everything in this menu doesn't do anything, yet.
[b][b] <Goto>[/b][/b] :
Goto Label... : Lists all the names of the Lbls in your program and allows you to jump to their locations. (Like the feature in PHASM, if anyone every used that shell.)
Goto Line... : Prompts you for a line number and moves your caret to that line. Line numbers start at 1 since that's how TI-OS does it.
Goto Start : Brings your caret all the way to the beginning of the program.
Goto End : Brings your caret all the way to the end of the program.

Here's the menus:


Save As:


Goto Label:


Goto Line:


Goto Start and Goto End:


[05:] I added a bunch of token menus, there are still quite a few missing ones, but you should have most of the ones you'd want to use right now.

[06:] Editor now has a save prompt upon attempting to exit (The prompt can be disabled in the settings menu)


[07:] Battery icon colors are customizable in the settings menu.
Here you see a dark theme battery:


Here you see a battery with colors that no one could possibly use:


[08:] Custom fonts!
You can now tell KryptonIDE to load a font from an appvar. The font data should be formatted in the exact same way you would format it if using the C Libraries function "gfx_SetFontData()". KryptonIDE will treat the data as compressed and attempt to decompress it before loading if the data is smaller than 2048 bytes.
(Note that in the demo, the fonts appear to shift over a few pixels, that's not KryptonIDE's fault, it's just because I messed up the fonts, oops.)


[09:] KryptonIDE will hide itself from the program list. Well, not right now. It will in the next version of the C Libs (8.4), but right now, KryptonIDE uses version 8.3.

[10:] Caret blink rate setting.
You can change how fast your caret blinks in the editor tab of the settings menu.
Either have it blink so fast that it distracts you from forming any thoughts:

Or so slow that you will keep forgetting where it even is:


[11:] Font test menu looks neater
It's no longer a screen with characters tossed onto it:



[12:] Token menu colors.
Token menus now respect your [s]horrible[/s] fantastic sense of fashion, and will follow the colors you have chosen for the editor:



[NOTE 00:] The battery status is updated every three minutes, so if you notice a slight stutter/freeze or the charging LEDs go ham every three minutes whilst in KryptonIDE, that's why.
[NOTE 01:] Right now, the APD (Auto Power-Down) is disabled when in KryptonIDE to prevent crashing, so, don't leave your calculator on inside KryptonIDE if you don't want to drain your battery. I'll be adding something to turn the LCD off after an idle time soon.
[NOTE 02:] Right now, the editor doesn't auto save like the TI editor does, so remember to do an [F1], Save every now and then. I'll be adding an auto save soon.
[NOTE 03:] The sizes shown in the editor are for how many bytes are in the program, not for the size of the program itself. So the program you're editing takes up a few more bytes in RAM/Archive than the number shown in the editor. (You can see the actual size of the program in the main menu, though.)

As promised, a release is coming on Friday the 10th.
Just, uh, remind me on IRC, maybe. It's entirely possible that I might forget, I mean, I did just stay up the entire night, from sunset to sunrise, programming and writing this post, so I don't know how my memory will serve.
Wow thatís one huge update!! This looks really awesome, I canít wait to try it.
Awesome work! Looking forward to it Smile

KryptonicDragon wrote:
[09:] KryptonIDE will hide itself from the program list. Well, not right now. It will in the next version of the C Libs (8.4), but right now, KryptonIDE uses version 8.3.

Please don't do this. Hidden programs do not work well with the OS.
Great work so far! Your long break was worth it! Razz
I've been wondering, does [2nd]+[rcl] work?
Can you add a way to do some simple math in-editor? Sometimes I need to do a quick calculation but don't want to exit the editor. #TotalyNotLazy

Now get some sleep!
TheLastMillennial wrote:

Can you add a way to do some simple math in-editor? Sometimes I need to do a quick calculation but don't want to exit the editor. #TotalyNotLazy

Now get some sleep!


SAME!! I use that mostly when trying to center text in ICE Razz
MateoConLechuga wrote:
Awesome work! Looking forward to it Smile

KryptonicDragon wrote:
[09:] KryptonIDE will hide itself from the program list. Well, not right now. It will in the next version of the C Libs (8.4), but right now, KryptonIDE uses version 8.3.

Please don't do this. Hidden programs do not work well with the OS.


I'm talking about KryptonIDE hiding itself from it's own program list. :3
I've added in autosave, which can be turned off and have it's interval adjusted.
I'd advise against turning autosave off for now, since you'll probably find a bug I missed somewhere.

You can also hide compiled programs now:
Thanks to MateoC, KryptonIDE now has integration with Cesium!

You can open a program to edit from Cesium:


Or, even better, if you run a TI-BASIC program from Cesium and it errors, choosing "Goto" will bring you to the line/token which caused the error... in KryptonIDE!


Cesium has just updated with these neat features, but you'll have to wait for KryptonIDE. Smile
I've added part of the RCL ([2nd]+[sto]) menu.
Right now it can only handle recalling other programs, but, well, let's say that it's SIGNIFICANTLY faster than TI-OS at doing so.

How much faster?
Well, I timed TI-OS and KryptonIDE doing the same thing; copying the contents of AAEDITOR into TEST.
TI-OS Time: 15.2 seconds.
KryptonIDE Time: 2.8 seconds.

No, I'm not faking those numbers.
See for yourself (note that I started my timer before hitting any keys, so before opening the RCL menu):
TI-OS:


KryptonIDE:



What's that? You want more benchmarks?
Fine. I'll give you one more.
KryptonIDE deletes stuff significantly faster than TI-OS does.
Here's me holding down [DEL] in KryptonIDE:


And here's me holding down [DEL] in TI-OS:


I didn't even have the patience to wait until the entire program was deleted in the TIOS editor, it's obvious that it would have taken forever.
Hey, release time!
Sorry it's a bit late, had to stay up early in the morning to fix a few bugs.
EDIT: New version: Beta 16:
https://drive.google.com/open?id=1b28WnAZQm4R6BTHyKlUxz5YuOLhD-Ipb

I didn't have enough time to fully bug-test, but that's what a beta is for, so here, enjoy beta version 13!
[OLD VERSION]
https://drive.google.com/open?id=1mbwfgMfxN0Zk1z-Hc9BirocMvrbMfucb

Report bugs, and give suggestions here in the thread, please!
You were a few minutes late?! C'mon get your act together!
Just Joking
I'd rather it be late than be horrible.

Bugs:

  • Got a crash the moment I exited settings after changing them.
    This Debug message said "slot for save returned null". All I did was change some color settings, and turned on Syntax highlighting.
    I also got this bug when I selected 'settings...' under the [prgm] and 'hub' menu. (That only occured once though, I think this has to do with a nonexistant save appvar?)
    Funny thing is though, my settings were saved once I started up the program again.
  • When I select exit when editing a program and the prompt to save appears, the 'no' and 'cancel' selections don't seem to be drawn until I move the cursor over them.
  • During the the above menu, the calculator fell asleep and froze the program.
  • Many tokens are not properly placed when you press [2nd] then, say [7]. Instead of pasting a 'u' it pastes 'ZXscl'. Some are just replaced with a '?'.



A few things I think could improve it.
  • Fewer bugs Razz
  • In the About section, you say to contact you with any suggestions, but you don't give an email address or any way to really contact you.
  • 2nd is used in some places as a substitute for enter, but not in others. It'd be nice if you could allow 2nd when selecting things in menus all the time.
  • Could you make [2nd]+[alpha] quickly scroll through code? Even if it jumps an entire page, it'd be kinda nice to quickly scroll.
  • Not sure if this is a bug, but the 'exec' menu isn't there under [prgm] so you cant paste program names in the code.
  • The double arrow thingies under [math] and 'frac' can definitely be improved, they look really wierd.
  • A catalog (though I think you're already working on that right?)

Great Program! I'll be doing a lot more on-calc programming now Smile .

Bugs I Encountered:
I did find the same bugs from TLM's first two bullets.

I opened my Oregon Trail CE source file (OSOURCE), pressed prgm, exited out of that menu, pressed settings, exited again, and then pressed save and yes. An error screen popped up reporting "slot for save returned null".

Other than that, the IDE is amazing! Good luck on fixing bugs![b]
I've gone through and fixed some bugs, here's beta v14:
https://drive.google.com/open?id=1XhwC8YD_OiI4rR2Rr5prV3fDLxnRt88q


  • Got a crash the moment I exited settings after changing them.
    This Debug message said "slot for save returned null". All I did was change some color settings, and turned on Syntax highlighting.
    I also got this bug when I selected 'settings...' under the [prgm] and 'hub' menu. (That only occured once though, I think this has to do with a nonexistant save appvar?)

I haven't fixed this yet, though I found an issue with a lacking debounce when exiting the settings menu, back to the editor. I think what really happened here was that while you were exiting the settings menu, it also tried to exit the editor (because you're a human and was still holding down the [Clear] or [F5] key when it got back into the editor).
I wasn't able to replicate the issue, try and find a more specific/reliable method of triggering this error, to make it easier for me to debug and fix.

  • When I select exit when editing a program and the prompt to save appears, the 'no' and 'cancel' selections don't seem to be drawn until I move the cursor over them.

This was an issue with custom colors, I fixed it.

  • During the the above menu, the calculator fell asleep and froze the program.

I don't know how the calculator fell asleep; one of the very first things KryptonIDE does upon entering the program is disable the APD (it is later re-activated upon exit).
This might be an issue with your calc? IDK.

  • Many tokens are not properly placed when you press [2nd] then, say [7]. Instead of pasting a 'u' it pastes 'ZXscl'. Some are just replaced with a '?'.

The array for all the [2nd] tokens was messed up, and was throwing zeroes around everywhere (the ? marks), I've fixed it.

  • Fewer bugs Razz

Working on it Smile

  • In the About section, you say to contact you with any suggestions, but you don't give an email address or any way to really contact you.

Eh, I'll do it later (sometime before a 1.0 release).

  • 2nd is used in some places as a substitute for enter, but not in others. It'd be nice if you could allow 2nd when selecting things in menus all the time.

I intend to make [2nd] act just like [Enter] in as many places as possible, I've probably just missed a few areas. Let me know which menus [2nd] doesn't work as [Enter] and I'll fix them./

  • Could you make [2nd]+[alpha] quickly scroll through code? Even if it jumps an entire page, it'd be kinda nice to quickly scroll.

Working on it, but it'll be a bit later.

  • Not sure if this is a bug, but the 'exec' menu isn't there under [prgm] so you cant paste program names in the code.

I added the prgm token itself to the [prgm] menu under the EXEC tab, so you'll still have to type in the program name, but I'll add in a normal program list under the EXEC tab soon/

  • The double arrow thingies under [math] and 'frac' can definitely be improved, they look really wierd.

That's just because the font I made followed the format of the 83+, which doesn't use the thick division bar (fraction bar) that TI-OS uses, so it's missing the fraction bar in the font. I'll add that in soon.

  • A catalog (though I think you're already working on that right?)

You see, I was working on a catalog, but there is an issue.
Grabbing catalog help/token data from the OS is too difficult to be feasible, so I would have to make my own catalog.
That means that I would have to go through every single entry in the catalog and steal the help and token data, format that into data that KryptonIDE could use, (or write a program that steals the catalog data for me), and put that data somewhere.
KryptonIDE is already ~32KB (though, compression isn't enabled for beta builds, it's somewhere around 20KB when compressed), so I don't want to bloat it anymore with catalog data.
That catalog data could go into the data appvar, but again, that'd take space.

The solution, for me, is simple: Don't add a catalog.
What I plan on doing instead is having a menu similar to the catalog, that alphabetically sorts all the tokens in the editor (by grabbing them from the token data of other token-menus) and lets you paste them in, but it wouldn't have any help data.

TL;DR: Adding the catalog to KryptonIDE would take lots of space and require lots of effort.
In the string menu in the Vars menu, all of the entries are corrupted, and clicking on most of them causes the calc to freeze, crash, or take an unbelievably long time to paste stuff from the menu.
Might be a problem with entry lengths?
Screenshot:


AMAZING EDITOR THOUGH!!! Very Happy
beckadamtheinventor wrote:
In the string menu in the Vars menu, all of the entries are corrupted, and clicking on most of them causes the calc to freeze, crash, or take an unbelievably long time to paste stuff from the menu.
Might be a problem with entry lengths?
Screenshot:


AMAZING EDITOR THOUGH!!! Very Happy



hehe, oops.
I never finished that menu, it's reading undefined data from unmapped memory.
I'll have that fixed in the next release.
Oh yay, this is awesome! I can even activate the classic green-on-black code editing!



I do have a suggestion, make it so that when you switch the foreground color and background color in settings, it changes throughout the whole program. Also, I had trouble seeing things when I accidentally set the colors to the same color, maybe you can prevent that or something? Anyways, great program so far!
  
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 5 of 7
» All times are GMT - 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