A ver tengo una duda grande. Siempre había entendido que en Turbo basic el copy bloquea la CPU, cosa que no ocurre en ensamblador. Es decir, que la CPU debe esperar que termine el COPY en vez de estar procesando. Sin embargo este pequeño listado me genera dudas:
10 SCREEN 5
15 IN=TIME
19 CALL TURBO ON
20 FOR H=0 to 200 step 2
30 copy (0,0)-(31,31),1 to (0,0),0
35 A=SIN(100):B=COS(100)
40 NEXT H
50 CALL TURBO OFF
55 screen 0
60 PRINT TIME-IN
En la línea 30 hago un copy de 32x32, y se hace 100 veces. El tiempo que tarde es 75. Ahora modifico el copy a (0,0)-(1,1) y sigue tardando los mismos 75. Comento la línea 35 y repito las 2 operaciones anteriores teniendo estos tiempos: 45 y 31.
¿Cómo es posible que sin operación de CPU (seno y coseno) el copy varía según el tamaño y con la operación de CPU no varía? Es como si el VDP tuviera que esperar a la CPU, con lo que efectivamente van en paralelo cuando yo pensaba que no es así.
¿Me he perdido algo?