On Tue, 30 Nov 2004 13:34:26 +0100 (MET), Eric Auer <[EMAIL PROTECTED]> wrote: > > Hi, you are not the first one who is planning FreeDOS ports for embedded x86: > > http://fd-doc.sourceforge.net/faq/cgi-bin/viewfaq.cgi?faq=incoming/277 > > This FAQ entry contains a detailled description of the needed BIOS services > for the kernel. You can remove some of them by modifying the kernel a bit. > You should not try to remove all - it is easier to keep them in the BIOS, > even if this means that you have to improve your BIOS first. > > If you want to use non-BIOS disks, you will have to load a driver which > offers simple sector read / write. You can load the kernel into RAM and > start it, but then, you need at least a very tiny and simple disk (could > be a disk image in ROM, as in ROMOS) with already active drivers to provide > files like config sys. In config sys, you can load the abovementioned driver > (if the disk is partitioned, it would have to process the MBR itself - but > the KERNEL can do all the FAT processing for you) to gain access to more > disks. > > Summary of required services: > Int 0x11 / 0x12 (trivial) provide system information > Int 0x14 / 0x17 are used to init and access COM and LPT ports, > but only if system information told that such ports exist. > Int 0x19 can be used to reboot, but is not really needed. > Some values at 0x40:?? have to be present for FreeDOS. > > For DISK access, functions 0, 1, 2, 3 and 8 should be present > of int 0x13 (more if you prefer LBA access instead of CHS). Read > MEMDISK of SYSLINUX sourcecodes for an example. > For KEYBOARD access, int 0x16 functions 0, 1, 2 are needed, > for modern keyboards also 0x10, 0x11, 0x12. > For SCREEN access, int 0x10 functions like 0x0e (TTY) are > used, but you should add a few more like 2, 9 and some > status functions / cursor movement. > For CLOCK access, int 0x1a is needed, and 0x40:0x6c has to > do the usual timer tick - many DOS programs expect that. > The int 0x1e contents should tell about the geometry of > your (possibly simulated) floppy.
Thank you very much. Your answer is very helpful. It seems it is quite feasible. My system will only run one program. I planed to ROMmize the program, but since it will use an HD to store data, I now plan to place the program in the HD too. Seems I only need to implement int 0x11/0x12 and 0x13. Thank you again. vax, 9000 >Eric ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
