On Sun, Jan 06, 2002 at 07:32:14AM +0100, Thierry Godefroy wrote:
 
> > the problems are QDOS specific:
> >  - drivers can be practically written only in assembler,
> 
> True, but as far as I am concerned (I don't want to restart the "assembler vs
> C" flame war), this is not a problem but a GOOD THING !

may be a good thing for you but not everyone is good enough with assembler
to write more complex pieces of software in it and hardware drivers are the
worst nightmare to debug if something doesn't work.
Realistically we would probably have a few more drivers if it was possible
to write them eg in 'c' or even SBasic.
 
> >    Not many people around who
> >    have the thorough knowledge about the hardware and software to write 
> >    more complicated drivers.
> 
> True, but knowledge can be acquired by anyone, the problem being the time
> needed to do so... Note that most of the knowledge to acquire is NOT
> QDOS/SMS specific, whatever driver you are going to implement on whatever
> plateform, you need to learn about protocols, standards, etc...
> 
> As an example, for the ATAPI thing and the CDROM device driver, most of
> the development time was spent searching, printing, reading and under-
> standing the ATA, ATAPI and ISO specs (nothing less than 10Mb of PDF
> files...). The actual implementation of ATA/ATAPI took about 40% of the
> total time...

why did you bother with the broken standard if HW vendors obviously
don't read it ;)

> >    Judging by source fragments and disassembly it is rather messy, even
> >    simple things like partitioned harddrives are a disaster.
> 
> It's difficult to "judge by source fragments and disassembly", unless you
> got the documented sources...

it is very easy to judge if you see the bugs, I spent some time disassembling
the stuff and identifying workarounds. Sometimes the disassembly is much
clearer than source, I do even frequently disassemble the Linux kernel.
Many of the bugs exist only because there is not something like a block 
device concept in QDOS.

> >    To be fair, all QDOS/SMSQ filesystems are long overdue to be scraped.
> 
> To be fair, do you know of a filesystem in _any_ 20 years old OS (QDOS
> is already 19 years old !) that did not or should not get scraped ?
> The mass media just evolved too fast and too hugely for anyone to guess
> right what the filesystems limitations had to be in first place...

absolutely agreed, although there are notbale exceptions of filesystems
older 20 years which arent completely obsolete most are. Doesn't change the 
situation though, there is not a single QDOS filesystem that is worth to 
be reused.

> >    There are jewels like maximum 65535 files per drive,
> 
> This is driver specific, there is no such limitation into QDOS/SMS OS
> itself, as an example, the "maximum file per drive" (I suppose you
> are talking about the 16 bits "File Id" into the files channel
> definition block) will be 4 billion (32 bits) for the CDROM device
> driver.

there are many places where this and similar limits are implicitly hardwired 
into SMSQ. Nothing that could not be cured with a whole new filesystem
design.

> >    maximum name length (including directory path) 36 chars
> 
> I already explained on this list how to circumvent this problem under
> SMSQ/E. In fact, with my "trick", you can use up to 32765 characters
> (QDOS string limit) per path+filename. This should hopefully be enough,
> even in a far future...  ;-)

agreed, and I will patch QDOS and Minerva to allow for this trick.

> >    and complete and useless incompatibility with anything else on the
> >    planet.
> 
> Such as ?
> 
> If you are making allusion to the file naming conventions (such as the
> directory separator which is "_" in current QDOS/SMS filesystems), they
> are just that: conventions !  The CDROM device driver will accept both
> "/" (natively) and "_" (for backward compatibility) separators...

"_" is still a problem when the rules whether it can be part of 
filenames are rather complicated. Basically SMSQ has no working 
concept of subdirectories.
Overly complicated and inconsistent just to allow some compatibility 
with earliest MDV drivers and long forgotten software.

> >    Unfortunately
> >    the OS interface in both QDOS and SMSQ still has severe limitations,
> >    practically enforcing the 36 chars limit.
> 
> Untrue, SMSQ/E DV3 (device driver level 3) has built-in support for 80
> chars filenames instead of 36. Alas the current (native) SMSQ/E device
> drivers don't use this feature.

the IOSS is still enforcing this limit. The only way around is your 
"trick" ( quite legal and reasonable IMO) but that requires a wholy 
different filesystem design and thus obsoletes DV3.
Not a problem, just making my point that it needs a new filesystem.

> >    If you write eg an
> >    PCI bus initialiser the OS must have hooks to execute the code very
> >    early. Both QDOS and SMSQ have some way to do it but eg the SMSQ way
> >    appears very cumbersome. It would work somehow by linking the code 
> >    into SMSQ which seems like a nightmare (for all parties) to get
> >    the distribution and copyright somehow correct.
> 
> TT himself explained how to link new modules into SMSQ/E (in QL Today or
> IQLR IIRC), he did not mention any copyright restriction. I think that
> this would not pose any problem as long as you ask him.

there is a copyright problem because I can't possibly distribute any
SMSQ, so I would have to get TT or someone else with a valid license
to do that. This is simply inconvenient for all parties.

Btw, if you want to modify the MMU setup sequence in SMSQ how do 
you do that?

> Another way around
> is to provide the module separately from SMSQ/E together with a small
> installer which would then link in the module on the user system (Aurora
> was provided which such a module); this would only pose a problem if the
> target system can't initialize without the module...

which would be the case with a PCI initialiser. Note that in QDOS this 
could be possibly done with an expandeROM hook although this gets called
pretty late in the boot sequence

Bye
Richard

Reply via email to