From: "Sebastian Brueckner" <sb at thebackend.de>
Sent: Wednesday, July 14, 2010 10:27 PM
To: "General Discussion: On-Topic and Off-Topic Posts"
<cctalk at classiccmp.org>
Subject: Re: 68K (ISA) project
On 14.07.10 19:59, Henk Gooijen wrote:
Jup. I was indeed thinking of byte-wide SRAM and EPROM (27512).
To keep things simple (and code efficient / fast) the EPROM will sit
in $FFFF0000-$FFFFFFFF (you need some ROM there for the reset
vector) and the RAM sits at $00000000-$0000FFFF. If you know the
68000, those 2 regions are "zero page" and references are shorter
which means less code bytes and less clock cycles.
I thought all interrupt vectors started from address 0. What do you need
A23 and the high addresses for?
Yes, I stand corrected. The 6800-6809 have the reset and interrupt
vectors at the high end from $FFFF downward. The 68000 fetches reset
and stackpointer from $00000000.
I've read about designs that map ROM to $00 on
boot to load stack pointer
etc. and remap to RAM later on to allow the user program to modify the
interrupt vectors.
ROM from $00000000 is handy as the reset vector must be there.
Remapping to RAM was done by copying the EPROM into RAM, because
in those days EPROM was slower than RAM. Running code from RAM
was simply faster, if the hardware design permitted it.
How do I know then to remap the memory? I'd
imagine it's done by the
monitor program, but I seem to recall that it was a hardware-only
solution. Have to find the article (German c't magazine's "Kat-CE" I
think
it is).
Yes, the copy and transition to RAM was done by the monitor software.
(AFAIK)
Also, are there any grave disadvantages in leaving the
ROM at address $00
and using a jump table in RAM for the interrupts?
I am not sure if I understand correctly. ROM at $0 means either that all
vectors are fixed (which is OK for a finished design where everything is
determined), or the ROM has vectors to a pre-assigned area in RAM
where JMP's are to the actual routine. The latter adds flexibility at the
cost
of some 10 cycles.
I am getting more and more tempted to try and built my
own 68k SBC. Being
born in '84 it seems I missed out on all the interesting computers...
Sebastian
Building an SBC (for any "old" processor) is not too difficult ... the
question
is *what* are you planning to do with it? Do you have a purpose? Building
just for the "building" is not very long lasting ...
- Henk.