~~NOTOC~~ ===== REFERENCIA TÉCNICA DEL AMSTRAD CPS8256 ===== ---- Las fuentes de este documento son dos archivos de texto PD, DART.DOC (de SJ Dibble) y AMS-SIO.DAT, que cubren únicamente el puerto serie. Se agradecería información sobre el puerto paralelo y cualquier otra interfaz serie/paralelo. Richard Fairhurst , 1997 **DIRECCIONES DE PUERTO** El CPS8256 utiliza las siguientes direcciones de E/S. Como referencia, los puertos equivalentes en las interfaces Amstrad, Pace y Cirkit para el CPC se incluyen entre paréntesis. | &E0 | (&FADC) | Datos de DART | | &E1 | (&FADD) | Control de DART | | &E2 | (&FADE) | Datos de DART (puerto B) | | &E3 | (&FADF) | Control DART (puerto B) | | &E4 | (&FBDC) | 8253 contador 0 | | &E5 | (&FBDD) | 8253 contador 1 | | &E6 | (&FBDE) | no usado | | &E7 | (&FBDF) | 8253 palabra en modo de escritura | **VELOCIDADES EN BAUDIOS** Para configurar la velocidad de transmisión, envíe &36 al puerto &E7 y dos valores de la tabla (en el orden indicado) al puerto &E4. Para configurar la velocidad de recepción, sustituya &36 por &76. Estos valores se obtienen con el CTC 8253 conectado a 1.84375 MHz. Tenga en cuenta que el 8250 solo es fiable a velocidades de hasta 9600 baudios. Para velocidades más altas, debería sustituirlo por un chip 16550AF, compatible con el 8250. (Gracias a Rob Scott por esta información). | 31250 | &00, &04 | | 19200 | &00, &07 | | 9600 | &00, &0D | | 7200 | &00, &11 | | 4800 | &00, &1A | | 3600 | &00, &23 | | 2400 | &00, &34 | | 2000 | &00, &3F | | 1800 | &00, &45 | | 1200 | &00, &68 | | 600 | &00, &D0 | | 300 | &01, &A0 | | 200 | &02, &71 | | 150 | &03, &41 | | 110 | &04, &70 | | 75 | &06, &83 | | 50 | &09, &C4 | | 45 | &0A, &D9 | **REGISTROS DART** Otras funciones de control implican la programación del DART. Para escribir un valor en un registro, primero envíe el número de registro y luego el nuevo valor a &E1. Para leer un valor, envíe el número de registro y luego podrá ingresarlo desde el mismo puerto. * **__Escribir registro 0__** | &18: | restablecer puerto | | &38: | restablecer bits de error | * **__Escribir registro 3__** | b7 y b6: | bits de datos Rx ( 118 bits, 107, 016, 005) | | b5: | protocolo de enlace de hardware mediante RTS/CTS | | b4 a b1: | deben ser 0 | | b0: | habilita la línea de datos Rx | * **__Escribir registro 4__** |b7 y b6: |modo de reloj DART (establecido en 01)| |b5 y b4: |no utilizados (establecidos en 0)| |b3 y b2: |bits de parada ( 112 bits, 101, 011,5, 00ilegales)| |b1: |tipo de paridad ( 1par, 0impar)| |b0: |verificación de paridad activada/desactivada| * **__Escribir registro 5__** |b7: |DTR habilitado/deshabilitado| |b6 |bits de datos de Tx ( 118 bits, 107, 016, 005)| |b4: | interrupción de envío| |b3: |habilitar línea de datos de Tx| |b2: |no utilizado| |b1: |RTS habilitado/deshabilitado| |b0: |no utilizado| * **__Leer registro 0__** |b7: |interrupción recibida| |b6: |no utilizada| |b5: |CTS| |b4: |indicación de timbre| |b3: |DCD (detección de portadora)| |b2: |búfer de transmisión listo| |b1: |relacionado con interrupción| |b0: |carácter de recepción disponible| * **__Leer registro 1__** |b7: |no utilizado| |b6: |error de trama| |b5: |error de desbordamiento de Rx| |b4: |error de paridad| |b3 a b1: |no utilizado| |b0: |todos enviados|