> My main interest is programming and a challenge. Occasionally play some
> that I miss. Bards Tale etc.
Check out Commander Keen ;-)
> Interested in the Kernel and Assembly programming.
If you want to learn something about the DOS kernel and Assembly language
I could probably tell you a lot (I'm trying to get the old Assembly
sources of the RxDOS kernel working). You might as well ask Udo Kuhnt
(from drdosprojects.de, developing another open-source DOS kernel), or the
DOS-C kernel guys from here (Eric and Tom wrote recently to the mailing
> See I am way ahead of myself. I have lots of experience programing and
> working on teams. What I don't have is
> dos programming or assembly. I have no clue about what I don't know, am
> even sure what to ask where to look.
> So I am quite content to sit back, take the druggy tasks and do whatever
> am told. I'll get to the kewl stuff when I learn
> what I am doing.
If learning Assembly, first decide whether to use Microsoft's MASM (or
compatible, free JWASM), or the free NASM (syntax differs slightly), or
something else like the free FASM. I know that some versions of NASM's
manual (f.e. the older .CHM one) contain a list with descriptions of all
Assembly instructions, which helped me to learn the language itself. As
Eric put it, NASM is considered more free than JWASM. FASM is also "more
free" but not used by many people yet.
If you want to learn about (16-bit) DOS kernel stuff, first get the RBIL
(Ralf Brown's Interrupt List) and the source of DOS-C (mostly C) and Udo's
Enhanced DR-DOS kernel (Assembly). (You might as well get the old RxDOS
7.1.5 Assembly sources but oh well.) If you have enough money you may want
to buy some of the interesting books, especially the second edition of
"Undocumented DOS" (mainly deals with reverse-engineering MS-DOS and using
this "undocumented" information, very interesting), "FreeDOS kernel"
(deals with the source of an early DOS-C & FreeCOM version) and
"Dissecting DOS" (deals with source of early RxDOS version). Be aware that
the RBIL and both of the kernel books contain some errors. If something is
in doubt, check whether MS-DOS works as predicted by the other source. (Of
course only use paid copies of MS-DOS for this. If you don't have one, a
recent PC of you running Windows NT (2000, XP, Vista) might contain the
NTVDM which is similar to MS-DOS. Windows XP is able to create MS-DOS
I've discovered a great source of knowledge on how things actually work is
available by using DEBUG (of course the new FreeDOS DEBUG which has more
features than the old Microsoft program) to test all kind of stuff in
Assembly. The source of useful programs like SHSUCDX (MSCDEX replacement)
and DOSLFN is also interesting (possibly only if you already know the
basics of DOS programming).
If you've learned all this stuff and found it interesting, there'll be
plenty of work for you. If not, you might help the DOS-C guys to write
their FreeDOS kernel in C. Or port Linux software to the DJGPP
environment. Or do something entirely else :-)