VOGONS


Reply 40 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I was able to determine why NT4 would boot but not W95c when using the XTIDE BIOS. For Win95, I think something goes wrong with the "Remove other hard drives" feature https://www.xtideuniversalbios.org , which creates a dummy HDD for Windows or something of that nature. To get Win95 to boot, the computer's BIOS must have some entry for the primary HDD, even if it contains the wrong config values. Once the computer's BIOS has something listed, Win95c boots as it should. I was under the impression that we could leave the computer's BIOS to "none" for all HDDs, but it seems the Biostar MB-8433UUD w/XTIDE doesn't like that. Perhaps if I burned another XTIDE EEPROM with "Remove other hard drives" set to "No" I could boot W95 with the Biostar's HDD selection to "none"?

Now that I got it working on the Lo-tech ISA board, I'll see if I can get it working on the 3Com 3c515-TX. Curiously, the Lo-tech ISA board comes with a 128 Kbyte EEPROM chip, although I think 64K is the max supported. Why did they do that?

Plan your life wisely, you'll be dead before you know it.

Reply 43 of 64, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
feipoa wrote on 2021-08-05, 12:39:

Now that I got it working on the Lo-tech ISA board, I'll see if I can get it working on the 3Com 3c515-TX. Curiously, the Lo-tech ISA board comes with a 128 Kbyte EEPROM chip, although I think 64K is the max supported. Why did they do that?

With all the motherboard BIOS upgrades I've been doing, I've found that at least at DigiKey, 28-pin (64KB) chips are only available in EPROM format, while 32-bin (128KB) chips are available as EEPROMs (and are also cheaper). So perhaps for parts availability.

Reply 44 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Huh, I didn't realise 32K DIP EEPROMs were obsoleted.

After further testing with XTIDE on the Lo-tech card, I have run into something curious. When I boot to my CF card with the XTIDE BIOS, my DOS hdd benchmark performance tanks, even though the transfer mode in the MB's BIOS is set to PIO-4.

For example, using the MB's BIOS and the XTIDE removed, in Speedsys:
Buffered read speed = 4805 KB/s
Linear read speed = 4770 KB/s

Using the XTIDE BIOS, in Speedsys
Buffered read speed = 1282 KB/s
Linear read speed = 1245 KB/s

What happened here? Is XTIDE overwriting my PIO mode selection and setting it to pre-PIO-0 ? Even PIO-0 mode on this MB gets around 3250 KB/s, so...?

Plan your life wisely, you'll be dead before you know it.

Reply 45 of 64, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
feipoa wrote on 2021-08-06, 12:23:

Using the XTIDE BIOS, in Speedsys
Buffered read speed = 1282 KB/s
Linear read speed = 1245 KB/s

Do you have shadowing enabled in the BIOS for the region of memory where the XT-IDE BIOS is located?

Reply 46 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++
jakethompson1 wrote on 2021-08-07, 02:42:
feipoa wrote on 2021-08-06, 12:23:

Using the XTIDE BIOS, in Speedsys
Buffered read speed = 1282 KB/s
Linear read speed = 1245 KB/s

Do you have shadowing enabled in the BIOS for the region of memory where the XT-IDE BIOS is located?

The motherboard's BIOS doesn't have an option to enable/disable any of the memory ranges listed on the Lo-tech card. I tried all memory ranges on the Lo-tech and D000 seems to work the best. If the motherboard's BIOS wasn't already shadowing D000, wouldn't the XTIDE BIOS not load at all?

Plan your life wisely, you'll be dead before you know it.

Reply 47 of 64, by weedeewee

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2021-08-07, 04:00:

The motherboard's BIOS doesn't have an option to enable/disable any of the memory ranges listed on the Lo-tech card. I tried all memory ranges on the Lo-tech and D000 seems to work the best. If the motherboard's BIOS wasn't already shadowing D000, wouldn't the XTIDE BIOS not load at all?

Shadowing isn't required for the rom to load. Shadowing just loads the rom into ram, thus speeding up any accesses to it, since it no longer needs to go over the slower peripheral bus to access the data and can directly access the data from ram.

Also, your mb bios can set the shadow option from C800 to DFFF in 32k sections, all of which you can also set on your xtide rom card, nl C800, D000, D800.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 48 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++
weedeewee wrote on 2021-08-07, 08:41:

Also, your mb bios can set the shadow option from C800 to DFFF in 32k sections, all of which you can also set on your xtide rom card, nl C800, D000, D800.

How do I set my MB's BIOS to shadow the option from C800 - DFFF ? Do I need to modify the BIOS, if so, can it be done in Modbin? At present, the only visible option to the user in the MB's BIOS are:

C8000-CBFFF Shadow - Enabled/Disabled
CC000-CFFFF Shadow - Enabled/Disabled
D0000-D3FFF Shadow - Enabled/Disabled
D4000-D7FFF Shadow - Enabled/Disabled
D8000-DBFFF Shadow - Enabled/Disabled
DC000-DFFFF Shadow - Enabled/Disabled

Note the extra digit in these addresses compared to the address options on the XTIDE ROM card. It is possible that the MB's BIOS has ROM addresses C000 thru F800 already shadowed by default, but the option not visible.

Last edited by feipoa on 2021-08-07, 09:58. Edited 1 time in total.

Plan your life wisely, you'll be dead before you know it.

Reply 49 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I posted about my issue with speed in the vintage computer forum, but the response was that PCI IDE controllers are not supported.
https://www.vcfed.org/forum/forum/technical-s … Universal-BIOS=

Plan your life wisely, you'll be dead before you know it.

Reply 50 of 64, by weedeewee

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2021-08-07, 09:11:
How do I set my MB's BIOS to shadow the option from C800 - DFFF ? Do I need to modify the BIOS, if so, can it be done in Modbin? […]
Show full quote
weedeewee wrote on 2021-08-07, 08:41:

Also, your mb bios can set the shadow option from C800 to DFFF in 32k sections, all of which you can also set on your xtide rom card, nl C800, D000, D800.

How do I set my MB's BIOS to shadow the option from C800 - DFFF ? Do I need to modify the BIOS, if so, can it be done in Modbin? At present, the only visible option to the user in the MB's BIOS are:

C8000-CBFFF Shadow - Enabled/Disabled
CC000-CFFFF Shadow - Enabled/Disabled
D0000-D3FFF Shadow - Enabled/Disabled
D4000-D7FFF Shadow - Enabled/Disabled
D8000-DBFFF Shadow - Enabled/Disabled
DC000-DFFFF Shadow - Enabled/Disabled

Note the extra digit in these addresses compared to the address options on the XTIDE ROM card. It is possible that the MB's BIOS has ROM addresses C000 thru F800 already shadowed by default, but the option not visible.

It's just a matter of notation. the C800-DFFF you see is actually C8000 - DFFFF . no modding required.
Your system bios is located at F0000-FFFFF which is 1MB minus 64K up to 1MB.
remember the 640KB = A0000, zero up to 640K is your dos memory. then there's 64K that gives access to the VGA RAM, A0000 - AFFFF. Then CGA/MDA. VGA bios @ C0000 if my memory serves me. C8000 was often used for the first hdd controller rom in an XT, etc... E0000:EFFFF often used for the EMS Page Frame.

I'd say your rom card is at fault here for the confusion since the adress you're setting is actually C8000 not C800.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 51 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++

So the table on the Lo-tech website is also wrong? https://www.lo-tech.co.uk/wiki/Lo-tech_8-bit_ … Address_Mapping Or is there another explanation for this? The XTIDE configuration and EEPROM writing software for DOS also indicate these same truncated addresses.

So you are saying that when I select D000 as the address on the ROM card that I should enable ROM shadowing in the MB's BIOS for: D0000-D3FFF and D4000-D7FFF ? I have done so now and it appears to have solved my speed problem! The CF cards now benchmark where they should. I'm left baffled by the truncated address listings.

Plan your life wisely, you'll be dead before you know it.

Reply 52 of 64, by weedeewee

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2021-08-07, 13:41:

So the table on the Lo-tech website is also wrong? https://www.lo-tech.co.uk/wiki/Lo-tech_8-bit_ … Address_Mapping Or is there another explanation for this? The XTIDE configuration and EEPROM writing software for DOS also indicate these same truncated addresses.

So you are saying that when I select D000 as the address on the ROM card that I should enable ROM shadowing in the MB's BIOS for: D0000-D3FFF and D4000-D7FFF ? I have done so now and it appears to have solved my speed problem! The CF cards now benchmark where they should. I'm left baffled by the truncated address listings.

It's been too long for me to give a correct explanation. Just go with it and know it has something to do with the x86 real mode memory addressing. Segment Address etc blah.

djeezes you made me feel old 🤣

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 53 of 64, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
feipoa wrote on 2021-08-07, 13:41:

So you are saying that when I select D000 as the address on the ROM card that I should enable ROM shadowing in the MB's BIOS for: D0000-D3FFF and D4000-D7FFF ? I have done so now and it appears to have solved my speed problem! The CF cards now benchmark where they should. I'm left baffled by the truncated address listings.

Ah, that was my suspicion when I was asking about shadowing. This means the IDE controller and PIO speed were likely right all along; what was causing the slowdown was that the CPU was having to read instructions from the ROM over the ISA bus, one byte at a time, rather than copying the ROM to RAM as shadowing would do. So it was operating somewhat as if the turbo button were automatically pushed before making an IDE access and un-pushed every time it was done with IDE.

The truncated address issue is that your BIOS is referring to segments by what would be loaded into the CS register. In real mode, the segment gets multiplied by 16 and the offset gets added to calculate the linear address. The Low-Tech documentation was apparently referring to them by linear address, after this multiply-and-add is done. That is what weedeewee is referring to. For this reason, a 16-byte memory region is sometimes referred to in DOS as a "paragraph" -- get it: character, word, paragraph, page?

Reply 54 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++

What I find frustrating is that neither the Lo-tech page nor the XTIDE universal BIOS readme page made reference to this.

Do I need to shadow D0000-D3FFF and D4000-D7FFF or just D0000-D3FFF ?

Plan your life wisely, you'll be dead before you know it.

Reply 55 of 64, by aitotat

User metadata
Rank Member
Rank
Member
feipoa wrote on 2021-08-07, 22:33:

Do I need to shadow D0000-D3FFF and D4000-D7FFF or just D0000-D3FFF ?

In x86 real mode the address is generated from segment register + offset register. CPU generates the final address by shifting the segment register contents left 4 bits (=multiply by 16 = 10 in hecadecimal) and adding offset to it to form 20 bit address for the bus. For example we have segment C800 and offset 0 it generates to:

 C800
+ 0
------
C8000

This if what your motherboard BIOS displays, whole 20 bit address instead of just the segment that is referenced by XTIDE Universal BIOS and cards. And on many motherboard BIOS setups there is only the segment part displayed so in this case C800 and C8000 are the really the same thing.

If you are using 8kB build of XTIDE Universal BIOS that means 8192 bytes or 2000 bytes in hexadecimal. Since addressing starts from zero, the final address would be segment C800 + offset 1FFF. Lets see the complete address in the way your motherboard BIOS displays it:

 C800
+ 1FFF
------
C9FFF

So you would need to enable shadow option to cover C8000-C9FFF. The first option of C8000-CBFFF covers that easily. In fact it is enough for 16kB (and the large build of XTIDE Universal BIOS is only 10k at the moment) since 16384 bytes is 4000 in hexadecimal so the last offset would be 4000 - 1 = 3FFF. Lets add the segment to it:

 C800
+ 3FFF
------
CBFFF

So you only need to enable shadow for C8000-CBFFF if the ROM card is configured to C800 or C8000. Or if the card is configured to D000 or D0000, then enable only D0000-D3FFF. I recommend to use segment C800 since it locates right after VGA bios and so it allows continuous area for unused shadows ram locations to be converted to UMBs.

Reply 56 of 64, by aitotat

User metadata
Rank Member
Rank
Member
feipoa wrote on 2021-08-07, 09:18:

I posted about my issue with speed in the vintage computer forum, but the response was that PCI IDE controllers are not supported.
https://www.vcfed.org/forum/forum/technical-s … Universal-BIOS=

It might not matter if XTIDE Universal BIOS does not have native support for that particular IDE controller. Early VLB IDE controllers are not software configurable so you would need to set PIO mode with jumpers (and those cards support PIO up to 2 only) and enable 32-bit transfers from motherboard BIOS setup if there happens to be one. You can configure XTIDE Unversal BIOS to use 32-bit transfers for such cards. Set device type to 32-bit with xtidecfg.com.

But in your case the IDE controller is software, not hardware, configurable only. It may not matter since you can configure it the same way as if you would use drive overlay software. So setup the motherboard bios correctly for maximum PIO mode etc and maximum drive capacity it supports. Then configure XTIDE Universal BIOS to use 32-bit transfers and make sure the "Remove other hard drives" is enabled from boot settings.

Reply 57 of 64, by leonardo

User metadata
Rank Member
Rank
Member
feipoa wrote on 2021-06-09, 20:02:

… set 100 GB as partition 3 from within NT4 to use for storage space, then set 100 GB as partition 4 from within Win95 to use for storage space ?

I’m working on an update to the Windows 95 set-up guide that I originally posted here in 2013. Back then, even with all the updates, one could not use HDDs or partitions larger than 32GB. Have you accounted for this in your plan or is there a new hack/patch that I don’t know about?

I thought I’d point out since you’re clearly going into a lot of trouble for the set up here.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 58 of 64, by weedeewee

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2021-08-07, 22:33:

What I find frustrating is that neither the Lo-tech page nor the XTIDE universal BIOS readme page made reference to this.

They're probably going from the assumption that it is general knowledge. At least it was many a year ago. 😁

Do I need to shadow D0000-D3FFF and D4000-D7FFF or just D0000-D3FFF ?

Depends. is the XTIDE 16k or 32k ?
Shadowing a larger area shouldn't matter for the rom, though it might matter for any UMBs you might want to retain.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 59 of 64, by feipoa

User metadata
Rank l33t++
Rank
l33t++

aitotat and jakethompson1, thank you for this clarification. So...

XTIDE address + a 4-bit left-shift = MB's BIOS address, where the XTIDE address is referred to as the "segment register" and the MB's BIOS address is referred to as the "x86 real mode address". Is this right?

To me, a 4-bit left shift from a shift register might be easier observed like:
C800h = 1100100000000000, left shift 4 bits = 11001000000000000000 = C8000h , which is 20-bits.
or
C800h = 51200 * 16 = 819200 = C8000h. I cannot really visualise HEX multiplication.

Your example of C800 + 3FFF = CBFFF had me confused because those two hex numbers when added equal 107FF, not CBFFF. I think you meant C8000 + 3FFF = CBFFF.

The r614 ide_386l BIOS is 10119 bytes in size, which is 2787h. Thus the MB's shadow ROM range needs to be C8000 + 2787 - 1 = CA786 in hex, which easily fits. It looks like each shadow range region can accommodate 16 Kbyte ROMs. So for fitting the shadow range, it only matters the amount of data inside the EEPROM, not the EEPROM size used? If I use a 32 Kbyte EEPROM on a 3c515tx ISA card, I still only need to shadow 10119 bytes, not C8000-CBFFF and CC000-CFFF, right?

I will try it on C8000 instead of D0000. Your comment on continuous unused UMB locations does feel cleaner.

@leonardo

What is this 32 GB limitation for Win95 that you are referring to? I am using Windows 95 OSR 2.5 and have not had any issues with 100 GB partitions. Maybe the limitation you are referring to is with Windows 95a?

I currently have the system setup with a 120 GB Maxtor Diamond Max 10 going through a Promise Ultra100 PCI IDE controller. In order to free up that PCI slot, I am switching to using the MB's onboard IDE controller. I don't want to format my Maxtor HDD and reinstall all my software, which is what I would have to do if I wasn't using the XTIDE BIOS because the MB's BIOS is limited to 8 GB, or 32 GB if I want to give up my existing partitioning. With XTIDE loaded, I am able to boot that same 120 GB maxtor IDE HDD using the MB's onboard IDE controller and I don't have to reinstall everything. The existing LBA translation scheme seems to work once XTIDE is loaded.

I have Win95c installed on several machines, usually along side NT4 or NT 3.5 and all my HDDs are 120 GB.

Plan your life wisely, you'll be dead before you know it.