SOFPJF@UOGUELPH.BITNET (Peter Jaspers-Fayer) (09/10/86)
In Message-Id: <8609091627.AA21723@ames-nas.ARPA> on 09 Sep 86 09:27:35 PDT (Tue), fouts@AMES-NAS.ARPA writes: > There also appears to be no way to unload a loaded desk accessory, > other than changing the .ACC to something and rebooting. This has been a sore point with me for some time. ExcUuUse me, but WHY NOT!? It seems to me that someone asked this several months ago and the reply was something like "it's too difficult" or something. How about it gang, is it feasible to write an accessory loader/unloader? Has it been done? Could anyone upload it if they have written it? Huh, With such a beast, desk accessories could even become useful!
FISCHER-MICHAEL@YALE.ARPA (09/12/86)
This has been a sore point with me for some time. ExcUuUse me, but WHY NOT!? It seems to me that someone asked this several months ago and the reply was something like "it's too difficult" or something. Yes, there's something called "memory fragmentation". There shouldn't in principle be any difficulty in zapping an accessory, but what is the point except to recover the memory it was occupying? But that memory is a little block somewhere that is most likely not contiguous with the rest of free memory since there are likely other desk accessories in the way. To make effective use of that memory, you either need address mapping hardware (which the ST does not have) or you need a memory allocation strategy that is able to make use of fragmented memory or you need a way to move active processes so that you can coalesce the unused blocks of memory. Moving processes is dangerous, for they might have a copy of their own or other processes' base page address tucked away in storage somewhere. One MIGHT be able to get DOS to know about the block of memory freed up by a removed desk accessory so that at least Malloc could use it, but that probably would not help most programs. Your best bet would be to load another smaller desk accessory into the same slot. --Mike Fischer <fischer@yale.arpa> -------
demillo@uwmacc.UUCP (Rob DeMillo) (09/12/86)
In article <8609120244.AA12469@ucbvax.Berkeley.EDU> <FISCHER-MICHAEL@YALE.ARPA> writes: > >Yes, there's something called "memory fragmentation". There shouldn't >in principle be any difficulty in zapping an accessory, but what is the >point except to recover the memory it was occupying? > >--Mike Fischer > <fischer@yale.arpa> Although I don't have the program, it was my understanding that THUNDER! from Batteries Included does exactly this. It is loaded as a desk accessory, and as such takes up 100K. However, it can, at any time, be "released" --- and the 100K that it took up is returned to you...without rebooting. There seem to be ways to do everything...awhile back there was a discussion about whether or not it was possible to successfully switch resolutions from within a program. Most netters said there was not a chance that this could be done, or, at best, that it caused severe side effects...It can, however, be done...there are many programs on the market that do just that: switch from one resolution to another... and I have never observed any bad side effects. On the other side of the coin, I have not been able to do this without side effects - but just because I can't do something doesn't mean it can't be done... -- --- Rob DeMillo Madison Academic Computer Center usenet: {ihnp4,harvard,seismo,topaz,decvax}!uwvax!uwmacc!demillo ARPA: demillo@unix.macc.wisc.edu (now isn't that easier?) ---------------------------------------- "I am not so sure what you want me for! 'War Games' Either your machine is a - Crosby, Stills and Nash fool, or me..."
robt@molihp.UUCP (Robert L Thurlow) (09/15/86)
In article <8609101512.AA12173@ucbvax.Berkeley.EDU> SOFPJF@UOGUELPH.BITNET (Peter Jaspers-Fayer) writes: > >In Message-Id: <8609091627.AA21723@ames-nas.ARPA> >on 09 Sep 86 09:27:35 PDT (Tue), fouts@AMES-NAS.ARPA writes: >> There also appears to be no way to unload a loaded desk accessory, >> other than changing the .ACC to something and rebooting. > >This has been a sore point with me for some time. ExcUuUse me, but >WHY NOT!? It seems to me that someone asked this several months ago >and the reply was something like "it's too difficult" or something. The difficulties ARE great. Code on the ST is relocatable at load time, not position-independant. Most reasonably long jumps will be expressed as absolute jumps once the code has been loaded, and accessories have also had a chance to run once until their 'event_multi' call, and here they are free to look at their location in memory and do other rude stuff. So sure you can boot out accessories, but you can't move and pack the others to use the memory for very much. The best solution is one which can reset the memory pointers, clear the menu register, and then allow you to selectively re-install the desk accessories you want. This is just short of a reboot, and it may be very awkward to not go the whole way. I'm not sure how I would go about the re-install at all, since the best way would be to read the BIOS and GEM source code and be able to mimic what happens on a reboot with accessories, and *that* information is likely proprietary. # UUCP : ...!ubc_vision!molihp!robt Robert Thurlow # # My thoughts are my own, and are void where prohibited by law. # # "There was something fishy about the butler. I think he was a # # Pisces, probably working for scale." -Nick Danger, 3rd Eye #
braner@batcomputer.TN.CORNELL.EDU (braner) (09/20/86)
[] How about calling your accessories xxx.ac2, so they won't boot, and have ONE accessory that lets you install those by name. That way you can install them one by one as the session proceeds and you know what you actually need, and you never have to deal with the problem of reclaiming memory! - Moshe Braner