nickysn
4b3bf874df
* Added CLDs in the RTL i386 inline asm routines, wrapped in {$ifdef
...
FPC_ENABLED_CLD}.
git-svn-id: trunk@25606 -
2013-09-29 10:53:49 +00:00
nickysn
e4b05477e1
* put the cld instructions behind {$ifdef FPC_ENABLED_CLD} in i386/strings*.inc
...
* strupper and strlower were missing a cld, so it was added to them as well.
git-svn-id: trunk@25591 -
2013-09-28 12:06:47 +00:00
svenbarth
83f4344c20
Fix around 30 tests for m68k by fixing FillChar:
...
* completely disable the DBRA part for CPUs without DBRA
* replace CMP/BNE with BPL which uses the flags of the SUB instruction
Additional fixes for the other two (still disabled) DBRA alternatives:
* use BPL instead of BMI (which is wrong)
git-svn-id: trunk@25587 -
2013-09-27 20:57:55 +00:00
svenbarth
dfb0c7da24
Forgot to commit this the last time: Use CPUM68K_HAS_DBRA instead of CPUCOLDFIRE (which does not exist anymore).
...
git-svn-id: trunk@25586 -
2013-09-27 20:54:54 +00:00
michael
098769d1b3
* Added TStringList.CompareStrings (Delphi compatibility), patch by Stephano, bug ID #24981
...
git-svn-id: trunk@25582 -
2013-09-26 18:09:12 +00:00
paul
bc636658d6
rtl: add/change some token related types
...
git-svn-id: trunk@25574 -
2013-09-26 03:51:06 +00:00
paul
de6a53376c
win32: update TOKEN_INFORMATION_CLASS from windows sdk
...
git-svn-id: trunk@25565 -
2013-09-25 08:50:38 +00:00
sergei
a6d34945a2
* Commented out exponent check added in r25549: since this code is used by compiler, it breaks compilation of code with constants in extended range on targets without extended precision.
...
git-svn-id: trunk@25564 -
2013-09-25 07:18:18 +00:00
sergei
d981861433
* IsNan(single): can be written much simpler, because representation of single casted to longint is the same on big-endian and little-endian targets.
...
git-svn-id: trunk@25554 -
2013-09-24 18:55:44 +00:00
nickysn
35c0c76034
* i8086/mathu.inc converted to asmmode intel
...
git-svn-id: trunk@25553 -
2013-09-24 18:31:10 +00:00
sergei
0914bb7944
- Removed empty include file wustrings.inc
...
git-svn-id: trunk@25551 -
2013-09-24 16:35:04 +00:00
sergei
5dd10ade50
- Removed register lists after pure assembler procedures, they are ignored anyway.
...
git-svn-id: trunk@25550 -
2013-09-24 16:27:34 +00:00
sergei
d6a4e30f06
* fpc_val_real_shortstr: track amount of digits in mantissa and limit integer exponent values. This does not (yet) prevent floating-point overflows, but is a necessary step to prevent them.
...
git-svn-id: trunk@25549 -
2013-09-24 15:57:01 +00:00
sergei
5ec95691c0
* fpc_val_real_shortstr: some more minor/style cleanup.
...
git-svn-id: trunk@25548 -
2013-09-24 15:38:15 +00:00
marco
1a4a745993
* fix for mantis #25078
...
git-svn-id: trunk@25546 -
2013-09-24 12:56:43 +00:00
Tomas Hajny
3e5601d89e
* fix ChDir and GetDir handling for other than the current drive and avoid changing the current directory in GetDir in that case
...
git-svn-id: trunk@25541 -
2013-09-23 20:41:54 +00:00
pierre
edd59a4eb5
Add missing i after dollar for include directive
...
git-svn-id: trunk@25539 -
2013-09-23 11:56:41 +00:00
pierre
22e9cb48dd
Fix get_caller_stackinfo function: Addr parameter must also be by var
...
git-svn-id: trunk@25537 -
2013-09-23 09:51:20 +00:00
nickysn
4fc4e4cb88
* removed the dummy fpc_sin_real and fpc_cos_real that halt with a runtime error
...
from the i8086 rtl, because the FSIN and FCOS instructions are 387+ and on
earlier FPUs the real helper functions are needed.
git-svn-id: trunk@25535 -
2013-09-22 15:06:45 +00:00
nickysn
e2903ded95
+ added CGA snow checking to the WriteChar routine of the CRT unit for i8086-msdos; scrolling and clreol still produces snow
...
git-svn-id: trunk@25527 -
2013-09-21 13:40:21 +00:00
nickysn
fccbbd92b2
* Classes unit functions related to exceptions and stacktraces updated to use CodePointer
...
git-svn-id: trunk@25516 -
2013-09-17 22:13:31 +00:00
nickysn
5e09b7a56f
* SysUtils functions related to exceptions and stacktraces updated to use CodePointer
...
git-svn-id: trunk@25515 -
2013-09-17 21:58:53 +00:00
nickysn
c1b0fb81f1
* updated all the RTL helper functions related to exceptions and stack traces to use codepointer instead of pointer
...
git-svn-id: trunk@25513 -
2013-09-17 21:25:26 +00:00
nickysn
b688b79a0d
* fixed the order of parameters in the first call to get_caller_frame in PushExceptObject
...
git-svn-id: trunk@25512 -
2013-09-17 21:20:24 +00:00
svenbarth
fbceb574eb
Fix for Mantis #25041 . Correctly set CurrentThreadVar for those tthread.inc incarnations that don't use the default ThreadProc in classes.inc (this should be changed in the future though...). In addition to Unix systems as described by the bug report this also involved BeOS and Netware LibC.
...
+ added test
git-svn-id: trunk@25511 -
2013-09-17 18:02:12 +00:00
nickysn
129fddf800
* fixed compilation of unit crt on linux
...
git-svn-id: trunk@25507 -
2013-09-17 11:25:47 +00:00
nickysn
96c7a9325a
* CrtOpen, CrtClose, CrtRead, CrtWrite and CrtReturn changed to procedures, instead of functions
...
git-svn-id: trunk@25506 -
2013-09-17 11:17:29 +00:00
nickysn
5b9341df76
* fixed compilation of unit keyboard in i8086 medium memory model
...
git-svn-id: trunk@25501 -
2013-09-16 16:33:54 +00:00
svenbarth
4ea89d01ea
Somewhat a fix for Mantis #25025 : added generic variants of the TEnumerable/TEnumerator interfaces. Added to unit ObjPas, because mode ObjFPC does not allow overloading of types with generics (which would be the case in unit System). Also the two interfaces are not completely Delphi compatible on purpose! In Delphi they inherit from corresponding non generic interfaces, but this leads in FPC as well as in Delphi to problems.
...
rtl/objpas/objpas.pp:
+ add generic interfaces IEnumerator<T> and IEnumerable<T> which are equivalent to TEnumerator and TEnumerable
git-svn-id: trunk@25498 -
2013-09-16 10:15:19 +00:00
nickysn
408f53fbda
+ detect whether CGA snow checking is required and initialize the CheckSnow variable accordingly
...
git-svn-id: trunk@25491 -
2013-09-16 00:01:36 +00:00
nickysn
d2c2193505
+ 83/84-key keyboard support added to unit keyboard for i8086-msdos
...
git-svn-id: trunk@25490 -
2013-09-15 19:53:24 +00:00
nickysn
034f9c6b71
+ added and implemented unit keyboard for i8086-msdos, based on the go32v2 version of the unit
...
git-svn-id: trunk@25489 -
2013-09-15 17:48:35 +00:00
nickysn
5c1fb7b009
* Crt.CursorOff fixed after r25483; the correct value of CX is 2000h, not 200h
...
git-svn-id: trunk@25487 -
2013-09-14 15:39:07 +00:00
nickysn
e54c87dab1
* changed a method address typecast to CodePointer instead of Pointer in TStringList.QuickSort for compatibility with the i8086 medium and compact memory models
...
git-svn-id: trunk@25486 -
2013-09-14 13:52:41 +00:00
nickysn
4d4ad5734b
* Crt.CursorOn and CursorBig: use CX values that are CGA compatible, which makes them CGA/EGA/VGA compatible, because EGA/VGA bioses emulate CGA cursor values; as a side effect this also makes these functions work properly under EGA/VGA's 43- and 50-line text modes
...
git-svn-id: trunk@25485 -
2013-09-14 13:28:48 +00:00
nickysn
19d6d202cd
* Crt.CursorOn and CursorBig: use CX values that are CGA compatible, which makes them CGA/EGA/VGA compatible, because EGA/VGA bioses emulate CGA cursor values; as a side effect this also makes these functions work properly under EGA/VGA's 43- and 50-line text modes
...
git-svn-id: trunk@25484 -
2013-09-14 13:28:40 +00:00
nickysn
e60c3ee740
* Crt.CursorOff: use CX=bash200, instead of CX= for making the cursor invisible; this is the correct value, according to the BIOS documentation I've found and it is also the value used by the go32v2 video unit
...
git-svn-id: trunk@25483 -
2013-09-14 12:58:38 +00:00
sergei
38c2fb755a
* RTL, fpc_val_real_shortstr(): somewhat simplified, functionality is not changed.
...
git-svn-id: trunk@25481 -
2013-09-13 16:17:58 +00:00
svenbarth
08543ddeba
Fix for Mantis #23899 . Allow to overwrite TStringList.ExchangeItems if necessary.
...
rtl/objpas/classes/classesh.inc, TStringList:
* rename the private ExchangeItems to ExchangeItemsInt and allow inlining
+ add a protected virtual ExchangeItems
rtl/objpas/classes/stringl.inc, TStringList:
* Exchange: call ExchangeItemsInt
+ let default implementation of ExchangeItems simply call ExchangeItemsInt
* QuickSort: call ExchangeItemsInt directly if there is no override otherwise call ExchangeItems
+ added test
git-svn-id: trunk@25480 -
2013-09-13 14:17:01 +00:00
sergei
cf20bbc886
* RTL, Pos() with Variant: added 'const' modifiers to avoid unnecessary local copies of managed parameters.
...
git-svn-id: trunk@25479 -
2013-09-13 11:21:55 +00:00
sergei
b99cf8d680
* RTL: Changed 'shift' parameter of 64-bit shift helpers to CPU-native size, it doesn't have to be 64-bit because only its lower 6 bits are used. Not using 64 bit parameter improves code quality a bit.
...
git-svn-id: trunk@25478 -
2013-09-13 08:32:45 +00:00
nickysn
7e6092c4f2
* ScreenWidth and ScreenHeight changed to word; several other types also changed to 16-bit and added typecasts to avoid 32-bit calculations due to mixing signed and unsigned 16-bit ints
...
git-svn-id: trunk@25477 -
2013-09-13 08:31:53 +00:00
nickysn
70937d93c1
* WinMinX, WinMinY, WinMaxX and WinMaxY helper functions replaced with absolute packed records overlaid on top of WindMin and WindMax for faster access
...
git-svn-id: trunk@25474 -
2013-09-12 23:39:56 +00:00
nickysn
6ef912a7a0
* GetScreenCursor (and all places where it's called) var parameters changed to smallint, which is more optimal on i8086
...
git-svn-id: trunk@25455 -
2013-09-11 14:51:59 +00:00
nickysn
771301d7db
* SetScreenCursor parameters changed to smallint, which is more optimal on i8086
...
git-svn-id: trunk@25454 -
2013-09-11 14:40:26 +00:00
nickysn
987e759e20
* WinMinX, WinMinY, WinMaxX and WinMaxY helper functions changed to return 0 based result, which results in slightly more optimal code in a lot of places
...
git-svn-id: trunk@25453 -
2013-09-11 14:18:30 +00:00
nickysn
8251031adf
- rm redundant double initialization of regs.realecx from Crt.CursorOn
...
git-svn-id: trunk@25448 -
2013-09-10 15:28:39 +00:00
nickysn
d64cea05df
- rm redundant double initialization of regs.realecx from Crt.CursorOn
...
git-svn-id: trunk@25447 -
2013-09-10 15:28:01 +00:00
nickysn
e7cbd41670
- rm redundant double initialization of regs.cx from Crt.CursorOn
...
git-svn-id: trunk@25446 -
2013-09-10 15:27:06 +00:00
nickysn
76cbda0983
+ 83/84-key keyboard support added to unit crt
...
git-svn-id: trunk@25445 -
2013-09-09 20:55:08 +00:00