Página Tres
Las ubicaciones 768 a 831 ($300 a $33F) se utilizan para el manejador de dispositivos y vectores a las rutinas del manejador (dispositivos S:, P:, E:, D:, C:, R: y K:). Un manejador de dispositivo es una rutina utilizada por el sistema operativo para controlar la transferencia de datos en ese dispositivo en particular para la tarea asignada (como leer, escribir guardar, etc.).
Nombre | Decimal | Hexadecimal | Descripción |
---|---|---|---|
DDEVIC | 768 | 300 |
ID del bus de serie del dispositivo (tipo de dispositivo de serie) establecido por el manejador, no modificable por el usuario. Los valores son:
|
DUNIT | 769 | 301 | Número de unidad de disco o dispositivo: de uno a cuatro, configurado por el usuario. |
DCOMND | 770 | 302 |
El número de la operación de disco o dispositivo (comando) que se realizará, establecido por el usuario o por el controlador del dispositivo antes de llamar a SIO. Los comandos del bus serie son:
Todos los anteriores son comandos de dispositivo de disco, excepto escribir y estatus, que también son comandos de impresora (sin verificación). |
DSTATS | 771 | 303 | El código de estado al regresar al usuario. También se usa para establecer la dirección de los datos; si el dispositivo debe enviar o recibir una trama de datos. El controlador de dispositivos utiliza este byte para indicar a SIO qué hacer después de enviar y confirmar la trama de comando. Antes de la llamada SIO, el controlador examina el BIT 6 (uno es igual a recibir datos) y el BIT 7 (uno es igual a enviar datos). Si ambos bits son cero, entonces no hay transferencia de datos asociada con la operación. Ambos bits establecidos en uno no son válidos. SIO lo usa para indicar al controlador el estado de la operación solicitada después de la llamada SIO. |
DBUFLO/HI | 772,773 | 304,305 | Dirección de búfer de datos del origen o destino de los datos que se van a transferir o la información de estado del dispositivo (o los datos del sector del disco). Establecido por el usuario, no es necesario establecerlo si no hay datos transferidos, como en una solicitud de estado. |
DTIMLO | 774 | 306 | El valor de tiempo de espera para el controlador en unidades de un segundo, proporcionado por el controlador para que SIO lo use. El valor de tiempo de espera del casete es 35, poco más de 37 segundos. Los valores del temporizador son 64 segundos por 60 unidades de medida. Inicializado a 31. |
DUNUSE | 775 | 307 | Byte no utilizado. |
DBYTLO/HI | 776,777 | 308,309 | El número de bytes transferidos hacia o desde el búfer de datos (o del disco) como resultado de la operación más reciente, establecida por el controlador. También se utiliza para el conteo de datos de sectores defectuosos. Hay un pequeño error en SIO que provoca acciones incorrectas del sistema cuando el último byte en un búfer está en una ubicación de memoria que termina en $FF, como $A0FF. |
PRNBUF | 960, 999 | $3C0, $3E7 | Estas posiciones de la memoria del computador definen una zona especial para la comunicación con la impresora. Cada byte que se desee imprimir debe pokearse en estas posiciones, pero si utilizamos el comando del BASIC LPRINT esta operatoria es automática. |
CASBUF | 1021, 1151 | $3FD, $47F | Estas posiciones de la memoria son utilizadas por el sistema operativo como un Buffer para la grabación o lectura de bloques con la casetera. |