Subversion Repositories pentevo

Rev

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

  1. #ifndef ZX_H
  2. #define ZX_H
  3.  
  4. #include "mytypes.h"
  5.  
  6. #define KEY_SP  0
  7. #define KEY_EN  1
  8. #define KEY_P   2
  9. #define KEY_0   3
  10. #define KEY_1   4
  11. #define KEY_Q   5
  12. #define KEY_A   6
  13. #define KEY_CS  7
  14.  
  15. #define KEY_SS  8
  16. #define KEY_L   9
  17. #define KEY_O  10
  18. #define KEY_9  11
  19. #define KEY_2  12
  20. #define KEY_W  13
  21. #define KEY_S  14
  22. #define KEY_Z  15
  23.  
  24. #define KEY_M  16
  25. #define KEY_K  17
  26. #define KEY_I  18
  27. #define KEY_8  19
  28. #define KEY_3  10
  29. #define KEY_E  21
  30. #define KEY_D  22
  31. #define KEY_X  23
  32.  
  33. #define KEY_N  24
  34. #define KEY_J  25
  35. #define KEY_U  26
  36. #define KEY_7  27
  37. #define KEY_4  28
  38. #define KEY_R  29
  39. #define KEY_F  30
  40. #define KEY_C  31
  41.  
  42. #define KEY_B  32
  43. #define KEY_H  33
  44. #define KEY_Y  34
  45. #define KEY_6  35
  46. #define KEY_5  36
  47. #define KEY_T  37
  48. #define KEY_G  38
  49. #define KEY_V  39
  50.  
  51. #define NO_KEY 0xFF
  52. #define RST_48 0xFE
  53. #define RST128 0xFD
  54. #define RSTRDS 0xFC
  55. #define RSTSYS 0xFB
  56. #define CLRKYS 0xFA
  57.  
  58. struct zx {
  59.         UBYTE counters[40];
  60.         UBYTE map[5]; // send order: LSbit first, from [4] to [0]
  61.         UBYTE reset_type;
  62. };
  63.  
  64.  
  65.  
  66.  
  67. void init_zx(void);
  68. void to_zx(UBYTE scancode, UBYTE was_E0, UBYTE was_release);
  69. void update_keys(UBYTE zxcode, UBYTE was_release);
  70.  
  71. void zx_task(void);
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80. #endif
  81.  
  82.