LoginLogin
Might make SBS readonly: thread

Alternate Program Editor (DEMO)

Root / Submissions / [.]

MZ952Created:
Version:DemonstrationSize:
Load the PRG "FORMAT2" into slot 2 for this to work, sorry forgot to add this. Also, you must have some code in Slot 1 (you can load boguscode into it) so that it doesnt try to manipulate code that doesnt exist. Program currently undergoing major revision, expect the Beta in a couple weeks. Current date: 4/11/16 As the program is in its early production phases, the amount of usable features is limited. However, there are many planned features i will list and by releasing this demo and getting the feel of my program, i hope that some may contribute some ideas they wish to see in it. The idea behind this is to create a full fledged replacement for the original code editor SmileBASIC uses. This is challenging enough, due to all the features present in the original. I am ultimately coding this for myself to use, so it has got to be better than the original. Here are the features and aspects: Alternate minimalistic keyboard, with features necessary for programming. Viewing code on dual screens Touch screen functionality for purposes such as highlighting code, drag and drop, scoll, on screen utilities other than keyboard, et cetera Onscreen calculator for swift, painless number crunching Onscreen note taking (apart from code), can be typed or hand drawn (schematic purposes). A never before seen form of syntax highlighting which can denote loops and conditional statements. Can type code in all RGB colors and Multiple Text Sizes. A toolbar expandable on the lower screen which you can access all the sub-applications like notes, TXT viewer and so on Smart cursor movement Compacting code into labeled folders which can be expandable and manipulated (organization purposes). A command index similar to the one on the default keyboard for speedy typing Select, Cut, Copy and Paste (a necessity). A terminal for executing some code (will most likely run the code you type in a different slot, then return to the main program) An intuitive way for finding that RGB color you want (like a color wheel), most likely a sub-program on the toolbar. Double viewing screen mode (removes keyboard completely, viewing code on two screens), probably mapped to R button or something. A separate double viewing mode where you see even more code on the bottom screen, but are equipped with a smaller keyboard. Unlimited code slots Viewer for graphical images A copy and paste clipboard, for copying and pasting more than a single element of code. Those are my ideas this far. Now, if you avid coders have any suggestions, i'm completely open to them. I'm sure you have a few things you'd change about the smilebasic code editor if you could. A few of you may be concerned about the program running into errors and you losing the portion of code you've worked on. Another feature i plan is an autosave feature, which will slowly export code to a program slot and being imperceptible to the user (when exporting massive amounts of code from the editor, a tremendous delay is caused as the loop runs). I will also map the total export feature to a button or button combination for ease. My program uses line wrapping, each line may be only 40 characters long. You can easily import a program you're working on by loading it into slot 1 and running my program (which should be in slot 0) My program has a simple (but not for very long) form of metadata it uses for things like colors and text size, it is loaded into slot 2. Because my program uses the print function, trying to avoid printing bugs when printing CHR$(10) can be tricky, so, when you import the code into the editor, all instances of CHR$(10) are removed, as well as the text being wrapped 40 characters long. The ENTER character is replaced with CHR$(294), which, in the code editor, functions the same as the enter key. It basically tells the exporting algorithm where to break to the next line of code when un-wrapping the code. My point: make sure you don't have CHR$(294) in your program (its not a commonly used character). Conventional syntax highlighting, as you know it, is most likely not going to be fully implemented. Possibly to an extent, but nothing like the original. You can type text in different sizes and all RGB colors, though it should be known that overuse of this feature does cause graphical artifacts on the console. It may look weird, but no erroring. As of now, i have not completed the keyboard, it only types the letter A (as a debugging test) EDITS: The top screen and the bottom screen will soon act as totally separate, editable screens. You can toggle the two screens using the R button. It will basically allow you to be at two places inside the code at a time. New graphics engine, eliminating most if not all graphical artifacts. Planning more complicated touch capabilities for editing code. Keyboard completed, missing characters will be added to the accessible tool bar. Sound effects added. X Deletes lines A Enters a line B Backspaces in the current line Y Exports (does not work/will error) Stick for fast movement Many improvements for typing text. I cannot stress enough how this application uses line wrapping, to end a line and begin a new one, you must have the CHR$(294) at the end of it, which is provided on the keyboard. If you, for example, type an entire program without any of these characters, your entire program will be exported as a single line of code. Also note that the cursor edits the characters behind it, not the character it seems to be on. In the beta version, the tool bar will be loaded with its minor applications, and a rough version of syntax highlighting should be usable, as well as functional exporting.

Won't let me on Smilebasic Source on my 2DS why?

One recommendation I would have is user-configured button functions. Bugs me so much that B and X do nothing in the default editor. You've chosen some good functions for them, but one thing I've found myself really wanting is spacebar on one of the buttons, when I'm going through and indenting a block of code. Another button function that might be nice is holding down a button and pressing left and right to select code, then releasing the button immediately copies...maybe then pushing the same button again could paste, freeing it up for copy again, or alternatively a second button could be assigned as a dedicated paste. Optionally at the user's discretion , of course. You could even use R and L as modifiers if you hold them down...hold R and press left and right to select, while holding R press A to copy, B to paste, X to cut etc.

Replying to:Unclesporky
One recommendation I would have is user-configured button functions. Bugs me so much that B and X do nothing in the default editor. You've chosen some good functions for them, but one thing I've found myself really wanting is spacebar on one of the buttons, when I'm going through and indenting a block of code. Another button function that might be nice is holding down a button and pressing left and right to select code, then releasing the button immediately copies...maybe then pushing the same button again could paste, freeing it up for copy again, or alternatively a second button could be assigned as a dedicated paste. Optionally at the user's discretion , of course. You could even use R and L as modifiers if you hold them down...hold R and press left and right to select, while holding R press A to copy, B to paste, X to cut etc.
Yes! Intuitive use of the buttons is definitely a good idea! Right now, the only way to change the button functions would be to go into the code and change it manually, but i hope (eventually) to have total and free manipulation and customization of this program. I mean everything, down to the keyboard.

I've managed a syntax highlighter, but there is one major issue. As i had predicted, adding a syntax highlighter would slow down the program and make it stutter. With syntax highlighting, the program is no longer as smooth, and the more syntax sensitive words you use, the more lag the system will experience as you transverse your code. I'm left with two options: 1) Use a higher vsync (which will slow the system, but it manages to somewhat hide the graphical blemishes) and limit the amount of syntax sensitive characters to only the necessities. or 2) Say "screw it", have all the syntax possible, and have a very poor looking code editor. Now, i prefer the first option, as i am designing this for my own use as well, so i must ask you coders, what are the bare necessities for syntax highlighting? Try to make a list. (Edit): Also, don't worry those who want to use this for other languages besides SB, i have this setup specifically for different syntax languages. The syntax data is stored as data under a label "@syndata", which the program reads upon startup.You can write as many of your own syntax sensitive words into the data label. (Edit 2): Holy crap i just had an awesome idea and it works. I've rid the system of the lag when moving and transversing code by simply this: If the user offers no input to the system for a certain amount of time, it then draws the syntax highlights. So, you wont be able to see the highlighting when moving around but if you don't touch the screen or anything for half a second or so it is drawn.

Ok: I downloaded, ran program, pressed down on circle pad and it crashed immediately. This is a bug I think...? EDIT: Ran a few more times, still just crashes no matter if I touch a key or push a button. EDIT 2:Added some random code to sloot 1 and it worked, it just can't start empty I guess.

I tried to run it on a O3DS but it crash when it start up(It say Subscript out of range in 0:327)

Replying to:raimondz
I tried to run it on a O3DS but it crash when it start up(It say Subscript out of range in 0:327)
Add code to SLOT 1. It fixed it for me ;)

Replying to:raimondz
I tried to run it on a O3DS but it crash when it start up(It say Subscript out of range in 0:327)
It worked, thanks

Replying to:Minxrod
Ok: I downloaded, ran program, pressed down on circle pad and it crashed immediately. This is a bug I think...? EDIT: Ran a few more times, still just crashes no matter if I touch a key or push a button. EDIT 2:Added some random code to sloot 1 and it worked, it just can't start empty I guess.
Yes i am aware of the syntax error at 3 sixty something, i meant to remove the key (which i am doing now). To get it to work, you have to basically put this in the beginning of the code: LOAD"PRG2:FORMAT2":LOAD"PRG1:BOGUSCODE" i forgot this. i am completely redoing this program, the code is too sloppy for me and im afraid it will lead to further bugs. Going to improve upon its structure and its means by which it prints its graphics. Sorry about that by the way, i tested it before i uploaded it but i completely forgot that i already had those two prg's in those slots, and my program didnt load them.

Replying to:Minxrod
Ok: I downloaded, ran program, pressed down on circle pad and it crashed immediately. This is a bug I think...? EDIT: Ran a few more times, still just crashes no matter if I touch a key or push a button. EDIT 2:Added some random code to sloot 1 and it worked, it just can't start empty I guess.
You can always just do PRGEDIT 1:PRGSET CHR$(13) :P That would be one enter, then it would be code, bam, empty code too

Is this useful?

Replying to:walorskia
Is this useful?
Useful? For what? What context? I'm not sure what you mean.

And the beta never came :P

hey um can i use this

Replying to:A2D_apps
hey um can i use this
in quicktool +

Replying to:A2D_apps
hey um can i use this
It's unfinished and buggy right now, the developer hasn't even finished the keyboard yet. Also, please remember that there is an edit button on your posts

Is this project dead?

Replying to:Miopasid
Is this project dead?
*Sigh* Yes, this version is deceased. I've made many of versions unpublished after this one with some very fine features. I've been very unproductive with programming lately. I'll see to it completing my latest version however. It's about time I put this project under wraps.

Replying to:Miopasid
Is this project dead?
Aw you should try to finish the keyboard This has so much potential I can't believe I didn't see this post until 8 months later :\ You did a good job though

Replying to:Miopasid
Is this project dead?
Oh! But it is finished! Perhaps I should let loose a demonstration of it. The keyboard I've created is fully customizable, has key animations, and can be translated, resized and oriented across the screen. Not to mention it uses no sprites.