The first 512 byte (usual sector size) of my in-development RXDOS.SYS file contain code so that it's a valid DOS executable (.COM of course), DOS device driver (try DEVICE=KERNEL.SYS), DOS kernel, and GRUB4DOS (probably normal GRUB as well) chainloadable without special support as for KERNEL.SYS (required: 0AA55h signature at address 510, code segment fixup by jumping from 0:7C00h to 7C0h:0).
It can also be loaded by DR-DOS LOADER, though LOADER always sets dx to zero so the default binary would always attempt to read CONFIG.SYS from drive A:. By forcing a boot drive value at "compile" time, a special LOADER binary can be created that always reads CONFIG.SYS from the first partition of the first hard drive (the only one LOADER seems to support anyway). The DOS executable and DOS device driver entries don't contain actual programs, they just abort displaying a message stating that this is the wrong way to use the binary. The DOS kernel entry, which is the default, is loadable at almost any low memory segment (50h til end of memory less two times the file's size) but requires offset zero. The default binary expects dl to contain the BIOS boot drive number but as mentioned a special binary with forced drive is created with some assembler options. Of course all of this is done in real mode Assembly. Requesting a "grub4dos without menu" as "generic" boot file for FreeDOS is really unnecessary, unless you need CD-ROM no-emulation boot support or a file of which only the first few sectors are loaded. I'm sure someone writing Assembly and motivated enough could add the described generic boot support to the DOS-C file KERNEL.SYS itself. (If someone is interested I can send the related source.) The only major problem is that SYS CONFIG currently expects it's data block at a fixed address in the binary, which is not available with the described code because the DOS device header is to be placed there. Also, you can't compress generic bootable files just by hacking parts of the UPX loader as currently done for DOS-C (and the EDR-DOS kernel). Regards, Christian ------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user