diff options
| author | Ian C <ianc@noddybox.co.uk> | 2007-02-16 01:10:41 +0000 | 
|---|---|---|
| committer | Ian C <ianc@noddybox.co.uk> | 2007-02-16 01:10:41 +0000 | 
| commit | b369f37c6244b5d56742b56f745219fb2544efe2 (patch) | |
| tree | a838093b033d302e6c7f64e7e255594d490d093a /include | |
| parent | 284d8dec91155107f04ad4e2c02338bcb6263abc (diff) | |
Some hi-res support.  Added new config page and averaging touchscreen reads.
In process of writing file selector.
Diffstat (limited to 'include')
| -rw-r--r-- | include/config.h | 48 | ||||
| -rw-r--r-- | include/ds81_debug.h | 36 | ||||
| -rw-r--r-- | include/framebuffer.h | 1 | ||||
| -rw-r--r-- | include/gui.h | 2 | ||||
| -rw-r--r-- | include/touchwrap.h | 38 | 
5 files changed, 125 insertions, 0 deletions
| diff --git a/include/config.h b/include/config.h new file mode 100644 index 0000000..82c0c4f --- /dev/null +++ b/include/config.h @@ -0,0 +1,48 @@ +/* +   ds81 - Nintendo DS ZX81 emulator. + +   Copyright (C) 2006  Ian Cowburn <ianc@noddybox.co.uk> +    +   This program is free software; you can redistribute it and/or +   modify it under the terms of the GNU General Public License +   as published by the Free Software Foundation; either version 2 +   of the License, or (at your option) any later version. +    +   This program is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +   GNU General Public License for more details. +    +   You should have received a copy of the GNU General Public License +   along with this program; if not, write to the Free Software +   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. +   +   $Id$ +*/ +#ifndef DS81_CONFIG_H +#define DS81_CONFIG_H + +typedef enum +{ +    DS81_STICKY_SHIFT, +    DS81_AVERAGE_TOUCHSCREEN, +    DS81_NUM_CONFIG_ITEMS +} DS81_ConfigItem; + +/* Returns TRUE if config loaded from FAT device +*/ +int		LoadConfig(void); + +/* Returns TRUE if config saved to FAT device +*/ +int		SaveConfig(void); + +/* Gets a description for a config item. +*/ +const char	*ConfigDesc(DS81_ConfigItem item); + +/* Table of configs.  Done like this for simple performance reasons. +*/ +extern int	DS81_Config[/*DS81_ConfigItem item*/]; + +#endif	/* DS81_CONFIG_H */ diff --git a/include/ds81_debug.h b/include/ds81_debug.h new file mode 100644 index 0000000..82e8c45 --- /dev/null +++ b/include/ds81_debug.h @@ -0,0 +1,36 @@ +/* +   ds81 - Nintendo DS ZX81 emulator. + +   Copyright (C) 2006  Ian Cowburn <ianc@noddybox.co.uk> +    +   This program is free software; you can redistribute it and/or +   modify it under the terms of the GNU General Public License +   as published by the Free Software Foundation; either version 2 +   of the License, or (at your option) any later version. +    +   This program is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +   GNU General Public License for more details. +    +   You should have received a copy of the GNU General Public License +   along with this program; if not, write to the Free Software +   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. +   +   $Id$ +*/ +#ifndef DS81_DEBUG_H +#define DS81_DEBUG_H + +#include "framebuffer.h" + +#define DS81_DEBUG(fmt, args...)					\ +    do									\ +    {									\ +	FB_FillBox(0,184,256,8,FB_RGB(10,0,0));				\ +	FB_printf(0,184,FB_RGB(31,31,31),FB_RGB(10,0,0), fmt , ## args);\ +	while (keysDownRepeat()!=KEY_A);				\ +    } while(0) +			     + +#endif	/* DS81_DEBUG_H */ diff --git a/include/framebuffer.h b/include/framebuffer.h index 2fd7bc3..7b04685 100644 --- a/include/framebuffer.h +++ b/include/framebuffer.h @@ -27,6 +27,7 @@  void	FB_Init(uint16 *vram);  void	FB_Print(const char *text, int x, int y, int colour, int paper);  void	FB_Centre(const char *text, int y, int colour, int paper); +void	FB_printf(int x, int y, int colour, int paper, const char *format, ...);  void	FB_HLine(int x1, int x2, int y, int colour);  void	FB_VLine(int x, int y1, int y2, int colour);  void	FB_Box(int x, int y, int w, int h, int colour); diff --git a/include/gui.h b/include/gui.h index 4a07915..388c200 100644 --- a/include/gui.h +++ b/include/gui.h @@ -24,5 +24,7 @@  int	GUI_Menu(const char *opts[]);  void	GUI_Alert(int fatal, const char *text); +void	GUI_Config(void); +bool	GUI_FileSelect(char pwd[], char selected_file[], const char *filter);  #endif	/* DS81_GUI_H */ diff --git a/include/touchwrap.h b/include/touchwrap.h new file mode 100644 index 0000000..1ba9f90 --- /dev/null +++ b/include/touchwrap.h @@ -0,0 +1,38 @@ +/* +   ds81 - Nintendo DS ZX81 emulator. + +   Copyright (C) 2006  Ian Cowburn <ianc@noddybox.co.uk> +    +   This program is free software; you can redistribute it and/or +   modify it under the terms of the GNU General Public License +   as published by the Free Software Foundation; either version 2 +   of the License, or (at your option) any later version. +    +   This program is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +   GNU General Public License for more details. +    +   You should have received a copy of the GNU General Public License +   along with this program; if not, write to the Free Software +   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. +   +   $Id$ +*/ +#ifndef DS81_TOUCHWRAP_H +#define DS81_TOUCHWRAP_H + +/* Don't know whether I have a problem with my DS or the library, but sometimes +   the touchscreen value is off (one co-ord generally completely out). + +   To alleviate this, and as this is a simple touch screen keyboard, allow +   touchs to be averaged if the config says so.  And averaged touch just means +   that two touchs have to happen within 5 pixels on X and Y before being +   allowed. + +   If not configured to average, this simply reads the touchscreen position +   and returns true. +*/ +int		AllowTouch(touchPosition *tp); + +#endif	/* DS81_TOUCHWRAP_H */ | 
