*JH*> You on to a different coffee or something? Years of irritation (TS-DOS bugs), strong motivation after some major breakthroughs, and yes quite a bit of caffeine. ;-)
*JO*> One question, though: how'd you pull it off? *JP*> How did you accomplish it? A few key things lined up all at once: * I have a massive toolkit already built up from the Ultrascreen and WebRom/Teeny++ projects. * The major breakthroughs: The secrets of option ROM coding got completely blown wide open as I was integrating the math fixup routines into my SuperROM for NEC port. * I examined how Cleuseau added its commands to BASIC. Turns out what it does is hook into the ?SN Error handler, walk things back and take a new path. That's how you're able to type *.MIN, .EXPAND,* etc., right at the BASIC prompt. * I've actually had the machine language CIRCLE.CO code for many years just hanging around, the algorithm wasn't my creation. But my integrating the argument parser certainly was. Originally it was just hooking into the NEC's "*H.CMD*" hook, which let me do " *CMD CIRCLE(X,Y),R *" right at the basic prompt or in a program. (This is what the NEC CRT Basic does.) (That hook doesn't exist on the M100 by the way!) But after "?SN Error" handling became a thing (thank you Cleuseau), I could just directly parse the statement line and that opened the door to the M100. Of course the issue with this is that if you're in a BASIC program and have "ON ERROR GOTO", that will trap the statements earlier than my code in the option ROM, so you do have to account for that. You can avoid ON ERROR GOTO considerations by continuing to use the "CMD" syntax though. * Getting all of this to work cross platform is, at this point, mostly trivial. I have what I think might be the most comprehensive Model T RAM/ROM cross reference database <https://www.web8201.net/default.asp?content=modelt_memorymaps/mapview.asp?hx=1> on Web8201 and it's the key to many of these efforts. * I already had the TPDD-specific directory navigation routines in my toolbag from the WebRom/Teeny++ project. It was just a matter of integrating all of it into my new BASIC command handler. And it's handled within the context of basic statement parsing, so you can literally do these things inside of a program: *10 CD FOLDER : PWD : CD .. : PWD* I guess I could say I've been cooking some of this up for years, followed by a relatively recent integration effort. Gary On Fri, Oct 16, 2026 at 7:54 AM Joshua O'Keefe <[email protected]> wrote: > On Oct 15, 2026, at 11:45 PM, Gary Weber <[email protected]> wrote: > > *TS-DOS 4.20 DOS-ON+* > > SARDOS 1.80 > > SARDOS 1.80 is also available for the Model 100 and with every one of the > new DOS-ON keywords. > > ...and one more thing. > > CIRCLE. > > Two ROMs. Two machines. Folders at the Ok prompt. Circles on the screen. > > > Holy cow! Wow! Wow wow! How long have you been cooking this up? It's > wonderful. > > Impressive to say the least. I think I can speak for the entire community > and our descendants when I say: thank you. > > One question, though: how'd you pull it off? > >
