Posted By: JKKDARK
New version of the Microbee emulator for PC.
Changelog:
New for this release:
* Added a configs directory (Windows build only) containing default configuration (sample) files.
* Added disks.alias.sample and roms.alias.sample aliases files. These files are used to automatically create default alias files in the home account. These provide a more portable method of configuring default ROMs and disks for each model.
* Added --alias-disks and --alias-roms options to enable/disable the use of disk and ROMs alias files.
* Added --col-type option to select early colour circuit monitor types.
* Added a new games.ini.sample file to configs directory.
* Added FDC Index pulse emulation, correct emulation of this is required for Premium BN60 and 256TC v1.2 Boot/Net ROMs.
* Added option --z80div to set the number of Z80 blocks executed per Z80 frame.
* Added --maxcpulag option that sets the maximum Z80 CPU lag time allowed.
* Added --config option to allow alternative configuration files to be used.
* File path slash characters can be specified as either forward or back type with the emulator converting where required if this feature is enabled. This makes configuration files more portable between systems.
* Added --slashes option to enable/disable conversion of file path slashes. Default is enabled.
* Added code to the sound module that prevents sound gaining in time due to integer remainder losses from division operations. This can be enabled by using the --snd-alg1 option.
* Added EMUKEY+S sound mute hot key toggle and status display 'M' if muted.
* Added +mute argument parameter to --status options.
* Added --snd-freq option to set the sound sampling rate.
* Added --snd-freqadj option to adjust the sound card sampling rate by a percentage value.
* Added --snd-freqlow option to set the lowest sound frequency.
* Added --snd-holdoff option to set the hold-off delay.
* Added --snd-samples option to set the SDL callback data size.
* Added --snd-hq option as a quick method to set high quality audio settings.
* Added --snd-mute for temporarily muting sound output.
* Added --snd-volume option for consistency with the other commands. This is the same as the --vol option.
* Added --dstep option to support 48tpi DD disks (DS40) in 96tpi DD drives.
* Added --dstep-hd option to support 48tpi DD disks (DS40) in 96tpi HD drives.
* Added --js-axis to enable/disable conversion of joystick analogue axis values to buttons.
* Added --js-axisb to set the joystick button base value.
* Added --js-axisl to set the joystick axis level thresh hold detection level. (Use joystick calibration before using this)
* Added --file-x options allowing CP/M applications to accept parameters from the command line. How these are used is entirely dependent on the CP/M application accessing these values. This distribution includes some new CP/M tools that make use of these options and the options described here will be related to those programs.
* Added --file-app option determines an application name.
* Added --file-exec option determines the execution address of a m/c program.
* Added --file-list and --file-list-q options determines a list of files to be up loaded.
* Added --file-load option determines the load address of a m/c program.
* Added --file-run option determines a program or ccp command to run.
* Added --file-exit option to enable/disable the EXITEMU.COM being generated by the new UBSCRIPT.COM support program.
* New UBSCRIPT.COM and VSCREST.COM CP/M support programs have been added to the tools images. These allow the dynamic creation of scripts from within the uBee512 CP/M environment.
* Configuration file parameters can now use environment variables that are portable between Windows and Unix systems.
* Added predefined built-in variable(s) accessible from configuration file and command line options.
* Creation of raw disk images when '.temp' is appended to a raw disk file name. Will be over written next time started with same file name.
* Added a default 'files' directory for holding Microbee programs.
* Added +ubee512 argument to the --modio option to report excessive lost time during the Z80 CPU emulation.
* Added PC85_BASIC_A.ROM and PC85_BASIC_B.ROM entries.
* Added --lconw option to list section names in config file in wide format.
* Added --video option to enable/disable video output on start-up.
* Added --clock-def option to be used by uBee512 API functions.
* Added --exit-check option to allow quick exits with no checking. Z80 program.
* Added --args-error=options to disable some argument option errors.
* Added video, sound mute and CPU clock functions.
Changes:
* New versions of HOST2CPM, CPM2HOST and HOSTDIR now handle hyphen characters correctly in file names and the use of double quotation characters is now much improved. Please update existing versions for trouble free operation when using the new games.ini.sample script.
* Changes to various areas has resulted in much improved sound quality.
* Current and default directories are now used in that order, see the information at the end of the --help output for the new rules.
* Win32 version now uses a video frame rate of 50 FPS. Unices stays at 30.
* Sound hold off now uses 50mS, previously used 75mS. Newly introduced sample rate frequency adjustment value is set to -2.5%
* Changed the number of Z80 CPU blocks executed per Z80 frame from 1 to 25. This increases polling of peripherals and can be configured as required.
* CPU time greatly reduced when display is not being updated by eliminating writes to the SDL screen. This may also result in improved sound quality.
* CRTC 6545 status now returns the correct duty cycle for Vertical blanking. 'Defender' and many other games that rely on this are now emulated correctly.
* Win32 and Unices now use 1024 as default for the SDL sound callback data size. Previous values were 128 for Win32 and 512 for Unices. There is now an option available to override the default value.
* The Z80 CPU constant used for fine tuning the clock speed and calculation code has been removed. Any problems with sound can be corrected by using the new --snd-freqadj option instead.
* 512k and 256k models now default to monochrome mode. Use the --col option for pre 2.7.0 emulation if is colour required.
* The --nodisk option now stays in affect until any key is pressed. It now also prevents the Index pulse being returned.
* A PIO polling persist duration added when Z80 emulation commences, this permits some Boot/Net ROMs to start correctly.
* Improved error reporting when a file that requires R/W access is read only or the file is not found.
* Windows build uses the latest stable SDL version of 1.2.13. Was 1.2.11.
* The ubee512rc.sample file has been revised. Contains ROM configurations for all models and examples of how to use environment variables.
* The ubee512rc configuration file is now created from the ubee512rc.sample file (now located in configs directory in Windows) if not found.
* The libdskrc configuration file is now created from the libdskrc.sample file (now located in configs directory in Windows) if not found.
* Windows and Unices account creation now share similar methods.
* Made Hat motion reportable if +joystick used in --modio option.
* A lot of cleaning up of the code.
Fixed:
* Corrected a 'speed up' issue noticed on Win32 systems when dragging the program window and releasing was causing the emulator to catch up all the lost time.
* On Win32 some sound systems (or drivers) resulted in a very slow and distorted sound problem, this has been fixed by increasing the callback sample size value. See the new --snd-samples option above.
* Joystick 12 button limitation, now is 128 buttons as originally intended.
* rom1.bin was being loaded in to complete a 16K load if the 1st ROM in the list was less than 16K in size.
* Application icon transparency working for Windows build.
* Added an SDL_FreeSurface() call before creating a new screen surface.