Otros Lenguajes

Principal Arriba

 

horizontal rule

 

INDICE

  1. Introducción
  2. Interrupciones de pantalla
  3. Acceso a puertos, láser, baterías, etc...

INTRODUCCIÓN

El terminal Mip5B puede ser programado en cualquier lenguaje para el entorno Ms-Dos. Esto significa que habrá lenguajes con los que MIPSA no ha trabajado y que dependiendo de sus características podrán necesitar nuestro driver de secuencias de escape o no, es decir, Clipper es un lenguaje que necesitaría nuestro driver, ya que cualquier programa desarrollado en Clipper necesita acceder al driver ansi.sys de secuencias de escape estándar. Si el lenguaje que vaya a utilizar no necesita el driver ansi.sys puede ver a continuación cuales son las interrupciones de pantalla y subservicios estándar con respecto a un PC de sobremesa. Si quiere ver la funcionalidad de nuestro driver de secuencias de escape diríjase a nuestra página de Cobol donde explica este driver.

Volver al índice

INTERRUPCIONES DE PANTALLA

A continuación mostramos una lista con los subservicios soportados por la BIOS v2.31 del terminal Mip5B para la interrupción de video 10h.

 

SUBSERVICIO

DESCRIPCIÓN

SOPORTADO MIP5

00h

ESTABLECER MODO DE VIDEO

NO ESTÁNDAR

01h

ESTABLECER MODO CURSOR

NO

02h

POSICIONAR CURSOR

      SI

03h

LEER POSICIÓN DE CURSOR

NO

04h

NO IMPLEMENTADO

NO

05h

SELECCIONAR PAGINA VIDEO ACTIVA

NO

06h

SCROLL UP

NO ESTÁNDAR

07h

SCROLL DOWN

NO ESTÁNDAR

08h

LEER CARÁCTER Y ATRIBUTO DE LA POSICIÓN DEL CURSOR

NO

09h

ESCRIBIR CARÁCTER Y ATRIBUTO EN POS ACTUAL

NO

0Ah

ESCRIBIR CARÁCTER EN POS ACTUAL

NO

0Bh

ESTABLECER PALETA DE COLORES

NO

0Ch

ESCRIBIR PÍXEL

NO

0Dh

LEER PÍXEL

NO

0Eh

ESCRIBIR CARÁCTER EN PANTALLA Y AVANZAR CURSOR

    SI  

0Fh

LEER MODO DE VIDEO

NO

13h

IMPRIMIR CADENA ASCII

NO

 

El siguiente código fuente representa un ejemplo de cómo construir rutinas para manejar la pantalla del terminal mip5b y su función de video inverso.

 

// MUESTRA UN CARÁCTER POR PANTALLA EN LAS COORDENADAS PASADAS POR PARÁMETRO

/////////////////////////////////////////////////////////////////////////////

void WriteCharXY(char car,int x,int y,char att)

{

 gotoxy(x,y);               // REALIZA UNA LLAMADA AL SUBSERVICIO

 asm {                         // 02h ESTABLECER CURSOR

             push  ax

             push  bx

             mov   ah,0Eh  // SUBSERVICIO ESCRIBIR CARÁCTER TELETIPO

             mov   al,car

             mov   bh,att    // SI ATT = 0, REALIZA VIDEO INVERSO

             int   10h

             pop   bx

             pop   ax

 }

}

 /////////////////////////////////////////////////////////////////////////////

// MUESTRA UNA CADENA POR PANTALLA EN LAS COORDENADAS PASADAS

/////////////////////////////////////////////////////////////////////////////

void WriteXY(char *str,int x,int y,char att)

{

 int n,len;

  //

 // CONTROLAR QUE LA CADENA NO SE SALE DE LA PANTALLA DEL 5B

 len = strlen(str);

 for (n = 0; n < len; n++)

             WriteCharXY(str[n],x + n,y,att)

}

Notas: Las porciones de asm inline presentes en la función WriteCharXY  pueden ser suplidas por llamadas a la función int86x de las librerías estándar del lenguaje C.

Volver al índice

ACCESO AL LÁSER, PUERTOS, BATERÍAS, ETC...

Función que cancela el acceso al láser.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0F8h
; DESCRIPTION : TURN OFF THE BARCODE LASER
; Parameters:
; nothing.
; Returns:
; nothing.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Función que activa el acceso al láser

;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0F9h
; DESCRIPTION : TURN ON THE BARCODE LASER
; Parameters:
; nothing.
; Returns:
; nothing.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Función que permite cambiar los mensajes de la Bios a Español o  a Inglés 

;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0FAh
; DESCRIPTION : SETS THE DRIVER MESSAGES LENGUAGE
; Parameters:
; AL: LANGUAGE TO SET - 1 ingles 0 español
; Returns:
; nothing.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Función que devuelve el nivel de baterías del equipo.

;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0FBh
; DESCRIPTION : READS THE ADC AND RETURN THE BATTERY LEVEL
; DOES ADC_SAMPLES READS AND RETURN THE MIDDLE VALUE.
; Parameters:
; DX: SEGMENT OF A BYTE TO STORE THE VALUE
; BX: OFFSET OF THE BYTE
; Returns:
; [DX:BX] = BYTE VALUE READ FROM ADC
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Función que permite elegir el puerto de comunicaciones del Mip5 que queremos abrir.

;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0FCh
; DESCRIPTION : SETS A CORRECT VALUE FOR THE MAIN 259 (multiplexor) TO ENABLE THE AL PORT
; Parameters:
; AL: PORT TO ENABLE (1 cable, 2 contactos).
; Returns:
; nothing.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Función que permite apagar o encender la luz de la pantalla. 

;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0FDh
; DESCRIPTION : TURN ON-OFF THE BACKLIGHT
; Parameters:
; AL: 1-BACKLIGHT ON 0-BACKLIGHT OFF. IF AL = 0FFh
; BACKLIGHT = NOT BACKLIGHT
; Returns:
; nothing.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Función que dibuja un gráfico en el driver de pantalla.

;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0FEh
; DESCRIPTION : DRAWS A GRAPHIC BUFFER ON THE SCREEN
; Parameters:
; DX: BUFFERS SEGMENT TO DRAW
; BX: BUFFERS OFFSET TO DRAW
; Returns:
; nothing.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

 

Función que permite el acceso a los puertos RS-232 del terminal Mip5B.

;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; PROC : IntService0FCh
; DESCRIPTION : SETS A CORRECT VALUE FOR THE MAIN 259 (multiplexor) TO ENABLE THE AL PORT
; Parameters:
; AL: PORT TO ENABLE (1 cable, 2 contactos).
; Returns:
; nothing.
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Esta función que accede directamente a la Bios permite elegir el puerto de comunicaciones que se va a utilizar. Por parámetro se le pasará el puerto que se quiere utilizar.

El Mip5B dispone de dos puertos de comunicaciones serie:

bullet

Puerto MiniDim. (Situado en la parte superior izquierda.)

bullet

Puerto Contactos (Situado en la parte de atrás del equipo)

Una vez abierto el puerto de comunicaciones la transmisión de datos se haría como en cualquier PC.


Volver al índice

 

 

horizontal rule

 

Home