CodeWalrus

Featured Member Projects => CEmu, C SDK & Libraries (TI-84+CE) => Topic started by: Adriweb on March 19, 2016, 05:04:02 am

Title: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 19, 2016, 05:04:02 am
Since its beginning, TI-Planet has promoted programming, especially on TI calculators, through many news, program features and reviews, tutorials, contests etc.
We are now proud to launch, in beta, a new online platform (online so as to be more easily accessible), to push even further this programming promotional effort. This online tool is called the "Project Builder" (PB).
(https://i.imgur.com/R6dj0kO.png) (https://i.imgur.com/L6ZSBrV.png)

What's the "Project Builder"?
Simply put, it's a "subsite" of TI-Planet, that offers a simplified interface through a set of tools ("modules"), such as an IDE, for creating, by oneself or with other people, content like programs, for calculators.

The modular architecture of the PB allows for multiple types of projects themselves possibly containing several elements. For now, the PB is still very young, and the only "ready" project type / module is the C compiler for the CE calculators (TI-84 Plus CE and TI-83 Premium CE), on which we will give more details in the next section.
In fact, we had already told you a bit about the PB and its C Compiler some time ago (https://tiplanet.org/forum/viewtopic.php?f=10&t=17279) (September 2015!) in another topic, so it might not be much of a surprise ;)

Moreover, in the future, we can imagine other modules like:
Let's go back in a little more detail on the reference above, creating things "with other people". Indeed, the PB has social / multi-user features:
(https://i.imgur.com/59PwEbAt.png) (https://i.imgur.com/59PwEbA.png)   (https://i.imgur.com/kTZxFTkt.png) (https://i.imgur.com/kTZxFTk.png)

We hope that these efforts will help popularize programming among high school and university students, providing a simple yet comprehensive platform :)

We are also glad to announce that the Project Builder is open-source, and even free as in freedom (GPLv3), to enable the contribution in the spirit of the community - it is designed in such a way that its operation is not locked on a specific site infrastructure. We encourage (and thank in advance) anyone interested in contributing and helping in general, adding things, fixing bugs, etc. A link to the code is available at the bottom of this article.


The C Compiler for the CE calculators - a module of the PB
This isn't new - since the release of the CE calculators series in 2015, their new more powerful hardware (eZ80 CPU, faster than the Z80, more RAM, etc.) allows much more interesting things than on prior models, including indeed "native" C programming, much more attractive than assembly, and often used on PC or other platforms.
The Project Builder thus has a "CE C compiler" module, whose back-end is based on the toolchain work by "MateoConLechuga" (who we thank very much).

Features:
Relative to the back-end (compiler)
Relative to the front-end (user interface)
Specific to CE calculators
(https://i.imgur.com/qwVpqPst.png) (https://i.imgur.com/qwVpqPs.png) (https://i.imgur.com/8S4XvvAt.png) (https://i.imgur.com/8S4XvvA.png) (https://i.imgur.com/VIDS9MZt.png) (https://i.imgur.com/VIDS9MZ.png) (https://i.imgur.com/oXgRjwdt.png) (https://i.imgur.com/oXgRjwd.png)  (https://i.imgur.com/tXKHUpqt.png) (https://i.imgur.com/tXKHUpq.png)

Features planned for the future...:
In addition to various improvements on the GUI for a better user experience, the following are on the TODO list:
(click to show/hide)


Links
_________
Via TI-Planet.org: https://tiplanet.org/forum/viewtopic.php?f=41&t=18118
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 19, 2016, 05:53:26 am
Glad to see this come to fruition. :) The share tools and multi-user edits are a nice touch as well. I personally won't be using C but I know that some people here might find this handy.

By the way, since it's open-source, does it mean that anyone could put the folders on his web server and it would run almost on the fly?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 19, 2016, 05:54:47 am
By the way, since it's open-source, does it mean that anyone could put the folders on his web server and it would run almost on the fly?
Almost, yes - there has to be some server-side setup for the modules requiring advanced back-ends (like the C one...) for things like wine setup if the server is linux-based, etc.

There'll probably be some kind of readme explaining the basics
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 19, 2016, 06:03:16 am
Cool, thanks. :) Would it pose a risk of slowing down the rest of the server stuff if RAM is limited? (as an example, CW hosting only has 1 GB of RAM and a single-core CPU)

Also will CEmu integration in the future require an online version of CEmu to be made or will the project builder simply ask permission to open CEmu on the computer after specifying the directory the emulator is in (and letting the user change the setting)?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 19, 2016, 06:07:35 am
Cool, thanks. :) Would it pose a risk of slowing down the rest of the server stuff if RAM is limited? (as an example, CW hosting only has 1 GB of RAM and a single-core CPU)
Well, in theory yes, but it shouldn't be too bad either. That said... 1 GB of RAM and a single-core CPU isn't much :(

Also will CEmu integration in the future require an online version of CEmu to be made
Yes, I'm currently looking at an online CEmu version for the PB, but it's still very early, and doesn't even actually work right now under normal conditions. It'll require a bit of time :P

will the project builder simply ask permission to open CEmu on the computer after specifying the directory the emulator is in (and letting the user change the setting)?
This is also an idea I had, but isn't developed yet either.
Somewhat related is TI-Planet's desktop client that could act as a "bridge" between the Project Builder and a connected calculator on your computer, so that you may be able to directly send the programs to it.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 19, 2016, 06:18:27 am
My main concern about requiring CEmu to be online to work with project Builder is if the host decides to provide the ROM files on emulator launch or kept a copy of the user ROM on the server rather than doing like jsTIfied and requiring the user to supply his own calculator ROM himself. Because TI might not like that, plus it would be hard for us to link directly to the emulator since ROM links are against CW rules. >.<
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 19, 2016, 06:20:09 am
My main concern about requiring CEmu to be online to work with project Builder is if the host decides to provide the ROM files on emulator launch rather than doing like jsTIfied and requiring the user to supply his own calculator ROM himself. Because if the online CEmu launched with ROMs hosted on the server then not only linking to it would be against the rules of most forums, but also Texas Instruments would not like that (they already shut down TI-Emulation a few years ago).
Yes, obviously the users will have to provide their own ROM :)
The good thing is that it can be saved locally in the browser's localStorage.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 19, 2016, 06:21:26 am
That's good to hear then. :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Jkolade936 on March 21, 2016, 01:48:18 pm
So, if I have a CE ROM, I can basically use CEmu anywhere?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 21, 2016, 05:02:49 pm
It obviously won't be a full-blwon CEmu-desktop alternative, but rather some kind of "just the things" to get it working on online IDEs, for instance.
Also, I have some unexpected work this week so I won't be working on that as soon as I've had hoped :P
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Jkolade936 on March 21, 2016, 05:28:39 pm
Does the keyboard-keypad connection work? I kept trying to use WabbitEmu's keyboard controls for the virtual calculator in CEmu(the build that @alberthrocks gave me), and when I found that I had to click each key individually, I got kinda irked.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: MateoConLechuga on March 21, 2016, 06:46:39 pm
Um, of course it works? Click on the screen if you need to, and change the keyboard bindings to WabbitEmu in the settings if you really want to. The CEmu keybindings are a lot easier and make more sense once you get used to them.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 21, 2016, 07:27:26 pm
The CEmu keybindings are a lot easier and make more sense once you get used to them.
That's unless you used PindurTI and/or WabbitEmu for 11 years straight :P

It obviously won't be a full-blwon CEmu-desktop alternative, but rather some kind of "just the things" to get it working on online IDEs, for instance.
Also, I have some unexpected work this week so I won't be working on that as soon as I've had hoped :P
What would be cool is if clicking compile launched your game in CEmu, like TIEmu does :D
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Lionel Debroux on March 21, 2016, 07:50:08 pm
Quote
What would be cool is if clicking compile launched your game in CEmu, like TIEmu does :D
Indeed, from a user's POV, this kind of functionality is cool, and I've obviously leveraged it myself in the past.
From a maintainer's POV, it's less cool, in that it requires multiple completely different code paths for implementing the same functionality across multiple OS, because there's no portable standard: OLE on Windows, D-Bus on Linux, I don't know what on MacOS X, etc. :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 21, 2016, 08:06:43 pm
Yeah I understand, plus having to write different code for each browser so that people aren't forced to use 1 specific browser <_<
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 21, 2016, 09:37:21 pm
There was/is one idea that involves CEmu making a web server on localhost, to/from which the web CEmu can talk to (simple ajax requests). That way, it can send commands etc. to it, effectively making an "easy" bridge between online IDEs and native CEmu.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Jkolade936 on March 21, 2016, 09:51:58 pm
Um, of course it works? Click on the screen if you need to, and change the keyboard bindings to WabbitEmu in the settings if you really want to. The CEmu keybindings are a lot easier and make more sense once you get used to them.
It doesn't work in the build @alberthrocks gave me. :-/
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: MateoConLechuga on March 21, 2016, 10:31:34 pm
Did you click on the LCD screen.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Jkolade936 on March 21, 2016, 10:40:30 pm
Did you click on the LCD screen.
Yes. Still nothing. I can't even type numbers using the keyboard.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 22, 2016, 05:18:36 am
There was/is one idea that involves CEmu making a web server on localhost, to/from which the web CEmu can talk to (simple ajax requests). That way, it can send commands etc. to it, effectively making an "easy" bridge between online IDEs and native CEmu.
Would that require the user to install extra stuff such as Apache for that, or would CEmu do that for him?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 22, 2016, 04:27:34 pm
There was/is one idea that involves CEmu making a web server on localhost, to/from which the web CEmu can talk to (simple ajax requests). That way, it can send commands etc. to it, effectively making an "easy" bridge between online IDEs and native CEmu.
Would that require the user to install extra stuff such as Apache for that, or would CEmu do that for him?
No, CEmu would do things by itself - it doesn't have to be any kind of file-serving complicated thing at all. Simple I/O requests would work, I suppose. I bet there are libs to do this simply enough.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 22, 2016, 06:43:36 pm
I see. That's good, then. :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 23, 2016, 02:59:57 am
I've added a way to see the generated ASM code, it can be useful sometimes :)

(https://i.imgur.com/HKA78tJ.png) (https://i.imgur.com/T7mD1xL.png)

I'll probably improve it though, so as to integrate it better in the actual editor, which will make sense later for debugging purposes.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 23, 2016, 03:02:17 am
Nice idea. Although not many people will use ASM on the CE, this could be handy when debugging or for people who wants to grab some ASM routines. What about the ability to show hexadecimal assembly form? THat could be handy if someone wants to grab some routines for use in BASIC (via the Asm() command)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 23, 2016, 03:05:00 am
I thought about it, but it may be much harder, the way it's done :P (ZDS doesn't expose it directly)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 23, 2016, 03:07:42 am
Ah, I didn't know that. Shame. I would have thought that most assemblers or ASM IDE's showed the hexadecimal equivalent of english mnemonics.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 23, 2016, 03:08:28 am
Oh wait, I might be lying.
There is an .lst keeping option. Let me look it up and I'll edit the post

Edit: yeah, it's possible ( https://i.imgur.com/F15HrQ6.png ) but looks like a pain (to parse etc.) for not a big advantage... MAybe when I have time to spare after finishing the todolist :P
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 24, 2016, 04:51:30 am
People have been bugging me about a dark theme, so here it is :D (commit (https://github.com/TI-Planet/Project-Builder/commit/99176a5)):

https://gfycat.com/AmazingEarnestHyracotherium

(no GUI toggle yet, nor saving its state)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 24, 2016, 05:24:40 am
Nice job. I also like it. At least it's not pitch black like some people do so it's still nice to look at in dark mode. :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 24, 2016, 08:11:31 pm
(Update:)
I've done that differently now, taking into account the line numbers, and thus making things much easier and reliable (and much more useful for the future debugging features).
(https://i.imgur.com/PaFfjS9t.png) (https://i.imgur.com/PaFfjS9.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 25, 2016, 06:49:26 am
Hm interesting, I'm curious about which layout people will find easier to use.  Looks nice, by the way.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Snektron on March 25, 2016, 01:54:23 pm
Looks nice :)
I've been using the project builder for a day or so now, since i got fed up with the SDK (that damn makefile), and i've noticed a few bugs:

- my program's name different than output calculator name (the output calcualtor name is one i set earlier, but now the one displaying in the project builder has reset to (CPRGMCE).
- when building in asm view, the editor switches to c view but the view button stays on asm view.

also an idea i had was to make it possible to close files from the edtiro, and cleate some kind of file index in the project (that side view under "My projects")
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 24, 2016, 10:38:11 pm
It's not done yet, but CEmu integration is coming along nicely...
(https://i.imgur.com/i7qMRnZ.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 25, 2016, 02:13:15 pm
Nice :D. I wonder if this require the user to install CEmu or if it all runs online?

And how do ROM storage work?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 25, 2016, 02:19:24 pm
It doesn't require anything (except a ROM provided by the user of course), as it's already a JS version of CEmu that's running, decently well.
It wouldn't replace using the real CEmu, as it's obviously better in terms of performance and debugging features, but this IDE-embedded CEmu is a huge aid for a fast-paced development process, because you definitely don't lose time each time you have to download, upload in CEmu manually, launch, etc.

Right now, ROM storage isn't implemented (as I was saying, it's not finished :P) but I'll probably go with a localStorage-based solution (client-side HTML5 stuff), it seems rather easy.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 26, 2016, 06:24:10 am
Is it possible to disable CEmu emulator in the project builder? That could be handy for those with slow computers who prefer to use the Project builder only to edit code and instead use a standalone copy of CEmu. I know that in SourceCoder 3 jsTIfied is paused while not in use, so it would be nice if CEmu did the same in this.

And yeah local ROM storage (on the user end) would be better for copyright reasons. :P
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 26, 2016, 12:05:36 pm
Yeah, the emulation is basically "opt-in", though right now this is due to having no local storage thing yet :P I'll try to think of something instead of auto-loading the emulation-related files.
Also, when you hide the sidebar, the emulator is paused, so as to decrease CPU usage.

Anyway, I've finished the most important things, so it's starting to work fine:
https://www.youtube.com/watch?v=hTBDJDyjq0I

More minor changes are coming, probably mostly UI related, error handling, etc.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Unicorn on June 26, 2016, 03:27:44 pm
Awesome!

So, how soon till we can access it? I'm really in need of an online emulator right now. :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 26, 2016, 03:40:12 pm
Possibly today.

And as I was saying, performance isn't as good as the desktop CEmu, so it doesn't actually "replace" it, but it definitely allows for faster testing :P
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 26, 2016, 06:03:23 pm
Will the emu be compatible with Android and iOS?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 26, 2016, 06:18:08 pm
No, the whole PB is definitely not made for such targets, at minimum for usable size reasons, let alone performance regarding emulation.

Minor updates:
- Reduced key sending delay a bit
- Fix "build" buttons-related issues and behaviour
- CEmu credits added

Todo:
- manual/auto emu start preference
- auto-pause when focus is lost
- localStorage stuff for client-side ROM saving
- probably display the CEmu console somewhere
- Maybe more debugging things on the CEmu side

I have noted an issue, though: when you leave the emu on for an extended period of time, it becomes very slow. I'm not sure why (memory leak, or something like that?), although it's not that big of a deal, you can basically refresh the page.


Edit: Hmm, I have fixed some more things (included stuff people reported recently), and didn't finish the todo list here :P
Oh well, tomorrow should definitely be good \o/
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 26, 2016, 10:31:13 pm
Hm I see. Also nice update. For the slowdowns I am sure this is a memory leak, but does it happen in all browsers?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 27, 2016, 11:25:05 pm
Alright, it's publicly available now (https://tiplanet.org/pb/), though I haven't been able to locally save the ROM yet, because it's quite big, and when trying compression, it wasn't working reasonably well, so far :P
Lots of other improvements and fixes, though, on UI and perf.

Have fun :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 28, 2016, 12:56:08 am
Yay! It works! Slow-ish to press keys but it works. Also nice idea to pause emulation when not focusing on the browser tab. Should be less resource-hungry that way.

Only issue, though, is that we can only send 1 file at a time. This could be annoying when sending a large hybrid BASIC game that requires sending 12 programs or so (Sprites v3.3 alone uses 6)


EDIT: Actually I just tried GalagACE and it runs like twice faster until you press keys, then it lags. But it's still very nice to have such emulation feature.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 28, 2016, 12:58:09 am
Regarding keypresses, I'm not sure what's causing the lag, but basically, once you know you have to click a tiny bit longer than just a normal click (so, you have to press and hold the button, but just shortly), it's fine :)
In fact, pressing keys that way, I have no lags, it's quite good. Where you can clearly see it's slower than the desktop CEmu is for "high"-FPS games.
But speed probably depends on the browser and computer, too.

Edit: yes, multiple file sending will come shortly, it should be easy.

Edit2: and yup, pausing emulation on visibility loss is quite a CPU-saving feature.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 28, 2016, 01:00:13 am
I edited my post above btw (I tried GalagACE). The key lag sometimes also involves keys not responding at all during the game.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 28, 2016, 01:03:59 am
Yeah I'm not sure how you're trying but for instance, due to how the key-down/up events are lazily handled right now, I can't it make it work by tapping on my laptop's trackpad (because of the two events being too close, I guess), I have to actually click.
I suppose keys can get stuck, that way, thus making the user think something's frozen or something (and possibly also adding to the slowness in certain cases)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 28, 2016, 03:38:18 am
I actually didn't know if keyboard controls were implemented or not, because I tried and they didn't work. I wonder if implementing those would be possible, though? By the way I use Opera 36 (for some reasons I just realized my auto-update stopped working long ago because they're at version 38 now).
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Ivoah on June 28, 2016, 04:17:50 pm
I can't wait for the emulator to become a part of PB publicly! I know I've been too lazy to try to set up the CE toolchain, and having everything in one spot that doesn't even need to be installed will be awesome. Who knows, it might even convince me to try making something in C for the CE.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 28, 2016, 04:18:51 pm
It's there already :)

Today's updates so far:
- Auto-save/load user config regarding the layout (dark/light theme, sidebars visibility)
- Multiple file transfers working
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Ivoah on June 28, 2016, 04:20:22 pm
It's there already :)

Today's updates so far:
- Auto-save/load user config regarding the layout (dark/light theme, sidebars visibility)
- Multiple file transfers working
I guess looking stupid is what I get for not checking things before posting :) Nice job getting it public so fast. I just saw that you started working on it a few days ago, with your screenshot in #cemu-dev
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 28, 2016, 04:21:14 pm
UI is hard, that's what I spent most of the time on the past few days :(
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Ivoah on June 28, 2016, 04:22:24 pm
UI is hard, that's what I spent most of the time on the past few days :(
Everything looks great! I especially like how it types out the program name for you
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 28, 2016, 05:05:32 pm
yep, like in CEmu's autotester and program launching feature on right-click (in the var list)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 28, 2016, 09:12:50 pm
You now have a screenshot button on top of the screen when you mouse over it:
(https://i.imgur.com/35ATOZR.png)

I've also fixed some file sending stuff (well, it worked already, but everything is now "disabled" until it finishes, kind of)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 29, 2016, 03:40:07 pm
Update today
- Some cleanup
- Support of file renaming (finally) :
(https://i.imgur.com/HOPQT9D.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on June 29, 2016, 07:12:19 pm
Good addition. In TokenIDE I kinda get annoyed about how the only way to rename a program is to copy the code in a new one like on the real calc <_<
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on July 01, 2016, 08:29:48 pm
Update:
- UI / CSS improvements
- Chopped off a few pixels here and there, so more things are visible now, on small laptops, for instance.
- Creating (and deleting) a file doesn't change the page anymore (thus killing the emu) ; the new content is loaded in dynamically
- Automatic local Saving/Loading of the emu ROM (and to avoid starting the emulator for nothing, it will pause itself right after loading the saved ROM)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on July 03, 2016, 04:30:16 pm
I like the dynamic content loading idea. :D
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on October 29, 2016, 11:00:14 am
Some of the updates to TI-Planet's Project Builder (https://tiplanet.org/pb) of the past few days:
In no specific order, thanks to Runer112, Mateo, Jacobly, and others for testing and feedback.

Here's a screenshot showing the latest state of things, running a FileIO demo (https://github.com/CE-Programming/toolchain/blob/master/CEdev/examples/library_examples/fileio/demo_4/src/main.c) that returns a list of a number's prime factors (Ans->prgm->Ans) :)
(https://i.imgur.com/90QM808.png) (https://i.imgur.com/cI45OyK.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on December 07, 2016, 07:54:56 pm
That is great Adriweb. Sorry I am late to reply x.x

Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on December 07, 2016, 07:59:08 pm
Thanks.

Speaking of which, I should probably take some time to update the libs...
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on February 23, 2017, 07:09:50 pm
Some of the recent updates:

The real-time collaboration is now much more reliable

Fancy CSS notifications instead of raw JS alerts

Better browser compatibility

Keybindings shown when pressing Ctrl-H or clicking on the [?] button

Bottom pane now collapsible:
(https://zippy.gfycat.com/ElegantEasygoingAphid.gif)

There is now an interactive code outline sidebar:
(https://i.imgur.com/BOEBXC5.png)

As usual, thanks to everyone who gave feedback on all this, especially Mateo and Jacobly :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 11, 2017, 07:59:00 am
Looks very good @Adriweb . For project collaborations, is it possible to have a small shoutbox (Facebook-style) open at any time while the above screen is open?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: MateoConLechuga on March 11, 2017, 08:36:18 am
Looks very good @Adriweb . For project collaborations, is it possible to have a small shoutbox (Facebook-style) open at any time while the above screen is open?
Yes with shared project it is always enabled ;)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 11, 2017, 08:40:44 am
That's good. Can we also add/remove people or do they join on their own like IRC channels when a project is made public?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 11, 2017, 10:50:43 am
( Thanks :) )

Looks very good @Adriweb . For project collaborations, is it possible to have a small shoutbox (Facebook-style) open at any time while the above screen is open?
Yes with shared project it is always enabled ;)
Technically, there's a toggle but it's in the DB side only, not visible yet. So for now indeed, it's always enabled for shared projects.

That's good. Can we also add/remove people or do they join on their own like IRC channels when a project is made public?
No restrictions, like a public IRC chan. Might change in the future, idk :P
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 12, 2017, 04:25:40 pm
Yeah my concern was more if an undesirable person  joins your project or something :P
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 12, 2017, 04:27:42 pm
Technically for now you're responsible for keeping your non-predicatable unique link safe and shared among trusted peers :P
In the future, I'll add a more fine-grained sharing feature where you can choose which tiplanet account(s) can read and/or write. Basically like google drive documents.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 13, 2017, 08:08:50 pm
Ah ok, by public project I thought the project was publicly listed to everyone by default like the default Youtube upload options.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 17, 2017, 07:21:43 pm
ASM is now much better :) (thanks, @Runer112, especially)
(https://i.imgur.com/4ooqtH4.png)

Before the end of the week, I shall look into supporting debug logging from the online emulator, so we can actually have the debug print feature working on the PB as well, making bugfinding/tracing easier :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on March 18, 2017, 07:27:49 pm
Debugging things have landed  8) (printing, for now)

(https://i.imgur.com/YwRVSE4.png)

(Eventually, CEmu messages will go into their own console, but for now, it's using the browser's JS one)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Alvajoy123 on March 22, 2017, 11:48:43 pm
i HAVE ONE PROBLEM HOW DO YOU DOWNLOAD THE ROM IMAGE
AND WHERE DO YOU GET IT  THANK YOU AND MAY YOU PLEASE HELP  ???
 
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: MateoConLechuga on March 22, 2017, 11:51:22 pm
i HAVE ONE PROBLEM HOW DO YOU DOWNLOAD THE ROM IMAGE
AND WHERE DO YOU GET IT  THANK YOU AND MAY YOU PLEASE HELP  ???
Download CEmu and create a rom image:

http://104.238.135.171:8080/CEmu/master/latest/CEmu64.exe
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 23, 2017, 12:07:32 am
Hi, yeah I think the only way to get a ROM is to dump one from your calculator using MateoC's advice. Also please don't use all-caps letters when posting, as it's much harder to read. Welcome to the forums, though!
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Alvajoy123 on March 23, 2017, 12:41:30 am
I am new to asm programing am a basic programer and i just want to how to use this platform
 ??? ??? ??? ???
can you please teach me how to asm program
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: MateoConLechuga on March 23, 2017, 01:03:36 am
I am new to asm programing am a basic programer and i just want to how to use this platform
 ??? ??? ??? ???
can you please teach me how to asm program
No.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 23, 2017, 01:09:48 am
This tool is for C programming for the most part. Also, have ytou done any programming during your lifetime before? Because if you only did TI-BASIC, then jumping straight to ez80 ASM might be next to impossible, as the "Learn ASM in 28 days" tutorial states at the beginning. It's really better to climb the ladder from the bottom and experiment with small TI-BASIC examples such as the ones in the TI manual then work your way up.

Otherwise, if you have a lot of experience in programming, then we can guide you to tutorials you will need and help you if you don't understand something, but it will require you a considerable amount of patience (which, however, is worth it, because making softwares can be fun and good learning experience).
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: p2 on March 23, 2017, 01:03:28 pm
Hey there @Alvajoy123 :)
I had wo work with ASM for a few months myself and it was really super hard even for me and I do programming in various languages since years.
ASM is really the hardest thing there is to programming.
You might want to do easier stuff first, like DJ mentioned :)

can you please teach me how to asm program
No.
not very friendly nor helpful there Mateo <_<
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Snektron on March 23, 2017, 08:53:55 pm
Assembly isn't really that hard, but you have to think a bit different than you would with high level programming. If
you find a good tutorial is definitely learnable ;)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Alvajoy123 on March 24, 2017, 02:34:17 am
Can you make tutorial video on how to use it and can you make it export files  :thumbsup:
looking good by the way :thumbsup:   :love:
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on March 24, 2017, 08:54:25 pm
Assembly isn't really that hard, but you have to think a bit different than you would with high level programming. If
you find a good tutorial is definitely learnable ;)
I never managed to learn ASM successfully even after three attempts <_<
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on April 03, 2017, 11:17:32 am
A quick&dirty experimental integration of jacobly's LLVM eZ80 backend has been done yesterday evening:

(https://i.imgur.com/bxqjDN3.png)

It will obviously be better eventually, but for now it's good enough to try/debug stuff :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on April 03, 2017, 04:24:28 pm
This looks nice Adriweb :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on April 03, 2017, 04:41:40 pm
Thanks, but in theory, all the credit goes to jacobly's rather extraordinary work :)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on April 07, 2017, 10:36:25 pm
LLVM view updated, now diffing with ZDS (left, and llvm on the right)
Note that clang gets called with -Oz for now.
(Also, yes that means you can write some C++17 for you 84+CE, because why not...)

(https://i.imgur.com/QxeWMbk.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on May 16, 2017, 01:03:36 am
Difference checking is definitively a great addition. I know websites already exist for that but when I am trying to figure out why a similar piece of code works and the other copy doesn't, it's annoying to have to try to find the diff checker site URL again and again when you are trying to concentrate on debugging <_<
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on May 16, 2017, 04:40:35 pm
Well, for now it is only comparing ZDS to LLVM, but some versioning ideas have been in my mind for quite a while, so if I ever implement something related to that (probably through git, if so), then yep, diff between versions would be there.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on May 17, 2017, 11:44:31 pm
Ah ok. I wonder if it can detect weird whitespace characters? (like the ones generated by earlier HP Prime connectivity kit or emulator versions)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on May 28, 2017, 10:38:39 pm
Over the past few days, I've been able to work on some Project Builder (https://tiplanet.org/pb/) upgrades (and I want to particularly thank jacobly for the time he spent with me debugging some things :P) :

(https://i.imgur.com/61VY9zNt.png) (https://i.imgur.com/61VY9zN.png) (https://i.imgur.com/GliRzVDt.png) (https://i.imgur.com/GliRzVD.png) (https://i.imgur.com/H7j0oeXt.png) (https://i.imgur.com/H7j0oeX.png) (https://i.imgur.com/kxbTD4Nt.png) (https://i.imgur.com/kxbTD4N.png)

(Will be available soon on the public github repo)

- Via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=217395#p217395
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 02, 2017, 12:10:47 am
What's that? C++ you say? LLVM-based building and not just asm-viewing?

(https://i.imgur.com/bI93sme.png)

That's right, C/C++ building support through jacobly's LLVM-ez80 backend is now available on TI-Planet's Project Builder (in alpha) !
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Alvajoy123 on June 22, 2017, 06:18:00 am
Nice
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: kotu on June 22, 2017, 01:54:13 pm
looks quite nice actually

is there any option for offline building?
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: _iPhoenix_ on June 22, 2017, 02:15:13 pm
Perhaps save page to reading list/save for offline viewing.

I haven't tested it, mobile and good websites simply don't mix.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Snektron on June 22, 2017, 02:26:10 pm
That backend finally works? Sweet...
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: kotu on June 22, 2017, 02:28:54 pm
Perhaps save page to reading list/save for offline viewing.

I haven't tested it, mobile and good websites simply don't mix.
even if that did work, i prefer not to be developing stuff in a browser, i think most ppl would agree
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: _iPhoenix_ on June 22, 2017, 02:37:20 pm
Perhaps save page to reading list/save for offline viewing.

I haven't tested it, mobile and good websites simply don't mix.
even if that did work, i prefer not to be developing stuff in a browser, i think most ppl would agree
Agreed.

I recommend notepad++ and the C toolchain, then, along with the offline CEmu (the emulator not the C IDE/emulator)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 22, 2017, 04:11:14 pm
There's some wrong info in recent posts here, so let me clear that up:

is there any option for offline building?
There's no offline building since the PB's nature is to be online (or at least in a context where it's not directly standalone). It's an "IDE" talking to the (server-hosted/setup) CE toolchain which you can get yourself (https://github.com/CE-Programming/toolchain/) for offline use if that's what you want.
However the PB is the only IDE and toolchain-integrated solution where ez80-llvm is readily available.
For an offline use of LLVM, you'd have to build it yourself (https://github.com/jacobly0/llvm-z80), and that has so far be tested on linux and macOS only. The standard llvm takes ages to bulid on windows, though, and this version might not even build on it yet anyway. When finished, you'll have to mess with the toolchain's files to integrate it.

That backend finally works? Sweet...
Some things aren't there yet, it's quite alpha/experimental... but it's a nice start indeed.
For instance, floats aren't supported yet, and will the build will error if you use them. See https://github.com/jacobly0/llvm-z80/pull/2

Perhaps save page to reading list/save for offline viewing.
No, the PB, like a whole lot of modern dynamic webapps, is relying heavily on client-server interaction, for things like file loading/saving, tags fetching, real-time sharing, building, downloading, projects management etc.
What you see on the page is merely the UI side of things which wouldn't really be filled with anything if there were no internet connection available.

I haven't tested it, mobile and good websites simply don't mix.
That depends on the website, but considering I've had enough trouble trying to make everything on the PB fit nicely for desktop/laptop-class displays (responsive stuff, togglable panels etc.), there's no way it'll run on mobile, so I disabled it entirely (well, there's a message telling you so)

even if that did work, i prefer not to be developing stuff in a browser, i think most ppl would agree
Not "most people would agree", no, because it highly depends on the goal, when/where you're working on the project, what computer you have access to, what kind of project it is etc.
For instance, if you want to create a project with someone else (or several), it's better to work at the same time, ie with real-time live collaboration. This boosts productivity insanely and avoids conflicts that could otherwise happen if multiple people edit the same portions of code. The PB offers this specifically around a CE-oriented context. Can't really do any better. Critor and I have both used it like that for some CE games, and more recently jacobly, Mateo and I for other pieces of code (especially testing stuff, for the toolchain etc.)
One other goal of the PB is to provide easy access to a CE dev environment without the hassle of having to install the prerequisites/toolchain/emu etc., especially if you're a beginner in this field, or, if for any other reason, you aren't able to install it on the computer you're using.
For more experienced developers that are working on a project on their own, for instance, then of course, there is no real reason to prefer using the PB over a local toolchain+stuff that also happens to work offline. Plus they'll be able to use/configure their dev. tools as they see fit.

I recommend notepad++ and the C toolchain, then, along with the offline CEmu (the emulator not the C IDE/emulator)
Note that Notepad++ is a text editor that has some fancy little additions for code, but that's it, it's not an IDE at all, and frankly, can barely be used for anything non-trivial (I wonder how anyone can work without static analysis, smart autocompletion, and tons of other stuff only (some) real IDEs are able to provide).
In fact, the PB is already making a better job as an "IDE" than Notepad++ in several aspects. But that's not really surprising, considering I created C/CE-related specific features on it. For instance, the inline ASM viewer, the ZDS/LLVM diff view, the in-sidebar ctags for code browsing, the JS CEmu integration etc.
Of course, if you want a real IDE, I personally recommend Clion (https://www.jetbrains.com/clion/), especially since it's free for students and on other specific cases as well.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Alvajoy123 on June 23, 2017, 08:48:21 am
If it can't  be moblie later on can you make an app version or a webapp version  :P
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: _iPhoenix_ on June 23, 2017, 01:37:53 pm
If it can't  be moblie later on can you make an app version or a webapp version  :P
Easier said than done :)

Programming just isn't really suited for mobile.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on June 23, 2017, 05:02:34 pm
??

Please re-read what I wrote. The PB is already a webapp.
And no, there won't be an offline desktop app for it since you can already have better in terms of IDE and emulator etc: just setup the toolchain as usual, use your favorite IDE, and CEmu right along.
As I was saying, the PB is especially suited for people who can't/won't do that, or want the specific features I made.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: kotu on June 23, 2017, 05:03:34 pm
is @Adriweb underselling himself on the value of C++??

lol
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on July 10, 2017, 08:00:49 pm
Quite a few updates lately on TI-Planet's Project Builder (https://tiplanet.org/pb), mostly following MateoC and Jacobly's feedback :)

New things
(https://i.imgur.com/VCTbfhy.png)
(https://i.imgur.com/UhqaNCN.png)[/list]

Bugfixes
Many improvements on ASM code edition:
(https://i.imgur.com/87TGOQC.png)
(https://thumbs.gfycat.com/MintyPoliteCony-size_restricted.gif)
(https://thumbs.gfycat.com/VeneratedFreeAsianconstablebutterfly-size_restricted.gif)
(https://thumbs.gfycat.com/ComfortableVagueFennecfox-size_restricted.gif)[/list]


Enjoy :)

Via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=219477#p219477
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on July 11, 2017, 10:59:10 pm
And now with Autocompletion (fuzzy search) and definition peek from the SDK includes (standard, libs...):

(https://i.imgur.com/taUonkt.png)

(https://i.imgur.com/313C4JN.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Snektron on July 11, 2017, 11:59:50 pm
Really starting to shape up! nice work ;)
Does the project builder support non-ez80 / non-ti targets too? just wondering.

Also, an idea might be integration to some kind of versioning like overleaf does. (You can edit LaTeX and host the project on github.)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Lionel Debroux on July 12, 2017, 06:45:50 am
Quote
Does the project builder support non-ez80 / non-ti targets too? just wondering.
Nope, it does not at the moment. However, modularity was one of the strong design goals, so that support for multiple targets - not just multiple toolchains for a given target, which is already in production for the TI-eZ80 native code module - can be added at some point.

Quote
Also, an idea might be integration to some kind of versioning like overleaf does. (You can edit LaTeX and host the project on github.)
Indeed. In fact, this particular item is already part of the wish list, alongside project import :)
The ability to export projects out of the PB infrastructure allows users to perform manual commits into whichever (D)SCM they see fit, but it's obviously more cumbersome than a direct integration into e.g. Github.
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: AmazoNKA on July 13, 2017, 07:19:58 am
I hope this project will start supporting prizm soon. It Will be nice to have everything compiled online and fix vram issues for new fx-cg50 as well as allow to use two sets of icons one for old black backgrounds and another for white new one - it will attract more developers too. Thanks for working on this project
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on July 21, 2017, 06:52:13 pm
Changes since last time: (see my previous post)

New:
Improved:
Fixed:
My thanks to:
- Lionel Debroux who's started code-reviewing and suggested quite a few interesting things, mostly aimed towards a more reusable/portable PB. Everything isn't done yet, but we're getting there!
- Runer112 too in particular, for feedback, testing, sorting ideas+code
- Everyone else who's tried/used the PB and provided feedback :)


(post via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=219792#p219792)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on July 23, 2017, 10:27:45 pm
Among the numerous improvements from today:

(https://i.imgur.com/MiGevZkl.png)

(https://i.imgur.com/mW9Rcvol.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on July 28, 2017, 03:58:51 pm
Latest updates:
(https://i.imgur.com/kQzziSg.png)

(https://i.imgur.com/RBP4sdp.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on August 01, 2017, 11:50:18 pm
Some of the latest updates:
(https://fat.gfycat.com/HoarseJealousIsabellineshrike.gif)

(https://zippy.gfycat.com/CreepyLavishHorse.gif)

(https://i.imgur.com/hm4AXXJ.png)
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on August 19, 2017, 12:12:40 pm
The few updates since last time:
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: xlibman on August 30, 2017, 04:18:17 pm
That's a lot.of updates @Adriweb O.O . I didn't know there would be so many during Summer months. Good job so far
Title: Re: TI-Planet's "Project Builder" with online CE C Compiler
Post by: Adriweb on September 16, 2017, 05:08:09 pm
There hasn't been many updates since last time (about a month ago, yep...), but :


(https://i.imgur.com/R5ud3G6.png)