Subject: Re: Expanded memory in ProDOS Newsgroups: comp.sys.apple2 From: dempson@actrix.gen.nz (David Empson) Date: Sun, 24 Oct 1999 16:32:25 +1300 Message-ID: <1e06s9s.8fd11f1r6zidcN%dempson@actrix.gen.nz> References: <381b8552.4290407@news.kico1.on.wave.home.com> Organization: Empsoft User-Agent: MacSOUP/2.4.2 NNTP-Posting-Host: 202.49.157.176 X-Original-NNTP-Posting-Host: 202.49.157.176 X-Trace: 24 Oct 1999 16:29:48 NZST, 202.49.157.176 Lines: 65 Path: lobby!newstf02.news.aol.com!portc02.blue.aol.com!howland.erols.net!newsfeed.direct.ca!usenet.net.nz!news.iprolink.co.nz!news.actrix.gen.nz!dempson Tail Kinker wrote: > Hi! Can anyone send me some info on how to use the extended memory on > an Apple 2e/c/GS? It depends what sort of memory you're talking about. There are three major types of memory expansion: - IIe auxiliary slot, including the second 64K in a IIc and cards such as the RamWorks. - Standard slot RAM cards, such as Apple's ones for the IIe and IIc, and the RamFactor. - IIgs memory expansion slot. All of these are accessed by the computer in completely different ways. Auxiliary slot cards work by bank switching: most of the computers memory is switched out and replaced with a correspondingly sized memory area from the card. Standard slot cards work by providing a very small window into a memory area which is effectively outside the computer's address space. They can only be used by copying data in and out of normal memory. The IIgs memory expansion slot relies on the extended addressing range of the 65816 processor to allow direct addressing of additional RAM. In all cases, it is very difficult to use the extended memory directly from BASIC. The easiest method by far is to set up the extended memory (any of the three types) as a RAM disk, and use ProDOS commands to load and save data in and out of them as files. I believe there is at least one product which might be more direct help: there is a Beagle Bros program called "Extra K" which allows you to use 128K from BASIC in a IIe, IIc or IIgs in some manner (I've never used it). Other than that, you are looking at having to write machine code to support the additional memory. If you aren't using the extended memory as a RAM disk, you need to be aware of various conventions that have been established for allocating memory outside the base 64K. Some examples: - For an auxiliary slot card, you have to locate and disable the RAM disk driver, then your application has full control over the single auxiliary bank (or multiple banks for a RamWorks or similar). - I'm not sure what conventions there are for using a standard slot RAM card as direct storage instead of a RAM disk. The SmartPort firmware interface is used for transferring data directly in and out of the card. - For the IIgs (under ProDOS-8), you need to use the Memory Manager toolset to allocate memory outside the first 128K, so that you don't step on anything else which is using memory. Under GS/OS, you also have to use the Memory Manager to allocate memory in the first 128K. -- David Empson dempson@actrix.gen.nz Snail mail: P O Box 27-103, Wellington, New Zealand