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