Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!uwvax!puff!avery From: avery@puff.UUCP (Slippery Jim) Newsgroups: net.micro.apple Subject: Re: ROM to RAM Message-ID: <934@puff.UUCP> Date: Tue, 20-May-86 12:33:59 EDT Article-I.D.: puff.934 Posted: Tue May 20 12:33:59 1986 Date-Received: Fri, 23-May-86 22:49:56 EDT References: <203@neoucom.UUCP> <3440@reed.UUCP> <566@pucc.BITNET> Distribution: net Organization: U of Wisconsin CS Dept Lines: 22 This will be fairly short, as compared to the last few articles on the subject. They have pretty much explained it the way I would. One note about the difference between a ][ or ][+ and a //e is that if, on a ][ or ][+, you have the upper 12k occupied by read-only RAM (tweaking $c080), and you hit reset, the apple uses the RAM's version of the reset vector ($FFFE,$FFFF I think, but I don't have my manuals any more) and will jump to whatever's in those addresses no matter what. This was used for some hard reset trapping in the old days. The //e, on the other hand, replaces the RAM with the ROM monitor and basic whenever you hit reset. The normal address to have in the reset vector is a RAM address to jump to. I believe this address is in page 3. There's another vector next to the reset vector in the rom of interest to some people -- the IRQ vector. This also normally holds a page 3 address, which, I believe, on the ][+, promptly returns. I once wrote an interrupt driven terminal program for the ][+ with the Novation Apple-Cat ][ modem which can actually run in the background! It was very simple, and it took over half of the screen, but you could be on a BBS and be editing and debugging a basic program at the same time! Not bad for a 6502 based micro, huh? Just a couple of thoughts. If you must reply, please use this address: {seismo,ihnp4,allegra,topaz}!uwvax!gumby!bambam!pebbles!avery as I'm no longer on puff.