19124
UTILITAIRE -> Graphisme
© _Public_Domain_ (2019)
 
 
 
Super Symbole
cpc
 
 

NOTICE / MANUAL

TXT (1)

NOTICE TEXTE n° 1 (3.46 Ko)

; Programmation> Philippe Moulin Le 19/06/2019 ORG #A000 ; RSX 'SYMBOLE' POUR LE 'MODE 2' DE L'AMSTRAD SEULEMENT FIXER_LE_RSX LD A, #C9 ; Des le premier appel, on inscrit un 'RET' en debut LD (FIXER_LE_RSX), A ; Pour eviter de rappeler la routine qui fixe le RSX LD BC, AdrNomRSX ; 'BC' pointe sur l'adresse des noms des RSX LD HL, BuffetRSX ; 'HL' pointe sur un buffet de 4 octets reserve par la routine JP #BCD1 ; Fabuleuse routine qui fixe les RSX AdrNomRSX DW NOMduRSX ; 2 octets qui stocks l'adresse des noms JP RSXSYMBOLE ; Suivis du saut en direction de la routine 'SYMBOLE' BuffetRSX DS 4 ; Zone de 4 Octets reserves par le vecteur RSX #BCD1 NOMduRSX ; Adresse des noms des RSX STR "SYMBOLE" ; Nom du RSX qui servira pour les appeles depuis le BASIC ; EXEMPLE >>> |SYMBOLE, Col, Lig, OctetGetD-01, OctetGetD-02, OctetGetD-03, Etc etc... RSXSYMBOLE ; ########## Debut de la routine CP A, 3 ; Il faut 3 parametre au minimum RET C ; Sinon il n'y a rien a afficher SUB A, 3 ; On va remonter les parametres jusqu'a ce que 'IX' pointes LD C, A ; Sur le parametre 'OctetGetD-01' SLA C ; 'IX' contient deux octets pour chaque parametre LD B, 0 ; 'BC'=(Nombre de parametre - 3) * 2 ADD IX, BC ; 'IX' pointe sur le parametre 'OctetGetD-01' INC A ; 'A' contient le nombre de parametre - 2 (Col, Lig) PUSH AF ; Que l'on sauvegarde pour faire une boucle LD H, (IX + 3) LD L, (IX + 2) ; 'HL'=Ligne de 0 a 399 SRL H ; 'HL' Doit etre adapte pour le vecteur RR L ; Et doit etre divise par deux car il n'y a que 200 lignes reellement LD D, (IX + 5) LD E, (IX + 4) ; 'DE'=Colonne de 0 a 639 CALL #BC1D ; Vecteur systeme ('HL'=Adresse d'ecran) POP BC ; 'HL'=positionEcran 'IX'=OctetGetD-01 'B'=NbParametre RSXSYMBOLE_NbParametre ; Debut de la boucle LD A, (IX + 1) ; 'A' contient l'octet a afficher a gauche LD (HL), A INC HL ; On passe a l'octet sur la droite LD A, (IX + 0) ; 'A' contient l'octet a afficher a droite LD (HL), A DEC IX ; On passe au parametre suivant DEC IX ; 2 octets par parametre LD DE, #800-1 ; Il faut aussi descendre d'une ligne de l'ecran ADD HL, DE ; La formule est (HL=HL+#800-nb octets) JR NC, RSXSYMBOLE_LigneDeDessous ; Mais il faut reajuster si on sort de l'ecran LD DE,#C000+80 ; Pour ne pas ecraser les donnees et ne pas faire planter ADD HL, DE ; l'Amstrad CPC... RSXSYMBOLE_LigneDeDessous DJNZ, RSXSYMBOLE_NbParametre ; Et on fait autant de ligne qu'il y a de parametre RET
 



Goto Top
CPC-POWER/CPCSOFTS, programmation par Kukulcan © 2007-2024 tous droits réservés.
Reproduction sans autorisation interdite. Tous les titres utilisés appartiennent à leurs propriétaires respectifs.
Hébergement Web, Mail et serveurs de jeux haute performance