Maury Markowitz Posted April 25, 2018 Share Posted April 25, 2018 I have a terrible feeling I'm repeating myself here, but if I did ask this before, I can't find it in Google. I recall that one of the many OS upgrades, I want to say Fastchip, included a new line-drawing routine that sped up LINETO. Does this ring any bells? More generally, of all the various speedups that have appeared over the years, is there a list of their features and perhaps a performance comparison? It might be nice to collect all of that in a single place so the emulator guys can put in a switch to select all of the best. Quote Link to comment Share on other sites More sharing options...
kenjennings Posted April 27, 2018 Share Posted April 27, 2018 I thought "Fastchip" was just the floating point package replacement chip for the 800. Quote Link to comment Share on other sites More sharing options...
+David_P Posted April 27, 2018 Share Posted April 27, 2018 You can insert the routines into the XL/XE OS as well and reap the benefits (provided you recalculate the OS checksum). Years ago I built (ore or less by hand) a new OS for my 800xl, with the Fast math routines, an accelerated E: device for GR.0 (filling in part of the International Charset), and a CTRL-SHIFT-P screen dump for GR.0, and recalculated the checksum. Hey... there's an idea for the ABBUC contest... a program to build new OS ROM images & calculate the checksum. Insert routines at any location; make changes (screen colour, OPTION function, FASTCHIP, fast E:, new Charset etc) and voila! 7 Quote Link to comment Share on other sites More sharing options...
Maury Markowitz Posted May 2, 2018 Author Share Posted May 2, 2018 Ok, so it seems I was imagining the LINETO... but that brings me to another question. Am I correct in thinking that there were several replacement math ROMs? I seem to recall reading somewhere that the ones in FastChip were not all that fast compared to the ones in turbo basic. But then perhaps there were two things called FastChip? Can anyone add a little color here? Quote Link to comment Share on other sites More sharing options...
Rybags Posted May 2, 2018 Share Posted May 2, 2018 There's at least 2 Fastchip FP replacements that I've heard of. The original resided within the 2K of the FP Rom and came out pre-XL so in fact was only a 2K replacement ROM for the FP chip on the OS board (Newell ?) I think that it was later incorporated into Omnimon, which I'm fairly sure originated pre-XL as well. Since that is a self-contained 2K set of routines it's easily portable and can be mixed/matched with practically any 3rd party OS replacement out there. There's a later fast FP that also has code living in the $C000 region in the XL. There's benches around that show it's somewhat faster than fastchip in some areas. It's somewhat less portable since it bloats outside of the default 2K but could still be merged into a custom OS with some effort. Turbo Basic is generally Ram based and from what I gather it's improved maths components are self-contained. The system FP points are documented and all over the place within the FP ROM (no nice jump-table like the main part of the OS) which forces 3rd party replacements to also use those entry points to remain compatible. AFAIK, there's no guaranteed way to cherry-pick part of a routine from the ROM and improve part of it by using your own code, e.g. for an FP multiply you either use your own routine entirely or the one in Rom entirely. Of course a totally valid method for something like Turbo Basic is to use your own routines for some things and the OS ones for others, e.g. they might use their own binary to FP routine but still use the OS supplied FP add. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted May 2, 2018 Share Posted May 2, 2018 Turbo BASIC's FP pack has a lot of unrolled code, AFAIK, which is part of the reason it's so fast. Quote Link to comment Share on other sites More sharing options...
+JAC! Posted May 3, 2018 Share Posted May 3, 2018 I always liked the Hype E: screen output acceleator. http://mixinc.net/atari/mae.htmhttps://atariwiki.org/wiki/attach/MAE%20Assembler/HYP.txt 2 Quote Link to comment Share on other sites More sharing options...
dmsc Posted May 4, 2018 Share Posted May 4, 2018 Hi! I always liked the Hype E: screen output acceleator. http://mixinc.net/atari/mae.htm https://atariwiki.org/wiki/attach/MAE%20Assembler/HYP.txt I have an E: accelerator that I'm developing for FastBasic, (loosely based in the HYP.COM handler, but smaller and a little faster), attached is the CC65 sources and the assembled EFAST.COM. Load from any DOS, installed it raises MEMLO by 169 bytes, this is 16 bytes for the handler table, 130 bytes for the PUT routine and 23 bytes for the reset handler. About the mathpack accelerators, I know at least two "modern" implementations, the AltirraOS and the OS++ (from Atari++). Both mathpacks can be used independently of the rest of the OS. efast-1805.zip 5 Quote Link to comment Share on other sites More sharing options...
Maury Markowitz Posted May 4, 2018 Author Share Posted May 4, 2018 This is turning into a fascinating thread! So it sounds to me like the Turbo math package would be too large to use as an outright replacement for the one in the original ROMs - I assume that based on loop unrolling, which would normally increase the size more than any offsetting code cleanup might accomplish. But what about the AltirraOS and OS++ versions? Would these be suitable for drop-in replacements if someone wanted to burn a new ROM for an 800? Are the entry points the same? The E: accelerator also sounds like something that could be drop-in replaced. Are there others I'm forgetting? It's interesting that there's all this low-hanging speedup fruit in the OS, and Atari didn't change one bit of it for the 1200XL. Quote Link to comment Share on other sites More sharing options...
dmsc Posted May 4, 2018 Share Posted May 4, 2018 Hi! This is turning into a fascinating thread! So it sounds to me like the Turbo math package would be too large to use as an outright replacement for the one in the original ROMs - I assume that based on loop unrolling, which would normally increase the size more than any offsetting code cleanup might accomplish. But what about the AltirraOS and OS++ versions? Would these be suitable for drop-in replacements if someone wanted to burn a new ROM for an 800? Are the entry points the same? Both can be used as replacement mathpack by burning to a new ROM. I try testing FastBasic releases with both to detect any incompatibility. The E: accelerator also sounds like something that could be drop-in replaced. Not quite, as the accelerator needs the original handler for all special characters, so there is no space to put it without removing something else. But, Altirra OS E: handler is faster than the original one, but not as fast as the accelerator. Quote Link to comment Share on other sites More sharing options...
gozar Posted May 7, 2018 Share Posted May 7, 2018 Hey... there's an idea for the ABBUC contest... a program to build new OS ROM images & calculate the checksum. Insert routines at any location; make changes (screen colour, OPTION function, FASTCHIP, fast E:, new Charset etc) and voila! I started working on something like this in Action! a couple of years ago... Maybe I should finish it. :-) 3 Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted May 18, 2018 Share Posted May 18, 2018 But what about the AltirraOS and OS++ versions? Would these be suitable for drop-in replacements if someone wanted to burn a new ROM for an 800? Are the entry points the same? Yes. It would be rather pointless if they would not. Note, however, that the Os++ math isn't really much faster. There isn't any additonal ROM space available, so only some minimal improvements had been made, like the conversion from floating point to integer. More would be possible with more ROM space available. Quote Link to comment Share on other sites More sharing options...
+Nezgar Posted June 18, 2018 Share Posted June 18, 2018 I always liked the Hype E: screen output acceleator. http://mixinc.net/atari/mae.htm https://atariwiki.org/wiki/attach/MAE%20Assembler/HYP.txt Oh neat, I've used Hyper E: extensively back in the day, and reading that text file again now, I never noticed that it could be patched into the OS. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.