Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
bocke

28.01.2024, 18:34
 

Book8088's CF2IDE stumps Freedos boot (Users)

Well, I tired multiple versions of 16-bit FreeDOS kernels on Book8088 2.0, but they all get stuck at InitDisk function. It seems that InitDisk has problem with CF2IDE and detects the wrong disk parameters.

It came preinstalled with MS-DOS 6.22 and that works ok. I just wanted to put something lighter like a slimmer version of FreeDOS 1.3 or SvarDOS.

Also, if someone knows: where should I report the bug so FreeDOS kernel people see it?

Rugxulo

Homepage

Usono,
28.01.2024, 22:49

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Well, I tired multiple versions of 16-bit FreeDOS kernels on Book8088 2.0,

Cool! Sounds like a DOS developer's dream device.

> but they all get stuck at InitDisk function. It seems that
> InitDisk has problem with CF2IDE and detects the wrong disk parameters.
>
> It came preinstalled with MS-DOS 6.22 and that works ok. I just wanted to
> put something lighter like a slimmer version of FreeDOS 1.3 or SvarDOS.

Lighter than MS-DOS 6.22?? Not sure that's possible, but I don't know what you mean.

As an aside, how are you supposed to get files onto the device? A CF card reader on your main PC? Or does "USB (U disk only)FAT16" mean the BIOS can somehow handle mounting a jump drive?

> Also, if someone knows: where should I report the bug so FreeDOS kernel
> people see it?

Probably SourceForge Bug Tracker or freedos-kernel mailing list.

ecm

Homepage E-mail

Düsseldorf, Germany,
28.01.2024, 23:16

@ Rugxulo
 

Book8088's CF2IDE stumps Freedos boot

> > Also, if someone knows: where should I report the bug so FreeDOS kernel
> > people see it?
>
> Probably SourceForge Bug
> Tracker or
> freedos-kernel
> mailing list.

I disagree, I would recommend https://github.com/fdos/kernel - It's what I use.

---
l

bocke

29.01.2024, 06:02
(edited by bocke, 29.01.2024, 06:14)

@ Rugxulo
 

Book8088's CF2IDE stumps Freedos boot

> Lighter than MS-DOS 6.22?? Not sure that's possible, but I don't know what
> you mean.
>

Not full blown MS-DOS 6.22 installation. It's bloated. MS-DOS 5.0 was much lighter.

I think SvarDOS also uses a minified fork of FreeCOM so that should also help to minimize used memory, too.

> As an aside, how are you supposed to get files onto the device? A CF card
> reader on your main PC? Or does "USB (U disk only)FAT16" mean the BIOS can
> somehow handle mounting a jump drive?

I don't currently have a card reader (I had a few, but they broke - out of neglect I guess), so I'm using CF2IDE via ATA2USB. :D And it works, believe it or not (both on Windows and Linux).

As far as BIOS is concerned it uses skiselev's 8088_bios which supports XTIDE extensions (including the boot from CF cards).

> Probably SourceForge Bug
> Tracker or
> freedos-kernel
> mailing list.

Thanks. :)

rr

Homepage E-mail

Berlin, Germany,
29.01.2024, 08:01

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Not full blown MS-DOS 6.22 installation. It's bloated. MS-DOS 5.0 was much
> lighter.
>
> I think SvarDOS also uses a minified fork of FreeCOM so that should also
> help to minimize used memory, too.

Correction: SvarDOS SvarCOM was developed from scratch and modeled after MS-DOS 5.x/6.x command.com. A few more details are on http://www.svardos.org/svarcom/

---
Forum admin

bocke

29.01.2024, 15:55

@ rr
 

Book8088's CF2IDE stumps Freedos boot

> Correction: SvarDOS SvarCOM was developed from scratch and modeled after
> MS-DOS 5.x/6.x command.com. A few more details are on
> http://www.svardos.org/svarcom/

Oh, ok. Thank you for correction.

tom

Homepage

Germany (West),
02.02.2024, 14:15

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Not full blown MS-DOS 6.22 installation. It's bloated. MS-DOS 5.0 was much
> lighter.
it should be easy to delete everything that you onsider "Bloat".

> I think SvarDOS also uses a minified fork of FreeCOM so that should also
> help to minimize used memory, too.
it's not a fork, but a new implementation.

it's also much better suited for this machine as freecom doesn't swap out on a 8088 PC whereas swarcom needs only 2K resident memory.

of course you an also use the original command.com with AFAIR similar footprint.

mceric

Germany,
29.01.2024, 02:01

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Well, I tired multiple versions of 16-bit FreeDOS kernels on
> Book8088
> 2.0, but they all get stuck at InitDisk function.

An interesting and actually occuring reason for FreeDOS getting stuck at initdisk is that when you are using a kernel without FAT32 support (8086-compatible kernels may be compiled without that by default!) on a disk which only has FAT32 partitions.

In that case, the kernel will fail to find a suitable partition and will proceed to attempt to load config sys from A: instead, which can fail without showing an error message. So it will look exactly as if initdisk got stuck.

---
FreeDOS / DOSEMU2 / ...

Rugxulo

Homepage

Usono,
29.01.2024, 02:21

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> An interesting and actually occuring reason for FreeDOS getting stuck at
> initdisk is that when you are using a kernel without FAT32 support
> (8086-compatible kernels may be compiled without that by default!) on a
> disk which only has FAT32 partitions.

But it ships MS-DOS 6.22 on a 512 MB Compact Flash card, and that OS didn't support FAT32. (Granted, I forget what the smallest possible FAT32 partition size is.)

I guess I'm a masochist (or genius ... or easily amused) for loving the 8086 and DOS. This actually sounds great, but even having a valid MS-DOS license personally (which doesn't excuse them shipping it pre-installed), I think it's dumb to prefer that over FreeDOS.

bocke

29.01.2024, 06:04
(edited by bocke, 29.01.2024, 06:40)

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

>
> An interesting and actually occuring reason for FreeDOS getting stuck at
> initdisk is that when you are using a kernel without FAT32 support
> (8086-compatible kernels may be compiled without that by default!) on a
> disk which only has FAT32 partitions.
>
> In that case, the kernel will fail to find a suitable partition and will
> proceed to attempt to load config sys from A: instead, which can fail
> without showing an error message. So it will look exactly as if initdisk
> got stuck.

It shouldn't be the case. I tried multiple kernels with or without FAT32 support. Also, I'm not sure what was the original formatting, but I also tried FAT16 with only a system transfered with sys.com. I got the same results.

And the kernel actually recognizes the partition, but doesn't get CHS parameters right as it gets confused somewhere in the process. Than it gets stuck there.

RayeR

Homepage

CZ,
29.01.2024, 06:38

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Could be some weird CF geometry, sometimes it mismatched when using different connections for CF like various adapters. Also it might installed MBR for LBA? Where did you SYS your drive? Inside BOOK or on other PC? It would be better to do it on BOOK, boot FD from some other media and prepare CF there...

---
DOS gives me freedom to unlimited HW access.

bocke

29.01.2024, 06:49

@ RayeR
 

Book8088's CF2IDE stumps Freedos boot

> Could be some weird CF geometry, sometimes it mismatched when using
> different connections for CF like various adapters.

I also think this could be the case.

> Also it might installed MBR for LBA? Where did you SYS your drive? Inside BOOK or on other PC?

I tried it on the Book. I also tried it from DOSBOX-X by mounting a raw drive from within it on Linux. But results were similar.

> It would be better to do it on BOOK, boot FD from some other media and
> prepare CF there...

Not much choice here. It does have an external 8-bit ISA extension board, but I don't have any floppy controllers to plug in it. And I don't know if it can boot from it, even if I had one.

bocke

29.01.2024, 07:02

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

>
> Not much choice here. It does have an external 8-bit ISA extension board,
> but I don't have any floppy controllers to plug in it. And I don't know if
> it can boot from it, even if I had one.

According to post from VCF this should be possible:

> For general info about the gotek I recommend the FlashFloppy wiki since
> you'd be flashing that anyway as first thing. Then you just need a ISA
> floppy controller like one of those common super I/IO cards and use that
> with the gotek. Since there is XT-IDE on the Book8088 you need to press
> A to boot into floppy when that menu appears on top of the screen

This came from this very interesting topic on Book8088 I'm currently reading: https://forum.vcfed.org/index.php?threads/book-8088-discovery-and-modification-thread.1245155/

bocke

29.01.2024, 07:11

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

More interesting stuff. This BIOS_8088 fork supports floppy emulation from the image included on USB thumb drive:

https://github.com/jinshin/8088_bios/releases/tag/v1.0.5

Yeah, this device has an USB plug. Although I think it is implemented via ISA2USB, so it should be slow.

RayeR

Homepage

CZ,
29.01.2024, 13:42

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

I read that Book has USB port. Can it boot from USB flash drive?

---
DOS gives me freedom to unlimited HW access.

bocke

29.01.2024, 16:19

@ RayeR
 

Book8088's CF2IDE stumps Freedos boot

> I read that Book has USB port. Can it boot from USB flash drive?

The BIOS is BIOS_8088 from Sergey Kiselev with XTIDE extension. That should only support IDE drives and CF cards.

I'll test it out anyway, but I don't hope for much.

Doug

E-mail

29.01.2024, 19:44

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

If anyone's interested in a hands-on review where they discuss some of these questions (and more):

https://arstechnica.com/gadgets/2023/07/going-deep...8-the-brand-new-laptop-that-runs-like-its-1981/

(Amusing title for the article....)

- Doug B.

boeckmann

Aachen, Germany,
29.01.2024, 16:53

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Well, I tired multiple versions of 16-bit FreeDOS kernels on
> Book8088
> 2.0, but they all get stuck at InitDisk function. It seems that
> InitDisk has problem with CF2IDE and detects the wrong disk parameters.

Which kernel revisions exactly did you test? Can you try a current build like the one available at https://github.com/FDOS/kernel/actions/runs/7281511383?

Did you sys the FreeDOS kernel onto the working MS-DOS filesystem, or did you create a new partition / filesystem with the tools provided by FreeDOS? If the latter is the case, please try installing the kernel onto the working MS-DOS filesystem and test if the kernel boots from it.

fritz.mueller

Homepage

Munich, Germany,
29.01.2024, 18:57

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

For security I read german WIKI about CF and it says (as assumed) that CF is simply spoken an IDE HD with a little different connections than the old IDE HDs. Those old and small HDs often had strange CHS configurations (may have been overtaken by CF).
As pictures often make things easier to understand, could you take a picture that shows the kernel error messages. I am sure it will help Bernd Böckmann too.

bocke

29.01.2024, 21:28

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> For security I read german WIKI about CF and it says (as assumed) that CF
> is simply spoken an IDE HD with a little different connections than the old
> IDE HDs. Those old and small HDs often had strange CHS configurations (may
> have been overtaken by CF).
> As pictures often make things easier to understand, could you take a
> picture that shows the kernel error messages. I am sure it will help Bernd
> Böckmann too.

Oh, you are here too. :) I just responded to you at the SourceForge Bug report few hours ago.

Sure, no problem. Just posted the pic and the transcription.

bocke

29.01.2024, 21:21

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> Which kernel revisions exactly did you test? Can you try a current build
> like the one available at
> https://github.com/FDOS/kernel/actions/runs/7281511383?
>

2039-2043.

I also tried that one. It gives a similar error:
[image]



> Did you sys the FreeDOS kernel onto the working MS-DOS filesystem, or did
> you create a new partition / filesystem with the tools provided by FreeDOS?
> If the latter is the case, please try installing the kernel onto the
> working MS-DOS filesystem and test if the kernel boots from it.

Onto a working MS-DOS system.

bocke

29.01.2024, 21:25

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

In case you can't see it from the screenshot, I transcribed the last two lines:

WARNING: using suspect partition Pri:1 FS 06: with calculated values 988-1-63 instead of 61-254-63
C: HD1, Pri[1], CHS = 0-1-1, start= 0 MB, size = 486 MB

RayeR

Homepage

CZ,
29.01.2024, 22:39

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> WARNING: using suspect partition Pri:1 FS 06: with calculated values
> 988-1-63 instead of 61-254-63
> C: HD1, Pri[1], CHS = 0-1-1, start= 0 MB, size = 486 MB


Hm, looks like typical mismatch when disk is partitioned and formatted with different CHS than readed later...

---
DOS gives me freedom to unlimited HW access.

fritz.mueller

Homepage

Munich, Germany,
29.01.2024, 23:36

@ RayeR
 

Book8088's CF2IDE stumps Freedos boot

> > WARNING: using suspect partition Pri:1 FS 06: with calculated
> values
> > 988-1-63 instead of 61-254-63
> > C: HD1, Pri[1], CHS = 0-1-1, start= 0 MB, size = 486 MB

>
> Hm, looks like typical mismatch when disk is partitioned and formatted with
> different CHS than readed later...

I have a CF card and will try to make it bootable on a 2005 laptop tomorrow.

i read the report about this laptop and noticed that a picture with another OS on it. So it should be possible anyhow although an it was reported that the usb stick cannot boot but only copy files. Interesting challenge.

bocke

30.01.2024, 05:40

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> i read the report about this laptop and noticed that a picture with another
> OS on it. So it should be possible anyhow although an it was reported that
> the usb stick cannot boot but only copy files. Interesting challenge.

What other OS? I'm curious. ELKS should work. At least in the latest release, as they ironed out some Book8088 specific bugs recently. I also saw a Youtube video of it running Minix 1.7.5.

fritz.mueller

Homepage

Munich, Germany,
30.01.2024, 13:57

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > i read the report about this laptop and noticed that a picture with
> another
> > OS on it. So it should be possible anyhow although an it was reported
> that
> > the usb stick cannot boot but only copy files. Interesting challenge.
>
> What other OS? I'm curious.
> ELKS should work. At least in
> the latest release, as they ironed out some Book8088 specific bugs
> recently. I also saw a
> Youtube video of it running Minix 1.7.5.

https://arstechnica.com/gadgets/2023/07/going-deep...8-the-brand-new-laptop-that-runs-like-its-1981/
5th big picture, it shows PC-DOS version 7, revision 1.

I just ran some tests with my old Kingston 512 MB compact flash connected via USB and three different adapters with an old DOS laptop from 2005.
The result was interesting:
a) with hama USB 2.0 Card Reader 19 in 1 the CF was NOT found at all, not by fdisk and not by ranish partition manager,
b) with Conrad Electronic Model CP440 it was found, fdisk and ranish partition manager worked - but at the end the results were NOT written on the CF (write protection), after a reboot there was NOTHING,
c) with an old Skymaster USB 2.0 Multi Card Reader read and write worked, but after running fdisk and a reboot format had problems. Then I ran ranish partition manager delivered with FDT23xx, it was able to format the CF with it, but it made a mismatch.
Then I formatted it again with format - and this time it worked! I was able to run sys - and the kernel and command.com was on it! But with the actual configuration I was unable to test if it really boots.
So installing FD on to a new 512 MB CF card is a thing of good luck.

The article above mentioned that you can buy the laptop with and without support for diskettes etc. They say that the USB stick is not bootable, so I am still astonished how you made it to make MS-DOS work again after the FD kernel did not run through. Del kernel.sys should not work from this position - only if you connect the CF with another machine.
One more thing: MS-DOS has several basic files: io.sys, msdos.sys, dblspace.bin and command.com. Some of these files are hidden! This may cause problems too.

So my proposal would be: If you have one more empty 512 MB CF card, (I just looked, the prices vary from 14 Euro till 225 Euro, crazy), check if your card reader supports read/write from DOS, if yes, try to format it from an external machine, (dont forget Active Partition), run sys and test this CF.

bocke

30.01.2024, 16:09

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> I am still astonished how you made it to make MS-DOS work again after the
> FD kernel did not run through. Del kernel.sys should not work from this
> position - only if you connect the CF with another machine.


Easy. I just made a backup with ddrescue on my Linux machine. Similar to:

ddrescue /dev/sdd book8088-bak.img

Than I just return a backup to the CF card with "dd". Something like:

dd if=book8088-bak.img /dev/sdd

And I also have several CF cards. I wouldn't play with the only working CF card without having any spares.


> So my proposal would be: If you have one more empty 512 MB CF card, (I just
> looked, the prices vary from 14 Euro till 225 Euro, crazy), check if your
> card reader supports read/write from DOS, if yes, try to format it from an
> external machine, (dont forget Active Partition), run sys and test this CF.

This will have to wait. I have spare CF cards, but I currently don't have access to a machine with a DOS installation.

boeckmann

Aachen, Germany,
30.01.2024, 17:04

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Than I just return a backup to the CF card with "dd". Something like:

@bocke may you upload the MS-DOS image so that I can examine it?

You can upload the file directly to https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE

You may also test if the EDR-DOS kernel works. I can provide you with an image for it if you are interested.

It might also be possible to get the image I sent you running by forcing FreeDOS to access the partition via LBA. To enforce this, the partition type may be changed to FAT16 LBA (0x0E). I assume that XTIDE supports LBA access.

Thanks!

bocke

30.01.2024, 18:21

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

>
> @bocke may you upload the MS-DOS image so that I can examine it?
>
> You can upload the file directly to
> https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE
>

I will. Thanks.

Not immediately though. I have to test something first. But in half an hour up to an hour at most.

> You may also test if the EDR-DOS kernel works. I can provide you with an
> image for it if you are interested.
>

If you don't mind, I'm willing to test it.


> It might also be possible to get the image I sent you running by forcing
> FreeDOS to access the partition via LBA. To enforce this, the partition
> type may be changed to FAT16 LBA (0x0E). I assume that XTIDE supports LBA
> access.
>

I will look into it. It's simple to do within cfdisk on Linux.

bocke

30.01.2024, 18:28

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > Than I just return a backup to the CF card with "dd". Something like:
>
> @bocke may you upload the MS-DOS image so that I can examine it?
>
> You can upload the file directly to
> https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE

I uploaded it right now. I checked it and this image works when copied to CF via "dd". It boots.

boeckmann

Aachen, Germany,
30.01.2024, 19:21

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > > Than I just return a backup to the CF card with "dd". Something like:
> >
> > @bocke may you upload the MS-DOS image so that I can examine it?
> >
> > You can upload the file directly to
> > https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE
>
> I uploaded it right now. I checked it and this image works when copied to
> CF via "dd". It boots.

Thanks for providing this. The BPB of the partition shows some interesting things I did not see until now:

Partition table entry:
80 01 01 00 06 FE 3F 3D 3F 00 00 00 7F 32 0F 00

Volume boot record:
EB 58 90 20 20 20 20 20 20 20 20 00 02 10 01 00
02 00 02 00 00 F8 F8 00 00 00 00 00 00 00 00 00
00 79 0F 00 00 00 29 00 00 00 00 20 20 20 20 20
20 20 20 20 20 20 46 41 54 31 36 20 20 20 00 00
...

Offset 0x18 and 0x1A of the volume boot record, which should specify the sectors per track and head count, are zero. The partition table entry confirms that the partitions were indeed created under the assumption that the head count is 255. I did not see this either for such a small partition.

Would be interesting to see what INT13,08 (and 48, for completeness) actually return as geometry. Does anyone know a tool which simply dumps these values?

bocke

30.01.2024, 19:42

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> Would be interesting to see what INT13,08 (and 48, for completeness)
> actually return as geometry. Does anyone know a tool which simply dumps
> these values?

This is what MSD sees:
[image]

fritz.mueller

Homepage

Munich, Germany,
30.01.2024, 20:32

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

I have just uploaded two files on Bernds account, but I noticed that it only supports uploads, not downloads.
So here they are for some days too:
http://www.bootablecd.de/DOS8088-vhd.7z
http://www.bootablecd.de/DOS8088-dd.7z

VHD version is for virtualbox (works also on Linux), dd is for extraction.
you can unextract the dd to your CF disk. I tested the rebuilt vhd and it works in virtualbox, so the dd version should also work for you. If necessary, rename the ending.
It has a size of 512MB, only the FD basics are on it - and the FAT16 kernel.
So it should work for you. Latest fdisk and ranish (part) are on it.
The only thing where I am not sure is if there was a special command.com for older systems. At least there exist some different versions.
Could you please inform me when there are problems with it?

PS: Everything would have been easier when you had told us from beginning how you modified the system.:-( :-(

bocke

30.01.2024, 21:15

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> PS: Everything would have been easier when you had told us from beginning
> how you modified the system.:-( :-(

I haven't done any hardware modification to the system.

It came with CF Card with MS-DOS preinstalled. I did a backup of that with ddrescue. Than after trying something I would restore that image with "dd" to get a working system again. So, it would look like this:

I tried to install FreeDOS by using "sys c:" in several ways:
1) By running it on device. This failed with an error you saw on one of the first images.

Every time I tried and it didn't work, I restored the previously backed-up image after that.

2) By mounting the backup image inside DOSBox-X and trying to run sys C: from there than writing the image to CF card anad trying to boot it. That also failed.

Hope it's clearer now. Cheers.
Every time I tried and it didn't work, I restored the previously backed-up image after that.

I tried several FreeDOS kernels 2039-2043, including the one linked by @boeckman earlier in the topic. They didn't work.

I restored the previously backed-up working image after that.

I also tried his modified CF image. That gave me a "light show" from one of the images.

Than I again restored previously backed-up working image.

So, I didn't really make significant changes to the card itself as I always returned one of the working backup images.

bocke

30.01.2024, 21:23

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Oh, I also tried patritioning and formatting the disk from Linux with cfdisk and mkfs.vfat -F 16 (fat 16) and then doing a "SYS C:" under DOSBox-X. That didn't work either.

Anyways, no I didn't hack on the same contents of CF Card as you are probably imagining. I restored it to previous state via restoring the previous working image.

And I think I already mentioned it before, just not in as much detail as I don't really want to bore you with every little thing I tried. Because I tried a bunch of them several times. I've spent several hours yesterday and today on that. That's why I summarized only the most important parts.

Well, I don't mind writing it once more if it will help you somehow. It's just a bit tedious. But, thank you for being willing to help, anyway. I appreciate it. :)

fritz.mueller

Homepage

Munich, Germany,
30.01.2024, 21:33

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Please simply test if the 512 image works!

bocke

31.01.2024, 00:13

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> Please test if the 512 image works.

Unfortunately no. I get stucked at the same place:
[image]

bocke

30.01.2024, 19:25

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

>
> So my proposal would be: If you have one more empty 512 MB CF card, (I just
> looked, the prices vary from 14 Euro till 225 Euro, crazy), check if your
> card reader supports read/write from DOS, if yes, try to format it from an
> external machine, (dont forget Active Partition), run sys and test this CF.

I don't really have a reader right now.

I use this:
[image] [image]

There are two things to this: IDE to USB and CF to IDE controllers put together. And this works well enough.

I had 2 card readers but they mysteriously "passed away" few days ago. Haven't yet got the replacements.

I guess this thing might be one of the reasons the images don't boot. But I'm puzzled that they work under emulators like DOSBOX-X and Qemu.

I'll get a real card reader in a few days and will try again.

I currently put away my DOS machine in the closet. Although I have a small itx machine with some older AMD SOC. I might try puting FreeDOS on it with legacy USB support. But if the problem is with CF pin order, that might not help either. :(

Is it possible to transfer DOS mbr and system (what sys does in DOS) from Linux? I found somewhere a script sys-freedos-linux from Eric Auer (from several years back), but I didn't have any success with using it. It does write a MBR into the root of the drive, but the boot stops after writing "Freedos" on the boot line. It doesn't pick-up the kernel.sys from the root of the drive.

Oso2k

30.01.2024, 22:37

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

>
> So my proposal would be: If you have one more empty 512 MB CF card, (I just
> looked, the prices vary from 14 Euro till 225 Euro, crazy), check if your
> card reader supports read/write from DOS, if yes, try to format it from an
> external machine, (dont forget Active Partition), run sys and test this CF.

I bought 512MB CF for <$3 https://www.aliexpress.us/item/2255799922748202.html

The test below uses this 256MB for $11 https://www.amazon.com/dp/B018X7RJQ4

I have a Book8088 v2. I did some testing. I imaged the FD13BOOT.IMG from FD 1.3 Floppy Edition[0] to my slot on my Gotek formatted USB stick. I then used a Dell 316SX (a 386) with a Gotek FDD emulator & XT-IDE r625 to boot FD v1.3 over floppy. Next, I FDISK'd a 256MB CF card as FAT16 (CHS 984/16/32). Rebooted again to floppy and then ran `format C:/q/s`. I then copied a few binaries from the FD floppy to the CF card. Rebooted to verify the 256MB CF card would boot and it worked.

Finally, popped out the CF card of the 316SX and placed it in the slot on the Book8088. Booted & it worked[1][2]. See the pic below for reference.

No magic other than I've been working to restore the Dell 316SX so it now has a NIC with the XT-IDE r625 BIOS in it's ROM slot. The original 3.5" & 5.25" drives aren't spinning and I need to refurb those next.

You could try imaging a small (<2GB) USB stick with FD13BOOT.IMG and try booting off that as well [3]. It might take a reflash of the BIOS. They'll need to hit 'A' quickly to redirect XT-IDE to boot off floppy instead of the CF. I might test that as well.


[0] https://www.ibiblio.org/pub/micro/pc-stuff/freedos...stributions/1.3/official/FD13-FloppyEdition.zip
[1] https://drive.google.com/file/d/1Vq2RvNgPNxrCOuVEFDruw4NwJYCh4Zvv/view?usp=drive_link
[2] https://drive.google.com/file/d/1NsKzz5WK4fw_wn-2WBnaH8sTsIyGs-ZN/view?usp=drive_link
[3] https://forum.vcfed.org/index.php?threads/book-808...ry-and-modification-thread.1245155/post-1343495

mceric

Germany,
30.01.2024, 22:49

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

A review on another retro forum recommends to upgrade the Book8088 BIOS to this one: https://github.com/skiselev/8088_bios

The review is not impressed by quality of housing and keyboard, but in general, the device seems okay. By default, it seems to come with a 504 MB CF.
There also is an USB port, which only recognizes FAT16 storage and only at boot, not when you plug or change devices later. There is a turbo mode which can be activated with Fn F6 and unfortunately Windows 3.0 only works with EGA drivers due to the reviewer not finding any Cirrus GD5422 compatible Win3 VGA drivers. Interestingly, the NSSI tool fails while in turbo mode. Getting the device from China will usually involve having to pay taxes and filling some forms on receipt in Germany.

PS: Somebody in the same thread mentions SBEMU now making DOS compatible sound possible on some EEEpc models :-)

---
FreeDOS / DOSEMU2 / ...

bocke

31.01.2024, 00:48

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> A review on another retro forum recommends to upgrade the Book8088 BIOS to
> this one: https://github.com/skiselev/8088_bios
>

Just be careful that there are two versions of Book8088. This was last tested with version v1. Although it's likely to work with v2, might be better to burn it on a spare EEPROM before trying it out.

> The review is not impressed by quality of housing and keyboard, but in
> general, the device seems okay. By default, it seems to come with a 504 MB
> CF.

Keyboard is ok-ish. Nothing special, but I've seen worse on netbooks. Housing - I agree. The lower part is pretty much see through. Although that also has a bit of charm, because you can somewhat see different components.

> unfortunately Windows 3.0 only works with EGA drivers due to the reviewer
> not finding any Cirrus GD5422 compatible Win3 VGA drivers.

I found this in 5 minutes on Archive.org:
https://archive.org/details/gd54xx

But I didn't even try searching on Google as it likely sucks when it comes to things like this. :)

P.S. I have EEE PC 701 and 901HD but haven't yet tried SBEMU. It's on todo list. :)

bocke

31.01.2024, 02:35

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> I found this in 5 minutes on Archive.org:
> https://archive.org/details/gd54xx
>

But unfortunately that didn't work. :)

bocke

31.01.2024, 09:06

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > A review on another retro forum recommends to upgrade the Book8088 BIOS
> to
> > this one: https://github.com/skiselev/8088_bios
> >
>
> Just be careful that there are two versions of Book8088. This was last
> tested with version v1. Although it's likely to work with v2, might be
> better to burn it on a spare EEPROM before trying it out.
>

In the topic on VFED forums, the author Sergey Kiselev analyzed the new BIOS for V2. He says it's not the same. So it might be risky to install this on V2 until he updates the repo.

roytam

31.01.2024, 03:24

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> A review on another retro forum recommends to upgrade the Book8088 BIOS to
> this one: https://github.com/skiselev/8088_bios
>
> The review is not impressed by quality of housing and keyboard, but in
> general, the device seems okay. By default, it seems to come with a 504 MB
> CF.
> There also is an USB port, which only recognizes FAT16 storage and only at
> boot, not when you plug or change devices later. There is a turbo mode
> which can be activated with Fn F6 and unfortunately Windows 3.0 only works
> with EGA drivers due to the reviewer not finding any Cirrus GD5422
> compatible Win3 VGA drivers. Interestingly, the NSSI tool fails while in
> turbo mode. Getting the device from China will usually involve having to
> pay taxes and filling some forms on receipt in Germany.
>
> PS: Somebody in the same thread mentions SBEMU now making DOS compatible
> sound possible on some EEEpc models :-)

VOGONS Vintage Driver Library has it.
http://vogonsdrivers.com/getfile.php?fileid=2120&menustate=0

bocke

31.01.2024, 09:00

@ roytam
 

Book8088's CF2IDE stumps Freedos boot

>
> VOGONS Vintage Driver Library has it.
> http://vogonsdrivers.com/getfile.php?fileid=2120&menustate=0

This is similar to the one I posted few posts before:

16 Color Driver,           16_1024.DRV, 3, 1, N
256 Color Driver,         256_1024.DRV, 3, 1, N


Not sure if it's completely the same version, but they unfortunately didn't work.

The guys from VCFED forum had similar problems and they used the drivers from VOGONS archive:
> Still have not had any luck getting VGA in Windows. But I did find a tool
> from Cirrus that identifies the chip and it reports that it is a CL-GD5428.
> Possibly meaningless. I can install the drivers into Windows, but when I
> start windows, the screen just goes black. Hard drive keeps going, so I am
> sure Windows is loading happily and I am just not seeing anything. It could
> potentially be the LCD not being able to re-sync. I bodged together pieces
> into the System.ini manually and the VGA logo actually loaded but then
> dumped me back to DOS. Worst case, Windows does look great under EGA.

I haven't yet read the whole topic but they also suspect there is a problem with LCD controller firmware as it has problem with VGA 60Hz modes.

The topic is the same as one I already linked before in one of my responses.

bocke

31.01.2024, 09:28

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> The topic is the same as one I already linked before in one of my
> responses.

Seems there was an update later in topic:

Hello everyone, I have an update on the VGA 640x480 mode issue on the 8088 laptop. I contacted the seller and complained that the LCD controller was buggy. After several message exchanges on AliExpress, where I sent C code demonstrating that the LCD turned black every time VGA 640x480 mode was invoked, they sent me a replacement controller. Now it works! I was able to configure Windows 3.0 in VGA 640x480 mode, and other games like Dyna Blaster now run as well. The 640x480 mode with 256 colors is also functional. The peculiar thing is that these video modes start in a 4:3 aspect ratio. The other modes seem to remain as they were, but it appears that certain games have less faded colors than usual. The only small bug is that in text mode, it cuts off half of the last line without a solution to recenter by invoking "mode 80."

And:

I received a new LCD controller as well and I was able to dump the firmware from both boards and I can confirm that a simple firmware transplant seems sufficient to fix the original board.
Unfortunately it was necessary to desolder both EEPROMs otherwise the TL866 complained about overcurrent when just clipped to the chip while on the board.

The boards are identical except for a slight difference in the main controller chips, the original is RTD2660 C3F62G1 while the new one is RTD2660 D8C23G3, I don't think it's particularly relevant.

The EEPROM is a P25Q40SH (4Mbit SPI) in both boards and it's not directly listed at least in the old MiniPro software, I selected more or less randomly the BG25Q40A and disabled the ID check and everything worked


After the upgrade, the driver from VOGONS worked (at least somewhat):


I was able to run Windows 3.0a at 640x480 256 colors or even 800x600 256 colors using these drivers https://winworldpc.com/product/avga3-gd542x-display/1 and following the instructions in this readme https://web.archive.org/web/20150809205726/http://...ivers/legacy/vga/cirrus/cirrus1/#1/win30/readme

Initially it seemed to not support 640x480 256 but it run at 800x600 256 however after using clmode (also included in the driver package) and enabling High VGA Refresh Rate it seemed to have fixed itself even after powering it off and on again


Someone also posted a ROM dump.

The topic is same as before: https://forum.vcfed.org/index.php?threads/book-8088-discovery-and-modification-thread.1245155/

mceric

Germany,
02.02.2024, 10:17

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> A review on another retro forum recommends to upgrade the Book8088 BIOS to
> this one: https://github.com/skiselev/8088_bios ...

In more news from there, you sometimes have to have a vendor specific Fixed Disk Mode Flag set on your CF card in order to properly boot from it at all. Industrial CF cards are more likely to have that set than consumer cards for stuff like video cameras and SLR cameras.

I guess an easy test would be to make a diskimage of the original CF card of the Book8088, then overwrite the apparently pre-installed MS DOS there by putting FreeDOS on it?

Of course, you could also use metakern to get dual boot: Metakern offers a menu to load either a FreeDOS kernel or a previously backed up (!) boot sector of another OS. You can use special options of FreeDOS SYS to make a backup of the MS DOS boot sector first.

Remember that FreeDOS will load fdconfig.sys if it exists, so MS DOS can keep using config.sys in the dual boot scenario. In addition, FreeDOS command.com (freecom) supports user-specified file names for autoexec using the SHELL line, so you can give it for example a fdauto.bat file while MS DOS keeps using autoexec.bat

One more thing for the Book8088: Because there is no XMS on 8086 and 8088, you should use an alternate non-XMS swapping variant of freecom, for example that with the KSSF helper. If you would use the default freecom with XMS swapping, it would have to hog a significant portion of your 640k of RAM all the time, even while other programs are running in the foreground.

While we are at it, maybe it would be interesting to share hex dumps of the partition table or full MBR and MS DOS boot sector parameters of the original install bundled with the Book8088?

---
FreeDOS / DOSEMU2 / ...

mceric

Germany,
02.02.2024, 10:30

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

Wait... I just noticed that I had failed to read page 2 of this thread. Apparently you already found a solution for booting FreeDOS and the trick was related to setting a suitable geometry or LBA in MBR and boot sector? Please summarize :-)

---
FreeDOS / DOSEMU2 / ...

boeckmann

Aachen, Germany,
02.02.2024, 11:17

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> Please summarize :-)

Bocke got an image working I created for him using SvarDOS and my EDR-DOS kernel fork. Sadly, when replacing the EDR kernel with the FreeDOS one, the system crashes either at the partition enumeration or later. We do not know for sure where exactly this fails. The image should be set up with the right geometry. At least I created it respecting information from the BIOSDRVS utility, which is part of XT-IDE. Hard to debug this without having the device. But perhaps anyone can provide a kernel binary having debug output enabled?

bocke

02.02.2024, 12:27

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> But perhaps anyone can provide a kernel binary having debug output enabled?

If nobody else does it I'll see if I can compile it with OpenWatcom 2.0 under Linux tonight.

bocke

02.02.2024, 17:34

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > But perhaps anyone can provide a kernel binary having debug output
> > enabled?
>
> If nobody else does it I'll see if I can compile it with OpenWatcom 2.0
> under Linux tonight.

I haven't had luck with this.
[image]
[image]

I even tried a build from WINE, but no luck with that either.

bocke

02.02.2024, 17:50

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> I haven't had luck with this.

This is the version of OpenWatcom I used:
https://github.com/open-watcom/open-watcom-v2/releases/tag/2024-02-02-Build

Oso2k

02.02.2024, 18:41

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > I haven't had luck with this.
>
> This is the version of OpenWatcom I used:
> https://github.com/open-watcom/open-watcom-v2/releases/tag/2024-02-02-Build

It should be fine but was the kernel/build batch ever upgraded to with OpenWatcom v2? I only recall myself rebuilding it w/v1.9.

bocke

02.02.2024, 20:27

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> > > I haven't had luck with this.
> >
> > This is the version of OpenWatcom I used:
> >
> https://github.com/open-watcom/open-watcom-v2/releases/tag/2024-02-02-Build
>
> It should be fine but was the kernel/build batch ever upgraded to with
> OpenWatcom v2? I only recall myself rebuilding it w/v1.9.

That worked. Thanx.

I built the latest GIT version:
https://github.com/FDOS/kernel

Uploaded here:
https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE?path=%2FBocke

Not yet tested.

I built 8086 and 80186 (should be NEC V20 compatible) in fat16 and fat32 variants with the DEBUG flag on.

bocke

02.02.2024, 21:35

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> I built 8086 and 80186 (should be NEC V20 compatible) in fat16 and fat32
> variants with the DEBUG flag on.

Well, 80186 build refuses to boot on NEC V20.
[image]

ecm

Homepage E-mail

Düsseldorf, Germany,
03.02.2024, 02:17

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > I built 8086 and 80186 (should be NEC V20 compatible) in fat16 and fat32
> > variants with the DEBUG flag on.
>
> Well, 80186 build refuses to boot on NEC V20.
> [image]

This is the 186 check: https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/kernel/cpu.asm#L51

And as I just mentioned here: https://retrocomputing.stackexchange.com/questions...id-the-i186-use-interrupt-6-for-invalid-opcodes

I do detect the NEC V20 as an 186 class machine: https://hg.pushbx.org/ecm/ldebug/file/7f3440d5824d/source/init.asm#l3071

This can be adapted to the kernel's CPU detection.

Meanwhile you could patch an uncompressed kernel to skip the conditional branch that skips to the error message display. Or boot into lDebug, if possible, and trace into the early kernel init to skip the error.

---
l

bocke

03.02.2024, 15:01

@ ecm
 

Book8088's CF2IDE stumps Freedos boot

I just wanted to run FreeDOS on Book8088 and now I have to hack FreeDOS kernel. :-| Well... :-D

Let's leave that for when I have more time, patience and brain power.

I'll just run FreeDOS userspace on EDR-DOS kernel for now.

I might try it again when I get Sergey's BIOS chip with BIOS_8088.

Edit:

What is the license of EDR-DOS kernel?

ecm

Homepage E-mail

Düsseldorf, Germany,
03.02.2024, 16:42

@ bocke
 

Enhanced DR-DOS license agreement

> I just wanted to run FreeDOS on Book8088 and now I have to hack FreeDOS
> kernel. :-| Well... :-D
>
> Let's leave that for when I have more time, patience and brain power.
>
> I'll just run FreeDOS userspace on EDR-DOS kernel for now.
>
> I might try it again when I get Sergey's BIOS chip with BIOS_8088.
>
> Edit:
>
> What is the license of EDR-DOS kernel?

I'm using and changing Enhanced DR-DOS according to this 2022-07-07 license agreement from DRDOS, Inc. (in the EDR-DOS repo) which refers to "CP/M and its derivatives". While others have argued that this doesn't cover (E)DR-DOS as it is too far from CP/M, my interpretation is supported by the copyright statements that date back as far as 1976 in the EDR-DOS sources.

Quoth same file as in the repo, also hosted at https://pushbx.org/ecm/download/edrdos/license.htm

> From: Bryan Sparks <*****@drycanyon.com> Thu, Jul 7, 8:04 AM
> To: Scott Chapman <******@mischko.com>
>
> Hmmm. Well, what you describe wasn't my intent but I get that this was unclear.
> It was also some time ago.
>
> Not sure how to "officially" clear this up except to modify the original email content
> removing the constraint to the website/group that was mentioned. So, perhaps, this
> will suffice:
>
> "Let this paragraph represent a right to use, distribute, modify, enhance, and otherwise
> make available in a nonexclusive manner CP/M and its derivatives. This right comes from
> the company, DRDOS, Inc.'s purchase of Digital Research, the company and all assets,
> dating back to the mid-1990's. DRDOS, Inc. and I, Bryan Sparks, President of DRDOS,
> Inc. as its representative, is the owner of CP/M and the successor in interest of
> Digital Research assets."

>
> It's a bit clumsy but this may get the intent cleared and authority upon which it is
> granted.
>
> Thanks for the email.
>
> Bryan

---
l

bocke

03.02.2024, 21:28

@ ecm
 

Enhanced DR-DOS license agreement

> I'm using and changing Enhanced DR-DOS according to
> this
> 2022-07-07 license agreement from DRDOS, Inc. (in the EDR-DOS repo)
> which refers to "CP/M and its derivatives". While others have argued that
> this doesn't cover (E)DR-DOS as it is too far from CP/M, my interpretation
> is
> supported
> by the copyright statements that date back as far as 1976 in the
> EDR-DOS sources.
>

To be honest this interpretation doesn't sound too legaly reliable. :)

But, well... I'm not a lawyer. And I don't plan to use it for commercial use, so it should be fine anyway, even according to the previous license.

I'll switch to FreeDOS anyway, one day when we make it work on Book8088.

ecm

Homepage E-mail

Düsseldorf, Germany,
03.02.2024, 16:32

@ ecm
 

Book8088's CF2IDE stumps Freedos boot

> This is the 186 check:
> https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/kernel/cpu.asm#L51
>
> And as I just mentioned here:
> https://retrocomputing.stackexchange.com/questions...id-the-i186-use-interrupt-6-for-invalid-opcodes
>
> I do detect the NEC V20 as an 186 class machine:
> https://hg.pushbx.org/ecm/ldebug/file/7f3440d5824d/source/init.asm#l3071
>
> This can be adapted to the kernel's CPU detection.
>
> Meanwhile you could patch an uncompressed kernel to skip the conditional
> branch that skips to the error message display. Or boot into lDebug, if
> possible, and trace into the early kernel init to skip the error.

Reported the 186 check missing NECs to the kernel at https://github.com/FDOS/kernel/issues/123

---
l

bocke

05.02.2024, 11:11

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > I built 8086 and 80186 (should be NEC V20 compatible) in fat16 and fat32
> > variants with the DEBUG flag on.
>
> Well, 80186 build refuses to boot on NEC V20.

Fixed in the most recent version of the kernel. Now it boots without problems.

bocke

05.02.2024, 12:06

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Now CH375 driver doesn't work. I even tried several version. Book gets stucked after loading the driver wether it found the drive or not.

I'll try to see if this also happens with 8086 kernel. If it does, I'll try an older kernel.

bocke

05.02.2024, 12:14

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Now CH375 driver doesn't work. I even tried several version. Book gets
> stucked after loading the driver wether it found the drive or not.
>
> I'll try to see if this also happens with 8086 kernel. If it does, I'll try
> an older kernel.

Doesn't work with 8086 kernel either.

I don't remember it ever working on FreeDOS, but it worked on EDR-DOS kernel (with FAT32) and MS-DOS kernel (whithout FAT32).

bocke

05.02.2024, 12:23
(edited by bocke, 05.02.2024, 12:44)

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > Now CH375 driver doesn't work. I even tried several version. Book gets
> > stucked after loading the driver wether it found the drive or not.
> >
> > I'll try to see if this also happens with 8086 kernel. If it does, I'll
> try
> > an older kernel.
>
> Doesn't work with 8086 kernel either.
>
> I don't remember it ever working on FreeDOS, but it worked on EDR-DOS
> kernel (with FAT32) and MS-DOS kernel (whithout FAT32).

It actually works on 2042 (8086 with FAT32) from Sourceforge. With LBA support turned off of course.

bocke

05.02.2024, 13:20

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

>
> It actually works on 2042 (8086 with FAT32) from Sourceforge. With LBA
> support turned off of course.

This 2043 release from 2021 works too:
https://github.com/FDOS/kernel/releases/tag/ke2043

bocke

05.02.2024, 14:08

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Now CH375 driver doesn't work. I even tried several version. Book gets
> stucked after loading the driver wether it found the drive or not.
>
> I'll try to see if this also happens with 8086 kernel. If it does, I'll try
> an older kernel.

I identified the commit that broke the driver:
https://github.com/FDOS/kernel/issues/130

But I don't really know what's happening here, so I'm not of any help with solving this. :)

bocke

02.02.2024, 21:53
(edited by bocke, 02.02.2024, 22:21)

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Not yet tested.
>

Went the furthest with 86_16:
[image]

But after this it shows vertical striped lines (?).
[image]

Edit:

I used the previously uploaded drive_0.img and did sys c: inside virtual machine, then wrote the result to CF card.

Edit:

I remembered that this image gave similar problems before (the one with a light show). That's the one that was a bit shorter than a card itself.

I'll try another one.

Edit:

I'm trying 512M image from here, next:
https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE?path=%2Foso2k

boeckmann

Aachen, Germany,
02.02.2024, 22:56

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

[image]

That looks stange!

boeckmann

Aachen, Germany,
02.02.2024, 23:04

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> [image]
>
> That looks stange!

This may be a wrong format specifier, if the kernel is compiled without FAT32 support, because then CLUSTER is defined as unsigned short, and the format specified %lu in the DebugPrintf call indicates unsigned long:

https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/kernel/initdisk.c#L496

https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/hdr/portab.h#L296

bocke

02.02.2024, 23:09

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

Do you have any ideas what else I could try?

bocke

02.02.2024, 23:13

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> This may be a wrong format specifier, if the kernel is compiled without
> FAT32 support, because then CLUSTER is defined as unsigned short, and the
> format specified %lu in the DebugPrintf call indicates unsigned long:
>
> https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/kernel/initdisk.c#L496
>
> https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/hdr/portab.h#L296

Oh, I get it. You mean the numbers look strange because of the wrong printf specifier?

boeckmann

Aachen, Germany,
02.02.2024, 23:17

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Oh, I get it. You mean the numbers look strange because of the wrong printf
> specifier?

Yes, while it is a bug I do not think it is directly related to your problem. https://github.com/FDOS/kernel/issues/122

bocke

02.02.2024, 23:21

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > Oh, I get it. You mean the numbers look strange because of the wrong
> printf
> > specifier?
>
> Yes, while it is a bug I do not think it is directly related to your
> problem. https://github.com/FDOS/kernel/issues/122

Neither do I. It shouldn't affect anything.

Anyway, that's a good eye for bugs. :) I needed a few seconds to find it even after you mentioned it.

boeckmann

Aachen, Germany,
02.02.2024, 23:34

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > > Oh, I get it. You mean the numbers look strange because of the wrong
> > printf
> > > specifier?
> >
> > Yes, while it is a bug I do not think it is directly related to your
> > problem. https://github.com/FDOS/kernel/issues/122
>
> Neither do I. It shouldn't affect anything.
>
> Anyway, that's a good eye for bugs. :) I needed a few seconds to find it
> even after you mentioned it.

This would be the next DebugPrintf to be printed:
https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/kernel/config.c#L347

It gets not printed, so the kernel hangs before it. PreConfig is called by init_kernel right after dsk_init.
https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/kernel/main.c#L345

So the system hangs in anything called by dsk_init().
https://github.com/FDOS/kernel/blob/db71b1a78337e96a89b4343b8303c6b8c4e6bb14/kernel/initdisk.c#L1440

You may put some DebugPrintf in initdisk.c, so see where it actually hangs. Or run the kernel under a debugger. But the first one is probably easier for the start...

boeckmann

Aachen, Germany,
02.02.2024, 23:42

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Neither do I. It shouldn't affect anything.
>

This triggeres undefined behaviour and could cause all sort of trouble. For example segfaults in memory protected systems. Very dangerous in general...

bocke

02.02.2024, 23:03

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> I'll try another one.
>
> Edit:
>
> I'm trying 512M image from here, next:
> https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE?path=%2Foso2k

It's pretty much the same:
[image]

Also this:
[image]

bocke

02.02.2024, 12:35

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> In more news from there, you sometimes have to have a vendor specific Fixed
> Disk Mode Flag set on your CF card in order to properly boot from it at
> all. Industrial CF cards are more likely to have that set than consumer
> cards for stuff like video cameras and SLR cameras.
>

Is there any software to set this or is this done in factory>

> I guess an easy test would be to make a diskimage of the original CF card
> of the Book8088, then overwrite the apparently pre-installed MS DOS there
> by putting FreeDOS on it?
>

We tried that. Unfortunately, it didn't work.

> Of course, you could also use metakern to get dual boot: Metakern offers a
> menu to load either a FreeDOS kernel or a previously backed up (!) boot
> sector of another OS. You can use special options of FreeDOS SYS to make a
> backup of the MS DOS boot sector first.
>

Haven't tried yet. But it seems this machine is picky about boot sectors. Might not work as well as on a real IDE drive.

> Remember that FreeDOS will load fdconfig.sys if it exists, so MS DOS can
> keep using config.sys in the dual boot scenario. In addition, FreeDOS
> command.com (freecom) supports user-specified file names for autoexec using
> the SHELL line, so you can give it for example a fdauto.bat file while MS
> DOS keeps using autoexec.bat
>

That's an interesting idea if metakern successfully boots. But will have to test if it will boot at all.

> One more thing for the Book8088: Because there is no XMS on 8086 and 8088,
> you should use an alternate non-XMS swapping variant of freecom, for
> example that with the KSSF helper. If you would use the default freecom
> with XMS swapping, it would have to hog a significant portion of your 640k
> of RAM all the time, even while other programs are running in the
> foreground.
>

I've been using M. Viszte's Svarcom as an alternative. It's only about 30k and doesn't have unneed bells and wistles.

> While we are at it, maybe it would be interesting to share hex dumps of the
> partition table or full MBR and MS DOS boot sector parameters of the
> original install bundled with the Book8088?

The original image was uploaded in boeckmann's nextcloud:
https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE

But I don't see it now. I will reupload. It might not be the exact same image, but mbr and partition table should be the same as it was based on the original.

Sorry, Boeckmann for flooding your nexcloud. :)

bocke

02.02.2024, 12:38

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> While we are at it, maybe it would be interesting to share hex dumps of
> the partition table or full MBR and MS DOS boot sector parameters of the
> original install bundled with the Book8088?
>

I just remembered someone posted it here:
https://archive.org/details/book8088

The images from V1 and V2 vary very little and they work on both models. Although I didn't try writing this praticular one on a CF.

bocke

02.02.2024, 12:42

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> There also is an USB port, which only recognizes FAT16 storage and only at
> boot, not when you plug or change devices later.

That shouldn't be true. It's actually MS-DOS 6.22 that doesn't support FAT32. So, if you use alternative kernel like Boeckmann's EDR_DOS kernel (or FreeDOS kernel with FAT32 support), it should also read FAT32.

bocke

02.02.2024, 12:46

@ mceric
 

Book8088's CF2IDE stumps Freedos boot

> A review on another retro forum recommends to upgrade the Book8088 BIOS to
> this one: https://github.com/skiselev/8088_bios
>

I wrote before that this is only for V1. But it seems I was wrong. Someone on VCFED.org forums said it also works on V2. I ordered an already burned EEPROM from Sergey's Tindy. I expect it to arrive in 7-10 days (he is in U.S.), so I will also try changing the firmware as recommended.

bocke

31.01.2024, 00:20

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> https://www.amazon.com/dp/B018X7RJQ4
>
> I have a Book8088 v2. I did some testing. I imaged the FD13BOOT.IMG from
> FD 1.3 Floppy Edition[0] to my slot on my Gotek formatted USB stick. I
> then used a Dell 316SX (a 386) with a Gotek FDD emulator & XT-IDE r625 to
> boot FD v1.3 over floppy. Next, I FDISK'd a 256MB CF card as FAT16 (CHS
> 984/16/32). Rebooted again to floppy and then ran `format C:/q/s`. I then
> copied a few binaries from the FD floppy to the CF card. Rebooted to
> verify the 256MB CF card would boot and it worked.
>
> Finally, popped out the CF card of the 316SX and placed it in the slot on
> the Book8088. Booted & it worked[1][2]. See the pic below for reference.
>
> No magic other than I've been working to restore the Dell 316SX so it now
> has a NIC with the XT-IDE r625 BIOS in it's ROM slot. The original 3.5" &
> 5.25" drives aren't spinning and I need to refurb those next.
>
> You could try imaging a small (<2GB) USB stick with FD13BOOT.IMG and try
> booting off that as well [3]. It might take a reflash of the BIOS. They'll
> need to hit 'A' quickly to redirect XT-IDE to boot off floppy instead of
> the CF. I might test that as well.
>
>

Thank you very much. I got a few ideas from this.

Can you make a raw disk image of that 256MB CF card and upload it somewhere? Of course delete anything that is propriatry (software) or any personal files. :)

Oso2k

31.01.2024, 02:58

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > FD 1.3 Floppy Edition[0] to my slot on my Gotek formatted USB stick. I
> > then used a Dell 316SX (a 386) with a Gotek FDD emulator & XT-IDE r625
> to
> > boot FD v1.3 over floppy. Next, I FDISK'd a 256MB CF card as FAT16 (CHS
> > 984/16/32). Rebooted again to floppy and then ran `format C:/q/s`. I

>
> Thank you very much. I got a few ideas from this.
>
> Can you make a raw disk image of that 256MB CF card and upload it
> somewhere? Of course delete anything that is propriatry (software) or any
> personal files. :)

Sure give me a few hours. I’ll even make one with a 512MB of the same type as you have.

Oso2k

31.01.2024, 07:30

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> > Thank you very much. I got a few ideas from this.
> >
> > Can you make a raw disk image of that 256MB CF card and upload it
> > somewhere? Of course delete anything that is propriatry (software) or
> any
> > personal files. :)
>
> Sure give me a few hours. I’ll even make one with a 512MB of the same
> type as you have.

@boeckmann Apologies in advance if it is a faux pas, but I borrowed your nextcloud to upload my artifacts.

https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE?path=%2Foso2k

Feel free to delete if they're using too much space.

@bocke I uploaded a pic, two disk images, and several videos. The drive images are not <2MB like I expected. I did a quick format of the drives and I had played with them prior to. Mostly adding NE2000 drivers, PhilsComputerLab DOSBenchmarks, XT-IDE utils, a few other things. Nothing you couldn't already obtain or probably have if you already have a Book8088 or other DOS machines/VMs. That stuff is likely (partially) available as unlinked free space if you use a good FAT recovery tool.

bocke

31.01.2024, 09:03

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> @boeckmann Apologies in advance if it is a faux pas, but I borrowed your
> nextcloud to upload my artifacts.
>
> https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE?path=%2Foso2k
>
> Feel free to delete if they're using too much space.
>
> @bocke I uploaded a pic, two disk images, and several videos. The drive
> images are not <2MB like I expected. I did a quick format of the drives
> and I had played with them prior to. Mostly adding NE2000 drivers,
> PhilsComputerLab DOSBenchmarks, XT-IDE utils, a few other things. Nothing
> you couldn't already obtain or probably have if you already have a Book8088
> or other DOS machines/VMs. That stuff is likely (partially) available as
> unlinked free space if you use a good FAT recovery tool.

Thank you so much. I'll have to study this through after work today.

boeckmann

Aachen, Germany,
31.01.2024, 11:03

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> @boeckmann Apologies in advance if it is a faux pas, but I borrowed your
> nextcloud to upload my artifacts.
>
> https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE?path=%2Foso2k

I am fine with it :-)

boeckmann

Aachen, Germany,
31.01.2024, 11:28
(edited by boeckmann, 31.01.2024, 11:39)

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> @bocke I uploaded a pic

https://nextcloud.iww.rwth-aachen.de/index.php/app...fileId=2402325&x=3840&y=2160&a=true

Thats an informative screenshot. So ext. INT 13 LBA functions are not supported by the BIOS at all. Seems that BIOSDRVS is the tool I was looking for.

bocke

31.01.2024, 13:38

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > @bocke I uploaded a pic
>
> https://nextcloud.iww.rwth-aachen.de/index.php/app...fileId=2402325&x=3840&y=2160&a=true
>
> Thats an informative screenshot. So ext. INT 13 LBA functions are not
> supported by the BIOS at all. Seems that BIOSDRVS is the tool I was looking
> for.

This is how it looks on my Book8088:
[image]

fritz.mueller

Homepage

Munich, Germany,
31.01.2024, 15:35

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

I created another CF image 512 MB:

https://www.bootablecd.de/CompactFlash-61-254-63-02-001.zip

The difference is that it uses CHS 66/255/63 (end chs: 61/254/63)

This was mentioned in a forum referring to 8088 BIOS for 512 MB,
https://github.com/skiselev/8088_bios/issues/59

Please test if this version works for you, if not, I give up, but there are so many hints in the forum mentioned that I am sure you will find a better one.

The pictures on the bttr forum already show a lot of different BIOSes, so with two versions of 8088 Book and different processors inside (as described in the article about the 8088 in this forum) it is very hard to say something.

One information even says that not every CF works with it, but the original one should do it? :-(
Long story short: Why did the creator of the book give no informations on how to use other DOS versions? It would have been much easier and more legal for him to use a free DOS instead of a stolen one. :-(

bocke

31.01.2024, 17:37

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> I created another CF image 512 MB:
>
> https://www.bootablecd.de/CompactFlash-61-254-63-02-001.zip
>
> The difference is that it uses CHS 66/255/63 (end chs: 61/254/63)
>

> Please test if this version works for you, if not, I give up, but there are
> so many hints in the forum mentioned that I am sure you will find a better
> one.
>

Unfortunately no luck this time either:
[image]

> This was mentioned in a forum referring to 8088 BIOS for 512 MB,
> https://github.com/skiselev/8088_bios/issues/59
>

This topic looks interesting. There seem to be some new ideas to try.

Thanx for pointing me in that direction and thank you for your help so far. :)

Oso2k

31.01.2024, 17:28

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > @bocke I uploaded a pic
>
> https://nextcloud.iww.rwth-aachen.de/index.php/app...fileId=2402325&x=3840&y=2160&a=true
>
> Thats an informative screenshot. So ext. INT 13 LBA functions are not
> supported by the BIOS at all. Seems that BIOSDRVS is the tool I was looking
> for.

It's part of XT-IDE

bocke

31.01.2024, 11:06

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> Sure give me a few hours. I’ll even make one with a 512MB of the same
> type as you have.

I tried 512 MB first. Unfortunately it gets stucked after initdisk. But at least it doesn't show a warning.

[image]

Instead of booting it just gets stucked there. I'll try another known working card later. Just in case.

bocke

31.01.2024, 11:16

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> I'll try another known working card later. Just in case.

That didn't work either. Next thing to try is to try writing the card on another computer and/or OS.

If that doesn't work, I'll suspend my attempts on this until I get a card reader (or two).

Unfortunately, I can't try 256MB image currently as it seems I don't have any CF card of 256MB. Only 512 and 128.

bocke

31.01.2024, 17:39

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> https://arstechnica.com/gadgets/2023/07/going-deep...8-the-brand-new-laptop-that-runs-like-its-1981/
> 5th big picture, it shows PC-DOS version 7, revision 1.
>

Interesting. Good to know there is that option too.

fritz.mueller

Homepage

Munich, Germany,
31.01.2024, 18:42

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Giving up is only the last alternative! :-)

Could you give Bernd Böckmann the permission to send me a copy of the dd image of the working MS-DOS version? I promise not to misuse it.

Reason: I want to see what happens if I run it with virtualbox or another vm.
Does it boot or not? Changing from dd to vhd should not be the problem as you could already see at one of the FD images.
And with IMDISK it should be easy to mount it in Windows - so you can simply add files inside and check what is going on.

Thanks for permission.

Fritz

bocke

31.01.2024, 18:45

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> Could you give Bernd Böckmann the permission to send me a copy of the dd
> image of the working MS-DOS version? I promise not to misuse it.
>

No problem. :)

boeckmann

Aachen, Germany,
31.01.2024, 19:24

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > Could you give Bernd Böckmann the permission to send me a copy of the
> dd
> > image of the working MS-DOS version? I promise not to misuse it.
> >
>
> No problem. :)

@bocke I have now uploaded an EDR-DOS kernel based version of my image from yesterday, with CHS */16/63, as indicated by the BIOSDRVS from your screenshot. Can you please try if this boots? It is in file drive_0_edr.zip at

https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE

@Fritz: The original image is also in this folder as book8088_disk1.img

Thanks!

fritz.mueller

Homepage

Munich, Germany,
31.01.2024, 21:33

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

Thanks Bernd,
I just uploaded the working MS-DOS as vhd for virtualbox for you.
Please check fdisk 1.3.12 on image, geometry says: 67/255/63, end: 61/254/63
Addition: Sorry, my mistake, I created a little bigger HD!

More asap.

bocke

31.01.2024, 22:31

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

>
> @bocke I have now uploaded an EDR-DOS kernel based version of my image from
> yesterday, with CHS */16/63, as indicated by the BIOSDRVS from your
> screenshot. Can you please try if this boots? It is in file drive_0_edr.zip
> at
>

It boots without the problem.
[image]

fritz.mueller

Homepage

Munich, Germany,
31.01.2024, 23:43

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Great! Congratulations!
Can you add a fd fdisk and a ranish and upload a dd image to Bernds site?

Thx.

Now the only question is why fd has problems.

bocke

01.02.2024, 00:21

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> Great! Congratulations!
> Can you add a fd fdisk and a ranish and upload a dd image to Bernds site?
>
> Thx.
>
> Now the only question is why fd has problems.

Uploaded. It's called edrdos.img.
https://nextcloud.iww.rwth-aachen.de/index.php/s/rjmZzcJrZkWMcrE

boeckmann

Aachen, Germany,
01.02.2024, 00:24

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> Great! Congratulations!
> Can you add a fd fdisk and a ranish and upload a dd image to Bernds site?

FDISK is already contained in the SvarDOS base installation. I added PART.EXE to the image and re-uploaded it as drive_0_edr.zip.

boeckmann

Aachen, Germany,
01.02.2024, 00:25

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > Great! Congratulations!
> > Can you add a fd fdisk and a ranish and upload a dd image to Bernds
> site?
>
> FDISK is already contained in the SvarDOS base installation. I added
> PART.EXE to the image and re-uploaded it as drive_0_edr.zip.

edit: bocke was faster :-D

fritz.mueller

Homepage

Munich, Germany,
01.02.2024, 09:46
(edited by fritz.mueller, 01.02.2024, 10:09)

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > > Great! Congratulations!
> > > Can you add a fd fdisk and a ranish and upload a dd image to Bernds
> > site?
> >
> > FDISK is already contained in the SvarDOS base installation. I added
> > PART.EXE to the image and re-uploaded it as drive_0_edr.zip.
>
> edit: bocke was faster :-D


ok, no problem, but the question is still, why did fd not work although several people say it does?

boeckmann

Aachen, Germany,
01.02.2024, 17:25

@ fritz.mueller
 

Book8088's CF2IDE stumps Freedos boot

> but the question is still, why did fd not work although
> several people say it does?

The question should be why the FreeDOS kernel fails while EDR-DOS and MS-DOS do not.

Oso2k

02.02.2024, 04:25

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > but the question is still, why did fd not work although
> > several people say it does?
>
> The question should be why the FreeDOS kernel fails while EDR-DOS and
> MS-DOS do not.

I had a thought. Is it using a 8086 FD kernel or is it using a 386 FD kernel? AFAIK, MS was good about restricting itself to 8088/8086 instructions and FD makes like 4 versions of the kernel available including a couple which require a 386. SvarDOS is also 8088/8086 kernel with a separate distro for 386. https://svarog386.sourceforge.net/

bocke

02.02.2024, 08:39

@ Oso2k
 

Book8088's CF2IDE stumps Freedos boot

> > > but the question is still, why did fd not work although
> > > several people say it does?
> >
> > The question should be why the FreeDOS kernel fails while EDR-DOS and
> > MS-DOS do not.
>
> I had a thought. Is it using a 8086 FD kernel or is it using a 386 FD
> kernel? AFAIK, MS was good about restricting itself to 8088/8086
> instructions and FD makes like 4 versions of the kernel available including
> a couple which require a 386. SvarDOS is also 8088/8086 kernel with a
> separate distro for 386. https://svarog386.sourceforge.net/

Yeah, there are 4 kernel images: 8086 with FAT16, 8086 with FAT32, 80386 with FAT16 and 80386 with FAT32.

The right one to use would be 8086 with FAT16, unless using media bigger than 2GB.

Not sure if 80386 kernels would even work on 8088.

bocke

02.02.2024, 08:46

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> The right one to use would be 8086 with FAT16, unless using media bigger
> than 2GB.

Although, you could also use 8086 with FAT32 support as that should also support FAT16 (and FAT12).

> Source and 8086 compatible builds provided, f16 only supports FAT12/FAT16,
> while f32 also supports FAT32 formatted disks (both 8086).

bocke

02.02.2024, 08:49

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Anyway, I found out you can change the kernel parameters (including LBA support) using sys.

sys config kernel.sys

Haven't yet tried it as for now.

bocke

02.02.2024, 12:25

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> Not sure if 80386 kernels would even work on 8088.

I can confirm it won't. It will show the warning that it requires 80386 or higher. I just tried for completness sake.

That leads me to the conclusion that we used the correct kernel.

boeckmann

Aachen, Germany,
30.01.2024, 00:05
(edited by boeckmann, 30.01.2024, 00:16)

@ RayeR
 

Book8088's CF2IDE stumps Freedos boot

> > WARNING: using suspect partition Pri:1 FS 06: with calculated
> values
> > 988-1-63 instead of 61-254-63
> > C: HD1, Pri[1], CHS = 0-1-1, start= 0 MB, size = 486 MB

>
> Hm, looks like typical mismatch when disk is partitioned and formatted with
> different CHS than readed later...

Yes, deriving from the values in the screenshot, the CHS geometry under FreeDOS is detected as 16 heads, while it was formatted with a head count of of 255.

If the CF as a whole is less than 528 MB in size, 255 heads seems rather high, and 16 heads as reported by the XT-IDE BIOS is the "standard" one for such a disk size.

boeckmann

Aachen, Germany,
30.01.2024, 01:23
(edited by boeckmann, 30.01.2024, 01:51)

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

@bocke If you are able to write disk images to the CF card, you may try the following image with an installed SvarDOS system (with FreeDOS kernel). Its disk geometry is 995/16/63 (489 MiB) 987/16/63 (487 MB), which should be in accordance of what XT-IDE thinks about the CF card, despite being a little bit smaller than your card. You have to unzip the image.

https://nextcloud.iww.rwth-aachen.de/index.php/s/EBZ6zHE49Z9AGo6
https://nextcloud.iww.rwth-aachen.de/index.php/s/jBtGQPPb7keQoCc

bocke

30.01.2024, 05:13

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> @bocke If you are able to write disk images to the CF card, you may try the
> following image with an installed SvarDOS system (with FreeDOS kernel). Its
> disk geometry is 995/16/63 (489 MiB) 987/16/63 (487 MB), which
> should be in accordance of what XT-IDE thinks about the CF card, despite
> being a little bit smaller than your card. You have to unzip the image.
>
> https://nextcloud.iww.rwth-aachen.de/index.php/s/EBZ6zHE49Z9AGo6
> https://nextcloud.iww.rwth-aachen.de/index.php/s/jBtGQPPb7keQoCc

It prints out only:
" -Initdisk " and then goes onto to show this blinking light show:

[image]

I found some anonymous file host to upload a video of a boot:
https://ufile.io/0ivj391d

bocke

30.01.2024, 05:20

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

This is the output (from Linux) of fdisk -l on both the file you sent me and SD card it was written to:

$ fdisk -l drive_0.img
Disk drive_0.img: 485,79 MiB, 509386752 bytes, 994896 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device       Boot Start    End Sectors   Size Id Type
drive_0.img1 *       63 993887  993825 485,3M  6 FAT16

$ fdisk -l /dev/sdd

Disk /dev/sdd: 488,74 MiB, 512483328 bytes, 1000944 sectors
Disk model: h 8.0.0         
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start    End Sectors   Size Id Type
/dev/sdd1  *       63 993887  993825 485,3M  6 FAT16


So, it seems that the image was written successfully.

bocke

30.01.2024, 05:27

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> @bocke If you are able to write disk images to the CF card, you may try the
> following image with an installed SvarDOS system (with FreeDOS kernel). Its
> disk geometry is 995/16/63 (489 MiB) 987/16/63 (487 MB), which
> should be in accordance of what XT-IDE thinks about the CF card, despite
> being a little bit smaller than your card. You have to unzip the image.
>
> https://nextcloud.iww.rwth-aachen.de/index.php/s/EBZ6zHE49Z9AGo6
> https://nextcloud.iww.rwth-aachen.de/index.php/s/jBtGQPPb7keQoCc

drive_0.img seems to be ok too. It boots fine in Qemu:
[image]

But, it doesn't work on the machine when written to CF card.

RayeR

Homepage

CZ,
30.01.2024, 22:21

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> Yes, deriving from the values in the screenshot, the CHS geometry under
> FreeDOS is detected as 16 heads, while it was formatted with a head count
> of of 255.
>
> If the CF as a whole is less than 528 MB in size, 255 heads seems rather
> high, and 16 heads as reported by the XT-IDE BIOS is the "standard" one for
> such a disk size.

If I remember well there should exist some ATA command to enforce CHS geometry on LBA capable drives. Probably Linux/hdparam can play with this too:

https://unix.stackexchange.com/questions/629411/is...ce-a-certain-chs-drive-geometry-in-modern-linux

But if the whole bootchain would use LBA (XTIDE? LBA MBR, LBA DBR, LBA partition...) then this problem shouldn't occur.

---
DOS gives me freedom to unlimited HW access.

bocke

31.01.2024, 02:38

@ RayeR
 

Book8088's CF2IDE stumps Freedos boot

> https://unix.stackexchange.com/questions/629411/is...ce-a-certain-chs-drive-geometry-in-modern-linux
>
> But if the whole bootchain would use LBA (XTIDE? LBA MBR, LBA DBR, LBA
> partition...) then this problem shouldn't occur.

Sounds interesting. I'll take a look into it. It might not be bad to try.

bocke

30.01.2024, 18:30

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> Which kernel revisions exactly did you test? Can you try a current build
> like the one available at
> https://github.com/FDOS/kernel/actions/runs/7281511383?


I'm going to retest this once again in case I missed something.

samwdpckr

04.02.2024, 03:23

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

XT-class BIOSes don't usually support LBA, so the DOS kernel has to use CHS to access the sectors on the disk.

Many DOS implementations (probably at least FreeDOS and MS-DOS, not sure) detect the disk geometry from the information in the FAT boot sector, so you cannot just write any random filesystem image to the SD card with Linux's dd command and expect it to work properly.

When creating the filesystem you need to use the same geometry that the Book8088's BIOS uses.

At least MS-DOS and FreeDOS also require that the disk is partitioned. The starting sectors of the partitions in the partition table also need to be compatible with the actual geometry.

roytam

04.02.2024, 03:46

@ samwdpckr
 

Book8088's CF2IDE stumps Freedos boot

> XT-class BIOSes don't usually support LBA, so the DOS kernel has to use CHS
> to access the sectors on the disk.
>
> Many DOS implementations (probably at least FreeDOS and MS-DOS, not sure)
> detect the disk geometry from the information in the FAT boot sector, so
> you cannot just write any random filesystem image to the SD card with
> Linux's dd command and expect it to work properly.
>
> When creating the filesystem you need to use the same geometry that the
> Book8088's BIOS uses.
>
> At least MS-DOS and FreeDOS also require that the disk is partitioned. The
> starting sectors of the partitions in the partition table also need to be
> compatible with the actual geometry.

you can test it with 86box, with 8088 machine with XT-IDE and a disk image with CHS=1006/16/63, partitioned and formatted with DOS 3.31, and boot with FreeDOS 2043-86 kernel (F16/F32 doesn't matter) and you can get same error:
[image]
(I even tried latest snapshot uploaded in github, but it makes no difference)

samwdpckr

04.02.2024, 05:27

@ roytam
 

Book8088's CF2IDE stumps Freedos boot

> > XT-class BIOSes don't usually support LBA, so the DOS kernel has to use
> CHS
> > to access the sectors on the disk.
> >
> > Many DOS implementations (probably at least FreeDOS and MS-DOS, not
> sure)
> > detect the disk geometry from the information in the FAT boot sector, so
> > you cannot just write any random filesystem image to the SD card with
> > Linux's dd command and expect it to work properly.
> >
> > When creating the filesystem you need to use the same geometry that the
> > Book8088's BIOS uses.
> >
> > At least MS-DOS and FreeDOS also require that the disk is partitioned.
> The
> > starting sectors of the partitions in the partition table also need to
> be
> > compatible with the actual geometry.
>
> you can test it with 86box, with 8088 machine with XT-IDE and a disk image
> with CHS=1006/16/63, partitioned and formatted with DOS 3.31, and boot with
> FreeDOS 2043-86 kernel (F16/F32 doesn't matter) and you can get same
> error:
> [image]
> (I even tried latest snapshot uploaded in github, but it makes no
> difference)

There may also be something wrong with FreeDOS. I noticed that for some reason ST-DOS's partition mounter can parse logical partitions that are created with MS-DOS 6.22, but it has problems parsing logical partitions that are created with FreeDOS. FreeDOS is probably not fully following the specification of the MS-DOS partition table. FreeDOS doesn't have problems parsing partition tables that are created with its own FDISK though.

FreeDOS is clearly doing something differently than MS-DOS, but I haven't investigated what exactly is the difference.

Different versions of MS-DOS also create different partition tables and parse them differently, and they may not be 100% compatible with each other. MS-DOS 3.31 is a relatively old version, and FreeDOS only aims to be compatible with MS-DOS 6.22.

I recommend at least creating the partition tables and filesystems with the same operating system that is going to use them.

roytam

04.02.2024, 05:52

@ samwdpckr
 

Book8088's CF2IDE stumps Freedos boot

> > > XT-class BIOSes don't usually support LBA, so the DOS kernel has to
> use
> > CHS
> > > to access the sectors on the disk.
> > >
> > > Many DOS implementations (probably at least FreeDOS and MS-DOS, not
> > sure)
> > > detect the disk geometry from the information in the FAT boot sector,
> so
> > > you cannot just write any random filesystem image to the SD card with
> > > Linux's dd command and expect it to work properly.
> > >
> > > When creating the filesystem you need to use the same geometry that
> the
> > > Book8088's BIOS uses.
> > >
> > > At least MS-DOS and FreeDOS also require that the disk is partitioned.
> > The
> > > starting sectors of the partitions in the partition table also need to
> > be
> > > compatible with the actual geometry.
> >
> > you can test it with 86box, with 8088 machine with XT-IDE and a disk
> image
> > with CHS=1006/16/63, partitioned and formatted with DOS 3.31, and boot
> with
> > FreeDOS 2043-86 kernel (F16/F32 doesn't matter) and you can get same
> > error:
> > [image]
> > (I even tried latest snapshot uploaded in github, but it makes no
> > difference)
>
> There may also be something wrong with FreeDOS. I noticed that for some
> reason ST-DOS's partition mounter can parse logical partitions that are
> created with MS-DOS 6.22, but it has problems parsing logical partitions
> that are created with FreeDOS. FreeDOS is probably not fully following the
> specification of the MS-DOS partition table. FreeDOS doesn't have problems
> parsing partition tables that are created with its own FDISK though.
>
> FreeDOS is clearly doing something differently than MS-DOS, but I haven't
> investigated what exactly is the difference.
>
> Different versions of MS-DOS also create different partition tables and
> parse them differently, and they may not be 100% compatible with each
> other. MS-DOS 3.31 is a relatively old version, and FreeDOS only aims to be
> compatible with MS-DOS 6.22.
>
> I recommend at least creating the partition tables and filesystems with the
> same operating system that is going to use them.

same HD image booted with QEMU and DOS 6.22 shows no problem:
[image]
[image]

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 09:38

@ roytam
 

Book8088's CF2IDE stumps Freedos boot

> you can test it with 86box, with 8088 machine with XT-IDE and a disk image
> with CHS=1006/16/63, partitioned and formatted with DOS 3.31, and boot with
> FreeDOS 2043-86 kernel (F16/F32 doesn't matter) and you can get same
> error:
> [image]
> (I even tried latest snapshot uploaded in github, but it makes no
> difference)

Can you upload an image like that? If it fails in 86box on a Linux host too I could try to debug it.

---
l

roytam

04.02.2024, 11:54

@ ecm
 

Book8088's CF2IDE stumps Freedos boot

> > you can test it with 86box, with 8088 machine with XT-IDE and a disk
> image
> > with CHS=1006/16/63, partitioned and formatted with DOS 3.31, and boot
> with
> > FreeDOS 2043-86 kernel (F16/F32 doesn't matter) and you can get same
> > error:
> > [image]
> > (I even tried latest snapshot uploaded in github, but it makes no
> > difference)
>
> Can you upload an image like that? If it fails in 86box on a Linux host too
> I could try to debug it.

if you have uudecode and xdelta3, you can create one yourself:

1. create empty file with specified size
`dd if=/dev/zero of=512M_CF.null bs=16384 count=31689`

2. save below block as `512M_CF.uue` and run `uudecode 512M_CF.uue` to generate `512M_CF.xdt`
->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-

begin 644 512M_CF.xdt
MUL/$``0:-3$R35]#1BYI;6<O+S4Q,DU?0T8N;G5L;"\$A6^$@(```(4$3!(C
M4"[@^C/`CM"\`'R+]%`'4!_[_+\`!KD``?*EZAT&``"^O@>S!(`\@'0.@#P`
M=1R#QA#^RW7OS1B+%(M,`HON=!J`/`!T]+Z+!JP\`'0+5KL'`+0.S1!>Z_#K
M_K\%`+L`?+@!`E?-$U]S##/`S1-/=>V^HP;KT[["!K_^?8$]5:IUQXOUZ@!\
M``!);G9A;&ED('!A<G1I=&EO;B!T86)L90!%<G)O<B!L;V%D:6YG(&]P97)A
M='-Y<W1E;0!-:7-S`(`!`0`&#__M/P```.%X#P!5J@#K*)!)0DT@(#,N,P`"
M$`$``@`"``#X^``_`!``^C/MN,`'CMC$'AP`B!;]`0K2>0B)'B0`C`8F`([%
MCM6\`'S\'C;%-G@`ORI\N0L`\Z0?Q@8N``^_>`"X*GRKD:O[BA;]`<T3H!``
MF/<F%@`#!@X`Z',`Z'D`NP`%4^B@`%^^<0&Y"P"0\Z9U5X/'%;$+D$PFBT<<
MF8L."P`#P4CW\3T4`'\"L!26H1$`L033Z.@R`/\V)`#$'FT!Z#``Z%L`*_!V
M#>@=`%+W)@L``]A:Z^E;BBX5`/\N;0&^BP'K5)`!!B0`$2XF`,.A&`#V)AH`
MD:$D`(L6)@#W\9*+#A@`]O$JS)'^Q8;IT,[0S@KQAO*'RL._!0"X`0+-$W(#
ML`'#@/P1=/CJOM4!Z!T`OJL!Z!<`,\#-%C;'!G($-!+J``#__[0.NP<`S1"L
M/"1U],,``'``24\@4UE335-$3U,*#4YO;BU3(&1I<VL@;W)E<G)O<B0*#5)E
M<&QA8V4@86YD('-T<FEK>2!K97D@=VAE;B!R96%D>0H-)`H-1&)O;W0@9F%I
M;'5R920@@%6J^/___P``_P`!/!4!=B0,(Q4`@6,0`#$#`('X``$<3@%S)`%%
M)`$\)`$3%@$Q)0DF)`AE"28!&20!%B0.`!0(`(???#.'X```@8```*Z\``"#
MOX0`+`H9@AD+>D!L`0N"85`("S=I!!*$@(````$%``>```$``(2`@``$$H2`
M@````04`!X```0``A("```02A("````!!0`'@``!``"$@(``!!*$@(````$%
M``>```$``(2`@``$$H2`@````04`!X```0``A("```02A("````!!0`'@``!
M``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`@````04`!X```0``A("`
M``02A("````!!0`'@``!``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`
M@````04`!X```0``A("```02A("````!!0`'@``!``"$@(``!!*$@(````$%
M``>```$``(2`@``$$H2`@````04`!X```0``A("```02A("````!!0`'@``!
M``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`@````04`!X```0``A("`
M``02A("````!!0`'@``!``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`
M@````04`!X```0``A("```02A("````!!0`'@``!``"$@(``!!*$@(````$%
M``>```$``(2`@``$$H2`@````04`!X```0``A("```02A("````!!0`'@``!
M``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`@````04`!X```0``A("`
M``02A("````!!0`'@``!``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`
M@````04`!X```0``A("```02A("````!!0`'@``!``"$@(``!!*$@(````$%
M``>```$``(2`@``$$H2`@````04`!X```0``A("```02A("````!!0`'@``!
M``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`@````04`!X```0``A("`
M``02A("````!!0`'@``!``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`
M@````04`!X```0``A("```02A("````!!0`'@``!``"$@(``!!*$@(````$%
M``>```$``(2`@``$$H2`@````04`!X```0``A("```02A("````!!0`'@``!
M``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`@````04`!X```0``A("`
M``02A("````!!0`'@``!``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`
M@````04`!X```0``A("```02A("````!!0`'@``!``"$@(``!!*$@(````$%
M``>```$``(2`@``$$H2`@````04`!X```0``A("```02A("````!!0`'@``!
M``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`@````04`!X```0``A("`
M``02A("````!!0`'@``!``"$@(``!!*$@(````$%``>```$``(2`@``$$H2`
M@````04`!X```0``A("```02A("````!!0`'@``!``"$@(``!!*$@(````$%
M``>```$``(2`@``$$H2`@````04`!X```0``A("```02A("````!!0`'@``!
:``"$@(``!!*#R8````$%`$:N``$``(/)@```
`
end

->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-->8-

3. get/install/compile `xdelta3`, and run `xdelta3 -d -s 512M_CF.null 512M_CF.xdt 512M_CF.img`

then you should able to boot it on 86box(A drive with FreeDOS, and 512M_CF.img [CHS=1006/16/63] as IDE 0:0, press "a" key on XT-IDE boot delay prompt)

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 13:50

@ roytam
 

86Box setup

> if you have uudecode and xdelta3, you can create one yourself:

Had to install sharutils and xdelta3 on my Debian machine but I think I've got this part now.

> then you should able to boot it on 86box(A drive with FreeDOS, and
> 512M_CF.img [CHS=1006/16/63] as IDE 0:0, press "a" key on XT-IDE boot delay
> prompt)

Trying to boot a known-good 1440 KiB FAT12 diskette image using XTIDE results in the display of "Error 2h!", either with my boot loader (-D_COMPAT_FREEDOS -D_LBA=0 -D_USE_PART_INFO=0) or with FreeDOS's native boot loader. The same error occurs when I first eject the diskette from the drive.

[image]

What machine type did you set up? On the "Machine" page I chose "Machine type" 8088, "Machine" Generic XT clone, "CPU type" Intel 8088, "Speed" 16, "Memory" 640 KiB. On the "Storage controllers" page I chose "HD Controller" [ISA] PC/XT XTIDE, "FD Controller" Internal controller. On the "Hard disks" page I have my "IDE (0:0)" with C:H:S 1006:16:63, 495 MiB, "Speed" RAM Disk (max. speed). On the "Floppy & CD-ROM drives" page I selected "Type" 3.5" 1.44M (presumably they mean 90mm 1440 KiB) for the first drive, "Turbo timings" off, "Check BPB" on.

Also, whenever I hard reset the machine it pops up this screen:

Generic Turbo XT Bios 1987

System error #04, Continue?


Pressing any key in response to this seems to continue to boot as expected.

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 13:52

@ ecm
 

86Box setup

I uploaded the diskette image I am trying to boot to https://pushbx.org/ecm/test/20240204.2/

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 13:55

@ ecm
 

86Box setup

> I uploaded the diskette image I am trying to boot to
> https://pushbx.org/ecm/test/20240204.2/

Oops, loading HimemX on that image is a mistake and won't work. But it doesn't get that far to begin with, so whatever.

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 14:05

@ ecm
 

86Box setup

> > if you have uudecode and xdelta3, you can create one yourself:
>
> Had to install sharutils and xdelta3 on my Debian machine but I think I've
> got this part now.
>
> > then you should able to boot it on 86box(A drive with FreeDOS, and
> > 512M_CF.img [CHS=1006/16/63] as IDE 0:0, press "a" key on XT-IDE boot
> delay
> > prompt)
>
> Trying to boot a known-good 1440 KiB FAT12 diskette image using XTIDE
> results in the display of "Error 2h!", either with my boot loader
> (-D_COMPAT_FREEDOS -D_LBA=0 -D_USE_PART_INFO=0) or with
> FreeDOS's native boot loader. The same error occurs when I first eject the
> diskette from the drive.
>
> [image]
>
> What machine type did you set up? On the "Machine" page I chose "Machine
> type" 8088, "Machine" Generic XT clone, "CPU type" Intel 8088, "Speed" 16,
> "Memory" 640 KiB. On the "Storage controllers" page I chose "HD Controller"
> [ISA] PC/XT XTIDE, "FD Controller" Internal controller. On the "Hard disks"
> page I have my "IDE (0:0)" with C:H:S 1006:16:63, 495 MiB, "Speed" RAM Disk
> (max. speed). On the "Floppy & CD-ROM drives" page I selected "Type" 3.5"
> 1.44M (presumably they mean 90mm 1440 KiB) for the first drive, "Turbo
> timings" off, "Check BPB" on.
>
> Also, whenever I hard reset the machine it pops up this screen:
>
> Generic Turbo XT Bios 1987
>
> System error #04, Continue?

>
> Pressing any key in response to this seems to continue to boot as expected.

As you mentioned on the freedos-devel mailing list:

> You don't need a real Book8088 for testing. 86Box "Xi8088" machine with XT-IDE(CHS=1006/16/63) can reproduce this bug.

I switched the "Machine" to Xi8088, "CPU type" NEC V20, "Speed" 16, "FPU" 8087, "Memory" 640 KiB. Now it boots my FreeDOS diskette at least!

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 14:15

@ ecm
 

86Box setup

> As you mentioned on the freedos-devel mailing list:
>
> > You don't need a real Book8088 for testing. 86Box "Xi8088" machine with
> XT-IDE(CHS=1006/16/63) can reproduce this bug.
>
> I switched the "Machine" to Xi8088, "CPU type" NEC V20, "Speed" 16, "FPU"
> 8087, "Memory" 640 KiB. Now it boots my FreeDOS diskette at least!

I ran "sys c: /verbose" from my diskette then ran "ldebug /c=g=ffff:0" to restart. Pressing "C" for XTIDE to boot off the hard drive results in the FreeDOS kernel loading, no hang. FreeCOM comes up and asks for the date and time (as there is no autoexec.bat). After those prompts the C:\> shell prompt is displayed.

So I'll probably need to know more about your exact configuration to reproduce the error.

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 14:35

@ ecm
 

Drive C: DPB

> I ran "sys c: /verbose" from my diskette then ran "ldebug /c=g=ffff:0" to
> restart. Pressing "C" for XTIDE to boot off the hard drive results in the
> FreeDOS kernel loading, no hang. FreeCOM comes up and asks for the date and
> time (as there is no autoexec.bat). After those prompts the
> C:\> shell prompt is displayed.
>
> So I'll probably need to know more about your exact configuration to
> reproduce the error.

With https://pushbx.org/ecm/test/20240204.2/updated.img I ran the debugger from drive A: and recorded this layout of the drive C: DPB. Looks fine. Fairly large FAT but it should be fine.

[image]

---
l

roytam

04.02.2024, 14:50

@ ecm
 

Drive C: DPB

> > I ran "sys c: /verbose" from my diskette then ran "ldebug /c=g=ffff:0"
> to
> > restart. Pressing "C" for XTIDE to boot off the hard drive results in
> the
> > FreeDOS kernel loading, no hang. FreeCOM comes up and asks for the date
> and
> > time (as there is no autoexec.bat). After those prompts the
> > C:\> shell prompt is displayed.
> >
> > So I'll probably need to know more about your exact configuration to
> > reproduce the error.
>
> With https://pushbx.org/ecm/test/20240204.2/updated.img I ran the debugger
> from drive A: and recorded this layout of the drive C: DPB. Looks fine.
> Fairly large FAT but it should be fine.
>
> [image]

tried to boot your updated.img in my 86box but it stalls here:
[image]

bocke

04.02.2024, 15:22

@ roytam
 

Drive C: DPB

> tried to boot your updated.img in my 86box but it stalls here:
> [image]

Try booting FAT16 variant also to exclude any bugs with FAT32 kernel. It should also support FAT12/FAT16 but I had some problems while testing recently.

boeckmann

Aachen, Germany,
04.02.2024, 14:20

@ ecm
 

86Box setup

Maybe related to https://github.com/FDOS/kernel/issues/84 (OW 8086 build fails to boot)

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 14:28

@ boeckmann
 

86Box setup

> Maybe related to https://github.com/FDOS/kernel/issues/84 (OW 8086 build
> fails to boot)

I used the gcc compiled kernels that I host at https://pushbx.org/ecm/download/fdkernel.zip or https://pushbx.org/ecm/download/old/fdkernel/ -- Perhaps others can try the kernel.sys file from those on the Book8088?

---
l

boeckmann

Aachen, Germany,
04.02.2024, 14:37

@ ecm
 

86Box setup

> > Maybe related to https://github.com/FDOS/kernel/issues/84 (OW 8086 build
> > fails to boot)
>
> I used the gcc compiled kernels that I host at
> https://pushbx.org/ecm/download/fdkernel.zip or
> https://pushbx.org/ecm/download/old/fdkernel/ -- Perhaps others can try the
> kernel.sys file from those on the Book8088?

I compiled it witch Watcom C. It boots in Xi8088 86box if only ecm's floppy is attached. If I attach my drive C image from a few days earlier, the kernel hangs on boot like when running on Book8088.[image]

boeckmann

Aachen, Germany,
04.02.2024, 15:47

@ boeckmann
 

86Box setup

> > > Maybe related to https://github.com/FDOS/kernel/issues/84 (OW 8086
> build
> > > fails to boot)
> >
> > I used the gcc compiled kernels that I host at
> > https://pushbx.org/ecm/download/fdkernel.zip or
> > https://pushbx.org/ecm/download/old/fdkernel/ -- Perhaps others can try
> the
> > kernel.sys file from those on the Book8088?
>
> I compiled it witch Watcom C. It boots in Xi8088 86box if only ecm's floppy
> is attached. If I attach my drive C image from a few days earlier, the
> kernel hangs on boot like when running on
> Book8088.[image]

I got a little bit further. GCC and Watcom C kernel hang on my previous image. HOWEVER: if I scatter around some printf in initdisk.c (ProcessDisk()), the Watcom kernel boots fine with the image (have not tested GCC).

So my assumption is that the stack gets corrupted. I am not yet sure where exactly...

Here is the link to the image: https://nextcloud.iww.rwth-aachen.de/index.php/s/rtJRKk6ifYY8kRo

It still contains the EDR kernel, so 86box has to be booted for example with ECMs diskette.img.

boeckmann

Aachen, Germany,
04.02.2024, 16:24

@ boeckmann
 

86Box setup

This may be the problematic line: https://github.com/FDOS/kernel/blob/431be02b0a1067b89be1867103994dc34540e4c9/kernel/initdisk.c#L657

At least a printf in front of it prints, and a printf after it not. Interestingly, this fails when called the second time.

DriveParam start is printed right at the start of LBA_Get_Drive_Parameters. DriveParam 1 right before the INT13 call linked above. DriveParam 2 right after the INT13 call. This one is missing...

[image]

boeckmann

Aachen, Germany,
04.02.2024, 16:55

@ boeckmann
 

86Box setup

It indeed seems to be a BIOS related bug. INT13,41h fails the second time it is called. One can circumvent this by disabling the kernel LBA support via SYS CONFIG GLOBALENABLELBASUPPORT=0. And in fact the kernel than boots perfectly fine, at least in my case. I uploaded a LBA-disabled kernel to : https://nextcloud.iww.rwth-aachen.de/index.php/s/Sp8df8AiwAoXssg

Bocke can you please test this a last time?

Thanks, Bernd

roytam

04.02.2024, 17:22

@ boeckmann
 

86Box setup

> It indeed seems to be a BIOS related bug. INT13,41h fails the second time
> it is called. One can circumvent this by disabling the kernel LBA support
> via SYS CONFIG GLOBALENABLELBASUPPORT=0. And in fact the
> kernel than boots perfectly fine, at least in my case. I uploaded a
> LBA-disabled kernel to :
> https://nextcloud.iww.rwth-aachen.de/index.php/s/Sp8df8AiwAoXssg
>
> Bocke can you please test this a last time?
>
> Thanks, Bernd

yeah it works on Xi8088+XT-IDE now, hopefully it will work on real Book8088.
[image]

BTW trying to ask for confirmation in VCF:
https://forum.vcfed.org/index.php?threads/xtide-universal-bios.18240/post-1364795

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 20:32

@ roytam
 

86Box setup

> yeah it works on Xi8088+XT-IDE now, hopefully it will work on real
> Book8088.
> [image]
>

Do you have two hard disks connected here? Unlike my earlier tests this says "master" and "slave" are both detected as existing.

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 20:33

@ ecm
 

86Box setup

> > yeah it works on Xi8088+XT-IDE now, hopefully it will work on real
> > Book8088.
> > [image]
> >
>
> Do you have two hard disks connected here? Unlike my earlier tests this
> says "master" and "slave" are both detected as existing.

Ach, it shows a drive D: in the same screenshot. So you do.

---
l

bocke

04.02.2024, 21:31

@ boeckmann
 

86Box setup

> It indeed seems to be a BIOS related bug. INT13,41h fails the second time
> it is called. One can circumvent this by disabling the kernel LBA support
> via SYS CONFIG GLOBALENABLELBASUPPORT=0. And in fact the
> kernel than boots perfectly fine, at least in my case. I uploaded a
> LBA-disabled kernel to :
> https://nextcloud.iww.rwth-aachen.de/index.php/s/Sp8df8AiwAoXssg
>
> Bocke can you please test this a last time?
>
> Thanks, Bernd

I had some problems with CF Cards so I just managed to try it a 5 minutes ago.

And it works!

[image]

Oso2k

05.02.2024, 06:15

@ bocke
 

86Box setup

> I had some problems with CF Cards so I just managed to try it a 5 minutes
> ago.
>
> And it works!


Glad you got it to work.


I did some more testing and noticed some weird behavior. My Dell 316SX won't boot the drives w/it's native BIOS. XT-IDE r624 in my NIC's ROM socket is required for some reason. Instead I booted a floppy (MS DOS 7.1) to run some tests.

[image]
[image]
[image]
[image]
[image]
[image]
[image]
[image]
[image]
[image]
[image]
[image]

boeckmann

Aachen, Germany,
05.02.2024, 09:36

@ Oso2k
 

86Box setup

> > I had some problems with CF Cards so I just managed to try it a 5
> minutes
> > ago.
> >
> > And it works!
>
>
> Glad you got it to work.
>
>
> I did some more testing and noticed some weird behavior. My Dell 316SX
> won't boot the drives w/it's native BIOS. XT-IDE r624 in my NIC's ROM
> socket is required for some reason. Instead I booted a floppy (MS DOS 7.1)
> to run some tests.
>

Some BIOSes report the disk sizes a few cylinders (mostly one) smaller than the disk actually is to store "hidden" information or simply for compatibility reasons and when calling INT 13 CHS functions. This is "by design" and not an error per se.

Free FDISK may be told to actively test for such hidden sectors via altering its INI file or via environment variable set FFD_CHECKEXTRA=ON. But it is disabled by default.

To make sure no problems arise I recommend FDISKing the disk with the combination yielding the smaller cylinder count, if you plan to transfer the CF from system to system.

roytam

05.02.2024, 09:42

@ Oso2k
 

86Box setup

> > I had some problems with CF Cards so I just managed to try it a 5
> minutes
> > ago.
> >
> > And it works!
>
>
> Glad you got it to work.
>
>
> I did some more testing and noticed some weird behavior. My Dell 316SX
> won't boot the drives w/it's native BIOS. XT-IDE r624 in my NIC's ROM
> socket is required for some reason. Instead I booted a floppy (MS DOS 7.1)
> to run some tests.
>
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0183.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0184.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0186.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0187.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0189.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0190.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0191.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0192.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0193.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0194.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0196.jpg&x=756&y=491&a=true
> https://nextcloud.iww.rwth-aachen.de/index.php/app...2k/zIMG_0197.jpg&x=756&y=491&a=true

you're not only "lost" a sector, but a cylinder.
and both XTIDE BIOS and system BIOS can cause such problem.
but why/when will this happen is not known right now.

boeckmann

Aachen, Germany,
05.02.2024, 09:50

@ Oso2k
 

86Box setup

> I did some more testing and noticed some weird behavior. My Dell 316SX
> won't boot the drives w/it's native BIOS.

Where exactly does this hang? The 386 BIOS does not support LBA. If it hangs before the FreeDOS Kernel messages, the boot loader may be the cause. I saw that the XT-IDE for the Dell machine also does not support LBA.

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 19:57

@ boeckmann
 

86Box setup

> This may be the problematic line:
> https://github.com/FDOS/kernel/blob/431be02b0a1067b89be1867103994dc34540e4c9/kernel/initdisk.c#L657
>
> At least a printf in front of it prints, and a printf after it not.
> Interestingly, this fails when called the second time.
>
> DriveParam start is printed right at the start of
> LBA_Get_Drive_Parameters. DriveParam 1 right before the INT13
> call linked above. DriveParam 2 right after the INT13 call.
> This one is missing...
>
> [image]

Is it possibly related to the Trace Flag bug? Or Direction Flag being set to DOWN randomly in the interrupt call? Fixed by the PR being merged today: https://github.com/FDOS/kernel/pull/81

Please try with this patch merged but LBA enabled in the kernel CONFIG block.

---
l

boeckmann

Aachen, Germany,
04.02.2024, 20:02

@ ecm
 

86Box setup

> Is it possibly related to the Trace Flag bug? Or Direction Flag being set
> to DOWN randomly in the interrupt call? Fixed by the PR being merged today:
> https://github.com/FDOS/kernel/pull/81
>
> Please try with this patch merged but LBA enabled in the kernel CONFIG
> block.

The kernel I compiled today should already have your changes. But I double-check...

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 20:04

@ ecm
 

86Box setup

> > This may be the problematic line:
> >
> https://github.com/FDOS/kernel/blob/431be02b0a1067b89be1867103994dc34540e4c9/kernel/initdisk.c#L657
> >
> > At least a printf in front of it prints, and a printf after it not.
> > Interestingly, this fails when called the second time.
> >
> > DriveParam start is printed right at the start of
> > LBA_Get_Drive_Parameters. DriveParam 1 right before the
> INT13
> > call linked above. DriveParam 2 right after the INT13 call.
> > This one is missing...
> >
> > [image]
>
> Is it possibly related to the Trace Flag bug? Or Direction Flag being set
> to DOWN randomly in the interrupt call? Fixed by the PR being merged today:
> https://github.com/FDOS/kernel/pull/81
>
> Please try with this patch merged but LBA enabled in the kernel CONFIG
> block.

Also possible it doesn't like being called with Disabled Interrupts, which would probably make my patch make it fail worse / earlier.

---
l

boeckmann

Aachen, Germany,
04.02.2024, 20:23

@ ecm
 

86Box setup

> Also possible it doesn't like being called with Disabled Interrupts, which
> would probably make my patch make it fail worse / earlier.

Ok I double-checked. The tested kernel has your patch applied. It hangs if I enable LBA.

FDISK hangs too if it tries to use INT13,41h. In this case interrupts should be enabled?!? But would have to look into the Watcom RTL source to be sure...

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 20:28

@ boeckmann
 

86Box setup

> > Also possible it doesn't like being called with Disabled Interrupts,
> which
> > would probably make my patch make it fail worse / earlier.
>
> Ok I double-checked. The tested kernel has your patch applied. It hangs if
> I enable LBA.
>
> FDISK hangs too if it tries to use INT13,41h. In this case interrupts
> should be enabled?!? But would have to look into the Watcom RTL source to
> be sure...

Can you grab an image of the used XTIDE into a file and note down the address it enters the XTIDE module when called by int 13h? You can use lDebug like so:

ldebug
k idebios.bin
r bxcx = 10000
w SEGMENT:0

---
l

boeckmann

Aachen, Germany,
04.02.2024, 20:57
(edited by boeckmann, 04.02.2024, 21:08)

@ ecm
 

86Box setup

> Can you grab an image of the used XTIDE into a file and note down the
> address it enters the XTIDE module when called by int 13h? You can use
> lDebug like so:
>
> ldebug
> k idebios.bin
> r bxcx = 10000
> w SEGMENT:0


I uploaded it to:
https://nextcloud.iww.rwth-aachen.de/index.php/s/8cCX7KFY73MP6oz

IDE-XT ROM is located at frame C800. INT 13 vector points to EDR-DOS code at 0070:01C0. A pushf / far call combo is performed into the XT-IDE to C800:145B. The dump file starts at C800:0000 and is 64k.

boeckmann

Aachen, Germany,
04.02.2024, 21:24

@ boeckmann
 

86Box setup

For completeness: FDISK also hangs in LBA mode when running under the EDR kernel.

I will try to debug the INT 13 call FDISK does with ldebug, by setting a breakpoint to C800:145B.

boeckmann

Aachen, Germany,
04.02.2024, 21:37

@ boeckmann
 

86Box setup

> For completeness: FDISK also hangs in LBA mode when running under the EDR
> kernel.
>
> I will try to debug the INT 13 call FDISK does with ldebug, by setting a
> breakpoint to C800:145B.

I set up a conditional break point under lDebug with
bp new c800:145b when=ah==41

Sadly it can not set the breakpoint into the ROM because, well, its read-only. I can set the breakpoint to the EDR INT13 stub, but is there perhaps another way around this?

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 22:05

@ boeckmann
 

86Box setup

> > For completeness: FDISK also hangs in LBA mode when running under the
> EDR
> > kernel.
> >
> > I will try to debug the INT 13 call FDISK does with ldebug, by setting a
> > breakpoint to C800:145B.
>
> I set up a conditional break point under lDebug with
> bp new c800:145b when=ah==41
>
> Sadly it can not set the breakpoint into the ROM because, well, its
> read-only. I can set the breakpoint to the EDR INT13 stub, but is there
> perhaps another way around this?

No, using the stub is the way to go. If there is no stub (eg debugging before DOS installs its handler, or if a DOS does not have such a stub at all) then you can create a small handler like this:

a 0:5E0
 jmp (ri13s):(ri13o)
 .
r v0 = ri13p ; preserve if to reset
r dword [0:13 * 4] = 5E0
bp new ptr ri13p when AH == 41

---
l

boeckmann

Aachen, Germany,
04.02.2024, 23:25

@ ecm
 

86Box setup

The following part of the Xi8088 BIOS (not XT-IDE) overwrites the INT10 handler address. May be the root of the cause. DS being zero is a side effect of the intr() call FDISK performs, and by itself should not do any harm. It is restored before intr() returns.

[image]

boeckmann

Aachen, Germany,
04.02.2024, 23:27

@ boeckmann
 

86Box setup

> The following part of the Xi8088 BIOS (not XT-IDE) overwrites the INT10
> handler address. May be the root of the cause. DS being zero is a side
> effect of the intr() call FDISK performs, and by itself should not do any
> harm. It is restored before intr() returns.
>
> [image]

Seems that Eric was on the right path, and XT-IDE hands off the INT13 call to the Xi8088 BIOS. This in turn seems to mess things up.

roytam

05.02.2024, 00:30

@ boeckmann
 

86Box setup

> > The following part of the Xi8088 BIOS (not XT-IDE) overwrites the INT10
> > handler address. May be the root of the cause. DS being zero is a side
> > effect of the intr() call FDISK performs, and by itself should not do
> any
> > harm. It is restored before intr() returns.
> >
> > [image]
>
> Seems that Eric was on the right path, and XT-IDE hands off the INT13 call
> to the Xi8088 BIOS. This in turn seems to mess things up.

as listed in https://github.com/skiselev/8088_bios/blob/master/src/floppy1.inc and https://github.com/skiselev/8088_bios/blob/master/src/floppy2.inc , Xi8088 BIOS handles floppy part of int 13h only.

there is another bug report in https://github.com/skiselev/8088_bios/issues/46

boeckmann

Aachen, Germany,
05.02.2024, 00:44

@ roytam
 

86Box setup

> as listed in
> https://github.com/skiselev/8088_bios/blob/master/src/floppy1.inc and
> https://github.com/skiselev/8088_bios/blob/master/src/floppy2.inc , Xi8088
> BIOS handles floppy part of int 13h only.

That is not the problem. The problem is that the BIOS in version 0.9.4 fails to set DS to its data segment if it encounteres an an unsupported function
https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L89
https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L94

But it writes to it at https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L128

In later versions that seems to be handled differently, an the current binary for Xi8088 seems to work under 86box.

boeckmann

Aachen, Germany,
05.02.2024, 01:31

@ boeckmann
 

86Box setup

> > as listed in
> > https://github.com/skiselev/8088_bios/blob/master/src/floppy1.inc and
> > https://github.com/skiselev/8088_bios/blob/master/src/floppy2.inc ,
> Xi8088
> > BIOS handles floppy part of int 13h only.
>
> That is not the problem. The problem is that the BIOS in version 0.9.4
> fails to set DS to its data segment if it encounteres an an unsupported
> function
> https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L89
>
> https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L94
>
> But it writes to it at
> https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L128
>
> In later versions that seems to be handled differently, an the current
> binary for Xi8088 seems to work under 86box.

This specific bug seems to be fixed in BIOS version 0.9.9 by commit https://github.com/skiselev/8088_bios/commit/8799088bce5ca1c088631ba065f98794054dbf9a

roytam

06.02.2024, 02:43

@ boeckmann
 

86Box setup

> > > as listed in
> > > https://github.com/skiselev/8088_bios/blob/master/src/floppy1.inc and
> > > https://github.com/skiselev/8088_bios/blob/master/src/floppy2.inc ,
> > Xi8088
> > > BIOS handles floppy part of int 13h only.
> >
> > That is not the problem. The problem is that the BIOS in version 0.9.4
> > fails to set DS to its data segment if it encounteres an an unsupported
> > function
> >
> https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L89
> >
> >
> https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L94
> >
> > But it writes to it at
> >
> https://github.com/skiselev/8088_bios/blob/6da84ae09804002ae29080cd64dc85e58f46ae9f/floppy2.inc#L128
> >
> > In later versions that seems to be handled differently, an the current
> > binary for Xi8088 seems to work under 86box.
>
> This specific bug seems to be fixed in BIOS version 0.9.9 by commit
> https://github.com/skiselev/8088_bios/commit/8799088bce5ca1c088631ba065f98794054dbf9a

yeah, with 0.9.9 or newer xi8088 BIOS, it seems to boot fine even if LBA support is not disabled.

bocke

06.02.2024, 15:58

@ ecm
 

86Box setup

@ecm
Attaching images doesn't work for me on GitHub so I'm sending you the image here:
[image]

ecm

Homepage E-mail

Düsseldorf, Germany,
06.02.2024, 16:48

@ bocke
 

86Box setup

> @ecm
> Attaching images doesn't work for me on GitHub so I'm sending you the image
> here:
> [image]

Received, I will reply on github soon.

---
l

ecm

Homepage E-mail

Düsseldorf, Germany,
04.02.2024, 22:01

@ boeckmann
 

86Box setup

> For completeness: FDISK also hangs in LBA mode when running under the EDR
> kernel.
>
> I will try to debug the INT 13 call FDISK does with ldebug, by setting a
> breakpoint to C800:145B.

If it is ROM you will not be able to set a breakpoint. However, you can set a breakpoint in a RAM handler such as the DOS's int 13h handler then step into the ROM.

FD Debug and lDebug do allow to trace ROMs somewhat but you can't use int3 style breakpoints in a ROM. If you trace an interrupt instruction with Trace Mode zero (do not trace into the handler) then rather than write a breakpoint, the debugger will set the Trace Flag as for an ordinary instruction then run the int. This will usually cause a Trace Interrupt one instruction too late, as the iret of the handler will act like an iret done by the debugger. This bit is done here: https://hg.pushbx.org/ecm/ldebug/file/156a4890666e/source/run.asm#l3911

lDebug does allow to trace repeatedly into the silent buffer until a user-specified condition is true, though. This can be used as a poor woman's replacement for commands like GT, GNT, or P (on a loop/call) that would require a breakpoint. Just TP cccccc WHILE csip != F000_1234+3 SILENT 1 will do for a very simple example. More complicated things are possible, eg the PR (Proceed Until Return) command replacement I described in https://pushbx.org/ecm/dokuwiki/blog/pushbx/2023/0...g_and_access_variables_recent_changes_to_ldebug

---
l

boeckmann

Aachen, Germany,
04.02.2024, 20:28

@ boeckmann
 

86Box setup

> > Also possible it doesn't like being called with Disabled Interrupts,
> which
> > would probably make my patch make it fail worse / earlier.
>
> Ok I double-checked. The tested kernel has your patch applied. It hangs if
> I enable LBA.
>
> FDISK hangs too if it tries to use INT13,41h. In this case interrupts
> should be enabled?!? But would have to look into the Watcom RTL source to
> be sure...

I changed the CPU for 86Box from V20 to 8088. Same effect, system hangs...

mceric

Germany,
04.02.2024, 20:52

@ boeckmann
 

XT-IDE BIOS ponderings

Given that it has been mentioned that the Book8088 XT-IDE BIOS is involved in a crash triggered by the FreeDOS kernel and/or FDISK when they attempt to ask int 13.41 more than once whether EBIOS LBA support exists, which means that you can probably use SYS CONFIG to disable LBA checks and attempts in the FreeDOS kernel as a workaround until something in one of the BIOS handlers gets fixed:

> I changed the CPU for 86Box from V20 to 8088. Same effect, system hangs...

I have been digging around in the XT BIOS sources a bit. They basically assume that V20 supports all 186 opcodes such as pusha, popa, immediate push, immediate shifts etc. but no 386 opcodes such as movzx.

One odd detail here:

https://www.xtideuniversalbios.org/browser/xtideun...IDE_Universal_BIOS/Src/Handlers/Int13h.asm#L122

You do not have to use a convoluted macro for an immediate shift by ONE bit because all CPU support that. In addition, the macro has the strange property that it depends on CHECK_FOR_UNUSED_ENTRYPOINTS, why that?

https://www.xtideuniversalbios.org/browser/xtideun...ios/trunk/Assembly_Library/Inc/Emulate.inc#L660

However, if that were broken, nothing would work, so that is NOT why int 13.41 causes instability if MODULE_EBIOS for LBA support is not compiled in.

I do not know whether the XT-IDE in question is compiled with local stack in BDA. Probably not, because that would be 286+ according to code comments.

So you basically get an optional CLD, lots of registers and some local stack frame get pushed and allocated, a BIOS DS and DPT pointer get loaded (NUL for unknown DL), bx=2*ah, ah gets compared to 25 and either a jump table is processed or you go to unsupported function, which uses a stack trampoline to call whatever the int13 handler outside XT-IDE was. Then most registers are copied to the stack of XT-IDE, DS is set, IF and CF are processed on stack, the local frame is released, lots of registers get restored from stack and you end with an IRET. Seems all sane at first glance. There also are checks for DL, only 13.08 is always hooked, the rest depends on whether the disk is XT-IDE handled.

Makes me wonder what the original BIOS int13 handler WITHOUT XT-IDE will do for int13.41 LBA EBIOS support check calls?

---
FreeDOS / DOSEMU2 / ...

bocke

04.02.2024, 15:24

@ ecm
 

86Box setup

> I used the gcc compiled kernels that I host at
> https://pushbx.org/ecm/download/fdkernel.zip or
> https://pushbx.org/ecm/download/old/fdkernel/ -- Perhaps others can try the
> kernel.sys file from those on the Book8088?

Sure. I'll try it later today.

roytam

04.02.2024, 14:45

@ boeckmann
 

86Box setup

> Maybe related to https://github.com/FDOS/kernel/issues/84 (OW 8086 build
> fails to boot)

it is not the case, tried github action compiled gcc build in https://github.com/FDOS/kernel/actions/runs/7771227274#artifacts but nothing is changed.

bocke

04.02.2024, 15:17
(edited by bocke, 04.02.2024, 15:45)

@ ecm
 

86Box setup

> I switched the "Machine" to Xi8088, "CPU type" NEC V20, "Speed" 16, "FPU"
> 8087, "Memory" 640 KiB. Now it boots my FreeDOS diskette at least!

That's pretty similar to Book8088. Although it doesn't have 8087. You could order it separatelly but it gets hot easy and draws a lot of battery so almost none is using it.

I also think the clock is smaller. I can't remember the exact values, but I'll retest and let you know.

Although, the turbo is switched off by default.

Unfortunately not testable on a real machine as it doesn't come with a floppy controller. It does come wiht an 8-bit ISA extension board, but I didn't find any cheap and available 8-bit flopy controllers online so we can try something like that.

bocke

04.02.2024, 15:40
(edited by bocke, 04.02.2024, 15:57)

@ bocke
 

86Box setup

> It does come wiht an 8-bit ISA extension board, but I didn't
> find any cheap and available 8-bit flopy controllers online so we
> can try something like that.

I currenlty know about these projects:

Deluxe Floppy + Serial 8-bit ISA card = $50
https://monotech.fwscart.com/details/p6083514_19478745.aspx

8-bit ISA Floppy + serial card = ~ $60
https://shop.bluelavasystems.com/products/isa-8bit...-density-floppy-1-44-mb-2-88-mb-boot-rom-serial

Quad Flop - Four port 8-bit ISA floppy controller = $59,9
https://texelec.com/product/quad-flop-four-port-isa-floppy-controller/

Monster Floppy - -||- = $100 (?)
https://www.tindie.com/products/weird/monster-fdc/

roytam

04.02.2024, 14:22

@ ecm
 

86Box setup

> > if you have uudecode and xdelta3, you can create one yourself:
>
> Had to install sharutils and xdelta3 on my Debian machine but I think I've
> got this part now.
>
> > then you should able to boot it on 86box(A drive with FreeDOS, and
> > 512M_CF.img [CHS=1006/16/63] as IDE 0:0, press "a" key on XT-IDE boot
> delay
> > prompt)
>
> Trying to boot a known-good 1440 KiB FAT12 diskette image using XTIDE
> results in the display of "Error 2h!", either with my boot loader
> (-D_COMPAT_FREEDOS -D_LBA=0 -D_USE_PART_INFO=0) or with
> FreeDOS's native boot loader. The same error occurs when I first eject the
> diskette from the drive.
>
> [image]
>
> What machine type did you set up? On the "Machine" page I chose "Machine
> type" 8088, "Machine" Generic XT clone, "CPU type" Intel 8088, "Speed" 16,
> "Memory" 640 KiB. On the "Storage controllers" page I chose "HD Controller"
> [ISA] PC/XT XTIDE, "FD Controller" Internal controller. On the "Hard disks"
> page I have my "IDE (0:0)" with C:H:S 1006:16:63, 495 MiB, "Speed" RAM Disk
> (max. speed). On the "Floppy & CD-ROM drives" page I selected "Type" 3.5"
> 1.44M (presumably they mean 90mm 1440 KiB) for the first drive, "Turbo
> timings" off, "Check BPB" on.
>
> Also, whenever I hard reset the machine it pops up this screen:
>
> Generic Turbo XT Bios 1987
>
> System error #04, Continue?

>
> Pressing any key in response to this seems to continue to boot as expected.

You may choose machine "Xi8088" as it use (almost) same BIOS as Book8088.

bocke

04.02.2024, 15:06

@ samwdpckr
 

Book8088's CF2IDE stumps Freedos boot

> XT-class BIOSes don't usually support LBA, so the DOS kernel has to use CHS
> to access the sectors on the disk.
>

XT IDE universal BIOS is not "an usual" XT BIOS. It's a modern implementation of a BIOS extension that enables the use of IDE drives on retro machines that usually didn't support them.

Citing Lo-tech Wiki:
> The Vintage-Computer.com XT-IDE Community Project has developed several
> variations of an 8-bit ISA card that enables standard ATA (IDE) disks (and
> hence SATA or Compact Flash) to be used in an XT-class machine. The boards
> uses LBA addressing, and hence supports drives up to 137GB.

The rest of post is also offpoint. We didn't really usually try a random images. We figured out that the geometry is important early on in the topic.

The biggest problem is that FreeDOS fdisk didn't work on the machine. So it wasn't possible to partition the disk on the machine.

We did try some unusual things like trying to use FreeDOS sys on an MS-DOS partitioned disk because that is one of rare things we could try.

CF cards partitioned under an alternative FreeDOS 1.3 machine didn't work on the Book8088 either.

P.S. I appreciate anyone willing to try to help, but please read the whole topic carefully before replying. Often times what you suggest has been already tried several times.

boeckmann

Aachen, Germany,
04.02.2024, 17:18

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> The biggest problem is that FreeDOS fdisk didn't work on the machine. So it
> wasn't possible to partition the disk on the machine.

I will prepare a fix for FDISK. Theoretically there is command line parameter /x to disable LBA. Problem is, that the BIOS gets queried for LBA support even if LBA is disabled. And that is a problem if INT13,41h is broken.

I will modify FDISK such LBA that support is not even queried if LBA is disabled via /x parameter.

boeckmann

Aachen, Germany,
04.02.2024, 18:01

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> > The biggest problem is that FreeDOS fdisk didn't work on the machine. So
> it
> > wasn't possible to partition the disk on the machine.
>
> I will prepare a fix for FDISK. Theoretically there is command line
> parameter /x to disable LBA. Problem is, that the BIOS gets
> queried for LBA support even if LBA is disabled. And that is a problem if
> INT13,41h is broken.
>
> I will modify FDISK such LBA that support is not even queried if LBA is
> disabled via /x parameter.

A modified FDISK is uploaded to https://nextcloud.iww.rwth-aachen.de/index.php/s/D4sEZfG7LmHeWqy

This hopefully works on the Book8088 if started with parameter /x. At least this works for me under 86Box with Xi8088 machine and XT-IDE. It previously did not.

bocke

04.02.2024, 18:06

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

Let me make a coffee and I will slowly test it out.

Expect the answer in 30-45 minutes.

bocke

04.02.2024, 18:45

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Before I try anything, let me first post XTIDE BIOS settings:

[image]

[image]

[image]

Those are programmed in and it seems they can't be changed without reflashing.

But it also seems XT-IDE BIOS has an option of directly flashing to some types of EEPROMS. Does this work on Book8088 I don't know. I tried reflashing the values directly from XT-IDE options but that didn't work.

You can get these settings by running a small utility that comes wiht XT-IDE BIOS called xtidecfg.com.

bocke

04.02.2024, 18:48

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

Uhm.. Images get messed-up during upload. I'll try to upload elsewhere. Give me a sec.

bocke

04.02.2024, 18:52

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

https://i.imgur.com/GnCnytF.jpg
https://i.imgur.com/haJkyx3.jpg
https://i.imgur.com/Zr7qVj3.jpg

tom

Homepage

Germany (West),
04.02.2024, 19:28

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> https://i.imgur.com/Zr7qVj3.jpg

this is indeed an interesting find!!!

so it seems that it somewhat supports LBA, but not always (in all options).
therefore LBA enforing kernels may make a difference.

bocke

04.02.2024, 21:40

@ boeckmann
 

Book8088's CF2IDE stumps Freedos boot

> A modified FDISK is uploaded to
> https://nextcloud.iww.rwth-aachen.de/index.php/s/D4sEZfG7LmHeWqy
>

It actually starts, but it takes 6-10 seconds to start.

boeckmann

Aachen, Germany,
04.02.2024, 21:43

@ bocke
 

Book8088's CF2IDE stumps Freedos boot

> > A modified FDISK is uploaded to
> > https://nextcloud.iww.rwth-aachen.de/index.php/s/D4sEZfG7LmHeWqy
> >
>
> It actually starts, but it takes 6-10 seconds to start.

It is UPX compressed. May be the decompression that takes this time.

Back to index page
Thread view  Board view
22049 Postings in 2034 Threads, 396 registered users, 77 users online (1 registered, 76 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum