VOGONS


First post, by Shponglefan

User metadata
Rank l33t
Rank
l33t

I'm trying to work on setting up an Epson Equity II+ 286 computer.

I'm attempting to see if I can use user-definable hard disk settings so I can use a CF card directly with its own internal controller / bios.

The Epson setup program had hard drive types from 1 to 47, however type 47 (and a number of others) are listed as "reserved". I similarly tried the Generic Setup (GSETUP). It lets me pick type 47, but all the parameters are set to zero and there is no option to adjust them.

Is it safe to assume that on this Epson BIOS, that type 47 is not infact a user-definable hard disk option given there is no way to adjust these parameters?

(I also tried a Pheonix BIOS setup program. It would also let me pick Type 47, but provided no option to view or set the parameters.

Attachments

  • epson bios setup.jpg
    Filename
    epson bios setup.jpg
    File size
    288.45 KiB
    Views
    726 views
    File license
    Fair use/fair dealing exception
  • epson bios gsetup.jpg
    Filename
    epson bios gsetup.jpg
    File size
    487.83 KiB
    Views
    726 views
    File license
    Fair use/fair dealing exception

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 2 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++

It's maybe not very helpful, but you can use fake CHS settings just fine, often.

The only precondition is that the fictitious values are within the limits of both the CF cards (capacity) and the PC BIOS.

That means 1023 cylinders, 16 heads (numbered 0-15 sometimes), 63 sectors.

Or in other words, just choose a setting that's closest to your CF card.

If you're having an older (vintage) CF card from the early 2000s, with say, 32MB, 64MB or 128MB then this workaround is not so bad.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 10, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

or make a new modified bios of acceptable setting like 200MB and let ATA hard drive do the translation even the hard drive is a 8GB. Does work this way, boot up the modified computer and partition then format.

Cheers,

Great Northern aka Canada.

Reply 4 of 10, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Shponglefan wrote on 2022-09-25, 18:10:

Is it safe to assume that on this Epson BIOS, that type 47 is not infact a user-definable hard disk option given there is no way to adjust these parameters?

Yes

Reply 5 of 10, by Shponglefan

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2022-09-25, 18:25:
It's maybe not very helpful, but you can use fake CHS settings just fine, often. […]
Show full quote

It's maybe not very helpful, but you can use fake CHS settings just fine, often.

The only precondition is that the fictitious values are within the limits of both the CF cards (capacity) and the PC BIOS.

That means 1023 cylinders, 16 heads (numbered 0-15 sometimes), 63 sectors.

Or in other words, just choose a setting that's closest to your CF card.

If you're having an older (vintage) CF card from the early 2000s, with say, 32MB, 64MB or 128MB then this workaround is not so bad.

Fortunately I do have some older CF cards in the 32 to 128MB range.

That said, does using fake values limit which computers the CF card can be used on? I do want the ability to connect the CF card to my modern PCs for file transfers, and/or possibly use between other older machines.

If I setup a CF card with incorrect values and then partition and format it, would it impact being able to swap it between machines?

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 6 of 10, by Shponglefan

User metadata
Rank l33t
Rank
l33t
jakethompson1 wrote on 2022-09-25, 18:16:

If you want it bad enough, you could change one of the entries in the FDPT in the BIOS ROM to match the CF card you want to use, and re-flash a BIOS chip.

I am assuming this would involve hex editing the BIOS files directly? I'd presumably need to be able to identify where in the file those values are stored?

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards

Reply 7 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Shponglefan wrote on 2022-09-26, 13:41:
Fortunately I do have some older CF cards in the 32 to 128MB range. […]
Show full quote
Jo22 wrote on 2022-09-25, 18:25:
It's maybe not very helpful, but you can use fake CHS settings just fine, often. […]
Show full quote

It's maybe not very helpful, but you can use fake CHS settings just fine, often.

The only precondition is that the fictitious values are within the limits of both the CF cards (capacity) and the PC BIOS.

That means 1023 cylinders, 16 heads (numbered 0-15 sometimes), 63 sectors.

Or in other words, just choose a setting that's closest to your CF card.

If you're having an older (vintage) CF card from the early 2000s, with say, 32MB, 64MB or 128MB then this workaround is not so bad.

Fortunately I do have some older CF cards in the 32 to 128MB range.

That said, does using fake values limit which computers the CF card can be used on? I do want the ability to connect the CF card to my modern PCs for file transfers, and/or possibly use between other older machines.

If I setup a CF card with incorrect values and then partition and format it, would it impact being able to swap it between machines?

Oh, well, I don't know exactly. It depends on the PC and Operating System in question.

The drive geometry used is described in the partition record, which FDISK created.
Normally, if you're using an USB card reader, the OS should be able to use this information and things are fine.

If you use a real IDE port and an IDE-CF adapter in your modern PC, the BIOS *might* interfere during boot up, does its own LBA mechanism.
For the better or worse, dunno. 🤷‍♂️

The method/workaround I mentioned originated from the old days of early MFM/IDE HDDs.

So it works -partially- even with ancient hardware:
You can use 4 heads, for example, if the HDD has 6. Or you can use 128 Cylinders, if the HDD has more than those. Using less, a subset, always works.

Starting with early IDE drives, not exceeding the capacity was the primary thing that mattered.

Back then, around 1989, IDE drives of higher capacity started to use external values (Logical CHS, L-CHS), for communication with the host that differed from the real, physical organization (Physical CHS, P-CHS).

Even though they didn't support LBA yet, they used a translation mechanism.
It just wasn't standardized yet, varied between models and manufacturers.

"The solution was sector translation: the drive "lies" to the controller,
acting as if it has, say, 10 heads and 1024 cylinders when it actually has 5 heads and 2048 cylinders.
As long as the total space is correct, the BIOS can't tell the difference and there is no need for driver software.
A more advanced form of sector translation allows drive manufacturers to put extra sectors on the outer tracks
(which have more room) but still juggles the extra space back into simple terms that the BIOS can understand.

Nearly all drives over about 60Mb use sector translation.
"
Source: http://redhill.net.au/o/glos2.html#sectrans

Some/many also people used the "correct" logical values written on the HDD's label (there was a chart or table sometimes, with different sets of valid values) .
This provided the total capacity of the HDD on PCs with BIOS limitations or older software.

However, technically, other settings were usable with these HDDs, as well.
These HDDs had little on-board computers, which even had a debug port for a serial terminal.
The HDD's firmware was kind of intelligent enough to handle other random values reported by the computer.

https://www.os2museum.com/wp/can-this-conner-talk/

In essence, LBA is just a standardized way of using fake/logical values.
It's a translation-mechanism, so to say.
To old software, there's no difference between CHS and LBA really, they're just sets of numbers.

In the past, a few incomaptible LBA versions existed, however (-> DDOs).
- That's why older versions of, say, XT-IDE Universal BIOS are incompatible with newer versions, for example - different translation-mechanism.
Upgrading the XT-IDE BIOS thus requires re-partitioning of the previously used CF cards.

MS-DOS 6.22 and before always use CHS, even if the BIOS and HDD agree on using LBA.
MS-DOS 7 was the first DOS to be "LBA-aware", whatever that means.

CF cards and other flash media rather think in continuous sector numbers, in which their absolute addresses can be formed in different ways (CHS, E-CHS, LBA).

And so, the CF card just essentially uses what's trown at it. It doesn't judge.
However, it reports it official drive geometry, nevertheless - which is also used to tell maximum capacity.

Anyway, that's just a simple explanation.
Or a try of providing one. The underlying concept isn't as complicated as it sounds. 😅
I'm pretty sure what I wrote it's not complete or fully correct, I'm afraid.
If some else can explain it, please go on. 🙂👍

Last edited by Jo22 on 2022-09-26, 15:38. Edited 2 times in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 10, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Shponglefan wrote on 2022-09-26, 13:42:
jakethompson1 wrote on 2022-09-25, 18:16:

If you want it bad enough, you could change one of the entries in the FDPT in the BIOS ROM to match the CF card you want to use, and re-flash a BIOS chip.

I am assuming this would involve hex editing the BIOS files directly? I'd presumably need to be able to identify where in the file those values are stored?

Yes and yes. It shouldn't be that hard to locate the table. I believe it was somewhat standardized, performing the suggested mod was a thing back in the day

Reply 10 of 10, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
Shponglefan wrote on 2022-09-26, 13:42:
jakethompson1 wrote on 2022-09-25, 18:16:

If you want it bad enough, you could change one of the entries in the FDPT in the BIOS ROM to match the CF card you want to use, and re-flash a BIOS chip.

I am assuming this would involve hex editing the BIOS files directly? I'd presumably need to be able to identify where in the file those values are stored?

I would try and get the BIOS up and running in PCem for practice. AMI suggests that all AT-compatible BIOSes should try and keep the table at F000:E401. If you change anything you will also have to fix the checksum.