Search the Community
Showing results for tags 'stevie'.
Found 1 result
Here’s an idea that grabbed my mind and just doesn’t let go, so I need to write about it. I’m playing with the idea of creating a session manager for TI Basic (and possible Extended Basic) It’s a spin-off of the TI Basic integration work I’m doing with Stevie and thought it’s better to discuss in a separate thread. So what is this about? In Stevie I’m now able to jump into TI Basic with a single keypress, do program stuff and return to Stevie with FCTN-9. I can then repeat jumping back and forth, all while the TI Basic program, screen layout and colors is all still there. That is nothing so special, but I’m happy to get it working nonetheless. It’s inspired by the work done by @Tursi with his TI Basic cartridge creator and classic99 functionality. With the difference being that this time it’s all handled on the TI-99/4a itself. The way it works is by setting up a ISR routine before jumping into TI Basic. The ISR then calls the necessary functions to copy VDP memory and scratchpad to SAMS ram. Now here is the nice thing, with SAMS you have lots of memory. This is where I got the idea of a session manager for basic. Some of the functionality I can think of: Have multiple TI Basic/Extended Basic sessions Switch between sessions by using keyboard combination Dump and restore sessions on a fast storage device (e.g. TIPI, HDR), aka “snapshots” Periodically switch between sessions, even while the TI basic program is running (so you get a “faked” multitasking) Exchange data between sessions (not sure how that would work, need to give it some more thoughts) Give basic some kind of API to query and manipulate session state, e.g. set session title, periodically take snapshots by having a corresponding TI basic command => 100 CALL SNAPSHOT(“TIPI.SNAP….” ) Possibility to use the load interrupt to restore a session if it got stuck (not sure about this one, need to give more thoughts). Is anything of the above useful in any form? Probably not. But I think it’s a kinda cool idea I’m going to further explore. Will see what comes out of it. Wish me luck 😀