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 

*****PrintChar

 
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: 1 956

MessagePosté le: Mar 3 Fév - 20:42 (2015)    Sujet du message: *****PrintChar Répondre en citant

Durant mon périple sur le coding de l'iMPdraw, j'ai eu, comme tout codeur, à réaliser une routine PrintChar qui est une routine utilisée pour afficher les caractères Ascii dans la barre d'info, par exemple.J'avais livré, il y a quelques jour déjà ma version du printchar mode 2 en 53 microsecondes sur le Cpcwiki, et j'ai donc naturellement eu envie de vous faire partager cette routine sur ce forum aussi.


Code:
afftxt   
           ld bc,#C000 ; you know why?
         ld de,fnt ; fnt adress is where is loaded your converted font
          sub 32 ; coz I want to start by space char
           ld h,0
         ld l,a    ; a=char you want to print
           add hl,hl ; x2
          add hl,hl ; x4
          add hl,hl ; x8
            add hl,de ; add new position with your fontchar
           ex de,hl   ; font start in DE
            ld h,b
          ld l,c       ; get screen adr in HL
;
;          here comes the display
;
          ld a,(de)
            ld (hl),a     ; #c0xx
            inc de
            set 3,h      ; #C8xx
           ld a,(de)
            ld (hl),a
            inc de
           set 4,h      ; #D8xx
           ld a,(de)
           ld (hl),a
          inc de
           res 3,h     ; #D0xx
           ld a,(de)
           ld (hl),a
           inc de
          set 5,h     ; #F0xx
            ld a,(de)
           ld (hl),a
            inc de
           set 3,h     ; #F8xx
           ld a,(de)
            ld (hl),a
           inc de
            res 4,h    ; #E8xx
            ld a,(de)
            ld (hl),a
            inc de
            res 3,h    ; #E0xx
            ld a,(de)
            ld (hl),a
            ret



Veuillez noter tout de même que pour pouvoir utiliser cette routine, la fonte devra être transformée. Et oui, si vous regardez bien cette routine, vous verrez bien que l'affichage des lignes n'est pas linéaire (bc26 traditionnel)


Vous avez des questions, parlons en!
_________________
Ast/iMP4CT

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


Revenir en haut
Publicité






MessagePosté le: Mar 3 Fév - 20:42 (2015)    Sujet du message: Publicité

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


Hors ligne

Inscrit le: 10 Sep 2015
Messages: 24
Localisation: Dunkerque

MessagePosté le: Sam 14 Nov - 12:58 (2015)    Sujet du message: *****PrintChar Répondre en citant

Voici la routine que j'ai utilisé pour afficher le texte d'explication dans cpc-aventure :
Code:
        LD      DE,#C000
PrintPage1:
        LD      BC,#8D0
        LD      A,(IX+0)
        INC     IX
        AND     A
        RET     Z
        LD      L,A
        LD      H,7
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL                    ; police en #3800
        LD      A,D
        LDI
        DEC     DE
        ADD     A,B
        LD      D,A
        LDI
        DEC     DE
        ADD     A,B
        LD      D,A
        LDI
        DEC     DE
        ADD     A,B
        LD      D,A
        LDI
        DEC     DE
        ADD     A,B
        LD      D,A
        LDI
        DEC     DE
        ADD     A,B
        LD      D,A
        LDI
        DEC     DE
        ADD     A,B
        LD      D,A
        LDI
        DEC     DE
        ADD     A,B
        LD      D,A
        LDI
        LD      A,D
        ADD     A,C
        LD      D,A
        JR      PrintPage1


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 21:05 (2017)    Sujet du message: *****PrintChar

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