Surprise! The Project Builder (but also TI-Planet's archives) now embeds a much improved version of WebCEmu, based on current developments (lots of nice work from Jacobly and Mateo, regarding LCD / SPI / DMA etc.)
The interaction with the browser (especially for the display of the screen, but also the emulation infinite loop) is now written in such a way that there is no need for threading anymore, which simplifies a lot of things, and allows not to encounter weird behaviour (slowness in particular) in recent Chrome versions for example, with these APIs JS being a little too new ... And consequently, the speed of emulation is also closer to the real thing.
In addition, WebCEmu is now built in WebAssembly format, which makes it both faster and smaller
Here's a summary of the Project Builder's changes since the last post
Migrated on the new TI-Planet server correctly
Fixed the annoying issue where clicking on the the "Download 8xp" button (same for .hex) would replace the current page with a full screen build error log if there was no successful previous build and the current code doesn't build. It's not correctly spawning a PB notification and putting the build log in the console area below the editor.
Cleaned up some paths showing up in the build console that made reading uselessly more difficult
Updated dependencies (most notably, CodeMirror)
Code cleanup and minor improvements
Updated C template code
Built-in WebCEmu core up to date with the latest master revision from github
Built-in WebCEmu WASM module built with an up to date emscripten too
Built-in WebCEmu keypad is now transparent... with the background being captures of (linux) CEmu keypads!
Automatically chooses the skin according to the CE model (84+CE vs 83PCE)
If needed, automatically scales down to 70% in order to adapt to Mateo's smaller laptop screens
Looks like this:
Hopefully very soon I'll do the toolchain update from a custom v7.5-with-backports to the greatest and latest github release
The CE module of the PB is now using the latest LLVM-based toolchain instead of ZDS! (beta) You can now use the latest C99 or C11 (pretty stable), and try C++17 as well!
New project files architecture internally - it's just the same as the standard toolchain one now
Much less modified/custom toolchain integration, it's all much simpler, faster, and native now.
Removed features (that don't make sense now): ZDS vs LLVM ASM comparison, intertwined ZDS source and ASM
Credits/About section added to the help modal (where the editor keybindings are)
Some CSS bugfixes here and there
There are some known issues already that I've mentioned to Jacobly and Mateo, but please report any feedback and bugs you encounter, as usual, thanks in advance
The PB has been improved to support the (LLVM-based) toolchain without any modification (that's good for me, as I just need to git pull and make install to keep up to date!)
Toolchain and LLVM updated to the latest version. This includes internal tools like fasmg (used as the assembler and linker), which jacobly greatly sped up thanks to a "CALM" instructions rewrite.
Building (without cleaning) doesn't remove the built 8xp first. As such, you can get the expected "make: Nothing to be done for 'all'." message if you try to build again if nothing changed.
Project icon + description support has been added. This means that inside Cesium, your programs can have those displayed!
You can add an icon to your project by drag'n'dropping your icon.png file on the editor (just like source files)
Nice job! I just built Ace Recon myself before seeing this post and saw it worked with the Cesium icon and description, and that you fixed the bugs from a few days ago. Thanks for the promotion as well lol.
I have added support to the Project Builder for gfx resources (png images for instance), with the convimg tool from the toolchain!
To add sprites / images to your project, just drag'n'drop them onto the editor (be careful, if there is one called "icon.png", it will become the icon of the project, though)
The convimg configuration file, gfx/convimg.yaml, is created automatically with a template content adjusted for your images (you have to edit it if you add more images later)
The dropdown menu at the top left of the code editor allows you to list the files and images found in your project, and to access the configuration file. From this menu, you can also preview your images, download them, and delete them.
The files generated by convimg cannot be modified (they are read-only in the editor) in order to avoid bad modifications by mistake.
Here's a video showing a real-world usage of the features:
I was using the Project Builder and noticed that every time the tab is closed and reopened or reloaded, the code resets. I am in a position where it is not possible to leave the tab open for long periods of time, am I doing something wrong or is there a "save" button I am missing, or how do I do that?
I’m not sure I understand what you’re describing, at worst it may take a tiny amount of time to init the code editor with the code but I doubt that’s what you’re experiencing. Does that happen for private projects as well as shared ones?
Anyway I’ll check it out tomorrow.
Specifically, I am working on a project, and when I reload the page, or close and reopen it, the work I did disappears and it resets back to the default start project. I suppose there's some way to save that I can't figure out.
Well there is the save button at the bottom-left of the editor, which is also bound to Ctrl-S (or Cmd-S on macOS). Saving is also automatic when you switch files. When you reload/close+reopen, however, the browser tells you that you might lose unsaved info (which you will) if you haven't saved your latest changes.
I just re-tested all that now and it seems to work as expected - can you report back after trying that Save button manually? Does it show any errors in the browser js console?
The Save thing worked. I really was stupid, and didn't notice the save button because I had minimized the menu. Also, even when I build the project, the sunglasses button does not show me the Asm, it says I should build it again.
You're right, that's "broken" when LTO is enabled (there's only one asm src file readable for the whole project...) so I would need to adjust that, thanks!
By the way, the toolchain was updated to the latest version a few days ago when it came out
This looks great! I have an nspire, but I've never gotten into lua. If I was still a newbie, I'd create a poll about whether I should learn lua or not. All the same, this is a nice upgrade to typing out lua programs on calculator using Jen's editor.
- The integrated emu launch of Basic 83/84 programs is now functional/repaired.
- A few weeks ago, I added the ability to view generated tokens in hex to the Basic module.
- Nspire Python is now available, thanks to improvements on Luna from Legimet
Woah!! I really need to look at project builder more~ last time I paid attention to it (like 2017 or 18 or something) it was barely functional, but this is absolutely amazing!
I always liked seeing the generated tokens! That's a nice feature. Something I've found helpful in that sort of view is an option to have tokens rendered per-line, then each line in the token view lines up with each line in the hex view.
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.
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