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

Dream of Omnimaga

Awesome. Thanks for yhe update. Nice work so far. I will try the examples soon. I saw the Flood It screenshot and I liked it. I might experiment a bit with the code to learn, such as adding moving backgrounds and stuff. :P
  • 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

xMarminq_

  • Calculators owned: Ti-84 Plus CE, Ti-84 Plus (can be borrowed from my school)
I don't associate with associations

Dream of Omnimaga

Which link @xMarminq_ ? I clicked the download link in the first post and it works fine...


Also @PT_ does ICE-compiled games and programs erase the screen content and redraw the status bar upon startup? Because I made an ICE program that drew a checkerboard on a certain portion of the LCD, for use in Pokéwalrus, and when the ICE program was ran, the entire screen was erased, the TI-OS status bar redrawn and then the checkerboard drawn. I thought I could use small ICE programs inside BASIC games as I do with Sprites v3.3 and CE Textlib, but alas it seems that I can't :(

I was drawing directly to the LCD in 8-bits mode, by the way. (which was already setup by Sprites v3.3)
  • 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_

#258
@xMarminq_ : I've fixed that link, somehow that link pointed me to CodeWalrus instead of TI-Planet.

@DJ Omnimaga : That is the so-called crt0. When an ICE program will run, which uses det( commands, it draws the statusbar after the program is ready. Maybe I should make it an option to remove it ;)

Dream of Omnimaga

Ah I see. It would definitively be nice if there was an option to remove it, like some hybrid BASIC libs do as an option, so that we can use our own BASIC libraries in the form of small ICE programs. :)
  • 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

Dream of Omnimaga

#260
sorry for double post but here are some suggestions:

1) A scaled sprite command that supports transparency at the same time
2) The ability to use variables for the sprite index rather than just constants. This would be very handy for magic animations.
3) Direct input with the getKey(KEYNUMBER) syntax where it's true or false. This would allow multiple keypresses and also be much more responsive than the standard TI-OS getkey routine.
4) External variable storage (for highscores).


Also bug reports:

1) Filled rectangles larger than 255 pixels width are not supported. They will not display at all. Could you increase the limit to 320 pixels?
2) The det(21,COLOR)   SetTextFGColor command doesn't support color 255 (white). So using white text under the default xLIBC palette is impossible.
3) Either the SetDraw or SwapDraw commands (det(9 and 10) causes a RAM clear.
4) ICE Compiler freezes after compiling if you try to exit while USB is connected.
  • 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

Before you do anything else; pointers. For both absolute and variable pointers; please.

Dream of Omnimaga

Also, I just noticed that for transparent sprites, the ICE documentation lacks any info on how to specify which color you want to be transparent. How do I figure that out?
  • 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

I believe you can check out the C graphx command documentation located here, (scroll down) if it is a C command.
  • 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 ??? ??? ??? ??? ???



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

Dream of Omnimaga

What about people who don't know C? :P I'll probably check anyway, though, but for now I discovered that the transparent color defaults to zero. Which means I'll have some sprite editing to do, because my Opossum uses black :P
  • 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

Quote from: DJ Omnimaga on November 15, 2016, 07:01:55 AM
What about people who don't know C? :P I'll probably check anyway, though, but for now I discovered that the transparent color defaults to zero. Which means I'll have some sprite editing to do, because my Opossum uses black :P

I don't believe you need to know C, if I understand how the C implementation works. Unless @PT_  didn't include the command for it :P
uint8_t gfx_SetTransparentColor(255); -> de(whatever,255

I think. :P
  • 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 ??? ??? ??? ??? ???



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

Dream of Omnimaga

On a side note, I edited my suggestions/bugs report post earlier because I found a 2nd bug: det(21,COLOR)   SetTextFGColor doesn't work with color #255 (white). O.O
  • 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

Yes it does it's just the PT_ hasn't documented how anything works :P As per the documentation in the C header:

/**
* Sets the text foreground (FG), background (BG), and transparent (TP) color indexes
* Returns previous text color index
* Defaults:
*  FG = 0
*  BG = 255
*  TP = 255
*/
uint8_t gfx_SetTextFGColor(uint8_t color);
uint8_t gfx_SetTextBGColor(uint8_t color);
uint8_t gfx_SetTextTransparentColor(uint8_t color);

Dream of Omnimaga

Does it mean that ICE supports several extra arguments that are not documented in the official ICE documentation? I see a transparent text command, except that it is very vague. It seems to me like something that needs to be set to true or false, the way the doc is written.

I guess it's not a big hurry, though, since ICE is still in its infancy and it's an amazing software already. :)
  • 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

Quote from: DJ Omnimaga on November 15, 2016, 07:41:42 AMI guess it's not a big hurry, though, since ICE is still in its infancy and it's an amazing software already. :)
Yep, I agree :) PT_ is doing a really nice job on this; keep up the good work :)

Powered by EzPortal