elfprince13 wrote:
tr1p1ea wrote:
What about an OpenLib/ExecLib interface with DCE8 to enable/disable the various hooks?
... still breaks normal math program that aren't targetting DCSE specifically, and doesn't help the situation on DCS7. At least on DCSE, there aren't non-DCS xlib programs, so you should really just disable the libraries entirely for Basic programs with a DCSE header. Still leaves things a mess on the B/W calcs, and TI still hasn't patched OpenLib( to even work with lowercase letters. Did you mean disable the libraries entirely for BASIC programs without a DCSE header? Unfortunately, people still make programs that use the xLIBC libraries but don't have the DCSE header and icon. With that being said, I bump my previous proposal:
KermMartian wrote:
Doors CS 7.2 and Doors CSE 8 both have this. I can detect it and return valid values for complex and imaginary numbers and for all reals except integers 1-14, but dealing with the integers 1-14 properly is harder. tr1p1ea, I recommend we do something about this for Doors CSE 8 ASAP, and figure out what kind of fix to backport later (since it seems not to be a bug people encounter daily (????)). The biggest problems are reals 6, 8, 11, and 14 on the monochrome calculators, and real(9) on the color calculator, since those are the functions that take a single argument. Is there some function that all xLIB-using programs run in practice before using the other real() functions?
In other words, make DCS and DCSE use the normal OS functionality for real() until the first time it is called with multiple arguments, then use the hooked version until the program ends. Honestly, the hardest part would be finding some very safe RAM to store a bit (ie, a binary digit) of state about this. For Doors CS 7 on the monochrome calculators, reals 14, 11, and 8 are the only ones that might be called before a multi-argument real. Doors CSE would be much easier: the online single-argument real() can never be the first xLIBC command called.
elfprince13 wrote:
On a less-complaining-y note, I think it would be awesome to support executing program bundles directly out of groups. You could check the group for the existence of a DCS-specific AppVar with information about what program to treat as the main program, and then auto-extract the resources, execute, and clean up afterwards. This would be fantastic for BASIC developers (and for managing games with lots of levels).
It would be very cool, but a pretty complex thing to implement. Even manipulating levels from user programs is pretty hard, given that the OS bcalls to work on these tasks are incompletely reverse-engineered and poorly documented. I'd say this is firmly on my long-term feature requests list, unfortunately.
tifreak8x wrote:
Request:
det(13,SEARCHPARAM
SEARCHPARAM:
1- All programs/appvars
2- All programs
3- All appvars
Stored back to Str9, names separated via symbol of your choosing (As in you, Kerm, not the user)
This function would be good for programs/games to verify all sub programs are installed, and allow for games to check for level packs.
I'd prefer to make this a function, as in Doors CS, that would list all programs, appvars, or both that started with a certain series of bytes or with a name starting in a certain sequence. I feel like that might be better suited for games, and less suited to silly beginners making halfhearted BASIC shells (not you, of course).
TIFreak8x wrote:
Also, can we get something that lets us bump the brightness back and forth 1 level?
It would be more versatile to let programmers set the brightness to an arbitrary value, but I'm hesitant about the ways that that could be abused.