home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.m68k
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!paladin.american.edu!gatech!udel!rochester!cantaloupe.srv.cs.cmu.edu!tgl
- From: tgl+@cs.cmu.edu (Tom Lane)
- Subject: Re: A few Questions on the 68000 and 68008...
- Message-ID: <C0pBJH.42r.2@cs.cmu.edu>
- Sender: news@cs.cmu.edu (Usenet News System)
- Nntp-Posting-Host: g.gp.cs.cmu.edu
- Organization: School of Computer Science, Carnegie Mellon
- References: <steveh.726716248@tasman> <1993Jan11.162236.8907@phx.mcd.mot.com>
- Date: Mon, 11 Jan 1993 18:04:27 GMT
- Lines: 22
-
- gcall@systemname.uucp (Glen Call) writes:
- > You can put RAM just about anywhere. Since the 68k processors vector fetch from
- > $000000 upon power-up or reset, you will want either ROM or some kind of
- > pre-initialized memory (spells ROM to me :-) at 0 following power-up. Many
- > systems just shadow the ROM to $000000 for the first 4 word reads. Why not put
- > ROM at $000000? Reason: the 680000 and 68008 have the vector table fixed at
- > $000000-$0003FF. Many people prefer to have their vector table RAM resident.
-
- HP's 68000-based machines use a different method. The ROM always lives at
- locations 0 and up; the reset vector at location 0 points to startup code,
- also in the ROM. RAM in these systems starts at location $FFFFFFFF and
- grows down for however much RAM you have. The interrupt vectors in (ROM)
- locations 8,12,etc point to RAM locations $FFFFFFFA, $FFFFFFF4, etc, which
- are initialized to contain JMP-abs-long instructions (6 bytes each) to the
- real interrupt handlers. This gives you changeable interrupt vectors
- without any extra hardware to diddle the ROM into and out of location 0.
- It does cost you an extra JMP instruction per interrupt service, though.
-
- If you are using 68010 or newer, a much better solution is to change the VBR
- (interrupt vector base register) to point to RAM after powerup.
-
- regards, tom lane
-