Vous n'êtes pas identifié.
Voila j'ai fait des progrés en asm et je vous monbtre mes dernieres nouvelles :
j'ai convertit :
seg=0x1a20+(0x40*page)
_ES=seg;
en asm :
asm{
mov ax,0x40
mul page
add ax,0x1a20
mov es, ax }
et pour la ft setpix, il ;me falait un ft proche de celle de bradn avec les params x,y,page, couleur
j'avais fait un condensé des ft de whyp bpixel et wpixel mais ça ramait donc j'en ai fait une nouvelle :
(bon j'abrege le debut que tout le monde connait)
asm{
mov ax,0x40
mul page
add ax,0x1a20
mov es,ax
mov cx,x
mov dx,y
mov al,couleur
...... bla bla bla
mov bl,es:[si]
clr1 bl,cl
rol al,cl
or bl,bl
mov es:[si],bl }
et tanan, ça marche !!
et ça continue mais dans ma tête !!
ps: j'ai appliqué le conseil de whyp et j'ai fait une nouvelle ft de sprite qui integre la ft de pixel
Voula la structure :
definiotion du seg video (i fois pour toute)
loop c :
ft pixel (sans def de seg video et seulement la ft noire)
voilou
Hors ligne
au lieu de faire
mov ax,0x40
mul page
fais plutot
shl page,6
Tu gagnera une bonne 20aine de cycles. Apres pour le reste, a toi de voir. C pour Space invader ?
@+
Hors ligne
C pour Casio2.h (donc pour spaceinv) et pour tout les gens qui utilisent casio.h
Shl est un decalage de bits et ça equivaut a quoi ?
note que page varien entre ce que tu veut et c un un numero style 1 ou 0
Hors ligne
ouias en fait c au niveau binaire :
1 = 000000001
h40= 01000000
et shl decale le 1 de 1 de 5 pour faire :
result = 01000000
bingo !!
et sin on fait 2=010
et shl 2,6 = 80 !!
merci whyp
et pour ma fonction setpix nouvelle, c bon ou pas ? Je me suis serivt de ta fonction et celle de BradN
Hors ligne