Re: [Freedos-kernel] Which kernel

2009-05-19 Thread Eric Auer

Hi Pat,

 This sounds liuke a good strategy.

 I would say 2038 as default, 2037 (including winkrnl) as option--unless
 2039 shows up first (doesn't look likely).  If 2039 gets something
 worthwhile, 1.11 is an option.

I agree - same as in 1.0, the stable kernel is the
default and the unstable branch is available as an
option for those who want to have extra features
at the expense of less stability :-).

Of course it would be nice if some patches from the
stable branch could be added to unstable first, to
make the pain for users of unstable smaller... ;-).

Eric



--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Hello again

2009-05-19 Thread Christian Masloch
 Still no reason to add experimental things to stable now :-)
 The solution is easy: Add it to the UNSTABLE fork

No. Because first, I don't develope DOS-C, and second, forking is bad and  
makes merging changes back in harder. Since your opinion seems to be that  
filesystem extensions can never be added to the stable or official  
release, this is of course what you want to happen to them: Implement it  
into unstable and it will never find it's way to stable.

The problem here isn't just that you don't want to release new features in  
official builds, it's that you support forking another single build  
(which, by now, is already years behind in improvements of stable - see  
below why) instead of adding the feature to (unofficial) builds directly  
derived from the latest stable.

Of course that's just my opinion and I'm not even a FreeDOS developer, so  
feel free to ignore it.

 At least I didn't yet see anything changed in
 stable which was derived from unstable

 Actually not much apart from COUNTRY SYS support in unstable
 has very favorable risk/complexity versus gain in features
 ratio at the moment, unfortunately...

So why write a risky feature at first, if there's apparently no chance  
it will be merged to stable? Additionally, this raises the problem that  
people that want to write new features into unstable first will have to  
cope with a kernel already full of other unstable features. So I won't  
recommend re-using the outdated unstable anymore.

 , and improvements of stable aren't added to unstable either.

 This is because more or less the only developers were Jeremy,
 Lucho and Arkady - the latter is kind of missing and Jeremy
 just returned a few weeks ago from being so busy with the real
 world real life that he simply had no time to continue working
 on the unstable branch. Lucho now has other big things as 4DOS.

I'm of course not blaming these people. However, as I mentioned  
previously, if all developers of stable had merged their changes (as  
applicable) to unstable as well, this would make life easier for people  
that want to test new features for stable on unstable. (And please  
don't argue that the developers of stable would have to know unstable  
then, too, because they of course should do if it's more than a fork.)

 If they were IFDEFed then you would have no chance understanding
 either ;-).

I doubt I would have a problem with it if the source was divided that way.  
What do you mean by either?

 The stable / unstable diff is maybe 1000s of lines.

Could it be smaller if the changes in stable were added to unstable?

 [...] because I
 prefer to write such programs in Assembler. In a way, I want to change
 everything compared to DOS-C (The FreeDOS Kernel) which is written  
 in a
 high-level language, and that's the reason I choose not to develop it.

 Tastes differ. One of the original goals with DOS-C was using more C :-)

I know. and that's the reason I choose not to develop it. If you repeat  
answering that DOS-C tries to use C as much as possible I can repeat to  
write my answer again ;-)

 Still you are welcome to point out tech details of bugs if you find
 them, as we often have only vague it somehow does not work type
 bug reports and no time or hardware/software to reproduce/debug them.

Of course ;-)

Regards,
Christian

--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Hello again

2009-05-19 Thread Christian Masloch
 Indeed JAM only works on non-FAT32 kernels because of different
 data structures...

Any other different structures besides the SFT?

 JAM apparently needs the start cluster of
 the compressed disk file so it can use lowlevel (int 25/26...?)
 calls to access that file without causing reentrancy while the
 kernel accesses files on the compressed disk :-).

 Ignoring the fact that it apparently broke SHARE.EXE, too

 Our version of share? Does it work less well on FAT32 aware kernels?

Nope, here I talked about the MS-DOS SHARE.EXE only problems of MS-DOS
7.10+ only.

 That'll make jmount incompatible with MSDOS4, DRDOS 56, but
 compatible with newer versions, because the word at 35h is the last
 accessed cluster, and after reading one sector (as Eric showed) that
 will still be the starting cluster.

 patching JMOUNT [...] is not elegant, but that
 is a typical problem with closed source software :-p

Anyone tried to contact the JAM developers before patching the binaries?

 Does JAM read anything from the archive file (I presume it wants
 the first cluster of that file) before looking into the SFT?

 It does the following: Drive reset, network flush buffers, check
 if drive is remote, check for DJ mechanism state, for dblspace,
 for JAM drive properties, truename, more JAM drive properties.

 Then it checks the DPB of the drive with the JAM compressed disk
 file on it, OPENs that. Then dosdebug/dosemu logged that a first
 disk sector read happens, not sure why. Next JMOUNT seeks to:
 current +0, end +0, start +0. Now JMOUNT reads the first sector
 of the compressed disk file. Then it checks the JFT and SFT to,
 indeed, get the start cluster of the compressed disk file :-).

Does it parse the JFT and SFT chain directly or does it use DOS services  
such as 2F.1220 and 2F.1216 ?

 I am not sure whether DOS would already read the next cluster
 when you read the first (size of cluster) bytes of a file, I
 would guess it will not...

It *could* read the value of the next cluster from the FAT (value inside  
the FAT entry of just-read cluster) but that could also result in an EOF  
marker so I guess you're right.

 FreeDOS already does exactly that - as soon as any int 21 call
 is done, the SFT is updated with information from the fnodes
 where necessary. Only if an outside software would WRITE to the
 SFT you could cause problems because this might get the SFT out
 of sync with the fnodes: FreeDOS might have information stored
 in the fnodes which the outside software which manipulated the
 SFT will fail to update if it does not know about fnodes.

But is the fnode re-used for the next DOS call, or is it populated from  
all values found in the SFT again? Because, if the former is true, then  
the cluster reference would be lost as soon as another call used the fnode  
for another file. And if the fnode was repopulated from the SFT on each  
DOS call, then if whatever program changed the cluster references in the  
SFT would also change the fnode indirectly (if it accessed the SFT when  
the InDOS and CritErr word was zero).

 Maybe
 extremely lowlevel software such as task swappers

or such unimaginable things as online defragmenting software ;-)

 could cause
 problems here, but JMOUNT should be safe :-).

Ack.

Regards,
Christian

--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] Cross compilation from Linux

2009-05-19 Thread Bart Oldeman
Hi,

Jim reinstated SVN write access so I committed a patch that I have
used internally in a not so clean fashion for a long time:
cross-compiling from Linux using Open Watcom. The reason why: well it
is more convenient and quicker (less than 2 vs. 20+ seconds here) to
cross-compile than fire up DOSEMU or another VM and do the compilation
there.

I hope it is useful to some others and also clean enough: mostly DOS
understands / fine but some commands in makefiles need to use
$(DIRSEP) to get either \ or /.

The batch files obviously can't be used but the top level makefile can
do the trick using make all, make clean, and make clobber.

Bart

--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel