NASM version 2.09 available | A86 and kernels (Announce)
> (Also never could figure out which version was the last / most recent.)
Still 7.1.5, from the FreeDOS mirrors. It's also the only one clearly licensed under the GPL. "a7.1.5" is the A86 port of that version. There's numerous other releases but all either without or with non-free source, and mostly older.
> Still, it's GPL, so we can't complain!
I complain as a user, not as a developer. No, wait, I do complain as a developer too. There's nothing in the GPL to prevent me from that
> > So is A86;
>
> Whoa! Kinda strong statement. I don't think anybody reasonably thinks A86
> is crap. It's not.
Yeah.. maybe it's a little too strong, but A86 isn't sophisticated at all. Even include files weren't supported for several years! The local label mechanism is crap and doesn't work together with D86 either. Given that the assembler and debugger are highly integrated, I would assume that to work. D86 also isn't very sophisticated, technically. For example, it catches Int21.4C of the debugged code, presumably with an Int21 hook - a nice feature? Not only that, it's also necessary for no-program operation because D86 doesn't set up a child process that way (and would then terminate itself by 21.4C, incompletely, because it doesn't catch its own termination). Besides, the whole symbolic debugging and most of D86's interface is designed for programs running in exactly one segment. The former is virtually unusable for large, or multiple, programs (f.e. kernels) in multiple segments.
What I have to give D86 is its good implementation of "memory windows" (automatically updated data dumps) and the extensive online help. Surely just writing all the text took some effort, let alone programming the automatic context-sensitive displaying of the correct help pages.
> But yeah, it hasn't been developed since 2000, so it only supports SSE1
That really doesn't bother me.
> Well, the point was that A86 can run on 8086 and compile that fork of
> RxDOS, which is what DOS386 wanted (in theory). I didn't say it was ideal,
> just saying it exists, so it's better than nothing!
It has been acknowledged. I just wouldn't develop anything on A86 no matter how much I care for 8086 compatibility.
> > (Actually, we don't even know whether A86 really is self-compiling.)
>
> A86 is (allegedly) self-compiling, if you believe the author.
That's what I said. Although I don't really doubt that it is self-compiling: unless we have the source, we can't know for sure.
> > RxDOS 7.1.5 is trash.
>
> [...]
>
> But at least it tries to support FAT32 and LFN ("modern" technology).
>
> [...]
>
> Probably broadly similar to DOS-C, which was originally just an int 21h
> API, not all the extra bells and whistles. It didn't run everything under
> the sun either originally.
>
> [...]
>
> > Yeah. You could arguably make (a)7.1.5 work with JWasm with little
> effort,
> > but it's still trash.
>
> I assume you mean due to bugs. That, to me, is more of a deal-breaker than
> incompleteness.
I stopped recording specific bugs about 4 months into the hacking. There's no bugs any more; instead, everything just works hardly at all. I don't think DOS-C ever was that bad, but I didn't read Pat's book "FreeDOS Kernel" looking for problems specifically, and never looked at other early DOS-C source code.
> > > But cm's NASM fork is probably better.
> >
> > It's neither a fork nor a port any more. I've probably rewritten at
> least
> > 50% of the code by now.
>
> Well, it's still a derivative.
The kernel still is. But what if I get to a point where I've rewritten everything? Could I release it as my work? Would anyone even care to check the code? Probably not. (Don't misconstrue this. I don't want to steal any of Mike's code. Rewriting everything just really is a possibility.)
> The next Y2K problem.
Oh you. I wasn't aiming for that, 38 just is a nice number.
> Here's what bugs me about that:
>
> * Nobody at Sybase probably cares anymore. Nobody seems interested. They
> don't seem to actively maintain or even ever plan to change the license. So
> it's pretty much "dead" legally, IMHO.
Like about 95% of DOS software, only for that we don't get the source at all. So it was pretty nice of them to give us even "semi-free" source code, don't you think?
> * OSI approves the license, tons of it has been reworked, tweaked, improved
> since then, but it's still not good enough for Debian. And they somehow
> take that to mean that FreeDOS proper should stay in "multiverse", which
> seems odd to me.
Ah, that's where you're coming from.
> What does the compiler have to do with the license of the compiled output?
They're Linux zealots. They can't accept that there might be cases were accepting binaries instead of recompiling everything might be better, even if these binaries are just for a deprecated, foreign architecture no one supports.
Solution: Change people. Or use a workaround, for example, provide a free-free-free compiler for them. (Extend gcc? Use some existing DOS compiler with GPL or a really free license?)
Oh! Try embedding the KERNEL.SYS file in a C source file then compiling that with gcc
> (Or maybe they're worried about patents, but I'd be VERY
> surprised if anybody tried anything.
What with the kernel developers declining to debug or even thoroughly test MS-DOS, all patents applicable to TFK would be equally applicable to Linux (the kernel).
> And no, VFAT isn't in FreeDOS proper,
> so that can't be a good reason against it.)
VFAT is in Linux, so what?
> * There is no real effort to port FreeDOS to any other compiler. Of course,
> what else is there? There are other C compilers, but almost all of them
> only support 32-bit. So what, we should only use a 32-bit DOS now? Maybe.
And write proper boot loading and PM start-up code. That means in assembler, you hacks!
> What is TFK?
The FreeDOS Kernel. Because someone worked on some private (fork?) project they called DOS-C, they objected to me calling the recent FreeDOS kernel DOS-C on the mailing list, so I just call it The FreeDOS Kernel all the time. Calling it KERNEL.SYS isn't quite right in some situations.
> My P166 has OW 1.8 and TC++ 1.01. Both are freely available (loosely
> speaking, you pedants). For instance, BEF.C from bef-2.21.zip (Chris
> Pressey) compiles and UPXes to approx. 17k in OW but 10k in TC++. So it is
> smaller, but only because (says Tom Ehlert) that it's a "dumber" compiler
> (one-pass??).
Seems somewhat extreme. As pedant, I believe a one-pass compiler wouldn't be better than a multi-pass one. Maybe bad OW configuration (use "-os" or so to optimize for size)? There might also be more/better run-time checks in OW.
> ELKS has even less users than FreeDOS (not many)!
How would that be possible now.
> It has something to do with size, I never looked to closely. Yes, I know,
> it shouldn't be an issue, but it is. Blame the lame-o C compilers.
There's at least one PUSH imm opcode in one of the (NASM) source files. And FreeDOS is just silly enough I would expect something like that of them. Even if there are issues with segment size, no problem, split the offending code segment and do calls between these segments through pointers fixed up (preferably by the assembler swopping code).
> Actually, I
> can't remember, it may just be something like LOADFIX and/or something else
> trivial that isn't in the pure 8086 build.
Given that LOADFIX is absolutely useless on true 8086 and 80186 processors (they only address 1024 KiB of memory, there's no HMA or A20) you selected a bad example
As I said, the FreeCOM version I examined (0.84-pre XMS_Swap, 2005-07-20) really does have 8086-incompatible code. (Only seen it in an XMS call function though, and XMS doesn't exist on true 8086 machines, does it? Still bad enough.)
> I haven't rebuild FreeCOM lately.
Either way, fixing the broken 8086 compatibility should be a very easy task.
> I dunno, everything's just
> so disorganized, too much to do, not enough volunteers, etc.
I fondly regard Robert's mail asking about how FreeDOS 1.1 tasks are organized. And Pat's very inexplicit answer... "assessing what needs to be done in order to scope out the effort". Heheheheheh.
---
l
Complete thread:
- NASM version 2.09 available - rr, 25.08.2010, 13:27 (Announce)
- NASM version 2.09 available - DOS386, 26.08.2010, 09:10
- NASM version 2.09 available - ecm, 26.08.2010, 20:10
- NASM version 2.09 available - DOS386, 27.08.2010, 03:16
- NASM version 2.09 available - marcov, 27.08.2010, 17:10
- NASM version 2.09 available - Rugxulo, 28.08.2010, 04:53
- NASM version 2.09 available - ecm, 30.08.2010, 21:40
- NASM version 2.09 available - Rugxulo, 03.09.2010, 05:51
- NASM version 2.09 available - Arjay, 03.09.2010, 13:14
- NASM version 2.09 available - ecm, 03.09.2010, 14:40
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 20:06
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 06.09.2010, 22:27
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 22:37
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:19
- NASM version 2.09 available | 8086 is COOOOL - ecm, 07.09.2010, 18:53
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:19
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 07:33
- NASM version 2.09 available | 8086 is COOOOL - ecm, 07.09.2010, 16:22
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 07.09.2010, 16:59
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:04
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 19:15
- NASM version 2.09 available | A86 - Arjay, 07.09.2010, 19:58
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 22:42
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 08.09.2010, 01:05
- FASM and OMF - Japheth, 08.09.2010, 09:26
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:40
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - ecm, 08.09.2010, 19:45
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:53
- FASM is copylefted - ecm, 08.09.2010, 20:02
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:53
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - ecm, 08.09.2010, 19:45
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:40
- NASM - FASM - ecm, 08.09.2010, 15:09
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - Arjay, 08.09.2010, 22:12
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 11.09.2010, 01:23
- NASM - FASM license - ecm, 11.09.2010, 01:53
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - Arjay, 13.09.2010, 13:31
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 11.09.2010, 01:23
- FASM and OMF - Japheth, 08.09.2010, 09:26
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 08.09.2010, 01:05
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 22:42
- NASM version 2.09 available | A86 - Rugxulo, 08.09.2010, 06:56
- NASM version 2.09 available | A86 - Arjay, 07.09.2010, 19:58
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 08.09.2010, 06:28
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 19:15
- NASM version 2.09 available | A86 and kernels - ecm, 07.09.2010, 18:42
- NASM version 2.09 available | A86 and kernels - Rugxulo, 08.09.2010, 06:49
- NASM version 2.09 available | A86 and kernels - ecm, 08.09.2010, 20:30
- NASM version 2.09 available | A86 and kernels - ecm, 11.09.2010, 12:27
- Debian/OW ... FASM - Rugxulo, 11.09.2010, 23:44
- Debian/OW ... FASM - ecm, 12.09.2010, 02:40
- Debian/OW ... FASM - Rugxulo, 12.09.2010, 04:18
- Debian/OW ... FASM - ecm, 12.09.2010, 14:29
- FASM's license - Rugxulo, 12.09.2010, 22:18
- FASM's license - ecm, 12.09.2010, 23:12
- FASM's license - Rugxulo, 13.09.2010, 01:49
- FASM's license - ecm, 13.09.2010, 14:13
- FASM's license - Rugxulo, 13.09.2010, 22:27
- FASM's license - ecm, 14.09.2010, 15:50
- FASM's license - Rugxulo, 15.09.2010, 23:29
- FASM's license - ecm, 16.09.2010, 00:03
- code density - Rugxulo, 16.09.2010, 21:10
- code density - ecm, 17.09.2010, 14:15
- code density - Rugxulo, 17.09.2010, 23:06
- code density - ecm, 18.09.2010, 02:18
- code density - Rugxulo, 19.09.2010, 20:23
- code density - ecm, 19.09.2010, 20:27
- this messy thread - DOS386, 13.10.2010, 04:17
- this messy thread - Rugxulo, 13.10.2010, 04:50
- this messy thread - ecm, 14.10.2010, 13:01
- this messy thread - Rugxulo, 13.10.2010, 04:50
- this messy thread - DOS386, 13.10.2010, 04:17
- code density - ecm, 19.09.2010, 20:27
- code density - Rugxulo, 19.09.2010, 20:23
- code density - ecm, 18.09.2010, 02:18
- code density - Rugxulo, 17.09.2010, 23:06
- code density - ecm, 17.09.2010, 14:15
- code density - Rugxulo, 16.09.2010, 21:10
- FASM's license - ecm, 16.09.2010, 00:03
- FASM's license - Rugxulo, 15.09.2010, 23:29
- FASM's license - ecm, 14.09.2010, 15:50
- FASM's license - Rugxulo, 13.09.2010, 22:27
- FASM's license - ecm, 13.09.2010, 14:13
- FASM's license - Rugxulo, 13.09.2010, 01:49
- FASM's license - ecm, 12.09.2010, 23:12
- FASM's license - Rugxulo, 12.09.2010, 22:18
- Debian/OW ... FASM - ecm, 12.09.2010, 14:29
- Debian/OW ... FASM - Rugxulo, 12.09.2010, 04:18
- Debian/OW ... FASM - ecm, 12.09.2010, 02:40
- Debian/OW ... FASM - Rugxulo, 11.09.2010, 23:44
- NASM version 2.09 available | A86 and kernels - Rugxulo, 08.09.2010, 06:49
- NASM version 2.09 available | 8086 is COOOOL - tom, 07.09.2010, 19:58
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 08.09.2010, 06:58
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:04
- 8086 is fairly useless - tom, 07.09.2010, 19:47
- 8086 is fairly useless - ecm, 07.09.2010, 19:55
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 07.09.2010, 16:59
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 22:37
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 07:26
- NASM version 2.09 available | NASM manual - ecm, 07.09.2010, 16:30
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 06.09.2010, 22:27
- NASM version 2.09 available - Rugxulo, 13.10.2010, 06:15
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 20:06
- NASM version 2.09 available - Rugxulo, 03.09.2010, 05:51
- NASM version 2.09 available - ecm, 30.08.2010, 21:40
- NASM version 2.09 available - Rugxulo, 28.08.2010, 04:53
- 8086-NASM - Japheth, 14.09.2010, 15:04
- 8086-JWASM - ecm, 14.09.2010, 15:33
- NASM version 2.09 available - ecm, 26.08.2010, 20:10
- NASM version 2.09 available - DOS386, 26.08.2010, 09:10