Skip to content

S3 Trio64V2/DX not handling VGA wraparound #3899

Description

@iamgreaser

What happened?

When running Commander Keen 4 EGA on a real S3 Trio64V2/DX, the screen wraps correctly when moving up on the overworld map. But in 86Box, I end up seeing flicker when I do this.

This is a 50:50 blend of 2 screenshots giving a rough idea of the kind of flicker I get - there is a hard cutoff point where everything below said point is black:

image

Here's a VM with a bootable disk running a bare minimum DOS 6.20 and Commander Keen 4 EGA for testing:
s3-wrap-86box-img.zip
The VM is reasonably close to the hardware I actually have, although I've brought the CPU speed down to 100 MHz (my box actually runs the CPU at 266 MHz).

Configuration file

[General]
vid_renderer = qt_software
dpi_scale = 0
force_43 = 1

[Machine]
machine = spitfire
cpu_family = celeron_covington
cpu_speed = 100000000
cpu_multi = 1.5
cpu_use_dynarec = 1
fpu_softfloat = 1
time_sync = utc
fpu_type = internal
mem_size = 32768

[Video]
gfxcard = trio64v2dx_pci

[Input devices]
mouse_type = none

[Sound]
fm_driver = nuked
sndcard = sb16

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

[Storage controllers]
hdc = internal
cassette_mode = load

[S3 Trio64V2/DX PCI]
memory = 2

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

[Floppy and CD-ROM drives]
fdd_01_type = 35_2hd
fdd_01_fn = keen4e-standalone.img

Operating system

Artix Linux

CPU

AMD Ryzen 7950X3D

86Box version

4.1 git master (2023-12-16) 4b402c2

Build architecture

Linux - x64 (64-bit)

Build type

  • New recompiler
  • Debug build

Download source

I built 86Box myself (please tell us more about your build configuration)

Additional context

Related to this bug: #347

The main differences are:

  • This is definitely a bug in 86Box confirmed against real hardware
  • I'm focused on a specific S3 Trio

There's a good chance I'll end up fixing this one myself, although I'm dreading how much of the S3 code needs to be rewritten. Probably won't need to touch the 15/16/24/32bpp stuff or the acceleration stuff.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions