From: jimc@isc-br.ISC-BR.COM (Jim Cathey)
Newsgroups: comp.sys.mac.programmer
Subject: Re: How to convince Mac+ it has 6-meg of RAM ?????????
Keywords: Mac+, RAM, 6-meg
Date: 13 Apr 92 20:46:14 GMT
Organization: ISC-Bunker Ramo, An Olivetti Company

In article <1992Apr10.101110.4234@donau.et.tudelft.nl> sietze@tardis.et.tudelft.nl (;Sietze Schukking) writes:
>This board would for example insert 2 megB of RAM between address
>6meg and 8meg.
>
>So now the problem again what must i do to let the Mac+ use it?
>
>Somebody suggested something like patching some kind of free memory structure
>to fake the system into believing it got 8megByte of memory with a non-
>relocatable block between 4M and 6M (where the ROM's and SCSI are located).

I tried something like this once.  Back in the days of old, I put a 1
MB bank of RAM into my 512KE.  This was for a non-volatile RAM-disk
that wouldn't go away when the system crashed (which I used for my
Aztec C development work).  Worked like a charm --- the normal system
didn't notice this extra RAM (which I think hid at the 2M point,
somewhere the auto-sizing startup code didn't find it).  And, it was
damned FAST!  However, there were times when I wanted to have more main
memory and forgo the RAM disk.  So, I wrote an application (for
Unifinder & System 3.2 days) that moved the application heap to this
extra bank of RAM.  The system heap (and the video [of course] and all
INIT-allocated RAM) stayed where it was, so I had a bigger than Mac+
sized heap to run in.  I remember I didn't have to change all that many
low-memory variables to make this work (half a dozen or less).  I
certainly didn't have to patch any traps, nor write any INITs, nor do
any other ugly stuff.  I just moved one memory zone (that was ugly
enough, I'm sure).

Everything worked, except (of course) Microsoft applications.  And only
because they refused to follow the rules (anybody remember the 1MB
address-range limit of their early P-code interpreter?)

At the time I wanted to make a unified application heap, that put a
large, fictitious non-relocatable block in there so I could continue
to use the space of the former application heap, but I never got that
working.  It wasn't vital, so I skipped it.  I would probably have
had to patch a trap to do this, so InitApplZone (or whatever) would
invent this bogus block.

All this stuff died a flaming death with Multifinder, not surprisingly.
What was surprising was how new a system it would work with if I used
Finder.  I'm not sure, but I think I remember even one of the System 6
variants would work with it.  If not, certainly it was System 4 or
System 5 that did still work.  Anyway, in order to run MF I redesigned
my memory interface with a switch, so I could get a plain 1MB Mac+
view of memory and leave the extra 512K in the ozone, or else the
original situation.  This is what my home Mac uses to this day.  It's
been quite a while since I threw the RAMdisk switch.  Anymore nothing
will fit on a 1MB 'disk', nor will much interesting in the way of a
development environment run well in 1/2M of heap.

In effect, development today is much slower than it was a few years
ago.  Fortunately I don't really do any at home.

+----------------+
! II      CCCCCC !  Jim Cathey
! II  SSSSCC     !  ISC-Bunker Ramo
! II      CC     !  TAF-C8;  Spokane, WA  99220
! IISSSS  CC     !  UUCP: uunet!isc-br!jimc (jimc@isc-br.isc-br.com)
! II      CCCCCC !  (509) 927-5757
+----------------+
			"PC's --- the junk bonds of the computer industry"