Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!cbosgd!ucbvax!YALE.ARPA!FISCHER-MICHAEL From: FISCHER-MICHAEL@YALE.ARPA Newsgroups: net.micro.atari16 Subject: Re: Accessories Message-ID: <8609120244.AA12469@ucbvax.Berkeley.EDU> Date: Thu, 11-Sep-86 22:45:39 EDT Article-I.D.: ucbvax.8609120244.AA12469 Posted: Thu Sep 11 22:45:39 1986 Date-Received: Fri, 12-Sep-86 07:33:06 EDT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Organization: The ARPA Internet Lines: 24 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 -------