Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - na_th_an

Páginas: 1 2 [3]
31
Desarrollo / Sprites desde BASIC
« en: Septiembre 07, 2010, 11:19:13 »
Buenas.

Yo esto aprendí a hacerlo leyendo el propio manual de BASIC del C64. Viene este programa donde se muestra cómo activar un Sprite de forma sencilla:

[code]1 REM UP, UP, AND AWAY
5 PRINT "(CLR/HOME)"
10 V = 53248 : REM START OF DISPLAY CHIP
11 POKE V + 21,4 : REM ENABLE SPRITE 2
12 POKE 2042,13 : REM SPRITE 2 DATA FROM BLOCK 13
20 FOR N = 0 TO 62 : READ Q : POKE 832+N,Q : NEXT
30 FOR X = 0 TO 200       
40 POKE V + 4,X : REM UPDATE X COORDINATES
50 POKE V + 5,X : REM UPDATE Y COORDINATES
60 NEXT X
70 GOTO 30
200 DATA 0,127,0,1,255,192,3,255,224,3,231,224
210 DATA 7,217,240,7,223,240,7,217,240,3,231,224
220 DATA 3,255,224,3,255,224,2,255,160,1,127,64
230 DATA 1,62,64,0,156,128,0,156,128,0,73,0,0,73,0
240 DATA 0,62,0,0,62,0,0,62,0,0,28,0[/quote]

Hay que saber esto, y poco más:

Citar
REGISTER No.   DESCRIPTION
0-15   SPRITE POSITIONING
16   EXTRA MOVEMENT
21   ENABLE (ON/OFF)
23   EXPAND (VERTICAL)
27   PRIORITIES
28   MULTI-COLOR SELECT
29   EXPAND (HORIZONTAL)
37-38   MULTI-COLORS
39-46   COLOR

[...]They start at location 53248. This is the 'base address' of the VIC II chip. To access individual registers, it is easier to assign a variable with the value of the start address and then add the register number to it, e.g. V=53248: POKE V+21,255. This will put the value of 255 into register 21.


Para más información: http://www.lemon64.com/manual/ , capítulo 7.

Páginas: 1 2 [3]