Join us on Discord!
You can help CodeWalrus stay online by donating here.

C SDK and Libraries for the TI84+CE/TI8PCE

Started by MateoConLechuga, January 29, 2016, 02:59:00 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Dream of Omnimaga

Oh I see now. That clarify things now (I thought that only one editor could be used) :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Lionel Debroux

Fortunately, nope. For the long term, environment-specific tools, as the GCC4TI IDE and its ancestor, or the even more dead TIFS IDE, are a maintenance liability :)
Makefiles have their warts, but they're a common denominator to most environments (higher-level build systems usually produce Makefiles), and leave more freedom to the user.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Adriweb

Yeah, for instance TI-Planet's Project Builder (and SourceCoder) has everything based off the Makefile etc., they merely add a GUI side and extras to all the existing toolchain stuff.
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Unicorn

Oh, we can hook the makefile into an IDE? Good to know, I may end up doing that sometime...
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

Adriweb

Yeah, often it's basically a build with "External build system", for instance, if it's not automatically setup already. From there you can configure where make is, which makefile to use, etc.
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

c4ooo

@DJ Omnimaga if i do ever release a API, i will make sure that it will be available as a stand alone ;)

Dream of Omnimaga

Do you mean an API for your shell (eg to let people use the libs in BASIC) like what was discussed a while ago? A standalone lib would definitively be nice. I think it would be a good move if such API was open-source and easy to update by anyone once it's done, though, so if for example you go inactive then other people can update it if compatibility breaks between new versions of the C libs and your API.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

MateoConLechuga

The CEmu autotester now has many features integrated into CEmu, along with easy loading of JSON configuration files for easy testing of common code and programs, without the need to actually type anything into the calculator, which is pretty awesome :)

You can now set memory watchpoints on variables and breakpoints on functions or addresses with the latest versions of CEmu and the toolchain. This will greatly help with debugging your programs as you can assign a variable that you would like to watch, and tell CEmu to break if the value changes, is read by something, or just treat it as a non breaking watchpoint so you can just see the value of your variable at any given time. Please note that CEmu is still in development stages, so feel free to report any bugs and/or features you would like :)

CEmu:
http://pimathbrainiac.me/CEmu/

Toolchain:
https://github.com/CE-Programming/toolchain/releases/latest


Dream of Omnimaga

* DJ Omnimaga wonders if Mateo posted in the wrong topic instead of the CEmu topic :P

But nice to see CEmu updates :D . One thing that was missing for the CE was definitively debugging tools, but I didn't realize that they were still missing from CEmu. O.O

I guess that I forget how young this project still is :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

MateoConLechuga

#54
They weren't missing at all :P No other emulator has this feature, which is pretty nice :) By being able to set these things, I mean that you can set them from within your code itself. So when your program executes, you can call a C function or run an asm routine that will add a breakpoint or watchpoint for you.

For example, demo 4 of the toolchain shows you an example of how to interact with CEmu's debugger when writing your C programs :) (Which is why it is posted in this thread, because it requires an update of the toolchain)

Dream of Omnimaga

I thought that WabbitEmu had debug features? That's unless you mean CE emulators, but in this case not only no other CE emulator has debugging features, but none exist at all (except TI-Smartview but that doesn't really count :P)

Thanks for the clarification, though :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

MateoConLechuga

No, CEmu already *had* all of the debugging features that all the other emulators have, and a ton more in addition. This is a yet another new feature that allows for software breakpoints, which you can set in C, hence why I posted in the toolchain thread. You can also set them in assembly too. It's just a thing that was added recently, so most people probably wont have the correct build of CEmu.

Dream of Omnimaga

Oh right. I am confused about that stuff >.<. My bad.



What's an emulator, by the way? (just kidding <.<)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Unicorn

So, @MateoConLechuga if we do things correctly, when we send a certain program to the emulator, it will automatically run it and send key presses if we want it to?
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

MateoConLechuga

@Unicorn Yes, that's exactly what the AutoTester is able to do. If you have already sent the libraries and such, it is a simple matter to make a config file that can load your program into CEmu, run it, and execute key presses and make checks on memory to make sure everything is working right  @Adriweb would be able to explain it a lot better than I can :)

Powered by EzPortal