VOGONS


First post, by CrazyMoai

User metadata
Rank Newbie
Rank
Newbie

Hi there,
First poster here, sorry if not the right Subforum.

I've been building an old pc for dos and win98SE gaming using win98 and booting to DOS using PIF files when needed.

For this build I've used an 80GB IDE hard drive.

First I partitioned this drive using fdisk as a ~78GB FAT32 primary partition and a extended partition with a lonely 2GB FAT16 logical partition in case some older game needed the file system.
I do not know if the problem was present as this point as I had not used this second partition only the first one that worked fine.

Then I read that Lemmings 2 gives a checksum problem If your hard drive is over 500mb and as I wanted to play that game I erased the 2gb partition and built two logical partitions:
~1800mb FAT16
~200MB16.

From then on it has been madness.

- Dos reported it had 2 logical partitions, however windows 98 reported 3.
- I erased everything from windows using fdisk.
- Then windows was fine but DOS saw the extended partiton but no logical partitions.
- Used FDisk to remove the extended partition. Went to windows -> no extended partition.
- Back to dos. create 2 logical partitions. Now windows sees 4 logical partitions 2 pairs of 1800 2pairs of 200.
- I erase everything in both windows and DOS.
- Go to DOS create the extended partition with 2 logical partitions. Created a test.txt file in each to check.
- Windows sees the partitions but does not see test.txt. I create test2.txt and go back to DOS. DOS sees test.txt but not test2.txt.
- For completeness C:(the primary partition) still works fine.

That is the point I'm currently in. Anyone has any clue about what is happening? Is the logical drive information stored in some file that may diverge for windows98 and its DOS7.1 implementation?

Thanks in Advance.

Last edited by CrazyMoai on 2020-01-07, 23:08. Edited 1 time in total.

Reply 1 of 5, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Try to examine your partition sectors with a disk editor.

My PHYSICAL partition scheme is:
500 M PRIMARY FAT16 DOS
5700 M PRIMARY NTFS WIN2K
2000 M EXTENDED WITH 2000 M LOGICAL FAT16
-- here 1023 255 63 CHS border
66000 M PRIMARY FAT32 WIN9X

I use the boot manager from Windows 2000.
During the installation process I have had to hide partitions by changing partition type with my disk editor.
To be able to boot from Win9x too using Windows 2000 / XP boot manager, the Win9x partition has to be BEFORE the DOS partition. Otherwise Win9X won't assign C to its boot partition.

My LOGICAL partition scheme is:
Partition slot 1: 66000 M PRIMARY FAT32 WIN9X
Partition slot 2: 5700 M PRIMARY NTFS WIN2K BOOTABLE
Partition slot 3: 2000 M EXTENDED
Partition slot 4: 500 M PRIMARY FAT16 DOS

Last edited by Disruptor on 2020-01-11, 21:49. Edited 2 times in total.

Reply 2 of 5, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
CrazyMoai wrote on 2020-01-06, 17:06:

Then I read that Lemmings 2 gives a checksum problem If your hard drive is over 500mb

Where did you read that? I understood that it needed a FAT16 partition at the start of the drive, but I've always been fuzzy on the details. In any case, the easy solution would be to just use a crack and be done with it.

As for your particular problem, I am unclear if "erase everything" means you wiped the drive completely or something else.

Do you have your BIOS configured to auto-detect the drive, or did you specify the parameters manually?

Reply 3 of 5, by CrazyMoai

User metadata
Rank Newbie
Rank
Newbie

Thanks for the prompt input! After seeing the example drive I suddently understood my mistake.

I'll explain it here in case anyone else runs into the same pitfall.

Although I'm a programmer myself I have no experience with DOS and I made two really wrong assumptions:

First I assumed that the DOS primary partition had to be physically BEFORE the extended partiton. Your example show me that this was not the case.

Second I assumed that the prompt fdisk throws on opening about suport for large disk was only refering to FAT32 support. Not LBA support as I understand now it is doing (please, Correct me if I'm wrong). Reading you made me automatically click about this one.

So while when I made the primary partition i had fdisk in large disk mode I was setting it to false and creating FAT16 non LBA partitions way beyond the CHS ~8GB limit. I do not know how this is even allowed but it threw my system direcly into undefined behaviour land.

The fix was simple. Create the extended partition, and therefore the two logical FAT16 drives, BEFORE the primary one.

Jorpho wrote on 2020-01-07, 18:25:

Where did you read that?

In the VOGONS wiki : https://www.vogonswiki.com/index.php/List_of_ … sensitive_games

I did not know that there is a patch for it but in any case I'll keep the small partition in case another more obscure piece of software suffers the same problem.

Thanks again!

Reply 4 of 5, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Some hints:
To be able to access the extended partition (type 05) from classic DOS, you should create it with DOS fdisk.
Classic DOS needs CHS style partitions (type 05 or 06) that have to be Cylinder/Head aligned.
A LBA style extended partition (type 0F) cannot be accessed by classic DOS.
I do not know what happens when you have a CHS style extended partition (05) AND a LBA style extended partition (0F) on the same drive.
Windows Vista and above creates partitions in LBA mode with 1 MB alignment. This is good for correct alignment of discs with 4 KB sectors, but do not use this for vintage projects.
Use MBR partitions instead of GPT partitions.
Format the partitions and give them volume labels (like EXT1-FAT16), especially when you have doubts about the drive letter assignment.

https://en.wikipedia.org/wiki/Partition_type
https://en.wikipedia.org/wiki/Partition_alignment

Reply 5 of 5, by dr_st

User metadata
Rank l33t
Rank
l33t

I have a similar setup (Win98 on a 80GB IDE drive), but because of the way the system specs have developed historically (originally had DOS, then Win9x but on a smaller drive), the partitioning scheme has a single FAT16 2GB primary partition, then an extended partition with 3 more FAT16 volumes, followed by 2 FAT32 volumes. All DOS games sit on the FAT16 volumes, whereas Windows and all Windows apps/games are on the FAT32 volumes.

Probably would have been OK with just a single FAT16 primary partition, an an extended partition with a single FAT32 volume.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys