Skip to content

Releases: barotto/IBMulator

v0.17.1

07 Jan 11:20
Compare
Choose a tag to compare

Changes since v0.17:

  • Fixed MPU-401 interface not working.
  • Fixed possible crash when the shader parameters window is opened.

This release is to fix bugs only, no changes to ibmulator.ini or savestates.

v0.17

31 Dec 13:34
Compare
Choose a tag to compare

Changes since v0.16:

  • Added Sound Blaster Pro and Pro 2 emulation
  • Added Nuked-OPL3 for OPL audio rendering
  • Added a mixer GUI window to control volumes, filters, effects and save settings to a file
  • Added an audio OSD to adjust volumes
  • Added reverb, chorus, crossfeed, balance audio effects
  • Fixed horizontal PEL panning in CGA graphics mode
  • Fixed CPU 32-bit PUSH for 16-bit segment registers
  • Fixed audio crash when restoring a savestate with the serial modem installed
  • Fixed floppy disk snatch sound at boot time
  • Fixed PC Speaker audio desync
  • Fixed Sound Blaster and MPU-401 not updating their hardware settings after a state restore
  • The system sound effects are now audible in all GUI modes
  • Audio filters and volumes have been tuned according to common knowledge and direct measurements

New default key bindings:

  • SHIFT+F2: toggle the mixer control window
  • R-CTRL+UP: increase volume by 5%
  • R-CTRL+DOWN: decrease volume by 5%
  • R-CTRL+RIGHT: next OSD audio channel
  • R-CTRL+LEFT: previous OSD audio channel

The new key bindings are defined in the default keymap.map file present in the share/ibmulator folder.

Updates to ibmulator.ini:

  • All audio volumes are now expressed as percentages, from 0 to 150.
  • Keys removed: [gui]:mouse_accel, [gui]:dpi, [pcspeaker]:enable, [pcspeaker]:rate, [adlib]:rate, [ps1audio]:rate, [ps1audio]:filters, [ps1audio]:volume, [sblaster]:opl_rate
  • Keys added: [gui_dialogs]:osd_timeout, [gui_dialogs]:vu_meters, [mixer]:profile, [pcspeaker]:reverb, [pcspeaker]:chorus, [pcspeaker]:balance, [ps1audio]:dac_resampling, [ps1audio]:dac_volume, [ps1audio]:psg_volume, [ps1audio]:dac_filters, [ps1audio]:psg_filters, [ps1audio]:dac_reverb, [ps1audio]:psg_reverb, [ps1audio]:dac_chorus, [ps1audio]:psg_chorus, [ps1audio]:dac_balance, [ps1audio]:psg_balance, [adlib]:reverb, [adlib]:chorus, [adlib]:balance, [sblaster]:model, [sblaster]:dac_resampling, [sblaster]:dac_reverb, [sblaster]:dac_chorus, [sblaster]:dac_crossfeed, [sblaster]:dac_balance, [sblaster]:opl_reverb, [sblaster]:opl_chorus, [sblaster]:opl_crossfeed, [sblaster]:opl_balance, [soundfx]:reverb, [soundfx]:fdd_gui, [soundfx]:fdd_balance, [soundfx]:hdd_balance, [soundfx]:system_balance, [soundfx]:modem_balance

If you're upgrading from v0.16:

  1. rename or delete your current ibmulator.ini file to create an updated version.
  2. rename or delete your current keymap.map file for new key bindings to take effect.

Savestates created in v0.16 are not compatible with v0.17.

Windows version compiled and tested on Windows 10.
Linux version compiled in Ubuntu 20.04 and tested on Ubuntu 22.04.
The AppImage version is the same as the .tar.gz one, encapsulated in a fancier container.

ibmulator-0 17

v0.16

03 Apr 19:40
Compare
Choose a tag to compare

Changes since v0.15:

  • Added virtual serial modem emulation
  • Added support for RetroArch slang shaders
  • Added virtual 9-pin dot-matrix color printer emulation
  • Fixed program crash with IBM Advanced Diags
  • Fixed random CMOS image corruptions
  • Fixed "timer not in use" error on state restore
  • Improved handling of the -c command line parameter

Changes to ibmulator.ini:

  • Added new section [modem]
  • Added new section [printer]
  • The [display] section has been revamped for the new shaders system
  • Modem options have been added to the [soundfx] section

New default key bindings:

  • CTRL+F2: opens the shader's parameters window
  • CTRL+SHIFT+F4: opens the virtual printer window

If you're upgrading from v0.15:

  1. rename / delete your current ibmulator.ini, otherwise a crash will occur because old shaders cannot be loaded.
  2. rename / delete your current key map file (keymap.map) for new key bindings to take effect.

To use RetroArch shaders:

  1. go to https://github.com/libretro/slang-shaders and download the zip package
  2. extract the slang-shaders-master.zip inside the "shaders" directory that IBMulator creates in the user directory
  3. rename the "slang-shaders-master" directory to "shaders_slang"
  4. specify the desired *.slangp preset in [display]:normal_shader or [display]:realistic_shader with a path like "shaders_slang\bezel\Mega_Bezel\Presets\MBZ__5__POTATO.slangp"

Be sure to install the most recent drivers for your video card. Full support for OpenGL 4.5 is needed for RetroArch shaders to work.
Shaders have been tested only with AMD Adrenalin 23.3.2 drivers on Windows and AMD open source drivers (Linux 5.15) + Mesa 23.0.1 on Linux.

For better visual results on 4K monitors I suggest you to disable Windows' HiDPI scaling for ibmulator.exe and use IBMulator's own UI scaling option instead. If you need to reduce the rendering resolution for performance reasons you can use the [display]:shader_output_size option.

Savestates created in v0.15 should be compatible with v0.16.

Windows version compiled and tested on Windows 10.
Linux version compiled in Ubuntu 18.04 and tested on Ubuntu 20.04.

v0.15

15 Sep 17:00
Compare
Choose a tag to compare

Changes since v0.14:

  • Added new floppy disk emulation type based on magnetic flux changes
  • Added support for HFE, TD0, IMD, and IPF floppy disk images
  • Added new graphics and sound effects for the 5.25" floppy drive
  • Floppy drives can be accessed with new key bindings
  • GUI dialogs can now be used with the keyboard
  • Added GUI dialogs configuration to ibmulator.ini
  • Added new media commit to storage options for both floppy and hdd
  • Added non-DMA operation support to the floppy disk controller
  • Floppy disk state is now properly preserved in savestates
  • GUI scaling can now be changed at runtime with CTRL+Mouse wheel
  • Added support for PS/1 Model 2011 canadian ROM

Testing results for copy-protected floppy disks can be found here.
Your mileage may vary. Support will hopefully improve in the future.

Changes to ibmulator.ini:

  • [program]:file_dialogs removed (setting moved to the new gui_dialogs section)
  • [gui]:ui_scaling value changed from real number to percentage
  • [gui_dialogs] section added, with options to set GUI dialogs properties
  • [drives] section completely revamped
  • [floppy_a]:type and [floppy_b]:type removed
  • [hdd]:readonly and [hdd]:save removed (see [drives] for alternatives)

If you're upgrading from previous versions, renaming of your current ibmulator.ini is suggested, so that IBMulator can create a new one.

Savestates created in v0.14 cannot be loaded in v0.15.

Windows version compiled and tested on Windows 10.
Linux version compiled in Ubuntu 18.04 and tested on Ubuntu 20.04.

v0.14

23 Dec 20:26
Compare
Choose a tag to compare

Changes since v0.13:

  • Multiple savestates.
  • VGA image integer scaling.
  • Monochrome monitor emulation.
  • Compact interface mode improvements, with an auto-hiding control bar.
  • Floppy disk image select dialog improvements.
  • UI scaling.
  • Windows related bug fixing (#43).
  • GUI code moved to RmlUI.

New ibmulator.ini settings:

  • [gui]:compact_timeout to set the auto-hide timeout for the compact mode control bar
  • [gui]:ui_scaling to set the scale factor of the GUI elements.
  • [capture]:video_quality to set the compression level of the video capture stream
  • [display]:type to set the monitor type (color or monochrome)
  • [display]:normal_scale to set the VGA image scaling in normal and compact modes

If you're upgrading from an older version, I suggest you to delete the old ibmulator.ini.

Windows binaries are compiled and tested on Windows 10 Pro 2004.
Linux binaries are compiled on Ubuntu 18.04 (GCC 10.3) and tested on 20.04.

v0.13

06 Aug 16:15
Compare
Choose a tag to compare

Changes since the previous version:

  • Added remappable key bindings with timed macros
  • Added Serial port emulation with network null modem connection mode
  • Added status indicators
  • Added configurable log file name
  • Fixed #56, #59, #61, #62
  • Fixed possible GUI deadlock
  • Fixed segfault when the GUI can't be initialized
  • Fixed mouse wheel not working on floppy image select window

New ibmulator.ini settings:

  • [gui]:keymap can now have multiple keymap files specified
  • [serial] section to configure the the Serial Port
  • [gui]:show_indicators to enable the status indicators
  • [program]:log_file to configure the log file name

Limitations:

  • The serial null modem network connection can't emulate proper hardware handshake (planned for future releases)

If you're upgrading from an older version, I suggest you to delete the old ibmulator.ini as well as any keymap.map file (if present).

Windows binaries are compiled and tested on Windows 10 Pro 2004 with the latest MSYS2 release.
Linux binaries are compiled on Ubuntu 18.04 (GCC 10.3) and tested on 20.04.

v0.12

25 Dec 20:20
Compare
Choose a tag to compare

Changes since v0.11:

  • MIDI output support
  • Roland MPU-401 emulation
  • Sound Blaster 2.0 MIDI emulation

New ibmulator.ini settings:

  • [midi] to configure the MIDI device
  • [mpu401] to enable and configure the MPU-401 card

Limitations:

  • MIDI output only, no input.
  • For Sound Blaster MIDI emulation only SB-MIDI mode is tested; UART mode, while emulated, is completely untested (and probably broken) as I don't know of any program using it (please suggest).
  • Only MT-32 SysEx messages are saved in save states.

Windows binaries are compiled and tested on Windows 10 Pro 19.09 with the latest MSYS2 release.
Linux binaries are compiled on Ubuntu 18.04 and tested on 20.04. With the provided Linux binaries you'll get better (~10%) performance compared to v0.11 since I started using GCC 10 (ymmv).

v0.11

12 Sep 17:22
Compare
Choose a tag to compare

Changes since v0.10:

  • Creative Sound Blaster 2.0 emulation
  • Dark style and Zoomed in view for the Realistic GUI mode
  • Joystick axes and buttons remapping support
  • Adjustable emulation speed, from 0.01% to 500%
  • Bug fixing, especially in the audio mixing department

The Sound Blaster DSP v2.01 emulation is a brand new implementation (except the ADPCM decoders taken from the DOSBox project). I tested it as much as I could but I still expect problems, so bug reports are very much welcome.
Adjustable emulation speed was already somewhat implemented, but it was so broken that I consider it a new feature.

New ibmulator.ini settings:

  • [sblaster] section to set up the Sound Blaster;
  • [gameport] section to enable/disable port emulation and set joystick mappings;
  • realistic_style and realistic_zoom settings in the [gui] section, to set up the new Realistic GUI style and zooming functions;

Windows binaries are compiled and tested on Windows 10 Pro 19.03 with latest MSYS2 release.
Linux binaries are compiled on Ubuntu 18.04 and tested on 20.04.

0.10

08 May 19:48
Compare
Choose a tag to compare

Changes since v0.9:

  • Video capture, see the [capture] ini file section. Use the CTRL+F7 key combo to start/stop recording.
  • New SDL 2D renderers, see the [gui]:renderer ini setting. Use the renderer that works best for you: accelerated should work fine if you use IBMulator in a VM like Virtualbox, otherwise use the default opengl renderer (provided your video card has OpenGL 3.3 drivers). The software renderer is for when nothing works.
  • Native file dialogs, see the [program]:file_dialogs setting. Use the native value if you want to use your OS's standard file dialog. Related issue: #46.
  • Revamped keymap system: now portuguese and other keyboard layouts with dead keys should work (I can't test this on a hw keyb, so YMMV). Related issue: #50.
  • New [gui]:framecap setting.

The configuration ibmulator.ini file has changed, if you are upgrading please delete or rename the old one.

The Linux binary works on my Ubuntu 19.10 machine, but it should work on Ubuntu 18.04 and 20.04 as well. Other distributions are untested. You need libSDL2 installed in your system.

0.9

22 Sep 11:44
Compare
Choose a tag to compare
0.9

Changes since v0.9beta2:

  • VGA rendering is now scanline based for resolutions below 640x480; this allows for proper rendering of most demos, intros, and games that rely on per-scanline effects.
  • Audio card channels can be filtered with DSP filters, such as low pass and high pass; this is useful for example to recreate the sound of the original pc-speaker.
  • New synchronization options like vsync and framecap to fine tune the emulator for your particular system and/or taste.

Changes since v0.8:
all of the above plus:

  • IBM PS/1 model 2121 emulation (80386)
  • ATA controller emulation

Also many bug fixes (and an equal amount of new bugs added ofc.)

The configuration file (ibmulator.ini) has changed quite a bit. If you are upgrading please delete the old one.

The Windows version was compiled with GCC 7.3 and SDL 2.0.8 on Windows 8.1. I don't have access to a Windows 10 machine so YMMV.

The Linux version works on my machine, Ubuntu 16.04, but it should also work on Ubuntu 18.04 and later. Needed libraries are in the lib directory; you can delete/rename them if you want to use the versions installed in your system.

Please report any problems using GitHub's issue tracker.

Note for Ubuntu 19.10 (and possibly other distros): if IBMulator won't start (libsndio.so.6.1 library missing), delete lib/libSDL2-2.0.so.0 and use the SDL2 library provided by your distribution.