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

Reply via email to