CODING ★ SERIAL INPUT AND OUTPUT OF CPC AND PCW ★

Serial Input and Output of CPC and PCW
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

CPS8256RS232CCIRKITOutputInput
&E0
&E1
&E2
&E3
&E4
&E5
&E6
&E7
&FADC
&FADD
&FADE
&FADF
&FBDC
&FBDD
&FBDE
&FBDF
&FADF
&FBDF

DART data
DART control
*DO NOT USE*
*DO NOT USE*
8253 load counter 0
8253 load counter 1
*DO NOT USE*
8253 write mode word
DART data (Data Status Port)
DART control (Data Control Port)
DART data (Do not use) Port B
DART control (Do not use) Port B
8253 read counter 0 (CTC)
8253 read counter 1
*DO NOT USE*
*NOT USED*

To disable all Z80 DART = &0000H
To set DTR off, 8 bits/char, TX enable, RTS off = &0068H (break)
To set DTR on, 8 bits/char, TX enable, RTS on = &00EAH (enable send)
Rx Ready and value = &0001H (Rx)
Tx Ready and value = &0004H (Tx)
Data Carrier Detect = &0008H (DCD)
Clear To Send = &0020H (CTS)
Ring Detector = &0011H -- for Voyager modem etc.
Tx Clock Speed address = &0036H (select counter 0)
Rx Clock Speed address = &0076H (select counter 1)

Location of CP/M IOBYTE = &0003H

FOR YOUR REFERENCE

STX = ASCII 2 = HEX 02 = CTRL-B (Start transmission)
ETX = ASCII 3 = HEX 03 = CTRL-C (End of text)
ACK = ASCII 6 = HEX 06 = CTRL-F (Acknowledge)
NAK = ASCII 21 = HEX 15 = CTRL-U (Negative acknowledge)
DC1 = ASCII 17 = HEX 11 = CTRL-Q (XON - Device Control)
DC3 = ASCII 19 = HEX 13 = CTRL-S (XOFF- " " )
NUL = ASCII 00 = HEX 00 = CTRL-à (Fill character)
SOH = ASCII 1 = HEX 01 = CTRL-A (Start of Header)
EOT = ASCII 4 = HEX 04 = CTRL-D (End of transmission)
CAN = ASCII 24 = HEX 18 = CTRL-X (Cancel)
BEL = ASCII 7 = HEX 07 = CTRL-G (Bell)
DLE = ASCII 16 = HEX 10 = CTRL-P (Data link escape)
ETB = ASCII 23 = HEX 17 = CTRL-W (End of transmission block)
ESC = ASCII 27 = HEX 1B = ESC or CTRL-[ or CTRL-ESC

SERIAL PORT SETUP DETAILS:

To generate the full range of baud rates, the DART (or SIO) is set to the divide by 32 mode, and the CTC to either timer or counter mode depending on the baud rate range required. This assumes that the CTC counter inputs are connected to 1.84375 MHz.

Counter mode baud ratesTimer mode baud rates
CTC ratioBaud rateCTC ratioBaud rate
3
6
12
24
48
96
192
19200
9600
4800
2400
1200
600
300
13
26
52
71
104
156
172
600
300
150
110
75
50
45.45

I will try to look more information for the benefit of all Amstrad users.
If you know something that I don't know please tell me. Thanks.

https://CPCrulez.fr

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Programming the Z80 DART on the Amstrad
» Coding » Memory Addresses of Amstrad CP/M
» Coding Src's » David Wild PD desktop RSX library
» Coding Src's » Division 16 bits
» Coding Src's » Execution d'une instruction BASIC en assembleur
» Coding Src's » ROM game run from cartridge
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 025 millisecondes et consultée 1349 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.