On 2014-Aug-30, at 10:17 AM, drlegendre . wrote:
I've been trying to familiarize myself with the
soon-to-arrive SRAM board,
reading through the documentation, googling this & that, etc. But I'm
having trouble understanding a couple of concepts..
(You can d/l the manual for the board at
http://nerp.net/~legendre/altair/
- "California Computer Systems 2016B". There's a pic there as well.)
I get that the S-100 memory space is organized into 16 blocks of 4096
(8-bit) bytes, with the high-order digit in the memory address denoting the
block number (0XXX-FXXX). This would correspond to address lines A12-A15.
Likewise, I get that the SRAM board is organized into 4 blocks of 4096
bytes per block, and that with the corresponding DIP switches, I can
individually map each 4K block into any of the 16 blocks in the memory
space. Great, I know how to configure the memory blocks..
But now what is this about 'banks'?
On p.33, section 3.3 the manual states "The 2016B is bank-selectable by
bank port address and bank byte. Thus it is fully compatible with Cromemco,
Alpha Micro and other port-bank-select systems. IT IS NOT COMPATIBLE WITH
ADDRESS-SELECT SYSTEMS SUCH AS IMSAI."
So what does that mean to me? There are apparently two parameters, Bank
Byte and Bank Port Address - and I just can't get what they're about. How
does a bank differ from a block, and why do I need to configure those
settings? And is this card even compatible with the Altair - I don't know
if it uses the former or latter (IMSAI) scheme..
As ever, thanks for your help!
Earlier in the thread:
"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)
"
Confusion can arise from the ambiguity of the word "bank". In S100 systems
"bank" refers to the facility to have turn on and off multiple 64K address
spaces in the system. The CCS manual refers to the 4K blocks on the memory board as
"groups", these are 4K ranges within one 64K address space, distinct from the
multiple-64K-address-space "banks". (Note that the 4K 'groups'
aren't anything to do with S100, it's just an organizational characteristic of
that board.)
You need to disable the bank facility for the board:
Sec 1.4. To make the 2016B bank-independant, .. close the BD switch.
With that done, the bank address and bank byte switches shouldn't matter.
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)
The schematic scan in the pdf is pretty horrible, but if I'm reading it right, upon
power-up the BANK LED should be lit. The BOARD LED should light when the board is
addressed.
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.
I actually have the JTS version of that board (same board marketed under a different
name).