XDOS + XF351

Moderator: Rockford

Antworten
breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

XDOS + XF351

Beitrag von breeze »

Hello there o/

Atariage forum I was told that the author of such a wonderful system as XDOS lives here.

I like this system because it is small in size, loads very quickly, is close to the classic DOS commands line and most importantly supports turbo loading of my XF351.
At the same time, it has a very unpleasant moment: XDOS simply ignores DS/DD disks, formatting only first 707 sectors.
Despite the fact that XF351 is compatible with the original XF551, which worked with 5.25" floppy disks, XF351 allows you to work with the entire floppy disk, like SpartaDOX formatting it into 2880 sectors.
But latests versions of SpartaDOS are quite bulky, require a cartridge and have excessive functionality.

It was just great to have a version of XDOS that would work fully with DS/DD floppy.
Thank you very much in advance.

Benutzeravatar
cas
Beiträge: 1080
Registriert: 18.06.2021 21:01
Wohnort: Solar System
Has thanked: 288 times
Been thanked: 685 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von cas »

Hi,

yes, Stefan Dorndorf the author of XDOS does sometimes read here.

If you search for a lean DOS with support for many disk formats, the (updated) BW-DOS might be an alternative option: https://github.com/HolgerJanz/BW-DOS

breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von breeze »

Thanks for the info, but I've already made my choice in favor of XDOS and here's why:
- Very small size of boot
- Support fast data loading via SIO
- The presence of a classic command line, without any menus, etc.

I have already made several small utilities for XDOS and the only thing I lack is full use of disk space.

Benutzeravatar
Mathy
Beiträge: 1731
Registriert: 18.06.2021 11:13
Wohnort: Heerlen, NL
Has thanked: 833 times
Been thanked: 471 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von Mathy »

.
Hello breeze

breeze hat geschrieben:
04.12.2024 16:25
.
Atariage forum I was told that the author of such a wonderful system as XDOS lives here.
Stephan Dorndorf is "Dietrich" in this case. If you send him a personal message he'll probably respond sooner.

Sincerely

Mathy
Schreibe nicht der Absicht zu, was man mit Dummheit oder Ignoranz erklären kann.

Erhard
Beiträge: 990
Registriert: 04.11.2021 15:52
Has thanked: 120 times
Been thanked: 304 times
Kontaktdaten:

XDOS + XF351

Beitrag von Erhard »

Hi,

I just took a quick glance at the XDOS manual and it looks like XDOS knows about 3 commands to format a disk.

(Btw, XDOS is said to be an Atari DOS 2.5 compatible DOS so I guess it might be unaware of disk capacities larger than 180 KB - in fact Atari DOS 2.5 doesn't even know about 180K, if I remember correctly.)

Only 2 SIO commands to physically format disks do exist. Those are $21 (format) and $22 (format MD).

All other densities are achieved by issuing a write PERCOM block command immediatly before issuing the format command $21.

So what you could try is using an external self-written utility (or a debugger to just test things) that performs

- read the PERCOM block from the drive (12 bytes) (command $4E)
- modify the block for 40/80 tracks, DD sectors and double sided
- write the PERCOM block to the drive (command $4F)
- send command $21 to beginn formatting (please allow enough time in DCB $030E)

This should result in a physically formatted disk but without file system.

Now it depends on the INI command. I am not sure if it creates a directory structure or not. If it does, okay. If not ... :-(

As far as I know there is no DOS 2.x compatible DOS that knows about 720K or more.

The only DOS next to that is MyDOS, but then you get a MyDOS filesystem.

The only other DOS type I know to be able to handle large capacities is SpartaDOS (BW-DOS, SDX), but then it is a Sparta DOS file system (SDFS).

Erhard
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen :-)

Bernd
Beiträge: 450
Registriert: 17.08.2021 17:22
Has thanked: 108 times
Been thanked: 160 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von Bernd »

Hi
looks easy....

FS# or FM# or FD# for Disk formate
S=Single M=Medium D=Double Density
#F2# for double side formate (XF551)

Bye,
Bernd

breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von breeze »

Mathy hat geschrieben:
05.12.2024 02:04
Stephan Dorndorf is "Dietrich" in this case. If you send him a personal message he'll probably respond sooner
Thanks, I'll try to write him a private message
Erhard hat geschrieben:
05.12.2024 09:27
I just took a quick glance at the XDOS manual and it looks like XDOS knows about 3 commands to format a disk
Unfortunately I have already tried all these commands and they do not fully utilize the floppy disk.
Erhard hat geschrieben:
05.12.2024 09:27
The only DOS next to that is MyDOS, but then you get a MyDOS filesystem.
It's funny that MyDos technically allows you to format a floppy disk, but both DOS 2 and XDOS show 999+ sectors.
The question is, is this just information for reference or can they address the space after sector 707?
Bernd hat geschrieben:
05.12.2024 18:47
looks easy....
FS# or FM# or FD# for Disk formate
S=Single M=Medium D=Double Density
#F2# for double side formate (XF551)
Thank you, but before writing here I have already studied all the available information and even formatted the diskette from assembler using commands for XDOS, but as expected the result is exactly the same.

Erhard
Beiträge: 990
Registriert: 04.11.2021 15:52
Has thanked: 120 times
Been thanked: 304 times
Kontaktdaten:

XDOS + XF351

Beitrag von Erhard »

Hi,

half an hour ago I wrote some long answer here but now I notice that I forgot to push the send button :-(

I do not want to write all the text again. So here a short reply:

1) I'll ask Dietrich, I've got his private email address and I'll post his reply asap
2) Attached please find a tool to physically format disks using common paramerts. No XF highspeed. No creating a filesystem!
3) The XF suffers from lack of RAM. One of the victims is PERCOM. No single storage location to store the actual amount of tracks. The OS uses a fix number here.

This leads to following problem:

If you have a 40 track OS in the drive you will be able to physically format 80 tracks, but reading the PERCOM block again afterwards it will report 40 tracks.
If you have a 80 track OS in the drive you will be able to physically format 40 tracks, but reading the PERCOM block again afterwards it will report 80 tracks.

No intelligent DOS can handle this. I do not know how much PRECOM based intelligence is included with XDOS but all Sparta types will fail.

Dietrich helped me to create an 80 track version of the Bob Wooley OS. If you want that, tell me.

Please use the PERCOM tool to format your disk, read the PERCOM data again after coldstarting the XF and compare the values to what they should look like.
PERCOMEP.zip
(4.58 KiB) 120-mal heruntergeladen
Best, Erhard
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen :-)

Dietrich
Beiträge: 111
Registriert: 20.09.2021 20:59
Has thanked: 13 times
Been thanked: 70 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von Dietrich »

Hello breeze,

yes, XDOS doesn't support large disks. Only 90K, 130K and 180K formats can be used. (Or 360K with the F2# command, which uses two 180K partitions.)

Support for large disks in XDOS would raise MEMLO signifcantly from $1DF0 (with 2 file buffers) to around $2000 or even more:
- Multi VTOC sector support needs to be added
- The VTOC buffer in XDOS needs to expanded from 144 to 256 bytes, since the MYDOS standard for large disks uses the full 256 bytes of each VTOC sector
- Subdirectory management is needed also, since a standard DOS 2 compatible disk can only store 64 files in its directory. This includes create/change/delete directories (and additional buffer space for holding the current directory path)
- format detection and formatting needs to be extended. Especially format detection on an XF drive is quite complicated if double sided formats are used (if CL# should work with double sided disks)

But with MEMLO so high, some programs with a low MEMLO won't run anymore. And nowadays almost everyone uses some SIO2XXX devices instead of floppy drives (or an emulator like Altirra) - so you can simply create a new ATR and put additional ATARI files on it, if one ATR is full. So there's no really need for a XDOS version for large disks.

A possible option would be to use in the XF351 the HyperXF 1.0B ROM and switch it to partition mode (SIO command "c"). This means, the XF351 will behave as D1: to D4: with 720 sectors each and thus can be fully accessed from XDOS.

breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von breeze »

Dietrich hat geschrieben:
06.12.2024 13:06
So there's no really need for a XDOS version for large disks.
Thank you very much for the detailed explanation.
Now it has become clear that this is indeed a very labor-intensive revision.
Dietrich hat geschrieben:
06.12.2024 13:06
A possible option would be to use in the XF351 the HyperXF 1.0B ROM and switch it to partition mode (SIO command "c"). This means, the XF351 will behave as D1: to D4: with 720 sectors each and thus can be fully accessed from XDOS.
To be honest, I wouldn't want to make any modifications to the XF351.

The only question that worries me and the answer to which I have not yet been able to find is how does communication between the atari sio and the disk drive occur to change connection speed?
I wrote my own software emulator of a disk drive on ESP and I understand the principle of communication between the atari and the disk drive, so I am more interested in what commands are used?

By ear I can hear how the boot sector of XDOS is loaded at normal speed, then the sound signal becomes thinner and the rest of the part is loaded noticeably faster.
If it's not too much trouble, please share the information.

Thank you very much in advance.

Dietrich
Beiträge: 111
Registriert: 20.09.2021 20:59
Has thanked: 13 times
Been thanked: 70 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von Dietrich »

The XF551 has special commands R, W, P, S with bit 7 set. When the XF551 executes these commands, it receives the command frame in normal speed, then sends an ACK in normal speed, but the rest of the command (complete byte, data frame, data ACK) is sent/received in high speed, which is 38553 bps (PAL) resp. ca. 38900 (NTSC).

To use these commands from the Atari, you need to modify the serial input ready interrupt VSERIN=$20A/B: When the ACK after the command frame has been received (first call of the interrupt after initiating a SIO command), and bits 7 and 6 of the command byte (CCOMND=$23B) are set, set $D204 to 16 for high speed, then jump to the original serial input ready interrupt routine in the OS ROM.

To detect an XF drive, you can use the Status command S. If DVSTAT+2=$2EC is $FE, it's an XF drive. (Or if the drive doesn't ack the special commands, it's not an XF drive.)

(This is of course true only if your XF351 uses the same high speed protocol and status command as the standard XF551.)

An additional option is to modify the output data needed interrupt (VSEROR=$20C/D) and set bit 7 of the command byte in the command frame. In this case, each program with SIO calls uses XF high speed automatically.

breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von breeze »

Dietrich hat geschrieben:
06.12.2024 19:52
The XF551 has special commands R, W, P, S with bit 7 set.
I initially thought that these should be additional sio codes that would report a change connection speed.
Now it became clear that I was looking in the wrong place :)

Thank you very much!

Benutzeravatar
CharlieChaplin
Beiträge: 949
Registriert: 18.06.2021 22:59
Has thanked: 284 times
Been thanked: 316 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von CharlieChaplin »

Dietrich hat geschrieben:
06.12.2024 13:06
Hello breeze,

yes, XDOS doesn't support large disks. Only 90K, 130K and 180K formats can be used. (Or 360K with the F2# command, which uses two 180K partitions.)

Support for large disks in XDOS would raise MEMLO signifcantly from $1DF0 (with 2 file buffers) to around $2000 or even more:
- Multi VTOC sector support needs to be added
- The VTOC buffer in XDOS needs to expanded from 144 to 256 bytes, since the MYDOS standard for large disks uses the full 256 bytes of each VTOC sector
- Subdirectory management is needed also, since a standard DOS 2 compatible disk can only store 64 files in its directory. This includes create/change/delete directories (and additional buffer space for holding the current directory path)
- format detection and formatting needs to be extended. Especially format detection on an XF drive is quite complicated if double sided formats are used (if CL# should work with double sided disks)
Well,
how about the following idea:
No subdir support, but with 360k and 720k formats the DIR allows 128 file entries, like e.g. BiboDOS and Turbo-DOS do (with 360k). So create/change/delete subdirs is not required. Similar to MyDOS and Bibo-DOS there are no sector/file links in 360k and 720k format (while the 130k format still has the option to be either DOS 2.5 or MyDOS compatible)...

Afaik, Percom has a length of 12 Bytes, some Bytes are unused. Maybe it is possible to use one of these otherwise unused Bytes as a mark for 40/80 tracks or maybe it is possible to set a certain bit in XDOS (or YDOS) that marks 40/80 tracks, so at least from the DOS it is possible to determine the density fast(er)...?!?

Completely off-topic, I would also like to see a version of Turbo-DOS that supports 720k (no subdirs, but up to 128 files with 360k and 720k formats), e.g. a) a version without any floppy speeders and b) a version that supports only one floppy speeder (but one can choose which one from various speeders, e.g. Turbo, XF, Speedy, Happy, etc.; similar to the current Turbo-DOS masterdisk). But I would like to see Turbo-DOS to get rid of these 4 Bytes for sector/filelinks (which is currently the case with its 360k format)...

Hey, Abbuc is doing two new contests next year - one of them is for applications/tools/utilities. I would like to see another DOS 2.x that is capable of 720k format, besides MyDOS. (Sidenote: You can read about these two new contests in the next Abbuc magazine 159.)

Erhard
Beiträge: 990
Registriert: 04.11.2021 15:52
Has thanked: 120 times
Been thanked: 304 times
Kontaktdaten:

XDOS + XF351

Beitrag von Erhard »

Hi,

breeze hat geschrieben:
06.12.2024 17:13
To be honest, I wouldn't want to make any modifications to the XF351.
in case the OS present in your XF351 reports 40 tracks upon an 80 track disk it may therefore be necessary to reconsider things.

To behonest as well you are talking about a lot of possible modifications to make things work which is why I do not understand that you will not give BW-DOS a try while it can handle high capacity disks natively and provides a low memlo. Applying your ideas into a DOS that does not support high capacity disks now will end up in some other version of MyDOS or Sparta types of DOS.

CharlieChaplin hat geschrieben:
06.12.2024 21:49
Afaik, Percom has a length of 12 Bytes, some Bytes are unused. Maybe it is possible to use one of these otherwise unused Bytes as a mark for 40/80 tracks
PERCOM already does have a byte showing tracks per disk. So why would you possibley want another byte doing the same?

Okay, just _my_ opinion. Noone has to share it.

Best, Erhard
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen :-)

Benutzeravatar
CharlieChaplin
Beiträge: 949
Registriert: 18.06.2021 22:59
Has thanked: 284 times
Been thanked: 316 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von CharlieChaplin »

Erhard hat geschrieben:
07.12.2024 11:20

PERCOM already does have a byte showing tracks per disk. So why would you possibley want another byte doing the same?

Best, Erhard
Because Stefan wrote:
"Especially format detection on an XF drive is quite complicated if double sided formats are used (if CL# should work with double sided disks)" and I thought that maybe the XF requires an extra bit (or byte) to detect if a disk is 180k, 360k or 720k. Otherwise the XF could simply read the Percom block before doing a format, clear, read, write, whatever... (to be honest, I almost never use the CLR or CL# command to clear a diskette).

Hias patched a Turbo-DOS version for me, so that it will always check the format of a disk first, no matter if it reads, writes, formats, clears, locks, unlocks, deletes, ... something or shows a directory. (Whatever this patched DOS does, it will check the format of the disk first.) That check is redundant for 1050 drives, but good for many other drives and does not take long.

Regarding BeweDOS, the latest (not yet released) version will fully support 720k (not only reading/writing, but also formatting).

Erhard
Beiträge: 990
Registriert: 04.11.2021 15:52
Has thanked: 120 times
Been thanked: 304 times
Kontaktdaten:

XDOS + XF351

Beitrag von Erhard »

I still recommend using a XF firmware that matches the track density of the mechanics.

In case you format a 3.5" DD disk in an 80 track mechanism and the firmware reports 40 tracks afterwards this is an improper solution, to say the least.

The XF itself is quite stupid due to its low-cost design.

In order to automatically and properly detect things it should

- first detect the density by reading sector #4 (if single (128 bps FM) or medium (128bps MFM) may be assumed a single sided 40 track medium)
- then switch from side #0 to side#1 and check for double sided (if the back side had been formatted in a 1050 or a different density then the disk format is not double sided)
- then step from track #0 to track #79 to check for 96tpi (80 tracks) (if there are sector headers not showing cylinder 79 then there is no 80 track drive) (we could check track #40 first so we do not step a 40 track mechanic's head 40 times against a wall)

Beyond this a firmware that should do those things needs a mean to detect a disk insertion / disk change along with enough RAM to store things.

Erhard
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen :-)

breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von breeze »

CharlieChaplin hat geschrieben:
06.12.2024 21:49
how about the following idea:
No subdir support, but with 360k and 720k formats the DIR allows 128 file entries, like e.g. BiboDOS and Turbo-DOS do (with 360k). So create/change/delete subdirs is not required.
In fact, this would be the ideal option. If you need all these subdirectories and other extensions, there is SpartaDOS for that.

breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von breeze »

Erhard hat geschrieben:
07.12.2024 11:20
in case the OS present in your XF351 reports 40 tracks upon an 80 track disk it may therefore be necessary to reconsider things.
I don't quite understand what you're talking about, but at the moment the drive works fine with DS/DD floppy disks and no modifications are required.
Erhard hat geschrieben:
07.12.2024 11:20
To behonest as well you are talking about a lot of possible modifications to make things work which is why I do not understand that you will not give BW-DOS a try while it can handle high capacity disks natively and provides a low memlo. Applying your ideas into a DOS that does not support high capacity disks now will end up in some other version of MyDOS or Sparta types of DOS.
Again, both MyDOS and Sparta format the 2880 sector disk perfectly.
But back to my wishes. They do not support the XF351/551 turbo mode, they are heavy, and SpartaDOS X requires a cartridge.
In my case XDOS is the ideal option that only lacks DS/DD support. Without subdirectories, increasing the number of files, etc.

Benutzeravatar
cas
Beiträge: 1080
Registriert: 18.06.2021 21:01
Wohnort: Solar System
Has thanked: 288 times
Been thanked: 685 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von cas »

breeze hat geschrieben:
07.12.2024 19:59
But back to my wishes. They do not support the XF351/551 turbo mode, they are heavy, and SpartaDOS X requires a cartridge.
This is why Erhard and me suggested you take a look at BW-DOS 1.4+

It does support XF turbo mode (as far as I remember, but if not, it can be implemented without much hassle, as BW-DOS is actively maintained), it is a light as XDOS, boots fast and does not require a cartridge. It is kind of an Sparta-DOS X "light".

breeze
Beiträge: 8
Registriert: 03.12.2024 21:16
Has thanked: 5 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von breeze »

cas hat geschrieben:
09.12.2024 08:09
This is why Erhard and me suggested you take a look at BW-DOS 1.4+
Thanks, I'll check the latest version.

p.s. Like Elon Musk, I have a thing for the letter X ;)

Benutzeravatar
CharlieChaplin
Beiträge: 949
Registriert: 18.06.2021 22:59
Has thanked: 284 times
Been thanked: 316 times
Kontaktdaten:

Re: XDOS + XF351

Beitrag von CharlieChaplin »

Bewe-DOS 1.3 and newer versions do have drivers for XF highspeed (original XF OS) and there exists also a driver for Bewe-DOS from Stefan Dorndorf for XF ultraspeed (with Hyper-XF OS).

Have not tested the newer versions 1.4 and 1.5 yet, but hope that these drivers still work with the newer versions. Furthermore Bewe-DOS 1.5 can read + write and (new!) also format 720k out of the box.

XFSIO.COM: BeweDOS driver for XF highspeed
HYPSIO.COM: BeweDOS driver for XF ultraspeed/hyperspeed
HPATCH.BAS: patch programs for Bibo and Turbo DOS so they work with XF hyperspeed
HYPMODE.COM: utility to change Hyper-XF mode (A,B,C,D,X,M,F,S); type in drive number, then mode;
Dateianhänge
XFSIO.zip
XF drivers
(5.22 KiB) 113-mal heruntergeladen

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast