¿Alguien me aclara qué son estas variables de sistema?

Por AxelStone

Prophet (3199)

Imagen del AxelStone

26-04-2016, 13:14

Estoy bicheando la librería gráfica de MSX-C y he visto estas variables de sistema:

#define	c_dpage		(*(TINY *)0xfaf5)
#define	c_apage		(*(TINY *)0xfaf6)
#define	c_fore		(*(TINY *)0xf3e9)
#define c_back		(*(TINY *)0xf3ea)
#define	c_bord		(*(TINY *)0xf3eb)
#define	c_lastx		(*(NAT  *)0xfcb7)
#define	c_lasty		(*(NAT  *)0xfcb9)
#define c_screen	(*(TINY *)0xfcaf)

En esta página viene a referirse a ellas, pero no entiendo muy bien su funcionamiento. Por ejemplo, tomemos #F3EA (Background color), ¿cómo se interpreta esta variable? Es decir, el background color se asociará a un pixel de pantalla entiendo, por lo que antes de leer esa variable deberíamos situar el cursor gráfico en ese punto, ¿es así?

Gracias.

Login sesión o register para postear comentarios

Por e_sedes

Expert (112)

Imagen del e_sedes

26-04-2016, 20:37

Siguiendo esa denominación:
c_fore, c_back, c_bord guardan los parámetros de COLOR de BASIC.
c_screen almacena el numero de screen actual.
c_lastx, c_lasty almacenan las coord. actuales de DRAW, PSET y esas cosas.
c_dpage, c_apage almacenan los parámetros de SET PAGE.
Básicamente son direcciones para consulta. Alguna la puedes cambiar, como las de color, y hará efecto cuando llames a SCREEN. Puedes experimentar desde BASIC.

Por AxelStone

Prophet (3199)

Imagen del AxelStone

26-04-2016, 22:25

Muchas gracias, me ha quedado claro, además me parecen útiles para algunas cosillas que tengo que hacer Wink