Commit Graph

432 Commits

Author SHA1 Message Date
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
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
nickysn
1d9dae2129 - removed commented out code from DirectPutPixel320
git-svn-id: trunk@40956 -
2019-01-21 13:40:41 +00:00
nickysn
0a838fa082 * huge memory model fix for the asm version of DirectPutPixel320
git-svn-id: trunk@40955 -
2019-01-21 13:40:04 +00:00
nickysn
6fe9285aa5 - removed the 32-bit asm code from the asm version of DirectPutPixel320
git-svn-id: trunk@40954 -
2019-01-21 13:39:14 +00:00
nickysn
28bb659a1c * PutPixel320 converted to pure assembler routine
git-svn-id: trunk@40924 -
2019-01-19 22:07:03 +00:00
nickysn
25c3981236 * use stosb instead of mov to draw the pixel inside the asm version of PutPixel320
git-svn-id: trunk@40923 -
2019-01-19 21:33:26 +00:00
nickysn
9f4e6c48b3 * only read the low byte of the pixel color in the asm version of PutPixel320
git-svn-id: trunk@40922 -
2019-01-19 21:27:16 +00:00
nickysn
08a86b6b9f * perform clipping in assembly in the PutPixel320 asm routine
git-svn-id: trunk@40919 -
2019-01-19 18:03:51 +00:00
nickysn
1e0a811aad * implemented the viewport adjustment in asm instead of pascal in the asm
version of the PutPixel320 routine

git-svn-id: trunk@40918 -
2019-01-19 17:24:24 +00:00
nickysn
6648bacec6 * GetPixel320 converted to a pure assembler routine
git-svn-id: trunk@40917 -
2019-01-19 17:02:54 +00:00
nickysn
9745c6434a * do the view port adjustment in asm instead of pascal in the asm version of
GetPixel320

git-svn-id: trunk@40916 -
2019-01-19 16:59:15 +00:00
nickysn
8c1de487c5 + enabled the asm version of GetPixel320
git-svn-id: trunk@40915 -
2019-01-19 16:56:49 +00:00
nickysn
2de69d12bb * huge memory model fix for the asm version of the GetPixel320 routine
git-svn-id: trunk@40914 -
2019-01-19 16:56:13 +00:00
nickysn
7c55d08360 + pure pascal implementation of GetPixel320
git-svn-id: trunk@40913 -
2019-01-19 16:55:34 +00:00
nickysn
4a14ee770a + enabled the asm version of PutPixel320
git-svn-id: trunk@40911 -
2019-01-19 16:46:30 +00:00
nickysn
e12968eb8c * huge memory model fix for the asm version of PutPixel320
git-svn-id: trunk@40910 -
2019-01-19 16:38:44 +00:00
nickysn
dca76d84c9 + added pure pascal version of the routine PutPixel320
git-svn-id: trunk@40909 -
2019-01-19 16:36:54 +00:00
nickysn
7bda42edac - removed unused asm code from SetVisual200
git-svn-id: trunk@40907 -
2019-01-19 16:20:21 +00:00
nickysn
d66edabe43 * the asm version of DirectPutPixel16 convert to pure inline asm routine
git-svn-id: trunk@40906 -
2019-01-19 16:11:03 +00:00
nickysn
1dc3db4ee1 * handle the NotPut write mode in asm instead of pascal in the asm version of
DirectPutPixel16

git-svn-id: trunk@40904 -
2019-01-19 15:59:42 +00:00
nickysn
5b4529db6f + introduced SetWriteModeEx to the Graph unit. Unlike SetWriteMode, it allows
setting the current write mode to any mode, such as NormalPut/CopyPut, XorPut,
  OrPut, AndPut or NotPut. For comparison, SetWriteMode only allows NormalPut/
  CopyPut and XorPut. Fixes Mantis #30773.

git-svn-id: trunk@40903 -
2019-01-19 15:16:49 +00:00
nickysn
e3df1e1da8 * cleaned up, optimized a little, added support for all write modes
(and/or/xor/not) and enabled the asm version of the DirectPutPixel16 routine

git-svn-id: trunk@40902 -
2019-01-19 12:54:47 +00:00
nickysn
8c804fd4d3 - removed the pascal case code before the asm block in the asm version of
DirectPutPixel16

git-svn-id: trunk@40901 -
2019-01-19 11:18:39 +00:00
nickysn
24f0625ee8 * use huge memory model compatible initialization of es=SegA000 in the asm
version of DirectPutPixel16

git-svn-id: trunk@40900 -
2019-01-19 10:58:18 +00:00
nickysn
cea8f5a4c5 * refactored DirectPutPixel16, so it is strictly split into pascal and asm version; asm version not enabled yet
git-svn-id: trunk@40898 -
2019-01-18 19:57:51 +00:00
nickysn
b789b84bd0 * cleaned up, fixed, optimized a little and enabled the assembler version of GetPixel16
git-svn-id: trunk@40897 -
2019-01-18 15:48:09 +00:00
nickysn
09c76c78c6 * cleaned up, fixed, optimized a little and enabled the assembler version of PutPixel16
git-svn-id: trunk@40896 -
2019-01-18 15:17:43 +00:00
nickysn
ff78058f8c - removed commented out code from PutPixel320 and GetPixel320
git-svn-id: trunk@40895 -
2019-01-18 13:49:05 +00:00
nickysn
61e91a3c6c * fixed result of GetPixel320 when FPC_GRAPH_SUPPORTS_TRUECOLOR is defined
git-svn-id: trunk@40894 -
2019-01-18 13:46:47 +00:00
nickysn
463ea5a16f - get rid of the '{$ifdef fpc}@{$endif}' from the i8086-msdos graph unit
git-svn-id: trunk@40893 -
2019-01-18 13:32:45 +00:00
nickysn
06d8fa7e34 + use the ColorType type in the i8086-msdos graph unit, so that it compiles with
FPC_GRAPH_SUPPORTS_TRUECOLOR (not enabled yet)

git-svn-id: trunk@40892 -
2019-01-18 13:22:18 +00:00
nickysn
0849951fed - removed all the '{$ifndef fpc}far;{$endif fpc}' declarations from the i8086-msdos graph unit
git-svn-id: trunk@40891 -
2019-01-18 12:52:22 +00:00
nickysn
6066eb07b4 * only save BP and DS when calling int 10h; mark the other registers as volatile in the asm blocks
- removed the 'ifdef FPC' around the register saving code around the int 10h calls

git-svn-id: trunk@40890 -
2019-01-18 12:32:00 +00:00
nickysn
ecfbf8f3cb - removed all the 'ifdef fpc'/'ifndef fpc' from the go32v2 graph unit to
make it easier to maintain and because its TP7 compatibility hasn't been
  maintained for a very long time

git-svn-id: trunk@40889 -
2019-01-17 17:07:54 +00:00
nickysn
d7d9588569 + accelerated xor/and/orput hline routines for the 16bpp linear framebuffer modes
git-svn-id: trunk@40888 -
2019-01-17 16:00:02 +00:00
nickysn
2a62508b59 + added a 16bpp linear framebuffer horizontal line drawing routine
git-svn-id: trunk@40887 -
2019-01-17 14:47:39 +00:00
nickysn
13793e9354 + added a 32bpp accelerated pattern line drawing routine
git-svn-id: trunk@40880 -
2019-01-16 16:24:07 +00:00
nickysn
ec5bdaee76 + added an accelerated 16bpp pattern line routine
git-svn-id: trunk@40879 -
2019-01-16 16:14:07 +00:00
nickysn
0a6eb52969 + added an accelerated 8bpp pattern line drawing routine
git-svn-id: trunk@40878 -
2019-01-16 16:00:31 +00:00
nickysn
160a2ae906 + added fast 32bpp PutImage routine
git-svn-id: trunk@40877 -
2019-01-16 15:04:38 +00:00
nickysn
f6018a3544 + added fast 32bpp GetImage routine
git-svn-id: trunk@40876 -
2019-01-16 14:54:53 +00:00
nickysn
98d7f7eafc + added fast 32bpp GetScanLine routine
git-svn-id: trunk@40875 -
2019-01-16 14:34:29 +00:00
nickysn
9424e2cc66 + added fast 32bpp hline and vline drawing routines
git-svn-id: trunk@40873 -
2019-01-16 13:52:07 +00:00
nickysn
1eccbf34f1 + True Color fixes in DefaultGetImage, DefaultPutImage and DefaultImageSize
git-svn-id: trunk@40868 -
2019-01-14 17:33:53 +00:00
nickysn
54d2e1ca1c + True Color fixes in FloodFill
git-svn-id: trunk@40867 -
2019-01-14 17:13:07 +00:00
nickysn
b68567f1d9 + True Color fixes in GetScanlineDefault (returns 32 bits per pixel, but only in modes with >16bit color)
git-svn-id: trunk@40866 -
2019-01-14 17:12:14 +00:00
nickysn
ec2f4c2c0c * 24-bit color support in modes.inc:res2mode
git-svn-id: trunk@40865 -
2019-01-14 16:23:42 +00:00
nickysn
5dadb05bdc * 32bpp (True Color) compilation fixes
git-svn-id: trunk@40864 -
2019-01-14 15:20:59 +00:00
nickysn
669e50a9af + initial implementation of 32bpp support (not enabled yet)
git-svn-id: trunk@40863 -
2019-01-14 14:59:58 +00:00
nickysn
be28276ceb * factored out the common VESA mode initialization for each screen resolution to
a separate procedure (same change as r40853, but for ptcgraph)

git-svn-id: trunk@40862 -
2019-01-14 14:09:21 +00:00
nickysn
cc72a4c725 * factored out the common VESA mode initialization for each screen resolution to
a separate procedure (same change as r40853, but for go32v2)

git-svn-id: trunk@40861 -
2019-01-14 12:56:15 +00:00
nickysn
4b5e561456 * factored out the common VESA mode initialization for each screen resolution to
a separate procedure

git-svn-id: trunk@40853 -
2019-01-13 11:25:58 +00:00
nickysn
a6d6919fde + added the 24-bit color modes, as defined by VBE 1.x, behind ifdef
FPC_GRAPH_SUPPORTS_TRUECOLOR (not enabled yet)

git-svn-id: trunk@40852 -
2019-01-13 10:34:06 +00:00
nickysn
2c6d41f8fe + added the 24-bit color modes, as defined by VBE 1.x, behind ifdef
FPC_GRAPH_SUPPORTS_TRUECOLOR (not enabled yet)

git-svn-id: trunk@40837 -
2019-01-10 16:09:34 +00:00
nickysn
80762bc302 * define ColorType as LongWord if FPC_GRAPH_SUPPORTS_TRUECOLOR is defined
git-svn-id: trunk@40836 -
2019-01-10 15:56:53 +00:00
nickysn
72a9c94b49 + introduced the ColorType (=word) to the graph unit. This is the type, used to
represent a color. This is intended to make it easier to add support for
  24-bit and 32-bit color to the graph unit on platforms that support it.

git-svn-id: trunk@40805 -
2019-01-08 08:50:44 +00:00
Károly Balogh
5182dc37af haiku-x86_64: regenerated all Makefiles, take 2
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
michael
5e22121c21 * Increase mode name length, Win32 needs 26 at least
git-svn-id: trunk@40511 -
2018-12-09 09:03:33 +00:00
michael
05021bd2e0 * Fix bug #0034661, wrong max resolution specified
git-svn-id: trunk@40510 -
2018-12-09 08:59:18 +00:00
yury
a29290202f * Regenerated makefiles to support x86_64-android.
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
pierre
4e7003fb94 Update all packages Makefile's
git-svn-id: trunk@39828 -
2018-09-27 07:05:49 +00:00
marco
98f00acb06 * trunk to 3.3.1
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00
florian
2d9d2f3c38 * InternalEllipseDefault can draw counter-clockwise, resolves #33928
git-svn-id: trunk@39410 -
2018-07-07 17:20:03 +00:00
pierre
a93fe1b363 Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38751 -
2018-04-12 15:26:33 +00:00
michael
16ba47be46 * Patch from Ondrej Pokorny to convert unit names to CamelCase (bug ID 33481)
git-svn-id: trunk@38616 -
2018-03-23 22:06:36 +00:00
nickysn
03d4b861ed * changed the result of go32.get_segment_base_address to dword, instead of longint
* changed FrameBufferLinearAddress in the go32v2 graph unit to dword, instead of longint

git-svn-id: trunk@37671 -
2017-12-04 15:59:04 +00:00
nickysn
e49569d049 * extracted the common setup routines for VESA 16, 256, 32k and 64k color modes
git-svn-id: trunk@37600 -
2017-11-17 15:11:15 +00:00
nickysn
19bf7df3fb * extracted the common 16-color ega/vga mode setup code to a common procedure
FillCommonEGAVGA16

git-svn-id: trunk@37594 -
2017-11-16 17:58:53 +00:00
nickysn
a6db15dfeb * extracted the common cga/mcga 320x200 and 640x200 setup code to separate
procedures in unit ptcgraph

git-svn-id: trunk@37593 -
2017-11-16 15:54:24 +00:00
nickysn
fd83afb808 * factored out repeating code that prints 'Error: Not in graphics mode'... to a common
procedure (based on a patch by James Richters)

git-svn-id: trunk@37587 -
2017-11-13 00:57:00 +00:00
nickysn
f35c28e3c0 + fast GetImage, PutImage and GetScanLine implementations, based on a patch by James Richters
git-svn-id: trunk@37586 -
2017-11-13 00:48:47 +00:00
pierre
d18627f0af * Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
git-svn-id: trunk@37462 -
2017-10-16 00:27:27 +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
91995c004c Fix compilation of graph unit for msdos OS target
git-svn-id: trunk@36630 -
2017-07-03 17:07:42 +00:00
nickysn
9f5011af30 * synchronize with ptc trunk from sourceforge; adds support for the numpad 5
key in ptccrt and several keys under windows have been changed to produce
  the same key codes as under x11

git-svn-id: trunk@36556 -
2017-06-20 22:48:59 +00:00
nickysn
a217c4c7d0 * merged all changes from ptc trunk from sourceforge; adds support for different
keyboard input modes in ptccrt (TP7 compatible, GO32 CRT compatible and WIN32
  CRT compatible mode)

git-svn-id: trunk@36555 -
2017-06-20 00:23:32 +00:00
nickysn
f2587b6061 * updated ptc and ptcgraph to the latest trunk (future 0.99.15 release) from sourceforge
git-svn-id: trunk@36507 -
2017-06-18 00:16:03 +00:00
pierre
7a172d3d5a Regenerated all Makefile from packages directories
git-svn-id: trunk@36395 -
2017-06-01 14:15:50 +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
nickysn
f353416fd4 * fixed a bug in graph.OutText and graph.OutTextXY when the unit has
been compiled with range checking on

git-svn-id: trunk@35481 -
2017-02-25 17:30:15 +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
nickysn
e83f3d2978 * updated all the remaining makefiles that 'fpcmake -r' missed
git-svn-id: trunk@31527 -
2015-09-05 11:21:36 +00:00
joost
46906833f1 * Re-generated makefile's
git-svn-id: trunk@31318 -
2015-08-12 19:47:44 +00:00
joost
ac87da7c42 * Filter the Makefile's unit searchpaths from the fpmake command line.
To void cluttering the .fpm file

git-svn-id: trunk@31317 -
2015-08-12 19:15:14 +00:00
Károly Balogh
77bdd83bfc AROS/x86_64: regenerated Makefiles
git-svn-id: trunk@31177 -
2015-06-29 00:09:06 +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
9d8f0493cd * support 4 pages (instead of 3) in the 640x200 EGA mode in the msdos graph unit as well
git-svn-id: trunk@30285 -
2015-03-22 23:05:40 +00:00
nickysn
20033d1af2 * emulate 4 pages (instead of 3) in the 640x200x16 colors mode
git-svn-id: trunk@30284 -
2015-03-22 22:35:47 +00:00
nickysn
317c1b32cf * updated VGA/VGALo to 4 pages as well, as it is the same mode as EGA/EGALo
git-svn-id: trunk@30283 -
2015-03-22 22:34:34 +00:00
nickysn
c2628e9917 * support 4 pages instead of 3 in the 640x200 EGA mode
git-svn-id: trunk@30282 -
2015-03-22 22:15:40 +00:00
nickysn
3d8c941c6c * updated go32v2 graph unit video card detection code with the latest code from the msdos graph unit (which supports detection of EGAMono, MCGA and combinations of two video cards)
git-svn-id: trunk@30281 -
2015-03-22 21:35:28 +00:00
nickysn
50fd91b3e1 * micro optimization in the putpixel routines of the msdos graph unit: perform
clipping before switching to global coordinates, as the comparisons are
  then simpler

git-svn-id: trunk@30263 -
2015-03-20 10:50:01 +00:00
nickysn
a5a61243b8 * updated video card detection code in the msdos graph unit to support EGA mono,
MCGA and added support for detection of combinations of video cards (i.e. dual
  head configurations with a color and a monochrome video card)

git-svn-id: trunk@30262 -
2015-03-20 00:24:10 +00:00
nickysn
be2937bb17 + VESA banked 32k/64k colour mode fast line drawing for msdos as well
git-svn-id: trunk@30249 -
2015-03-17 02:37:48 +00:00
nickysn
84f5184911 * micro optimization in a commonly repeated VESA horizontal line drawing code pattern
git-svn-id: trunk@30248 -
2015-03-17 00:54:25 +00:00
nickysn
529f1e77db * fixed spelling: allign -> align
git-svn-id: trunk@30247 -
2015-03-17 00:45:08 +00:00
nickysn
69d839e891 + implemented VESA banked 32k/64k colour mode fast line drawing in the go32v2 graph unit
git-svn-id: trunk@30246 -
2015-03-17 00:13:58 +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
florian
6c99493181 * use USE_WINDOWS_API_THREAD_FUNCTIONS in the windows graph unit by default, resolves #27508
git-svn-id: trunk@29781 -
2015-02-21 22:43:00 +00:00
joost
1a90d29063 * Re-generated packages-Makefile.fpcs and Makefiles
git-svn-id: trunk@29409 -
2015-01-05 11:34:47 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
joost
0574714317 * Use short 8.3 names for archives on limit83fs-hosts
git-svn-id: trunk@29174 -
2014-11-28 21:35:46 +00:00
Károly Balogh
da7efb8607 AROS: regenerated Makefiles to support i386-aros
git-svn-id: trunk@28438 -
2014-08-17 23:16:47 +00:00
nickysn
ca2d1a4667 * extracted the common mode initialization from QueryAdapterInfo to nested procedures
git-svn-id: trunk@27657 -
2014-04-25 23:18:48 +00:00
nickysn
1fa0e64480 + {$hugecode on} for the graph unit in the large and huge i8086 memory models
git-svn-id: trunk@27616 -
2014-04-20 19:11:09 +00:00
nickysn
c0709eef40 * i8086 far data model fixes in Save/RestoreStateVGA and Save/RestoreStateVESA
git-svn-id: trunk@27469 -
2014-04-04 19:51:15 +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
77967432ef * always use forward slashes in path to fpmake similarly to paths to other tools in Makefiles
git-svn-id: trunk@26641 -
2014-02-01 00:11:09 +00:00
nickysn
2a0a8cfc00 * fixed CGA 320x200 hline bug when CurrentColor=1
git-svn-id: trunk@26242 -
2013-12-16 22:35:32 +00:00
nickysn
6af4353933 + enabled PatternLineVESA256 in the graph unit for i8086-msdos as it now
compiles and works correctly.

git-svn-id: trunk@26092 -
2013-11-15 00:48:44 +00:00
nickysn
aea281f4cc + added the include file dependency to vesa.inc and vesah.inc from unit graph on go32v2 and msdos
git-svn-id: trunk@25781 -
2013-10-14 14:56:45 +00:00
nickysn
13c5c488de + added the include file dependencies for ptcgraph
git-svn-id: trunk@25780 -
2013-10-14 14:53:51 +00:00
nickysn
e18f336f3f + added unit ptcmouse, similar to winmouse and msmouse, for use with ptcgraph and ptccrt
git-svn-id: trunk@25779 -
2013-10-14 14:31:14 +00:00
nickysn
014a4e4653 * updated PTCPas to version 0.99.14
git-svn-id: trunk@25771 -
2013-10-13 22:34:01 +00:00
nickysn
849843fb20 * fixed compilation of unit graph for win32 and win64 after r25730
git-svn-id: trunk@25734 -
2013-10-10 09:06:13 +00:00
nickysn
73e875c7b2 * the graph unit's built in font compressed to use 1 bit per pixel, instead of
1 byte. This saves 14kb of space from the precious 64kb available for data in
  the i8086 medium memory model.

git-svn-id: trunk@25730 -
2013-10-09 21:10:58 +00:00
nickysn
d69a3447cd * the DrawnList structure (used by FloodFill) is now dynamically allocated
before a FloodFill and freed afterwards, so it doesn't waste memory, while
  not in use

git-svn-id: trunk@25729 -
2013-10-09 20:27:04 +00:00
nickysn
6f474e525c * TNewModeInfo/newModeList modified so that it doesn't keep a second copy of the
TModeInfo record for each mode, but instead keep only a pointer to the entry
  in the regular ModeList. This frees a lot of memory on i8086-msdos, when using
  the medium memory model (which has a 64kb data limit).

git-svn-id: trunk@25725 -
2013-10-08 21:11:39 +00:00
nickysn
6d1663fdc5 * the TNewModeInfo record type moved to the implementation part of the graph
unit. It is extremely unlikely that this type was ever used by programs,
  because:
  1) the newModeInfo structure of this type is in the implementation part of
     the unit
  2) none of the graph unit procedures and functions use this type either as a
     parameter or as a function result

git-svn-id: trunk@25724 -
2013-10-08 19:20:54 +00:00
nickysn
7b7334138b + use PatternLineVESA256 also for the 640x400 256-colour VESA mode
git-svn-id: trunk@25722 -
2013-10-08 14:45:56 +00:00
nickysn
4e951d908d * extracted the common code for the VESA 32k and 64k colour TModeInfo initialization
git-svn-id: trunk@25714 -
2013-10-07 15:11:56 +00:00
nickysn
7e3dd92b03 * extracted the common code for the VESA 16-colour TModeInfo initialization
git-svn-id: trunk@25711 -
2013-10-07 13:11:46 +00:00
nickysn
834008818f * extracted the common code for the VESA 256-colour TModeInfo initialization
git-svn-id: trunk@25701 -
2013-10-06 21:09:56 +00:00
nickysn
6d83c37da1 * extracted the common code for the EGA/VGA 16-colour TModeInfo initialization
git-svn-id: trunk@25695 -
2013-10-06 15:20:20 +00:00
nickysn
3014084ee2 * extracted the common code for CGA 640x200 TModeInfo initialization as well
git-svn-id: trunk@25690 -
2013-10-06 14:31:33 +00:00
nickysn
bf01f953e6 * extracted the common code for CGA320x200 TModeInfo initialization to a
separate procedure

git-svn-id: trunk@25689 -
2013-10-06 14:19:40 +00:00
nickysn
6a66d63a36 + enabled all the VESA code for the i8086-msdos graph unit
git-svn-id: trunk@25687 -
2013-10-06 13:39:10 +00:00
nickysn
694b4ea7a5 * installedfonts changed to smallint, because that generates better code on the i8086
git-svn-id: trunk@25686 -
2013-10-06 13:30:57 +00:00
nickysn
256600e5d3 * TVESAModeInfo.WinFunct changed to farpointer
git-svn-id: trunk@25683 -
2013-10-06 12:03:23 +00:00
nickysn
c88b3f8501 + enabled SaveStateVESA and RestoreStateVESA in the i8086-msdos unit graph
git-svn-id: trunk@25682 -
2013-10-06 11:56:49 +00:00
nickysn
996ca5ae00 - rm the first call to int 10, ax=4f04, dl=0 from SaveStateVESA, since this function is
called again immediately after the inline asm block via RealIntr and the exact same
  operations are performed once again in Pascal (probably someone translated the inline
  asm block to pascal, but forgot to remove it).

git-svn-id: trunk@25681 -
2013-10-06 11:36:32 +00:00
nickysn
f1d9869435 + enabled the VESA detection code in the i8086-msdos graph unit
git-svn-id: trunk@25680 -
2013-10-06 11:14:29 +00:00
nickysn
53d50f68c6 * TVESAinfo.str changed to pFarChar
git-svn-id: trunk@25679 -
2013-10-06 11:13:13 +00:00
nickysn
8a9634034a * pModeList changed to a far pointer
git-svn-id: trunk@25678 -
2013-10-06 10:29:54 +00:00
nickysn
98913dc7d5 - rm the hexstr function from the graph unit, as that has already been included
in the system unit

git-svn-id: trunk@25677 -
2013-10-06 09:42:29 +00:00
nickysn
c948485587 + enabled the 320x200 ModeX support in the graph unit for i8086-msdos
git-svn-id: trunk@25676 -
2013-10-06 09:29:33 +00:00
nickysn
dbc851eda3 + enabled the 320x200x256c VGA mode in the graph unit for i8086-msdos
git-svn-id: trunk@25675 -
2013-10-06 09:08:56 +00:00
nickysn
3a09ca7924 * the longints in VLine16 converted to 16-bit
git-svn-id: trunk@25668 -
2013-10-05 22:32:08 +00:00
nickysn
77dc18007d * ScrWidth changed back to absolute, since the compiler has been fixed to support it
git-svn-id: trunk@25667 -
2013-10-05 22:24:44 +00:00
nickysn
9a1018ec57 + enabled the MCGA and 16-colour VGA modes in the graph unit for i8086-msdos
git-svn-id: trunk@25662 -
2013-10-05 21:25:50 +00:00
nickysn
6bf7072a33 + enabled the EGA modes in the graph unit for i8086-msdos
git-svn-id: trunk@25660 -
2013-10-05 21:15:42 +00:00
nickysn
836ec24fb1 + enabled the Hercules code in the i8086-msdos graph unit
git-svn-id: trunk@25658 -
2013-10-05 19:18:11 +00:00
nickysn
54a34391a1 * rewritten the EGA/VGA detection code to use intr, instead of inline asm
git-svn-id: trunk@25657 -
2013-10-05 18:55:25 +00:00
nickysn
05be9829dc * finished the implementation of SaveStateVGA and RestoreStateVGA
git-svn-id: trunk@25656 -
2013-10-05 18:42:29 +00:00
nickysn
55f1b860af * SaveStateVGA and RestoreStateVGA rewritten to use intr
git-svn-id: trunk@25655 -
2013-10-05 18:06:44 +00:00
nickysn
896cdc42e5 * windows detection on startup rewritten to use intr
git-svn-id: trunk@25652 -
2013-10-05 17:48:05 +00:00
nickysn
ce123b6956 + started the i8086-msdos version of the unit graph, based on the go32v2
version. Only the CGA routines are enabled for now and the unit compiles, but
  does not work yet.

git-svn-id: trunk@25534 -
2013-09-21 22:06:55 +00:00
nickysn
aaf1a54778 * graph unit 'ExitSave' variable changed to codepointer for i8086 medium memory model compilation
git-svn-id: trunk@25533 -
2013-09-21 21:44:11 +00:00
nickysn
4d86d44e38 * several i8086 fixes for 'data element too large' errors
git-svn-id: trunk@25532 -
2013-09-21 20:36:18 +00:00
Jonas Maebe
81597bf171 * updated address of FSF (mantis #24646, patch by Alexey Svistunov)
git-svn-id: trunk@24986 -
2013-06-27 14:01:18 +00:00
joost
df4191acb3 * Handle the location of each package at run-time, not at compilation time
* Added a fpmake.pp in the root, to compile the utils and packages in one go

git-svn-id: trunk@24783 -
2013-06-02 17:55:23 +00:00
marco
d04b286de6 * graph unit win32 fixes.
git-svn-id: trunk@24707 -
2013-06-01 12:42:39 +00:00
pierre
884918a4c4 Regenerate all Makefiles with an up-to-date fpcmake binary
git-svn-id: trunk@24365 -
2013-04-29 12:27:42 +00:00
joost
527c407b62 * Re-generated Makefiles for the changes in the Makefile.fpcs in r24349
git-svn-id: trunk@24350 -
2013-04-27 20:48:14 +00:00
joost
20a3809e58 * Now zipinstall is passed to fpmake by all Makefile.fpc's
git-svn-id: trunk@24349 -
2013-04-27 20:34:00 +00:00
yury
23b95a4d70 * Regenerated all makefiles.
git-svn-id: branches/targetandroid@23422 -
2013-01-17 11:36:12 +00:00
michael
6bdcfaa493 * Added dependency on opengl
git-svn-id: trunk@23367 -
2013-01-12 13:30:23 +00:00
nickysn
e616d0b7f0 * updated ptcpas to 0.99.13
git-svn-id: trunk@23005 -
2012-11-17 19:03:53 +00:00
joost
316717a710 * Re-generated all the Makefile.fpcs from the packages. So they are almost all the same now.
git-svn-id: trunk@23001 -
2012-11-17 00:18:50 +00:00
tom_at_work
9428c78d63 Pass OPT to compilation of fpmake.
Solves issues with systems that e.g. require special options for compilation of programs (e.g. libc programs to find libc startup code) or the actual build has been compiled with options that are incompatible with default ones.

Tested changes by building an i386-linux local build and i386-linux->arm-linux cross-builds

git-svn-id: trunk@22397 -
2012-09-15 23:41:44 +00:00
tom_at_work
7c56a9f34d Revert r22080 because it prevents crosscompilation.
git-svn-id: trunk@22101 -
2012-08-16 21:24:47 +00:00
tom_at_work
7b6bcd315f Pass FPCOPT to fpmkunit and fpmake compilation. This prevents build errors of these programs if the given FPCOPT options of the previously compiled RTL are incompatible to default options. Regenerated associated makefiles.
git-svn-id: trunk@22080 -
2012-08-14 19:09:17 +00:00
pierre
a9e6a732c7 Enable graph for go32v2 target
git-svn-id: trunk@21449 -
2012-06-01 08:52:47 +00:00
pierre
1b3fd997fc + Regenerate all Makefiles's after adding x86_64 netbsd target
git-svn-id: trunk@21031 -
2012-04-24 23:15:18 +00:00
Jonas Maebe
44bd889b9b * regenerated Makefiles with AIX support
git-svn-id: trunk@20812 -
2012-04-11 18:03:57 +00:00
pierre
2c4d8cc9d9 Add x86_64-openbsd target in Makefiles
git-svn-id: trunk@20723 -
2012-04-06 16:49:08 +00:00
florian
64a3e3b95f * patch by Cyrax to compile graph on win64 as well, resolves #21093
git-svn-id: trunk@20082 -
2012-01-15 08:52:10 +00:00
joost
b24936e4ba * Graph does not depend on x11 on windows
git-svn-id: trunk@20076 -
2012-01-14 14:20:49 +00:00
joost
f1405b03fa * Converted more packages to fpmake building
git-svn-id: trunk@20068 -
2012-01-13 22:41:43 +00:00
joost
64ce43d041 * Build graph unit only on linux/i386 and go32v2, amiga, win32, win64 and freebsd
* Build wincrt and winmouse also on win64

git-svn-id: trunk@20002 -
2012-01-07 21:58:03 +00:00
florian
9426cac1b0 * rebuilt Makefiles
git-svn-id: trunk@19748 -
2011-12-04 15:34:01 +00:00
nickysn
6a0078e38a * Updated PTCPas to version 0.99.12
git-svn-id: trunk@19633 -
2011-11-12 18:28:40 +00:00
florian
d7f7a9bb76 * patch by Alexander Shishkin to clean up $ifopt usage by $push/$pop, resolves #20346
git-svn-id: trunk@19256 -
2011-09-27 20:22:40 +00:00
florian
4868b09844 * patch by alexvin to replace $ifopt by $push/$pop, resolves #20332
git-svn-id: trunk@19239 -
2011-09-25 21:19:50 +00:00