ICE Compiler
Re: ICE Compiler
I have re-download ICE, and I send it into my calculator, and I compile Pong, it works, thank you very much
-
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 3446
- Images: 75
- Joined: 04 Jul 2014, 14:40
- Location: Clermont-Ferrand 63
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes
- GitHub: Ti64CLi
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Posts: 259
- Joined: 09 Feb 2016, 23:06
- Gender:
- Calculator(s):→ MyCalcs profile
Re: ICE Compiler
Nope, you have to compile it another time. I'll try to reproduce it when I'll be home and send a video
-
STaaVIP++
Niveau 11: LV (Légende Vivante)- Posts: 31
- Joined: 02 Dec 2016, 21:56
- Location: Paris 11
- Gender:
- Calculator(s):→ MyCalcs profile
Re: ICE Compiler
Okay, I've figured out why they won't work together. PHASM uses a hook to run something before ICE starts, and loads the byte 1 into (pixelShadow2). Then ICE runs, but whatever program you have, after ICE is ready with compiling, it clears pixelShadow, pixelShadow2 and some more RAM areas, which means the 1 disappears. Then the OS switches back to PHASM, and PHASM checks if (pixelShadow) is equal to 1, and if not, it displays a *random* error. So either PHASM need to save the byte somewhere else (use a bit maybe), or I need less cleanup . For now, I can fix it, and I will fix this in the new version I'm currently working on, ICE v1.5 Many many thanks for seeing this
EDIT: no, this is not the bug. I'm still trying to figure out what goes wrong
EDIT: no, this is not the bug. I'm still trying to figure out what goes wrong
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Posts: 259
- Joined: 09 Feb 2016, 23:06
- Gender:
- Calculator(s):→ MyCalcs profile
Re: ICE Compiler
Heh, it seems I kind of know what the bug is. It's not the fault of PHASM, nor ICE, and maybe the OS
When the OS wants to execute an ASM program, it shifts X bytes X places up from UserMem, where X is the ASM program size, just to make place for the ASM program. There is nothing wrong with it, because after execution, these bytes are shifted back. But it can happen that the ASM program also shifts these bytes, and then you get an error! To explain it simple: what you entered at the homescreen, is pointed by some pointers, called curPC and endPC. When the OS moves the bytes forward AND back, these pointers points to the right equation, which was entered at the homescreen. But if the ASM program (ICE) also moves the bytes a bit, then the pointers don't point to the homescreen equation anymore, but instead to *random* stuff, which will very likely generate an error. I'm not sure who needs to solve it, but the OS can't. I will think about it, but for now, don't run "prgmICE", but "Asm(prgmICE"
(See also http://pastebin.com/K8mvTjU2 for my talk with TheMachine02 )
When the OS wants to execute an ASM program, it shifts X bytes X places up from UserMem, where X is the ASM program size, just to make place for the ASM program. There is nothing wrong with it, because after execution, these bytes are shifted back. But it can happen that the ASM program also shifts these bytes, and then you get an error! To explain it simple: what you entered at the homescreen, is pointed by some pointers, called curPC and endPC. When the OS moves the bytes forward AND back, these pointers points to the right equation, which was entered at the homescreen. But if the ASM program (ICE) also moves the bytes a bit, then the pointers don't point to the homescreen equation anymore, but instead to *random* stuff, which will very likely generate an error. I'm not sure who needs to solve it, but the OS can't. I will think about it, but for now, don't run "prgmICE", but "Asm(prgmICE"
(See also http://pastebin.com/K8mvTjU2 for my talk with TheMachine02 )
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Posts: 259
- Joined: 09 Feb 2016, 23:06
- Gender:
- Calculator(s):→ MyCalcs profile
-
STaaVIP++
Niveau 11: LV (Légende Vivante)- Posts: 31
- Joined: 02 Dec 2016, 21:56
- Location: Paris 11
- Gender:
- Calculator(s):→ MyCalcs profile
Re: ICE Compiler
New update, ICE v1.5. I've added direct key inputting, so very fast checking if a key is pressed, small For loops, which are independant of a variable, and much faster, and CompilePrgm( which compiles a subprogram. Additionally, the graphics library version 3 is supported. Maybe more, but I can't remember
Download ICE Compiler
Download ICE Compiler
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Posts: 259
- Joined: 09 Feb 2016, 23:06
- Gender:
- Calculator(s):→ MyCalcs profile
Re: ICE Compiler
Thank you for this update.
I have an unknown error, on the line remainder(L1(theta),16). ICE don't accept most than one character in the first option of remainder ^^
I have an unknown error, on the line remainder(L1(theta),16). ICE don't accept most than one character in the first option of remainder ^^
-
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 3446
- Images: 75
- Joined: 04 Jul 2014, 14:40
- Location: Clermont-Ferrand 63
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes
- GitHub: Ti64CLi
Re: ICE Compiler
Ti64CLi++ wrote:Thank you for this update.
I have an unknown error, on the line remainder(L1(theta),16). ICE don't accept most than one character in the first option of remainder ^^
Found, fixed, updated, thanks
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Posts: 259
- Joined: 09 Feb 2016, 23:06
- Gender:
- Calculator(s):→ MyCalcs profile
Re: ICE Compiler
Guess what?
Took me about 6 hours, and the solution was very simple
Took me about 6 hours, and the solution was very simple
Age of CEmpires I - In progress!
-
PT_Programmeur
Niveau 13: CU (Calculateur Universel)- Posts: 259
- Joined: 09 Feb 2016, 23:06
- Gender:
- Calculator(s):→ MyCalcs profile
Return to Langages alternatifs
Who is online
Users browsing this forum: Bobb, ClaudeBot [spider] and 3 guests