VOGONS

Common searches


First post, by yeokm1

User metadata
Rank Newbie
Rank
Newbie

Thought to share an experiment I just did on what is likely the last Thinkpad generation (or laptops in general) capable of running DOS natively. 2020 machines are among the last to officially have UEFI-CSM support.

Summary of tests
1. SB-compatible and OPL3 Audio is working via SBEMU
2. 2.5GbE networking through a Thunderbolt eGPU adapter
3. Games like Descent, Doom and Planet X3 seem to work flawlessly
4. 8088 Domination demo works well

Blog post: https://yeokhengmeng.com/2024/08/dos-on-thinkpad-x13-gen1/

Attachments

Reply 1 of 12, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for sharing your findings with the Thinkpad. Good to know SBEMU is working on the 10th gen. I have a X280 and guess it should work on it as well.

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 4 of 12, by zyzzle

User metadata
Rank Member
Rank
Member

This is impressive, particularly that SBEMU works with the system. However, having read the blog and watched the video, it appears only basic DOS testing was done. For example, MTRRLFBE was not run to see if improved VESA speed is possible by setting the MTRRs to writeback cache combining. Neither were any VESA modes tested. It appears 640x200 mode works, from the Dominion demo, which is impressive, however no true VESA modes were tested with the LFB enabled (at 640x480 and beyond).

Other questions:
Does Yang's CpuSpd run, and can you set the multiplier on this Thinkpad laptop? What is the maximum multiplier enabled in DOS? Is it only the nominal 17x (1.7 Ghz) on a CPU which can support 4.0 Ghz (4ox multiplier) in turbo boost mode? Using this program, it should also be possible to hardware throttle the CPU to 1/8th its CPU frequency with the -t 1 switch. And disable caches, etc.

A more up to date DOS system identifying program such as Astra 7.10 or Hwinfo 6.22 should be run to see all features, video chips, BIOS info, memory info, etc. (The video only shows syscheck from 1990 being run).

Reply 5 of 12, by yeokm1

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2024-08-19, 10:13:
This is impressive, particularly that SBEMU works with the system. However, having read the blog and watched the video, it appea […]
Show full quote

This is impressive, particularly that SBEMU works with the system. However, having read the blog and watched the video, it appears only basic DOS testing was done. For example, MTRRLFBE was not run to see if improved VESA speed is possible by setting the MTRRs to writeback cache combining. Neither were any VESA modes tested. It appears 640x200 mode works, from the Dominion demo, which is impressive, however no true VESA modes were tested with the LFB enabled (at 640x480 and beyond).

Other questions:
Does Yang's CpuSpd run, and can you set the multiplier on this Thinkpad laptop? What is the maximum multiplier enabled in DOS? Is it only the nominal 17x (1.7 Ghz) on a CPU which can support 4.0 Ghz (4ox multiplier) in turbo boost mode? Using this program, it should also be possible to hardware throttle the CPU to 1/8th its CPU frequency with the -t 1 switch. And disable caches, etc.

A more up to date DOS system identifying program such as Astra 7.10 or Hwinfo 6.22 should be run to see all features, video chips, BIOS info, memory info, etc. (The video only shows syscheck from 1990 being run).

Hey, thanks for your suggestions. I just happened to need a low-cost second hand laptop as one of my daily driver backup. Since I can make do with a laptop a few years back, I just spent a bit of extra effort to get one with UEFI-CSM and play around with DOS for fun on it and share what I learned. I have other more period correct vintage machines for my purer DOS needs.

To do a more comprehensive review and document those findings in the form of a blog post or video would take a significant amount of time for just a hobby. Having said that, when time permits, I can give your suggestions a shot to see how compatible this laptop really is.

Reply 6 of 12, by zyzzle

User metadata
Rank Member
Rank
Member

You're welcome. Your system looks promising, indeed. I once had an HP laptop with 10th Gen Intel processor which had CSM and booted into DOS. Its real problem was that the onboard graphics were so poor as to be unusable (no LFB, no MTRR writeback cache combining, no VESA modes), but 320x200 8-bit worked. It's unknown if SBEMU works on it, as that wonderful program had not yet been released at the time, and I returned the laptop to Costco due to its dismally poor DOS video performace and compatibility.

Currently, I'm using an 8th gen Dell laptop as my "Frankenstein" machine (= modern enough to still boot and use Windows 10 and fast enough in networking speed, but also a good bare metal DOS laptop, which boots into DOS via USB memory stick and has excellent SBEMU compatibility, good graphics, plenty of speed 3.4 Ghz, LFB support and many VESA modes but can't enable MTRR writeback caching due to system freeze when I try). CpuSpd works, changing multiplier and hardware throttling is also supported for appropriate slowdown when needed for older games.

The price of your Thinkpad looks reasonable enough now, under $200 that it might make a perfect "modern" DOS laptop *if* it has VESA video support and MTRR writeback cache combining support. That would be perfect in every way, except for the 16x9 screen stretching the 4x3 DOS games of course.

Reply 7 of 12, by yeokm1

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2024-08-19, 22:42:

You're welcome. Your system looks promising, indeed. I once had an HP laptop with 10th Gen Intel processor which had CSM and booted into DOS. Its real problem was that the onboard graphics were so poor as to be unusable (no LFB, no MTRR writeback cache combining, no VESA modes), but 320x200 8-bit worked. It's unknown if SBEMU works on it, as that wonderful program had not yet been released at the time, and I returned the laptop to Costco due to its dismally poor DOS video performace and compatibility.

Currently, I'm using an 8th gen Dell laptop as my "Frankenstein" machine (= modern enough to still boot and use Windows 10 and fast enough in networking speed, but also a good bare metal DOS laptop, which boots into DOS via USB memory stick and has excellent SBEMU compatibility, good graphics, plenty of speed 3.4 Ghz, LFB support and many VESA modes but can't enable MTRR writeback caching due to system freeze when I try). CpuSpd works, changing multiplier and hardware throttling is also supported for appropriate slowdown when needed for older games.

The price of your Thinkpad looks reasonable enough now, under $200 that it might make a perfect "modern" DOS laptop *if* it has VESA video support and MTRR writeback cache combining support. That would be perfect in every way, except for the 16x9 screen stretching the 4x3 DOS games of course.

I ran some benchmark tests from the benchmark pack from Phil's Computer Lab and updated my blog post with the results.

Video: https://www.youtube.com/watch?v=YMfRvdlx4pg

| Time  | Idx | Description                      | Real mode                               | Protected Mode              |
|-------|-----|----------------------------------|-----------------------------------------|-----------------------------|
| 00:06 | 1 | 3DBench (Superscape) 1.0 | 11.1 (incorrect) | |
| 00:23 | 2 | 3DBench (Superscape) 1.0c | 106.5 | |
| 00:43 | 3 | Chris's 3D Benchmark | 218.1 score, 130.8 FPS | |
| 01:10 | 5 | PC Player benchmark 320x200 8bpp | 139.4 | |
| 01:45 | 6 | PC Player benchmark 640x480 8bpp | 22.2 | |
| 02:19 | a | Doom min. details | 2134 gametics, 294 realtics, 253.04 FPS | |
| 02:43 | b | Doom max. details | 2134 gametics, 1799 realtics, 41.52 FPS | |
| 03:49 | c | Quake timedemo | 969 Frames, 7.5s, 128.4 FPS | |
| 04:10 | d | Quake timedemo 360x480 | 969 Frames, 21.7s, 44.7FPS | |
| 04:48 | m | TOPBENCH 3.8 | 290 | |
| 04:55 | n | Speedsys 4.78 | 2904.46 score | |
| 08:16 | e | Quake timedemo 640x480 | Crash (likely insufficient memory) | 969 frames, 167.4s, 5.8 FPS |
| 11:23 | l | Landmark System Speed Test 6.00 | Cannot start | Unreliable results |

Didn't check further VESA or MTRR unless there is a need to do so. This system seems to run the programs I want properly.

Reply 8 of 12, by zyzzle

User metadata
Rank Member
Rank
Member

Nice video. The screen is super bright and good colors, etc.

Try options "u" and "v" in the benchmark suite to see if you support MTRR writeback cache combining. If your system does, the Quake 640x480 timedemo will go from 5.8 fps to probably hundreds of fps!

Reply 9 of 12, by yeokm1

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2024-08-21, 09:54:

Nice video. The screen is super bright and good colors, etc.

Try options "u" and "v" in the benchmark suite to see if you support MTRR writeback cache combining. If your system does, the Quake 640x480 timedemo will go from 5.8 fps to probably hundreds of fps!

I tried both options u (MTRRLFBE) and v (FASTVID). Both did not work.

Enabling MTRRLFBE results in blank screen when I start Quake. Enabling any combination of the options in FASTVID results in a JEMM showing a string of exception messages, then internal stackoverflow, leading to a system halt after I start Quake. HIMEM.SYS does not work on this system hence I had to use JEMM memory manager in the first place.

Reply 10 of 12, by zyzzle

User metadata
Rank Member
Rank
Member

Please try HimemX, which enables only XMS memory from the JEMM package and do not use JEMM or JEMM386 (which enables EMS and XMS ). Also, you could try the NOEMS option in JEMM to disable EMS pageframe. But, I found for protected mode games, HimemX for XMS only is preferred. There's also another excellent XMS memory manager called QHIMEM2.SYS.

SBEMU works well in protected mode games without any EMS memory manager loaded, and the games are also faster (eg, Quake, Doom, etc). To enable real mode (16-bit) for SBEMU, you do need JEMM (= EMS memory manager).

I find FastVid and MTRRLFBE do not work if EMS memory is enabled and / or give errors as you experienced.

Reply 11 of 12, by yeokm1

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2024-08-22, 02:36:

Please try HimemX, which enables only XMS memory from the JEMM package and do not use JEMM or JEMM386 (which enables EMS and XMS ). Also, you could try the NOEMS option in JEMM to disable EMS pageframe. But, I found for protected mode games, HimemX for XMS only is preferred. There's also another excellent XMS memory manager called QHIMEM2.SYS.

SBEMU works well in protected mode games without any EMS memory manager loaded, and the games are also faster (eg, Quake, Doom, etc). To enable real mode (16-bit) for SBEMU, you do need JEMM (= EMS memory manager).

I find FastVid and MTRRLFBE do not work if EMS memory is enabled and / or give errors as you experienced.

I tried HIMEMX and similar issue. Enabling MTRRLFE results in blank screen with Quake. Any combination of FASTVID hangs the system although this time there is no visible error message. Didn't try QHIMEM2.SYS and likely will have similar results.

I stuck with JEMM is because I need SBEMU to work with some real mode games like Planet X3.

Reply 12 of 12, by zyzzle

User metadata
Rank Member
Rank
Member

OK, well then unfortunately MTRRs can't be enabled on your 10th Gen Intel system. I have similar problem on my 8th Gen (with onboard Intel graphics). Running mtrrlfbe with -wc option freezes the system. And so does running Fastvid. It must be some sort of vBIOS limitation or broken or locked BIOS / CSE in 8th gen and beyond Intel core systems with broken Intel onboard graphics. It's a severe limitation.

Thanks for testing and for posting your videos.