• Please review our updated Terms and Rules here

Help with getting dos on a cf card with a modern pc

When I asked if you could boot from the image, I meant the "virtual" image (i.e., the .img file) :) but while we're at it: yes, it is possible to mount physical media as a hard disk in PCem, but it requires a bit of hacking.

(Again, this works in Linux; most likely you'll need to modify the method a bit, there's a possibility that it won't work at all.)

In the PCem config directory (~/.pcem) there's a subdirectory called configs – this is where the definitions of your virtual machines are stored, one .cfg file per machine. If you open it, you'll find an entry named hdc_fn – this is the absolute path to your "virtual HDD" (=image file). You can change it so that it points to the device that represents your CF card (NOT to the drive letter, e.g., "E:"). It's hard to explain from the Linux perspective, and I don't know Windows that much, but Linux has a dedicated filesystem entry (/dev/) with all devices recognized by the system: storage drives, network devices, even abstract entities such as "null". The CF card is typically mounted as /dev/sdb or something similar – and this is the path that should be put in the config file.
Even then, PCem needs to be run as administrator (sudo).

I'm not sure if this will be of any help to you. Anyway, check if the contents of the image file reflect what has been written to the CF card!
 
- In PCem (the emulator) I created a virtual hard disk with 63 sectors and 16 heads (this is crucial!). Mine had 64 cylinders, giving a total disk space of 32 MB, but in theory it should be possible to create a much larger disk (if your DOS supports >32 MB drives).

YMMV but unless you have the exact CHS geometry, this doesn't work for me. You end up creating an image that an XT-IDE won't boot, but will still be viewable on a real hardware if booted from something else. I had issues with the reverse too: taking a raw CF image and letting PCem or 86box choose the geometry and the image can't be booted.

I have a stack of 32meg CF cards that otherwise look mostly identical but have 3 different geometries. I haven't figured out a reliable way to figure out the geometry without checking it in a real XT-IDE.

I don't claim to understand the full boot process though, so I may be missing something.
 
You guys should really look into configuring your XUBs via the tool. All the CHS settings, LBA translation mode, etc, all the options are there.
And 86Box+86BoxManager is a bit easier to work with than PCem.
 
YMMV but unless you have the exact CHS geometry, this doesn't work for me. You end up creating an image that an XT-IDE won't boot, but will still be viewable on a real hardware if booted from something else. I had issues with the reverse too: taking a raw CF image and letting PCem or 86box choose the geometry and the image can't be booted.

I have a stack of 32meg CF cards that otherwise look mostly identical but have 3 different geometries. I haven't figured out a reliable way to figure out the geometry without checking it in a real XT-IDE.

I don't claim to understand the full boot process though, so I may be missing something.
I stand corrected, then. I should have said that it (63s, 16h, 64c) did work for me 😄
 
Not sure if this is relevant to this discussion, but in my XT/IDE/CF adventure I noted that some CF cards reported they were C/H/S and some were LBA. I did look around for some way to convert one type to the other but didn't find any.

Bottom line, some older? CF cards I found in my son's old camera bag with his Nikon D70 worked fine in said camera but refused to work in either a 5150 or 5160 as bootable "disks".

I found I had the best luck with newer cards of the 2G size.
 
I found the best of luck with the major brands, Sandisk, Transcend, regardless of size, 32MB, 512MB, 2G, 4G. The no-names are problematic in XTCF.
 
Has anyone actually got a Dos 6.x working with a 5150 using a CF card?

If so please share how you accomplished it, because as someone implied earlier in the thread, I seem to be spending an inordinate amount of time going round in circles ;)

I'm looking at 86Box, but what would be the advantage, ditto for XUB configuration. Sorry, but I'm ignorant. :unsure:

It seems to me that I need a 6.x bootable 3 1/4 inch 720k diskette image. I can't find one. (or a CF image that I can dd or windows equivalent to a CF card. (I even bought an "Industrial" one). If need be I'll get a Linux machine running on an old laptop.
 
I don't have an IBM 5150 but yes, people have definitely gotten DOS 6.x working on a 5150 using a CF Card and XT-IDE.

Easiest way to install is to load the CF Card up in VirtualBox, install DOS 6.22 on it. Then move the CF Card over to your IBM 5150 no physical floppy disks required.

Here are some instructions it's a bit tricky to get the CF Card recognized by VBox's Virtual Media Manager.

Once you get the CF card loaded in VBox it's as easy as booting the DOS floppy, formatting the drive, and installing DOS from disk images.

You can find disk images for many DOS versions on Winworld. They don't have a DOS 6.x on 720k for some reason but they do have DOS 5.0 images on 720k and their are 360k images too.

Tech Tangents even managed to get a custom version of FreeDOS on his IBM 5150 with FAT32 support and he made some disk images available for that as well if you're feeling adventurous:
 
Has anyone actually got a Dos 6.x working with a 5150 using a CF card?

If so please share how you accomplished it, because as someone implied earlier in the thread, I seem to be spending an inordinate amount of time going round in circles ;)

I'm looking at 86Box, but what would be the advantage, ditto for XUB configuration. Sorry, but I'm ignorant. :unsure:

It seems to me that I need a 6.x bootable 3 1/4 inch 720k diskette image. I can't find one. (or a CF image that I can dd or windows equivalent to a CF card. (I even bought an "Industrial" one). If need be I'll get a Linux machine running on an old laptop.

On modern PC :

- Create raw image or vmdk image using manual CHS parameters for a desired size - use https://www.deathwombat.com/diskgeometry.html to come up with values for a disk that fits your CF and partitioning.
- Populate the image with system any way you want, PCem, Virtualbox, 86box, whatever
- Dump the image to CF card, the DOS partitions should automount as soon as the image write is complete
- Download the latest XUB zip from modem7's site, and place its contents on the CF

On XT, plug the CF in and boot from floppy disk.

- Mind the ROM address in the BIOS screen as it boots
- Go where you extracted the XUB data and enter xtidecfg
- Load BIOS from file, select ide_xt.bin
- Select configure XTIDE universal BIOS
- Select primary IDE controller -> master drive
- Set CHS translation to NORMAL
- (optional) Set User specified CHS to Yes
- (optional) Set your CHS parameters
- Flash the firmware; go back to first menu, flash EEPROM, and correct the ROM address if you have to.
- Reset and you should see XUB reported as 625 and your preimaged card should boot, if it doesn't do the optional steps.

If you guys haven't touched the XUB firmware on your purchases it's likely you're running 10+ year old version. You really need to upgrade so you have closer environment to what people actually run. I haven't managed to get the 2.0.0beta3 to perform the CHS translation correctly. With the steps above, my XT can boot multiple CFs of various sizes, from 32MB to 4GB tested, without these steps it cannot boot anything. YMMV
 
If you guys haven't touched the XUB firmware on your purchases it's likely you're running 10+ year old version. You really need to upgrade so you have closer environment to what people actually run. I haven't managed to get the 2.0.0beta3 to perform the CHS translation correctly. With the steps above, my XT can boot multiple CFs of various sizes, from 32MB to 4GB tested, without these steps it cannot boot anything. YMMV

Both of mine are stock with whatever shipped, so I'll definitely have to upgrade XUB and see if that helps with something I don't already know the CHS for.

I was able to build a setup in linux to generate CF images I can dd to a real CF card, but it's a PITA. I've have a DOS setup I like to share between real hardware, a MiSTER & emulators and it makes it easier to keep it all in sync if I can just regen the images as needed.

I still can't get anything to actually write a correct boot sector without "scripting" an emulator though :(
 
Has anyone actually got a Dos 6.x working with a 5150 using a CF card?
Yes Dos 6.22 works perfectly fine on my 5150
If so please share how you accomplished it, because as someone implied earlier in the thread, I seem to be spending an inordinate amount of time going round in circles ;)
You're not the only one, I have done a lot of testing on the systems i own over the years, Old Laptops, Desktops and Thin Clients using various CF / SD cards and USB adapters, Trying to get a bootable CF / SD card that will work / Boot when transferred to my old IBM's, I have succeeded but not with all systems i own, It's an easy task for me now but i have the hardware to play with.
I'm looking at 86Box, but what would be the advantage
I dunno, All this emulation talk just seem's like a pain in the ass way of going about it to me. I have used PCem before to create a DOS bootable hard drive image that i wrote to CF and that worked but i'd almost lost the will to live in the end
ditto for XUB configuration
Obviously the XUB has got to be configured correctly for the system you are using otherwise even if the CF
card is setup correctly it won't work
It seems to me that I need a 6.x bootable 3 1/4 inch 720k diskette image.
As Modem7 said earlier that is the easiest way, Install DOS using the 5150
If need be I'll get a Linux machine running on an old laptop.
If you have an old laptop can't you install dos on that and then you could create a 720k boot disk
.
 
Well I do have an old laptop, just a hd, no cd or drives (A little Samsung N110) actually. Found the correct ac power and it booted. So attached the external TEAC drive and have managed to load 6.22 on to the hard disk.

So booted from hard disk, put a 720k disk (with hole covered) and tried to format a:

Doesn't recognise the drive!!!! Why should it, it's USB.

Booted from floppy again, tried to format a: put new diskette in and bang, no go.

Lots of other attempts.

This is just so funny (not)! :cry:
 
Free to D/L program called Rufus allows formatting and installing .bin files onto a CF card plus hard drives. Loading MS DOS is one of the options along with loading FreeDOS. MS DOS installs do ask for the bin file location, but FreeDOS loads without a need to D/L any bin file.
 
Both of mine are stock with whatever shipped, so I'll definitely have to upgrade XUB and see if that helps with something I don't already know the CHS for.

I was able to build a setup in linux to generate CF images I can dd to a real CF card, but it's a PITA. I've have a DOS setup I like to share between real hardware, a MiSTER & emulators and it makes it easier to keep it all in sync if I can just regen the images as needed.

I still can't get anything to actually write a correct boot sector without "scripting" an emulator though :(

I believe we're looking at solution the other way around - XTCF detecting and translating LBA populated CFs, as opposed to CHS populating a CF from a modern PC. Because the latter I've never accomplished, as the USB interface and CFs are using LBA.

So on the modern PC the workflow is just around disk images.
On BSD or Linux it should be easier because you have same virtualization suites and included low level utils such as dd or mount for which you have to find a Windows build or alternative. As dd I use w32DiskImager and for mount i use OSFMount.

I have two Olivetti M19s, one XTCF (Lotech v3), the other USB ISA, and 86Box emulated M19. There are two types of images, 32MB and 512MB, as raw image files that I prepare and run on emulated M19. I can dump those images to Sandisk card of same size or to USB stick and boot/run them on physical computer. I can sync the images to media back and forth in whatever way I need.

For what it's worth, this level of automation took a bit of magic away. Before this stuff I used to Kermit via serial via a third proxy PC. It took a while to physically setup everything and it took a lot of typing and stuff and slow transfer waiting to get some small floppy-size program on the XT. More in the spirit of times.
 
I dunno, All this emulation talk just seem's like a pain in the ass way of going about it to me. I have used PCem before to create a DOS bootable hard drive image that i wrote to CF and that worked but i'd almost lost the will to live in the end

I don't use PCem but under 86Box it's all pretty straightforward.
Pick some machine profile that's roughly in the area of yours, go to settings, switch IDE controller from whatever to XTIDE, setup the backing disk image, boot the machine and use the main menu to insert floppies from image files you got from winworld.

It's possibly faster even if you don't have initial setup and way less error prone than making three floppies on modern PC and reading three floppies on old PC.

But...some people like floppies, and I see charm in that too :)

Tried rufus and doesn't seem to work writing to cf cards?

Use w32DiskImager
 
Booted from floppy again, tried to format a: put new diskette in and bang, no go.
Try booting from floppy again with the MS DOS disk 1 install disk and when the first screen comes up press F7 to install to floppy and follow instructions, ( I think it's F7 to install to floppy ) and use your 720k when asked to insert disk, that should give you a boot disk ???
 
I believe we're looking at solution the other way around - XTCF detecting and translating LBA populated CFs, as opposed to CHS populating a CF from a modern PC. Because the latter I've never accomplished, as the USB interface and CFs are using LBA.

I think setting up the XTCF to use LBA is that part that I'm missing. I haven't figured out how to calculate the CHS for a given CF card from Linux (or at least how it will be seen on the XT-IDE), but once I can get it from an actual machine, it's easy enough to go back to my linux box and plug the values in to a script to create an appropriately sized file and partition it.

Then fire up qemu with the new image as a hard drive and a boot floppy image with an autoexec that's basically "echo y | format c: /s /u /l:dos" or something like that.

After that I use mcopy from dostools to copy whatever files I need, and blast the image back out to a CF card.

Definitely not the "vintage" way to do it, but still kinda fun.
 
I don't use PCem but under 86Box it's all pretty straightforward.
Pick some machine profile that's roughly in the area of yours, go to settings, switch IDE controller from whatever to XTIDE, setup the backing disk image, boot the machine and use the main menu to insert floppies from image files you got from winworld.

It's possibly faster even if you don't have initial setup and way less error prone than making three floppies on modern PC and reading three floppies on old PC.

But...some people like floppies, and I see charm in that too :)
Not my cup of tea, too much faffing about, I use a USB flash drive witch i installed DOS 6.22 on and everything i need to make a CF bootable for my IBM's, Takes no time at all on a thin client i use
 
Yeah I have that approach too via a Pentium box with standard CF to IDE passive adapter. In the Pentium, it would boot, even with XTCF used instead of passive adapter, but no go on XT, unless XUB has been reconfigured.

I gather you have configured your XUB correctly, once I did that with mine, I can boot those cards made on Pentium on XT. So step one for anyone with problems is xtidecfg and flash.

By the way I prefer the virtual approach because I don't have enough space to keep my machines around, they're stored when not used.
 
Back
Top