ICE icon indicating copy to clipboard operation
ICE copied to clipboard

"prgm" command causes all string variables to return null

Open programmer2514 opened this issue 6 years ago • 4 comments
trafficstars

When I run a program with prgmPROGRAM from ICE, all string-type variables return null. If what I am running is BASIC, using Ans and Str1-Str0 causes the ERROR: Undefined error to be thrown.

If ASM is being run from the BASIC program (via the Asm(prgmPROGRAM)), I cannot access any AppVars at all, and though they do not return 0, they return null and the program suddenly exits.

I am not sure if this is an error with ICE, or if it is a problem with the C toolchain. If it is an error with the C toolchain, just tell me and I will open this issue there.

This is a pretty big error, and it would be amazing if someone could fix it.

Thanks, calclover2514

programmer2514 avatar Apr 22 '19 18:04 programmer2514

If you are trying to access the OS strings from ICE, you will need to open them as you would open a program in ICE, just use the variable type 4, using it's token name in single quotes. The "OS strings" in ICE are actually just a way of allocating memory within the program, and have no effect on the actual OS strings. As for the Appvars, that's probably a bug.

beckadamtheinventor avatar Apr 22 '19 18:04 beckadamtheinventor

You misunderstand me. Running TI-BASIC from ICE with the prgm modifier causes TI-BASIC not to be able to access OS strings. The same is true with ASM. If I have a BASIC program containing :Asm(prgmASM), and I run it from ICE with :prgmBASIC, it makes the ASM program unable to access AppVars.

EDIT: This apparently only affects programs written in C or ICE, not ASM. It must be a single routine that this is affecting.

programmer2514 avatar Apr 22 '19 19:04 programmer2514

You should not run C programs from ICE, that's asking for problems.

All C programs clears the free RAM, which ICE uses to store strings and variables too, thus clearing literally all the variables, lists and strings in ICE.

PeterTillema avatar Apr 22 '19 19:04 PeterTillema

Is there a way to clear all these things before running the program? I already set it up to re-declare all the variables after execution of the program

programmer2514 avatar Apr 22 '19 19:04 programmer2514