Commit Graph

383 Commits

Author SHA1 Message Date
Pierre Muller
ea68c97f50 Remove convert.inc from fpmake include list as it was removed in commit 15ff16d852 2022-12-28 13:44:15 +00:00
florian
1853e94b98 * attempt to fix #39900 2022-11-12 22:08:21 +01:00
Nikolay Nikolov
8c562995d7 * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
Nikolay Nikolov
95ba16228a + use some ASCII replacements for certain non-ASCII characters (used by Free
Vision) on Unix consoles that don't support UTF-8
2022-05-01 10:34:47 +03:00
Nikolay Nikolov
f67c4b1c45 + use the DEC special graphics character set to draw some non-ASCII characters
on Unix consoles that don't support UTF-8 (or don't have it enabled)
2022-05-01 10:22:56 +03:00
Ramon M
f227efb258 Enabled mouse support for macOS and *BSD. Free Vision apps can now make use of the mouse for these O/Ss. 2022-04-30 12:04:18 +02:00
Nikolay Nikolov
f49675c4fe * convert advanced video attributes to legacy attributes (emulating bold, italic,
etc. using colors). Also, the blink attribute is converted correctly now.
2022-03-17 20:57:26 +02:00
Nikolay Nikolov
89726bbb98 + added second screen to the video4 test, which demonstrates all the attributes (without combining them) 2022-03-17 19:49:51 +02:00
Nikolay Nikolov
921a72566f + implemented enhanced video attributes in the Unix video unit
+ added test for the enhanced video attributes
2022-03-17 19:43:50 +02:00
Nikolay Nikolov
5121e2c259 + introduced TEnhancedVideoCell.EnhancedVideoAttributes, based on ECMA-48 and xterm 2022-03-17 18:57:37 +02:00
Nikolay Nikolov
0d9298f01a * changed the video unit initialization sequence, so that the startup cursor
position is preserved at exit (or when switching to the user screen in the
  IDE), when running in xterm or compatible (gnome-terminal, konsole, etc.)
2022-03-16 08:28:29 +02:00
Nikolay Nikolov
28732fffa2 * fixed the 256-color support for konsole 2022-03-16 08:15:39 +02:00
Nikolay Nikolov
3564d5e34a + added 256 color support to the Unix console video unit 2022-03-16 08:10:10 +02:00
Nikolay Nikolov
3eae0213be * copy operator of TEnhancedVideoCell now copies the 8-bit foreground and background colors 2022-03-16 08:08:24 +02:00
Nikolay Nikolov
61623c43ca * use separate variables for tracking the foreground and background colors 2022-03-16 07:45:55 +02:00
Nikolay Nikolov
e79fbff154 * attr2ansi changed to accept separate foreground and background color
parameters, instead of single attribute bytes. No functional changes.
2022-03-16 07:34:40 +02:00
Nikolay Nikolov
aee5a58000 - delete disabled code 2022-03-16 07:24:14 +02:00
Nikolay Nikolov
ac9feac2c8 - removed spaces at end of line 2022-03-16 07:23:33 +02:00
Nikolay Nikolov
25a681295a + added properties TEnhancedVideoCell.ForegroundColor and .BackgroundColor,
which can store up to 256 colors
2022-03-16 07:00:17 +02:00
Nikolay Nikolov
6345a25304 + support shift+pgup, shift+pgdn, ctrl+shift+pgup and ctrl+shift+pgdn in the
unix keyboard unit
2022-03-13 08:07:29 +02:00
Nikolay Nikolov
501b2d6c6f + get the current code page in the msdos keyboard unit as well 2022-03-13 00:34:50 +02:00
Nikolay Nikolov
c881067b23 + get the current DOS code page in the go32v2 keyboard unit, so enhanced key
events Unicode characters are returned correctly (provided that the cpall and
  fpwidestring unit are included as well)
2022-03-13 00:26:55 +02:00
Nikolay Nikolov
e1e939c844 + support 83/84-key keyboards in the go32v2 keyboard unit 2022-03-13 00:18:11 +02:00
Nikolay Nikolov
91ccf4e9c6 + introduced the CurrentLegacy2EnhancedKeyEventTranslationCodePage private
variable in the keyboard unit. It is used for translating AsciiChar to
  UnicodeChar in non-enhanced (i.e. non-unicode) consoles. It can be initialized
  in SysInitKeyboard in non-unicode consoles, so they can return unicode
  characters as well.
2022-03-12 23:56:20 +02:00
Nikolay Nikolov
4ed7bd9f66 * fixed bug, where left and right shift were swapped in the i386-go32v2
keyboard unit as well.
2022-03-12 19:17:40 +02:00
Nikolay Nikolov
55b8fd6e94 * fixed bug, where left and right shift were swapped in the i8086-msdos
keyboard unit.
2022-03-12 18:53:43 +02:00
Nikolay Nikolov
398c6519a5 * return the proper shift state in the i8086-msdos keyboard unit GetKeyEvent and
PollKeyEvent (previously, it was truncated, due to the native int being 16-bit
  on i8086)
2022-03-12 18:46:46 +02:00
Pierre Muller
2f28c5596f Regenerate all Makefile's to fix problem on x86_64 linux 2022-03-07 23:46:15 +00:00
Pierre Muller
ad2ac98858 Update Makefile's 2022-03-07 22:35:29 +00:00
Pierre Muller
4da4c96349 Regenerate Makefile's with mips gcc fixes and new enabled mips64-linux target 2022-02-15 15:45:15 +00:00
Nikolay Nikolov
21593942a1 * regenerate all makefiles with the latest fpcmake 2022-02-13 15:26:54 +02:00
Marcus Sackrow
9f22623459 Amiga: Fix for unable to type in FV applications for Amiga-systems 2022-02-13 00:02:30 +01:00
Marcus Sackrow
41e32d0fba AmigaOS4: fix compilation for double UTF8Encode in library unit and system 2022-02-12 14:52:45 +01:00
Nikolay Nikolov
af5f75fd5a * win16 compilation fix after merge of unicodekvm branch 2022-02-12 13:24:37 +02:00
Nikolay Nikolov
6df6e4f7ff * Amiga compilation fix after merge of unicodekvm branch 2022-02-12 13:13:12 +02:00
Nikolay Nikolov
0b8a0fb495 + support conversion between legancy and enhanced console in UpdateScreenArea 2022-02-12 10:09:17 +02:00
Nikolay Nikolov
39daa64949 Merge remote-tracking branch 'origin/main' into unicodekvm 2022-02-06 16:35:22 +02:00
Nikolay Nikolov
b407b67ca1 * regenerate all makefiles with latest fpcmake 2022-01-19 07:08:32 +02:00
Robert Roland
53e5a4a03a Adding aaarch64-embedded target
This adds support for aarch64-embedded, specifically for the Raspberry Pi 3.

Uses UART0 at 115200 baud 8N1 for console IO.
2022-01-05 12:29:00 +00:00
Karoly Balogh
2f82a084e8 rtl-console: quickfix for Amiga UpdateScreenArea() so it properly updates multiple lines 2021-12-28 15:50:34 +01:00
Karoly Balogh
db39d1a4e4 rtl-console: use videoDefaultFlags variable on Amiga for WA_Flags. disable smartrefresh in full screen, also respect the FPC_VIDEO_SIMPLEREFRESH env var 2021-12-26 22:25:28 +01:00
Karoly Balogh
6146aa6eb6 rtl-console/amicommon: set the window's UserPort to nil before closing, as recommended 2021-12-26 20:37:29 +01:00
Karoly Balogh
b929367782 Merge branch 'main' into unicodekvm 2021-12-26 11:17:47 +01:00
Nikolay Nikolov
efe08183be Merge commit 'f289f2694ab837b414aa131a0514c56fee4950bc' into unicodekvm 2021-12-26 05:25:41 +02:00
Karoly Balogh
5a84342348 * rtl-console: fix ; in the previous commit 2021-12-25 23:31:20 +01:00
Karoly Balogh
d3de4b5951 * rtl-console: generalized the partial screen update feature which was added to Amiga. the function was renamed to UpdateScreenArea(). it's still an empty call on other platforms, that falls back to UpdateScreen() but the infrastructure is now there to support it. 2021-12-25 23:16:36 +01:00
Karoly Balogh
9894fe8082 * rtl-console: on Amiga added a custom screen update call, to do partial screen updates. doing a full update can be very slow on low-end systems (checking the entire screen buffer every time), so software tuned for these can now request partial updates, when the updated already is already known 2021-12-25 16:42:00 +01:00
Karoly Balogh
4fe5e53fcc * rtl-console: on Amiga, remove the initial testing of the buffer for changes. it just slowed things down with frequent partial updates, especially on low-end processors with limited or no data cache 2021-12-25 13:21:40 +01:00
Karoly Balogh
cc7c328a7c * rtl-console: slight refactor of how Amiga SysUpdateScreen() addresses the videobuf. this results in slightly more optimal code with less complex addressing, which helps low-end processors 2021-12-25 13:17:34 +01:00
Karoly Balogh
5264e48d90 * rtl-console: always compile Amiga KVM units in OBJFPC mode. This makes it easier to compile these units outside of this package 2021-12-25 13:13:26 +01:00