nickysn
b9a0b03e4b
* use stosb instead of mov in DirectPutPixel16
...
git-svn-id: trunk@41007 -
2019-01-22 17:22:06 +00:00
nickysn
4336c4d793
* optimizations in DirectPutPixel16 to avoid the mul instruction
...
git-svn-id: trunk@41006 -
2019-01-22 17:20:38 +00:00
nickysn
a854411e7c
* perform the clipping before initializing ES in PutPixel320, so it runs faster
...
when the pixel happens to be outside the viewport
git-svn-id: trunk@41005 -
2019-01-22 16:56:16 +00:00
nickysn
7c4466025a
* PutPixel16 converted to pure asm routine
...
git-svn-id: trunk@41004 -
2019-01-22 16:40:51 +00:00
nickysn
1533f1e218
* implement the clipping in assembly instead of pascal in PutPixel16
...
git-svn-id: trunk@41003 -
2019-01-22 16:23:47 +00:00
nickysn
0199177c21
* perform the viewport adjustment in asm instead of pascal in PutPixel16
...
git-svn-id: trunk@41002 -
2019-01-22 16:11:41 +00:00
nickysn
d299ed7756
* moved the loading of the X and Y coordinates to registers in the front of the asm block in PutPixel16
...
git-svn-id: trunk@41001 -
2019-01-22 16:10:37 +00:00
nickysn
16c6090f30
* yet another mov eliminated by using different registers in GetPixel16
...
git-svn-id: trunk@41000 -
2019-01-22 16:07:51 +00:00
nickysn
820ba7dfb5
* use stosb instead of mov for writing a byte (the value doesn't matter) into EGA/VGA memory in PutPixel16
...
git-svn-id: trunk@40999 -
2019-01-22 16:05:29 +00:00
nickysn
83766c7462
* optimizations in PutPixel16 that remove the slow 'mul' instruction
...
git-svn-id: trunk@40998 -
2019-01-22 16:04:08 +00:00
nickysn
36c349696e
* some minor optimizations in PutPixel16 (more efficient register usage, resulting in less mov instructions)
...
git-svn-id: trunk@40997 -
2019-01-22 15:50:31 +00:00
nickysn
5ba5b871bf
* GetScanLine16 changed so that it reads video memory in 16-bit words, instead
...
of 32-bit longints, because 16-bit generates more efficient code on the i8086
git-svn-id: trunk@40996 -
2019-01-22 15:32:44 +00:00
marco
6cc8ed3256
* don't hangt on corrupt gifs, exit loops at end of streams.
...
Fixes mantis #34919
git-svn-id: trunk@40995 -
2019-01-22 15:11:04 +00:00
nickysn
06dbc518e4
* swap AL and AH in the last 'or' instruction in GetPixel16, so the result is
...
combined directly into AL and a 'mov al, ah' instruction is removed
git-svn-id: trunk@40994 -
2019-01-22 14:49:18 +00:00
nickysn
8cf2792c89
* replaced 'mov al,es:[si]' with 'seges lodsb' in GetPixel16
...
git-svn-id: trunk@40993 -
2019-01-22 14:35:32 +00:00
nickysn
95f2fffaf8
* replaced bl with al in the final bit read in GetPixel16
...
git-svn-id: trunk@40992 -
2019-01-22 14:34:47 +00:00
nickysn
5abb5b0658
* use xchg ax,cx instead of mov in GetPixel16
...
git-svn-id: trunk@40991 -
2019-01-22 14:33:41 +00:00
nickysn
fc61a2e62e
* moved the initial GC port output to the beginning of GetPixel16
...
git-svn-id: trunk@40990 -
2019-01-22 14:32:01 +00:00
nickysn
98bbc0ab14
* swapped di and ax in the beginning of GetPixel16
...
git-svn-id: trunk@40989 -
2019-01-22 14:30:18 +00:00
nickysn
f1ad989ba1
* moved the ES register initialization in GetPixel16 to the beginning of the function
...
git-svn-id: trunk@40988 -
2019-01-22 14:28:46 +00:00
nickysn
6753237fe4
* replaced the slow mul instruction in GetPixel16 with faster shifts and adds
...
git-svn-id: trunk@40987 -
2019-01-22 14:27:48 +00:00
nickysn
985ec0688a
* some more optimizations in GetPixel16
...
git-svn-id: trunk@40986 -
2019-01-22 12:58:02 +00:00
nickysn
0c440183c6
+ enabled the true color support in ptcgraph
...
git-svn-id: trunk@40985 -
2019-01-22 09:07:37 +00:00
nickysn
d653193c36
* some optimizations in GetPixel16
...
git-svn-id: trunk@40984 -
2019-01-22 01:29:02 +00:00
nickysn
3b2fc5d34b
* save another 2 bytes from the InitModeX code :)
...
git-svn-id: trunk@40983 -
2019-01-21 23:09:58 +00:00
nickysn
81aea037ec
* reenabled the asm version of InitModeX
...
git-svn-id: trunk@40982 -
2019-01-21 23:07:51 +00:00
nickysn
596c1e7efa
* huge memory model fixes in InitModeX
...
git-svn-id: trunk@40981 -
2019-01-21 22:54:08 +00:00
nickysn
37c05b3749
+ added pascal version of InitModeX
...
git-svn-id: trunk@40980 -
2019-01-21 22:50:50 +00:00
florian
4fb7b5d3ff
* fix MovOpMov2MovOp optimization if no -Cpcoreavx2 is used
...
git-svn-id: trunk@40979 -
2019-01-21 21:57:07 +00:00
nickysn
f6aa6e5b58
* another byte saved in the InitModeX routine :)
...
git-svn-id: trunk@40978 -
2019-01-21 18:06:07 +00:00
nickysn
5655b04b1c
* use 'cmp mem,const' to check DontClearGraphMemory, instead of first loading it
...
into a register in InitModeX. This saves 1 byte of code from an initialization
routine. Hurrah! :)
git-svn-id: trunk@40977 -
2019-01-21 17:43:57 +00:00
nickysn
5738ba19bb
* converted InitModeX to a pure asm routine
...
git-svn-id: trunk@40976 -
2019-01-21 16:47:30 +00:00
nickysn
c26df36bc5
* size of the DrawnList buffer moved to a local variable, to avoid repeated code and repeated calculations
...
git-svn-id: trunk@40975 -
2019-01-21 16:24:46 +00:00
nickysn
6bb104a16d
* unified the out of memory check in FloodFill and perform proper cleanup, so no memory leaks arise
...
git-svn-id: trunk@40974 -
2019-01-21 16:22:11 +00:00
nickysn
b654c34d64
* read the planes in reverse order, so that less shift instructions are required in GetPixel16
...
git-svn-id: trunk@40973 -
2019-01-21 16:09:13 +00:00
nickysn
33c330b3bc
* store the size of the s1,s2 and s3 buffers, used inside FloodFill in a
...
variable, so memory allocation and disposal becomes easier, with less ifdefs
git-svn-id: trunk@40972 -
2019-01-21 16:08:38 +00:00
nickysn
f356add031
* moved the s1,s2,s3 scanline memory allocation in FloodFill before changing
...
CurrentColor, so it doesn't get changed if the function exits prematurely due
to out of memory
git-svn-id: trunk@40971 -
2019-01-21 15:46:34 +00:00
nickysn
003a08f040
* use 'cbw' and 'cwd' instead of 'xor reg, reg' in the asm version of GetPixel16
...
git-svn-id: trunk@40970 -
2019-01-21 15:43:31 +00:00
nickysn
300e584936
* use 'cwd' instead of 'xor dx, dx' in the asm version GetPixel320
...
git-svn-id: trunk@40969 -
2019-01-21 15:30:58 +00:00
nickysn
57c931cb4c
* use lodsb with a segment override prefix instead of mov in the asm version of GetPixel320
...
git-svn-id: trunk@40968 -
2019-01-21 15:28:22 +00:00
nickysn
1b4fcabc1d
* use the si register instead of di in the asm version of GetPixel320
...
git-svn-id: trunk@40967 -
2019-01-21 15:18:51 +00:00
nickysn
cab9b4cb6b
* fixed return of result in the asm version of GetPixel320
...
git-svn-id: trunk@40966 -
2019-01-21 15:16:16 +00:00
nickysn
92304ce573
* moved the check in FloodFill whether x,y are within the current viewport in
...
the beginning, before any heap memory allocations, to avoid memory leaks when
FloodFill is invoked with a point that is outside the current viewport
git-svn-id: trunk@40965 -
2019-01-21 14:50:26 +00:00
nickysn
e6835e8ff7
* added check to ensure the memory allocation for DrawnList inside FloodFill hasn't returned nil
...
git-svn-id: trunk@40964 -
2019-01-21 14:47:48 +00:00
nickysn
f322b45611
* ignore VideoOfs entirely in mode 13h, since it doesn't support video pages
...
git-svn-id: trunk@40962 -
2019-01-21 14:12:17 +00:00
nickysn
698f8679d4
- removed comment saying that and/or/not put is not implemented, because it is implemented now
...
git-svn-id: trunk@40961 -
2019-01-21 14:10:41 +00:00
nickysn
39e1e4d2e7
+ enabled the asm version of DirectPutPixel320
...
git-svn-id: trunk@40960 -
2019-01-21 14:09:25 +00:00
nickysn
907e3afae4
* 8086/8088 support in the asm version of DirectPutPixel320
...
git-svn-id: trunk@40959 -
2019-01-21 13:52:08 +00:00
nickysn
88f062dec8
+ implemented all the write modes in the asm version of DirectPutPixel320
...
git-svn-id: trunk@40958 -
2019-01-21 13:51:40 +00:00
nickysn
f1467fdaaf
* only load the low byte of CurrentColor in the asm version of DirectPutPixel320
...
git-svn-id: trunk@40957 -
2019-01-21 13:42:59 +00:00