VOGONS


PCEm. Another PC emulator.

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 900 of 1046, by SarahWalker

User metadata
Rank Member
Rank
Member

I'd take the measurements on that wiki page with an enormous pinch of salt - no way is there that much difference between a DX2/66 and DX4/100!

But yes, PCem does emulate the Pentium's dual integer pipelines, hence the major performance difference. Have a look at codegen_timing_pentium.c.

Reply 901 of 1046, by Scali

User metadata
Rank l33t
Rank
l33t
SarahWalker wrote:

I'd take the measurements on that wiki page with an enormous pinch of salt - no way is there that much difference between a DX2/66 and DX4/100!

True... at least, if both CPUs were tested in an otherwise equal system.
Then again, if the DX2-66 had no L2 cache, but the DX4-100 did, perhaps that would explain these numbers somewhat.
Anyway, bottom line is: the leap from 486 to Pentium was one of the largest in x86 history.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 902 of 1046, by hail-to-the-ryzen

User metadata
Rank Member
Rank
Member

Testing UT99 non-mmx software renderer in PCem and noted the lighting issue which was previously documented. However, even though the cause is likely the gouraud-shaded triangle routines, it doesn't seem that the colors are mistakenly mismatched. This can be verified by the working mmx software renderer which shows that the light sources are reflecting off models across a greater area than the non-mmx artifacts. I think it is more likely that the artifacts are from insufficient precision in those routines.

Edit: the PCem author is correct. The non-mmx software rendering lighting issue is a color mismatch in the gouraud-shaded triangle routines. However, the blue and green are mismatched:
dRY = (R2-R1) / dY
dGY = (B2-B1) / dY
dBY = (G2-G1) / dY

Tested in v400 and v428.

Reply 903 of 1046, by hail-to-the-ryzen

User metadata
Rank Member
Rank
Member

Descent 3 (3dfx) runs with the Winchip dynamic recompiler. However, with Winchip interpreter cpu emulation the "ship" spins continuously at game start. This occurs independent of the Voodoo recompiler setting.

Also, there was a change with the introduction of Voodoo SLI emulation (vid_voodoo.c):
- voodoo->dirty_line[real_y] = 1
+ voodoo->dirty_line[real_y >> 1] = 1;

Is this change effective for both cases of SLI and non-SLI?

Reply 905 of 1046, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

I seem to be able to mount and access the img in linux with mount -o loop,offset=xxxxx, which if it's a raw disk image isn't too surprising. A quick google confirms this, so just google around for how to access the raw disks of either pcem or some more popular software like virtualbox in your operating environment.

Reply 908 of 1046, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

I use OSFMount in Windows and on macOS I just double click the .img file.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 909 of 1046, by hail-to-the-ryzen

User metadata
Rank Member
Rank
Member
hail-to-the-ryzen wrote:

Descent 3 (3dfx) runs with the Winchip dynamic recompiler. However, with Winchip interpreter cpu emulation the "ship" spins continuously at game start. This occurs independent of the Voodoo recompiler setting.

I think this same issue was fixed in the dynamic recompiler code at or after the time that these instructions were added: PUSH [mem], PUSH seg, NOP, CLD, STD, JMP indirect, CALL indirect.

Reply 910 of 1046, by hail-to-the-ryzen

User metadata
Rank Member
Rank
Member

Tested further with Descent 3 demo. With the mouse and joystick code active in pcem, the demo has shown keyboard errors such as a phantom pressing of the 'shift key'. Confirmed that this is a bug in the demo itself, and not related to the emulation. Presumably this was fixed in full version.

The previous issue with the uncontrolled ship spinning may be partly related to the above, but occurs in the interpreter cpu core and has occurred in the recompiler core in pcem v10.1. Testing commits in the relevant time interval had no effect, so it could be a subtle emulation issue or a specific issue with the demo and timing. Supposedly the demo and possibly the full version are dependent on the time between video frames to gather input from the mouse/joystick. I don't have a reliable test other than finding a faster host system, but the bug may be from a comparatively slower cycle rate in the interpreter core.

I tried to fully explore the REP instructions as the cause, but reverting this code in the dynrec had no effect on the above issue. Also, did disable the gameport and joystick code in pcem without much effect. However, it would be a helpful pcem option to allow for disabling this device for testing in games like this and to test for an improved mouse input response (either related to game code or otherwise).

Reply 913 of 1046, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Good morning everyone,

I've got a little issue with PCem.
- I'm running it with a generic XT PC clone setting.

For some reason the maximum memory is limited to 640 KiB.

The video system is set to CGA, so there should be enough space to allow
for 704 KB or even 736 KB of conventional memory.

Still, I can not figure how to apply that setting.
Manually entering 704 seemed to work at first glance, but when I click "OK"
and afterwards come back to settings dialog, the selection is back to 640.

What did I do wrong ?

Attachments

  • cga_640.jpg
    Filename
    cga_640.jpg
    File size
    39.21 KiB
    Views
    2597 views
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 915 of 1046, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Ah, okay, I didn't know that, sorry. I choosed the generic type, because I assumed that
this famous anonymous XT BIOS would be smarter than the normal XT BIOS.

Anyway, my knowlegde about XT machines is a bit sketchy. 😅
I believe I did read that the IBM 5150 determined the total amount of random access memory
via DIP switch settings, while the IBM 5160 was a bit smarter already and counted the actual memory.

So could it work, by any chance, if I select the IBM 5160 model in PCEm ?
I mean, hardware-wise, 640KiB never was the true limit of any PC model,
since even then it was possible to exchange 64K chips with 256K chips.
The main thing was, as far as I know, that the additional memory was contiguous.

(Btw, sometime ago, I read something about an ancient mod for these old IBMs.
Back in time, people did exchange/modify some of the address decoders (U4?).
Another trick was to use the sockets meant to be used for the ROM BASIC for additional RAM.
I believe the old terminology of that extra memory was High Memory, not to be confused with the HMA.)

Edit: Found again one of these articles I was reading. ^^

Attachments

  • Filename
    896K.ZIP
    File size
    4.38 KiB
    Downloads
    132 downloads
    File comment
    "WHAT IS HIGH MEMORY, WHY DO I CARE, AND HOW CAN I USE IT?" (1989)
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 916 of 1046, by SarahWalker

User metadata
Rank Member
Rank
Member

v13 is now out. Changes from v12 :

  • New machines added - Atari PC3, Epson PC AX, Epson PC AX2e, GW-286CT GEAR, IBM PS/2 Model 30-286, IBM PS/2 Model 50, IBM PS/2 Model 55SX, IBM PS/2 Model 80, IBM XT Model 286, KMX-C-02, Samsung SPC-4200P, Samsung SPC-4216P, Toshiba 3100e
  • New graphics cards - ATI Video Xpression, MDSI Genius
  • New sound cards added - Disney Sound Source, Ensoniq AudioPCI (ES1371), LPT DAC, Sound Blaster PCI 128
  • New hard drive controllers added - AT Fixed Disk Adapter, DTC 5150X, Fixed Disk Adapter (Xebec), IBM ESDI Fixed Disk Controller, Western Digital WD1007V-SE1
  • New SCSI adapters added - Adaptec AHA-1542C, BusLogic BT-545S, Longshine LCS-6821N, Rancho RT1000B, Trantor T130B
  • New network adapters added - NE2000 compatible
  • New cross-platform GUI
  • Voodoo SLI emulation
  • Improvements to Sound Blaster emulation
  • Improvements to Pentium timing
  • Various bug fixes
  • Minor optimisations

As ever, it's at http://pcem-emulator.co.uk.

Reply 917 of 1046, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Tried the new linux and windows versions in linux. For the linux version, got build errors in wx-app.h, so didn't bother with it.

The windows version seems to work well in wine now, under ubuntu mate 16.04 with wine 1.6.2. Performance is good and 3dfx works, as does the virge's 3d acceleration. Still need to call 'export LANG=us_US.UTF-8' from the command line first or my nordic öä keys produce no output at all. Not sure if pcem can do anything about that. The alt keys still don't appear to get recognized properly, so can't type characters that need alt. Mouse lock still lets ubuntu hotkeys like ctrl+alt+arrows through, but unlike last time, this also seems to resize the pcem window to something silly like 10 x 20. You can still navigate the pcem menus half-blind with the arrow keys to restore the size though. Pcem is identified as v12 in the dialog under misc -> machine -> misc -> about.

Reply 919 of 1046, by lightmaster

User metadata
Rank Oldbie
Rank
Oldbie
SarahWalker wrote:
v13 is now out. Changes from v12 : […]
Show full quote

v13 is now out. Changes from v12 :

  • New machines added - Atari PC3, Epson PC AX, Epson PC AX2e, GW-286CT GEAR, IBM PS/2 Model 30-286, IBM PS/2 Model 50, IBM PS/2 Model 55SX, IBM PS/2 Model 80, IBM XT Model 286, KMX-C-02, Samsung SPC-4200P, Samsung SPC-4216P, Toshiba 3100e
  • New graphics cards - ATI Video Xpression, MDSI Genius
  • New sound cards added - Disney Sound Source, Ensoniq AudioPCI (ES1371), LPT DAC, Sound Blaster PCI 128
  • New hard drive controllers added - AT Fixed Disk Adapter, DTC 5150X, Fixed Disk Adapter (Xebec), IBM ESDI Fixed Disk Controller, Western Digital WD1007V-SE1
  • New SCSI adapters added - Adaptec AHA-1542C, BusLogic BT-545S, Longshine LCS-6821N, Rancho RT1000B, Trantor T130B
  • New network adapters added - NE2000 compatible
  • New cross-platform GUI
  • Voodoo SLI emulation
  • Improvements to Sound Blaster emulation
  • Improvements to Pentium timing
  • Various bug fixes
  • Minor optimisations

As ever, it's at http://pcem-emulator.co.uk.

Thanks S.W.!

25071588525_735097840e_b.jpg