Award286 clone

Discussion of development and patch submission.
Greatpsycho
Posts: 88
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: Award286 clone

Postby Greatpsycho » Mon 21 Aug, 2017 8:48 am

This patch does the following.
- Fixed problem where shadow RAM isn't enabled properly when mixed memory configuration is used.
- Improved memory address clipping and mapping emulation accuracy.
Attachments
scat.c.patch
Patch for memory addressing emulation accuracy.
(11.42 KiB) Downloaded 9 times
A. Naim
Posts: 75
Joined: Thu 09 Jul, 2015 5:06 pm

Re: Award286 clone

Postby A. Naim » Mon 21 Aug, 2017 2:23 pm

omarsis81 wrote:Too bad Intel screw it with the protected mode... oh well, I don't want to go off-topic. I will send you a PM. Best regards

Could you PM that to me, as well? How did Intel mess up the protected mode?
User avatar
omarsis81
Posts: 544
Joined: Thu 17 Dec, 2015 6:20 pm

Re: Award286 clone

Postby omarsis81 » Mon 21 Aug, 2017 3:46 pm

A. Naim wrote:
omarsis81 wrote:Too bad Intel screw it with the protected mode... oh well, I don't want to go off-topic. I will send you a PM. Best regards

Could you PM that to me, as well? How did Intel mess up the protected mode?

What I meant was that the 286's protected mode wasn't as it should be (the one in the 386).

For what I understand, the 286 was criticized because once you enter in protected mode there is no way to go back (at least, not an easy one). My question is: is it possible to have an OS that boots in PM with directly no need to go back to real mode? I believe it could, but then the problem would be to run real mode programs, right? (i.e. backward compatibility)
SarahWalker
Site Admin
Posts: 1328
Joined: Thu 24 Apr, 2014 4:18 pm

Re: Award286 clone

Postby SarahWalker » Mon 21 Aug, 2017 5:36 pm

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

Re: Award286 clone

Postby Greatpsycho » Thu 24 Aug, 2017 2:21 pm

This patch implements to automatically switch memory addressing emulation between 256KB*8 and 1MB*2 configuration when using 2MB memory. Samsung SPC-4200P now properly works again when using 2MB memory.

Edit : This patch has been incorporated here.
Last edited by Greatpsycho on Tue 03 Oct, 2017 4:05 am, edited 4 times in total.
Fenix77
Posts: 30
Joined: Fri 01 Sep, 2017 11:59 am

Re: Award286 clone

Postby Fenix77 » Thu 07 Sep, 2017 11:54 am

Hello.

I recently tested the EMS memory emulation. The only issue i found is when the a UMB driver is loaded, or when the EMS driver is loaded in UMB itself.
The drivers install sucecifully in UMB memory (like the mouse) but the OEMSTEST.EXE from Douglas Boling. (he developed varios EMS 4.0 test in the late '80) shows a lots of error but only if the UMB driver is loaded.
And both Windows 3.0 in real mode an Windows 2.11/286 will lock up if the UMB driver is installed otherwise it runs OK.
If no UMB driver is inatalled there is no errors and only fuction 19 and fuction 28 (multiple hardware regiesters) are not supported

Strangely enought With EMS 3.2 apps there is no problem even with the UMB enabled. I tested The Incredible Machine 1 and select "use extra memory" option with no XMS memory avaiable and had no issue.

The Large Page Frame, of the EMS 4.0 spec, work perfectly. I tested Windows 3.0 apps and Word for Windows 1.1 with Windows 2.11/286. with no issue.
And even, using a 286/12, it achieve the same performance than a 386 SX/16 using Word For Windows 1.1.

I have created two hard disks

1. With DOS 5 using the UMB-DRVR.SYS in the same way as the config.sys you created for the floppy the last year and installed Windows 3.0
2. I installed DOS 3.31 with QRAM 2.02 and Windows 2.11/286.

I attached the drivers test and two screenshots.


A last question (only wondering)

Is the UMB driver designed to work with EMS 4.0 software such as Windows 2.11/3.0 in real mode or Deskview?
Might the UMB driver use the large page frame to manage the upper mmemory blocks and interfere with EMS 4.0 app?

OEMSTEST WHIT ERRORS.png
OEMSTEST WHIT ERRORS.png (154.33 KiB) Viewed 644 times



Thanks in advance!
Attachments
OEMSTEST WITH ERROS 2.png
OEMSTEST WITH ERROS 2.png (150.15 KiB) Viewed 644 times
TEST_EMS.zip
(26.48 KiB) Downloaded 9 times
Greatpsycho
Posts: 88
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: Award286 clone

Postby Greatpsycho » Thu 07 Sep, 2017 4:36 pm

Fenix77 wrote:Hello.

I recently tested the EMS memory emulation. The only issue i found is when the a UMB driver is loaded, or when the EMS driver is loaded in UMB itself.
The drivers install sucecifully in UMB memory (like the mouse) but the OEMSTEST.EXE from Douglas Boling. (he developed varios EMS 4.0 test in the late '80) shows a lots of error but only if the UMB driver is loaded.
And both Windows 3.0 in real mode an Windows 2.11/286 will lock up if the UMB driver is installed otherwise it runs OK.
If no UMB driver is inatalled there is no errors and only fuction 19 and fuction 28 (multiple hardware regiesters) are not supported

Strangely enought With EMS 3.2 apps there is no problem even with the UMB enabled. I tested The Incredible Machine 1 and select "use extra memory" option with no XMS memory avaiable and had no issue.

The Large Page Frame, of the EMS 4.0 spec, work perfectly. I tested Windows 3.0 apps and Word for Windows 1.1 with Windows 2.11/286. with no issue.
And even, using a 286/12, it achieve the same performance than a 386 SX/16 using Word For Windows 1.1.

I have created two hard disks

1. With DOS 5 using the UMB-DRVR.SYS in the same way as the config.sys you created for the floppy the last year and installed Windows 3.0
2. I installed DOS 3.31 with QRAM 2.02 and Windows 2.11/286.

I attached the drivers test and two screenshots.


A last question (only wondering)

Is the UMB driver designed to work with EMS 4.0 software such as Windows 2.11/3.0 in real mode or Deskview?
Might the UMB driver use the large page frame to manage the upper mmemory blocks and interfere with EMS 4.0 app?

OEMSTEST WHIT ERRORS.png


Thanks in advance!


You must exclude D000~EFFF segment area to prevent mapping to large page frame area if you use UMB driver. For example, if you place EMS page frame at E000 segment, you must set option below.

DEVICE=EMM.SYS FRAME=E000 EXCLUDE=D000-DFFF
Fenix77
Posts: 30
Joined: Fri 01 Sep, 2017 11:59 am

Re: Award286 clone

Postby Fenix77 » Fri 08 Sep, 2017 1:16 am

Hello.

Thanks for the reply. I don't know where put the EXCLUDE line after QRAM is installed.

It is how the CONFIG.SYS looks like.

Device=C:\qram\qext.sys (QRAM custom XMS driver)
device=C:\qram\qram.sys R:1
device=C:\qram\loadhi.sys /R:1 EMM.SYS FRAME=E000 (I changed it because QRAM puts C000 by default)

Even if i add the Exclude statement after Frame in (loadhi line) QRAM stills detect 192kb of high ram. If i put the Exclude statement after QRAM.SYS R:1 it detects a wrong switch.

Thanks again.
Greatpsycho
Posts: 88
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: Award286 clone

Postby Greatpsycho » Fri 08 Sep, 2017 2:47 am

Fenix77 wrote:Hello.

Thanks for the reply. I don't know where put the EXCLUDE line after QRAM is installed.

It is how the CONFIG.SYS looks like.

Device=C:\qram\qext.sys (QRAM custom XMS driver)
device=C:\qram\qram.sys R:1
device=C:\qram\loadhi.sys /R:1 EMM.SYS FRAME=E000 (I changed it because QRAM puts C000 by default)

Even if i add the Exclude statement after Frame in (loadhi line) QRAM stills detect 192kb of high ram. If i put the Exclude statement after QRAM.SYS R:1 it detects a wrong switch.

Thanks again.


You should change device lines in CONFIG.SYS file as shown below.

Device=C:\qram\qext.sys (QRAM custom XMS driver)
device=C:\qram\qram.sys R:1 X=E000-EFFF (Exclude EMS page frame address area)
device=C:\qram\loadhi.sys /R:1 EMM.SYS FRAME=E000 EXCLUDE=D000-DFFF (Exclude UMB area)

And I don't recommand using QEXT.SYS as extended memory driver because its performance of XMS memory access is much lower than HIMEM.SYS on 286 processor. So I recommand changing CONFIG.SYS file as shown below.

Device=C:\dos\himem.sys /TESTMEM:OFF /MACHINE:2 (DOS default XMS driver. /MACHINE:2 is bit faster than default /MACHINE:1 on Award286 clone.)
device=C:\qram\qram.sys R:1 X=E000-EFFF
device=C:\qram\loadhi.sys /R:1 EMM.SYS FRAME=E000 EXCLUDE=D000-DFFF
Fenix77
Posts: 30
Joined: Fri 01 Sep, 2017 11:59 am

Re: Award286 clone

Postby Fenix77 » Sun 10 Sep, 2017 1:40 am

Hello.

Many thanks. It Works!! I tested Windows 3.0 in real mode (win /r), with QRAM and a mouse driver loaded high. I saw this with the manifest utility.
So there was only a conflict between the Qram driver and the EMS driver.

Sorry if I'm asking too much Is possible to add 1MB support of EMS RAM to laser XT series? and I want to say too that the Vtech Laser XT/3 has an 8086 Cpu, not an 8088 i don't know if can be changed. (I've recently written in the Laser XT post)
Greatpsycho
Posts: 88
Joined: Tue 22 Mar, 2016 10:03 am
Location: Korea
Contact:

Re: Award286 clone

Postby Greatpsycho » Sun 10 Sep, 2017 4:52 am

Fenix77 wrote:Hello.

Many thanks. It Works!! I tested Windows 3.0 in real mode (win /r), with QRAM and a mouse driver loaded high. I saw this with the manifest utility.
So there was only a conflict between the Qram driver and the EMS driver.

Sorry if I'm asking too much Is possible to add 1MB support of EMS RAM to laser XT series? and I want to say too that the Vtech Laser XT/3 has an 8086 Cpu, not an 8088 i don't know if can be changed. (I've recently written in the Laser XT post)


This will be hard to implement in the near future due to the difficulty of writing efficient memory mapping algorithms for two or more EMS boards. If break the accuracy of the actual hardware operation, it's possible to implement up to 2MB EMS memory with a single EMS board on Vtech Laset XT series.
Fenix77
Posts: 30
Joined: Fri 01 Sep, 2017 11:59 am

Re: Award286 clone

Postby Fenix77 » Mon 11 Sep, 2017 8:23 pm

Thanks for the reply!

I understand so emulating 2mb will not work accordingly the real hardware. may be in the future will be easier to emulate an 2mb EMS board for XT and 286 systems as a memory option.

Sorry for asking again. I'm testing software of it's day to see how works.

I found that HIDOS.SYS of DR-DOS 6 can detect and use UMB memory if detects a NEAT, LEAP or SCAT chipset.

HIDOS states "the chip is not present or there is no shadow ram" (it strange because with the other emulated hard disk, qram 2.02 works flawlessly)

The statemt line in config.sys
hidevice=emm.sys frame=e000 (it is loaded right but in low memory)
device=C:\dos\hidos.sys /b=auto /chipset=scat /E=E000-EFFF.

Thanks again. I think the emulation of this chipset works perfectly (i tested DOS 3.31 with Windows 2.11/286 and Windows 3.0 in real and standard mode)
Fenix77
Posts: 30
Joined: Fri 01 Sep, 2017 11:59 am

Re: Award286 clone

Postby Fenix77 » Tue 12 Sep, 2017 1:41 am

Hello.

It seem to be no problem with UMB memory, after running setup program from DR-DOS 6, during boot process hidos states "HIDOS v2.2 /chipset=EMSUMB /bdos=D6BC"
Strangely enought this parameters does not apper in config.sys. HIDOS do it by itself.
after boot i have 64kb of HMA and 64 kb of UMB with 13 kb free and 600 kb free, whit EMS and XMS memory.

The only problem is a "divide Error" after PC-Kwick cache tries to load itself. This occurs with either XMS or EMS memory.
I tested PC-Kwick with MR 386 DX and Laser XT using EMS memory and works with both.

EDIT: I discovered that the PC-Kwick problem appers to be related to the VGA card. Of the VGA cards i tested so far,
The problem occurs with OTI-67 and Tseng 4000AX, Paradise WD90C11, And ATI 18800 but not with Trident 8900D or TGUI 9440

Regards

Return to “Development”

Who is online

Users browsing this forum: No registered users and 2 guests