pixelpusher wrote: Tue Dec 31, 2019 6:46 pm
There is a raster copy function in the VDI (which directly utilizes the blitter, if enabled) and an "expansion" (of monochrome) raster function in the VDI, but no "vdi scrolling function" - hence my question what vdi calls GB6 uses in the blitting and vdi scroll test.
GEM_TEST (2) allows you to you to enable/disable the blitter for each test (although the blitter only influences output tests of course).
But if if this was a TOS issue, surely it would be the same issue on the STE as well using TOS206 ?
TEST 1
Code: Select all
DEF TEST1&
'shared tree&
STATIC t&,x,y,w,h,i,obadr&
x=0
junk=rsrc_gaddr(0,form1,tree&)
obadr& = tree&+ (form1*24)
form_center tree&,x,y,w,h
'attempt to sync timerC
SHARED testcode&,sys_tstart,sys_sleep,sys_wake,sys_tstop,sys_acia_off,sys_acia_on,sys_acia_reset
t&=1234567890 ' store some dummy number to write to in ASM code later
call loc testcode&,sys_sleep' ok
call loc testcode&,sys_acia_off ' crash 16mhz tests
call loc testcode&,sys_tstart ' stores start time internally
FOR i=0 TO 19
form_dial FMD_START,0,0,0,0,x,y,w,h
form_dial FMD_GROW,x+w\2,y+h\2,0,0,x,y,w,h
'form_center tree&,x,y,w,h
junk=objc_draw(tree&,form1,10,x,y,w,h)
form_dial FMD_SHRINK,x+w\2,y+h\2,0,0,x,y,w,h
form_dial FMD_FINISH,0,0,0,0,x-20,y,w+20,h
x=x+2
POKEW obadr&+16,x
NEXT i
call loc testcode&,sys_tstop,varptr(t&) ' get test time from ASM code
TEST1&= t&*5 ' returns test time from function
call loc testcode&,sys_wake
call loc testcode&,sys_acia_on
form_dial FMD_FINISH,0,0,0,0,x-20,y,w+20,h
END DEF
BLITTING test.
Code: Select all
DEF TEST11&
'setup XY locations
SHARED mfdb&,scr&,menuy,XY(),menuy,WYS
STATIC x,y,a,mywind_id,w1,h1,t&
mywind_id=freewind
w1=639:h1=199-menuy
WINDOW OPEN mywind_id,"Blitting",0,menuy,w1,h1,&hfef
'draw test box
vsf_interior 2
vsf_color 1
'this -2's cheat so we copy the white border around the box
'this is a poormans "clear background" as the copy happens
v_bar 10+2,WYS+2,210-2,WYS+50-2
xy(0)=10:xy(1)=WYS:xy(2)=210:xy(3)=WYS+50 'S
'attempt to sync timerC
SHARED testcode&,sys_tstart,sys_sleep,sys_wake,sys_tstop,sys_acia_off,sys_acia_on,sys_acia_reset
call loc testcode&,sys_sleep : call loc testcode&,sys_acia_off
call loc testcode&,sys_tstart
t&=1234567890 ' store some dummy number to write to in ASM code later
for A=0 to 2 'number of left right loops
FOR X=0 to 400 step 2
xy(4)=10+x:xy(5)=120-y:xy(6)=210+x:xy(7)=xy(5)+xy(3)
vro_cpyfm 3,xy(),mfdb&,scr&
y=(x+1)/6
NEXT X
FOR X=400 to 0 step -2
xy(4)=10+x:xy(5)=120-y:xy(6)=210+x:xy(7)=xy(5)+xy(3)
vro_cpyfm 3,xy(),mfdb&,scr&
y=(x+1)/6
NEXT X
NEXT A
call loc testcode&,sys_tstop,varptr(t&) ' get test time from ASM code
TEST11&= t&*5 ' returns test time from function
call loc testcode&,sys_wake : call loc testcode&,sys_acia_on
vsf_color 1
WINDOW CLOSE mywind_id
END DEF