Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

FPC 16-bit (Announce)

posted by marcov, 26.04.2013, 22:30

> Wow! It is cool! I will test it.

Disclaimer: I (= Nikolay) still haven't tested if these things still work after the
merge.

- simple programs work. The system unit compiles and is implemented almost completely. All file and directory operations work, including long file name support. The only major thing not yet implemented is ParamStr and ParamCount.
- the DOS unit compiles also, but contains more functions which are not yet implemented
- the required external tools are the NASM assembler, the OpenWatcom linker WLINK and the WLIB tool also from OpenWatcom
- the object format used is ROMF, which is the most popular DOS .obj file format and should be compatible with most 16-bit compilers: http://en.wikipedia.org/wiki/Relocatable_Object_Module_Format
- memory model is "small", with code <= 64KB and data <= 64KB, all pointers are near and SS=DS
- the default calling convention is "pascal", but is currently incompatible with Turbo Pascal 7 due to the different memory model - TP7 uses far calls to call external routines and all pointers parameters are far and not near. TP3 may be more compatible, due to the use of near calls, but it still uses far pointers, so functions with pointer parameters will not work.
- the heap manager works, but the heap is limited to 64KB minus stack and static data size
- smartlinking works and is in fact required, because the code for the code for the whole system unit exceeds 64KB all by itself.
- there are still some 186/286 instructions generated, so code does not yet run on a real 8086/8088, but this should be fixed shortly
- floating point operations require an FPU. There's no soft float implementation yet

 

Complete thread:

Back to the forum
Board view  Mix view
22780 Postings in 2123 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum