Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!antares!dcfs018 From: dcfs018@antares.Concordia.ca ( STEPHAN BOHM ) Newsgroups: comp.sys.atari.8bit Subject: Re: 130XE Memory tricks Summary: Beware addresses >=$C000 Message-ID: <1693@clyde.concordia.ca.Concordia.CA> Date: 13 Dec 89 01:45:29 GMT References: <19168@watdragon.waterloo.edu> Sender: usenet@Clyde.Concordia.CA Reply-To: dcfs018@antares.Concordia.CA Distribution: na Organization: Concordia University, Montreal Quebec Lines: 38 In article <19168@watdragon.waterloo.edu> rrwood@lotus.waterloo.edu (Roy Wood) writes: >I've been fiddling about with the bank selectable memory in my 130XE, and [...] >1) copy the ROMs down to lower memory. >2) swap out the ROMs for RAM. >3) copy the "ROMs" from low memory back to their original position, > and thus have the OS completely in RAM. > >I took care to mask out all the interrupts I could think of (SEI, POKMSK at >$10 and it equivalent hardware register, plus the NMI hardware register). >Unfortunately, the machine still hangs. The screen goes futzy, as if the >character set has been redefined as garbage, and there's no response to >keystrokes. (Reset brings it back) By the apparent character set mixup, >it seems that the hardware is not addressing the RAM correctly, or something >like that. > >Any ideas? Did you skip $D000-$D7FF when you copied ROM ($C000-$FFFF) to RAM? Did you take care not to alter the other bits in $D301 (so as not to switch BASIC in or out)? Did you make sure address 106 had the right value (this usually has the value $C0 when no cartridge is plugged in, but if you kick out the OS ROM, the OS might think that everything up to $FFFF is RAM and thus PEEK(106) will be too high and it will set up screen memory at a very high address, wiping out the OS). >Also, what is the second-highest bit in $D301 for? I know the highest-bit >(bit 7) is for masking in/out the self-test ROM, but what is bit 6 for? It's marked 'reserved' but RAM upgrades use it for bank switching. Thus you should leave that bit as is, because otherwise you may interfere with ramdisk handlers and whatever other software uses it (like wordprocessors and spreadsheets, for example). Jean Goulet Electrical Engineering Class of '89 Concordia University Montreal, Canada