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 4 Guests are viewing this topic.

Snektron

Will you implement a modulo operator? (it's been one of the more usefull things in Axe :P)
Quote from: PT_ on April 08, 2016, 08:52:25 PM
In the meantime, has someone a good code in ASM to get all the programs or should I write it myself?
What do you mean?
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


PT_

Quote from: Cumred_Snektron on April 09, 2016, 07:16:53 AM
Will you implement a modulo operator? (it's been one of the more usefull things in Axe :P)
Quote from: PT_ on April 08, 2016, 08:52:25 PM
In the meantime, has someone a good code in ASM to get all the programs or should I write it myself?
What do you mean?
The CE has the token remainder( for that, and I will try to implement it yes.
For my question, I've received some code from Mateo, so I don't need it anymore. :) What I tried to say, was that ICE recognizes programs that starts with a special token, and search them in the VAT.

PT_

Today I've 'worked' on creating the logo, here is my result:

or


Which one is better (I prefer the black background)

Snektron

I actually prefer white, maybe because snow etc is white too
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


123outerme

If you could remove the black outlines on just the holes in the text, I think I'd like the white version a lot better, for the same reason as said above. Or maybe you want to go a light blue route?
  • Calculators owned: TI-84+CSE, TI-nspire Clickpad, TI-84+SE

Dudeman313

I like the black background, but I agree with @123outerme 's outline suggestion.
Or you could do something like this:



but with a gradient with lighter blues at the bottom.
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

Actually, I wonder if keeping a background, but making it tiled (Minecraft style) would be feasible and still look nice? It could be an ice background based on the other one, but made of 16*16 blocks. Otherwise I kinda like the white background.
  • 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

Snektron

That seems like a cool idea, dj. How big is the screenshot now as is?
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


PT_

Quote from: DJ Omnimaga on April 09, 2016, 10:20:22 PM
Actually, I wonder if keeping a background, but making it tiled (Minecraft style) would be feasible and still look nice? It could be an ice background based on the other one, but made of 16*16 blocks. Otherwise I kinda like the white background.
So, just like how xLIBC[E] background work? With a kind of spritesheet etc?
Quote from: Cumred_Snektron on April 10, 2016, 07:06:27 AM
That seems like a cool idea, dj. How big is the screenshot now as is?
Now my whole program is 16K, which means the logo+background is about 15.5K

Dudeman313

Or could you do a cracked ice background? Like DJ's suggestion, but slanted in places?
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

Quote from: PT_ on April 11, 2016, 06:35:46 AM
Quote from: DJ Omnimaga on April 09, 2016, 10:20:22 PM
Actually, I wonder if keeping a background, but making it tiled (Minecraft style) would be feasible and still look nice? It could be an ice background based on the other one, but made of 16*16 blocks. Otherwise I kinda like the white background.
So, just like how xLIBC[E] background work? With a kind of spritesheet etc?
Quote from: Cumred_Snektron on April 10, 2016, 07:06:27 AM
That seems like a cool idea, dj. How big is the screenshot now as is?
Now my whole program is 16K, which means the logo+background is about 15.5K
Yep, like a tile map.
  • 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_

Sooo.....

Long time no post of this project. I'm sorry for that, I am pretty busy with exams and the study next year after the exams, but that doesn't mean I haven't worked on it. As you may know is the Shunting-Yard-Algorithm already done, which means I've started with the part to evaluate the RPN notation stuff. Not very easy, because I want to optimize the output very well, but that also means more statements, and stuff, bla bla bla.... For each operator, there are 4 possibilities:
- <number> <number> <operator>
- <number> <variable> <operator>
- <variable> <number> <operator>
- <variable> <variable> <operator>
Both numbers, is just popping the numbers and operator from the stack, and push the result. And for the other cases, I've written routines to evaluate them and add the output to the program data. For now, it's pretty optimized, and I'm finally happy that I've a screenshot now :D







I've only implemented + and - yet, and I'm busy with *. I hope to make good progress! :)

P.S. Now that I'm posting this post, I see that <number> - <variable> can be shorter: ld a, <number> / ld hl, <variable> / sub a, (hl)

Dream of Omnimaga

Good to see this still alive and kicking. :) Will this auto-optimize certain additions and substractions like explained by Axe Parser's auto-opt text documentation?
  • 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_

Small post despite my final exams: I've 'implemented' an API. That is, when running ICE from an ASM program, it will skip the header and directly search and compile the program. An example would be this:
  ld hl, ICEname
  call _Mov9ToOP1
  call _ChkFindSym
  ex de, hl
  ; skip header
  inc hl
  inc hl
  push hl    ; save for later
    ld hl, varname
    call _Mov9ToOP1
  pop hl
  ld (callAdress), hl
callAdress = $+1
  call $000000
  ; continue

Of course, you can modify it for your own, but the program name should be in OP1 and to skip the ICE header, increment twice the starting data point.
My ICE program would look like this:
  jr noAPI
  jr APIContinue
noAPI:
  header....
APIContinue:
  call _ChkFindSym
etc

Dream of Omnimaga

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?
  • 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

Powered by EzPortal