On-Line #82
16 мая 1997
  ATM Turbo  
  Железо  

System - Personal computer ATM Turbo 2 +: Technical Description and Programmer's Guide: Spectrum 128.Sistemny port. Port phone line. Port reading ADC. Port music synthesizer. Printer port and a DAC. Port attributes. Keyboard port. Port curb.

<b>System</b> - Personal computer ATM Turbo 2 +: Technical Description and Programmer's Guide: Spectrum 128.Sistemny port. Port phone line. Port reading ADC. Port
 music synthesizer. Printer port and a DAC. Port
 attributes. Keyboard port. Port curb.
                 SYSTEM


(C) MicroArt
(C) MaxSoft 1995

        Personal computer TURBO 2 +
             PCB version 7.00-7.10
    Technical Description and Programmer's Guide.

        The structure of memory and I / O ports.

         3. SPECTRUM-128 port system

              Access address: # 7FFD
          Picks: A15 = 0, A9 = 1, A1 = 0, WR = 0


   This port is used mainly in the mode of SPECTRUM-128,
however, CP / M it is necessary to quickly change the memory 
card CPM-system <> CPM-users. The developers tried to make this 
place as possible consistent with the firm ZX, but it is not 
possible (see the chapter "hardware error"). 

D0-PAGE0 \
D1-PAGE1 determine which page is imprinted in the regime
D2-PAGE2 / Spectrum-128 address c # C000

D3-SCREEN - this defines the category in which page will we 
find ditsya OSD RAM. 

      mode "SPECTRUM": 0 - 5-th page (from the address # 4000)
                   1 - 7 th page.
      in the mode of CP / M: 0 - 5-th page of the pixels, 1-I 
attributes               1 - 7 th page pixels, the third 
attribute 

D4-ROM2 - this signal by switching the controller selects
      BASIC-128 (1) or BASIC-48 (0). In CP / M switch
      CPM-system (1) or CPM-user (0)

D5-LOCK - write to this bit to "1", we do not allow further 
work to port the bot # 7FFD (this is done for full 
compatibility bridge SPECTRUM-48). 


            4. Port PSTN

              Access address: # 7FFD
          Picks: A15 = 0, A9 = 1, A1 = 0, RD = 0


   Port # 7FFD readable as a flag.

D7 - willingness ADC: 1 - ADC is ready, 0 - is the 
transformation 

     data.

D6 - 1 indicates that the HDD has finished the last command

     (Positioning, recording itp)


D5 - version 7.0 of the board is not involved
D4 - in the board version 7.0 is not involved


               5. Port reading ADC

              Access address: # 7DFD
          Picks: A15 = 0, A9 = 0, A1 = 0, RD = 0


   Used to read the status of the ADC. (These are significant
only able to ADC "done" (see above).


           6. Ports music synthesizer

           Access address: # BFFD, # FFFD
            Picks: A15 = 1, A9 = 1, A1 = 0


   Used to program the music synthesizer
AY-8910 (12).


            7. Printer port and a DAC.

               Access address: # FB
             Picks: A0 = 1, A1 = 1, A2 = 0


   The board implemented a standard interface CENTRONIX. He did 
not requires no initialization. By reading this

port copies the state signal BUSY BIT 7 printer battery.


  Standard output driver on the printer character from register 
C. 

OUT_PRN: IN A, (# FB)
     RLCA
     RET C; C FLAG = 1 return (the printer is not ready)
     LD A, C
     OUT (# FB), A; derive data
     OUT (# 7B), A; pulse strobe
     OUT (# FB), A; reset gate
     RET; C FLAG = 0 Bytes sent


   It must be remembered that this same port-connected 
digital-analog converter. 

            8. MISC I / O PORT

               Access address: # FA
             Picks: A0 = 0, A1 = 1, A2 = 0


   Gates IOWR, IORD displayed on this port system connector
computer. With this port, and port CENTRONIX to your computer, 
you can connect the input devices 256 and 256 output devices 
while maintaining full compatibility with the original. In this 
case, the port address is written in CENTRONIX team-OUT (# FB), 
A, and data is read by the command IN A, (# FA) or written by 
the command OUT (# FA), A. Data bus is buffered on the socket. 
For maintain compatibility all new development is recommended 
to connect, using only this port. 

               9. Port Attributes

               Access address: # FF
 Picks: A0 = 1, A1 = 1, A2 = 1, A3 = 1, A4 = 1, A5 = 1, A6 = 1, 
A7 = 1, DOSEN = OFF, RD = 0 


   This port allows you to read the current on-screen attribute.

              10. Keyboard port

               Access address: # FE
          Picks: A0 = 0, A1 = 1, A2 = 1, RD = 0


   About this port should tell us more. In the standard mode 
(without IBM keyboard) this port has the following appointment. 

D0 - KD1 \
D1 - KD2 \
D2 - KD3 keyboard data entry
D3 - KD4 /
D4 - KD5 /
D5 - Z systemic signal from the PLA on this signal is 
constructed behind the shield of copying fees. Signal is 
activated through      a certain number of clock cycles after 
the arrival of interruption (do not remember exactly what). 
Program, counting is      number, receives a byte which is the 
key races packing BIOS and BDOS ... but in the latest version 
of the 8031      it refused.


D6 - TIN signal read from the tape.
D7 - not used


A8 - KA0 \
A9 - KA1 \
A10 - KA2 \
A11 - KA3 \ Address line keyboard
A12 - KA4 /
A13 - KA5 /
A14 - KA6 /
A15 - KA7 /


   Starting with version 7.00, the computer appeared ms. 8031, 
that dramatically changed the operation of the port # FE and 
gave an opportunity to connect the IBM XT keyboard. 


   When you try to read the contents of the keyboard, the 
processor provides command IN A, (# FE), cocked specials. 
trigger and signal processor stops WAIT. In the 8031 
​​microcontroller interrupt is generated. After the necessary 
procedures for broadcast address lines, the microcontroller 
issues a data bus of the processor state of the keyboard, the 
signal WAIT is reset and the processor continues its work. 


   The presence of 8,031 and an enhanced keyboard (101 keys) 
allows us to simplify survey keyboard CP / M to the simple 
reading of the code Keys, however, it required the introduction 
of additional commands Management 8031, and since the only 
possible way transmit data in 8031, this state is older than 
half of Z80 address bus at the time of reading the port # FE, 
this method is used. 


   Escape sequences the keyboard:

    _ # 55_ - indicates that the next byte is a code
        commands to the keyboard. In response, the keyboard is 
returned to the code # AA - it can be used to         check for 
8031. 


  LD A, # 55

  IN A, (# FE)

  CP # AA

  JR NZ, NO_XT

  LD A, COMM; team (see below)

  IN A, (# FE)

  LD A, ARG1; additional parameters (may be absent)

  IN A, (# FE)

  LD A, ARG2; additional parameters (may be absent)

  IN A, (# FE)


    _ # 00_ - Reads the code key was pressed.


  XOR A

  IN A, (# FE)

  ; In the battery-key code (code list below)


    _ # 80_ - read 1-byte flags keyboard
    LD A, # 80
    IN A, (# FE)

    _ # 40_ - Read 2-byte flags keyboard
    LD A, # 40
    IN A, (# FE)


   Command codes (Note: Before writing the command code should
to Ex. code _ # 55_ to transfer 8031 ​​to the input mode 
commands): 

1 to obtain the 1-byte version number
# 41 get a 2-byte version number
# 81 get 3 bytes of version number
# C1 a 4-byte version number
7 to wipe the keyboard buffer, and all flags
8 DATA installation mode:
     bit 0,1 - adjust the mode
       0 - Sinclair keyboard emulation
       1 - read the key code (the flags are not processed)
       2 - mode of CP / M
       3 - direct reading of a code with a serial port cluster 
viatury 

      bit 7 - mode 0-lat a-rus (for CP / M)

9 to obtain the contents of the memory cell 1
# 49 get the contents of the memory cell 2
# 89 get the contents of the memory cell 3
# C9 get the contents of the memory cell 4
# 0A switch to input Russian characters
# 0B will switch to input Latin characters
# 0C program pause
# 0D reboot
# 10 seconds to get
# 50 to get minutes
# 90 hours to get
# 11 seconds to set DATA
# 51 DATA set minutes
# 91 DATA set the clock
# 12 get the number of
# 52 a month
# 92 a year
# 13 DATA set the number of
# 53 DATA set the month
DATA # 93 set the year
# 14 DATA forcibly installs some signals
     (Installation occurs if the corresponding bit is 1)
      bit 0 = 0
      bit 1 = 0
      bit 2 = 0
      bit 3 DTR
      bit 4 RTI
      bit 5 = 0
      bit 6 = 0
      bit 7 = 0

# 15 DATA forcibly resets some of the signals (reset
       occurs if the corresponding bit is 1 (see com
       # 14)

# 16 read the contents of the port P3
      bit 0 -
      bit 1 -
      bit 2 -
      bit 3 -
      bit 4 VE1
      bit 5 -
      bit 6 -
      bit 7 -

# 17 read the state of the RS232
      bit 0 CD
      bit 1 CTS
      bit 2 RI
      bit 3 -
      bit 4 -
      bit 5 -
      bit 6 -
      bit 7 -


            11. port curbs

               Access address: # FE
          Picks: A0 = 0, A1 = 1, A2 = 1, WR = 0


   This port is somewhat different from the standard SPECTRUM. 
The fact that the CP / M border (and screen) can be any of 
Sixteen colors (from a palette of 64). Therefore, it took an 
extra bit of color, which was wound up on the inverted A3. 

D0 - BRD0 \
D1 - BRD1 color border
D2 - BRD2 /
D3 - TAPEOUT output to tape
D4 - SOUND Loudspeaker
D5 - not used
D6 - not used
D7 - not used
A3 - BRD3 - 3rd bit color (inverse)






Other articles:

B.B.S. News - new station - IMI BBS.

Mosaic - A new version of Pro Tracker'a (Golden Disk Corp).

as advertising - Red Limited Drunkards Group presents: Extrem Tracker v1.32 - new music editor. Inter Mode Player v1.2 - Player tunes.

Advertising - Advertisements and announcements ...

System - Personal computer ATM Turbo 2 +: Technical Description and Programmer's Guide: Spectrum 128.Sistemny port. Port phone line. Port reading ADC. Port music synthesizer. Printer port and a DAC. Port attributes. Keyboard port. Port curb.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Programmers - Adapting programs for TR-DOS # 2.
Feedback - contact the publisher.
Iron - About GMX and what to do with it.

В этот день...   3 December