86Box/86Box

Faulty FPU in Lotus 123 v3.x for DOS and newer

Closed this issue · 3 comments

What happened?

What Happens :
If any kind of FPU is enabled, numerical inputs become corrupted somehow, becoming either a simple 0, a microscopic random decimal number or an invalid input outright. This inability to input numbers also happens with the Softfloat FPU.

Expected Behavior :
Numerical inputs are supposed to appear normally, as typed through the keyboard, just like previous versions of Lotus 123.

Lotus 123 SCREENSHOT

image

Configuration file

[ST-11M MFM Fixed Disk Adapter]
base = 0324
irq = 2
bios_addr = D0000
revision = 5

[General]
vid_renderer = qt_software
vid_resize = 2
window_fixed_res = 1200x900
video_fullscreen_first = 0

[Machine]
machine = 325ax
cpu_family = am386sx
cpu_speed = 40000000
cpu_multi = 1
cpu_use_dynarec = 0
fpu_softfloat = 0
time_sync = local
fpu_type = 387
mem_size = 6144

[Video]
gfxcard = vga

[Input devices]
mouse_type = none

[Sound]
fm_driver = nuked

[Network]
net_01_link = 0
net_02_link = 0
net_03_link = 0
net_04_link = 0

[Storage controllers]
hdc = st506_xt_st11_m
cassette_mode = load

[Floppy and CD-ROM drives]
fdd_01_type = 35_2hd
fdd_02_image_history_01 = D:/Games/x86Box/Floppy/lotussave.img
fdd_01_image_history_01 = D:/Games/x86Box/Floppy/lotus3/DISK04.IMG
fdd_02_image_history_02 = D:/Games/x86Box/Floppy/MSDos622/oldboot.img
fdd_01_image_history_02 = D:/Games/x86Box/Floppy/lotus3/DISK03.IMG
fdd_01_image_history_03 = D:/Games/x86Box/Floppy/lotus3/DISK02.IMG
fdd_01_image_history_04 = D:/Games/x86Box/Floppy/lotus3/DISK01.IMG
fdd_02_image_history_03 = D:/Games/x86Box/Floppy/MSDos622/360k/DISK01.IMG

[Quaternary IDE Controller]
irq = -1

[Tertiary IDE Controller]
irq = 12

[Tseng Labs ET4000/w32p Rev. D VLB (Diamond Stealth32)]
memory = 2

[AdLib Gold]
irq = 5
dma = 1
gameport = 0
surround = 0
receive_input = 1

[Roland MT-32 Emulation]
output_gain = 100
reverb = 1
reverb_output_gain = 100
reversed_stereo = 0
nice_ramp = 1

[Sound Blaster 16]
base = 0220
base401 = 0330
irq = 5
dma = 1
dma16 = 5
opl = 1
control_pc_speaker = 0
receive_input = 0
receive_input401 = 0

[Hard disks]
hdd_01_parameters = 17, 6, 820, 0, mfm
hdd_01_fn = MFMST251.vhd
hdd_01_mfm_channel = 0

[PC/AT XTIDE]
bios = at

Operating system

Windows 11

CPU

Intel i3 13100F

86Box version

5634

Build architecture

Windows - x64 (64-bit)

Build type

  • New recompiler
  • Debug build

Download source

Official website (Jenkins, GitHub)

Additional context

No response

A similar situation is described in bug #4245

Does it happen before the Softfloat addition?

If you do not add the Softfloat option, then I get the error "division by zero". If the Softfloat option is added, I get a runtime error, as in my screenshot. In any case, there is software that works correctly only in the absence of an FPU, i.e. the Softfloat option, regardless of whether it is enabled or not, gives an erroneous result.