MSX Village forum

La Place des Développeurs routine BIOS BLTVD dans Pratique du MSX2

granced Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 09/10/2009 à 09h18

Messages: 1501

Le 09/02/2010 à 10h22
Je demande quelques explications sur l'explication (paradoxal hein :) ) donnée dans Pratique du MSX2 de la routine BIOS BLTVD à nos maîtres ès programmation.

Dans l'exemple donné pour exécuter un COPY"A:ESSAI.SC7" to (16,32), je saisis ce qui se passe, mais je me demande à quoi correspondent les valeurs en rouge qui entourent le nom du fichier :

ORG 0C000H
;
EXTROM EQU 0015FH
BLTVD EQU 0019DH
FNPTR EQU 0F562H ; pointeur sur le nom de fichier
DX EQU FNPTR+4 ; abscisse du pixel de destination
DY EQU DX+2 ; ordonnée du pixel de destination
ARG EQU DY+7
LOGOP EQU ARG+1 ; opérateur logique
;
DEBUT: LD HL, NOM
LD (FNPTR), HL
LD HL, 10H
LD (DX), HL
LD HL, 20H
LD (DY), HL
XOR A ; ARG doit toujours être mis à zéro !!!
LD (ARG), A
LD (LOGOP), A ; Idem LOGOP
; ; ne pas oublier ceci
LD HL, FNPTR
LD IX, BLTVD
CALL EXTROM
RET
;
NOM: DB 022H,'A:ESSAI.SC7',022H,000H
END DEBUT


MSX un jour, MSX toujours ! :D
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10329

Le 09/02/2010 à 15h25
le code 22H est celui des guillemets " pour respecter la syntaxe du basic
le code 00H défini peut être la fin du nom pour la chaine de caractéres
si on décortique
FNTPR=F562H
DX=F566H ( FNTPR+4)
DY=F568h (DX+2)
ARG=F56F (DY+7)
LOGOP=F570 (ARG+1)

on passe des paramétres en écrivant dans le buffer du mode direct


:noel
Site web    
granced Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 09/10/2009 à 09h18

Messages: 1501

Le 09/02/2010 à 16h01
Merci Jipe ! J'aurais dû me creuser un peu plus la tête pour le coup...

En fait je suis en train d'essayer d'adapter mon programme Basic de scrolling de texte en ASM, mais j'ai moyennement envie de me palucher à la main les données (8192 valeurs, youpi... :| ) qui sont dans mon fichier alpha.sc8 :lol

Comme ça il ne me resterait plus qu'à (hem... :oups ) faire quelques commandes VDP pour refaire le même effet !


MSX un jour, MSX toujours ! :D
Site web    
granced Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 09/10/2009 à 09h18

Messages: 1501

Le 10/02/2010 à 14h49
Je viens de tester la routine, ça marche au poil !! Allez, en route pour de nouveaux essais :d :d


MSX un jour, MSX toujours ! :D
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie