Commit Graph

310 Commits

Author SHA1 Message Date
pierre
595938637e Add explicit FPC_SYSTEM_OPT variable that is only used for compilation of system units, thus allowing to explicitly pass -Sf option
git-svn-id: trunk@37890 -
2018-01-02 16:50:58 +00:00
florian
5bedaf11f4 * fpcmake.inc and Makefiles renerated after last commit
git-svn-id: trunk@37834 -
2017-12-27 15:08:18 +00:00
nickysn
7cc581d4c7 * replaced Intr($21,regs) with MsDos(regs) in the i8086-msdos sysutils unit
git-svn-id: trunk@37733 -
2017-12-15 14:58:26 +00:00
nickysn
0119e7afb3 * changed the codepointer type in the i8086 small and compact memory models from
nearpointer to nearcspointer

git-svn-id: trunk@37730 -
2017-12-14 17:36:15 +00:00
nickysn
4f498c9e3c * always enable portl (32-bit port access) in the i8086 ports unit
git-svn-id: trunk@37560 -
2017-11-06 16:32:36 +00:00
florian
a230826357 - remove obsolete comment after r37555
git-svn-id: trunk@37557 -
2017-11-05 22:04:06 +00:00
florian
13df5b51db * objects support also default properties, so the ports unit does not depend on objpas anymore
git-svn-id: trunk@37555 -
2017-11-05 15:10:55 +00:00
nickysn
e4a405dcd9 + added unit 'cpu' for i8086
git-svn-id: trunk@37332 -
2017-09-27 16:55:56 +00:00
Károly Balogh
04dee0fc04 regenerated Makefiles for m68k-macos target
git-svn-id: trunk@37034 -
2017-08-22 11:16:42 +00:00
pierre
ba7586a5c8 Fix for FPU generated exception as interrupt 0x10, contributed by Max Nazhalov
git-svn-id: trunk@36813 -
2017-07-29 11:50:21 +00:00
pierre
963d109331 Add two word variables to store fpu control and status register in interrupt 0x10
git-svn-id: trunk@36653 -
2017-07-05 22:03:27 +00:00
pierre
adfd578659 Correct error in commit 36437: restore interrupt must be $10, not $06
git-svn-id: trunk@36497 -
2017-06-13 21:02:10 +00:00
pierre
d68ebf7cfb Disable specific coprocessor int 0x10 handler if possible
git-svn-id: trunk@36488 -
2017-06-12 06:52:35 +00:00
nickysn
748428b637 + support the KOI8-R and KOI8-U Cyrillic encodings
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726 + added cp3021 (Bulgarian MIK) code page support
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
pierre
e06f1f89ef Solve bug report 31919, by avoiding SEG reloaction in tiny model
git-svn-id: trunk@36437 -
2017-06-06 12:01:39 +00:00
nickysn
396eebbfb5 + added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated

git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
nickysn
35be7348fb + added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
ef25c33d69 + added cp855 to the implicit unit list in the rtl makefiles
git-svn-id: trunk@36421 -
2017-06-05 12:19:01 +00:00
pierre
53bfafa290 Add information about MCB to SysAlloc call if DEBUG_TINY_HEAP macro is defined
git-svn-id: trunk@36299 -
2017-05-22 20:42:33 +00:00
pierre
e092f00843 Avoid trying to use invalid instruction exception if Test8087 is below 2, as older CPU ignore simply invalid instructions
git-svn-id: trunk@36298 -
2017-05-22 20:41:36 +00:00
pierre
8a7de4a4d3 Add calls to FPC_HANDLE_I8086_ERROR and add handlers for interrupt $10 and $75
git-svn-id: trunk@36271 -
2017-05-19 22:06:37 +00:00
pierre
ec0dfdc245 Regenerated after: Add unicode related units
git-svn-id: trunk@36270 -
2017-05-19 22:02:29 +00:00
pierre
86d0cfb75e Add unicode related units
git-svn-id: trunk@36269 -
2017-05-19 22:02:01 +00:00
pierre
50e5256f8e * system.pp:
+ Add MSDOS specific version of SysInitFPU, using Get/SetInterrput Vectors
    to test coprocessor presence.
    * Do not call SetupEnvironment in startup code.
    + Add internal_envp variable (nil by default).
    + Change envp to function, which calls SetUpEnvironment,
    if internal_envp is nil.
    * Do not call SetupArguments at startup,
    instead call it from inside paramcount or paramstr
    + Add SaveInt10 and SavdeInt75

  * dos.pp: Also swap Interrupt vectors $10 and $75

  * sysutils.pp: Adapt to envp change in system unit.

git-svn-id: trunk@36268 -
2017-05-19 22:01:12 +00:00
pierre
301ed6d9b7 Fix debug code on successful int 0x21 function ax=0x4800
git-svn-id: trunk@36261 -
2017-05-19 21:30:14 +00:00
pierre
d46c8886de Do not set InOutRes if ReturnNilIfGrowHeapFails is set in SysOSAloc
git-svn-id: trunk@36255 -
2017-05-19 15:21:58 +00:00
pierre
ac3b9ac979 Avoid placing COMPILER_UNITTARGETDIR in the prerequisite list of assmebler files,
as those directories are modified by any new file in that directory, which
  lead to repeated (and useless) recompilation of assembler files on linux systems.

git-svn-id: trunk@36173 -
2017-05-10 13:06:39 +00:00
pierre
579b8dafd2 Do not call initunicodestringmanager if unicodestrings feature is disabled
git-svn-id: trunk@36110 -
2017-05-05 08:01:45 +00:00
pierre
7d0d41be4b Allow msdos RTL compilation with -Sfnodynlibs
git-svn-id: trunk@36108 -
2017-05-04 22:54:53 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
Tomas Hajny
1e6ee7f3c7 * fix remaining search handle leaks in Dos.FSearch - fix for bug #30896
git-svn-id: trunk@34910 -
2016-11-17 22:05:17 +00:00
Tomas Hajny
b7de70422f * fix for bug #24504 (extended version of patch by Bart Broersma)
git-svn-id: trunk@34849 -
2016-11-08 22:16:49 +00:00
nickysn
e0267e3088 + call InitSystemThreads in the msdos system unit startup, to initialize the
thread manager object, so that rtl calls to InitCriticalSection don't crash

git-svn-id: trunk@34681 -
2016-10-08 22:03:27 +00:00
pierre
7129de8a6e Fix compilation with -dSYSTEMDEBUG after heap changes (removal of 'tiny' in memory functions in tiny heap)
git-svn-id: trunk@34019 -
2016-06-25 08:16:52 +00:00
nickysn
5306ee552b * regenerated makefiles with latest fpcmake
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
a58dd988a4 * regenerate makefiles after the fpcmake update
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
pierre
a72434e93a Trial to clarify heap for i8086 issues:
- MSDOS heap in tinyheap.inc modified to use usual
  SysGetMem and similar names.
  - Use HAS_MEMORYMANAGER (used previously in wince source code,
  to specify that a memory manager is defined elsewhere than inside
  heap.inc include file.
  - Use
  - Remove TinyHeapMemoryManager Structure variable completely

  heaptrc.pp: remove unneeded macro code after name changes of tinyheap.inc

  msdos/system.pp now only defines HAS_MEMORYMANAGER macro
  win16/system.pp defines HAS_MEMORYMANAGER and FPC_NO_DEFAULT_HEAP
  as it still uses a different memory manager.
  __stkbottom variable added for win16 system.pp as it is required
  by i8086 specific stack check code.

git-svn-id: trunk@33983 -
2016-06-13 22:26:03 +00:00
Tomas Hajny
c1afb4b63b * avoid FindFirst failing due to Attribute parameter bigger than $FF
git-svn-id: trunk@33894 -
2016-06-03 21:16:35 +00:00
pierre
e4a9e0ceea * Fix compilation for msdos OS with -dSYSTEMDEBUG
git-svn-id: trunk@33717 -
2016-05-20 15:46:46 +00:00
pierre
01ea38a627 Implement basic SysOSAlloc using MSDOS Interrrupt 0x21, AH=0x48 function
git-svn-id: trunk@33676 -
2016-05-11 14:29:11 +00:00
pierre
2a3b5bec86 Add new FPC_NO_DEFAULT_MEMORYMANAGER define for msdos OS
git-svn-id: trunk@33675 -
2016-05-11 14:27:26 +00:00
nickysn
6d4dfb5595 * fixed compilation of sysutils on i8086-msdos after r33290
git-svn-id: trunk@33312 -
2016-03-21 21:09:27 +00:00
nickysn
759a4f8258 * don't try to build lnfodwrf on i8086-msdos, because it causes internal error
200309041 and thus breaks building i8086-msdos snapshots entirely. Added test
  that reproduces the bug in a small program, so it can be fixed eventually.

git-svn-id: trunk@33276 -
2016-03-18 19:56:37 +00:00
nickysn
5aa8392e05 * i8086-msdos compilation fixed
git-svn-id: trunk@33043 -
2016-02-04 08:45:20 +00:00
pierre
3c88a3c59b Use Tiny getmem/freemem functions for systemdebug code, add more debug output
git-svn-id: trunk@32949 -
2016-01-16 00:50:30 +00:00
pierre
3bf9019676 + Define FPC_ANSI_TEXTFILEREC to avoid unnecessary use of unicode char
+ Add possibility to disable FEATURE_WIDESTRINGS by
 setting conditional NO_WIDESTRINGS
 + Add ifndef RTLLITE around LFN code

git-svn-id: trunk@32948 -
2016-01-16 00:42:36 +00:00
nickysn
79c5b632f1 + added portl class for 32-bit port access in the i8086-msdos ports unit, if
the target cpu is 386 or later

git-svn-id: trunk@32929 -
2016-01-12 18:06:21 +00:00
nickysn
72dc92e8b8 * added 'word ptr' overrides, to avoid generating 32-bit instructions (due to a
bug in the i8086 internal assembler reader, which will be fixed later)

git-svn-id: trunk@32872 -
2016-01-07 15:40:47 +00:00
nickysn
05a3a91d19 * fixed msdos cross compiler compilation with "make -j2"
git-svn-id: trunk@32354 -
2015-11-17 19:30:57 +00:00