Problema con z88dk y kempston mouse

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
frjanibo
rst 0
Mensajes: 5
Registrado: Mié Dic 04, 2013 3:29 pm

Problema con z88dk y kempston mouse

Mensaje por frjanibo » Vie Sep 30, 2016 8:44 pm

Hola, llevo una tarde peleándome para hacer funcionar este código, que simplemente lee los valores del kempston mouse y los pone por pantalla.
Estoy usando el z88dk 10 y la librería input.h para leer los valores x,y del mouse, pero estoy teniendo valores muy extraños en la X, mientras que la Y si que oscila bien entre 0 y 192. ¿Alguien ve algún error evidente?
Gracias!

Código: Seleccionar todo

#include <input.h>
#include <spectrum.h>
#include <stdlib.h>
#include <stdio.h>

#pragma output STACKPTR=65000

unsigned char in_KempcoordX, in_KempcoordY, in_KemprawX, in_KemprawY;

void printAt32ColInt(unsigned char row, unsigned char col, unsigned int n)
{
    row += 0x20; // add displacement
    col <<= 1; // double column coordinate for 32 column mode
    col += 0x20; // add displacement
    printf("\x16%c%c%u  ", row, col, n);
}

void main (void)
{
	unsigned int mouse_x = 0;
	unsigned int mouse_y = 0;
	unsigned char buttons=0;

    in_MouseKempInit();

	while(1)
	{
        in_MouseKemp(buttons, &mouse_x, &mouse_y);

        //mouse_x= inp(64479);
        //mouse_y= inp(65503);

        printAt32ColInt(5,5, mouse_x );
        printAt32ColInt(5,10, mouse_y );
	}
}

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 1 invitado