APPLICATIONSDIVERS ★ COMO CREAR UN RAM DISC PARA EL 128 ★

Bank-128 (Amstrad Semanal)Applications Divers
★ 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 ★ 

El 6128 tiene, como todo el mundo sabe, un segundo banco de memoria de 64K, el cual, por desgracia, no se puede usar desde Basic. Pero sí puede emplearse como disco RAM, y en el artículo os explicamos cómo hacerlo.

BANK-128 es un programa que permite gestionar desde Basic o código máquina las 64K extras para diversos usos. Este programa incluye en el sistema cuatro comandos del tipo RSX que pueden manipular el banco cómodamente. Dos de estos cuatro comandos necesitan determinados parámetros para poder operar , devolviendo un mensaje de error si se omite alguno de ellos o si la operación no se puede realizar con los parámetros introducidos.

La memoria del CPC 6128 está dividida en dos bancos de 64K cada uno, el primero es el normalmente usado para Basic y el segundo necesita ciertas operaciones para ser utilizado.

El segundo banco lo podemos considerar dividido en cuatro bloques de 16K cada uno, y sólo se podrá acceder a él activando el bloque que necesitamos en un momento dado, es decir, al utilizar el banco extra no podremos tenerlo activado en su totalidad sino que lo utilizaremos activando uno de sus cuatro bloques cuando lo necesitemos.

El bloque activado solapa a la RAM de Basic, quedando en la zona de memoria #4000 - #7FFF, es decir, el bloque activado sustituye el segundo bloque de 64K de la RAM de Basic, pudiendo utilizarlo en este momento. Cuando no lo necesitemos, lo desactivaremos, volviendo a ser funcional la RAM de Basic anteriormente solapada.

La subrutina activadora de bloques es la #BD5B; antes de saltar a ella cargaremos el acumulador con un valor u otro, dependiendo del bloque a activar:

A=0 desactiva cualquier bloque
A=4 activa el bloque 1
A=5 activa el bloque 2
A=6 activa el bloque 3
A=7 activa el bloque 4

Los comandos son los siguientes

  • |SAVE: Graba la zona #40—#B0FF en el segundo banco de 64K. Este comando es útil cuando queremos salvar de forma rápida un programa determinado para utilizarlo más adelante sin necesidad de volverlo a cargar del disco.

También es útil para el programador de código máquina al que le interesa salvar un programa antes de acceder a él para comprobar su funcionamiento. Si pulsamos CONTROL, SHIFT y ESC, aunque el sistema es inicializa-do, la RAM EXTRA no lo es, con lo que nuestro programa todavía permanece en ella, pu-diendo recuperarlo si cargamos BANK-128 de nuevo.

|SAVE guarda también las variaciones en el banco EXTRA.

  • |LOAD: Hace la función contraria que |SAVE, cargando en el bloque #40 - #B0FF los contenidos del segundo banco, que previamente habían sido introducidos en éste mediante la orden |SAVE.
  • |BLOCK , n: Activa en la zona #4000-#7FFF el bloque n de l6K del banco extra.

n = 1 bloque 1
n = 2 bloque 2
n = 3 bloque 3
n = 4 bloque 4

Para desactivar cualquiera de estos bloques utilizaremos

|BLOCK,0

  • |MOVE,n1,n2,n3: Se utiliza para realizar rápidamente desplazamientos de memoria.

n1 =dirección origen
n2=dirección destino
n3 = número de bytes a desplazar

Subrutinas y desarrollo del programa

EXP: Produce una expansión del bloque #4000—#7FFF hacia direcciones más altas y más bajas de la siguiente forma:

0 2000 8000 A000 1000
4000 6000 7FFF

CMP: Realiza la operación inversa a EXP, pasando lo expandido a la zona #4000 - #7FFF.

Nota: el resto del progama está comentado en el listado del programa adjunto a estas hojas.

Función general

EXP: expande
CMP: comprime
LOAD: comando
RESET: reestablece los contenidos de las zonas #8000—#B0FF y #40— #3FFF
SAVE: comando
BLOCK: comando
CONT: salto relativo
TABLE: direcciones de mensajes
ILEGAL: direcciones de mensajes
INIT: direcciones de mensajes
DOWN: ejecuta un CHR$(10) y CHR$(13)
PRINT: imprime mensajes en pantalla
BUC: inicio de bucle en PRINT
ERR: visualiza mensaje de error
MOVE: comando
NDO: saltos relativos
DO: saltos relativos
OUT: imprime mensaje de error
BEGIN: inicialización del programa
COMMAN: tablas de los comandos RSX
ORDERS: tablas de los comandos RSX

El programa principal es BANK128.BIN, que se encuentra en código máquina. Este va acompañado de un cargador Basic que imprime información y por supuesto, carga BANK128.BIN, haciendo un CALL &A48F que es la dirección de BEGIN. El nombre del cargador es BANK-128.BAS, pero se puede prescindir de él cuando no se quiere perder un programa Basic que podamos tener en memoria tecleando lo siguiente:

LOAD "BANK128.BIN"
MEMORY &A2FF: CALL &A48F

La única función de BANK-128 (el cargador Basic) es imprimir información y hacer las operaciones indicadas arriba.

BANK128 permite salvar varios programas Basic en el banco extra siempre y cuando éstos no tienen más de 16K. La forma de hacerlo es la siguiente:

|BLOCK, 1
|MOVE&40,&4000,&3FC0:

desplaza el programa al bloque 1

|BLOCK,0

desactiva el bloque 1 Para recuperarlo:

|BLOCK,1
|MOVE,&4000,&40,&3FC0
|BLOCK,0

Podríamos almacenar tres programas más, situándolos en los tres bloques restantes.

SA

★ PUBLISHERS: HOBBY PRESS, Amstrad Semanal
★ YEAR: 1986
★ CONFIG: 128K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: AMSTRAD SEMANAL 1986
★ AUTHOR: Ginés López
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Bank-128    (Amstrad  Semanal)    (ASM-Source)    SPANISH    LISTINGDATE: 2024-05-16
DL: 18
TYPE: PDF
SiZE: 365Ko
NOTE: 1 page/PDFlib v1.6

» Bank-128    (Amstrad  Semanal)    SPANISHDATE: 2024-05-16
DL: 18
TYPE: ZIP
SiZE: 5Ko
NOTE: 40 tracks
.DSK: √

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

Lien(s):
» Applications » Bankgeschäfte (CPC Amstrad International)
» Applications » Bank Account (Popular Computing Weekly)
» Applications » Bank Balancer
» Applications » Screencopy - Bankdateien Als Binardatei (CPC Amstrad International)
» Applications » RSX Bank-Dump (Schneider Magazin)
» Applications » Druckprogramm für Banküberweibungen (Happy Computer)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» 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 041 millisecondes et consultée 66 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.