Hard disk or partition emulation?

A forum for anything about the Steem Engine STE emulator, comments, problems, bug reports etc. Steven Seagal regularly provides updated versions of the original STEem code. The current version is v3.9.4.

Moderators: Mug UK, Steem Authors, Moderator Team

User avatar
Jookie
Hardware Guru
Hardware Guru
Posts: 1252
Joined: Wed Feb 04, 2004 6:54 pm
Location: Kosice, Slovakia
Contact:

Hard disk or partition emulation?

Postby Jookie » Thu Feb 12, 2009 7:29 am

Hello,

I'm not sure if this is the right part of the forum to ask, but anyway... How is the hard disk or partition emulation done in ST emulators like STEEM? As always, there are more options, like:
- hooking to some GEMDOS calls which do things like FindFirst, Open, Make Directory, ... and then calling the native OS calls on which the emulator runs
- let the emulated Atari ST to access the hard drive (i.e. through ACSI) and then dynamicaly (on the run) create fake parts of the FAT and let the parts of TOS handle the complete file system access

The first would be easier to do in emulator, the second would be more 'transparent' for ST (no hooking of TOS, the ST would handle the drive like it would normaly). So does the emulator access the the host's partition like something from those two, or does he do it in a different way?

Jookie

ppera

Re: Hard disk or partition emulation?

Postby ppera » Thu Feb 12, 2009 10:26 am

Actually, both options (but not exactly like you described) are used.

Hooking to GEMDOS calls and map some DIR of running OS (Win, Linux) as TOS partition is present in Steem and Hatari. It is actually better way for average user, and is faster, simpler for usage.

Second way is somekind of 'true' hard disk emulation. But not with some low level accessing of PCs hard drive. It is done similar as with floppies - with image files. If you don't have some image file with content (imaged from real drive) you may easy make it: just create somehow an bigger empty file. Name it SOMETHNG.IMG for instance. Then may use it in hard disk emulation in Steem or Hatari. Of course need to partition it first. So, it will act at beginning as some new hard disk in emulator.
Nothing from 'dinamycal FAT part creation' and similar. All it is on TOS and used hard disk driver. Emulation needs just to perform low level (sectorwise) access to image file (plus couple basic functions as init, drive ID...). Hatari is currently better with this: it has built in hard disk emulation for ACSI and IDE. While in Steem you need Pasti and it can only ACSI.
This is for advanced users. Good for case if have real hard disk, and want to have access to 'same one' on PC.

And here I must mention something what exists not in Atari emulators, but exists in couple Spectrum emulators: direct work with attached hard disks containing non-PC partitions. In first case memory cards. There is used low-level access to attached drive. Possible only in non-restricted mode (admin) in Windows. Basically, it is same as work with image files.
Actually, Gemulator has that option, but it seems that is not much usable this days.

User avatar
Jookie
Hardware Guru
Hardware Guru
Posts: 1252
Joined: Wed Feb 04, 2004 6:54 pm
Location: Kosice, Slovakia
Contact:

Re: Hard disk or partition emulation?

Postby Jookie » Fri Feb 13, 2009 8:20 am

ppera, thank you for your reply, the next time I will probably ask you such things via PM as no one other did reply :) and the effect would be the same :)

Cheers,
Jookie

ppera

Re: Hard disk or partition emulation?

Postby ppera » Fri Feb 13, 2009 3:46 pm

Patience, patience... Sometimes people discovers threads years later :mrgreen:

User avatar
thothy
Hatari Developer
Hatari Developer
Posts: 427
Joined: Fri Jul 25, 2003 9:36 am
Location: Germany
Contact:

Re: Hard disk or partition emulation?

Postby thothy » Sat Feb 14, 2009 11:55 am

ppera wrote:And here I must mention something what exists not in Atari emulators, but exists in couple Spectrum emulators: direct work with attached hard disks containing non-PC partitions. In first case memory cards. There is used low-level access to attached drive. Possible only in non-restricted mode (admin) in Windows. Basically, it is same as work with image files.


I think this could also work on Linux with real IDE disks that contain an Atari partition table. In Linux, everything is represented as a file, so there should hardly be a difference for Hatari (or STeem) between accessing a hard disk image or a real hard disk as /dev/hdX device. However, I never tried that yet, so I can't guarantee that it works...

ppera

Re: Hard disk or partition emulation?

Postby ppera » Sat Feb 14, 2009 12:28 pm

thothy wrote:...
I think this could also work on Linux with real IDE disks that contain an Atari partition table. In Linux, everything is represented as a file, so there should hardly be a difference for Hatari (or STeem) between accessing a hard disk image or a real hard disk as /dev/hdX device. However, I never tried that yet, so I can't guarantee that it works...


It works. And I did try it in Linux and Windows too. With program Drive Imager which has Windows and Linux versions (see link in my signature). I mean, in Windows it is handled practically as file too.
And it will work with any partition table - as task of handling it is on hard disk driver of Atari. So, works with DOS partitioned drives too (checked) . Latest may have not much sense, of course, as we can access such drives on PC without emulator.
I have total custom filesystem for Sinclair Spectrum, and it is accessible directly on drive or on image files.


Social Media

     

Return to “Steem”

Who is online

Users browsing this forum: No registered users and 3 guests