2021-04-10 10:28:04 +00:00
|
|
|
#ifndef EMUAPI_H
|
|
|
|
#define EMUAPI_H
|
|
|
|
|
|
|
|
#include "platform_config.h"
|
|
|
|
|
|
|
|
//#define TIMER_REND 1
|
|
|
|
#define EXTRA_HEAP 0x10
|
|
|
|
|
|
|
|
// Title: < >
|
|
|
|
#define TITLE " ZX81/ZX80 Emulator"
|
|
|
|
#define ROMSDIR "z81"
|
|
|
|
|
|
|
|
#define emu_Init(ROM) {z81_Start(ROM); z81_Init(); }
|
|
|
|
#define emu_Step(x) {z81_Step();}
|
2021-10-04 19:22:05 +00:00
|
|
|
#define emu_Input(x) {z81_Input(x);}
|
2021-04-10 10:28:04 +00:00
|
|
|
|
|
|
|
#define PALETTE_SIZE 2
|
2021-10-04 19:22:05 +00:00
|
|
|
#define VID_FRAME_SKIP 0x0
|
2021-04-10 10:28:04 +00:00
|
|
|
#define TFT_VBUFFER_YCROP 0
|
|
|
|
#define SINGLELINE_RENDERING 1
|
|
|
|
|
|
|
|
#define ACTION_NONE 0
|
|
|
|
#define ACTION_MAXKBDVAL 225
|
|
|
|
#define ACTION_EXITKBD 128
|
|
|
|
#define ACTION_RUNTFT 129
|
|
|
|
#define ACTION_RUNVGA 130
|
|
|
|
|
|
|
|
|
2021-06-30 20:26:15 +00:00
|
|
|
#ifdef KEYMAP_PRESENT
|
2021-10-04 19:22:05 +00:00
|
|
|
/*
|
|
|
|
{25, 6,27,29,224},// vcxz<caps shift=Lshift>
|
|
|
|
{10, 9, 7,22, 4}, // gfdsa
|
|
|
|
{23,21, 8,26,20}, // trewq
|
|
|
|
{34,33,32,31,30}, // 54321
|
|
|
|
{35,36,37,38,39}, // 67890
|
|
|
|
{28,24,12,18,19}, // yuiop
|
|
|
|
{11,13,14,15,40}, // hjkl<enter>
|
|
|
|
{ 5,17,16,1,44}, // bnm. <space>
|
2021-06-30 20:26:15 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
const unsigned short key_map1[] = {
|
2021-10-04 19:22:05 +00:00
|
|
|
20,26,8,21,23,28,24,12,18,19,39+64,
|
|
|
|
0, 4, 22, 7,9, 10,11,13,14,15,40,
|
|
|
|
0,29,27,6,25,5,17,16,1,44,
|
|
|
|
0,0,0,0 //up,left,right,down
|
2021-04-10 10:28:04 +00:00
|
|
|
};
|
|
|
|
|
2021-06-30 20:26:15 +00:00
|
|
|
const unsigned short key_map2[] = {
|
2021-10-04 19:22:05 +00:00
|
|
|
30,31,32,33,34,35,36,37,38,39,15+64,
|
|
|
|
0, 0,0,0,24+64,0,14+64,0,5+64,13+64,0,
|
|
|
|
0, 12+64,18+64,6+64,25+64,19+64,17+64,16+64,1+64,29+64,
|
|
|
|
36+64,34+64,37+64,35+64 //up,left,right,down
|
2021-06-30 20:26:15 +00:00
|
|
|
};
|
|
|
|
|
2021-09-11 14:04:42 +00:00
|
|
|
const unsigned short key_map3[] = {
|
2021-10-04 19:22:05 +00:00
|
|
|
0, 0,0,0,0,0,0,0,0,0,0, // Upper case
|
2021-09-11 14:04:42 +00:00
|
|
|
0, 0,0,0,0,0,0,0,0,0,0,
|
2021-10-04 19:22:05 +00:00
|
|
|
0, 0,0,0,0,0,0,0,27+64,0,
|
|
|
|
36+64,34+64,37+64,35+64 //up,left,right,down
|
2021-09-11 14:04:42 +00:00
|
|
|
};
|
|
|
|
|
2021-06-30 20:26:15 +00:00
|
|
|
const unsigned short matkeys[] = {
|
2021-09-11 14:04:42 +00:00
|
|
|
0x020,0x120,0x220,0x320,0x420,0x408,0x308,0x208,0x108,0x008,0x002, // row 1
|
2021-06-30 20:26:15 +00:00
|
|
|
0x510,0x010,0x110,0x210,0x310,0x410,0x401,0x301,0x201,0x101,0x001, // row 2
|
2021-09-11 14:04:42 +00:00
|
|
|
0x520,0x102,0x202,0x302,0x402,0x404,0x304,0x204,0x104,0x004, // row 3
|
2021-10-04 19:22:05 +00:00
|
|
|
0x508,0x501,0x502,0x504 }; // cursor keys
|
2021-04-10 10:28:04 +00:00
|
|
|
#endif
|
|
|
|
|
2021-06-30 20:26:15 +00:00
|
|
|
|
2021-04-10 10:28:04 +00:00
|
|
|
#define MASK_JOY2_RIGHT 0x0001
|
|
|
|
#define MASK_JOY2_LEFT 0x0002
|
|
|
|
#define MASK_JOY2_UP 0x0004
|
|
|
|
#define MASK_JOY2_DOWN 0x0008
|
|
|
|
#define MASK_JOY2_BTN 0x0010
|
|
|
|
#define MASK_KEY_USER1 0x0020
|
|
|
|
#define MASK_KEY_USER2 0x0040
|
|
|
|
#define MASK_KEY_USER3 0x0080
|
|
|
|
#define MASK_JOY1_RIGHT 0x0100
|
|
|
|
#define MASK_JOY1_LEFT 0x0200
|
|
|
|
#define MASK_JOY1_UP 0x0400
|
|
|
|
#define MASK_JOY1_DOWN 0x0800
|
|
|
|
#define MASK_JOY1_BTN 0x1000
|
|
|
|
#define MASK_KEY_USER4 0x2000
|
2021-10-04 19:22:05 +00:00
|
|
|
#define MASK_OSKB 0x8000
|
2021-04-10 10:28:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
extern void emu_init(void);
|
|
|
|
extern void emu_start(void);
|
|
|
|
extern void emu_resetSD(void);
|
|
|
|
|
|
|
|
extern void emu_printf(char * text);
|
|
|
|
extern void emu_printi(int val);
|
|
|
|
extern void * emu_Malloc(int size);
|
|
|
|
extern void emu_Free(void * pt);
|
|
|
|
|
|
|
|
extern int emu_FileOpen(char * filename);
|
|
|
|
extern int emu_FileRead(char * buf, int size);
|
|
|
|
extern unsigned char emu_FileGetc(void);
|
|
|
|
extern int emu_FileSeek(int seek);
|
|
|
|
extern void emu_FileClose(void);
|
|
|
|
extern int emu_FileSize(char * filename);
|
|
|
|
extern int emu_LoadFile(char * filename, char * buf, int size);
|
|
|
|
extern int emu_LoadFileSeek(char * filename, char * buf, int size, int seek);
|
|
|
|
extern void emu_FileTempInit(void);
|
|
|
|
extern void emu_FileTempRead(int addr, unsigned char * val, int n);
|
|
|
|
extern void emu_FileTempWrite(int addr, unsigned char val);
|
|
|
|
|
|
|
|
extern void emu_SetPaletteEntry(unsigned char r, unsigned char g, unsigned char b, int index);
|
|
|
|
extern void emu_DrawScreen(unsigned char * VBuf, int width, int height, int stride);
|
|
|
|
extern void emu_DrawLine(unsigned char * VBuf, int width, int height, int line);
|
|
|
|
extern void emu_DrawLine8(unsigned char * VBuf, int width, int height, int line);
|
|
|
|
extern void emu_DrawLine16(unsigned short * VBuf, int width, int height, int line);
|
|
|
|
extern void emu_DrawVsync(void);
|
|
|
|
extern int emu_FrameSkip(void);
|
|
|
|
extern void * emu_LineBuffer(int line);
|
|
|
|
|
|
|
|
extern void emu_InitJoysticks(void);
|
|
|
|
extern int emu_SwapJoysticks(int statusOnly);
|
|
|
|
extern unsigned short emu_DebounceLocalKeys(void);
|
|
|
|
extern int emu_ReadKeys(void);
|
|
|
|
extern int emu_GetPad(void);
|
|
|
|
extern int emu_ReadAnalogJoyX(int min, int max);
|
|
|
|
extern int emu_ReadAnalogJoyY(int min, int max);
|
|
|
|
extern int emu_ReadI2CKeyboard(void);
|
|
|
|
extern void emu_KeyboardOnUp(int keymodifer, int key);
|
|
|
|
extern void emu_KeyboardOnDown(int keymodifer, int key);
|
|
|
|
|
|
|
|
extern void emu_sndPlaySound(int chan, int volume, int freq);
|
|
|
|
extern void emu_sndPlayBuzz(int size, int val);
|
|
|
|
extern void emu_sndInit();
|
|
|
|
extern void emu_resetus(void);
|
|
|
|
extern int emu_us(void);
|
|
|
|
|
|
|
|
extern int emu_setKeymap(int index);
|
|
|
|
|
|
|
|
extern void emu_FileTempInit(void);
|
|
|
|
extern void emu_FileTempRead(int addr, unsigned char * val, int n);
|
|
|
|
extern void emu_FileTempWrite(int addr, unsigned char val);
|
|
|
|
extern void emu_printh(int val);
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|