[fpc-devel] State of i8086-embedded

Sven Barth pascaldragon at googlemail.com
Mon Jul 1 21:52:23 CEST 2019


Hello together!

For a project at work I need to run 16-bit x86 code on a bare x86 
hardware (more precisely a 8086 VM). Considering that i8086-embedded had 
been added to FPC nearly exactly 3 years ago I though I'd give it a try 
and cross compiled the units for the tiny memory model. However when I 
tried to compile a test program with -Wtcom (cause I've read that I'd 
need to use exe2bin to convert the resulting binary) I get the following 
output:

=== output begin ===

PS C:\fpc\git> .\compiler\ppcross8086.exe -n -Furtl\units\i8086-embedded 
-viwn -FEtestoutput -Tembedded -CX -XXs -Wmtiny
  -Wtcom .\fpctests\tembedtest.pp
Target OS: Embedded
Compiling .\fpctests\tembedtest.pp
Linking testoutput\tembedtest.com
tembedtest.pp(7,1) Warning: Object prt0t.o not found, Linking may fail !
tembedtest.pp(7,1) Warning: Object prt0t.o not found, Linking may fail !
tembedtest.pp(7,1) Error: Can't open object file: prt0t.o
tembedtest.pp(7,1) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted

=== output end ===

Well, prt0t indeed does not exist for embedded (neither source nor 
object file) and looking at the code of $fpcdir/rtl/msdos/prt0t.asm (or 
more precisely prt0comn.asm) that one seems to be quite a bit dependant 
on DOS.

So what's the state of i8086-embedded? All I need is doing some 
calculation code and executing some interrupts (thus I hope that I won't 
need to load the resulting program at address 0, thus overwriting the 
interrupt table ;) ). And of course I'll need to know how I'll need to 
setup the VM's state before jumping into the entry code of the program. ;)

Regards,
Sven


More information about the fpc-devel mailing list