Hi folks,
I just completed a new version of the CLUTLS module. The intention was to include the new ROM images (not included in the V2 version) in the ROMLIB and CLLIB functions, for convenience and completeness sake.
Extending the internal table required more space than the available one, even if using the Library#4 (the rom is really packed). I also didn't want it to be a 8k module, so I started investigating the bank-switching method.
Needless to say I borrowed, copied and stole at length from the HEPAX implementation - which uses the same-page BS technique, and even goes up to 4 banks for future expansions. I don't know if the HEPAX used the IR-Printer BS concept and extended on them, but it sure is an amazing implementation - way trickier and more sophisticated than the crossed-page one used in the Advantage and the CX/OS.
Surprisingly enough I got successful results after a few initial tests, so the CLPOWER module has become a reality.
Not only I managed to meet the original objective, placing the ROM Library table in bank-2, I also enhanced its functionallity by adding the ROM size and type information in the displayed string.
Also ROMLIB is now a prompting function that allows listing the modules by type/category, where the following types exist: (in alphabetical order)
E: Engineering
F: Finance
G: Games
M: Math
S: Science
U: Utils
X: System Extensions.
With more than 160 modules in the library it's very handy to have both alphabetical and content-related search capabilities - and that's exactly what these functions provide now. As before, it supports SST/BST, and the other hot-keys.
But there's more: while I was at it I threw in both a ROM and RAM HEXEDITors, taken from other modules - complete access to your RAM and MMU-mapped ROM. And some more yet, given the huge empty space still available I added the complete UNIT Conversion code -including the Electrical units extensions , and the Unit Catalogs. (-SI, SI-, UCAT). Not bad for a free-ride in bank-2!
The module is now also page#6-compatible, assuming of course there's no printer. This courtesy of the HEPAX, which shows which areas must be left unused so the OS won't believe there's a printer there.
Only a few functions from the CLUTLS_4H have been removed to allow for the FAT entries - and all of them are present in the AMC_OSX module, so not a loss but elimination of redundancy.
POWERCL is also a Library#4-aware module - so you know what that means (once you taste a good thing there's no way back! :-)
Anyone interested just drop me an email, it sure is fun to squeeze all this juice from the venerable machine - on CL-steroids!
Cheers,
'AM
Edited: 2 June 2012, 6:06 a.m.