Emu75 source file notes - J-F Garnier, Nov. 2026


' -------------------------------------------------------------------------------
' 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.
' -------------------------------------------------------------------------------




Source files:

emu75.c		Main module
capric1.c	Capricorn CPU simulator
hpil.c		HPIL interface simulation
pod.c		Expansion Pod simulation
monit.c		Monitor/debugger
desas75.c	Capricorn microcode disassembler
trans.c		Label mnemonic translator
userpc.c	User interface (PC DOS version)
delai.c		Low level delay routines (PC DOS version)
ems.c		EMS support functions

ildisp.c	HPIL display device
ilhdisc.c	HPIL LIF drive 1
ilhdisc2.c	HPIL LIF drive 2
ilfdisc.c	HPIL Floppy drive
ildrive.c	HPIL mass storage protocol routines
ildos.c		HPIL DOS link
ilcentro.c	HPIL parallel interface
ilser1.c	HPIL serial interface 1
ilser2.c	HPIL serial interface 2
ilserial.c	HPIL serial port access routines
ilext.c		External HPIL interface (HPIL PC board)
ilext2.c        External HPIL interface (PIL-Box: serial/HPIL translator)

capricorn.h	Global variables
delai.h		Function prototypes
trans.h		Function prototypes
version.h	Version dependant welcome messages

dmp2bin.c	HP75 ROM file format converter (standalone)




Emu75 was compiled with Borland C++ 4.52 (actually used in pure C flavor).


Global conditional compilation symbols:
XIL: support of external HP-IL with HP-IL/PC board



History:

Emu75 version 1.34 - 3 nov 2026
   - userpc: fix clear screen after inverse video character

Emu75 version 1.33 - 6 may 2022
   - hpil: enable the XIL code back

Emu75 version 1.32 - 11 feb 2019
   - hpil: minor correction in hpil simulation
   - add the /s option for native speed on fast host (for diagrom)

Emu75 version 1.31 - 28 dec 2018
   - hpil: minor correction of hpil simulation inaccuracies
   - display: support of the Esc S roll up sequence

Emu75 version 1.3 - 27 oct 2018
   - support of the Expansion Pod memory

Emu75 version 1.2 - 17 may 2018
   - fix of a problem with the roll-over of the RTC counter
   - fix a bug with RTC counter access that caused problems in RANDOMIZE (w/o arg) , also in TIME on 75's ROM aaaaaa.
       RANDOMIZE was always generating the same seed instead of a random seed based on RTC counter.
       TIME (version aaaaaa) was always returning the same fractional part.
   - minor speed improvement

Emu75 version 1.1 - 3 july 2017
   - support of the Diagnostic ROM (although several tests fail)
   - fix of a minor CPU emulation error (detected by the diag ROM)

Emu75 version 1.0 - 27 april 2017
   - promoted to version 1.0 after user tests
   - add the GNU licence information in the help screen and main source file.

Emu75 version 0.97 -  3 april 2017
    - full support of the 66-line display format in DOSBox
    - added the shift/ctrl-I/R key sequences on F7, made F9-F12 keys configurable with def key 

Emu75 version 0.96 - 15 march 2017
    - correction of a problem that may cause a 'RAM is invalid' error at emu75 startup

Emu75 version 0.95 - 11 march 2017
   - fixed the LCD problems in Visicalc
   - the HP75 clock is updated with the host system time at emu75 startup

Emu75 version 0.94 - 2 march 2017
   - HPIL implemented, PMS support done.
   - first functional released test version

Emu75 versions 0.91-0.93 - jan-feb 2017
   - disassembler completed with symbolic entry points support
   - bank switched ROM management done
   - CPU emulation coded in C and functional
   - I/O emulation done
   - working versions - not released

Emu75 version 0.9 - dec 2016
   - second restart of Emu75 project, following the new activities around the HP75
     and the creation of the HP75 group
   - recovery and consolidation of the HP75 entry point list (with other contributors)


Emu75 version 0.1 - 2010
   - restart of the Emu75 idea, following the availability of the HP75 source code
     on the MoHPC DVD
   - general emu75 architecture defined but not functional,
   - put on hold, due to other on-going projects and lack of motivation
     (low HP75 interest in the HP user community)


Emu75 version 0.0 - end 1996
   - first ideas on a possible HP75 emulator based on my Emu71,
   - basic disassembler (from my HP85 version)
   - attempt to write a CPU emulation in assembly language
   - stopped due to too little knowledge on the machine internals
