22 April 2009 - SJK
New for this release:
* Added an early OSD GUI
system that can be enhanced over future releases.
provides a resizeable buffered console dialogue. OSD dialogues
can be dragged and minimised, background emulation continues and the keys
input focus can be switched between emulation or OSD in the normal way.
* Added replacement OSD reset and exit dialogues. The new dialogues no
longer requires the display to switch resolutions and are now consistent
between different system builds.
* Added an OSD console where all output text can be directed (see --output).
The OSD console also allows user input to execute options as the emulator
* Added MD5 support for use in ´roms.alias´ and ´disks.alias´ files.
* Added EMUKEY+C hot key to enter a ´stdout´ version of the OSD console.
This halts the emulator whilst in this mode and allows pasting input which
the OSD console is currently unable to do.
* Added options support while the emulator is running. Most of the options
available in start-up mode are supported. Some of these can be used to
permit media, tape, printer, serial, etc. to be changed.
* Added MD5 code to check ROMs. This is used to apply patches for some
known bad ROMs and to optionally fix some Y2K related display issues in
256TC boot ROMs.
* Added check for a known bad 256TC v1.20 ROM (very damaged, no patching).
* Added optional administration sections ´global-start-runmode´ and
´global-end-runmode´ for configuration files when in run mode.
* Added --verbose option to switch on additional emulator reporting.
* Added --tapei-det option to set an optional input level detection value
for input from WAV files.
* Added --osd option to configure OSD operation.
* Added --prefix option to specify the installation path prefix on Unix
systems. This allows installations contained on portable media to be used.
* Added --account option to specify an alternative uBee512 account location.
* Added --hwflashr option to set the video hardware flashing rate to 20, 40,
80, 160, 320, 640, 1280 or 2560 milliseconds.
* Added --hardware option to disable emulation of various hardware.
* Added --century option to change century dates where appropriate.
* Vertical sync frequency is now calculated from current CRTC 6545 values.
* Added --a-close, --b-close, --c-close, and --d-close options to close disk
drives that have an open image/disk.
* Added --print-close and --printa-close options to close open printer
* Added --tapei-close and --tapeo-close options to close open input and
output wav files used by the tape port.
* Added --coms-close option to close open serial communications ports.
* Added --options-warn to issue a warning or produce an error when an
option is encountered that is not supported in run mode.
* Added --keystd-mod option for setting standard keyboard behaviour flags.
* Added --runsecs option to set number of seconds to run before exiting.
* Added --output option to set text output devices.
* Added --mon-bgi-b, --mon-bgi-g, --mon-bgi-r, --mon-fgi-b, --mon-fgi-g and
--mon-fgi-r options to set dual intensity monochrome RGB values. See
* Added colour, amber, green, black, white, and user to the single
character --monitor option parameters of c,a,g,b,w and u.
* Added ´clear´ argument to --regs option.
* Added UBEE_USERHOME local variable containing the user´s home path on
Unices, or the directory containing the executable on Windows systems.
* Added Windows OSVERSIONINFOEX dwMajorVersion and dwMinorVersion members
as variables UBEE_SYS_MAJOR_VAL and UBEE_SYS_MINOR_VAL to mingw
* Added defining of internal variables depending on build options. If LibDsk
is compiled in UBEE_LIBDSK=1 and if OPENGL
is compiled in UBEE_OPENGL=1.
* Added generic RPM and Slackware binary tgz distribution packages.
* Added a portable Windows/Unix distribution package. Can be run from a
flash drive on Unices (including live CDs) and Windows machines.
* The ´roms.alias´ and ´disks.alias´ files now supports optional MD5
entries. The ´roms.alias´ file is preconfigured for ROMs for all models
where ROMs are available. A ´roms.md5´ and ´disks.md5´ file in the
emulator directory is used for matching MD5s to a file name.
* Changed start up to not report additional information unless requested
with the the new --verbose option.
* The dual intensity monochrome (--hint) has now been replaced by a --dint
option. This feature had been incorrectly emulated. The new method also
includes changes to the ubee512rc.sample file. Obsolete options
--mon-fgl-x have been removed and will be ignored. A message will be
reported if any of these are used.
* Removed --mon-fgl-b, --mon-fgl-g and --mon-fgl-r options as these are now
obsolete. A special error message will be reported if any of these are
used. Use the new --mon-bgi-x and --mon-fgi-x options shown above.
* Removed the --psec option. Sector probing is always used now. Using this
option reports a message.
* Changed the cursor blinking modes to use the correct blink rate.
* Changed the way video hardware flashing works, now also emulates early
Premium (main board v3) flash method. The --hwflash option now takes
´off´, ´on´, ´v3´ and ´v4´ as arguments.
* Added code to handle CTRL+SHIFT+KEY combinations. This is enabled by
default (use --keystd-mod to disable) and prevents the shift/invert action
for these keys when emulating standard keys (6545). This is required by
some systems for extended function keys to work.
* Changed create_account() function to install libdskrc to the ´share´
directory on Unix systems and create a ´.libdskrc´ link to it from the
user´s home account making the Unix layout the same as Windows.
* Changed --config option to no longer cause the emulator to terminate if
the specified file does not exist. A message will be output and no
configuration file will be used.
* Changed -f, --fullscreen and -t, --turbo options to now have support for
optional on/off arguments.
* Added a customised getopt.c source as suppression of messages direct to
stderr and repeated calls to getopt_long() was required.
* Changed standard PC and PC85 models to default to monochrome.
* Constant used for the vertical blanking period has changed from 12/100 to
10/100 of the VSYNC period.
* Changes to the debugging section makes the display more responsive and
allows emulator commands to now work without delay while debugging.
* Makefile is now much improved and uses more conventional methods.
* Added conditional build compilation options for OpenGL
, LibDsk, debugging
and ´MZ80 C´ to sources and Makefile.
* Changes to ubee512rc file for the [arcade1] entry for the file name.
* Changed --tapevol option to now use a percentage value.
* Fixed the disk write protection when a write protected disk is attempted
to be written to. The OS system will no longer hang and should report an
* Fixed a problem with the internal DSK disk image handler as could not
access mixed 512x10 and 1024x5 formatted tracks correctly.
* Fixed debug option parameters for step and trace.
* Fixed sound volume set option(s), was unable to set any level.
* Fixed command line to report errors correctly on Windows build.
* Fixed a display refresh problem introduced in v3.0.0/1 when running
standard ROM models, monochrome mode and Telcom versions 1.1 or 1.2. The
top display line was incorrect, see vdu_colcont_w() function notes.
* Fixed a display refresh problem introduced in v2.8.0. This problem was
noticeable in Telcom v3 on PJB system disk and some other applications.
* Fixes to stop OpenGL
functions being called when using SDL
affecting the status line.
* Fixed FDC head positioning commands (type-I) to be acted upon even if no
disk/image. This needed to be fixed to allow disk/image changing to work
with options now supported while emulator is running.
* Fixed modio.keytc reporting in keytc_r() function.
* Fixed patches for bad telcom 3.21 ROMs. Now passes ROM checks for ROM A,
ROM B, and Telcom.
* Fixed GUI
status for the current printer status.
* Fixed swap_endian() function, was just returning the same value.
* Fixed games.ini.sample section for froger-j.bee game.