APPLICATIONSDIVERS ★ Amstrad Personal ★

Almacenamiento Spectrum-Amstrad (Amstrad Personal)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 ★ 

Técnicamente no existen grandes diferencias entre el hardware que maneja el cassette de un Amstrad CPC al de un Spectrum.

Por este motivo, nada impediría el que se pudieran intercambiar datos entre un Amstrad y un Spectrum a través del cassette si no fuera porque el modo de almacenamiento es diferente. Sin embargo, este problema se puede solucionar mediante software, que es precisamente lo que pretenden estas rutinas.

Para todos aquellos que posean un Amstrad y un Spectrum (cualquiera de los modelos), o que simplemente tengan un Amstrad y alguna cinta de Spectrum, se han pensado estas rutinas en Código Máquina. Teniendo también presentes a los usuarios del Basic, se han agrupado y estructurado en forma de comandos RSX (ReSident eXtensions) que permiten su utilización de forma más clara y sencilla.

Los dos nuevos comandos RSX que manejan estas rutinas son: |LOAD, comienzo |SAVE, comienzo, longitud Siendo comienzo la dirección a partir de la cual se va a cargar o salvar y longitud la cantidad de bytes a salvar. En el caso de Load, la longitud se toma de la cabecera de los datos a cargar, por lo que no es necesario que se especifique.

Estos nuevos comandos sirven sólo para salvar bloques de bytes desde el Amstrad, aunque pueden cargar todo tipo de datos en formato Spectrum; esto es, bloques binarios, programas Basic o matrices numéricas o alfanuméricas. En todos los casos los datos se tratan como si fueran bloques binarios, sin interpretarse de ninguna manera.

Para los conocedores del Código Máquina, los usos de estas rutinas son múltiples, entre ellos el intercambio de datos o incluso de programas en Código Máquina.

Para todos aquellos que quieran atraverse a intercambiar cosas, voy a dar unas cuantas ideas.

En primer lugar, no sería demasiado difícil hacer un programa que adaptara los programas en Basic del Spectrum y los convirtiera en bloques ASCII, que con las modificaciones necesarias se pudieran ejecutar en un Amstrad. Para ello bastaría con interpretar cada una de las líneas del programa en Spectrum y sustituir los códigos de número de línea por su número correspondiente, eliminar los códigos de longitud de línea y los de representación de un número en coma flotante (que empiezan por el código 14) y expandir los códigos de los comandos por su equivalente en ASCII, terminando las líneas con CR (retorno de carro) y LF (avance de línea). Volcando todo en un fichero ASCII, se podría cargar luego desde Basic y corregir todos aquellos comandos inexistentes o de diferente sintaxis en el Basic del Amstrad; sobre todo los relacionados con el manejo de cadenas. Como ayuda en la corrección, sería conveniente el que todos los comandos se dejaran en minúsculas.

Las pantallas también se pueden adaptar. Debido a la superioridad del Amstrad, las pantallas monocromas de Spectrum se pueden adaptar directamente, mientras que las de color sólo exigen un cambio de escala de 256 a 180 puntos y sin problemas de atributos.

Para los interesados en ver funcionar algo, también daré una rutina para adaptar una pantalla de Spectrum a Amstrad, ignorando los atributos. La rutina permite adaptar una pantalla de Spectrum almacenada a partir de la dirección &4000 (del Amstrad) y mostrarla directamente en la pantalla del Amstrad, desde donde se puede salvar para su posterior modificación con alguno de los muchos programas de dibujo que existen.

La rutina es totalmente reubicable, y basta para su utilización con llamarla mediante la orden:

CALL dirección

Donde dirección es la dirección de memoria desde donde se encuentra la rutina. En el listado ensamblador se la almacena a partir de la dirección &9000, para que no interfiera con el resto de las rutinas que están a partir de la dirección &A000.

El programa Basic que gestiona todo esto, podría ser el que aparece como programa ejemplo.

Por último, indicar que las rutinas para cargar y salvar se han temporizado de la forma más aproximada posible, teniendo en cuenta la diferencia de frecuencias de reloj (3,5 Mhz y 4 Mhz) y los redondeos en los tiempos de ejecución de las instrucciones en Amstrad. Todos los valores que se han tenido que cambiar se han extraído y agrupado al principio del listado como B1 a B8 para SAVE y L1 a L8 para LOAD. Todos estos parámetros se pueden modificar si se desea, para cargar y salvar a velocidades diferentes a 1.500 baudios que es la velocidad estándar en un Spectrum. Si los cambios se hacen proporcionalmente en B1 a B8, deben hacerse también proporcionalmente en las cantidades que se restan a 256 en L1 a L8, para que de este modo ambas rutinas se acoplen lo más perfectamente posible. De forma orientativa se muestran como comentario las cantidades que se hubieran empleado, teniendo en cuenta el redondeo de frecuencia que sufre el Amstrad.

El cargador «Saveload» pertenece a la nueva rutina de carga. Debe ser tecleado desde la opción 1 del cargador universal, salvándolo en Binario con el nombre «Spectrum» El programa «CargaRut» es un programa Basic que instala los comandos |SAVE y |LOAD y los deja listos para su uso.

El cargador «Transpan» es un
programa ejemplo y debe también ser tecleado con el cargador universal, grabándolo con el nombre «Pantaca.bin».

Amstrad Personal

★ PUBLISHER: Amstrad Personal
★ YEAR: 1988
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: AMSTRAD PERSONAL 1988
★ AUTHOR: Javier Elices
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Almacenamiento  Spectrum-Amstrad    (Amstrad  Personal)    LISTING    SPANISHDATE: 2022-09-24
DL: 91
TYPE: PDF
SiZE: 913Ko
NOTE: 5 pages/PDFlib v1.6

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

Lien(s):
» Applications » Biomorph
» Applications » Biorhythms**Biorritmos
» Applications » Deutsche CPM Plus BIOS-Meldungen (CPC Amstrad International) GERMAN (CPC Amstrad International)
» Applications » Biorritmos (G.T.S. Editorial)
» Applications » Biomorfos (Amstrad Personal)
» Applications » Biomorphs (Computing with the Amstrad)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» 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/c
Page créée en 529 millisecondes et consultée 463 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.