Jump to content
IGNORED

MyDos Versions for Hard Disks?


Larry

Recommended Posts

What was the first version of MyDos that supported high capacity drives?

 

The older (3.0x, 3.1x) versions of MyDos supported double sided drives with at least 80 tracks, but not true high-capacity drives. I use "support" to mean that the configuration command "O" asked "number of sectors."

 

I seem to remember that 4.2x did support big drives, but earlier versions may have also. For instance, a specific release (3.13b IIRC) supported the ATR 8000 hard drive. However, I don't believe it supported an Atari (PBI) hard disk.

 

Also, did anyone ever use the MyDos "RomDos" in an 800? This was a specific MyDos version that significantly lowered LOMEM -- not one of the recent "MyDos in a cartridge that is moved into RAM" releases.

 

-Larry

  • Like 1
Link to comment
Share on other sites

Hello Larry

 

Charles recently told me, 3.16 was shipped with some Astra drives and Supra harddrives. Some of the earlier versions (since probably 1983) supported harddrives via the ATR8000.

 

Never used the RomDOS, but Charles is still supporting it if I understood him correctly. But since I guess you already read his letters on my site, you probably already know that. :D

 

sincerely

 

Mathy

Link to comment
Share on other sites

Quick search cam up with these:

 

 

post-14708-12993484557_thumb.jpg

 

 

What was the first version of MyDos that supported high capacity drives?

 

The older (3.0x, 3.1x) versions of MyDos supported double sided drives with at least 80 tracks, but not true high-capacity drives. I use "support" to mean that the configuration command "O" asked "number of sectors."

 

I seem to remember that 4.2x did support big drives, but earlier versions may have also. For instance, a specific release (3.13b IIRC) supported the ATR 8000 hard drive. However, I don't believe it supported an Atari (PBI) hard disk.

 

Also, did anyone ever use the MyDos "RomDos" in an 800? This was a specific MyDos version that significantly lowered LOMEM -- not one of the recent "MyDos in a cartridge that is moved into RAM" releases.

 

-Larry

Link to comment
Share on other sites

Sure...

 

 

romdos.atr

mydos3011.atr

mydos40.atr

mydos42.atr

 

 

 

 

Hello Bob

 

post-14708-12993484557_thumb.jpg

Could you send me a copy of those for my MyDOS page? Real disks, ATR, DCM, doesn't matter which format they are in, as long as I (read: one of my computers (Atari 8 bit or Apple iMac)) can handle them.

 

sincerely

 

Mathy

  • Thanks 1
Link to comment
Share on other sites

What was the first version of MyDos that supported high capacity drives?

 

The older (3.0x, 3.1x) versions of MyDos supported double sided drives with at least 80 tracks, but not true high-capacity drives. I use "support" to mean that the configuration command "O" asked "number of sectors."

 

I seem to remember that 4.2x did support big drives, but earlier versions may have also. For instance, a specific release (3.13b IIRC) supported the ATR 8000 hard drive. However, I don't believe it supported an Atari (PBI) hard disk.

 

Also, did anyone ever use the MyDos "RomDos" in an 800? This was a specific MyDos version that significantly lowered LOMEM -- not one of the recent "MyDos in a cartridge that is moved into RAM" releases.

 

-Larry

 

 

So who has this version of MyDos called 3.13b IIRC?

 

Because I have the ATR8000 with the Hard drive interface Here and I have been looking for it for a while.

 

Thanks

Link to comment
Share on other sites

Hello Joe

 

I never had an ATR8x00. So I never was able to test exactly how much is supported. I usually lust load the versions, play around a little bit and check what the menu or the description says.

 

So you'll have to test that yourself. The files aren't that big, so downloading them all shouldn't take longer then reading this posting. Charles told me ATR8x00 support was put in early.

 

If you find out some things do or don't work, please tell me, so that I can enhance my site.

 

sincerely

 

Mathy

Link to comment
Share on other sites

  • 5 months later...

Does any version of MyDOS have the ability to return the absolute path of the "default" directory in a buffer via the CIO? I'm talking about the XIO 48 command ("Get Current Dir") as supported by SpartaDOS. The lack of this facility is an oversight in the design and a real pain when trying to write applications.

 

If this DOS is still under development, I think this is the first thing which should be added. In addition, I always thought the way MyDOS handles the "default" directory was a bit strange. If you provide a drive number through the CIO, you always get the root directory of the drive.

Edited by flashjazzcat
Link to comment
Share on other sites

that would be something if mydos and sdx would use the same XIO commands for changing/handling directories

it would allow me to write fat32<->atari dos copy for both

currently, i'm going to support only sdx, as its more simple, and i really don't want to split into two branches with this code - too many things to do, and time is very limited

 

Mathy - if You could do that it would be just great

Link to comment
Share on other sites

that would be something if mydos and sdx would use the same XIO commands for changing/handling directories

Precisely. There is already a good deal of correlation between the XIO commands of Sparta, SDX and MyDOS, but MyDOS has some glaring gaps and rather idiosyncratic behaviour. I realize that changing the default directory behaviour to something more sane would probably break a lot of MyDOS apps, but if we could at least read the "D:" path, it would be a start.

 

Most of my projects involve a lot of file handling, and I'm trying to make a universal file selector which will work the same way in The Last Word, the GUI, etc, etc. As a developer I'm constantly being reminded that "SDX is not the only DOS", but the fact is that SDX and Sparta 3.x are two of the few which provide a complete API for proper hierarchical file handling. The more time developers have to spend catering for the capabilities (or the lack thereof) of different DOSes, the more the applications become compromised and bloated. Non-coders might not care much about this, as long as developers have done all the donkey-work to make things appear to work in a consistent manner. DOS 2.5 support is a given, since it doesn't even have a hierarchical FS. I want to maintain support for MyDOS too, but it lacks the facilities to do something as basic as displaying the current path to the working directory.

 

We've spent time working out standards with regard to disk partitioning, and I think it's time some standards were applied to the extended XIO command set. I used to use MyDOS, and I can understand why people use it today, but if it doesn't "keep up", it will be increasingly difficult to fully support its subdirectory features in applications. Making an application which fully integrates with a DOS is a different matter to simply making an application which successfully runs with it.

Edited by flashjazzcat
Link to comment
Share on other sites

I realize that changing the default directory behaviour to something more sane would probably break a lot of MyDOS apps

 

Are there any programs which rely on this?

 

but if we could at least read the "D:" path, it would be a start.

 

I don't know if this is even possible: MyDOS subdirectories do not contain links to parent directories, so finding the path which is leading backwards to the root directory is not possible. MyDOS would have to keep current path(s) somewhere in a memory buffer, but I don't know if there is any memory left to allocate such a buffer (or such buffers, if this has to work on more than 1 drive at a time).

Link to comment
Share on other sites

I realize that changing the default directory behaviour to something more sane would probably break a lot of MyDOS apps

Are there any programs which rely on this?

Actually, I'd like to bet that most MyDOS file maintenance apps simply process the directory recursively from the root, without changing the working directory at all. I would do the same if I could afford to allocate fifteen sixty-four byte path buffers in The Last Word (in order to employ the same methodology across all DOSes). ;) But in any case, I still can't deduce, under MyDOS, which directory the user chose as the default.

 

But in an ideal world, MyDOS would simply have a working directory on each drive, and a default drive number attached to "D:".

 

but if we could at least read the "D:" path, it would be a start.

I don't know if this is even possible: MyDOS subdirectories do not contain links to parent directories, so finding the path which is leading backwards to the root directory is not possible. MyDOS would have to keep current path(s) somewhere in a memory buffer, but I don't know if there is any memory left to allocate such a buffer (or such buffers, if this has to work on more than 1 drive at a time).

I thought with MyDOS the only solution might be to recursively travel down the directory tree from the root, since there are no parent links. It would be rather slow, of course, so a dynamic path string would be preferable. If there's no room left, perhaps some code can be optimized in order to make way for it (although I'm certain the source code is quite optimal to begin with). Of course, we'd likely need eight strings (or one for however many drives MyDOS supports). Perhaps each element in each path string could have a pointer to the relevant directory on disk.

Edited by flashjazzcat
Link to comment
Share on other sites

Hello guys

 

Sorry if I keep this short, but the gym behind our house burned like hell, probably due to a short circuit this evening. Usually my Dad's car is part not even a meter (just over a yard) and mine isn't even parked half a meter from the gym. I've counted five fire trucks, as far as I know, two or three is still here. I can see one from where I'm sitting. We weren't allowed in the house for most of the evening. The back yard and the driveway are off limits due to asbestos. Heck, I was taking a bath when I heard some noise.

 

I'm not doing the work on MyDOS as I don't know enough about assembler to be able to use it. But just keep talking, the guy who does is probably reading this. What does XIO48 do exactly? Or better yet, how does it tell you what the current directory is?

 

With the latest version of MyDOS, you can use "R" and then "::" to go back one (sub)dir.

 

sincerely

 

Mathy

Link to comment
Share on other sites

But in an ideal world, MyDOS would simply have a working directory on each drive, and a default drive number attached to "D:".

That would the be the same perfect world where a low memlo was always a certain thing.

 

There already is a 40 byte buffer to store one default path string, 1bc1 is the location in MyDOS 4.50 where the subdirectory name is held (DNAME). The default drive number was moved right in front of it for beta4 so as to allow for better results in the reapplying of xio 41 (same as Sparta's xio 44) in the event of a reset press which used to cause the loss of the subdirectory path. For beta4 it no longer is lost, but can retain it's old drive and path to the chosen subdirectory. As Mathy points out too, one can retrograde your subdirectory path by one directory at a time by using :: as a chosen path to set the default directory to. As in MS-DOS's use of 'cd ..' to do the same thing in a similar manner.

 

Beta4's default directory buffer is at 1c77 and these buffers are zero ended so exact correlation with Sparta will involve working around that part somehow at least, but XIO 44 and XIO 48 support can both be added for beta5, even if we do have to live with some minor differences. This DOS is still in development even if it's a bit slow sometimes.

 

Last I knew, Mathy had beta4 for download at his site. With source, sorta.

http://www.mathyvannisselroy.nl/mydos.htm

Link to comment
Share on other sites

I messed around a bit and I could not get Sparta 3 to respond to xio 44 or xio 48 from BASIC, but then I don't have any good examples to work from. The SpartaDOS Construction Set has some non-sensical stuff about xio 48 but no good examples of it's use in the real world. Someone please speak for the Sparta camp and post some of these examples with the output results desired so I'm not wasting my time geting nowhere anymore. Thanks.

 

MyDOS xio 41 can include the full drive and path if desired but only the additional wanted subdirectory is required. The path string should end with a zero. This is no doubt different from what Sparta requires in it's xio 44 command. Please give me all the details.

Link to comment
Share on other sites

Abridged information from the SpartaDOS X manual, available here:

 

Create a Directory (MKDIR)

 

XIO 42,#IOCB,0,0,"Dd:[path]newdir"

 

The directory 'newdir' is the directory that will be created. Any path

before this must be valid. For example, if

XIO 42,#1,0,0,"D1:LARRY>MOE>CURLY>SHEMP"

is used, then the path 'LARRY>MOE>CURLY>' must already exist from

the current directory, for the directory 'SHEMP' to be created.

The IOCB should be closed for this operation. This will ONLY work for

SpartaDOS formatted disks.

 

 

Delete a Directory (RMDIR)

 

XIO 43,#IOCB,0,0,"Dd:[path]olddir"

 

The directory olddir will be deleted. A directory must be empty to be

deleted. The rules regarding path and IOCB status defined in XIO 42

apply here.

 

 

Change Current Directory (CHDIR)

 

XIO 44,#IOCB,0,0,"Dd:path"

 

This will change the directory that is used when the specified drive is

accessed without reference to a specific directory. The rules regarding

path and IOCB status defined in XIO 42 apply here.

 

 

Get Current Directory Path (CHDIR)

 

iccom = 48

icbal = low byte of 'Dd:[path]' address

icbah = high byte of 'Dd:[path]' address

icbll = low byte of buffer address

icblh = high byte of buffer address

 

This information is found in chapter 6: Programming with SpartaDOS X. The "Get Disk Information" command (CIO command code 47) should also be of interest. Information should be broadly applicable to Sparta 3.x, but in any case, I feel that SDX's command set should be regarded as the "standard".

 

You won't be successful accessing XIO 48 from BASIC, since you'll need a machine code routine to call CIO with the required values in the CIOB. XIO 44, however, should work fine with BASIC. You'll find a good example of XIO 48 on page 177 of the SDX manual.

 

Sparta 3.x and SDX can also specify a relative or absolute path with XIO 44 (CHDIR), and the string may be NUL or EOL terminated. The problem I have with the current implementation in MyDOS is that if you perform a CHDIR and then open "Dn:", you still get the root directory of that drive. You should be able to assign "D:" to drives 1 through 8, and "Dn:" should refer to the current working directory of drive "Dn:". "Dn:>" would refer to the root of the drive.

 

Regarding Sparta's XIO 48 command, if the buffer just contains NUL, this denotes the root directory, so it's sensible to simply check for the end of the returned path in the buffer, and append a ">" to it if one is not already present.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...