VOGONS


First post, by brian.t

User metadata
Rank Newbie
Rank
Newbie

I'm working on restoring my first computer. I have a Jamicon KMC-40A motherboard with AMI bios and a 40 MHz TI TX486DLC processor and 32MB RAM and 256KB cache. I've tested all the default 386 builds of XTIDE (latest version r625) for a 16-bit Multi I/O card. It was able to (accidentally) boot a previously installed Windows 98 on an 8GB compact flash card which XTIDE detected.

However, when I try to boot from the floppy "A" (Gotek floppy emulator with 1.44MB formatted disks) using the XTIDE boot menu AND when a hard disk was detected by XTIDE, it either hangs or the floppy drive reads back corrupted data during bootup. This problem goes away if I go into the BIOS and disable "Internal Cache Memory". It doesn't matter if "External Cache Memory" is enabled or disabled. It also doesn't matter if the XTIDE option ROM area is shadowed or not.

I have no problems booting from the floppy when "Internal Cache Memory" is Enabled if I hold down CTRL during bootup to disable XTIDE, or if I unplug the hard drive so no disks get detected by XTIDE.

The computer passes memtest86+ overnight with all caches enabled in the BIOS.

Just wondering if this might be a bug in XTIDE that I should report or if there are any other suggestions. Thank You.

Reply 1 of 6, by Deunan

User metadata
Rank l33t
Rank
l33t

It's not XTIDE bug, nor is it a problem with your memory sticks or cache chips. You are not flushing L1 properly on DMA cycles. Which is most likely due to either incorrect BIOS settings for the DLC or just plain lack of proper support - I've seen mobos that offer options like proper FLUSH instead of BARB but the actual pin on CPU socket is not connected to anything.

Try BARB if you have that option, along with Hidden Refresh for RAM or otherwise you'll get performance penalty instead of any gains from having L1 enabled. If your BIOS does not have such options your only reasonable course of action (unless you want to mod the mobo, and you know how as well because discovering where, if at all, the FLUSH# pin can be connected is often rather difficult) is to have L1 disabled during boot and only configure and enable it via Cyrix utility program in AUTOEXEC.BAT

EDIT: And since cache flushing doesn't work properly there is a good change A20 gate signal is also not connected to the CPU socket...

Reply 2 of 6, by Horun

User metadata
Rank l33t++
Rank
l33t++

"boot a previously installed Windows 98" on a 386 ? does not matter if a 486DLC, does not support win98 or am I missing something.
Does it boot proper with a real floppy drive and no XT-IDE and CF card ? inquiring minds want to know...

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 3 of 6, by brian.t

User metadata
Rank Newbie
Rank
Newbie
Deunan wrote on 2023-06-30, 22:39:

It's not XTIDE bug, nor is it a problem with your memory sticks or cache chips. You are not flushing L1 properly on DMA cycles. Which is most likely due to either incorrect BIOS settings for the DLC or just plain lack of proper support - I've seen mobos that offer options like proper FLUSH instead of BARB but the actual pin on CPU socket is not connected to anything.

Try BARB if you have that option, along with Hidden Refresh for RAM or otherwise you'll get performance penalty instead of any gains from having L1 enabled. If your BIOS does not have such options your only reasonable course of action (unless you want to mod the mobo, and you know how as well because discovering where, if at all, the FLUSH# pin can be connected is often rather difficult) is to have L1 disabled during boot and only configure and enable it via Cyrix utility program in AUTOEXEC.BAT

EDIT: And since cache flushing doesn't work properly there is a good change A20 gate signal is also not connected to the CPU socket...

Thanks for your advice. I disabled Internal cache in the bios and am now using the cyrix.exe utility instead. Attached image shows "cyrix -q" bootup defaults. I was testing various configurations of the various 4 inputs (A20M, BARB, FLUSH, KEN) using "2 way associative" cache mode and the cpu benchmark score of sysinfo.exe. Not sure if this is insightful:

A20M & BARB = 60.7
A20M & FLUSH = 62.4
A20M & FLUSH & BARB = 60.7
A20M only = 62.4
all 4 disabled = 62.4
KEN only = 46.2
all 4 enabled = 46.2
Internal cache disabled = 46.2.
A20M & FLUSH & BARB & cache mode=direct mapped = 50.8

I've also attached images of my bios settings. If you see anything that I may have set wrong please let me know. Would you recommend I enable BARB for stability despite the very minor performance drop? Should I disable the other 3 inputs? Also, forgot to mention that I also have a ULSI math co-processor installed but that does not seem to be causing any conflicts with the 486DLC.

Reply 4 of 6, by brian.t

User metadata
Rank Newbie
Rank
Newbie
Horun wrote on 2023-07-01, 02:46:

"boot a previously installed Windows 98" on a 386 ? does not matter if a 486DLC, does not support win98 or am I missing something.
Does it boot proper with a real floppy drive and no XT-IDE and CF card ? inquiring minds want to know...

I had a 8GB compact flash card in there that I was testing XTIDE with that had an old 98 installation on it. I accidentally booted from C and let go. I was surprised it worked.

With the internal cache enabled it could not boot a real floppy or the floppy emulator when XTIDE was loaded and detected a hard drive. With the internal cache disabled floppy booting works fine whether or not XTIDE is loaded.

Reply 5 of 6, by Deunan

User metadata
Rank l33t
Rank
l33t
brian.t wrote on 2023-07-01, 19:19:

If you see anything that I may have set wrong please let me know.

Do not enable FLUSH or KEN. Your BIOS lacks most DLC configuration options so good chances are the support is limited to correct CPU detection and basic zone configuration. Most likely these two signals are not connected and enabling them will only result in semi-random CPU operation (depending on which transistor is more leaky and which state, L or H, ends up on the pin internally).

With the Cyrix tool enable BARB input and L1 via CR0, the zones look OK for a PC mobo. If you start getting crashes with programs using memory above 1MiB (even DOS loaded high with HIMEM) toggle Fast A20 Gate option to Disabled. If that doesn't cure it, you'll have to use the option to leave first 64k of each megabyte of memory non-cacheable with the software tool.
And agan, set Hidden Refresh or you will suffer higher penalty for BARB option. Well, unless you are using Tseng VGA, these seem not to like it all that much.

Reply 6 of 6, by brian.t

User metadata
Rank Newbie
Rank
Newbie
Deunan wrote on 2023-07-01, 21:50:
Do not enable FLUSH or KEN. Your BIOS lacks most DLC configuration options so good chances are the support is limited to correct […]
Show full quote
brian.t wrote on 2023-07-01, 19:19:

If you see anything that I may have set wrong please let me know.

Do not enable FLUSH or KEN. Your BIOS lacks most DLC configuration options so good chances are the support is limited to correct CPU detection and basic zone configuration. Most likely these two signals are not connected and enabling them will only result in semi-random CPU operation (depending on which transistor is more leaky and which state, L or H, ends up on the pin internally).

With the Cyrix tool enable BARB input and L1 via CR0, the zones look OK for a PC mobo. If you start getting crashes with programs using memory above 1MiB (even DOS loaded high with HIMEM) toggle Fast A20 Gate option to Disabled. If that doesn't cure it, you'll have to use the option to leave first 64k of each megabyte of memory non-cacheable with the software tool.
And agan, set Hidden Refresh or you will suffer higher penalty for BARB option. Well, unless you are using Tseng VGA, these seem not to like it all that much.

Thanks I set BARB and A20M only and disabled the FLUSH and KEN using the cyrix utility. I enabled Hidden Refresh in the bios and that improved the sysinfo score from 60.7 to 65.4. It also improved the 3d benchmark score as well. I'm not using a Tseng VGA but rather a Trident VGA. I will keep an eye on if any future issues arise to determine if the A20 stuff needs disabled. Not sure if the internal cache issues were related to my occasional Turbo LED flickering issues I was having. Thanks again for your help.