Top secrets sources NedoPC pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

1=pressed
          39      38      37      36      35      34      33      32
byte0 = { KEY_SP, KEY_EN, KEY_P , KEY_0 , KEY_1 , KEY_Q , KEY_A , KEY_CS }
          31      30      29      28      27      26      25      24
byte1 = { KEY_SS, KEY_L , KEY_O , KEY_9 , KEY_2 , KEY_W , KEY_S , KEY_Z }
          23      22      21      20      19      18      17      16
byte2 = { KEY_M , KEY_K , KEY_I , KEY_8 , KEY_3 , KEY_E , KEY_D , KEY_X }
          15      14      13      12      11      10      09      08
byte3 = { KEY_N , KEY_J , KEY_U , KEY_7 , KEY_4 , KEY_R , KEY_F , KEY_C }
          07      06      05      04      03      02      01      00
byte4 = { KEY_B , KEY_H , KEY_Y , KEY_6 , KEY_5 , KEY_T , KEY_G , KEY_V }

lsbit first
byte4 first



#define NO_KEY 0xFF
#define RST_48 0xFE
#define RST128 0xFD
#define RSTRDS 0xFC
#define RSTSYS 0xFB
#define CLRKYS 0xFA

struct zx {
        UBYTE counters[40];
        UBYTE map[5]; // send order: LSbit first, from [4] to [0]
        UBYTE reset_type;
};




void init_zx(void);
void to_zx(UBYTE scancode, UBYTE was_E0, UBYTE was_release);
void update_keys(UBYTE zxcode, UBYTE was_release);

void zx_task(void);








#endif