Merge branch 'main' of ssh://src.le-moine.org:38172/gwh/saturn_bertolotti

This commit is contained in:
Gwenhael Le Moine 2024-09-18 14:13:58 +02:00
commit adf7370c18
No known key found for this signature in database
GPG key ID: FDFE3669426707A7
10 changed files with 160 additions and 112 deletions

39
.gitignore vendored
View file

@ -1,6 +1,14 @@
/libChf/mt_build/ libChf/mt_build/
/libChf/st_build/ libChf/st_build/
/src/*.o src/*.o
dist/pack
dist/saturn
dist/Saturn
dist/pack
dist/saturn
dist/saturn.cat
dist/stateDir.*
dist/ROMs/*rom*
manual/saturn.toc manual/saturn.toc
manual/saturn.aux manual/saturn.aux
manual/saturn.cp manual/saturn.cp
@ -9,14 +17,17 @@ manual/saturn.dvi
manual/saturn.info manual/saturn.info
manual/saturn.pdf manual/saturn.pdf
manual/saturn.ps manual/saturn.ps
manual/saturn.log
dist/pack libChf/chf.tps
dist/saturn libChf/chf.tp
dist/Saturn libChf/chf.toc
dist/pack libChf/chf.pdf
dist/saturn libChf/chf.log
dist/saturn.cat libChf/chf.info
dist/stateDir.* libChf/chf.fns
libChf/chf.fn
dist/ROMs/*rom* libChf/chf.cps
/manual/saturn.log libChf/chf.cp
libChf/chf.aux
libChf/chf.dvi
libChf/chf.ps

View file

@ -863,7 +863,7 @@ or the invoking application/thread will be terminated.
During the signaling of a condition group the following actions are During the signaling of a condition group the following actions are
accomplished: accomplished:
@table @bullet @itemize @bullet
@item @item
First of all, a check is made to ensure that the Chf subsystem has been First of all, a check is made to ensure that the Chf subsystem has been
correctly initialized. If not, the function @code{ChfAbort} is called. correctly initialized. If not, the function @code{ChfAbort} is called.
@ -933,7 +933,7 @@ If an handler returned an invalid action code and it is not the condition
handler that was registered first, a new condition group is generated and handler that was registered first, a new condition group is generated and
immediately signaled, containing the condition @code{CHF_F_INVALID_ACTION} immediately signaled, containing the condition @code{CHF_F_INVALID_ACTION}
with module identifier @code{CHF_SET}. with module identifier @code{CHF_SET}.
@end table @end itemize
@c 2.1, cibrario, 18-May-2000 @c 2.1, cibrario, 18-May-2000
@c Renamed 'condition handling' -> 'general condition handling' @c Renamed 'condition handling' -> 'general condition handling'
@ -1292,7 +1292,7 @@ The default condition handler of Chf is automatically
pushed into the condition handler stack by the Chf initialization pushed into the condition handler stack by the Chf initialization
functions. It performs the following functions: functions. It performs the following functions:
@table @bullet @itemize @bullet
@item @item
if called during an unwind, it returns immediately to the caller, if called during an unwind, it returns immediately to the caller,
requesting the action @code{CHF_RESIGNAL}, else requesting the action @code{CHF_RESIGNAL}, else
@ -1315,7 +1315,7 @@ if the @code{CHF_FATAL} condition was @strong{not} signaled during an unwind
operation, it returns to the caller requesting the action operation, it returns to the caller requesting the action
@code{CHF_UNWIND}, otherwise it requests the action @code{CHF_RESIGNAL}. @code{CHF_UNWIND}, otherwise it requests the action @code{CHF_RESIGNAL}.
@end table @end itemize
@c 2.1, cibrario, 18-May-2000 @c 2.1, cibrario, 18-May-2000
@c New chapter: Structured condition handling @c New chapter: Structured condition handling

View file

@ -235,7 +235,7 @@
for more than LONG_PRESS_THR milliseconds, the key stays pressed after for more than LONG_PRESS_THR milliseconds, the key stays pressed after
release. release.
*/ */
#define LONG_PRESS_THR 1000 #define LONG_PRESS_THR 750
/* Chf Module Identifiers: /* Chf Module Identifiers:
Each main module of the emulator has its own Chf Module Identifier; the Each main module of the emulator has its own Chf Module Identifier; the

View file

@ -69,6 +69,8 @@
.- */ .- */
#include <X11/Xlib.h>
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
Data type definitions - require config.h, machdep.h, cpu.h Data type definitions - require config.h, machdep.h, cpu.h
---------------------------------------------------------------------------*/ ---------------------------------------------------------------------------*/

View file

@ -118,8 +118,6 @@ static char rcs_id[] = "$Id: emulator.c,v 4.1 2000/12/11 09:54:19 cibrario Rel $
#include <unistd.h> #include <unistd.h>
#include <sys/time.h> #include <sys/time.h>
#include <X11/Xlib.h>
#include "config.h" #include "config.h"
#include "machdep.h" #include "machdep.h"
#include "cpu.h" #include "cpu.h"

View file

@ -79,6 +79,8 @@
.- */ .- */
#include "cpu.h"
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
Function prototypes Function prototypes
---------------------------------------------------------------------------*/ ---------------------------------------------------------------------------*/

View file

@ -86,6 +86,7 @@ static char rcs_id[] = "$Id: t48.c,v 4.1 2000/12/11 09:54:19 cibrario Rel $";
#include "x11.h" #include "x11.h"
#include "args.h" #include "args.h"
#include "debug.h" #include "debug.h"
#include "monitor.h"
#define CHF_MODULE_ID X11_CHF_MODULE_ID #define CHF_MODULE_ID X11_CHF_MODULE_ID
#include <Chf.h> #include <Chf.h>
@ -579,15 +580,12 @@ int main( int argc, char* argv[] )
CpuReset(); CpuReset();
} }
if ( opt.monitor ) { if ( opt.monitor )
/* Call Monitor */ /* Call Monitor */
Monitor(); Monitor();
} else
else {
/* Call Emulator directly */ /* Call Emulator directly */
Emulator(); Emulator();
}
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }

View file

@ -76,8 +76,6 @@ static char rcs_id[] = "$Id: monitor.c,v 4.1 2000/12/11 09:54:19 cibrario Rel $"
#include <signal.h> #include <signal.h>
#include <errno.h> #include <errno.h>
#include <X11/Xlib.h>
#include "config.h" #include "config.h"
#include "machdep.h" #include "machdep.h"
#include "cpu.h" #include "cpu.h"

37
src/monitor.h Normal file
View file

@ -0,0 +1,37 @@
#ifndef _MONITOR_H
#define _MONITOR_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
------------------------------------------------------------------------- */
void Monitor( void );
#endif /*!_MONITOR_H*/

View file

@ -72,6 +72,8 @@
.- */ .- */
#include "cpu.h"
/*--------------------------------------------------------------------------- /*---------------------------------------------------------------------------
Macro/Data type definitions - require cpu.h Macro/Data type definitions - require cpu.h
---------------------------------------------------------------------------*/ ---------------------------------------------------------------------------*/