You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

TI-Planet's "Project Builder" with online CE C Compiler

b/[Completed] CEmu, C SDK & Libraries (TI-84+CE) Started by Adriweb, March 19, 2016, 05:04:02 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

u/Dream of Omnimaga 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.
u/Snektron 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")
u/Adriweb June 24, 2016, 10:38:11 PM
It's not done yet, but CEmu integration is coming along nicely...
u/Dream of Omnimaga 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?
u/Adriweb 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.
u/Dream of Omnimaga 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
u/Adriweb 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:


More minor changes are coming, probably mostly UI related, error handling, etc.
Last Edit: June 26, 2016, 12:11:09 PM by Adriweb
u/Unicorn 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. :)
u/Adriweb 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
u/Dream of Omnimaga June 26, 2016, 06:03:23 PM
Will the emu be compatible with Android and iOS?
u/Adriweb 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/
Last Edit: June 26, 2016, 09:31:50 PM by Adriweb
u/Dream of Omnimaga 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?
u/Adriweb June 27, 2016, 11:25:05 PM
Alright, it's publicly available now, 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 :)
Last Edit: June 27, 2016, 11:29:05 PM by Adriweb
u/Dream of Omnimaga 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.
Last Edit: June 28, 2016, 12:59:29 AM by DJ Omnimaga
u/Adriweb 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.
Last Edit: June 28, 2016, 01:01:29 AM by Adriweb
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal