bon voila ce que j'ai fait:
j'ai dl la derniere version de tigcc, et j'ai ajouter ca dans la source de Xlib:
void PxlPut(register int x asm("d0"),register int y asm("d1"),register int c asm("d2"));
asm("
PxlPut:
lsl.w #2,%d2
move.l PxlPut_Label(%pc,%d2.w),%a1;
jmp (%a1)
PxlPut_Label:
dc.l PxlWPut,PxlLPut,PxlDPut,PxlBPut,PxlCPut
PxlWPut:
move.l CGplan,%a0
add.w #32,%d1
add.w #32,%d0
add.w %d1,%d1
move.w %d0,%d3
lsr.w #3,%d0
add.w 0(%a0,%d1.w),%d0
add.w %d0,%a0
not.b %d3
bclr.b %d3,(%a0)
bclr.b %d3,6080(%a0)
rts
PxlLPut:
move.l CGplan,%a0
add.w #32,%d1
add.w #32,%d0
add.w %d1,%d1
move.w %d0,%d3
lsr.w #3,%d0
add.w 0(%a0,%d1.w),%d0
add.w %d0,%a0
not.b %d3
bset.b %d3,(%a0)
bclr.b %d3,6080(%a0)
rts
PxlDPut:
move.l CGplan,%a0
add.w #32,%d1
add.w #32,%d0
add.w %d1,%d1
move.w %d0,%d3
lsr.w #3,%d0
add.w 0(%a0,%d1.w),%d0
add.w %d0,%a0
not.b %d3
bclr.b %d3,(%a0)
bset.b %d3,6080(%a0)
rts
PxlBPut:
move.l CGplan,%a0
add.w #32,%d1
add.w #32,%d0
add.w %d1,%d1
move.w %d0,%d3
lsr.w #3,%d0
add.w 0(%a0,%d1.w),%d0
add.w %d0,%a0
not.b %d3
bset.b %d3,(%a0)
bset.b %d3,6080(%a0)
rts
PxlCPut:
move.l CGplan,%a0
add.w #32,%d1
add.w #32,%d0
add.w %d1,%d1
move.w %d0,%d3
lsr.w #3,%d0
add.w 0(%a0,%d1.w),%d0
add.w %d0,%a0
not.b %d3
bchg.b %d3,(%a0)
bchg.b %d3,6080(%a0)
rts
PxlTest:
move.l CGplan,%a0
add.w #32,%d1
add.w #32,%d0
add.w %d1,%d1
move.w %d0,%d3
lsr.w #3,%d0
add.w 0(%a0,%d1.w),%d0
add.w %d0,%a0
not.b %d3
moveq #0,%d0
btst.b %d3,(%a0)
beq.s _no_bit_plan1
addq #1,%d0
_no_bit_plan1:
btst.b %d3,6080(%a0)
beq.s _no_bit_plan2
addq #2,%d0
_no_bit_plan2:
rts
")
(pxlput et le label de ma fonction asm...)
malheureusement cela ne marche pas.. ca compile, mais ca fait comme si la fonction
n'etait pas appelée...
Faut il ajouter qqc? une balise ou autre?
[edit]Edité par TiMad le 31-03-2002 à 14:06:54[/edit]