IBM ports on SMUC
ZXNet echo conference «hardware.zx»
From Vlad Sotnikov → To All 8 January 2003
Hello, All!
Subject Explain to a Russian person how to calculate hexadecimal analogues
port 3f0h-3ffh from this abracadabra. Answers like “everything is already explained there” are not
accepted :)
=== Cut ===
The controller decoding circuit allows you to select any input/output port on
IBM PC XT peripheral board connected to SMUC.
I/O ports of IBM devices are decrypted using 10 address lines
(a9...a0). At the same time, according to the IBM specification, the a9 line for “external” IBM devices
PC XT must be in log. 1, which is provided in hardware in SMUC.
There are 9 lines left, but place them all in the ZX Spectrum address space
difficult - it is necessary to ensure decryption of other controller devices.
Therefore, the two highest lines (a8 and a7) are multiplexed - their state is in
I/O operations are static. The value of these addresses should be
pre-recorded in a special control register of the controller. Address
this register in the TR-DOS ZX Spectrum space - 0ffbah. Since the rest
The bits of the control register are used for the internal needs of the
controller, it is necessary to ensure their correct installation.
Setting bits a8 and a7:
D7 D6 D5 D4 D3 D2 D1 D0
0 1 1 1 0 A8 A7 1
Other settings for digits D7, D6, D5, D4, D3 and D0, in addition to the one shown above,
is unacceptable and can lead to controller inoperability. The remaining sevenaddress lines are transmitted directly to the IBM slot. To select an IBM device
it is necessary to provide the full sixteen-digit address of the ZX I/O port
Spectrum, in which you should set the lines for selecting the slot itself and the address in
German The address should be accessed in the TR-DOS address field.
Selecting an IBM slot:
Scorpion A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00
IBM 0 a4 a3 1 1 a2 a1 a0 1 1 1 a6 a5 1 1 0
The symbols aN indicate address lines of input/output ports on IBM PC cards
XT.
An example of accessing the COM1 serial interface card connected to
controller SMUC. The base address of the COM1 device, specified for
IBM-compatible cards - 0x3f8h. First, the contents of the register are determined
control (address lines a8 and a7). For address 0x3f8h this is: a8=1, a7=1,
Therefore, 77h must be written to the control register:
D7 D6 D5 D4 D3 D2 D1 D0
0 1 1 1 0 1 1 1
Next, the address of the external device in the TR-DOS area is calculated, substituting in
table of the corresponding address lines, it turns out 78feh:
Scorpion A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00
IBM 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0
=== Cut ===
* Also sent to HARDWARE.ZX
* Also sent to CODE.ZX
Vega/ex-Style Group.
FIDO: 2:5030/1006.19 ZXNET: 500:812/19 E-mail: vega56@mail.ru