DTK 386SX Clone and Phoenix 386 clone.

Discussion of development and patch submission.
Post Reply
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

The DTK 386SX clone is pretty much completely working (apart from that nasty menu config bug - does not show up in config menu) and for the Phoenix 386 I am just looking for a newer BIOS (at least 1989, the 01/15/1988 version has non-working setup).

Patch files:
DTK 386sx emu.zip
(950 Bytes) Downloaded 622 times
Last edited by nerd73 on Wed 19 Aug, 2015 10:14 pm, edited 1 time in total.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by ppgrainbow »

Why does the 1/15/1988 version of the Phoenix 386 BIOS have a non-working CMOS setup? :(
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

ppgrainbow wrote:Why does the 1/15/1988 version of the Phoenix 386 BIOS have a non-working CMOS setup? :(

I'm gonna have a look at the source code to see if I can try to add the Award 386 (January 1994) clone.
Not sure, but it's the BIOS I had in the original zip. For some reason the keyboard does not work at all in setup. I may try a later version from 1989 or later to see if that works.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by ppgrainbow »

That sounds good! As far as I know, the 1/15/1988 version might have had a bad dump. But if you have the 1989 (or later version) of the generic Phoenix 386 BIOS, let me know. :)
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

ppgrainbow wrote:That sounds good! As far as I know, the 1/15/1988 version might have had a bad dump. But if you have the 1989 (or later version) of the generic Phoenix 386 BIOS, let me know. :)
Struggling to find one newer than 1988. Found a 286 bios dated 1989 but it seems to be for an entirely different chipset.
Should I point out that the 1/15/1988 BIOS ROM I found was for an INTEL chipset? (Intel chipsets in the late 80s were turds but they got serious about it circa 1994)
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by ppgrainbow »

nerd73 wrote:
ppgrainbow wrote:That sounds good! As far as I know, the 1/15/1988 version might have had a bad dump. But if you have the 1989 (or later version) of the generic Phoenix 386 BIOS, let me know. :)
Struggling to find one newer than 1988. Found a 286 bios dated 1989 but it seems to be for an entirely different chipset.
Should I point out that the 1/15/1988 BIOS ROM I found was for an INTEL chipset? (Intel chipsets in the late 80s were turds but they got serious about it circa 1994)
The 1/15/1988 BIOS ROM that you found was for a Intel-only chipset. If it were to be implemented in the next revision of PCem, the ability to use other CPU types, AMD and Cyrix would have to be grayed out.

If you're lucky, you might find a old computer capable of using a 386SX/386DX processor with a generic Phoenix 80386 ROM BIOS from 1989 or 1990.
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

ppgrainbow wrote:
nerd73 wrote:
ppgrainbow wrote:That sounds good! As far as I know, the 1/15/1988 version might have had a bad dump. But if you have the 1989 (or later version) of the generic Phoenix 386 BIOS, let me know. :)
Struggling to find one newer than 1988. Found a 286 bios dated 1989 but it seems to be for an entirely different chipset.
Should I point out that the 1/15/1988 BIOS ROM I found was for an INTEL chipset? (Intel chipsets in the late 80s were turds but they got serious about it circa 1994)
The 1/15/1988 BIOS ROM that you found was for a Intel-only chipset. If it were to be implemented in the next revision of PCem, the ability to use other CPU types, AMD and Cyrix would have to be grayed out.

If you're lucky, you might find a old computer capable of using a 386SX/386DX processor with a generic Phoenix 80386 ROM BIOS from 1989 or 1990.
Back then, I believe chipsets did not affect CPU choice as much as now. (except for a few oddities, like the UMC Green only working properly with UMC chipsets) I am pretty sure the AMD and Intel 386 were identical, and software could not tell between them. Perhaps Cyrix, as that would prob. be incompatible though. But the issues arise even with an intel CPU, so there is some problem with the ROM.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by ppgrainbow »

If the Cyrix is incompatible, it would probably be grayed out in the PCem configuration setup.
User avatar
te_lanus
Posts: 135
Joined: Tue 28 Jul, 2015 4:47 am

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by te_lanus »

One small error in the Phoenix Patch:

Code: Select all

"Pheonix 386 clone",   ROM_PX386,
Should be:

Code: Select all

"Phoenix 386 clone",   ROM_PX386,
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

te_lanus wrote:One small error in the Phoenix Patch:

Code: Select all

"Pheonix 386 clone",   ROM_PX386,
Should be:

Code: Select all

"Phoenix 386 clone",   ROM_PX386,
I was bound to mess something up. Patch coming tomorrow, I have to go to bed.
Also, I forgot the NVR patch for DTK386 so CMOS saving will not work.
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

Patch for my patch that added PX386 and DTK386.

Fixes a typo in the Phoenix BIOS selection and adds NVR for DTK386.
Phoenix 386 clone patch.zip
(931 Bytes) Downloaded 630 times
DTK 386sx patched.zip
(1.04 KiB) Downloaded 619 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by SarahWalker »

Committed to rev 307. I did change the Phoenix clone to use a 1989 BIOS.
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Phoenix 486 clone.

Post by nerd73 »

Trying to figure out PX486 emulation. I found a BIOS for the exact same chipset as the AMI 486/WinBIOS 486 clones.
The BIOS seems to boot, up to the point that it complains setup settings aren't set. where the keyboard does not work at all.
px486.PNG
px486.PNG (12.96 KiB) Viewed 21341 times
Coincidentally, this is one of the BIOSes with the nasty 3.2GB HDD bug.
Last edited by nerd73 on Sat 22 Aug, 2015 10:11 pm, edited 2 times in total.
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by Battler »

BIOS'es differ as to what scan code set they expect the keyboard to be in during POST. Some require untranslated set 1 (such as the AMI BIOS'es), and some Award BIOS'es require translated set 2. Some are fine with whatever the keyboard is set to.
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

Battler wrote:BIOS'es differ as to what scan code set they expect the keyboard to be in during POST. Some require untranslated set 1 (such as the AMI BIOS'es), and some Award BIOS'es require translated set 2. Some are fine with whatever the keyboard is set to.
That makes perfect sense. Now which file is the one that defines that?
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by Battler »

- nerd73: It's keyboard.c and keyboard_at.c. But thing is, PCem doesn't support anything other than untranslated set 1. Translated set 2 is identical to it but needs the translation bit set in a certain register, otherwise the BIOS will see translation is off and expect untranslated set 2 which differs from both the other two sets.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by ppgrainbow »

I've noticed something with the Phoenix 386 clone.

The Phoenix 80386 ROM BIOS will max out at 64 MB (640 KB Base Memory, 64512 KB Extended). If I select RAM to allocate higher than 64 MB, the extended memory counter will wrap at 0 KB as it relies on a 16-bit unsigned integer to store the total amount of memory in kilobytes.

Also, if you try to select user defined type 48 or type 49 hard disk parameters in the BIOS, the emulated machine will lock up and render the CMOS setup unusable. To correct this, you have to delete the Px386.nvr file, relaunch PCem and recreate it.
nerd73
Posts: 116
Joined: Wed 24 Sep, 2014 11:16 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by nerd73 »

ppgrainbow wrote:I've noticed something with the Phoenix 386 clone.

The Phoenix 80386 ROM BIOS will max out at 64 MB (640 KB Base Memory, 64512 KB Extended). If I select RAM to allocate higher than 64 MB, the extended memory counter will wrap at 0 KB as it relies on a 16-bit unsigned integer to store the total amount of memory in kilobytes.

Also, if you try to select user defined type 48 or type 49 hard disk parameters in the BIOS, the emulated machine will lock up and render the CMOS setup unusable. To correct this, you have to delete the Px386.nvr file, relaunch PCem and recreate it.
I'm pretty sure the PX386 uses XTIDE, right?
neozeed
Posts: 176
Joined: Tue 08 Jul, 2014 4:41 am
Location: Hong Kong SAR
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by neozeed »

ppgrainbow wrote:I've noticed something with the Phoenix 386 clone.

The Phoenix 80386 ROM BIOS will max out at 64 MB (640 KB Base Memory, 64512 KB Extended). If I select RAM to allocate higher than 64 MB, the extended memory counter will wrap at 0 KB as it relies on a 16-bit unsigned integer to store the total amount of memory in kilobytes.

Also, if you try to select user defined type 48 or type 49 hard disk parameters in the BIOS, the emulated machine will lock up and render the CMOS setup unusable. To correct this, you have to delete the Px386.nvr file, relaunch PCem and recreate it.
the chipsets in 386's couldn't address more than 64MB. It was a hard limit for quite some time in the industry. Even OS/2 needs a special BIOS setting for more than 64MB. 386's shipped with very little RAM, it was expensive back then. Try to stick with specs that existed back then, and you will have MUCH better luck. And a disk that is in the table. Or within the 500MB BIOS limit of the era.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by ppgrainbow »

nerd73 wrote:
ppgrainbow wrote:I've noticed something with the Phoenix 386 clone.

The Phoenix 80386 ROM BIOS will max out at 64 MB (640 KB Base Memory, 64512 KB Extended). If I select RAM to allocate higher than 64 MB, the extended memory counter will wrap at 0 KB as it relies on a 16-bit unsigned integer to store the total amount of memory in kilobytes.

Also, if you try to select user defined type 48 or type 49 hard disk parameters in the BIOS, the emulated machine will lock up and render the CMOS setup unusable. To correct this, you have to delete the Px386.nvr file, relaunch PCem and recreate it.
I'm pretty sure the PX386 uses XTIDE, right?
Yep. The PX386 uses XTIDE, because the CMOS setup is not 100% usable. And I don't know if using the extended BIOS setup off of a floppy disk will fix the bugs or not. With the XTIDE, it's possible to create a hard disk image up to as much as 8,064 MB...however, MS-DOS 5 through 6.22 will only see 8,025 MB as usable..split into four partitions: the primary 2,047 MB partition and the 5,977 MB extended partition (two 2,047 MB logical drives and one 1,802 MB logical drive).

It would be downright impossible to find any software to run under MS-DOS and 16-bit versions of Windows that will use a drive that large! The best practice for 386-era emulated machines would be to use a hard disk image no larger than 128 MB.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by ppgrainbow »

neozeed wrote:
ppgrainbow wrote:I've noticed something with the Phoenix 386 clone.

The Phoenix 80386 ROM BIOS will max out at 64 MB (640 KB Base Memory, 64512 KB Extended). If I select RAM to allocate higher than 64 MB, the extended memory counter will wrap at 0 KB as it relies on a 16-bit unsigned integer to store the total amount of memory in kilobytes.

Also, if you try to select user defined type 48 or type 49 hard disk parameters in the BIOS, the emulated machine will lock up and render the CMOS setup unusable. To correct this, you have to delete the Px386.nvr file, relaunch PCem and recreate it.
the chipsets in 386's couldn't address more than 64MB. It was a hard limit for quite some time in the industry. Even OS/2 needs a special BIOS setting for more than 64MB. 386's shipped with very little RAM, it was expensive back then. Try to stick with specs that existed back then, and you will have MUCH better luck. And a disk that is in the table. Or within the 500MB BIOS limit of the era.
That's correct. 386-based chipsets greater than 64 MB and MFM, RLL, ESDI and IDE hard disks larger than 504 MB in capacity (1,024 cylinders, 16 heads, 63 sectors per track) were not available at the time when the Phoenix 386 based chipsets came out in 1989; infact the 386SX versions couldn't even address more than 16 MB (640 KB Base Memory, 15360 KB Extended) due to the 24-bit address limit.

The largest hard disk type specified in the predefined hard disk table is type 32, 127 MB or 1,024 cylinders, 15 heads and 17 sectors per track for a MFM-based hard drive.

Under OS/2 1.3 though 2.1, these versions will not even accept IDE hard disks larger than 504 MB without have to run into boot problems!
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: DTK 386SX Clone and Phoenix 386 clone.

Post by Battler »

nerd73 wrote:Trying to figure out PX486 emulation. I found a BIOS for the exact same chipset as the AMI 486/WinBIOS 486 clones.
The BIOS seems to boot, up to the point that it complains setup settings aren't set. where the keyboard does not work at all.
Sorry for the almost 2 year bump, but I have finally figured out why all the 486 and Pentium Phoenix BIOS'es hang - they enter the CPU into SMM mode by writing to port B2h, but since that isn't emulated at all on PCem, the BIOS is stuck there waiting.
Post Reply