Specifications

Advanced Topics
4-13
Software (available from Ampro) treat the socket a DOS disk device, containing as much as 1
megabyte of EPROM SSD storage.
Jumper arrays W1 and W2 are used to configure the byte-wide socket for various devices. Two
tables, "Summary of Jumper Array W1" and "Summary of Jumper Array W2", in Chapter 2 list the
signals that appear on the pins of these jumper positions. Figures in Chapter 2 give the jumpering
appropriate for common devices.
Configuration options available from SETUP are: enable/disable, device size, device address, and
the selection of whether the socket is to be automatically enabled at boot time. Note that when an
installed memory component is smaller than the specified device size, its contents will be
"mirrored" (i.e. appear at multiple addresses) within the assigned address space. For example, if a
32K byte EPROM is installed in a socket configured for a 64K byte memory space, duplicate
contents of the device will appear in the lower 32K byte region and the upper 32K byte region.
When the system boots, the parameters in the module's configuration EEPROM are read. At this
time, the BIOS will enable or disable the byte-wide socket based on the configuration stored in the
EEPROM during SETUP. After bootup, the byte-wide socket can be enabled or disabled under
software control using a special ROM-BIOS function provided for this purpose. When the byte-wide
socket is disabled, its address space is available on the PC expansion bus. When the socket is
enabled, its address space is in use by the socket (even if it has no memory component inserted) and
consequently is not available on the bus.
4.5.1 Enabling/Disabling the Byte-wide Socket Under Program Control
The following example shows a simple assembly language routine that can be used to control the
byte-wide memory socket:
MOV AH,0CDh ; AMPRO command
MOV AL,nn ; AMPRO function, Use "03" for socket S0
MOV BX,nn ; Use "00" to turn OFF or "01" to turn ON
INT 13h
4.5.2 Accessing Large Byte-wide Devices
For memory devices larger than 64K, select the 64K byte window size in SETUP. Using the
assembly language routine below, you can select which 64K segment of the memory device appears
in the byte-wide's address space. Table 4-8 shows a 4-bit segment number for each 64K segment in
the memory device. Use this table to get the segment number needed for the upper 4 bits of register
BH in the ROM-BIOS call shown below.