Without a Nspire ROM I can't really test that emulator as I don't own a Nspire and I don't think it would be legal for me to get such ROMs, but I'll take your word for it that it runs even if slow.
The challenge would be more to write a SH4 emulator in JavaScript or asm.js or something else that would run in the browser, and then the Casio-specific peripherals (both those in and out of the CPU) would need to be emulated, at a point when we don't even know very well how those peripherals work (fortunately, despite being a custom core with peripherals at non-standard addresses, they seem to be similar to other Renesas cores).
Some time ago, perhaps over a year ago, AHelper began to document all the peripherals in order to write QEMU modules for them so the Prizm could be emulated with QEMU, but the project got abandoned and so far we're stuck with Casio's emulators.
Well, neither Firebird nor CEmu were written in JS, just plain C (and C++ as well for Firebird), then compiled into JS/asm.js by emscripten (next step will be WebAssembly) - I know next to nothing about Casio emulators, but if one were to be written in C/C++, it would probably be good.
I suppose if the Prizm-on-QEMU project was to be continued, we could compile it to Javascript (I think I've seen it done before, but it wasn't very fast compared to written-from-scratch x86 emulators in Javascript) and emulate the Prizm that way, but I doubt the performance would be very good.
Prizm emulator would be nice but i would settle just for being able to compile gbl08ma addins like eigenmath, image viewer and other that use tricky setups not matchable on windows so that new features can be added by more developers going forward
The Firebird code base is not strongly wed to a particular ISA or ASIC, as shown by the fact that CEmu, for a very different platform, was derived from it. Technically, it could be forked other times, for the TI-68k platform, or the Prizm platform.
The focus for QEMU-based or MAME/MESS-based emulators would be a bit different: there's more infrastructure to be inherited from these projects, starting with the processor core emulation.
amazonka wrote:
Prizm emulator would be nice but i would settle just for being able to compile gbl08ma addins like eigenmath, image viewer and other that use tricky setups not matchable on windows so that new features can be added by more developers going forward
Judging by what happened with the TI-84 Plus CE, I think a PRIZM emulator could definitively give the PRIZM development community another kickstart. Before CEmu came out, only two or three people seemed interested in making C and ASM programs for the TI-84 Plus CE. fx-CG Manager just won't cut it and I doubt people are willing to pay $200 for an emulator when the calc itself costed them half that amount.
Casio fx-cg manager plus can be found for less then £50 on amazon.co.uk currently and someone keen enough can use unlimited demo version for considerable time... Especially on wine with linux or with uninstall and regedit on windows
amazonka wrote:
Especially on wine with linux or with uninstall and regedit on windows
Or with regedit and without uninstall on windows (or wine)... but few people know the secret, and I've been told not to tell it, for obvious reasons. Still, it's not the kind of stuff you can tell everyone to do and use, especially since the emulator isn't that good: importing files is slower than it could be, it doesn't emulate certain stuff, runs a special OS build meant for the emulator, we can't mess with or see the RAM and registers at will, etc. (I think I would pay like $30 for an emulator that would let me see the memory as it gets changed, and the only reason I wouldn't pay more is because I'm not exactly rich...)
It is strange that emulator licence is priced to retail at such a premium to what the same software on real hardware sells...
They do offer hardware and software bundles to teachers from time to time which are very attractive... bundles.
Still if casio offered their emulators at 10-20 dollars they would make more money because I cannot see any high demand from anywhere at the prices they ask now
Or at least they should offer commercial and student versions at different prices if they do get a revenue from commercial licencing already
Recent updates:
- Many UI / CSS improvements, and code cleanup
- Auto-save/load user config regarding the layout (dark/light theme, sidebars visibility)
- 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)
- Multiple-file sending support
- Screenshot button on top of the screen when you mouse over it
- Support of file renaming (finally)
A quick suggestion: When hitting the "Test in Emulator" button, if the code doesn't get built, the emulator still tests the program. Could it check if the program gets built before running the it?
Unicorn wrote:
A quick suggestion: When hitting the "Test in Emulator" button, if the code doesn't get built, the emulator still tests the program. Could it check if the program gets built before running the it?
Oh yeah, it was supposed to check beforehand that the building phase went correctly, but there was a mistake in there
Anyway, thanks, that's fixed now according to my tests.
Let me know if there is still some case where it behaves weirdly.
How can I get the C libraries on the emulator? I cant figure out how to transfer them over.
Just behave as if you are sending a program to it, and press Variable Transfer and select the libraries.
Yep indeed, just use the variable transfer input/button.
I may add something to send them automatically...
Some of the updates to TI-Planet's
Project Builder of the past few days:
- Toolchain updated to the latest upstream version
- Editor: Ctrl/Cmd-D is now dupLine, Ctrl/Cmd-Shift-D is removeLine
- CodeMirror, jQuery, Bootstrap: updated from upstream
- Automatically refresh inline ASM after a rebuild (if shown)
- Fix bad form name to get 8xp as array buffer
- Project's source file .zip export feature
- Allow deletion of files when project is R/W-shared
- Can now follow/spectate other users currently editing the doc (right click on avatar)
- Temporarily disable the file switch ajax quick-load due to some weird bug I'll have to fix
- Improved syntax highlighting with new CE-specific keywords
- Some backend project management fixes and improvements
- The chat can now be disabled on a shared project (although, no GUI for that yet, DB flag only)
- Misc. CSS improvements (dark theme color fixes, better fonts on Linux, etc.)
- Dec<->Hex number conversion on Ctrl-Cmd click (works both ways now)
- Expression definition popup is hidden if nothing better than the current line is found
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 that returns a list of a number's prime factors (Ans->prgm->Ans)
Mateo's new
compression feature is now part of the PB's building process
It will try both and pick the smallest file.
ASM is now much better
(thanks, @Runer112, especially)
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
Debugging things have landed
(printing, for now)
(Eventually, CEmu messages will go into their own console, but for now, it's using the browser's JS one)