Giter Club home page Giter Club logo

pcem's People

Contributors

conikost avatar davide125 avatar driver1998 avatar frenzie avatar greatpsycho avatar jmajeremy avatar josepmajaz avatar jviskari avatar kouta-kun avatar leilei- avatar lynxluna avatar maddthesane avatar marekknapek avatar michael-manley avatar pcem-maintainer avatar pghvlaans avatar ruben-balea avatar sarah-walker-pcem avatar sarahwalkerstardot avatar teepean avatar tomoshibiakira avatar unreal9010 avatar valpackett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pcem's Issues

Socket 8 Intel VS440FX shows black screen when starting it up

I have the new rom set and while Slot 1 Gigabyete works fairly well however Slot 8 Intel VS440FX whenever you fire it up just remains a blank screen with the sound of it turning on briefly then nothing.

Machine Specs: Socket 8 Intel VS440FX any Pentium speed: All control options grayed out.

Host Windows 10 I7 8000 series Dell Inspiration with Nivida Graphics 1030

Bug: Window Jumps up after exiting Fullscreen (on Windows)

Description
On Windows, after exiting Fullscreen, the window jumps up by a few pixels compared to what it was before Fullscreen was entered.

To Reproduce
Steps to reproduce the behavior:

  1. Start emulator
  2. Start a machine
  3. Enter, then exit Fullscreen
  4. The emulator window will have jumped up by a few pixels.

Expected behavior
The emulator, upon exiting Fullscreen, should return to the space it previously occupied.

Demonstration
See below video:
https://user-images.githubusercontent.com/73771471/125551009-21cbab2a-0213-429e-bab9-8e5f00444936.mp4

Emulator configuration
N/A

Host machine

  • OS: Windows 10, 11 (haven't tested other versions)
  • Emulator version: v17

Disk read errors when installing programs from floppy under WfW 3.11

Describe the bug
Occasional "Cannot read from drive A:" messages appear when installing programs from floppies under Windows for Workgroups 3.11. This issue appears to occur somewhat randomly and occurs more frequently when installing larger programs such as Microsoft Office 4.3c

Originally reported here: http://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=3&t=3605

To Reproduce
Steps to reproduce the behavior:

  1. Run any installer from floppy under Windows for Workgroups 3.11
  2. Go through the installation process
  3. Notice a "Cannot read from drive A:" or "Could not read from the file named: A:\$FILENAME" message depending on the program

Expected behavior
The program should install without disk errors.

Screenshots
Screenshot from 2021-06-03 21-07-22

Emulator configuration

  • Machine: [486] AMI 486 clone
  • CPU: i486DX2/66 (Recompiler enabled)
  • Graphics/sound cards: Phoenix S3 Trio64 2MB, No sound card
  • Installed OS: DOS 6.22 with Windows for Workgroups 3.11

Host machine

  • OS: Windows 7 SP1
  • Emulator version: Git commit 5f772fd (v17 is also affected)

Additional context

  • Clicking "Retry" on the error message each time it appears allows the installation to continue

IBM OS/2 1.0 keyboard problems

Ctrl + Esc and Alt + Esc don't work in PCem. These key combinations are used by OS/2 1.0 to switch to the program selector and to move between running apps.

Steps to reproduce the behavior:

  1. Load a program from the program selector (e.g. DOS command prompt)
  2. Try to use Ctrl + Esc or Alt + Esc

I expected the key combinations to function but they did not.

Emulator configuration
AMI 286 Clone
286 @8MHz
2048KB (2MB) RAM
EGA Graphics (256KB ECD)
AT Fixed Disk Adapter
1.44MB FDD
Type 3 Hard Disk Drive
Microsoft 2 Button Serial Mouse

Host machine
Dell Inspiron 545
Pentium Dual Core CPU E5200 @2.50GHz (32 bit)
3GB RAM
Windows Vista Home Premium SP2 32bit
Intel G33/G31 Express Chipset Family
Intel GMA 3100 (Graphics)

I know the both Ctrl + Esc and Alt + Esc are both system shortcuts for acting as a windows key and switching between open windows so the key combinations might have to be added as a clickable option from the menu like you have done with Ctrl + Alt + Delete.

Sarah, please mint the PCem source code as an NFT and allow us to pay you back a little 🙂

@sarah-walker-pcem THANK YOU for so many years of unpaid work on PCem, and for sharing it with the world. ☺️

Would it be an idea for you to mint the source code, in the state as it was when you handed its stewardship over to the community (the initial GitHub commit?), as an NFT, so you can earn a little well-deserved (virtual) coin from it? It might be a silly idea, and I'm not sure how much (if anything) it would earn you in practice, but perhaps it would be an opportunity for the community to repay you. And it would also create kind of a monument to your work.

If you are concerned about the environmental aspect of NFTs, it could be minted on Tezos, which is (supposedly) much more environmentally friendly than Ethereum (as long as they haven't migrated to Proof-of-Stake yet).

Disclaimer: I have zero experience with NFTs myself, but perhaps others here with more expertise could help you make this happen.

VGA bug : Titan game

Describe the bug
There's a rendering error using any VGA graphic card and the game Titan (from Titus).
The bottom of the screen during game is not rendered correctly and scroll is not smooth.
Game is probably using a VGA register trick as EGA rendering seems to be good.

To Reproduce
Steps to reproduce the behavior:

  1. Run Titan.com
  2. Start a game
  3. Observe visual issue

Expected behavior
smooth scroll and no glitches

Screenshots
Titan VGA Bug_2

Emulator configuration

  • Machine: AMI WinBIOS 486
  • CPU: Intel 486DX4 100
  • Graphics/sound cards: VGA
  • Installed OS : MSDOS 5

Host machine

  • OS: Windows 10
  • Emulator version : v17

Website down / hacked?!

Sorry to bother, but it seems that https://pcem-emulator.co.uk/ is down (it's throwing a blank site) and the forum (which was a good and useful source of information) says it's over and that it's not fun anymore? What in the world?

image

Is this for real? If so, I would say at least please restore it somehow. There were some really useful threads in there and now all is lost :( there's also no way to get the binaries anymore. Please restore them or upload them to mirrors. Thanks.

S3 Vision864 and Trio64 show "multiplied" graphics in Solaris

Describe the bug
Solaris 2.5.1 and 2.6 display multiple copies of the beginning of the framebuffer instead of the entire framebuffer when using an S3 Vision864 or S3 Trio graphics card.

Originally reported here: http://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=3&t=3457

To Reproduce
Steps to reproduce the behavior:

  1. Boot Solaris 2.5.1 or 2.6
  2. Go through the prompts until the GUI starts (I chose 1024x768 with an 8-bit color depth for testing when asked for a graphics mode)
  3. Notice that multiple copies of the beginning of the framebuffer are displayed (at 1024x768 8-bit color you can see three copies of the first 256 lines of the framebuffer)

Expected behavior
The entire framebuffer should be displayed.

Screenshots
Solaris 2.6 when using an S3 Trio64 (issue occurring):
Screenshot from 2021-06-11 21-56-18

Solaris 2.6 when using an S3 ViRGE/DX (issue does not occur):
Screenshot from 2021-06-11 22-02-34

Emulator configuration

  • Machine: [Socket 7] Shuttle HOT-557
  • CPU: Intel Pentium 166
  • Graphics/sound cards: S3 Trio64, No sound card
  • Installed OS: Solaris 2.6 (Solaris 2.5.1 is also affected)

Host machine

  • OS: Windows 7 SP1
  • Emulator version: Git commit 5f772fd (v17 is also affected)

Additional context

  • Solaris 2.5.1 does not support the S3 ViRGE/DX - the Tseng ET4000AX and Trident 8900D can be used as "good" cards for testing.

Floppy formatting fails with "Not Ready" on AMI BIOSes

Describe the bug
Attempting to format a floppy disc on a system with AMI BIOS appears to fail with a "Not Ready" error.
Originally reported at https://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=2&t=3640

To Reproduce
Steps to reproduce the behavior:

  1. Configure a machine with an AMI BIOS
  2. Attempt to format a floppy disc

Expected behavior
Formatting completes successfully

Emulator configuration

  • Machine: Any AMI BIOS machine?
  • Installed OS: MS-DOS 6.22

Created a situation where opening the right-click menu causes an assert failure

Describe the bug
I have created a situation where PCEM freezes, and if I try and open the right-click menu, an assert failure is triggered.

To Reproduce
From attached Hard Drive image:

  • Boot windows 95 as normal
  • The boot sequence detects 2 files as corrupt, get past the boot sequence in whatever way possible (I found that hitting D and then F got past the first file that fails, I believe the same worked for the second file)
  • Once windows 95 has booted, open C: Screamocity in the file explorer, and open DIR00002
  • After a second, the emulation will freeze. Trying to open the right click menu now will cause this assert failure.

Expected behavior
I expected the right click menu to open as normal.

Screenshots
image

Emulator configuration

  • Machine: [Socket 7] Shuttle HOT-557
  • CPU: Intel Pentium 100/50
  • Graphics/sound cards: Phoenix S3 Trio32, Sound Blaster AWE32
  • Installed OS: Windows 95
    Additional specs:
    128MB memory, Novell NE2000.

Host machine

  • OS: Linux Mint 20.2
  • Emulator version v17 (Built 2 days ago)

Additional context
I'm sorry if this isn't an actual bug; I assumed it was, since the error was delivered through a PCEM debug window and not W95 itself.
I have attached my hard drive image to this bug report because, as far as I know, there is no copyrighted content within it, and I would not be able to reproduce the creation of this hard drive image. The only 2 things of note on it are the shareware demo of slickball, and patches for a game called YU-NO (but no files from the actual game itself). If this hard drive image is still not acceptable to be uploaded here, I will delete the link.
removed
In case you're wondering roughly how I created this hard drive image:

  • I mounted the disk image in Linux Mint and copied the YUNO music patch folder into it
  • I booted into Windows 95 and tried to copy the folder within Windows to make the hard disk image bigger, so I could put more files into the disk image while mounted in Mint
  • About 1/3 through the installation, emulation speed slowed to 0-2%, despite none of my threads being anywhere close to maxed, and the emulator always running at fullspeed before this
  • I quit emulation and then tried to restart it
    (I'm aware there's a lot of things wrong with that process and it's a terrible way to go about putting files in; I just thought a description of how I got here could help).
    Again, sorry if this is a waste of time.

Emulation menu not working on Ubuntu 21.04

While emulation is running and the mouse is not captured, right button click on the main area don't display the menu.

Steps to reproduce the behavior:

  1. Build PCEM v17 on Ubuntu 21.04
  2. Run the application and define a new configuration
  3. Start the emulation
  4. Right mouse button click on the main window area

The click should display the menu but nothing happen

This behaviour appen with any emulator configuration

Host machine: Ubuntu 21.04 and PCEM 17

I compiled the software on a Debian 11 (Mate Desktop) running on qemu and everithing work ok.

Kentris PC speaker sounds don't play

Describe the bug
The sounds and voices in Kentris could be rendered through the PC speaker (like Access's RealSound) and PCem doesn't let it do that.

To Reproduce

  1. Start Kentris
  2. Space for options, set sound to SPEAKER and speed to 100
  3. Hear nothing but the title song getting a delay

Expected behavior
"It's Kentris!" "Begin Kentris!" "Bone!" ding

Emulator configuration

  • Machine: AMI386SX Clone
  • CPU: Cx486SRX2/50
  • Graphics/sound cards: VGA, Sound Blaster Pro 2
  • Installed OS: DOS 6.22

Host machine

  • OS: Windows 7
  • Emulator version: v17, and 95a24e5

Additional context
Ken did more of the PC speaker sound in some other games so there could possibly be more games affected by this bug.

[BUG] RTC Sync

Describe the bug
When you create a VM (any BIOS) with the RTC sync option enabled, then start it and enter the ROM SETUP utility, the time/date is reported as the BIOS default. However, when you stop the machine, disable RTC sync, start the machine, stop the machine, re-enable RTC sync, start the machine and enter the ROM SETUP utility, the reported date/time is the host system date/time.

Reproduction Steps
Steps to reproduce the behavior:

  1. Create a new machine (any BIOS) with the RTC sync option enabled.
  2. Start the machine and enter ROM SETUP
  3. The date/time reported is the BIOS default value, not the host value.

Expected behavior
The expected behavior is that the guest time is synced with the host time

Workaround Steps

  1. Stop the machine.
  2. Disable RTC sync
  3. Start the machine
  4. Stop the machine
  5. Re-enable RTC sync
  6. Start the machine
  7. Enter the ROM SETUP utility
  8. The reported date/time is the host system date/time

Emulator configuration

  • Machine: N/A Bug occurs on every one I've tried.
  • CPU: N/A Bug occurs on every one I've tried.
  • Graphics/sound cards: N/A Bug occurs on every one I've tried.
  • Installed OS: N/A Bug occurs on every one I've tried.

Host machine

  • OS: Kubuntu 21.04
  • Emulator version: v17
  • Any other relevant information: Built from source using release and networking configure flags

Tandy 1000 keyboard missing F11/F12 keys

Describe the bug
Tandy 1000 keyboards have F11 & F12 keys that are incorrectly not emulated.

To Reproduce
Steps to reproduce the behavior:

  1. Press F11/F12 (eg in Deskmate)

Expected behavior
F11/F12 to work

Emulator configuration

  • Machine: Tandy 1000

[Bug] Severe speed degradation in Moto Racer Options Menu

Describe the bug
Going to Options Menu in 1997 game Moto Racer causes PCem to run at about 10-20% speed (other menus and racing part of the game are usually at 100% or close).
Similar thing also happens with 3-2-1 counter right before the race kicks off.
Changing the CPU speed or CPU type makes little to no difference. The same issue also exists with any Socket 7 or Super Socket 7 machine that I tried.
Installing patches does not help either.

To Reproduce
Steps to reproduce the behavior:

  1. Launch Moto Racer
  2. Go to Options Menu
  3. See error

Expected behavior
The Options Menu shall work without speed regression, just like other menus.

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: GA 686-BX
  • CPU: Pll 233
  • Graphics/sound cards: ViRGE/DX, SB 128, Voodoo ll
  • Installed OS: Windows 95

Host machine

  • OS: Windows 10
  • i7 6700

Additional context
Add any other context about the problem here.

CNCD - Inside : rendering errors

Describe the bug
Numerous rendering errors running Inside by CNCD. Geometry glitches are frequent, there are also what look like palette related issues. These may be two separate bugs.

While issues are seen with both the interpreter and recompiler, they seem more prominent with the interpreter. The geometry issues may be an FPU issue.

To Reproduce
Steps to reproduce the behavior:

  1. Run Inside
  2. Observe visual issues

Expected behavior
The demo running without visual glitches

Screenshots
image
image
image
image

Emulator configuration

  • Machine: AMI 486 clone
  • CPU: i486DX2/66
  • Graphics/sound cards: Diamond Stealth 32, Sound Blaster 2.0
  • Installed OS: MS-DOS 6.22

Host machine

  • OS: Windows 10
  • Emulator version: v17

Donation Link in README

Hey guys, what about a donation link in the readme?

Would be great to support this project!

AMD 5x86 CPUID

Describe the bug
All BIOS ROMs available report wrong CPUID for Am5x86 P75 and P75+.
It is being recognized as Am486DX4-S at 120MHz (for Am5x86 P75 133MHz) and 150MHz respectively.
I know it is not right because I have a SiS 496/497 based board myself with a Am5x86 P75 and it does recognize the CPUID/CPUTYPE correctly and also the clock speed.

To Reproduce
Create a new machine with the hardware specified above and start it. ;)

Expected behavior
CPUID/Type should match CPU selected.

Screenshots
image
image

Emulator configuration

  • Machine: [486] Award SiS 496/497
  • CPU: AMD Am5x86 P75
  • Graphics/sound cards: Trident TGUI9440 / SoundBlaster 16
  • Installed OS: Windows 95 OSR2.5

Host machine

  • OS: macOS Mojave 10.14.6
  • Emulator version: v17 (but seems to affect since v14, which was the first one that I used)

Additional context
None

CNCD - Inside : Bad GUS playback when DMA sample download is enabled

Describe the bug
Inside's music playback is broken when GUS playback is specified with "Use DMA for sample download" enabled; it sounds like samples are not being fully downloaded, with the bass notes cutting off and other instruments missing altogether. This does not occur when DMA sample download is disabled.

To Reproduce
Steps to reproduce the behavior:

  1. Set up Inside with GUS GF1 audio playback and "Use DMA for sample downloading" enabled
  2. Run demo

Expected behavior
Music to play back correctly regardless of the DMA setting

Emulator configuration

  • Machine: AMI 486 clone
  • CPU: i486DX2/66
  • Graphics/sound cards: Diamond Stealth 32, Gravis UltraSound
  • Installed OS: MS-DOS 6.22

Host machine

  • OS: Windows 10
  • Emulator version: v17

[AudioPCI/SB 128]: Distorted/crackling sound effects and no CD audio in Screamer series

Describe the bug
Sound effects are a bit distorted in Screamer, Screamer 2 and Screamer Rally (as well as in many other games that I've tried) if running them with AudioPCI or SB 128 card.
Using any Win9X driver version released between 1997 and 2001 for AudioPCI or SB 128 produces horrible sound effects in any of the first three Screamer games. Although later drivers from 2000 onwards that support SB16 emulation no longer complain about an IRQ error upon starting the game, sound is equally distorted and no CD audio could be heard in Screamer 2/Rally.
I tried running the games from pure DOS mode and no difference in terms of sound effects. I watched the video on how Screamer Rally was suppossed to sound like on AudioPCI and as you can hear in the video the sound effects are not crackled or distrorted (see 2:52 - 3:16 in the video attached below). Switching mainboard, OS or disabling LPT interrupt sharing makes no difference either.
Now I know AudioPCI-based cards aren't the best ones for DOS games, however given how many games I'v tried with similar issues so far I think that there are some bugs left in AudioPCI sound effects emulation.

To Reproduce
Steps to reproduce the behavior:

  1. Launch any of the Screamer games mentioned above
  2. Hear distorted and crackling sound effects

Expected behavior
A clear and undistorted sound with CD audio music playing in the background. Like here:
https://www.youtube.com/watch?v=gJrrUYg2hsE

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: GA 686-BX
  • CPU: Pll 233
  • Graphics/sound cards: ViRGE/DX, SB 128
  • Windows 95

Host machine

  • OS: Windows 10
  • V 17
  • Core i7 6700

Additional context
https://www.youtube.com/watch?v=gJrrUYg2hsE

Unable to select network card

image
I've tried with various different machines, this network drop down menu is greyed out, so I cannot select any network card. I'm running pcem v17 on Linux mint 20. I'm likely just doing something very simple wrong, but I could not find any solution to this issue. Additionally, I made sure I have ne2000.rom at ~/pcem/roms/ne2000.

Support DVD ISO mount?

Describe the bug
A clear and concise description of what the bug is.
PCem doesn't support DVD ISO mount. e.g. windows11-eng.iso and ubuntu-20.04.2-desktop-amd64.iso.

DST breaks differencing VHDs

Describe the bug
Differencing VHDs that try to load regress and invalidate their state whenever daylight savings time passes..

To Reproduce

  1. Use PCem with differencing VHDs
  2. Observe daylight savings time
  3. Attempt to use the same config after the hour was set back or forward

Expected behavior
The VHD working.

Additional context
Daylight savings time just kicked in and thus, this bug is now filed. I suspected this on one post in the forum before.

Half-Life : Blue Shift fails to start

Describe the bug
Half-Life : Blue Shift fails to start. Process stays running and can be seen in Task Manager, but the game never launches

To Reproduce
Steps to reproduce the behavior:

  1. Launch Blue Shift from either the Start->Programs menu or from the CD autostart menu

Expected behavior
The game running.

Emulator configuration

  • Machine: Gigabyte GA-686BX
  • CPU: Pentium II/233
  • Graphics/sound cards: Voodoo 3, AudioPCI
  • Installed OS: Windows 98SE

Host machine

  • OS: Windows 10
  • Emulator version: v17

Voodoo 2: Graphics glitches in Nightmare Creatures

Describe the bug
When running Nightmare Creatures (full retail version) with Voodoo 2 it is likely to encounter graphics glitches while playing.
I got greeted by some of them even at the start of the very first level (see screenshots for details). When I existed level for the Main Menu, shadows beneath main characters suddenly became red.
I tried the following Voodoo 2 drivers: Generic Voodoo 2 DX6 driver (dated October 1998), Generic Voodoo 2 DX6 driver (dated January 1999), Diamond Monster ll DX5 driver from Diamond's own Installation Disc (released in early 1998) - on another VM with DX 5 installed, Diamond Monster ll DX6 driver (dated October 1998). Each time the same result.
Game works great and without any issues with Voodoo 3, though.

To Reproduce
Steps to reproduce the behavior:

  1. Start your virtual machine
  2. Run Nightmare Creatures
  3. Start the game
  4. See error

Expected behavior
Graphics without glitches.

Screenshots
ncreatures2
ncreatures

Emulator configuration

  • Machine: GA-686BX
  • CPU: Pentium ll 233
  • Graphics/sound cards: Voodoo 2/SB 128
  • OS: Windows 95

Host machine

  • OS: Windows 10
  • PCem v17
  • i7 6700, GTX 1060

Additional context
Add any other context about the problem here.

Voodoo Banshee/3 packed chain4 stuff missing and scrambled display

Describe the bug
Looks like packed chain4 stuff is not implemented in the Banshee/3, as a result, drivers for Windows 9x/NT/2000 would result in scrambled display, rendering issues like doubled desktop and stretched and so on.

To Reproduce
Pretty simple, just set 8bpp and up (16bpp/24/32bpp) in the operating systems mentioned above once drivers are installed.

Expected behavior
The way it displayed fine before the packed chain4 stuff was implemented.

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: Any PCI-based machine
  • CPU: Intel/AMD socket 7/etc
  • Graphics: Voodoo 3/Banshee.
  • Windows NT/9x/2000/XP

Host machine

  • OS: Windows 10.
  • Latest PCem v17 commit with the packed_chain4 stuff in.

Additional context
Add any other context about the problem here.

CGA bug : prohibition game

Describe the bug
There's a rendering error using CGA graphic card and the game Prohibition (Infogrames).
This game is using a CGA trick to do smooth scroll but screen is corrupted using Pcem.
Screen corruption is easily observable on start screen.

To Reproduce
Steps to reproduce the behavior:

  1. Run prohi
  2. Launch game choosing "Other" as video adapter and slow or high as speed
  3. Launch game using spacebar then see error

Expected behavior
smooth scroll and no glitches

Screenshots
Prohibiton CGA

Emulator configuration

  • Machine: AMI 286 Clone
  • CPU: Intel 286 10 Mhz
  • Graphics/sound cards: CGA
  • Installed OS : PCDOS 6.1

Host machine

  • OS: Windows 10
  • Emulator version : v17

PCem speed drops with certain games when Internal CPU Cache is enabled

Describe the bug
PCem speed may drop to as low as 40% when running certain games with Internal CPU Cache being turned on in the BIOS of an emulated machine. In particularly, I get speeds around 40-80% when running Alone in the Dark 3, Daggerfall, Day of the Tentacle, Krypton Egg 32, Little Big Adventure 2 (DOS/WIN).
If I turn internal CPU cache off in the BIOS then the games mentioned above run at 100%, the only exception being LBA2 where speed drops down to 90% in crowded areas.

To Reproduce
Steps to reproduce the behavior:
Install and run any of the games mentioned while Internal CPU Cache is turned on.

Expected behavior
Games are supposed to run at 100% as long as your host CPU can handle your emulated machine at 100% (mine i7 6700
can handle Pentium 166 MMX at 100%).

Screenshots

Emulator configuration

  • Machine: FIC VA 503+
  • CPU: PENTIUM 166 MMX
  • Graphics/sound cards: ViRGE/DX + AWE32
  • Windows 95

Host machine

  • OS: Windows 10
  • PCem v17
  • i7 6700 @ stock speed

Additional context
Out of curiosity, I've tried testing GA-686BX as well and ran into the same issue (except that the number of titles that could be run at 100% was lower due to my i7 6700 not being able to handle Pentium ll 233 that well as P166 MMX).

MDK2 fade bug

Describe the bug
The scene fading function in the game cannot fade in the scene from black, causing MDK2 to not render anything. This also affects results for the benchmark funcitonality.

To Reproduce
Multiple ways:

  • Start any level, it's black until you zoom-in (as Kurt) or access the main menu.
  • Save/load any game.
  • Start the benchmark.

Expected behavior
The scene fading in.

Screenshots

Emulator configuration

  • HOT-557
  • CPU: Pentium, K6/2, Winchip
  • Graphics/sound cards: 3dfx Voodoo3, S3 ViRGE, Mystique, etc
  • Installed OS: Windows 98SE

Host machine

  • OS: Windows 7
  • Emulator version: v17

Additional context
I believe it is a CPU bug, as the problem also occurs with SGI software OpenGL, Techland MSI, etc.

GA-686BX: PCem crashes when using BIOS files released before 2000

Describe the bug
When using any GA-686BX BIOS file released before 2000, PCem always crashes during one of the last sections of the Windows 95 (or 98SE) installation procedure, in particularly at the point when the installer is about to install the Windows help file (this comes after the P'N'P devices configuration section is complete). The only workaround this issue is to use any BIOS file released from 2000 onwards. Switching back to an older version makes the issue reappear.
I did a little experiment by copying HD file of another emulated machine and while I could normally boot into Windows using any 2000 or 2001 BIOS file I had no such luck with any 1998 or 1999 version I tried as PCem would crash during Windows boot screen. Happens with both Windows 95 and 98.

To Reproduce
Steps to reproduce the behavior:

  1. Use any BIOS file dated 1998 or 1999 instead of your regular one (likely the 2001 one).
  2. Start your virtual machine.
  3. Wait for PCem to crash not long after the Windows boot screen shows up.

Expected behavior
Normal bootup and completable installation proceedure of Windows.

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: GA-686BX
  • CPU: Pentium ll 233
  • Graphics/sound cards: Voodoo Banshee,3,Virge/DX/SB 128
  • Windows 95,98SE

Host machine

  • OS: Windows 10
  • PCem v17
  • i7 6700 @ stock speed

Additional context
Add any other context about the problem here.

PCEM returns exit code 377 after putting in the activation key in xenix 386

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
1.Run pcem in gdb
2.Insert the N1 diskette
3.Follow the onscreen instructions
4.Observe the exit code
Expected behavior
A clear and concise description of what you expected to happen.
It shouldn't return non-zero
Screenshots
If applicable, add screenshots to help explain your problem.

Starting program: /home/lubdev/Downloads/pcem-master/pcem 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff2b58640 (LWP 27335)]
[New Thread 0x7fffe8b3b640 (LWP 27336)]
[Thread 0x7fffe8b3b640 (LWP 27336) exited]
[New Thread 0x7fffe8aba640 (LWP 27337)]
[Thread 0x7fffe8aba640 (LWP 27337) exited]
[New Thread 0x7fffe8aba640 (LWP 27338)]
[New Thread 0x7fffe82b9640 (LWP 27339)]
[New Thread 0x7fffd37d8640 (LWP 27340)]
[New Thread 0x7fffd35d7640 (LWP 27341)]
[New Thread 0x7fffd2dd6640 (LWP 27342)]
[New Thread 0x7fffd0869640 (LWP 27343)]
[New Thread 0x7fffc5f44640 (LWP 27344)]
Menu item not found: 1403
Menu item not found: 1404
[New Thread 0x7fffc553e640 (LWP 27345)]
[New Thread 0x7fffc4d3d640 (LWP 27346)]
[New Thread 0x7fffb7fff640 (LWP 27347)]

(pcem:27331): GLib-GIO-CRITICAL **: 21:09:49.702: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
[Thread 0x7fffc4d3d640 (LWP 27346) exited]
[Thread 0x7fffc553e640 (LWP 27345) exited]
[New Thread 0x7fffc4d3d640 (LWP 27348)]
[New Thread 0x7fffc553e640 (LWP 27349)]
Menu item not found: 1403
Menu item not found: 1404
[New Thread 0x7fffb4ffb640 (LWP 27350)]
[Thread 0x7fffb7fff640 (LWP 27347) exited]
[Thread 0x7fffd37d8640 (LWP 27340) exited]
[Thread 0x7fffe82b9640 (LWP 27339) exited]
[Thread 0x7fffe8aba640 (LWP 27338) exited]
[Thread 0x7fffb4ffb640 (LWP 27350) exited]
[Thread 0x7fffc553e640 (LWP 27349) exited]
[Thread 0x7fffc4d3d640 (LWP 27348) exited]
[Thread 0x7fffc5f44640 (LWP 27344) exited]
[Thread 0x7fffd2dd6640 (LWP 27342) exited]
[Thread 0x7fffd35d7640 (LWP 27341) exited]
[Thread 0x7ffff2b58640 (LWP 27335) exited]
[Thread 0x7ffff414fac0 (LWP 27331) exited]
[Inferior 1 (process 27331) exited with code 0377]

Emulator configuration

  • Machine: DTK 386SX clone
  • Memory: 8mb
  • FPU:387
  • CPU:Intel 386SX @ 16MHz
  • Graphics/sound cards:
  • None

Host machine

  • OS: Lubuntu 21.04
  • PCem 17

Additional context
Add any other context about the problem here.

PCem release builds crash when running Windows NT 3.1 when pausing/stopping MPU-401 MIDI playback

Describe the bug
If an attempt is made to pause/stop MIDI playback in Windows NT 3.1's Media Player, PCem crashes.

To Reproduce
Steps to reproduce the behavior:

  1. Boot up Windows NT 3.1.
  2. Open File Manager.
  3. Open any of the sample MIDI files included with the installation in the WINNT directory.
  4. While the MIDI is playing in the Media Player, press the Pause/Stop button.
    The emulator should now freeze and crash.

Expected behavior
The MIDI playback should pause/stop properly.

Emulator configuration

  • Machine: FIC VA-503+
  • CPU: Pentium OverDrive MMX 125
  • Graphics/sound cards: Tseng ET4000AX, Sound Blaster AWE32
  • Installed OS: Windows NT 3.1

Host machine

  • OS: Manjaro Linux.
  • Emulator version: Git version e069ec7

Additional context
Windows NT 3.1 is using the beta Sound Blaster 16 drivers. The emulator is also using virtualized ALSA rawmidi ports which is connected to FluidSynth.

PCI sound cards do not work under Linux

I tried to use the following two sound cards with Debain 11 Linux installed on my PC, but failed:

  • Ensoniq AudioPCI (ES1371)
  • Sound Blaster PCI 128
    Both sound cards are used by the snd-ens1371 module.
    When loading the module, the error shown in the attached picture occurs:
    1371
    The problem is most likely also present on other Linux distributions.

pcem fails to find various menu items

Describe the bug
A clear and concise description of what the bug is.
pcem fails to find and load all of the menu items
To Reproduce
Steps to reproduce the behavior:

  1. Launch pcem
  2. Look at the console output
    Expected behavior
    A clear and concise description of what you expected to happen.
    The menu should appear
    Screenshots
    If applicable, add screenshots to help explain your problem.
    image

Host machine

  • OS: Pop os 21.04
  • pcem 17

Additional context
Add any other context about the problem here.
This version of pcem is from the master branch.I built this version from source.

PCem 17 and master fail to compile

make[1]: Entering directory '/home/shadowfoxy32/Downloads/pcem17/src'
g++ -DPACKAGE_NAME=\"PCem\" -DPACKAGE_TARNAME=\"pcem\" -DPACKAGE_VERSION=\"v17\"
 -DPACKAGE_STRING=\"PCem\ v17\" -DPACKAGE_BUGREPORT=\"Sarah\ Walker\ \<pcem@pcem
-emulator.co.uk\>\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pcem\" -DVERSION=\"v17\" -DHA
VE_LIBPTHREAD=1 -DHAVE_LIBGL=1 -DHAVE_LIBOPENAL=1 -I.    -I/usr/lib/x86_64-linux
-gnu/wx/include/base-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -D
WXUSINGDLL -pthread -I/usr/include/SDL2 -D_REENTRANT    -O3 -fcommon -MT pcem-wx
-main.o -MD -MP -MF .deps/pcem-wx-main.Tpo -c -o pcem-wx-main.o `test -f 'wx-mai
n.cc' || echo './'`wx-main.cc
In file included from wx-main.cc:1:
wx-app.h:58:29: error: invalid use of incomplete type ‘class wxCommandEvent’
   58 | class CallbackEvent: public wxCommandEvent
      |                             ^~~~~~~~~~~~~~
In file included from /usr/include/wx-3.0/wx/wx.h:24,
                 from wx-app.h:6,
                 from wx-main.cc:1:
/usr/include/wx-3.0/wx/event.h:632:28: note: forward declaration of ‘class wxCommandEvent’
  632 | class WXDLLIMPEXP_FWD_CORE wxCommandEvent;
      |                            ^~~~~~~~~~~~~~
In file included from wx-main.cc:1:
wx-app.h: In constructor ‘CallbackEvent::CallbackEvent(WX_CALLBACK, void*)’:
wx-app.h:61:59: error: type ‘wxCommandEvent’ is not a direct base of ‘CallbackEvent’
   61 |         CallbackEvent(WX_CALLBACK callback, void* data) : wxCommandEvent(WX_CALLBACK_EVENT)
      |                                                           ^~~~~~~~~~~~~~
wx-app.h: In copy constructor ‘CallbackEvent::CallbackEvent(const CallbackEvent&)’:
wx-app.h:66:53: error: type ‘wxCommandEvent’ is not a direct base of ‘CallbackEvent’
   66 |         CallbackEvent(const CallbackEvent& event) : wxCommandEvent(event)
      |                                                     ^~~~~~~~~~~~~~
wx-app.h: In member function ‘wxEvent* CallbackEvent::Clone() const’:
wx-app.h:72:64: error: cannot convert ‘CallbackEvent*’ to ‘wxEvent*’ in return
   72 |         wxEvent* Clone() const { return new CallbackEvent(*this); }
      |                                                                ^
wx-app.h: At global scope:
wx-app.h:84:30: error: invalid use of incomplete type ‘class wxCommandEvent’
   84 | class PopupMenuEvent: public wxCommandEvent
      |                              ^~~~~~~~~~~~~~
In file included from /usr/include/wx-3.0/wx/wx.h:24,
                 from wx-app.h:6,
                 from wx-main.cc:1:
/usr/include/wx-3.0/wx/event.h:632:28: note: forward declaration of ‘class wxCommandEvent’
  632 | class WXDLLIMPEXP_FWD_CORE wxCommandEvent;
      |                            ^~~~~~~~~~~~~~
In file included from wx-main.cc:1:
wx-app.h:87:42: error: ‘wxMenu’ has not been declared
   87 |         PopupMenuEvent(wxWindow* window, wxMenu* menu, int* x, int* y) : wxCommandEvent(WX_POPUP_MENU_EVENT)
      |                                          ^~~~~~
wx-app.h:105:9: error: ‘wxMenu’ does not name a type; did you mean ‘wxMin’?
  105 |         wxMenu* GetMenu() const { return menu; }
      |         ^~~~~~
      |         wxMin
wx-app.h:112:9: error: ‘wxMenu’ does not name a type; did you mean ‘wxMin’?
  112 |         wxMenu* menu;
      |         ^~~~~~
      |         wxMin
wx-app.h: In constructor ‘PopupMenuEvent::PopupMenuEvent(wxWindow*, int*, int*, int*)’:
wx-app.h:87:74: error: type ‘wxCommandEvent’ is not a direct base of ‘PopupMenuEvent’
   87 | pMenuEvent(wxWindow* window, wxMenu* menu, int* x, int* y) : wxCommandEvent(WX_POPUP_MENU_EVENT)
      |                                                              ^~~~~~~~~~~~~~

wx-app.h:90:23: error: ‘class PopupMenuEvent’ has no member named ‘menu’
   90 |                 this->menu = menu;
      |                       ^~~~
wx-app.h: In copy constructor ‘PopupMenuEvent::PopupMenuEvent(const PopupMenuEvent&)’:
wx-app.h:94:55: error: type ‘wxCommandEvent’ is not a direct base of ‘PopupMenuEvent’
   94 |         PopupMenuEvent(const PopupMenuEvent& event) : wxCommandEvent(event)
      |                                                       ^~~~~~~~~~~~~~
wx-app.h:97:23: error: ‘class PopupMenuEvent’ has no member named ‘menu’
   97 |                 this->menu = event.GetMenu();
      |                       ^~~~
wx-app.h:97:36: error: ‘const class PopupMenuEvent’ has no member named ‘GetMenu’
   97 |                 this->menu = event.GetMenu();
      |                                    ^~~~~~~
wx-app.h: In member function ‘wxEvent* PopupMenuEvent::Clone() const’:
wx-app.h:102:65: error: cannot convert ‘PopupMenuEvent*’ to ‘wxEvent*’ in return
  102 |         wxEvent* Clone() const { return new PopupMenuEvent(*this); }
      |                                                                 ^
wx-app.h: At global scope:
wx-app.h:142:21: error: invalid use of incomplete type ‘class wxFrame’
  142 | class Frame: public wxFrame
      |                     ^~~~~~~
In file included from /usr/include/wx-3.0/wx/wx.h:26,
                 from wx-app.h:6,
                 from wx-main.cc:1:
/usr/include/wx-3.0/wx/utils.h:54:28: note: forward declaration of ‘class wxFrame’
   54 | class WXDLLIMPEXP_FWD_CORE wxFrame;
      |                            ^~~~~~~
In file included from wx-main.cc:1:
wx-app.h:145:54: error: ‘wxPoint’ does not name a type; did you mean ‘wxJoin’?
  145 |         Frame(App* app, const wxString& title, const wxPoint& pos,
      |                                                      ^~~~~~~
      |                                                      wxJoin
wx-app.h:146:31: error: ‘wxSize’ does not name a type
  146 |                         const wxSize& size);
      |                               ^~~~~~
wx-app.h:152:9: error: ‘wxMenu’ does not name a type; did you mean ‘wxMin’?
  152 |         wxMenu* GetMenu();
      |         ^~~~~~
      |         wxMin
wx-app.h:169:9: error: ‘wxMenu’ does not name a type; did you mean ‘wxMin’?
  169 |         wxMenu* menu;
      |         ^~~~~~
      |         wxMin
make[1]: *** [Makefile:6217: pcem-wx-main.o] Error 1
make[1]: Leaving directory '/home/shadowfoxy32/Downloads/pcem17/src'
make: *** [Makefile:365: all-recursive] Error 1

Graphics corruption running Windows 3.1 with Paradise driver

Describe the bug
Graphics corruption when running Windows 3.1 on a machine with Paradise SVGA (eg MegaPC) and using the Paradise video driver.

To Reproduce
Steps to reproduce the behavior:

  1. Configure a machine with Paradise SVGA (eg Amstrad MegaPC)
  2. Install Windows 3.1 with the Paradise SVGA drivers
  3. Run Windows

Expected behavior
Non-corrupted graphics

Screenshots
image

Emulator configuration

  • Machine: Amstrad MegaPC
  • CPU: 386SX/25
  • Graphics/sound cards: Built-in (Paradise WD90C11)
  • Installed OS: MS-DOS 6.22, Windows 3.1

Host machine

  • OS: Windows 10
  • Emulator version: v17

Additional context
This is caused by incorrect implementation of VGA chain-4 / doubleword mode. On a fully compatible VGA like the Paradise chips, in chain-4 only every fourth dword in VRAM is used. PCem currently only emulates the ET4000-style chain-4, where chain-4 data is fully packed. This doesn't matter unless software switches in and out of chain-4 mapping to provide Mode-X-like acceleration in an otherwise chained display. Both Paradise and ET4000 Windows drivers do this to accelerate rectfills, so both variants of chain-4 need to be implemented.

I do not currently know if any other SVGA chips implement chain-4 as the ET4000 does.

Segmentation fault: 11 on macOS

I am testing the recent modifications that were merged to build for macOS.

I've installed all the dependencies, compiled and installed the rom files as well.

However, when I run pcem, I get this error:

MacBruno-Pro:PCemV17macOS Bruninho$ ./pcem
Set fullspeed - 0 0 0
Menu item not found: 1403
Menu item not found: 1404
Menu item not found: 1403
Menu item not found: 1404
**Segmentation fault: 11**

I have no idea why it happens. It was working a few months ago with kyr0's and almeath's builds. Now even their builds don't work for me anymore. It happens with every other emulator configuration I try, no matter what I choose to emulate. Any ideas?

Host machine

  • OS: macOS Big Sur 11.4 [Intel Mac]
  • Emulator version: PCem v17
  • Any other relevant information: Late 2013 retina MacBook Pro 13-inch, i7 2.8GHz, 16GB RAM, 1TB SSD, maxed out configuration.

Magic School Bus Let's Explore The Ocean No AUDIO

Describe the bug
A clear and concise description of what the bug is. Magic School Bus games and others that uses Rebook? I guess that's what it's called does not produce audio in game but SFX works fine. Same with MS games that uses this format like MotorCross Madness.

CD Audio has all options grayed out and this goes for ALL PCEM configs.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: [e.g. IBM AT, AMI 486 clone etc] Socket 7 and others:
  • CPU:
  • Graphics/sound cards: ANY
  • Installed OS ANY including Windows 2000.

Host machine

  • OS: [e.g. Windows 10, Ubuntu 18.04 etc] Windows 10
  • Emulator version ANY
  • Any other relevant information

Additional context
Add any other context about the problem here.

How does the ALSA Midi Output feature work?

I can't understand how the alsa midi output feature works, it seems it was never documented anywhere on how to actually use it. The only thing in the documentation that mentions this feature is simply enabling it, outside of that, it's not very clear on how to use it.

DMA is not working

I installed Debian 11 Linux on a GA-686BX machine.
Disk operations are slow and in dmesg it displays the following:
dmesg
The error message in detail:
[ 10.537654] sd 0:0:0:0: [sda] 33554304 512-byte logical blocks: (17.2 GB/16.0 GiB) [ 10.537742] sd 0:0:0:0: [sda] Write Protect is off [ 10.537774] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 [ 10.537875] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 10.546777] sr 1:0:0:0: [sr0] scsi3-mmc drive: 24x/24x caddy [ 10.546806] cdrom: Uniform CD-ROM driver Revision: 3.20 [ 10.565308] ata1: drained 512 bytes to clear DRQ [ 10.565321] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen [ 10.565352] ata1.00: BMDMA stat 0x64 [ 10.565379] ata1.00: failed command: READ DMA [ 10.565424] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 58/00:00:00:00:00/00:00:00:00:00/e0 Emask 0x2 (HSM violation) [ 10.565487] ata1.00: status: { DRDY DRQ } [ 10.565528] ata1: soft resetting link [ 10.576291] sr 1:0:0:0: Attached scsi CD-ROM sr0 [ 10.733992] ata1.00: configured for MWDMA2 [ 10.734031] ata1: EH complete [ 10.741352] ata1: drained 512 bytes to clear DRQ [ 10.741364] ata1.00: limiting speed to MWDMA1:PIO2 [ 10.741395] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen [ 10.741426] ata1.00: BMDMA stat 0x64 [ 10.741452] ata1.00: failed command: READ DMA [ 10.741497] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 58/00:00:00:00:00/00:00:00:00:00/e0 Emask 0x2 (HSM violation) [ 10.741561] ata1.00: status: { DRDY DRQ } [ 10.741601] ata1: soft resetting link [ 10.909114] ata1.00: configured for MWDMA1 [ 10.909152] ata1: EH complete [ 10.921022] ata1: drained 512 bytes to clear DRQ [ 10.921033] ata1.00: limiting speed to PIO2 [ 10.921066] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen [ 10.921096] ata1.00: BMDMA stat 0x64 [ 10.921123] ata1.00: failed command: READ DMA [ 10.921168] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 58/00:00:00:00:00/00:00:00:00:00/e0 Emask 0x2 (HSM violation) [ 10.921231] ata1.00: status: { DRDY DRQ } [ 10.921271] ata1: soft resetting link [ 11.088953] ata1.00: configured for PIO2 [ 11.088989] ata1: EH complete [ 11.095272] sda: sda1 sda2 sda3 [ 11.098568] sd 0:0:0:0: [sda] Attached SCSI disk [ 11.099784] sda: detected capacity change from 0 to 17179803648 [ 11.101751] sda: detected capacity change from 0 to 17179803648 [ 11.390060] sr 1:0:0:0: [sr0] GET_EVENT and TUR disagree continuously, suppress GET_EVENT events
The host machine is running MX Linux 19.4.

Voodoo 3/Banshee: attempting to run Gex 3D: Enter the Gecko crashes PCem

Describe the bug
Using either Voodoo 3 or Voodoo Banshee crashes PCem as soon as Gex 3D: Enter the Gecko (either a demo or a full version) is about to be started.
Happens with any version of Direct X or GPU drivers.
For comparison: the game works great with Voodoo 1 and Voodoo 2 on the same emulated machine.
Same thing described above also happens with Starshot: Space Circus.

To Reproduce
Steps to reproduce the behavior:

  1. Start PCem
  2. Launch the emulated machine
  3. Attempt to launch the game
  4. PCem will crash

Expected behavior
Normal game launch

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: GA-686BX
  • CPU: Pentium ll 233
  • Graphics/sound cards: Voodoo3, Voodoo Banshee, SB 128
  • Windows 95

Host machine

  • OS: Windows 10
  • PCem v17
  • i7 6700, GeForce GTX 1060

Additional context
Add any other context about the problem here.

Is there any reason fallocate(2) fallocate(3) isn't used to initiate a raw file on linux?

Describe the bug

fallocate(2) syscall/libc wrapper let's you allocate space immediately, by default(on ext4, didn't test other file systems) the file is zero filled/blocks are marked as not written to, and so you only have to use fallocate to claim the space on a disk, and write to the MBR header.
Instead of taking a minute to initiate a 10-20GiB raw file on a samsung 860(even with smaller values, writting zeros is blasphemy), it will take couple ms even on a hdd.

To Reproduce

Just create a raw file image, takes longer than it really could.

Expected behavior

CLICK, here's your raw disk image.
And if necessary it will write those couple bytes/kilobytes or necessary bits if any.

Screenshots

image

Host machine

  • OS: Arch Linux
  • Emulator version 17-1

Additional context

It is what kvm/qemu/virt-manager uses to initiate vm disk images, this is what steam on linux and windows(the equivalent syscall on windows is way slower) does to initiate files.

Blood 2 / Shogo music glitches

Describe the bug
Blood 2's in-game music is silent while Shogo's in-game music gets corrupted in parts.

To Reproduce
Play either game

Expected behavior
The music working in Blood 2 and the music not corrupting in Shogo.

May be CPU

Screenshots

Emulator configuration

  • Shuttle HOT-557
  • Pentium MMX 233, AMD K6 233
  • S3 Trio64 + 3dfx Voodoo2, Sound Blaster AWE32
  • Windows98SE

Additional context
Possibly dynarec related as it works in v14. While related to the DirectMusic API (which works fine), the DLLs early Lithtech uses are of an earlier pre-DX6 variant of the API.

High GPU utilization with OpenGL 3.0 renderer when using shaders

Describe the bug
When using OpenGL 3.0 renderer GPU utilization is at 90% on average (may even hit 100% at times) when using 6x XBRZ glsl shader. After about 5 minutes my card (EVGA GTX 1060 6GB SC) gets rather loud. Switching to any other renderer (including the ordinary OpenGL that comes without shader support) drops the GPU usage to 5-15%.
I know my card isn't the most powerful one, however, in other applications where it's possible to use that very same shader the GPU usage usually is at 40%.

To Reproduce
Steps to reproduce the behavior:

  1. Run your virtual machine.
  2. Switch to OpenGL 3.0 renderer.
  3. Apply a shader.
  4. Start your application for monitoring GPU usage.

Expected behavior
GPU usage should be considerably lower.

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: GA-686BX
  • CPU: Pentium ll 233
  • Graphics/sound cards: Voodoo Banshee/SB 128
  • Windows 95

Host machine

  • OS: Windows 10
  • PCem v17
  • i7 6700 @ stock speed
  • EVGA GTX 1060 6GB SC

Additional context
Add any other context about the problem here.

Majic 12 - Show : Bad timing on palette switches

Describe the bug
Two effects in Show perform mid-frame palette switching. The timing looks to be off, giving visual artifacts.

To Reproduce
Steps to reproduce the behavior:

  1. Run Show
  2. Observe the "RealplasmA" and high-colour rotozoomer (both quite late in the demo)

Expected behavior
No artifacts

Screenshots
image
image

Emulator configuration

  • Machine: AMI 486 clone
  • CPU: i486SX/25
  • Graphics/sound cards: Diamond Stealth 32, Gravis UltraSound
  • Installed OS: MS-DOS 6.22

Host machine

  • OS: Windows 10
  • Emulator version: v17

Instruction (README.md) for Linux seems to be incorrect

Instruction contains following part:

BSD and Linux supplement (v17)

You will need the following libraries (and their dependencies):

  • SDL2
  • wxWidgets 3.x
  • OpenAL

Open a terminal window, navigate to the PCem directory then enter:

Linux

./configure --enable-release
make

However, running configure with such option, gives me:

configure: WARNING: unrecognized options: --enable-release

so I rather need to run:

./configure --enable-release-build --enable-alsa

for Linux.

It also seems that I needed to install also an ALSA library, as follows.

sudo apt-get install build-essential libsdl2-dev libgtk2.0-dev libgtk-3-dev libopenal-dev libasound2 libwxgtk3.0-gtk3*

Could we add it as an example command for installation in Linux?

Keyboard Issues

Describe the bug
i was installing Windows 3.11 on AMI 386DX Clone, when entering CMOS Setup and than installing DOS 6.22 and WFW 3.11 , some keys didn't work

To Reproduce
Steps to reproduce the behavior:
1.create a new machine and configure it
2.enter CMOS Setup
3.try pressing Enter, or some other ley
4.see that keys don't work sometimes

Expected behavior
expected for keyboard to work properly

Screenshots
If applicable, add screenshots to help explain your problem.

Emulator configuration

  • Machine: AMI 386DX Clone
  • CPU: Intel i386DX/33 , 16MB Memory , No FPU
  • Graphics/sound cards: Graphics: VGA , Sound: None
  • Installed OS - MS-DOS 6.22 with Windows For Workgroups 3.11

Host machine

  • OS: Windows 10 21H1
  • Emulator version : PCem v17
  • Any other relevant information

Additional context
Here is the full machine configuration:

Machine : [386DX] AMI 386DX Clone
CPU : Intel i386DX/33
FPU: None
Memory: 16MB
Waitstates: System Default
Synchronize Time to host clock : No

Graphics: VGA
Speed: Default

Sound Card: None
LPT Device : None

HDD: Standard IDE
FDD1: 1.44M
FDD2 : 1.2M
CD Model : PcemCD
CD Speed: 24X
Drive 0 Primary Master C:
Type : Hard Drive
File : C:\Users\Siddhant\Downloads\WfW 3.11.img
Sectors : 63 Heads : 16 Cylinder : 511 Size: 251Mb

Mouse: Microsoft 2-Button Mouse (serial)

Joystick: Standard 2-button joystick

Network Card : Novell NE2000 
Address: 0x300
IRQ 7

i tried both my laptop's keyboard and dell usb keyboard, both appear to have same issue
during logon, i was typing password and a key was keeping repeatedly pressed
and in DOS Prompt, when i typed exit, enter key pressed repeatedly and opened 10 DOS Prompts

[Banshee] Filter is applied after gamma

Describe the bug
The video filter is applied after the gamma correction process, rendering the filter ineffective.

To Reproduce

  • Set gamma to 1.0, see the filter work.
  • Set gamma to anything higher, see the filter not work.

Expected behavior
The gamma correction applying to the filtered buffer.

Additional context
When I've first reverse-engineered the filter in 2013, I did it on a 3dfx Voodoo3 3000 and relied on gamma behavior to observe the filter results with dark lines on black backgrounds.

Failure in creating disk?

I run pcem V17 under Linux here. Try the Shuttle-Hot 557-Model at the moment and have MS-DOS 6.22 installed.
Created a 1.44 MB disk image where I wanted to put some files on to install them on that maschine.
Tried to do that with Mtools.
That is what I got as a result:

mcopy -i Test.img ./EDITV.EXE ::EDITV.EXE
init :: non DOS media
Cannot initialize '::'
Bad target ::EDITV.EXE

In which format are the diskettes created by pcem? Do they have to be formatted?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.