summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine/mboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/machine/mboard.h')
-rw-r--r--src/mess/machine/mboard.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/mess/machine/mboard.h b/src/mess/machine/mboard.h
new file mode 100644
index 00000000000..4aab4790f84
--- /dev/null
+++ b/src/mess/machine/mboard.h
@@ -0,0 +1,98 @@
+/**********************************************************************
+
+ Mephisto Chess Computers
+
+**********************************************************************/
+
+#ifndef __MBOARD_H__
+#define __MBOARD_H__
+
+#include "emu.h"
+
+
+/***************************************************************************
+ MACROS
+***************************************************************************/
+
+enum
+{
+ EM, /*No piece*/
+ BP,
+ BN,
+ BB,
+ BR,
+ BQ,
+ BK,
+ WP,
+ WN,
+ WB,
+ WR,
+ WQ,
+ WK
+};
+
+#define NOT_VALID 99
+#define BORDER_PIECE 64
+
+#define IsPiece(x) ((m_board[x] >=1) && (m_board[x] <=12))
+
+#define IsBitSet(x,y) ( y & (1<<x) ) //ersetzen durch BIT
+
+/***************************************************************************
+ TYPE DEFINITIONS
+***************************************************************************/
+
+typedef struct {
+ int border_piece;
+ UINT8 from;
+ UINT8 piece;
+} MOUSE_HOLD;
+
+/***************************************************************************
+ FUNCTION PROTOTYPES
+***************************************************************************/
+
+READ8_HANDLER( mboard_read_board_8 );
+WRITE8_HANDLER( mboard_write_board_8 );
+WRITE8_HANDLER( mboard_write_LED_8 );
+
+READ16_HANDLER( mboard_read_board_16 );
+WRITE16_HANDLER( mboard_write_board_16 );
+WRITE16_HANDLER( mboard_write_LED_16 );
+
+READ32_HANDLER( mboard_read_board_32 );
+WRITE32_HANDLER( mboard_write_board_32 );
+WRITE32_HANDLER( mboard_write_LED_32 );
+
+TIMER_DEVICE_CALLBACK( mboard_update_artwork );
+
+void mboard_savestate_register(running_machine &machine);
+
+void mboard_set_board( void );
+void mboard_set_border_pieces (void);
+
+INLINE UINT8 pos_to_num(UINT8 val)
+{
+ switch (val)
+ {
+ case 0xfe: return 7;
+ case 0xfd: return 6;
+ case 0xfb: return 5;
+ case 0xf7: return 4;
+ case 0xef: return 3;
+ case 0xdf: return 2;
+ case 0xbf: return 1;
+ case 0x7f: return 0;
+ default: return 0xff;
+ }
+}
+
+/***************************************************************************
+ GLOBALS
+***************************************************************************/
+
+extern UINT8 mboard_lcd_invert;
+extern UINT8 mboard_key_select;
+extern UINT8 mboard_key_selector;
+
+#endif /* __MBOARD_H__ */