g rajouté le support de A_NORMAL/A_REPLACE, A_REVERSE et A_XOR.
Voici les nouveaux benchs : (pour 0,0 & 159,99)
- VTI 100% : 919.6 ; 921.2 ; 914 ; 915.6
- 89 HW2 : 1271.6 ; 1280.6 ; 1281.6 ; 1271.6 ; 1273
nouvelle src (ac le passage du mode de dessin) :
;© 2002 By Julien MONVILLE
Include "tios.h"
Include "filelib.h"
Include "graphlib.h"
Include "userlib.h"
Include "ziplib.h"
Xdef _main
Xdef _ti89
Xdef _ti92plus
Xdef _comment
Xdef _install_preos
;#######################################
BENCH Set 1
_89 Set 1
;_92 Set 1
USER_TIMER Equ 6
NB_SEC Equ 5
A_NORMAL Equ $F0
A_REPLACE Equ $F0
A_REVERSE Equ $B0
A_XOR Equ $70
XI Equ 0
YI Equ 0
XF Equ 159
YF Equ 99
;#######################################
_main:
IfD BENCH
move.w #$400,d0
trap #1
move.w d0,oldsr
moveq #0,d7
pea NB_SEC*20
move.w #USER_TIMER,-(a7)
jsr tios::OSFreeTimer
jsr tios::OSRegisterTimer
bench_loop:
EndIf
move.w #XI,d0 ;xi
move.w #YI,d1 ;yi
move.w #XF,d2 ;xf
move.w #YF,d3 ;yf
move.b #A_XOR,d6 ;A_XXXXX
bsr drawLine
IfD BENCH
addq.w #1,d7
jsr tios::OSTimerExpired
tst.w d0
beq.s bench_loop
exit: jsr graphlib::clr_scr
addq.w #6,a7
move.w oldsr,d0
trap #1
move.l d7,-(a7) ;d7.w = nb de segments
pea.l output
pea.l buffer
jsr tios::sprintf
lea 12(a7),a7
SetFont #1
WriteStr #2,#40,#4,buffer ;89
jsr tios::GKeyFlush ;ras le bol de quitter trop vite #mad#
jsr userlib::idle_loop
EndIf
rts
IfD BENCH
oldsr: dc.w 0
output: dc.b "nb de segments : %lu !",0
buffer: ds.b 32
Even
EndIf
PS
ExtendeD>qui est pas forcément facile à implenter
heu, soit g pas compris qq chose, soit on n'a pas implementé ça de la meme manière : ça m'a pris exactement 2 lignes de plus (hors de la boucle principale)

:
A_XOR <=> inversion du pixel
A_NORMAL/A_REPLACE <=> armement du pixel
A_REVERSE <=> desarmement du pixel
C bien ça que vous entendez par A_XXX ?