> >I don't know about MemMan (what ver. nr. are you using?), >but this might help you: > >Using own mapperSWITCH-routines (fast!) >====================================== >If you allocate memory in Dos2 environment, you get a mapperpage ID back in >the A-register. This value corresponds with the value written to the >mapperselect-registers (I/O ports #FC-#FF). > >So instead of using the Dos2 routines for mapperswitching, you can directly >write the value to the I/O-port of the page you want to select. However, >this has some sideeffects. You can't 'get' the current mapperpage with the >routines for that and the (some?) BDOS-routines set back the page to the >'original' page. Dos2 mapperselectroutines are as fast as possible, the only >thing they do is write the value to the mapperport and back it up somewhere >in the memory. The latter is not done when directly accessing the I/O ports >and I don't know if the used adresses are fixed. > >So the problem is that the mapperpages aren't backed up. However, this can >be solved quite easily, the solution is to call the 'official' >mapperselect-routines and set the pages right before you call the BDOS. This >will work fine, and if one calls the BDOS it is clear that speed is not an >issue. > >But please get this right: I am only talking about mapperswitching, not >about having your own allocation-routines (which highly likely won't work >all because the chance is large that you overwrite some other program's >memory, like the mem of LUNA or DOS itself or some other TSR). > Thanks for the idea but memman does memory management just fine for me :) > >More TPA. >========== >Antal, you already know this (I got the trick from you guys)... >If you need more TPA, then you can achieve that by switching away the system >area in page 3. As long as you have your own interruptroutine and don't call >the BDOS this will work fine. Use your own mapperroutines as described >above, and if you call the BDOS then just put back the system area and set >the pages 0-2 using the official mapperselect-routines. Then call the BDOS, >and afterwards put everything back the way you want it to be. > >But now we're going VERY experimental. More TPA is in most cases not needed, >because if you don't use the Dos2-mapperroutines for mapperswitching (but DO >use them for allocating!) then switching a 16k segment only takes about 20 >T-states... It isn't worth the hassle I think. > indeed, isn't worth the hassle and i'm not THAT technical on MSX and i don't need a TPA that large.. still you haven't answered my questions... :) **** MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/) ****
