★ APPLICATIONS ★ DIVERS ★ BUFFER-64 (AMSTRAD SEMANAL) ★![]() |
| Buffer-64 (Amstrad Semanal) | Applications Divers |
El segundo banco de memoria del 6128 es posiblemente el gran olvidado por usuarios y programadores. El difícil manejo de estas 64 K extras, asusta e intimida al programador que no se encuentre muy familiarizado con las técnicas de paginación de memoria, sólo accesibles desde Código Máquina. Nosotros, por nuestra parte, ofrecemos hoy una utilidad que no dudamos es altamente sugerente para usuarios y programadores: un buffer de impresora que aumentará la velocidad de impresión hasta ocho veces. La rutina que presentamos en esta ocasión es capaz de hacer trabajar a la vez [a impresora y el ordenador sin necesidad de largas esperas entre los listados. Cuando se utiliza la impresora para listados, resultados o textos, el ordenador siempre se bloquea durante un tiempo que depende de la longitud de los datos a enviar. En los listados un poco largos, el tiempo de espera puede llegar a ser «eterno». Para que este tiempo se reduzca considerablemente, hemos creado la siguiente rutina. De esta forma no hay que esperar a que se acabe un listado para poder seguir trabajando con el ordenador en otra tarea. Dicha rutina crea un buffer que se encarga de manejar la salida del ordenador hacia la impresora, reduciendo el tiempo de espera y pudiendo contener hasta 65.537 caracteres en el segundo banco de 64 K del CPC 6128. La espera depende del número de caracteres que mandemos a la impresora. Así, por ejemplo, un listado de 25 K tarda tan sólo 33 segundos en darnos el Ready, mientras que si no existiese el buffer y con una impresora de 100 cps, el tiempo sería superior a los 4 minutos. Esta gran diferencia hace que la utilización del buffer sea muy interesante. El programa es compatible con cualquier impresora y se pueden utilizar tantos programas escritos en Basic como algunos escritos en binario, por ejemplo Amsword, Gena-Mona, Tascopy, Masterfile, Mastercalc, etc. El manejo es muy sencillo y se reduce a utilizar normalmente los comandos Basic destinados a la impresora como pueden ser List #8, Print #8, Write #8, Width, etc., o bien las opciones de los distintos programas referidas a la impresora. Al utilizar alguna de estas órdenes o los programas que usen la impresora, los datos que se envían a ésta se van almacenando en el buffer a razón de unos 800 a 1.000 cps. A su vez, la rutina los manda a la impresora, cuando ésta admita más datos, comprobando siempre que está en línea. De esta forma no se pierde ningún dato. El buffer se seguirá vaciando hasta haberlos mandado todos. En cualquier momento podemos enviar más caracteres al buffer, con la sola limitación de llenarlo, algo bastante difícil, si tenemos en cuenta que son 64 K. Además, incluye una secuencia de control para detener la impresora cuando detecte los caracteres &FF y &FE, como si hubiéramos llegado a un final de página. La forma de conseguirlo es incluyendo en el programa la siguiente línea: PRINT #8,CHR$(&FF)CHR$(&FE);Es importante no olvidar el punto y coma final. Los dos caracteres &FF y &FE actúan como códigos de control para el buffer; es decir, no salen en la copia de papel. Cuando la rutina encuentra estos dos caracteres cancela temporalmente el envío de datos a la impresora. Además cambia el color del borde de la pantalla (rojo con franjas azules) y espera a que se pulse la tecla Control para continuar con la impresión en el mismo punto donde la había dejado. Mientras tanto, debemos haber cambiado el papel de la impresora y haberla puesta en línea. Cuando la rutina espera que se pulse Control, el ordenador no puede ejecutar ninguna otra tarea. Por ejemplo si tecleamos el siguiente programa10 FOR i = 1 TO 20 :PRINT #8, “Ejemplo del buffer” :NEXTy lo ejecutamos, teniendo conectada la impresora veremos que, después de imprimir «Ejemplo del buffer» 20 veces, el buffer lee los dos códigos de control de la línea 20, por lo que la impresora se detiene y el color del borde de la pantalla cambia. Ahora colocamos el papel, ponemos la impresora en línea y pulsamos Control. En ese momento el borde de la pantalla vuelve a su |
| ![]() |
|
Page créée en 251 millisecondes et consultée 71 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. |