emu48-mirror/HARDWARE.H
Gwenhael Le Moine c3ab4004ad
1996-02-01: Historic version 0.37
Signed-off-by: Gwenhael Le Moine <gwenhael.le.moine@gmail.com>
2024-03-19 22:11:59 +01:00

86 lines
2.5 KiB
C

/*
* Copyright (C) 1995 Sebastien Carlier
*/
#define keyboard_update() ;
#define INLINE _inline
typedef struct {
int line;
long start1, start12, end1;
long start2, end2;
int loffset;
int boffset;
int lcntsave;
int lcounter;
int dispon;
int contrast;
int noscan;
char *pointer;
int disoffs;
int touched;
} display_t;
extern display_t display;
extern int font[256];
extern int KDN, KDN_rising_edge;
extern int IR15X;
extern char Buf[80];
void setport1(const char *newstring);
extern void init_lcd();
extern void exit_lcd();
extern void display_redraw();
extern void display_line();
extern void display_next();
extern void display_clear();
extern void display_plot1(long d, char m);
extern void display_plot2(long d, char m);
extern void display_ann();
extern void init_keyboard();
extern void exit_keyboard();
extern void kbd_invert(int x, int y);
extern void kbd_handler(int scancode, int press);
extern void update_in();
extern void update_out();
extern void display_warning(char *s);
extern void display_error(char *s);
extern void presskeys(unsigned lparam, unsigned wparam, int down);
#if NEW
#define KEYFROMASCII(ascii) ((unsigned long)(unsigned char) (ascii))
#define KEYFROMSCAN(scan ) (((unsigned long)(unsigned char) (scan)) | KEYF_SCAN)
#define KEYFROMKEYC(scan ) (((unsigned long)(unsigned short) (keyc)) | KEYF_KEYC)
#define KEYFROMCOMMAND(command) (((unsigned long) (command)) | KEYF_COMMAND)
#define KEYF_COMMAND 0x10000L // Cannot be enumerated: compiler bug ?!?
#define KEYF_UP 0x20000L
enum KEYFLAGS { KEYF_SCAN=0x1000, KEYF_KEYC=0x2000, KEYF_FKEY=KEYF_KEYC+100,
KEYF_SHIFT=0x100, KEYF_CTRL=0x400, KEYF_ALT=0x800 } ;
#define KEYC_BACKSPACE 8
#define KEYC_BS KEYC_BACKSPACE
#define KEYC_TAB 9
#define KEYC_ENTER 13
#define KEYC_ESC 27
#define KEYC_DEL (KEYF_KEYC+146)
#define KEYC_DELETE KEYC_DEL
#define KEYC_INSERT (KEYF_KEYC+148)
#define KEYC_INS KEYC_INSERT
#define KEYC_END (KEYF_KEYC+149)
#define KEYC_DOWN (KEYF_KEYC+150)
#define KEYC_PAGEDOWN (KEYF_KEYC+151)
#define KEYC_PGDN KEYC_PAGEDOWN
#define KEYC_LEFT (KEYF_KEYC+152)
#define KEYC_RIGHT (KEYF_KEYC+154)
#define KEYC_HOME (KEYF_KEYC+155)
#define KEYC_UP (KEYF_KEYC+156)
#define KEYC_PAGEUP (KEYF_KEYC+157)
#define KEYC_PGUP KEYC_PAGEUP
int translatekeys(void *);
#endif