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

Problema con z88dk y kempston mouse

Notapor frjanibo el 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 );
   }
}
frjanibo
rst 0
 
Mensajes: 5
Registrado: Mie Dic 04, 2013 4:29 pm

Volver a Programación y nuevos desarrollos

¿Quién está conectado?

Usuarios navegando este Foro: Bing [Bot] y 1 invitado