APPLICATIONSDIVERS ★ PRENOS PROGRAMOV IZ ZX SPECTRUMA NA AMSTRAD ★

Spectrum --> Amstrad (Moj Micro)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 ★ 

Po najpreprostejši poti prek kasetofonov

Amstradovi (oz. Schneider-jevi) računalniki so v primerjavi z ZX spectrumom in C 64 še razmeroma malo razširjeni in temu primerno je zanje na voljo tudi manj programov. Predvsem za spectrum pa obstaja veliko strokovnih programov iz strojništva, elektromehanike ipd., ki so večinoma napisani v originalnem Sinclairjevem basicu. Prenašanje teh programov na amstrad je v principu zelo enostavno, vendar pa zelo zamudno zaradi veliko tipkanja (kjer se tudi pojavi veliko napak). Oba računalnika je seveda mogoče povezati tudi z vmesniki RS232. vendar morata v tem primeru oba imeti že omenjeni vmesnik, kar pa je precej draga investicija.

Obstaja seveda tudi mnogo enostavnejša pot za prenos podatkov med računalnikoma - to je preko kasetofonov. Amstradova rutina za čitanje podatkov s kasete (CAS READ - &BCA1) je zelo fleksibilna, saj lahko včitava podatke s hitrostmi med 700 in 3600 baudi, in pri tem se tudi sama rutina prilagodi pravilni hitrosti (po višini vodilnega tona). Spectrumova rutina za zapis na kaseto deluje s hitrostjo okoli 1500 bau-dov in ima tudi enak način zapisa: ničla je zapisana s pol krajšim nihanjem kot enica. Treba je torej samo spremeniti vodilni (leader) ton, ki ga oddaja spectrum in že lahko amstrad včitava njegove podatke s CAS READ. Kot je razvidno iz programa za spectrum, je vodilni ton serija enic (198 bytov 255), nato sledi en bit 0 (byte 254), takoj za tem pa sync-byte, ki je v tem primeru 48 (lahko je katerokoli število od 0 do 255). Snemamo v blokih po 250 bytov in zanemarimo kontrolno vsoto, ki jo odda spectrum, ker se tako ali tako vedno razlikuje od tiste, ki jo izračuna amstrad. Blok ne more biti daljši od 256 bytov, ker na vsakih 256 bytov amstradova rutina za včitavanje pričakuje kontrolno vsoto, medtem ko je spectrum ne oddaja. To pomeni, da ni več kontrole pravilnosti včitavanja, zato je pri uporabi tega programa pomembno, da sta glavi kasetofona, na katerega snemamo in amstradovega kasetofona enako nastavljeni (najboljše je seveda, če snemate z istim kasetofonom, na katerem nato predvajate - pri CPC 664 in 6128).

Spectrum izpisuje na zaslonu, koliko blokov je oddal, zato je pametno. da si to številko zapomnite in jo kasneje primerjate s številom včitanih blokov (število mora biti seveda enako). Sam program za snemanje je napisan v dveh verzijah. Verzija v strojnem jeziku se nalaga enostavno s CLEAR 63999:LOAD "" CODE in starta na naslovu 64013. če hočemo snemati basicov program, ki je trenutno v pomnilniku. Program lahko startamo tudi na naslovu 64000. vendar moramo pred tem popokati na naslov 64001 (in 64002) začetek, na naslov 64004 (64005) pa dolžino tistega dela pomnilnika, ki ga želimo posneti na kaseto (najprej nižji, nato višji byte). Druga verzija pa je napisana v basicu. zato ni primerna za snemanje programov v basicu. ampak z njo enostavno posnamemo del pomnilnika (lahko je to tekst nekega urejevalnika besedil, tekst zbirnika . . .). Na kaseto se običajno ne posname natanko željena dolžina, ampak se zaokroži navzgor na 250 bytov (vsi bloki so enako dolgi). To v praksi ne moti. saj pri prenosu programov v basicu računalnik tako ali tako zanemari zadnjih nekaj nesmiselnih bytov (na sporočila o napaki DIRECT COMMAND FOUND pa se ne ozirajte, ker se pojavi šele čisto na koncu).

Glavni del pa je basicov program v amstradu; tokenizirani spectrumov basic prevede v ASCII tekst, ki je že razumljiv za amstrad. Ta program tudi prilagodi ukaze amstradu: vsem funkcijam dodaja oklepaje, če so potrebni (pri ZX niso obvezni), izpušča besedo LET. preimenuje določene ukaze, vrstico nič spremeni v vrstico s številko ena. če je vrstica popolnoma prazna (ima samo svojo številko), doda dvopičje (:), ker sicer amstrad javi napako. Pri ukazih PLOT in DRAW doda pred oba argumenta faktorja »qx« in -qy«. ki ju na začetku programa definiramo kot qx=640/256 qy=400/176. Zato nam potem ni treba več popravljati nobenih grafičnih koordinat, ker se spectrumove koordinate s tem pač avtomatično preračunavajo v amstra-dove. Podobno bi lahko naredili tudi z ukazom PRINT AT x,y, vendar je končni izgled programa veliko lepši, če izpise pač ročno prilagodimo amstradu (podobno tudi INPUT). Tudi redkeje uporabljenih ukazov ta program ne spreminja (npr. BEEP, VAL$, ASN, ACS, INK, PAPER ...). Podobno morate pri ukazih tipa DIM a$(22,11) zadnji argument izpuščati, ker ima v amstradu drugačen pomen. Jasno je, da morate morebitne rutine v strojnem jeziku tudi sami prilagoditi, saj sta operacijska sistema kljub enakemu mikroprocesorju zelo različna.

Program v amstradu omogoča še druge možnosti, ki pa se manj uporabljajo (npr. izpis basica na tiskalnik v originalnem ZX basicu) in jih izbiramo v meniju ali pa dopišemo še svoje (spremenljivka cp pomeni izhodno enoto, 8 printer, 9 kasetofon oz. disketa).
Strojni program za spectrum je podan tudi v DATA stavkih, zato se vam ni treba mučiti z zbirnikom. Sama uporaba amstradovega programa pa je urejena z meniji, tako da dodatna pojasnila niso potrebna. Basicov program za amstrad ni ravno vzor strukturiranega programiranja, ker sem osnovno verzijo programa večkrat dopolnjeval in spreminjal. Dodajanje oklepajev v tej verziji naj bi delovalo brez napak, čeprav je mogoče, da se v zelo zapletenih izrazih, ki vsebujejo operatorje =,<,> pojavi zaoklepaj na napačnem mestu (sam še nisem naletel na tako zapleten izraz).

Zdaj ste verjetno tudi pomislili, ali ne bi šlo tudi nasprotno, z amstrada na spectrum. vendar bi bil prenos v tej smeri bistveno zahtevnejši. predvsem s strani spectruma.

Moj Micro

★ PUBLISHER: Moj Micro
★ ANNÉE: 1987
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTHOR: BENJAMIN BUKOVEC
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Spectrum-Amstrad    (Moj  Micro)    LISTING    SLOVENIANDATE: 2021-11-01
DL: 131
TYPE: PDF
SiZE: 418Ko
NOTE: 7 pages/PDFlib v1.6

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

Lien(s):
» Applications » Programa de Transferencia de Screens do Spectrum para Amstrad (Amstrad Magazine)
» Applications » Spectrum Screen Pictures on your Amstrad / Screen Transfert Utility Spectrum to CPC464
» Applications » Spectrum to Amstrad (Your Computer)
» Applications » Programa de transferencia de pantallas de Spectrum a Amstrad (Amstrad User)
» Applications » Almacenamiento Spectrum-Amstrad (Amstrad Personal)
» Applications » Zx Spectrum Transfer (CPC Amstrad International)
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 507 millisecondes et consultée 628 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.