On Sat, Aug 30, 2014 at 2:49 PM, Brent Hilpert <hilpert at cs.ubc.ca> wrote:
Earlier in the thread:
Really, where? In this thread? Hmm.. don't see it.
"In addition to the typical
address-range enable, S100
memory boards could commonly have two additional enabling schemes:
- Bank enable/disable - allowed memory sizes
greater than 64K by allowing memory boards to be enabled/disabled by
writing to a dedicated I/O port.
Your board/bank needs to be enabled as bank 0 or
bank operation disabled.
- Phantom disable - allowed a memory board to be
disabled at reset and later enabled under program control,
to allow initial overlaying by boot ROMs.
The phantom function should be disabled (the
board should ignore phantom, so its always enabled)
Yep, I've got it now. It's exactly the same situation as in the C-64, which
I'm much more familiar with. The C-64 also has a 16-bit address buss, hence
a 64K memory space. It also has 64K of RAM and around 24K of on-board ROM
with an expansion port for more. So when BASIC is up & running, it
banks-out 24K of RAM and banks-in 3x 8K ROMs - BASIC, kernal and chargen.
This leaves 40K of RAM in the memory space, but the system grabs around 2K
of that for overhead, leaving around 38K for the user.
By changing the value of a register on zero-page (IIRC) you can configure
several different memory maps, with varying amounts of RAM / ROM occupying
various ranges in the space. It's not quite as versatile as the system here
discussed, but it's still the same basic concept serving the same basic
purposes in both systems.
Nothing else in the system should be asserting phantom so it shouldn't
matter whether the phantom jumper is installed, but you could remove it to
be sure. (Sec 1.7)
I was wondering about Phantom.. as yes, it does seem to duplicate the same
functions as banking. But it seems that Phantom is only used upon reset, or
power-up, to +temporarily+ overlay boot code which then "disappears" for
the remainder of the session once it's served its purpose and the phantom
line is released.
So then, asserting Phantom when the system is operating has no effect -
correct? It only acts after a reset event? It would be like the action of a
J-K lfip-flop - the J/K lines cannot change the state of Q on their own,
they only determine what value Q will take on the rising-edge of the next
clock cycle (the reset event, for phantom).
Do I have that right?
Going from what I'm seeing you may have to be
careful to note the
open/closed orientation of the switches, as it appears the installed
switches aren't always consistent with the config diagrams in the manual.
Yes, duly noted.. I saw that.
I actually have the JTS version of that board (same board marketed under a
different name).
The board I'm receiving is marked JTS on the rear.. so I guess we've got
the same one!