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

Dream of Omnimaga

#285
Do you mean v1.5 is completely broken and to wait for next version or do you mean just the archived sub-programs?


EDIT: @PT_ I think you broke regular getKey. I now use direct input for massaging opossum, but I can no longer get past the intro logo with regular getKey D:

EDIT

Quote*   Walrified post by Streetwalrus on Re: Killing HTTP support on CodeWalrus (site would become HTTPS-only) http://codewalr.us/1262/48791   12:40:35 AM
DJ Omnimaga   Do you know if getKey is supposed to stop working if direct input is also used somewhere later in the program?   12:40:53 AM
MateoC   Huh?   12:41:26 AM
MateoC   idk what PT_ did, but it's probably wrong Tongue   12:41:53 AM
DJ Omnimaga   yeah   12:41:57 AM
DJ Omnimaga   Now i can't get past the it RPG is logo   12:42:05 AM
MateoC   Yes it won't work right   12:42:28 AM
MateoC   Because however PT_ did direct input it probably also disabled interrupts   12:43:00 AM
DJ Omnimaga   Oh I see   12:46:50 AM
DJ Omnimaga   Is there a workaround? Big Frown   12:47:01 AM
DJ Omnimaga   Oh also   12:47:08 AM
DJ Omnimaga   I commented out the code that checks if the user pressed any key (and quit if it's Clear),   12:47:31 AM
DJ Omnimaga   and the result was a crash followed by a Ram clear
  • 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_

Welp, yep, it seems ICE v1.5 is broken somewhere. I guess it's not just direct key input, but also something with loops. I will try to fix it :)

PT_

And... I fixed it! The problem was that something with the standalone getKey (without direct key input) causes the carry flag to be set, and then returns to the main loop. Now ICE reads that the carry flag was set, and will stop parsing. I fixed it and it works fine :D I will reupload it!

PT_

Fixed some bad stuff... just redownload and I hope it will be all fine :)

Dream of Omnimaga

#289
Downloaded, but now I get an error at Line 88 ???

DJ Omnimaga   welp   8:06:21 PM
DJ Omnimaga   now ice gives an error on line 88 x,x   8:06:26 PM
DJ Omnimaga   det(42,178-A,A,(2*A)-36,4   8:06:34 PM
DJ Omnimaga   det(42,X,Y,WIDTH,HEIGHT)FillRectangle_NoClip

I did not change my code since the version I sent you the other day. I think you broke the math operators inside FillRect_NoClip arguments, because det(42 now only works if the arguments don't have any +, -, * and / symbols D: . It seems that real(60 is affected to, so perhaps it's a problem accross the entire program now D:

Suggestion for the commands list: Below each special token, add the original token name in gray italic text (maybe smaller). Also maybe add the corresponding TokenIDE/SourceCoder equivalent.
  • 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_

Fixed and updated:

https://tiplanet.org/forum/archives_voir.php?id=587211

I will add the original token in the commands list in the next version.

Dream of Omnimaga

#291
By the way, would it be possible for next versions to make ICE Compiler so that if a compiling error happens, it returns the exact line of code in 3-bits unsigned integer format rather than 1 bits? Else if the error is past line 255 it gets confusing >.<

Another idea could be to make it like Axe Parser, where if the source code is in RAM, if you press PRGM on an error, it goes straight to the Program editor at the line of code in question. But I remember that in Axe it took ages before this feature becomes stable, since on Unknown errors it usually went berserk.


EDIT I tried the fixed version and now the game compiles perfectly. Only one issue I forgot to mention in previous version, though: The [ character shows up as garbage, while the ] works fine with the text routines.


EDIT: Feature suggestion: getKey(0). Basically, a direct input command that checks if any key is pressed (returns true if that's the case).
  • 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 December 06, 2016, 07:49:56 PM
By the way, would it be possible for next versions to make ICE Compiler so that if a compiling error happens, it returns the exact line of code in 3-bits unsigned integer format rather than 1 bits? Else if the error is past line 255 it gets confusing >.<

Another idea could be to make it like Axe Parser, where if the source code is in RAM, if you press PRGM on an error, it goes straight to the Program editor at the line of code in question. But I remember that in Axe it took ages before this feature becomes stable, since on Unknown errors it usually went berserk.


EDIT I tried the fixed version and now the game compiles perfectly. Only one issue I forgot to mention in previous version, though: The [ character shows up as garbage, while the ] works fine with the text routines.


EDIT: Feature suggestion: getKey(0). Basically, a direct input command that checks if any key is pressed (returns true if that's the case).
Yes I just realized this is a very stupid bug... I will definitely solve it ;)

Well, this would be hard, if experienced ASM programmers took at least some months to get it working right.. don't expect too much from my side :trollface:

Yes, but maybe this is the C library, which has some different characters than the TI-OS set, need to figure out though.

Ah yes, seems interesting, I will try to add that :)

Dream of Omnimaga

Did the lines bug involve going from 99 to :00, then other weird characters? I noticed this happens with variable display when its value is higher than thea mount of digits you want to show, such as 10,000 displaying as :0000 and 17000 displaying as A000.

As for [ maybe @MateoConLechuga might want to look into why the [ char doesn't look right. Maybe a sprite went missing or a typo happened?
  • 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 December 06, 2016, 11:43:33 PM
Did the lines bug involve going from 99 to :00, then other weird characters? I noticed this happens with variable display when its value is higher than thea mount of digits you want to show, such as 10,000 displaying as :0000 and 17000 displaying as A000.

As for [ maybe @MateoConLechuga might want to look into why the [ char doesn't look right. Maybe a sprite went missing or a typo happened?
No, it was supposed to divide the line number by 10 all the times, and then take the remainder and store it as a string. But it didn't get divided by 10 all the times, but other numbers.

MateoConLechuga

Quote from: DJ Omnimaga on December 06, 2016, 11:43:33 PMAs for [ maybe @MateoConLechuga might want to look into why the [ char doesn't look right. Maybe a sprite went missing or a typo happened?
ICE doesn't convert characters to ASCII. Not a problem with the libs :P

Dream of Omnimaga

Ah ok. I thought this was weird that only this character in particular had this problem :P

As for the line numbers, thanks for the explanation PT_ .
  • 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: MateoConLechuga on December 07, 2016, 12:41:47 AM
Quote from: DJ Omnimaga on December 06, 2016, 11:43:33 PMAs for [ maybe @MateoConLechuga might want to look into why the [ char doesn't look right. Maybe a sprite went missing or a typo happened?
ICE doesn't convert characters to ASCII. Not a problem with the libs :P
Is that supposed to do it? It just converts them to the TI-OS font, which is much more logic in my opinion.

PT_

Guess what?



Took me about 6 hours, and the solution was very simple :P

Dream of Omnimaga

Awesome. You even got instant goto working. :D

Does it work with any code size and 2-byte tokens?
  • 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