Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: e_sedes en 04 de Agosto de 2006, 06:06:07 am



Título: mis pequeños descubrimientos...
Publicado por: e_sedes en 04 de Agosto de 2006, 06:06:07 am
Bien, como el calor me provoca una pereza terrible para enfrentarme al z80 y estoy de semivacaciones, he aquí mi buena acción del mes para con la comunidad.
Esto va destinado más bien a los novatos como yo en el mundo del ensamblador. Son cosillas que fui encontrando/descubriendo en mis pesquisas para ver cómo hacer de manera simple las cosas. Supongo que a alguien le puede resultar útil, ahí va:

-Temporizador o contador de interrupciones:
 La variable de sistema JIFFY, en la dirección $FC9E (2 bytes), es igual que el TIME del basic. Se incrementa en cada interrupción y puedes darle valores.

-Lectura de los disparadores:
 TRGFLG en $F3E8 (1 byte), contiene esta información

7 6 5 4 3 2 1 0
| | | |       +-- Space bar, trig(0) (0 = pressed)
| | | +---------- Stick 1, Trigger 1 (0 = pressed)
| | +------------ Stick 1, Trigger 2 (0 = pressed)
| +-------------- Stick 2, Trigger 1 (0 = pressed)
+---------------- Stick 2, Trigger 2 (0 = pressed)

se actualiza a cada interrupción, al igual que la siguiente.

-Lectura de los cursores (o del teclado)

 En el espacio entre $FBE5-$FBEF (11 bytes) está la variable NEWKEY que recoge el mapa del teclado. La fila 8 (en $FBED) es la de los cursores, con este formato:

 bit 7  bit 6  bit 5  bit 4  bit 3  bit 2   bit 1    bit 0
  →      ↓        ↑     ←     DEL   INS  HOME  SPACE


-Lectura joystick:
 Al hacer una llamada a GTSTCK cuando miramos uno de los joysticks (no con los cursores) además de devolver en A el valor correspondiente, tenemos en E esta información: 0000RLDU. Así si solo queremos comprobar una dirección (horizontal o vertical o lo que sea) sólo hay que comprobar el/los bits correspondientes, sin más líos. Incluso puedes mirar si se pulsan simultáneamente arriba y abajo o derecha e izquierda, que de la manera normal no se puede.
 Esto no está documentado oficialmente, pero creo que debe funcionar en todas las máquinas. Lo probé con todas las BIOS distintas que encontré en emuladores y rula. También en mi VG8020 (y en el Sony HB-75P y en el TR FS-A1ST, gracias jl  ;)). Si lo podeis probar en vuestras máquinas y me contais si da algún problema os lo agradecería infinitamente... :)  (mirar aquí: http://www.msxgamesbox.com/karoshi/index.php?topic=268.15 )
No va con CBIOS, pero no creo que sea mucho problema, no?

Bien, perdón por el tocho, pero lo dicho, que creo que le puede ser útil a alguien como yo, un pardillo que empieza... ;D


Título: Re: mis pequeños descubrimientos...
Publicado por: kabish en 05 de Agosto de 2006, 11:14:32 am
Muchas gracias. A mi me ha servido. :)

Da gusto ver q no soy el unico q NO tiene vacaciones.


Título: Re: mis pequeños descubrimientos...
Publicado por: e_sedes en 07 de Agosto de 2006, 08:51:59 pm
Me alegro de te sirva. Para eso era  :).

Sigo haciendo el llamamiento de que quien pueda pruebe en sus MSX reales el pequeño programa que puse en el hilo que referencio más arriba, porfaaa :'(...

(está visto que sois unos viciosos y voy que tener que hacer un juego pa que lo probeis, diantres!  2gf:) ) ;)