IBM PS/1 Resource Page

IBMulator 0.7

Advertisements

A new version of IBMulator, the PS/1 emulator, is finally ready. In version 0.7 you’ll get:

  1. Better emulation of HDD and FDD with more realistic timings.
  2. Sound FX for FDD, HDD and the system unit.
  3. Various bug fixes.

The configuration file (ibmulator.ini) has changed so, if you are upgrading, delete or rename the old one to recreate.

Better emulation of HDD and FDD with more realistic timings.

The level of realism for the disk drives is now quite decent, see the following comparison of the HDD performance between a real PS/1 and the latest versions of IBMulator, as recorded by the Spinrite II v1.1 disk analisys.

Spinrite II v1.1

You can adjust the HDD performance characteristics via the following ini options under the [hdd] section:

[hdd]
; The following performance parameters are used for any disk type except 35 and 38:
;    seek_max: Maximum seek time in milliseconds
;    seek_trk: Track-to-track seek time in milliseconds
;   rot_speed: Rotational speed in RPM
;              Possible values: any number between 3600 and 7200
;  interleave: Interleave ratio
;  overh_time: Controller overhead time in milliseconds
seek_max=40.0
seek_trk=8.0
rot_speed=3600
interleave=4
overh_time=5.0

Those values are used for every HDD type except types 35 (the WDL-330P) and 38 (the other known type reported on the IBM technical reference), which are well known and hard coded.

The FDD has received almost the same treatment (access latency is not as accurate as the HDD one though) and its behaviour is now more realistic. Realism means slower floppy drives though and it can be annoying to some, so I added a ini configuration option under the [drives] section to speed up the access times:

[drives]
; fdd_latency: A multiplier for the floppy drives rotational latency.
;              You can use this parameter to speed up the FDD read/write operations.
;              Possible values: a real number between 0.0 (no latency) and 1.0 (normal latency.)
fdd_latency=1.0

Sound FX for FDD, HDD and the system unit.

Another step towards full realism is the addition of sound effects for things like disks motor and seeks, floppy insertion and ejection, system fans noise and power button toggling (fans and power button only for the realistic gui mode.)
Every sound effect was recorded from a real PS/1, obviously.

Unfortunately I don’t have a 5″ 1/4 floppy disk drive, so sounds for that type of drive are the same as the 3″ 1/2 ones. If anyone got one of those drives and is willing to help let me know!

Sound effects can add a lot to the simulation, but they can be quite annoying after awhile, especially the HDD motor hissing, so I added some options to the ini file to adjust the volume of every effect, or to outright disable them:

[soundfx]
; Volumes are expressed as positive real numbers.
;   volume: General volume of the sound effects. Set to 0.0 to disable, 1.0 for normal.
; fdd_seek: Volume of FDD seeks.
; fdd_spin: Volume of FDD spin noise.
; hdd_seek: Volume of HDD seeks.
; hdd_spin: Volume of HDD spin noise.
;   system: Volume of system unit's and monitor's noises (realistic mode only.)
volume=1.0
fdd_spin=0.4
fdd_seek=0.4
hdd_spin=0.4
hdd_seek=0.3
system=1.0

Other changes

The RAM configuration has changed, and now you can set its amount through a single ini option:

[memory]
; ram: Size of the RAM in KiB
;      Possible values: any multiple of 128, for a maximum of 15488 (16M minus 512K reserved for ROM and 384K for upper memory)
ram=1024

The floppy drive type is now properly detected and the system can correctly sense a 5″ 1/4 FDD.

There are many other changes under the hood, like a more stable and complete audio mixer, but they are not very visible to the user.

Have fun!

 

Advertisements