#ifndef _CONFIG_H #define _CONFIG_H 1 /* ------------------------------------------------------------------------- saturn - A poor-man's emulator of some HP calculators Copyright (C) 1998-2000 Ivan Cibrario Bertolotti 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 the documentation of this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. For more information, please contact the author, preferably by email, at the following address: Ivan Cibrario Bertolotti IRITI - National Research Council c/o IEN "Galileo Ferraris" Strada delle Cacce, 91 10135 - Torino (ITALY) email: cibrario@iriti.cnr.it ------------------------------------------------------------------------- */ /* +-+ */ /* .+ .identifier : $Id: config.h,v 4.1.1.1 2002/11/11 16:13:29 cibrario Exp $ .context : SATURN, Saturn CPU / HP48 emulator .title : $RCSfile: config.h,v $ .kind : C header .author : Ivan Cibrario B. .site : CSTV-CNR .creation : 28-Jan-1998 .keywords : * .description : This file configures the Saturn / HP48 emulator. .include : * .notes : $Log: config.h,v $ Revision 4.1.1.1 2002/11/11 16:13:29 cibrario Small screen support; preliminary Revision 4.1 2000/12/11 09:54:19 cibrario Public release. Revision 3.16 2000/11/21 16:38:23 cibrario Ultrix/IRIX support: - Include config_x.h (automatic exceptions to user configuration) Revision 3.14 2000/11/13 10:23:43 cibrario Implemented fast load/save; improved keyboard interface emulation at high emulated CPU speed: - New configuration option: CPU_SLOW_IN (enabled by default) Revision 3.13 2000/11/09 11:21:18 cibrario Revised to add file selection box GUI element, CPU halt/run requests and emulator's extended functions: - Updated documentation of CPU_SPIN_SHUTDN and REAL_CPU_SPEED - Defined new Chf module identifier: X_FUNC_CHF_MODULE_ID Revision 3.10 2000/10/24 16:14:25 cibrario Added/Replaced GPL header Revision 3.6 2000/10/02 13:52:32 cibrario ROM handling utilities: - Added new Chf module identifier: UTIL_CHF_MODULE_ID Revision 3.5 2000/10/02 09:40:35 cibrario Linux support: - documented new compile-time option: REAL_CPU_SPEED Revision 3.3 2000/09/26 15:24:20 cibrario Revised to implement Flash ROM write access: - Added new Chf module identifier FLASH_CHF_MODULE_ID * Revision 3.2 2000/09/22 13:34:43 cibrario * Implemented preliminary support of HP49 hw architecture: * - Re-enabled DEBUG * - Documented new HP49_SUPPORT option, and enabled it by default * * Revision 3.1 2000/09/20 14:15:42 cibrario * Revised to implement passive CPU shutdown: * - disabled DEBUG option by default * - enhanced documentation of CPU_SPIN_SHUTDN; this option is now * disabled by default. * * Revision 2.6 2000/09/15 09:28:48 cibrario * Enhanced documentation of serial emulation options; added * template of SERIAL_FORCE_STREAMSPTY definition (commented out * by default) * * Revision 2.5 2000/09/14 15:40:24 cibrario * - Added description and default values of configuration options * SERIAL_FORCE_OPENPTY and SERIAL_FORCE_STREAMSPTY. * - Added new Chf module identifier SERIAL_CHF_MODULE_ID, used by the * serial port emulation modules. * * Revision 2.4 2000/09/12 15:50:40 cibrario * Added description and default definition of N_PORT_2_BANK * * Revision 2.1 2000/09/08 15:43:46 cibrario * Disabled DEBUG option by default; documented new GUI option * FORCE_NONMODAL. * * Revision 1.1 1998/02/17 14:57:15 cibrario * Initial revision * .- */ #include #include "ui4x/config.h" /* CHF_EXTENDED_INFO: Define this symbol if extended information is desired during condition handling; this is usually useful only for debugging purposes. */ #define CHF_EXTENDED_INFO /* DEBUG: Define this symbol to include the debugging code for all source modules in the executable image. At run-time, the debug level can be set using the function SetDebugLevel(); the initial debug level is set to the value of the symbol DEBUG_LEVEL, if it is defined, otherwise it is set to zero. */ #define DEBUG /* 2.4: N_PORT_2_BANK This symbol is used to dimension the HP48GX Port_2: it denotes the number of 128 Kbyte banks the port must have and must be a power of 2 between 1 and 32, inclusive. When undefined, Port_2 is not emulated at all. The default value is 8, that is, Port_2 is emulated and its size is 1Mbyte. */ // #define N_PORT_2_BANK ( config.model == MODEL_48GX ? 32 : 1 ) #define N_PORT_2_BANK 32 /* 2.5: SERIAL_FORCE_OPENPTY, SERIAL_FORCE_STREAMSPTY Optionally define exactly one of these symbols to force the use of a particular pty implementation; if no symbols are defined, the serial port emulation modules will do their best to automatically determine the most appropriate implementation for the platform at hand. */ /* #define SERIAL_FORCE_OPENPTY */ /* #define SERIAL_FORCE_STREAMSPTY */ /* 3.2: HP49_SUPPORT Define this symbol to enable HP49-specific support code in the emulator; it does not harm if this symbol is defined when emulating a HP48, too, since all changed should be backward-compatible. */ #define HP49_SUPPORT /* 3.14: CPU_SLOW_IN Define this symbol (recommended) to slow down the A=IN and C=IN instructions depending on the current emulated CPU speed. The value of the macro determines the gain of the relation between CPU speed and slow down ratio. */ #define CPU_SLOW_IN 16 /* 4.1.1.1: When defined, this symbol represents the threshold of the long key pression. When the mouse button is kept pressed on a calculator's key for more than LONG_PRESS_THR milliseconds, the key stays pressed after release. */ #define LONG_PRESS_THR 750 /* Chf Module Identifiers: Each main module of the emulator has its own Chf Module Identifier; the values defined here must match those actually used in the message catalogs. */ #define MAIN_CHF_MODULE_ID 10 #define CPU_CHF_MODULE_ID 11 #define MOD_CHF_MODULE_ID 12 #define DISK_IO_CHF_MODULE_ID 13 #define X11_CHF_MODULE_ID 14 #define SERIAL_CHF_MODULE_ID 15 /* 2.5 */ #define FLASH_CHF_MODULE_ID 16 /* 3.3 */ #define UTIL_CHF_MODULE_ID 17 /* 3.6 */ #define X_FUNC_CHF_MODULE_ID 18 /* 3.13 */ #define DEBUG_CHF_MODULE_ID 30 /*--------------------------------------------------------------------------- Global variables ---------------------------------------------------------------------------*/ extern config_t config; #endif /*!_CONFIG_H*/