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

[TI-84+CE] ICE Compiler

Started by PT_, March 25, 2016, 08:14:17 AM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

PT_

Quote from: DJ Omnimaga on May 17, 2016, 04:19:27 PM
When do your finals end by the way?

Also I am unsure if I understand your post. Is that header thing so that people can compile ICE programs from any ASM program they want?
Next Monday, in 6 days. After that, I'm more than happy to continue this :)

Do you know what an API is? I made it such, that you can compile an ICE program within an ASM program, without starting ICE, selecting the program etc. The header is just displaying the logo and selecting the programs.

Dream of Omnimaga

An API is some sort of software routine that lets someone use the software feature in their own, right? (like how we can embed Twitter posts in our own site via some code). Thanks for the clarification, though. I wasn't sure if that was the main purpose of the ICE API or not.

If an ICE program is smaller in source code form than it is in compiled form, then maybe this could be used to save space? :P (eg a game made of multiple files where it only compiles the code it needs at the time, then deletes the compiled program once it's no longer needed before compiling another)
  • 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

PT_

Quote from: DJ Omnimaga on May 17, 2016, 04:49:02 PMIf an ICE program is smaller in source code form than it is in compiled form, then maybe this could be used to save space? :P (eg a game made of multiple files where it only compiles the code it needs at the time, then deletes the compiled program once it's no longer needed before compiling another)
You mean that it first compiles the first program, and if it reaches a subprogram, it first compile it and then run it? That sounds very complicated and hard, and 2) compiling takes (dependant of the size) at least some seconds, so I doubt whether the user will pause the game for a second or so, and then continue.
Remember, the CE has 154K of RAM, so I think that should be enough to compile-in-one. :)

Dream of Omnimaga

The game would be a TI-Basic program that launches ASM programa that compile ICE ones to machine language only when needed, then run them. But it's hard to explain really.
  • 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

SiphonicSugar

WHOA THERE! This is the most amazing thing that I've seen in years besides Walrii!

Instead of thinking of games and stuff like that, I'm going to think about using this to make a whole new CE operating system! (Which I won't be able to run unless I by a CE :()
  • Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration. :P

PT_

Quote from: SiphonicSugar on May 17, 2016, 10:26:50 PM
WHOA THERE! This is the most amazing thing that I've seen in years besides Walrii!

Instead of thinking of games and stuff like that, I'm going to think about using this to make a whole new CE operating system! (Which I won't be able to run unless I by a CE :()
Thanks! :)

But... an operating system is MUCH more as only one simple parser lol. And 2) ICE won't work for floating point numbers, and at least 60% of the normal BASIC programs... :(

Snektron

You could always provide some basic functions like fmul(*x, *y, *result).
BTW, are you going to provide something similar to axioms?
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


PT_

Quote from: Cumred_Snektron on May 18, 2016, 09:49:28 AM
BTW, are you going to provide something similar to axioms?
I haven't thought about that, but that sounds like an incredible idea. Fantastic! Can you show me an example of how that works? What can an Axiom do and how would that look like?

Dream of Omnimaga

Quote from: SiphonicSugar on May 17, 2016, 10:26:50 PM
WHOA THERE! This is the most amazing thing that I've seen in years besides Walrii!

Instead of thinking of games and stuff like that, I'm going to think about using this to make a whole new CE operating system! (Which I won't be able to run unless I by a CE :()
To install a third-party 84+CE OS we need the private RSA key, right?

Also an OS is a lot of work so it's better if ICE remains in program or appvar format.
  • 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

QuoteTo install a third-party 84+CE OS we need the private RSA key, right?
In theory, yes, we'd need that.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

SiphonicSugar

Quote from: PT_ on May 18, 2016, 08:41:47 AM
Quote from: SiphonicSugar on May 17, 2016, 10:26:50 PM
WHOA THERE! This is the most amazing thing that I've seen in years besides Walrii!

Instead of thinking of games and stuff like that, I'm going to think about using this to make a whole new CE operating system! (Which I won't be able to run unless I by a CE :()
Thanks! :)

But... an operating system is MUCH more as only one simple parser lol. And 2) ICE won't work for floating point numbers, and at least 60% of the normal BASIC programs... :(
Well nothing is too much if you have the time...
  • Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration. :P

Dream of Omnimaga

#56
But the problem @SiphonicSugar is that most students need access to the TI-OS. Having to get rid of TI-OS and the risks of user mistakes making it hard to get it back would be enough to deter people from using a third-party OS that can only do one thing. Unless ICE supported dual-booting, I don't think it should become an OS.

Plus making a TI-84+CE OS is currently impossible under currently publicly-available methods anyway.
  • 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

SiphonicSugar

Oh, I guess I should have clarified this earlier: I meant that you would use ICE to make the OS, not turn ICE into an OS. You would obviously have to add some boot features to it from a computer but for people who do not understand anything, they could make the OS in TI-Basic, then have someone else add finishing touches for like pointers or something... I don't know.  :-|
  • Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration. :P

Dream of Omnimaga

It probably depends what feature does the compiler supports. For example, good luck compiling an OS with Axe Parser
  • 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

PT_

Well, making an OS is ICE is EXTREMELY hard but not impossible I would say. Just clarify the whole OS in a string *cough* and copy it to the existing OS :D
IF you wanna make an OS, I would recommend writing it directly in ASM, that is the best way I think. Of course, then you can use ICE to parse the input.

Powered by EzPortal