FPC 16-bit (Announce)
> 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:
- FPC 16-bit - marcov, 26.04.2013, 09:41
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- FPC 16-bit - Laaca, 26.04.2013, 16:14
- FPC 16-bit - marcov, 26.04.2013, 22:30
- FPC 16-bit - DOS386, 28.04.2013, 14:53
- FPC 16-bit - marcov, 29.04.2013, 10:17
- FPC 16-bit - Laaca, 29.04.2013, 12:52
- FPC 16-bit - marcov, 30.04.2013, 17:36
- FPC 16-bit - marcov, 01.05.2013, 19:47
- FPC 16-bit (80186 cpu + NASM info) - Rugxulo, 03.05.2013, 10:40
- FPC 16-bit (80186 cpu + NASM info) - marcov, 03.05.2013, 15:10
- FPC 16-bit (80186 cpu + NASM info) - Rugxulo, 03.05.2013, 10:40
- FPC 16-bit - Rugxulo, 30.04.2013, 14:00
- FPC 16-bit - marcov, 30.04.2013, 17:15
- FPC 16-bit - Rugxulo, 01.05.2013, 03:12
- FPC 16-bit - marcov, 03.05.2013, 23:27
- FPC 16-bit - Rugxulo, 06.05.2013, 17:43
- FPC 16-bit - marcov, 08.05.2013, 23:39
- FPC 16-bit - Rugxulo, 15.05.2013, 19:00
- FPC 16-bit - marcov, 15.05.2013, 21:27
- FPC 16-bit - Rugxulo, 15.05.2013, 22:44
- FPC 16-bit - Laaca, 16.05.2013, 10:15
- FPC 16-bit - Rugxulo, 16.05.2013, 20:35
- FPC 16-bit - marcov, 16.05.2013, 20:46
- FPC 16-bit - marcov, 16.05.2013, 21:26
- FPC 16-bit - marcov, 16.05.2013, 21:19
- FPC 16-bit - Rugxulo, 17.05.2013, 07:52
- FPC 16-bit - marcov, 05.06.2013, 13:34
- FPC 16-bit - Rugxulo, 06.06.2013, 00:03
- FPC 16-bit - marcov, 01.07.2013, 22:29
- FPC 16-bit - Rugxulo, 07.07.2013, 01:52
- FPC 16-bit - marcov, 01.07.2013, 22:29
- FPC 16-bit - Rugxulo, 06.06.2013, 00:03
- FPC 16-bit - marcov, 05.06.2013, 13:34
- FPC 16-bit - Rugxulo, 17.05.2013, 07:52
- FPC 16-bit - Laaca, 16.05.2013, 10:15
- FPC 16-bit - Rugxulo, 15.05.2013, 22:44
- FPC 16-bit - marcov, 15.05.2013, 21:27
- FPC 16-bit - Rugxulo, 15.05.2013, 19:00
- FPC 16-bit - marcov, 08.05.2013, 23:39
- FPC 16-bit - Rugxulo, 06.05.2013, 17:43
- FPC 16-bit - marcov, 03.05.2013, 23:27
- P5 (PCOM/PINT) with FPC 2.7.1 snapshot - Rugxulo, 03.05.2013, 10:53
- P5 (PCOM/PINT) with FPC 2.7.1 snapshot - marcov, 03.05.2013, 15:04
- FPC 16-bit - Rugxulo, 01.05.2013, 03:12
- FPC 16-bit - marcov, 30.04.2013, 17:15
- FPC 16-bit - Laaca, 29.04.2013, 12:52
- FPC 16-bit - marcov, 29.04.2013, 10:17
- FPC 16-bit - Laaca, 26.04.2013, 16:14
Mix view