v14 compatibility & bug list (WIP)

Discussion of development and patch submission.
User avatar
ppgrainbow
Posts: 427
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: v14 compatibility & bug list (WIP)

Post by ppgrainbow » Tue 21 Aug, 2018 2:10 am

Vaporeon wrote:
Tue 21 Aug, 2018 12:57 am
I thought that would have been allowed as it is purely a iso image containing updates once freely downloadable by anyone from the windows update website before they got removed after support was dropped. It's not the whole OS.
ISOs images are copyrighted material. That's why Microsoft no longer supports older operating systems. If you have reinstalled Windows 95 - Me and if you have reinstalled it and the updates are there, don't use it.

User avatar
Vaporeon
Posts: 8
Joined: Tue 24 Jun, 2014 11:37 am
Contact:

Re: v14 compatibility & bug list (WIP)

Post by Vaporeon » Tue 21 Aug, 2018 2:26 am

ISO9660 is a filesystem for CD ROM's and .iso files are just a file containing one of these and has nothing to do with copyright.

Anyway, these updates fix annoying bugs that are in the release versions of Windows 95-Me and I thought people should know someone archived the original files as publicly released by MS. Until now I thought they were mostly gone in favour of hacked together update packs made by using files from later windows versions - which actually is a violation of copyright.

One example of why this is important is if you are having black screen problems after trying to reboot the emulated machine, it's not a bug in PCem, but rather Windows.

User avatar
ppgrainbow
Posts: 427
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: v14 compatibility & bug list (WIP)

Post by ppgrainbow » Tue 21 Aug, 2018 2:40 am

Vaporeon wrote:
Tue 21 Aug, 2018 2:26 am
ISO9660 is a filesystem for CD ROM's and .iso files are just a file containing one of these and has nothing to do with copyright.

Anyway, these updates fix annoying bugs that are in the release versions of Windows 95-Me and I thought people should know someone archived the original files as publicly released by MS. Until now I thought they were mostly gone in favour of hacked together update packs made by using files from later windows versions - which actually is a violation of copyright.

One example of why this is important is if you are having black screen problems after trying to reboot the emulated machine, it's not a bug in PCem, but rather Windows.
I think that I got carried away on how ISOs and how they work. I believe that black screen problems are an issue with all versions of Windows, not just a bug in PCem or other emulators itself.

User avatar
leilei
Posts: 604
Joined: Fri 25 Apr, 2014 4:47 pm

Re: v14 compatibility & bug list (WIP)

Post by leilei » Tue 21 Aug, 2018 8:13 am

Croc doesn't even need Windows updates. That's just a coincidence it happened to work afterward and Croc was already working years before v14 without them. It was also a test subject for developing Virge and Voodoo emulation early on

User avatar
kode54
Posts: 7
Joined: Thu 16 Aug, 2018 7:32 am

Re: v14 compatibility & bug list (WIP)

Post by kode54 » Wed 22 Aug, 2018 3:54 am

Oh, so you do read these forums occasionally. Is the issue with the voodoo 64 bit codegen known?

Cheez
Posts: 8
Joined: Tue 19 Dec, 2017 4:08 am

Re: v14 compatibility & bug list (WIP)

Post by Cheez » Wed 22 Aug, 2018 9:22 am

SarahWalker wrote:
Mon 20 Aug, 2018 3:23 pm
Please do NOT link to copyrighted material. I can't believe I have to keep saying this!
Well, you'd have to say it one time less if you weren't so quick to act against UPDATES.

MiraiMiracle
Posts: 16
Joined: Fri 06 Jul, 2018 4:42 pm

Re: v14 compatibility & bug list (WIP)

Post by MiraiMiracle » Wed 22 Aug, 2018 11:45 am

i430VX PCI, Pentium 90, ATI Mach64VT4, SBPCI128, Win98SE

Games that can work:
Blast Thru
Doon II: Hell on Earth
DX Ball
RollerCoasterTycoon
Screamer

User avatar
SarahWalker
Site Admin
Posts: 1598
Joined: Thu 24 Apr, 2014 4:18 pm

Re: v14 compatibility & bug list (WIP)

Post by SarahWalker » Wed 22 Aug, 2018 4:59 pm

kode54 wrote:
Wed 22 Aug, 2018 3:54 am
Oh, so you do read these forums occasionally. Is the issue with the voodoo 64 bit codegen known?
Well I know that I've been testing it a lot less than the 32-bit version. I'd advise using that if at all possible...

User avatar
kode54
Posts: 7
Joined: Thu 16 Aug, 2018 7:32 am

Re: v14 compatibility & bug list (WIP)

Post by kode54 » Thu 23 Aug, 2018 4:09 am

So how do I build the 32 bit version on Linux? Ubuntu wants to remove a bunch of dev files, and really only wants either libsdl2-dev x86_64 or i386 installed at once, but the configure script fails to find it anyway. Do I need to use a pure 32 bit chroot?

E: bug report thus far:

1) configure needs to define _LARGEFILE64_SOURCE for off64_t support.
2) vid_voodoo needs -msse2 on i386 to compile.

E2: I am wrong. I just needed to specify a --host flag that was indicative of my i686 chroot, and it built just fine.

E3: And the resulting binary segfaults when booting my existing Windows 98 setup.

E4: The resulting binary does not crash if I build --enable-debug, only non-debug and release.

User avatar
leilei
Posts: 604
Joined: Fri 25 Apr, 2014 4:47 pm

Re: v14 compatibility & bug list (WIP)

Post by leilei » Fri 24 Aug, 2018 12:45 pm

Hellbender (demo) in Direct3D on the 3dfx Voodoo Graphics using old Monster3D drivers (haven't tried anything else yet) gives the same fog bug shown in an earlier post
heckbender.jpg
heckbender.jpg (28.48 KiB) Viewed 1704 times
Only happens with the recompiler.

TheMadLynx
Posts: 14
Joined: Tue 01 Aug, 2017 10:15 am

Re: v14 compatibility & bug list (WIP)

Post by TheMadLynx » Sat 29 Sep, 2018 11:25 am

Not sure if this a correct topic. The 1982 game Paratrooper not working correctly on any XT-class machine. It has no sound on an IBM PCjr and keyboard control problems on other XTs. The PC speaker in PCem v14 sounds also garbled a little in this game.

User avatar
leilei
Posts: 604
Joined: Fri 25 Apr, 2014 4:47 pm

Re: v14 compatibility & bug list (WIP)

Post by leilei » Sun 30 Sep, 2018 12:11 am

Seems to work okay on IBM XT 8088/4.77 here with non-garbled sound

The sticky turret control is how it was, if that's the control issue you're referring to.

Did notice the CPU execution dropping to 92% at a couple of notes during the song for some odd reason (on 4.77mhz interpreter), maybe that's your garbling

TheMadLynx
Posts: 14
Joined: Tue 01 Aug, 2017 10:15 am

Re: v14 compatibility & bug list (WIP)

Post by TheMadLynx » Mon 01 Oct, 2018 5:01 pm

leilei wrote:
Sun 30 Sep, 2018 12:11 am
Seems to work okay on IBM XT 8088/4.77 here with non-garbled sound

The sticky turret control is how it was, if that's the control issue you're referring to.

Did notice the CPU execution dropping to 92% at a couple of notes during the song for some odd reason (on 4.77mhz interpreter), maybe that's your garbling
You're right about sound: it some hiccups during the "main" theme I've meant. And the turret doesn't move at all. I can just shoot in one direction. The Tandy machine are even worse: it skips greetings screen with instructions without touching any keys and in game I can't shoot -- no controls working at all.

I guess, if you got it working right in PCem v14, than I need to try some other hosts and OSes to collect more data.

TheMadLynx
Posts: 14
Joined: Tue 01 Aug, 2017 10:15 am

Re: v14 compatibility & bug list (WIP)

Post by TheMadLynx » Mon 01 Oct, 2018 5:42 pm

Three different PCs and two OSes (Win7 and 10 x64) -- same result: can't control the gun. Tried both: booter and standalone versions of game. Maybe there's some kind of keyboard detection weirdness in this game?

User avatar
omarsis81
Posts: 636
Joined: Thu 17 Dec, 2015 6:20 pm

Re: v14 compatibility & bug list (WIP)

Post by omarsis81 » Mon 01 Oct, 2018 9:24 pm

TheMadLynx wrote:
Sat 29 Sep, 2018 11:25 am
Not sure if this a correct topic. The 1982 game Paratrooper not working correctly on any XT-class machine. It has no sound on an IBM PCjr and keyboard control problems on other XTs. The PC speaker in PCem v14 sounds also garbled a little in this game.
We have to be very careful on the PCjr - many games that would run fine on a real XT, weren't compatible with the PCjr

User avatar
leilei
Posts: 604
Joined: Fri 25 Apr, 2014 4:47 pm

Re: v14 compatibility & bug list (WIP)

Post by leilei » Wed 03 Oct, 2018 2:47 am

I would think the joystick is taking over, immediately playing and not letting you hit space bar for keyboard play.

TheMadLynx
Posts: 14
Joined: Tue 01 Aug, 2017 10:15 am

Re: v14 compatibility & bug list (WIP)

Post by TheMadLynx » Wed 03 Oct, 2018 6:51 pm

leilei wrote:
Wed 03 Oct, 2018 2:47 am
I would think the joystick is taking over, immediately playing and not letting you hit space bar for keyboard play.
I think you're idea is right: there's something about joystick. When I've connected my gamepad and mapped it in the PCem configurator I could control the gun. But the screen with instructions still skipped and the gun kept auto centering itself. So PCem detects a joystick activity somehow on my PCs even if there's no any of it.

BigAlUK
Posts: 33
Joined: Mon 15 Feb, 2016 8:27 pm

Re: v14 compatibility & bug list (WIP)

Post by BigAlUK » Fri 05 Oct, 2018 11:46 am

As I mentioned on another thread - when emulating an IBM 5150 for historic purposes, there doesn't appear to be a way of reducing the BIOS-detected devices and implied adapter count. I can ask for no games devices, serial ports, parallel ports, but the BIOS is still receiving signals saying the devices are present (two of each type) and thus recording them in the BDA. For an IBM 5150 with a CGA in 1981, early 1982 this would have meant in excess of 6 ISA slots! Even more, if the IBM 32K and 64K RAM cards available in that year were used.

The consequences of this are obviously minor, as far as most people would be concerned. It would only become an issue if you wanted to test software behaviour when such devices are not present and available. Or if you're thing is historically accurate emulation as far as is feasible.

From a historic viewpoint, it means that an IBM 5150 kitted out with (say) 512K of RAM and having to have all this IO at the same time, would probably have to have more than 5 slots on the motherboard even if those initial 3rd party adapters of 1982 were used. So it is consequently not really possible to accurately emulate the limitations of the early PCs with PCem as it currently operates. Especially if using one of the older BIOS chips, which didn't support the 5161 extender that may have been implied. I'll also accept that third party cards started to reduce the slot count more radically starting from 1983, but for 1981 emulation...

With PCE, I can tell it via the config file to not include adapter cards by merely omitting them. There doesn't appear to be a similar mechanism in PCem. Or is there some hidden mechanism?

BigAlUK
Posts: 33
Joined: Mon 15 Feb, 2016 8:27 pm

Re: v14 compatibility & bug list (WIP)

Post by BigAlUK » Sat 06 Oct, 2018 12:36 pm

I have another question regarding emulation of Plantronics and Wyse adapters. I know I'm on really dodgy ground here because I am comparing emulations rather than real-world hardware, so this is probably a question of "what does the real hardware do?" rather than "is the emulation correct?"

Because I couldn't find anything on the web that would allow me to trivially detect the presence of either of these adapters (from Cassette BASIC) as CGA replacements, I decided to snoop around in the actual behaviour exhibited under PCE. What I noted is that with an "IBM" CGA adapter, the text on the screen is duplicated in the memory banks B8000 and BC000. With the Plantronics adapter in the same CGA mode it is not. With the Wyse adapter in that same CGA mode it is duplicated in the A0000 bank. What intrigues me is why PCE does this: is it down to some specific knowledge that Hampa had about these adapters?

What is more interesting is that PCem chooses to behave differently: With PCem, the Wyse emulation uses memory like the Plantronics does in PCE. And the Plantronics in PCem behaves the same way as the CGA and is thus not distinguishable.

So, is there an opportunity being missed for trivial detection of these cards, or is this a red herring brought about by behaviours specific to PCE and PCem emulations. Ultimately, does anyone know what the real physical cards do?

Alternatively, if this is not "real" behaviour, does anyone know of a trivial way to detect the Plantronics and/or Wyse adapters from within the emulated PC that aught to work in PCE/PCem/MAME, etc?

The simple BASIC code I put together as a test in PCE is provided below - for what its worth. Like I said, the outcomes under PCE and PCem are different.

Code: Select all

3220 '
3230 ' Detect Wyse 700
3240 X=CSRLIN:LOCATE 1,1:PRINT"A";:DEF SEG=&HA000:WYSE=(PEEK(0)=65)
3250 LOCATE 1,1:PRINT" ";:WYSE=WYSE AND(PEEK(0)=32)AND 1
3260 IF WYSE AND(GUESS<1985)THEN GUESS=1985
3270 DEF SEG=&H40:LOCATE X,1:RETURN
3330 '
3340 ' Detect Plantronics (CGA Dupl. @ B80000 & BC0000. Plant. doesnt)
3350 X=CSRLIN:LOCATE 1,1:PRINT"A";:DEF SEG=&HBC00:PLANT=(PEEK(0)<>65)
3360 LOCATE 1,1:PRINT" ";:PLANT=PLANT AND(PEEK(0)<>32)AND 1
3370 IF PLANT AND(GUESS<1982)THEN GUESS=1982
3380 DEF SEG=&H40:LOCATE X,1:RETURN
It may also be that the BIOS I was using is different between the two emulators. I shall experiment some more in this regard today. But this BIOS difference arose because it is now non-trivial to change the BIOS being used by PCem. It would be really cool if that could somehow be implemented via a configuration menu option, as the BIOS can sometimes radically change what programs perceive as the machine - not all 1981/82 DOS1.0 and DOS1.1 machines in the world were upgraded to Revision B standards after all! So many machines targeted by software vendors could have been using a 1981 BIOS and C1.00 BASIC, rather than a 1982 BIOS and C1.10 BASIC.

User avatar
JohnElliott
Posts: 75
Joined: Sun 31 Jan, 2016 7:29 pm

Re: v14 compatibility & bug list (WIP)

Post by JohnElliott » Sat 06 Oct, 2018 1:10 pm

I wrote the Plantronics and Wyse emulations for both PCEM and PCE, but I did the PCEM ones more recently so they're more likely to be correct. I have a working WY700 card, but the nearest I have to real Plantronics hardware is an Amstrad PC1640 whose EGA chipset has a Plantronics-compatible mode.

It should be possible to detect Plantronics hardware by switching to one of its enhanced graphics mode, and verifying that writing bit 6 of its control register swaps the planes at 0xB8000 and 0xBC000. Something like: Set mode 6. Write 0x20 to port 0x3DD. Write 'A' to 0xB8000, 'B' to 0xBC000. Write 0x60 to port 0x3DD. Check that 'B' is at 0xB8000, 'A' at 0xBC000.

BigAlUK
Posts: 33
Joined: Mon 15 Feb, 2016 8:27 pm

Re: v14 compatibility & bug list (WIP)

Post by BigAlUK » Sat 06 Oct, 2018 11:13 pm

I wrote the Plantronics and Wyse emulations for both PCEM and PCE,
Somehow I just knew it was going to be you :) Kudos!

I'm particularly impressed with the rather beautiful Wyse font, which I think I once envied long ago when visiting a large US customer and peering over a fellow engineer's shoulder at their equipment that we in the UK couldn't afford. That was around 1986/87, so the dates match.

I shall give that Plantronics test a try and see how it does (e.g. whether that action clears the screen, requiring careful placement of the test).

Do you have one for the Wyse?

User avatar
leilei
Posts: 604
Joined: Fri 25 Apr, 2014 4:47 pm

Re: v14 compatibility & bug list (WIP)

Post by leilei » Sat 06 Oct, 2018 11:33 pm

I don't have much experience with the Plantronics other than using it as a CGA with overscan borders (which seems to be missing emulation on about every other card).

BigAlUK
Posts: 33
Joined: Mon 15 Feb, 2016 8:27 pm

Re: v14 compatibility & bug list (WIP)

Post by BigAlUK » Mon 08 Oct, 2018 12:37 pm

Yay! Got the trivial Plantronics detection test working under both PCE and PCem (MAME doesn't appear to provide it yet). Thanks John.

Code: Select all

3360 ' Detect Plantronics (Causes screen clear due to Mode 6 work)
3370 SCREEN 2
3380 OUT &H3DD,&H30:CLS:DEF SEG=&HB800:POKE 0,&H55:DEF SEG=&HBC00:POKE 0,&HAA
3390 OUT &H3DD,&H70:PLANT=(PEEK(0)=&H55)
3400 DEF SEG=&HB800:PLANT=PLANT AND (PEEK(0)=&HAA):OUT &H3DD,0:DEF SEG=&H40
3410 SCREEN 0:RETURN

User avatar
xXLuckyXx
Posts: 66
Joined: Tue 06 Feb, 2018 3:52 pm

Re: v14 compatibility & bug list (WIP)

Post by xXLuckyXx » Wed 10 Oct, 2018 9:29 pm

When can we expect a new version of PCem?

User avatar
SarahWalker
Site Admin
Posts: 1598
Joined: Thu 24 Apr, 2014 4:18 pm

Re: v14 compatibility & bug list (WIP)

Post by SarahWalker » Thu 11 Oct, 2018 6:56 pm

When it's ready.

User avatar
xXLuckyXx
Posts: 66
Joined: Tue 06 Feb, 2018 3:52 pm

Re: v14 compatibility & bug list (WIP)

Post by xXLuckyXx » Thu 11 Oct, 2018 11:18 pm

Veeeeeery informative. At least you can tell me if it's going to be released this year or not.

darksabre76
Posts: 52
Joined: Tue 12 Sep, 2017 4:33 am

Re: v14 compatibility & bug list (WIP)

Post by darksabre76 » Thu 11 Oct, 2018 11:42 pm

Better not to push it...

User avatar
xXLuckyXx
Posts: 66
Joined: Tue 06 Feb, 2018 3:52 pm

Re: v14 compatibility & bug list (WIP)

Post by xXLuckyXx » Fri 12 Oct, 2018 12:13 am

I'm not pushing it. I want to know if I should wait with updating my PC or should I update it this year for PCem performance.

User avatar
leilei
Posts: 604
Joined: Fri 25 Apr, 2014 4:47 pm

Re: v14 compatibility & bug list (WIP)

Post by leilei » Fri 12 Oct, 2018 4:01 am

xXLuckyXx wrote:
Thu 11 Oct, 2018 11:18 pm
Veeeeeery informative. At least you can tell me if it's going to be released this year or not.
How NOT to respect others' hobbies 101

User avatar
xXLuckyXx
Posts: 66
Joined: Tue 06 Feb, 2018 3:52 pm

Re: v14 compatibility & bug list (WIP)

Post by xXLuckyXx » Fri 12 Oct, 2018 10:09 am

How not to respect? I can't ask a single fucking question without being ignored or "this breaks these rules" that exist only that admin can delete what he doesn't like or without someone jumping on me. Good luck with your project. I'm done.

Locked