home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!munnari.oz.au!uniwa!john
- From: john@gu.uwa.edu.au (John West)
- Newsgroups: comp.sys.m68k
- Subject: 68000 exception vectors (was Re: A few Questions...)
- Date: 12 Jan 1993 08:37:13 GMT
- Organization: The University of Western Australia
- Lines: 22
- Message-ID: <1itvvpINNiqj@uniwa.uwa.edu.au>
- References: <steveh.726716248@tasman> <1993Jan11.150601.25120@cc.gatech.edu>
- NNTP-Posting-Host: mackerel.gu.uwa.edu.au
-
- byron@cc.gatech.edu (Byron A Jeff) writes:
-
- >1) Have the whole IVT in EPROM. In this case a decoder is fine, the RAM is
- > not at $0000 because the EPROM is.
-
- >2) Boot from the EPROM then relocate it. This is where the PAL is handy
- > because you can program the states into it. Basically a reset causes
- > a state where the EPROM is mapped to $0000. After the reset vector and
- > initial stack is read (first 8 reads for a 68008, first 4 for a 68000)
- > the state changes mapping RAM to $0000 (so it now contains the IVT) and
- > the EPROM somewhere else.
-
- 3) Keep the EPROM at $0000 and put the vectors in RAM. How? Its easy - the
- vectors in ROM point to short routines (single instructions, in fact) that
- jump through the table in RAM. You lose a few cycles on each one, but who
- really cares?
- The first thing the code must do on reset is set up this table in RAM. This
- must be done before any exception generating devices are enabled.
-
- John West
- --
- For the humour impaired: Insert a :-) after every third word
-