More SCAT chipset machines

Post Reply
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

More SCAT chipset machines

Post by Greatpsycho »

This patch adds machines using Chips&Technologies SCAT chipset.

1. GW-286CT GEAR
Uses Chips&Technologies BIOS. The BIOS is available [Moderator : Please don't post links to copyrighted material].
GW286CT-1.png
GW286CT-1.png (14.99 KiB) Viewed 37856 times
2. Samsung SPC-4216P
Successor of Samsung SPC-4200P. The BIOS is attached this post.
SPC4216P-1.png
SPC4216P-1.png (16.26 KiB) Viewed 37856 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

Please don't post copyrighted material...
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

I've posted patch file only. If you need BIOS ROM image file for testing, please send PM for me.

Edit : This patch has been incorporated here.
Last edited by Greatpsycho on Tue 03 Oct, 2017 1:26 am, edited 3 times in total.
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

This patch adds KMX C 02 machine using 386sx CPU and Chips&Technologies 82C836(SCATsx) chipset that is successor of 82C235. Experimental 82C836 chipset emulation is also implemented in this patch and two more machines that uses 82C235 chipset is also included in this patch that is submitted but not applied in recent revision.
If you need BIOS ROM image file for testing, please send your e-mail address as PM for me.
KMX_C_02-1.png
KMX_C_02-1.png (13.63 KiB) Viewed 37420 times
Edit : This patch has been incorporated here.
Last edited by Greatpsycho on Tue 03 Oct, 2017 1:26 am, edited 3 times in total.
User avatar
omarsis81
Posts: 945
Joined: Thu 17 Dec, 2015 6:20 pm

Re: More SCAT chipset machines

Post by omarsis81 »

Sorry for being nitpicky here, but the correct name has hyphens KMX-C-02
Attachments
s-l1600.jpg
s-l1600.jpg (85.67 KiB) Viewed 37509 times
Fenix77
Posts: 80
Joined: Fri 01 Sep, 2017 11:59 am

Re: More SCAT chipset machines

Post by Fenix77 »

¡Hello!


Thanks for these new emulated SCAT machines, they're great additions.

It would be interesting to have a 386-SX with SCAT EMS support to compare the performance and features offered by these chipsets vs. EMM386/QEMM/386MAX. If i recall correctly, the EMM emulation provided by these utilities uses the 32 bit capabilities provided by 386 CPU, but since the SX variants had 16 bit bus,It took two clock cicles to execute one 32 bits instruction.

So for these systems, the EMS memory provided by the chipset was faster than the emulated.
The only drawback was some 386 games required VCPI fuctions avaiable only when the CPU is V86 mode with some EMS emulation software.

Sorry if it is a bit off topic. But is possible to add EMS support to NEAT machines?. The emulated AMI BIOS 286 and DTK-386 SX clone, both, have a NEAT chipset.
I know they uses a different EMS driver, but i don't how different are NEAT and SCAT chipset for instance.


¡Thanks!
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

omarsis81 wrote:Sorry for being nitpicky here, but the correct name has hyphens KMX-C-02
I've just modified model name as you pointed out and re-uploaded patch file.
Last edited by Greatpsycho on Tue 03 Oct, 2017 1:24 am, edited 2 times in total.
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

Fenix77 wrote:¡Hello!

Sorry if it is a bit off topic. But is possible to add EMS support to NEAT machines?. The emulated AMI BIOS 286 and DTK-386 SX clone, both, have a NEAT chipset.
I know they uses a different EMS driver, but i don't how different are NEAT and SCAT chipset for instance.


¡Thanks!
According to technical document, implementing EMS support to NEAT machines is somewhat easier than SCAT machines but I don't have machine that uses NEAT chipset so I can't confirm its behavior. Only highly experimental implementation is possible at this time like EMS implementation of Laser XT series did.

And behavior and approach of the NEAT chipset and the SCAT chipset are completely different.
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

This patch adds three machines mentioned below that previously posted before but not applied. Reworked against rev 872.

- GW-286CT GEAR(286)
- Samsung SPC-4216P(286)
- KMX-C-02 (386sx)
Attachments
scat_machines_patch.tar.gz
Patch for add machines against rev 872.
(5.18 KiB) Downloaded 990 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

I'm having trouble with the Samsung and KMX systems - the Samsung just hangs before initialising the video card, the KMX just beeps. Any suggestions?
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

SarahWalker wrote:I'm having trouble with the Samsung and KMX systems - the Samsung just hangs before initialising the video card, the KMX just beeps. Any suggestions?
The KMX-C-02 BIOS that can be downloaded by Internet search is broken. Please let me know your e-mail address via PM and I will send you a correct BIOS file.
And please let me know your configuration when testing Samsung SPC-4216P.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

All committed at rev 881.
Fenix77
Posts: 80
Joined: Fri 01 Sep, 2017 11:59 am

Re: More SCAT chipset machines

Post by Fenix77 »

hello.

First of all i want say i'm grateful to the effort you have done when yo added the support to theese SCAT chipsets.
It's interesting to test this emulated hardware because nowadays te real SCAT/NEAT/LEAP chipset are very rare.

And well, i'd like to ask about some emulated chipsets. I do not know if its a bios problem, a problem with the configuration or the way my SVN PCEM was compiled

* The GW-286CT GEAR works flawessly. And even count the XMS memory only once.
* The Award 286 work great too, but it has a minor glitch,it checks the XMS memory five times. Ohter than that has no problems.
* The Samsung SPC-4200P and 4216P both of the them have a problem when testing the XMS memory after configuring the EMS memory in the BIOS, they detect the remaining XMS wrong or directly as 0kb of XMS avaiable.
(also the 4200p only support 2MB of RAM and 4216p supports up to 5MB. 5MB is enought for any 286 systems however.)

* The KMX-C-02 works and load the EMM.SYS driver and even detects correctly as a SACTsx chipset, and the 128kb UMB memory is correctly detected by QRAM
But it does not support the Large Page Frame (No mapeable area found) and Word for Windows 1.1 (Which i installed in Win 2.11) looks up after i run Winword.exe.

PD: I used the same hard disk with the SCAT EMS driver and QRAM with all the SCAT machines. i do not know what the "Coprossesor READY cntrl by" do the possible values are 387SX and 82C836 (the SCAT chipset)

Thanks in advance!
This is the QRAM's Manifest ultility. No mappable are found
This is the QRAM's Manifest ultility. No mappable are found
386 KMX-C-02.png (111.41 KiB) Viewed 36962 times
Attachments
This is the BIOS.
This is the BIOS.
386 KMX-C-02-2.png (132.22 KiB) Viewed 36962 times
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

Fenix77 wrote: * The Samsung SPC-4200P and 4216P both of the them have a problem when testing the XMS memory after configuring the EMS memory in the BIOS, they detect the remaining XMS wrong or directly as 0kb of XMS avaiable.
(also the 4200p only support 2MB of RAM and 4216p supports up to 5MB. 5MB is enought for any 286 systems however.)
You may set improper EMS memory configuration. On SPC-4200P/SPC-4216P, valid EMS memory configuations according to RAM setting are as follows.
1MB - 384KB
2MB - 512KB, 768KB, 1024KB
3MB - 1024KB, 2048KB
5MB - 1024KB, 2048KB, 3072KB, 4096KB

4MB RAM configuration is not properly supported by SPC-4216P BIOS. In this case, it works like 3MB RAM configuration.
Fenix77 wrote: * The KMX-C-02 works and load the EMM.SYS driver and even detects correctly as a SACTsx chipset, and the 128kb UMB memory is correctly detected by QRAM
But it does not support the Large Page Frame (No mapeable area found) and Word for Windows 1.1 (Which i installed in Win 2.11) looks up after i run Winword.exe.
Unlike the 82C235 chipset, the 82C836 chipset can map D000~EFFF segment area only. And I added STACKS=9,512 in CONFIG.SYS file, Word for Windows 1.1 works properly on Windows 2.11/3.0.
KMXC02-WINWORD11.png
KMXC02-WINWORD11.png (17.35 KiB) Viewed 36916 times
KMXC02-WINWORD11-WIN30.png
KMXC02-WINWORD11-WIN30.png (19.06 KiB) Viewed 36915 times
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

This patch fixes typo and removes io_sethandler that was used when debugging.
Attachments
scat.c.patch
(942 Bytes) Downloaded 753 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

Committed at rev 894.
darksabre76
Posts: 69
Joined: Tue 12 Sep, 2017 4:33 am
Location: Seattle, WA, USA
Contact:

Re: More SCAT chipset machines

Post by darksabre76 »

Out of curiosity, I saw in the commit that the Samsung SPC-4216P can use a file called phoenix.bin as well as (instead of?) the split roms. What was that file for, exactly? Sorry if this seems like a trivial question.
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

darksabre76 wrote:Out of curiosity, I saw in the commit that the Samsung SPC-4216P can use a file called phoenix.bin as well as (instead of?) the split roms. What was that file for, exactly? Sorry if this seems like a trivial question.
The phoenix.bin was dumped by MS-DOS DEBUG and splited ROM files was independently dumped by ROM reader. But those are acually same.
darksabre76
Posts: 69
Joined: Tue 12 Sep, 2017 4:33 am
Location: Seattle, WA, USA
Contact:

Re: More SCAT chipset machines

Post by darksabre76 »

Thanks for the reply. I'm guessing that the phoenix.bin could then just be reconstructed odd/even from the other 2? Thanks for your patches, by the way, nice to see so many machines get their day :)
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

This patch does the following.

- Improved ROMCS mapping on top address area.
- Changed SCAT chipset revision.
- DMA wait control state register is now writable.
Attachments
scat.c.patch
Patch to improve chipset accuracy.
(2.13 KiB) Downloaded 749 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

Committed at rev 1009.
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

This patch does the following.

- Implemented ROMCS enable feature.
- Fixed RAM write protect register setting wasn't properly applied.
- Implemented Encoded RAS mode emulation on 82C235 revision A and 82C386 chipset.
- Implemented of experimental memory bank interleaved addressing emulation on 82C836 chipset and removed hardcoded memory configuration setting. KMX-C-02's BIOS now automatically detects DRAM configuration and set DRAM configuration register value correctly.
- Improved accuracy of 82C235 chipset's memory bank addressing. GW-286CT GEAR BIOS now set DRAM configuration register correctly when Dynamic Memory Resizing is enabled.
- Changed Award286 clone and Samsung SPC-4200P's chipset revision to rev A.
- SCAT revision D chipset now set high ROM mapping size to 128KB.

Please note if you want to use more than 8MB of memory on Award286 clone after applying this patch, you will need to use modified BIOS to support Encoded RAS configuration. If you want to get modified BIOS, please PM for me(Old modified BIOS that can get this forum doesn't work properly after this patch is applied when you set memory size more than 6MB). And machines using the SCAT chipset may not boot if they use memory settings that aren't supported by the chipset.

Valid and usable memory configuration for each model are shown below.

Award 286 clone
512KB, 640KB, 1024KB, 1536KB, 2048KB, 4096KB, 6144KB, 8192KB, 10240KB, 12288KB, 14336KB, 16384KB (Last 4 configurations need modified BIOS that supports Encoded RAS mode.)

GW-286CT GEAR
512KB, 640KB, 1024KB, 1536KB, 2048KB, 2560KB, 3072KB, 4096KB, 4608KB, 5120KB, 6144KB, 6656KB, 8192KB, 10240KB, 12288KB, 14336KB, 16384KB

Samsung SPC-4200P
512KB, 640KB, 1024KB, 1536KB, 2048KB

Samsung SPC-4216P
1MB, 2MB, 3MB, 5MB

KMX-C-02
512KB, 1024KB, 1536KB, 2048KB, 2560KB, 3072KB, 4096KB, 4608KB, 5120KB, 6144KB, 6656KB, 8192KB, 9216KB, 10240KB, 16384KB (7168KB, 11264KB, 12288KB, 13312KB, 14336KB configurations are also valid on 82C836 chipset but these configurations need modified BIOS that supports Encoded RAS mode.)
Attachments
scat.c.patch
Patch for SCAT chipset emunation accuracy.
(70.82 KiB) Downloaded 722 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

Merged at rev 1194.
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

This patch adds two more machines using Chips&Technologies SCAT chipset. All needed patches are inclided.
If you need BIOS ROM image file for testing, please send your e-mail address as PM for me.

1. Goldstar(Predecessor of LG) GDC-212M
One of famous Korean 286 machine.
GDC212M.png
GDC212M.png (21.08 KiB) Viewed 26835 times
2. Samsung SPC-4620P
Successor of Samsung SPC-4216P. Has integrated ATI Korean VGA.
SPC4620P.png
SPC4620P.png (50.39 KiB) Viewed 26835 times
Attachments
scat_machines_patch.tar.gz
Patch for add machines.
(3.79 KiB) Downloaded 549 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

Committed at revs 1524 and 1525.
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

This patch implements processor clock control on SCAT chipset.
Attachments
scat_clock_control_patch.tar.gz
Patch for add processor clock control on SCAT chipset.
(1.35 KiB) Downloaded 521 times
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

Hmm, this patch feels like it needs some rework to me. I don't like the level of over-engineering in cpu_set_nonturbo_divider(); there's not really a need for the level of bounds checking (who's passing values > 16384 anyway?), and I don't like the use of a magic number for 2/3 (which isn't even supported by the SCAT). I don't see that there's any need for this to be more than :

Code: Select all

if (divider == 1)
	cpu_set_turbo(1);
else
{
	cpu_nonturbo_speed = cpu_turbo_speed / divider;
	cpu_set_turbo(0);
}
Greatpsycho
Posts: 151
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: More SCAT chipset machines

Post by Greatpsycho »

SarahWalker wrote: Tue 14 Jul, 2020 5:28 pm Hmm, this patch feels like it needs some rework to me. I don't like the level of over-engineering in cpu_set_nonturbo_divider(); there's not really a need for the level of bounds checking (who's passing values > 16384 anyway?), and I don't like the use of a magic number for 2/3 (which isn't even supported by the SCAT). I don't see that there's any need for this to be more than :

Code: Select all

if (divider == 1)
	cpu_set_turbo(1);
else
{
	cpu_nonturbo_speed = cpu_turbo_speed / divider;
	cpu_set_turbo(0);
}
Your code should be enough for SCAT chipset but I've applies minor change. I think below code is better. However, in the future, it may be necessary to add or change the same function in other chipsets(ex. 2/3 multiplier may need to work with Commodore 286 series).

Code: Select all

        if (divider < 2)
                cpu_set_turbo(1);
        else
        {
                cpu_nonturbo_speed = cpu_turbo_speed / divider;
                cpu_set_turbo(0);
        }
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: More SCAT chipset machines

Post by SarahWalker »

Committed based on the above at d5dbe302.
Post Reply