Commit Graph

397 Commits

Author SHA1 Message Date
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
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
michael
fde42ca8ef * Type helpers, compatible to Delphi XE 8
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
nickysn
20e5b3e586 * handle empty environment correctly when initializing argv0 under msdos.
Patch by Max Nazhalov, mantis #28705.

git-svn-id: trunk@32028 -
2015-10-12 17:59:51 +00:00
nickysn
ace95e550b * initialize argc and argv on i8086-msdos. This fixes paramcount and paramstr
in objfpc mode on this platform (mantis #28705)
+ support quoted parameters like the go32v2 target

git-svn-id: trunk@32018 -
2015-10-11 17:38:45 +00:00
nickysn
4454332d7a * fixed the sysutils.GetEnvironment* functions for i8086-msdos
- removed the envp variable from the msdos system unit, because it's not
  compatible with ppchar in all memory models (we use ppfarchar to avoid copying
  the environment in the program's data segment in near data memory models)

git-svn-id: trunk@32017 -
2015-10-11 13:23:59 +00:00
nickysn
239fc27c38 + implemented sysutils.diskfree and sysutils.disksize for i8086-msdos
git-svn-id: trunk@31905 -
2015-10-01 15:25:13 +00:00
nickysn
12f49eb280 * fixed getting the current locale's ansi upper case table under i8086-msdos
git-svn-id: trunk@31904 -
2015-10-01 15:05:33 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
nickysn
1264eaf8c6 * fixed "nil pointer assignment" error in huge memory model
git-svn-id: trunk@31502 -
2015-09-03 22:37:01 +00:00
nickysn
63f86ee6a5 + huge memory model fixes in the i8086-msdos startup code
git-svn-id: trunk@31501 -
2015-09-03 22:08:53 +00:00
nickysn
4061628ffb * the i8086-msdos default code segment (in near code memory models) renamed
'_TEXT'. This name is used in object modules, produced by Borland C and Open
  Watcom.

git-svn-id: trunk@31482 -
2015-09-02 13:14:12 +00:00
nickysn
a3dd5c7c17 * set stack alignment to 16 in the msdos startup code
git-svn-id: trunk@31397 -
2015-08-24 19:58:08 +00:00
nickysn
5dc42404cf * capitalize omf segment class names, as that's how other 16-bit compilers write them
git-svn-id: trunk@31371 -
2015-08-22 19:07:04 +00:00
nickysn
1643c5f073 * also capitalize 'DGROUP' in the msdos startup code as well after r31369
git-svn-id: trunk@31370 -
2015-08-22 18:56:36 +00:00
nickysn
536346a441 * use 'dw' instead of 'dd' to reference the stack, in order to prevent nasm from
generating a 32-bit fixup record

git-svn-id: trunk@31353 -
2015-08-20 21:51:23 +00:00
nickysn
3ee0fc22d9 * use 'dw' instead of 'dd' to reference the heap from the i8086-msdos startup
code, because 'dd' causes nasm to emit a 32-bit OMF relocation entry, which
  we won't support (at least initially) in our internal linker

git-svn-id: trunk@31345 -
2015-08-19 14:33:56 +00:00
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
nickysn
5a1ce6162b * set the bss, rodata and rodata_norel section alignment to 2 bytes for the i8086-msdos target
git-svn-id: trunk@30680 -
2015-04-20 01:27:26 +00:00
nickysn
a69b98484e + enabled compilation of unit lnfodwrf on i8086-msdos
git-svn-id: trunk@30637 -
2015-04-18 01:56:04 +00:00
nickysn
930327eabf * fixed a race condition during parallel build, when nasm tries to create the
output file, before mkdir has created the output directory

git-svn-id: trunk@30148 -
2015-03-08 13:32:35 +00:00
nickysn
e513cd44cf * cleaned up, fixed dependencies and enabled parallel build in the msdos makefile
git-svn-id: trunk@30145 -
2015-03-08 12:31:58 +00:00
Tomas Hajny
db7a9950d1 * unit name changed to System (starting with uppercase 'S') for improved compatibility to Delphi - see test tobject5.pp
git-svn-id: trunk@30025 -
2015-02-27 19:00:50 +00:00
Jonas Maebe
fa328436ab * regenerated for iphonesim/x86-64
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
pierre
7bbb30ccd4 * Reset filerec mode field to fmClosed if the system call to open the file failed
git-svn-id: trunk@29132 -
2014-11-23 21:49:29 +00:00
sergei
3a5e6485b5 - RTL: removed InitVariantManager, it was an empty procedure since day 1.
git-svn-id: trunk@29114 -
2014-11-22 20:35:46 +00:00
nickysn
8edfd33af8 * use RegisterTinyHeapBlock_Simple_Prealigned in the msdos rtl
git-svn-id: trunk@28652 -
2014-09-13 19:55:55 +00:00
nickysn
c8e9d2cf6e + added a simplified version of RegisterTinyHeapBlock, for use when the tiny
heap is a single memory block

git-svn-id: trunk@28635 -
2014-09-09 12:45:47 +00:00
nickysn
45ed066fed * fixed SysUtils.FindFirst/FindNext/FindClose on i8086-msdos in the compact and
large memory models by changing TSearchRec.FindHandle to a pointer (because
  THandle is 16-bit on this platform and is thus not able to hold a far pointer
  without truncating it)

git-svn-id: trunk@28451 -
2014-08-18 21:39:20 +00:00
nickysn
7958466ef9 * on i8086-msdos, in the compact and large memory models, set the end of heap to
be the end of the current program's MCB, instead of 16 bytes earlier

git-svn-id: trunk@28442 -
2014-08-18 13:54:20 +00:00
nickysn
9979aa702f + added the TP7-compatible pointer variables HeapOrg and HeapEnd, indicating,
respectively, the start and end of the tiny heap. Eventually they are also
  going to be used for catching attempts to free memory that is outside the
  heap.

git-svn-id: trunk@28437 -
2014-08-17 22:42:44 +00:00
nickysn
a61c775d29 + enabled the huge (>64kb) heap support in the compact and large memory models
git-svn-id: trunk@28349 -
2014-08-08 23:32:12 +00:00
nickysn
b1144508a7 * fixed the far/huge data ifdefs in InitDosHeap
git-svn-id: trunk@28348 -
2014-08-08 21:44:19 +00:00
nickysn
ace28a3552 * InitNearHeap procedure renamed InitDosHeap and added support for a huge heap.
Startup code still needs to be updated in order to enable >64kb heap.

git-svn-id: trunk@28334 -
2014-08-07 22:00:24 +00:00
nickysn
f7dd4f640a - rm the 'Memory allocation error' and 'Not enough memory' error messages from
the compact and large model startup code, since they're not used (we rely on
  the DOS loader to check for the available memory instead)

git-svn-id: trunk@28069 -
2014-06-25 23:16:55 +00:00
nickysn
ba5ececab9 * i8086 far data memory model fixes in the int 0 (div by zero) handler
git-svn-id: trunk@28062 -
2014-06-25 16:46:58 +00:00
nickysn
e7e02467fc * fixed bug in MsDos and Intr in i8086 far data memory models not cleaning their
parameters from the stack properly (leaving an extra word on the stack)

git-svn-id: trunk@28059 -
2014-06-25 12:33:03 +00:00
nickysn
23b0cf2340 * msdos system unit variable dos_psp renamed PrefixSeg for TP7 compatibility
git-svn-id: trunk@28047 -
2014-06-24 10:58:59 +00:00
nickysn
1910177cf0 + added heapmax support to the $M directive on i8086-msdos. It is currently
only implemented in the near data memory models. The far data models support
  is still a TODO.

git-svn-id: trunk@28039 -
2014-06-23 20:17:17 +00:00
nickysn
95449a3fd4 * fixed yet another dos_psp<>dgroup bug in the startup code for .exe files in
the tiny memory model

git-svn-id: trunk@28033 -
2014-06-22 20:12:55 +00:00
nickysn
3164a10d9d * fixed a bug in the startup code for tiny memory model, which caused the
program MCB address not to be calculated correctly, when the program is a tiny
  model .exe file, leading to possible memory corruption. Previously, the code
  assumed that dos_psp=CS, but that's only true for tiny .com files; tiny .exe
  files have a 256-byte gap between dos_psp and CS.

git-svn-id: trunk@28032 -
2014-06-22 11:06:57 +00:00
nickysn
cd6b15f49a * slight optimization to the small and medium model startup code
git-svn-id: trunk@28031 -
2014-06-22 09:42:30 +00:00
nickysn
1295b4abf7 - removed the call to CheckNullArea from the exit code for the tiny memory model
git-svn-id: trunk@28006 -
2014-06-19 21:47:46 +00:00
nickysn
7cfd7a66cd + create a special 'heap' segment with reserved space equal to heapsize (i.e.
the value set by -Ch or the second parameter to the $M directive). This is
  equivalent to the heapmin value in Turbo Pascal 7 and ensures that the program
  has at least this amount of heap space available (otherwise DOS will show a
  'not enough memory' error and will refuse to load the program).

git-svn-id: trunk@28002 -
2014-06-19 14:14:01 +00:00
nickysn
2dc8839af5 * set class=data to all data segments/sections on i8086
git-svn-id: trunk@27957 -
2014-06-14 16:01:22 +00:00
nickysn
8ad63788c7 - do not emit a stack segment in the tiny memory model
- rm the reference to the top of the stack segment from the startup code in tiny
  model

git-svn-id: trunk@27956 -
2014-06-14 15:56:44 +00:00
nickysn
73d7f2aa18 * let the compiler generate the stack segment in i8086 near data memory models
as well. Even though, in these models, the stack is dynamically allocated
  (because it goes on top of the heap, but the heap is variable size), there are
  still benefits:
  1) the program will run on a larger stack during initialization, before the
     actual stack (and heap) are ready
  2) in cases, when the system is extremely low on memory, DOS will reject to
     load the program if there's not enough memory for the stack the program
     requires. This way the startup code can be further simplified by omitting
     the 'not enough memory' check in the future (when we add the minimum heap
     size to the executable reserved space as well).

git-svn-id: trunk@27903 -
2014-06-08 21:14:57 +00:00
nickysn
d4565aeec2 * in i8086 far data memory models add reference to the beginning of stack from
the startup code, so the object module, containing the stack segment doesn't
  get smartlinked away

git-svn-id: trunk@27824 -
2014-05-29 14:57:48 +00:00
nickysn
3cc8ff11e3 + generate the stack segment for i8086 far data memory models from within fpc
itself (instead of having a fixed 16k stack in the startup code). This allows
  setting the stack size in these models with the -Cs option.

git-svn-id: trunk@27820 -
2014-05-27 23:29:50 +00:00
Tomas Hajny
cedf009d3c * fix for SIGSEGV in Exec without command line parameters revealed in discussion for #26160
git-svn-id: trunk@27804 -
2014-05-18 20:37:40 +00:00
pierre
3d34a8a3b0 Makefiles updated with fpcmake rev 27428
git-svn-id: trunk@27508 -
2014-04-10 09:58:17 +00:00
nickysn
626000e50d + added System.SelectorInc to the msdos rtl (BP7 compatibility)
git-svn-id: trunk@27497 -
2014-04-07 08:26:53 +00:00
nickysn
f31d7e665b * fix for i8086 far data memory models in dos.getintvec
git-svn-id: trunk@27468 -
2014-04-04 17:03:18 +00:00
nickysn
8efd857d76 * i8086 far data memory model fixes in unit msmouse
git-svn-id: trunk@27462 -
2014-04-04 08:57:14 +00:00
nickysn
34e8e5a0dc * handle zero length strings correctly in DebugWrite/DebugWriteLn
git-svn-id: trunk@27459 -
2014-04-03 21:47:42 +00:00
pierre
fcc7dc82fc Fix typo error in previous fpcmake.ini change
git-svn-id: trunk@27428 -
2014-04-01 15:38:27 +00:00
pierre
2161b5e2e4 Fix syntax error in previous fpcmake.ini change
git-svn-id: trunk@27426 -
2014-04-01 15:31:12 +00:00
pierre
7b28fb4c0e Makefile update to suppport use of -sh option
git-svn-id: trunk@27425 -
2014-04-01 15:26:28 +00:00
pierre
8f9268d808 Add missing EXECPPAS for explicit COMPILER calls, needed for -sh option
git-svn-id: trunk@27422 -
2014-04-01 15:12:30 +00:00
nickysn
e4d4dd9d81 * replaced tabs with spaces, fixes identation
git-svn-id: trunk@27419 -
2014-04-01 12:46:46 +00:00
nickysn
85c6ffa102 * setup a true far data memory layout in the compact and large models with
stack, heap and static data being all in different segments

git-svn-id: trunk@27418 -
2014-03-31 22:03:48 +00:00
nickysn
e4437bcd51 + initialize the segment of __stktop, __stkbottom, __nearheap_start and
__nearheap_end in i8086 far data memory models.
+ 'Hello world!' now works in the i8086 compact and large memory models!

git-svn-id: trunk@27377 -
2014-03-30 15:32:44 +00:00
nickysn
381d09d03f + added extra_data_offset constant, similar to extra_param_offset but for data
pointer size fixups

git-svn-id: trunk@27356 -
2014-03-29 21:43:09 +00:00
nickysn
4eeff66922 + compact and large memory model support added to the MsDos and Intr procedures
git-svn-id: trunk@27354 -
2014-03-29 21:28:57 +00:00
marco
959ea7f5bb * printer unit moved. Amiga unit also moved but it is not actively used.
git-svn-id: trunk@27351 -
2014-03-29 20:35:28 +00:00
marco
c465d3d64a * moving 4 cp9* units. These are 16-bit and big.
git-svn-id: trunk@27349 -
2014-03-29 19:43:13 +00:00
marco
ed3a49372d * strutils moved to packages/rtl-objpas
git-svn-id: trunk@27339 -
2014-03-29 17:51:44 +00:00
nickysn
4a649c9b08 + i8086 far data memory model support in DebugWrite
git-svn-id: trunk@27265 -
2014-03-24 16:51:38 +00:00
nickysn
32c3f4e682 + added cld to DebugWrite
git-svn-id: trunk@27264 -
2014-03-24 15:41:29 +00:00
nickysn
25be2bc720 * define macros identifying the code and data model in each of the memory models
git-svn-id: trunk@27263 -
2014-03-24 14:02:57 +00:00
nickysn
0236c2823a + added startup modules for compact, large and huge model that define the
memory model and include the common startup code prt0comn.asm (which is not
  yet adapted for the new models, but eventually will be)

git-svn-id: trunk@27262 -
2014-03-24 13:42:42 +00:00
nickysn
f4c463b6bd * prt0stm.asm renamed prt0comn.asm, as it will probably be used as the common
startup code for all memory models and not just for small, tiny and medium

git-svn-id: trunk@27261 -
2014-03-24 13:23:36 +00:00
nickysn
b7d759344d * fixed do_filepos and do_seekend not returning the high 16 bits of the file
offset correctly

git-svn-id: trunk@27176 -
2014-03-17 22:01:09 +00:00
nickysn
d989a42111 * several local variables changed from longint to integer
git-svn-id: trunk@27175 -
2014-03-17 21:58:53 +00:00
nickysn
517f802ccc * revert to the initial implementation of GetCommandLine as the code generator
bug mentioned in the comment has been fixed

git-svn-id: trunk@27173 -
2014-03-17 20:33:32 +00:00
nickysn
238c4f91d8 * fixed dos.getftime returning a wrong value for 'time' on i8086-msdos
git-svn-id: trunk@27159 -
2014-03-16 15:22:49 +00:00
nickysn
ee34761646 * changed some longint vars to integer and cleaned up some unused vars from the
msdos dos unit.

git-svn-id: trunk@27158 -
2014-03-16 13:55:00 +00:00
nickysn
ac6611ceb9 - rm unused variable from LFNFindFirst
git-svn-id: trunk@27157 -
2014-03-16 12:46:04 +00:00
nickysn
044a744ba8 + implemented dos.SwapVectors for i8086-msdos
git-svn-id: trunk@27156 -
2014-03-16 12:37:52 +00:00
nickysn
07c3762164 + ported the go32v2 CD-ROM support code for dos.disksize and dos.diskfree to
i8086-msdos

git-svn-id: trunk@27155 -
2014-03-16 12:23:22 +00:00
nickysn
41d28f91e5 - rm asmmode intel from the i8086-msdos rtl, as that is the default asm mode on
that platform

git-svn-id: trunk@27144 -
2014-03-15 13:01:05 +00:00
nickysn
2425eb243a * DebugWrite and DebugWriteLn moved to the implementation part of the system
unit. No need to expose them anymore, as the regular Write/WriteLn have been
  quite stable on i8086-msdos for a long time now.

git-svn-id: trunk@27143 -
2014-03-15 12:31:01 +00:00
sergei
3a55c4301e * Since StackTop=StackBottom+StackLength, any two variables are sufficient to describe stack, the third one is redundant.
* As a first part of cleanup, replaced StackTop with function returning StackBottom+StackLength.
* On Win32 and Win64, StackTop returns the stack base from TIB instead.

git-svn-id: trunk@27119 -
2014-03-12 19:48:03 +00:00
nickysn
fec4c6a6e2 * various rtl fixes that allow objpas.integer to be 16-bit on 16-bit targets
(still not sure if it's a good idea, but trying, at least, is harmless - we
  can always rollback to integer being equal to longint)

git-svn-id: trunk@26966 -
2014-03-06 01:10:18 +00:00
nickysn
90c04fef80 + added nil pointer assignment test at the end of program for i8086-msdos
(works only for small and medium memory model)

git-svn-id: trunk@26888 -
2014-02-26 19:28:57 +00:00
nickysn
be879dde19 * added align=16 to the _NULL segment to ensure it's always located at DS:0000
git-svn-id: trunk@26883 -
2014-02-26 00:32:54 +00:00
nickysn
2fd09437e9 + added segment _null, belonging to group dgroup and class BEGDATA with the
hexadecimal pattern 01 in order to help catch storing data at location 0
  (this is compatible with Open Watcom's C library)

git-svn-id: trunk@26866 -
2014-02-24 14:01:44 +00:00
yury
73c26bd6be * mipsel-android: Regenerated makefiles. From now the mipsel-android target can be built and used.
git-svn-id: trunk@26705 -
2014-02-07 12:37:17 +00:00
Tomas Hajny
be6fdf21ce + character sets for central Europe added also to Makefiles as implicit units
git-svn-id: trunk@26527 -
2014-01-20 00:23:36 +00:00
pierre
f4726e068b Avoid assmebler size mismatch warning in Keep procedure
git-svn-id: trunk@26496 -
2014-01-17 23:33:24 +00:00
marco
dea2c743d5 * Initial active version of
rtl-extra : objects matrix ucomplex
   rtl-objpas: convutil(s) dateutil(s) stdconvs variants varutils
   

git-svn-id: trunk@26398 -
2014-01-05 19:20:15 +00:00
paul
14a34239cc rtl: add cp856 to makefiles
git-svn-id: trunk@26387 -
2014-01-05 06:03:28 +00:00
marco
a001e12d04 * rtl-console initial version.
git-svn-id: trunk@26372 -
2014-01-03 22:19:02 +00:00
marco
ebe262762a * Clean out of $i textrec and filerec includes that are redundant now that cpstrrtl exposes
those records via system. 

git-svn-id: trunk@26356 -
2014-01-02 13:26:09 +00:00
nickysn
180ddf2ddd + i8086 FPU detection code updated to also identify the FPU type (8087/287/387+)
and initialize the Test8087 global variable.

git-svn-id: trunk@26200 -
2013-12-08 20:50:52 +00:00
nickysn
3eeb422abe * use $(NASM) to compile the asm loaders. Fixes mantis #25223.
git-svn-id: trunk@26099 -
2013-11-16 13:05:55 +00:00
nickysn
fcd079db3d - rm the ss: prefix from the references, relative to bp (for them ss is the default)
git-svn-id: trunk@26081 -
2013-11-13 17:36:59 +00:00
nickysn
318a79cda7 * added a cld instruction in the int 0 handler
git-svn-id: trunk@26080 -
2013-11-13 17:08:39 +00:00
nickysn
9bfb25ff4c * use a far jmp to FPC_HANDLEERROR in far code memory models
git-svn-id: trunk@26075 -
2013-11-13 00:42:47 +00:00
nickysn
b6c02c651f * use %ifdef __FAR_CODE__ instead of %ifdef __MEDIUM__ in the int 0 handler (for
compatibility with future memory models)

git-svn-id: trunk@26074 -
2013-11-13 00:40:12 +00:00
nickysn
06c5acf69a + added division by zero exception handling for i8086-msdos
git-svn-id: trunk@26073 -
2013-11-12 22:05:05 +00:00
nickysn
af91346830 + added exeinfo to the implicitunits list in the makefile for i8086-msdos
git-svn-id: trunk@25865 -
2013-10-27 14:23:31 +00:00
nickysn
8066d12c87 * fixed the stack traces under i8086-msdos (StackTop wasn't initialized)
git-svn-id: trunk@25863 -
2013-10-27 13:53:16 +00:00
nickysn
28c16f31e6 * __stkbottom, __nearheap_start and __nearheap_end moved to the implementation
part of the system unit for i8086-msdos

git-svn-id: trunk@25862 -
2013-10-27 13:28:58 +00:00
nickysn
4646884d87 + enabled compilation of unit ctypes for i8086-msdos
git-svn-id: trunk@25858 -
2013-10-26 22:26:42 +00:00
nickysn
b73252bd3d + enabled compilation of the code page units for i8086-msdos
git-svn-id: trunk@25731 -
2013-10-09 23:39:36 +00:00
nickysn
a0af28a8fa + enabled compilation of unit fmtbcd for i8086-msdos
git-svn-id: trunk@25697 -
2013-10-06 16:55:52 +00:00
nickysn
009037f9d9 * the Seg0040, SegA000, SegB000 and SegB800 constants changed to typed constants
for Borland Pascal 7 compatibility. This allows doing e.g. 'mov es, [SegA000]'
  in inline asm, which is BP7 compatible, but would produce a wrong result
  if SegA000 was an untyped constant.

git-svn-id: trunk@25674 -
2013-10-06 09:07:55 +00:00
nickysn
8574642a1f + added and enabled compilation of unit printer for i8086-msdos
git-svn-id: trunk@25670 -
2013-10-06 00:14:08 +00:00
nickysn
0c2e8db579 + enabled compilation of unit charset for i8086-msdos
git-svn-id: trunk@25669 -
2013-10-05 23:55:34 +00:00
nickysn
1bea98995b * regenerated fpcmake makefiles after r25642
git-svn-id: trunk@25644 -
2013-10-05 10:11:27 +00:00
nickysn
8f8bd8b12d - rm the unnecessary jnz instruction before the rep stosb in the i8086-msdos startup code, because the rep prefix checks for cx=0 and skips the stosb instruction anyway
git-svn-id: trunk@25638 -
2013-10-04 13:36:24 +00:00