Amstrad Plus Index du Forum

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

*****Conversion Adr Ecran->Adr Crtc

 
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation
Sujet précédent :: Sujet suivant  
Auteur Message
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 2 229

MessagePosté le: Lun 25 Sep - 20:49 (2017)    Sujet du message: *****Conversion Adr Ecran->Adr Crtc Répondre en citant

Bonjour,

Je vous avais proposé, il y a quelques temps déjà, une petite routine qui permettait de convertir une adresse Crtc en adresse écran.
La routine ci-dessous fait juste le contraire.

Code:
 org #a000
;
; Convertir une adresse écran en adresse Crtc
; AsT/iMPact Septembre 2017

       ld hl,#C620 ; hl=adr ecran
;
       srl h
       rr l
       ld a,h
       and %11110000
       rrca
       ld c,a
       ld a,h
       and %1111
       or c
       ld h,a ; en sortie hl=adr convertie crtc
       ret




Explication, hl contient en entrée l'adresse écran à convertir, en sortie hl contient l'adresse Crtc.

_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Publicité






MessagePosté le: Lun 25 Sep - 20:49 (2017)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
roudoudou


Hors ligne

Inscrit le: 14 Juil 2016
Messages: 240
Localisation: LYON

MessagePosté le: Lun 25 Sep - 21:20 (2017)    Sujet du message: *****Conversion Adr Ecran->Adr Crtc Répondre en citant

précisons que ça ne fonctionne que pour les adresses de #C000 à #C7FF
et que pour avoir les autres adresses, on peut utiliser le SSR sur le CPC+


Revenir en haut
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 2 229

MessagePosté le: Lun 25 Sep - 21:52 (2017)    Sujet du message: *****Conversion Adr Ecran->Adr Crtc Répondre en citant

roudoudou a écrit:
précisons que ça ne fonctionne que pour les adresses de #C000 à #C7FF
et que pour avoir les autres adresses, on peut utiliser le SSR sur le CPC+





C'est effectivement utile de le spécifier mais :


1. Ca marche aussi avec toutes les adresses ecrans #0xxx, #4xxx, #8xxx et #cxxx.
2. Un simple res 3,h après l'adresse écran permet d'éviter ce depassement
3. #c800 corresponds également à #3000, c'est seulement le numéro de bloc qui change.


Nous aurons donc une fois corrigé :
Ast a écrit:
Code:
 org #a000
;
; Convertir une adresse écran en adresse Crtc
; AsT/iMPact Septembre 2017

       ld hl,#C620 ; hl=adr ecran
       Res 3,h ; pour eviter le debordement.
       srl h
       rr l
       ld a,h
       and %11110000
       rrca
       ld c,a
       ld a,h
       and %1111
       or c
       ld h,a ; en sortie hl=adr convertie crtc
       ret














Voili voilà !
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 21:33 (2017)    Sujet du message: *****Conversion Adr Ecran->Adr Crtc

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com