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

Door AxelStone

Prophet (2701)

afbeelding van 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.

Aangemeld of registreer om reacties te plaatsen

Van e_sedes

Expert (112)

afbeelding van 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.

Van AxelStone

Prophet (2701)

afbeelding van 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