Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!cbmvax!daveh From: daveh@cbmvax.UUCP Newsgroups: comp.sys.amiga Subject: Re: Non-Recovering Recoverable Ram Disk Message-ID: <2648@cbmvax.UUCP> Date: Wed, 28-Oct-87 17:42:45 EST Article-I.D.: cbmvax.2648 Posted: Wed Oct 28 17:42:45 1987 Date-Received: Sat, 31-Oct-87 10:06:12 EST References: <4320@well.UUCP> Organization: Commodore Technology, West Chester, PA Lines: 46 in article <4320@well.UUCP>, sjm@well.UUCP (Stephen Moehle) says: > Summary: vd0: and slowmemlast > In article <7200019@uiucdcsm> schwager@uiucdcsm.cs.uiuc.edu writes: > > > >expansion. I've got ASDG's recoverable ram disk. It doesn't recover! > >I use Manx Aztec C 3.4a, and I like to put everything on ram disk when > >I work- includes (the ones I need, anyhow), compiler, assembler, linker, > >c.lib, and microemacs; in addition to my most often used cli commands. > > If you have an A500 or A2000 with some true fast memory (more than > the 1 Meg of chip bus memory) and use slowmemlast to place the 512k of > slow fast memory at the end of the free memory list, vd0: will allocate > first out of this slow fast memory which is at a fairly low address. When > a reboot occures, this memory is likely to get trashed and bye-bye vd0:. Right effect, wrong details. The extra motherboard memory, the "slow fast" memory, is actually very high in physical memory; it starts at $C00000. In contrast, CHIP RAM starts at $000000 and expansion bus memory can start at $200000, but always ends by $9FFFFF. The problem with this extra memory is the way the OS detects it. Normally, on a machine without such memory, there are custom chip registers at $C00000. The Amiga OS checks memory at $C00000 and up, something like 64K or 128K at a time, to see if it's memory or chips there. This test involves writing one word in each tested block, and the data that was there is wiped out. It's unfortunate, but no recoverable RAM disks were around when 1.2 was written, so they never considered this possibility. > It seems that slowmemlast confuses vd0: in its attempts to allocate memory > from high addresses down. I suspect that vd0: finds the logical end of RAM. If you run SlowMemLast before you start up vd0:, this memory will be put at the end of the list, where vd0: is looking. I'm not sure what vd0: would do if started up prior to SlowMemLast; that really depends on the allocation scheme that vd0: uses (Perry, you listening?). I suppose a modified SlowMemLast could accept an amount of memory to make even farther back in the list than the SlowMem; would that require renaming the program to SlowMemAlmostLast? > Stephe -- Dave Haynie Commodore-Amiga Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh "The B2000 Guy" PLINK : D-DAVE H BIX : hazy "Computers are what happen when you give up sleeping" - Iggy the Cat