瀏覽代碼

--- Merging r34598 into '.':
U compiler/COPYING.txt
U packages/gtk2/src/glib/gparamspecs.inc
U packages/gtk2/src/gtk+/gdk/gdki18n.inc
U packages/gtk2/src/gtk+/gdk/gdkprivate.inc
U packages/gtk2/src/gtk+/gtk/gtkhsv.inc
U packages/gtk2/src/gtk+/gtk/gtkkeyhash.inc
U packages/gtk2/src/gtkext/gtkstatusiconh.inc
U packages/sdl/LGPL
U packages/googleapi/src/googlediscoverytopas.pp
U packages/googleapi/src/googlebase.pp
U packages/hermes/src/hermes_palette.inc
U packages/hermes/src/hermconf.inc
U packages/hermes/src/factconv.inc
U packages/hermes/src/p_32.inc
U packages/hermes/src/p_24.inc
U packages/hermes/src/p_16.inc
U packages/hermes/src/p_cnv.inc
U packages/hermes/src/p_g.inc
U packages/hermes/src/hermes_utility.inc
U packages/hermes/src/p_ga.inc
U packages/hermes/src/p_gca.inc
U packages/hermes/src/p_gac.inc
U packages/hermes/src/p_muhmu.inc
U packages/hermes/src/p_cpy.inc
U packages/hermes/src/hermdef.inc
U packages/hermes/src/hermes_converter.inc
U packages/hermes/src/hermes_factory.inc
U packages/hermes/src/p_gcc.inc
U packages/hermes/src/hermes_list.inc
U packages/hermes/src/hermes_clearer.inc
U packages/hermes/src/headp.inc
U packages/hermes/src/i386/mmxp2_32.inc
U packages/hermes/src/i386/x86_main.inc
U packages/hermes/src/i386/x86p_32.inc
U packages/hermes/src/i386/headi386.inc
U packages/hermes/src/i386/x86p_16.inc
U packages/hermes/src/i386/x86p_s32.inc
U packages/hermes/src/i386/x86p_cpy.inc
U packages/hermes/src/i386/mmx_clr.inc
U packages/hermes/src/i386/x8616lut.inc
U packages/hermes/src/i386/headmmx.inc
U packages/hermes/src/i386/x86pscpy.inc
U packages/hermes/src/i386/mmx_main.inc
U packages/hermes/src/i386/mmxp_32.inc
U packages/hermes/src/i386/x86_clr.inc
U packages/hermes/src/i386/x86p_i8.inc
U packages/hermes/src/hermes_dither.inc
U packages/hermes/src/x86_64/x86_64_i8.inc
U packages/hermes/src/d_32.inc
U packages/hermes/src/hermes_debug.inc
U packages/hermes/src/hermes.pp
U packages/hermes/src/hermes_format.inc
U packages/hermes/src/p_clr.inc
U packages/hermes/src/p_i8.inc
U packages/fcl-db/src/sqlite/customsqliteds.pas
U packages/fcl-db/src/sqlite/sqliteds.pas
U packages/fcl-db/src/sqlite/sqlite3ds.pas
U packages/fcl-db/src/sqldb/sqlite/sqlite3backup.pas
U packages/fcl-db/src/sqldb/postgres/pqeventmonitor.pp
U packages/fcl-db/src/sqldb/interbase/fbeventmonitor.pp
U packages/fcl-db/src/sqldb/interbase/fbadmin.pp
U packages/matroska/src/matroska.pas
U packages/ptc/src/win32/directx/win32directxcheck.inc
U packages/ptc/src/win32/directx/win32directxtranslate.inc
U packages/ptc/src/win32/directx/win32directxhook.inc
U packages/ptc/src/win32/directx/win32directxprimary.inc
U packages/ptc/src/win32/directx/win32directxhookd.inc
U packages/ptc/src/win32/directx/win32directxlibrary.inc
U packages/ptc/src/win32/directx/win32directxdisplay.inc
U packages/ptc/src/win32/directx/win32directxconsoled.inc
U packages/ptc/src/win32/directx/win32directxprimaryd.inc
U packages/ptc/src/win32/directx/win32directxlibraryd.inc
U packages/ptc/src/win32/directx/win32directxdisplayd.inc
U packages/ptc/src/win32/directx/win32directxconsolei.inc
U packages/ptc/src/win32/gdi/win32gdiconsolei.inc
U packages/ptc/src/win32/gdi/win32modesetterd.inc
U packages/ptc/src/win32/gdi/win32openglwindowd.inc
U packages/ptc/src/win32/gdi/win32dibd.inc
U packages/ptc/src/win32/gdi/win32modesetteri.inc
U packages/ptc/src/win32/gdi/win32openglwindowi.inc
U packages/ptc/src/win32/gdi/win32dibi.inc
U packages/ptc/src/win32/gdi/win32gdihookd.inc
U packages/ptc/src/win32/gdi/win32gdiconsoled.inc
U packages/ptc/src/win32/gdi/win32gdihooki.inc
U packages/ptc/src/win32/base/win32hook.inc
U packages/ptc/src/win32/base/win32kbd.inc
U packages/ptc/src/win32/base/win32mousei.inc
U packages/ptc/src/win32/base/win32hookd.inc
U packages/ptc/src/win32/base/win32kbdd.inc
U packages/ptc/src/win32/base/win32resized.inc
U packages/ptc/src/win32/base/win32window.inc
U packages/ptc/src/win32/base/win32resizei.inc
U packages/ptc/src/win32/base/win32windowd.inc
U packages/ptc/src/win32/base/win32cursor.inc
U packages/ptc/src/win32/base/win32event.inc
U packages/ptc/src/win32/base/win32cursord.inc
U packages/ptc/src/win32/base/win32eventd.inc
U packages/ptc/src/win32/base/win32cursormoded.inc
U packages/ptc/src/win32/base/win32monitor.inc
U packages/ptc/src/win32/base/win32monitord.inc
U packages/ptc/src/win32/base/win32moused.inc
U packages/ptc/src/cocoa/cocoaconsolei.inc
U packages/ptc/src/cocoa/cocoaconsoled.inc
U packages/ptc/src/ptc.pp
U packages/ptc/src/dos/textfx2/textfx2consoled.inc
U packages/ptc/src/dos/textfx2/textfx2consolei.inc
U packages/ptc/src/dos/base/mousei.inc
U packages/ptc/src/dos/base/kbdd.inc
U packages/ptc/src/dos/base/mouse33h.pp
U packages/ptc/src/dos/base/moused.inc
U packages/ptc/src/dos/base/kbd.inc
U packages/ptc/src/dos/cga/cga.pp
U packages/ptc/src/dos/cga/cgaconsoled.inc
U packages/ptc/src/dos/cga/cgaconsolei.inc
U packages/ptc/src/dos/vga/vgaconsolei.inc
U packages/ptc/src/dos/vga/vga.pp
U packages/ptc/src/dos/vga/vgaconsoled.inc
U packages/ptc/src/dos/timeunit/timeunit.pp
U packages/ptc/src/dos/vesa/vesaconsolei.inc
U packages/ptc/src/dos/vesa/vesa.pp
U packages/ptc/src/dos/vesa/vesaconsoled.inc
U packages/ptc/src/wince/gapi/wincegapiconsolei.inc
U packages/ptc/src/wince/gapi/wincegapiconsoled.inc
U packages/ptc/src/wince/gdi/wincebitmapinfoi.inc
U packages/ptc/src/wince/gdi/wincegdiconsoled.inc
U packages/ptc/src/wince/gdi/wincebitmapinfod.inc
U packages/ptc/src/wince/gdi/wincegdiconsolei.inc
U packages/ptc/src/wince/base/wincekeyboardi.inc
U packages/ptc/src/wince/base/wincewindowd.inc
U packages/ptc/src/wince/base/wincemoused.inc
U packages/ptc/src/wince/base/wincewindowi.inc
U packages/ptc/src/wince/base/wincemousei.inc
U packages/ptc/src/wince/base/wincekeyboardd.inc
U packages/ptc/src/ptcwrapper/ptcwrapper.pp
U packages/ptc/src/ptcwrapper/ptceventqueue.pp
U packages/ptc/src/core/closeeventd.inc
U packages/ptc/src/core/consolei.inc
U packages/ptc/src/core/resizeeventi.inc
U packages/ptc/src/core/closeeventi.inc
U packages/ptc/src/core/eventd.inc
U packages/ptc/src/core/moded.inc
U packages/ptc/src/core/eventi.inc
U packages/ptc/src/core/modei.inc
U packages/ptc/src/core/openglattributesd.inc
U packages/ptc/src/core/clipperd.inc
U packages/ptc/src/core/openglattributesi.inc
U packages/ptc/src/core/clipperi.inc
U packages/ptc/src/core/aread.inc
U packages/ptc/src/core/copyd.inc
U packages/ptc/src/core/log.inc
U packages/ptc/src/core/areai.inc
U packages/ptc/src/core/colord.inc
U packages/ptc/src/core/copyi.inc
U packages/ptc/src/core/timerd.inc
U packages/ptc/src/core/basesurfaced.inc
U packages/ptc/src/core/colori.inc
U packages/ptc/src/core/timeri.inc
U packages/ptc/src/core/cleard.inc
U packages/ptc/src/core/surfaced.inc
U packages/ptc/src/core/basesurfacei.inc
U packages/ptc/src/core/formatd.inc
U packages/ptc/src/core/errord.inc
U packages/ptc/src/core/mouseeventd.inc
U packages/ptc/src/core/keyeventd.inc
U packages/ptc/src/core/cleari.inc
U packages/ptc/src/core/surfacei.inc
U packages/ptc/src/core/baseconsoled.inc
U packages/ptc/src/core/formati.inc
U packages/ptc/src/core/paletted.inc
U packages/ptc/src/core/errori.inc
U packages/ptc/src/core/keyeventi.inc
U packages/ptc/src/core/mouseeventi.inc
U packages/ptc/src/core/baseconsolei.inc
U packages/ptc/src/core/consoled.inc
U packages/ptc/src/core/palettei.inc
U packages/ptc/src/core/resizeeventd.inc
U packages/ptc/src/x11/x11glxfbconfigd.inc
U packages/ptc/src/x11/x11windowdisplayd.inc
U packages/ptc/src/x11/x11glxfbconfigi.inc
U packages/ptc/src/x11/x11unikey.inc
U packages/ptc/src/x11/x11windowdisplayi.inc
U packages/ptc/src/x11/x11consoled.inc
U packages/ptc/src/x11/x11dga1displayd.inc
U packages/ptc/src/x11/x11dga2displayd.inc
U packages/ptc/src/x11/x11displayd.inc
U packages/ptc/src/x11/x11consolei.inc
U packages/ptc/src/x11/x11dga1displayi.inc
U packages/ptc/src/x11/x11modesd.inc
U packages/ptc/src/x11/x11dga2displayi.inc
U packages/ptc/src/x11/x11check.inc
U packages/ptc/src/x11/x11displayi.inc
U packages/ptc/src/x11/x11modesi.inc
U packages/ptc/src/x11/x11imaged.inc
U packages/ptc/src/x11/x11imagei.inc
U packages/ptc/src/c_api/capi_copyd.inc
U packages/ptc/src/c_api/capi_color.inc
U packages/ptc/src/c_api/capi_timer.inc
U packages/ptc/src/c_api/capi_colord.inc
U packages/ptc/src/c_api/capi_mode.inc
U packages/ptc/src/c_api/capi_timerd.inc
U packages/ptc/src/c_api/capi_clear.inc
U packages/ptc/src/c_api/capi_except.inc
U packages/ptc/src/c_api/capi_format.inc
U packages/ptc/src/c_api/capi_key.inc
U packages/ptc/src/c_api/capi_moded.inc
U packages/ptc/src/c_api/capi_surface.inc
U packages/ptc/src/c_api/capi_error.inc
U packages/ptc/src/c_api/capi_cleard.inc
U packages/ptc/src/c_api/capi_surfaced.inc
U packages/ptc/src/c_api/capi_keyd.inc
U packages/ptc/src/c_api/capi_formatd.inc
U packages/ptc/src/c_api/capi_exceptd.inc
U packages/ptc/src/c_api/capi_errord.inc
U packages/ptc/src/c_api/capi_palette.inc
U packages/ptc/src/c_api/capi_clipper.inc
U packages/ptc/src/c_api/capi_paletted.inc
U packages/ptc/src/c_api/capi_clipperd.inc
U packages/ptc/src/c_api/capi_console.inc
U packages/ptc/src/c_api/capi_consoled.inc
U packages/ptc/src/c_api/capi_index.inc
U packages/ptc/src/c_api/capi_area.inc
U packages/ptc/src/c_api/capi_copy.inc
U packages/ptc/src/c_api/capi_aread.inc
U packages/ptc/docs/lgpl.txt
U packages/fcl-base/src/csvdocument.pp
U packages/fcl-base/src/csvreadwrite.pp
U packages/winunits-base/src/eventsink.pp
U packages/winunits-base/src/typelib.pas
U packages/mysql/src/mysql4_com.pp
U packages/mysql/src/mysql.inc
U packages/mysql/src/mysql4_comdyn.pp
U packages/mysql/src/mysql4dyn.pp
U packages/chm/src/paslzxcomp.pas
U packages/aspell/LICENSE
U packages/os2units/src/dive.pas
U packages/bfd/src/bfd.pas
U utils/instantfpc/instantfpc.pas
U utils/fpdoc/COPYING.txt
U utils/fpdoc/README.txt
U utils/fppkg/lnet/LICENSE.ADDON
U utils/fppkg/lnet/lmimetypes.pp
U utils/fppkg/lnet/lhttputil.pp
U utils/fppkg/lnet/lprocess.pp
U utils/fppkg/lnet/lhttp.pp
U utils/fppkg/lnet/ltimer.pp
U utils/fppkg/lnet/lfastcgi.pp
U utils/fppkg/lnet/lspawnfcgi.pp
U utils/fppkg/lnet/lsmtp.pp
U utils/fppkg/lnet/lnet.pp
U utils/fppkg/lnet/lmimestreams.pp
U utils/fppkg/lnet/lmimewrapper.pp
U utils/fppkg/lnet/lcommon.pp
U utils/fppkg/lnet/LICENSE
U utils/fppkg/lnet/lftp.pp
U utils/fppkg/lnet/ltelnet.pp
U utils/fppkg/lnet/lstrbuffer.pp
U utils/fppkg/lnet/lwebserver.pp
U utils/fppkg/lnet/levents.pp
U utils/fppkg/lnet/lcontrolstack.pp
U rtl/sparc/setjumph.inc
U rtl/win/wininc/struct.inc
U rtl/win/wininc/unifun.inc
U rtl/win/wininc/ascdef.inc
U rtl/win/wininc/messages.inc
U rtl/win/wininc/base.inc
U rtl/win/wininc/unidef.inc
U rtl/win/wininc/func.inc
U rtl/win/wininc/errors.inc
U rtl/win/wininc/defines.inc
U rtl/win/wininc/ascfun.inc
U rtl/linux/powerpc/cprt0.as
U rtl/linux/arm/ucprt0.as
U rtl/linux/powerpc64/cprt0.as
U rtl/linux/powerpc64/gprt0.as
U rtl/linux/mips/cprt0.as
U rtl/os2/moncalls.pas
U rtl/os2/viocalls.pas
U rtl/os2/pmgpi.pas
U rtl/os2/moucalls.pas
U rtl/os2/kbdcalls.pas
U rtl/inc/flt_conv.inc
U rtl/inc/flt_core.inc
U rtl/wince/wininc/struct.inc
U rtl/wince/wininc/messages.inc
U rtl/wince/wininc/base.inc
U rtl/wince/wininc/errors.inc
U rtl/wince/wininc/defines.inc
U rtl/java/jsystem.inc
U rtl/COPYING.txt
U tests/test/units/sysutils/twstrcmp.pp
U tests/test/units/sysutils/tstrcmp.pp
U tests/test/units/sysutils/tastrcmp.pp
U tests/utils/avx/avxtestgenerator.pp
U tests/utils/avx/baselist.pas
U tests/utils/avx/asmtestgenerator.pas
U tests/utils/avx/options.pas
--- Recording mergeinfo for merge of r34598 into '.':
U .
--- Merging r35481 into '.':
U packages/graph/src/inc/gtext.inc
--- Recording mergeinfo for merge of r35481 into '.':
G .
--- Merging r36507 into '.':
G packages/ptc/src/dos/timeunit/timeunit.pp
D packages/ptc/src/dos/base/go32fix.pp
G packages/ptc/src/core/keyeventd.inc
G packages/ptc/src/core/mouseeventd.inc
G packages/ptc/src/core/baseconsoled.inc
G packages/ptc/src/core/errori.inc
G packages/ptc/src/core/baseconsolei.inc
G packages/ptc/src/core/consolei.inc
U packages/ptc/src/ptcpas.cfg
A packages/ptc/src/ptclaz.lpr
G packages/ptc/src/x11/x11consolei.inc
G packages/ptc/src/x11/x11dga1displayi.inc
G packages/ptc/src/x11/x11dga2displayi.inc
G packages/ptc/src/x11/x11displayi.inc
U packages/ptc/src/x11/x11extensions.inc
G packages/ptc/src/x11/x11windowdisplayd.inc
G packages/ptc/src/x11/x11unikey.inc
G packages/ptc/src/x11/x11windowdisplayi.inc
G packages/ptc/src/x11/x11consoled.inc
G packages/ptc/src/x11/x11dga1displayd.inc
G packages/ptc/src/x11/x11dga2displayd.inc
G packages/ptc/src/x11/x11displayd.inc
A packages/ptc/src/ptclaz.lpi
G packages/ptc/src/win32/base/win32moused.inc
G packages/ptc/src/win32/base/win32kbd.inc
G packages/ptc/src/win32/base/win32hook.inc
G packages/ptc/src/win32/base/win32mousei.inc
G packages/ptc/src/win32/base/win32kbdd.inc
G packages/ptc/src/win32/base/win32window.inc
G packages/ptc/src/win32/base/win32windowd.inc
U packages/ptc/src/win32/directx/p_ddraw.pp
G packages/ptc/src/win32/directx/win32directxhook.inc
A packages/ptc/src/win32/directx/p_dinput.pp
G packages/ptc/src/win32/directx/win32directxdisplay.inc
G packages/ptc/src/win32/directx/win32directxconsoled.inc
G packages/ptc/src/win32/directx/win32directxconsolei.inc
G packages/ptc/src/win32/gdi/win32gdiconsoled.inc
G packages/ptc/src/win32/gdi/win32gdiconsolei.inc
G packages/ptc/src/win32/gdi/win32openglwindowd.inc
G packages/ptc/src/win32/gdi/win32openglwindowi.inc
G packages/ptc/src/ptc.pp
U packages/ptc/docs/INSTALL.txt
U packages/ptc/docs/CHANGES.txt
U packages/ptc/docs/README.txt
U packages/ptc/examples/keyboard3.pp
U packages/ptc/fpmake.pp
A packages/ptc/tests/event.pp
U packages/graph/src/ptcgraph/ptcgraph.pp
--- Recording mergeinfo for merge of r36507 into '.':
G .
--- Merging r36508 into '.':
G packages/ptc/fpmake.pp
--- Recording mergeinfo for merge of r36508 into '.':
G .
--- Merging r36509 into '.':
U packages/ptc/src/dos/textfx2/textfx2.pp
G packages/ptc/src/dos/base/mouse33h.pp
G packages/ptc/src/dos/cga/cga.pp
G packages/ptc/src/dos/vga/vga.pp
G packages/ptc/src/dos/vesa/vesa.pp
--- Recording mergeinfo for merge of r36509 into '.':
G .
--- Merging r36555 into '.':
U packages/graph/src/ptcgraph/ptccrt.pp
G packages/ptc/src/core/keyeventd.inc
G packages/ptc/src/x11/x11displayi.inc
G packages/ptc/src/win32/base/win32kbd.inc
G packages/ptc/docs/CHANGES.txt
A packages/ptc/tests/crtkeys
A packages/ptc/tests/crtkeys/crtkeys_go32v2.txt
A packages/ptc/tests/crtkeys/crtkeys.pas
A packages/ptc/tests/crtkeys/crtkeys_tp7.txt
A packages/ptc/tests/crtkeys/ptccrtkeys.pas
A packages/ptc/tests/crtkeys/crtkeys_fpwincrt.txt
--- Recording mergeinfo for merge of r36555 into '.':
G .
--- Merging r36556 into '.':
G packages/graph/src/ptcgraph/ptccrt.pp
G packages/ptc/src/win32/base/win32kbd.inc
--- Recording mergeinfo for merge of r36556 into '.':
G .

# revisions: 34598,35481,36507,36508,36509,36555,36556

git-svn-id: branches/fixes_3_0@36558 -

marco 8 年之前
父節點
當前提交
19d7b3cf95
共有 100 個文件被更改,包括 788 次插入124 次删除
  1. 9 1
      .gitattributes
  2. 1 1
      compiler/COPYING.txt
  3. 1 1
      packages/aspell/LICENSE
  4. 1 1
      packages/bfd/src/bfd.pas
  5. 1 1
      packages/chm/src/paslzxcomp.pas
  6. 1 1
      packages/fcl-base/src/csvdocument.pp
  7. 1 1
      packages/fcl-base/src/csvreadwrite.pp
  8. 1 1
      packages/fcl-db/src/sqldb/interbase/fbadmin.pp
  9. 1 1
      packages/fcl-db/src/sqldb/interbase/fbeventmonitor.pp
  10. 1 1
      packages/fcl-db/src/sqldb/postgres/pqeventmonitor.pp
  11. 1 1
      packages/fcl-db/src/sqldb/sqlite/sqlite3backup.pas
  12. 1 1
      packages/fcl-db/src/sqlite/customsqliteds.pas
  13. 1 1
      packages/fcl-db/src/sqlite/sqlite3ds.pas
  14. 1 1
      packages/fcl-db/src/sqlite/sqliteds.pas
  15. 1 1
      packages/googleapi/src/googlebase.pp
  16. 1 1
      packages/googleapi/src/googlediscoverytopas.pp
  17. 4 4
      packages/graph/src/inc/gtext.inc
  18. 204 3
      packages/graph/src/ptcgraph/ptccrt.pp
  19. 226 8
      packages/graph/src/ptcgraph/ptcgraph.pp
  20. 2 2
      packages/gtk2/src/glib/gparamspecs.inc
  21. 2 2
      packages/gtk2/src/gtk+/gdk/gdki18n.inc
  22. 2 2
      packages/gtk2/src/gtk+/gdk/gdkprivate.inc
  23. 2 2
      packages/gtk2/src/gtk+/gtk/gtkhsv.inc
  24. 2 2
      packages/gtk2/src/gtk+/gtk/gtkkeyhash.inc
  25. 2 2
      packages/gtk2/src/gtkext/gtkstatusiconh.inc
  26. 1 1
      packages/hermes/src/d_32.inc
  27. 1 1
      packages/hermes/src/factconv.inc
  28. 1 1
      packages/hermes/src/headp.inc
  29. 1 1
      packages/hermes/src/hermconf.inc
  30. 1 1
      packages/hermes/src/hermdef.inc
  31. 1 1
      packages/hermes/src/hermes.pp
  32. 1 1
      packages/hermes/src/hermes_clearer.inc
  33. 1 1
      packages/hermes/src/hermes_converter.inc
  34. 1 1
      packages/hermes/src/hermes_debug.inc
  35. 1 1
      packages/hermes/src/hermes_dither.inc
  36. 1 1
      packages/hermes/src/hermes_factory.inc
  37. 1 1
      packages/hermes/src/hermes_format.inc
  38. 1 1
      packages/hermes/src/hermes_list.inc
  39. 1 1
      packages/hermes/src/hermes_palette.inc
  40. 1 1
      packages/hermes/src/hermes_utility.inc
  41. 1 1
      packages/hermes/src/i386/headi386.inc
  42. 1 1
      packages/hermes/src/i386/headmmx.inc
  43. 1 1
      packages/hermes/src/i386/mmx_clr.inc
  44. 1 1
      packages/hermes/src/i386/mmx_main.inc
  45. 1 1
      packages/hermes/src/i386/mmxp2_32.inc
  46. 1 1
      packages/hermes/src/i386/mmxp_32.inc
  47. 1 1
      packages/hermes/src/i386/x8616lut.inc
  48. 1 1
      packages/hermes/src/i386/x86_clr.inc
  49. 1 1
      packages/hermes/src/i386/x86_main.inc
  50. 1 1
      packages/hermes/src/i386/x86p_16.inc
  51. 1 1
      packages/hermes/src/i386/x86p_32.inc
  52. 1 1
      packages/hermes/src/i386/x86p_cpy.inc
  53. 1 1
      packages/hermes/src/i386/x86p_i8.inc
  54. 1 1
      packages/hermes/src/i386/x86p_s32.inc
  55. 1 1
      packages/hermes/src/i386/x86pscpy.inc
  56. 1 1
      packages/hermes/src/p_16.inc
  57. 1 1
      packages/hermes/src/p_24.inc
  58. 1 1
      packages/hermes/src/p_32.inc
  59. 1 1
      packages/hermes/src/p_clr.inc
  60. 1 1
      packages/hermes/src/p_cnv.inc
  61. 1 1
      packages/hermes/src/p_cpy.inc
  62. 1 1
      packages/hermes/src/p_g.inc
  63. 1 1
      packages/hermes/src/p_ga.inc
  64. 1 1
      packages/hermes/src/p_gac.inc
  65. 1 1
      packages/hermes/src/p_gca.inc
  66. 1 1
      packages/hermes/src/p_gcc.inc
  67. 1 1
      packages/hermes/src/p_i8.inc
  68. 1 1
      packages/hermes/src/p_muhmu.inc
  69. 1 1
      packages/hermes/src/x86_64/x86_64_i8.inc
  70. 1 1
      packages/matroska/src/matroska.pas
  71. 1 1
      packages/mysql/src/mysql.inc
  72. 1 1
      packages/mysql/src/mysql4_com.pp
  73. 1 1
      packages/mysql/src/mysql4_comdyn.pp
  74. 1 1
      packages/mysql/src/mysql4dyn.pp
  75. 2 2
      packages/os2units/src/dive.pas
  76. 104 0
      packages/ptc/docs/CHANGES.txt
  77. 7 4
      packages/ptc/docs/INSTALL.txt
  78. 1 1
      packages/ptc/docs/README.txt
  79. 1 1
      packages/ptc/docs/lgpl.txt
  80. 135 3
      packages/ptc/examples/keyboard3.pp
  81. 0 2
      packages/ptc/fpmake.pp
  82. 1 1
      packages/ptc/src/c_api/capi_area.inc
  83. 1 1
      packages/ptc/src/c_api/capi_aread.inc
  84. 1 1
      packages/ptc/src/c_api/capi_clear.inc
  85. 1 1
      packages/ptc/src/c_api/capi_cleard.inc
  86. 1 1
      packages/ptc/src/c_api/capi_clipper.inc
  87. 1 1
      packages/ptc/src/c_api/capi_clipperd.inc
  88. 1 1
      packages/ptc/src/c_api/capi_color.inc
  89. 1 1
      packages/ptc/src/c_api/capi_colord.inc
  90. 1 1
      packages/ptc/src/c_api/capi_console.inc
  91. 1 1
      packages/ptc/src/c_api/capi_consoled.inc
  92. 1 1
      packages/ptc/src/c_api/capi_copy.inc
  93. 1 1
      packages/ptc/src/c_api/capi_copyd.inc
  94. 1 1
      packages/ptc/src/c_api/capi_error.inc
  95. 1 1
      packages/ptc/src/c_api/capi_errord.inc
  96. 1 1
      packages/ptc/src/c_api/capi_except.inc
  97. 1 1
      packages/ptc/src/c_api/capi_exceptd.inc
  98. 1 1
      packages/ptc/src/c_api/capi_format.inc
  99. 1 1
      packages/ptc/src/c_api/capi_formatd.inc
  100. 1 1
      packages/ptc/src/c_api/capi_index.inc

+ 9 - 1
.gitattributes

@@ -6736,7 +6736,6 @@ packages/ptc/src/core/surfaced.inc svneol=native#text/plain
 packages/ptc/src/core/surfacei.inc svneol=native#text/plain
 packages/ptc/src/core/surfacei.inc svneol=native#text/plain
 packages/ptc/src/core/timerd.inc svneol=native#text/plain
 packages/ptc/src/core/timerd.inc svneol=native#text/plain
 packages/ptc/src/core/timeri.inc svneol=native#text/plain
 packages/ptc/src/core/timeri.inc svneol=native#text/plain
-packages/ptc/src/dos/base/go32fix.pp svneol=native#text/plain
 packages/ptc/src/dos/base/kbd.inc svneol=native#text/plain
 packages/ptc/src/dos/base/kbd.inc svneol=native#text/plain
 packages/ptc/src/dos/base/kbdd.inc svneol=native#text/plain
 packages/ptc/src/dos/base/kbdd.inc svneol=native#text/plain
 packages/ptc/src/dos/base/mouse33h.pp svneol=native#text/plain
 packages/ptc/src/dos/base/mouse33h.pp svneol=native#text/plain
@@ -6757,6 +6756,8 @@ packages/ptc/src/dos/vga/vga.pp svneol=native#text/plain
 packages/ptc/src/dos/vga/vgaconsoled.inc svneol=native#text/plain
 packages/ptc/src/dos/vga/vgaconsoled.inc svneol=native#text/plain
 packages/ptc/src/dos/vga/vgaconsolei.inc svneol=native#text/plain
 packages/ptc/src/dos/vga/vgaconsolei.inc svneol=native#text/plain
 packages/ptc/src/ptc.pp svneol=native#text/plain
 packages/ptc/src/ptc.pp svneol=native#text/plain
+packages/ptc/src/ptclaz.lpi svneol=native#text/plain
+packages/ptc/src/ptclaz.lpr svneol=native#text/plain
 packages/ptc/src/ptcpas.cfg svneol=native#text/plain
 packages/ptc/src/ptcpas.cfg svneol=native#text/plain
 packages/ptc/src/ptcwrapper/ptceventqueue.pp svneol=native#text/plain
 packages/ptc/src/ptcwrapper/ptceventqueue.pp svneol=native#text/plain
 packages/ptc/src/ptcwrapper/ptcwrapper.pp svneol=native#text/plain
 packages/ptc/src/ptcwrapper/ptcwrapper.pp svneol=native#text/plain
@@ -6782,6 +6783,7 @@ packages/ptc/src/win32/base/win32window.inc svneol=native#text/plain
 packages/ptc/src/win32/base/win32windowd.inc svneol=native#text/plain
 packages/ptc/src/win32/base/win32windowd.inc svneol=native#text/plain
 packages/ptc/src/win32/base/windows.ico -text
 packages/ptc/src/win32/base/windows.ico -text
 packages/ptc/src/win32/directx/p_ddraw.pp svneol=native#text/plain
 packages/ptc/src/win32/directx/p_ddraw.pp svneol=native#text/plain
+packages/ptc/src/win32/directx/p_dinput.pp svneol=native#text/plain
 packages/ptc/src/win32/directx/win32directxcheck.inc svneol=native#text/plain
 packages/ptc/src/win32/directx/win32directxcheck.inc svneol=native#text/plain
 packages/ptc/src/win32/directx/win32directxconsoled.inc svneol=native#text/plain
 packages/ptc/src/win32/directx/win32directxconsoled.inc svneol=native#text/plain
 packages/ptc/src/win32/directx/win32directxconsolei.inc svneol=native#text/plain
 packages/ptc/src/win32/directx/win32directxconsolei.inc svneol=native#text/plain
@@ -6840,7 +6842,13 @@ packages/ptc/src/x11/x11unikey.inc svneol=native#text/plain
 packages/ptc/src/x11/x11windowdisplayd.inc svneol=native#text/plain
 packages/ptc/src/x11/x11windowdisplayd.inc svneol=native#text/plain
 packages/ptc/src/x11/x11windowdisplayi.inc svneol=native#text/plain
 packages/ptc/src/x11/x11windowdisplayi.inc svneol=native#text/plain
 packages/ptc/tests/convtest.pp svneol=native#text/plain
 packages/ptc/tests/convtest.pp svneol=native#text/plain
+packages/ptc/tests/crtkeys/crtkeys.pas svneol=native#text/plain
+packages/ptc/tests/crtkeys/crtkeys_fpwincrt.txt svneol=native#text/plain
+packages/ptc/tests/crtkeys/crtkeys_go32v2.txt svneol=native#text/plain
+packages/ptc/tests/crtkeys/crtkeys_tp7.txt svneol=native#text/plain
+packages/ptc/tests/crtkeys/ptccrtkeys.pas svneol=native#text/plain
 packages/ptc/tests/endian.inc svneol=native#text/plain
 packages/ptc/tests/endian.inc svneol=native#text/plain
+packages/ptc/tests/event.pp svneol=native#text/plain
 packages/ptc/tests/view.pp svneol=native#text/plain
 packages/ptc/tests/view.pp svneol=native#text/plain
 packages/pthreads/Makefile svneol=native#text/plain
 packages/pthreads/Makefile svneol=native#text/plain
 packages/pthreads/Makefile.fpc svneol=native#text/plain
 packages/pthreads/Makefile.fpc svneol=native#text/plain

+ 1 - 1
compiler/COPYING.txt

@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 
 
     You should have received a copy of the GNU General Public License
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 
 
 Also add information on how to contact you by electronic and paper mail.
 Also add information on how to contact you by electronic and paper mail.

+ 1 - 1
packages/aspell/LICENSE

@@ -464,7 +464,7 @@ convey the exclusion of warranty; and each file should have at least the
 
 
     You should have received a copy of the GNU Library General Public
     You should have received a copy of the GNU Library General Public
     License along with this library; if not, write to the Free
     License along with this library; if not, write to the Free
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
 Also add information on how to contact you by electronic and paper mail.
 
 

+ 1 - 1
packages/bfd/src/bfd.pas

@@ -52,7 +52,7 @@ GNU General Public License for more details.
 
 
 You should have received a copy of the GNU General Public License
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  *)
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  *)
 
 
 (* bfd.h -- The only header file required by users of the bfd library
 (* bfd.h -- The only header file required by users of the bfd library
 
 

+ 1 - 1
packages/chm/src/paslzxcomp.pas

@@ -61,7 +61,7 @@ uses paslznonslide;
   
   
       You should have received a copy of the GNU Lesser General Public License
       You should have received a copy of the GNU Lesser General Public License
       along with this program; if not, write to the Free Software
       along with this program; if not, write to the Free Software
-      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    }
    }
    type
    type
   PPlzx_data = ^Plzx_data;
   PPlzx_data = ^Plzx_data;

+ 1 - 1
packages/fcl-base/src/csvdocument.pp

@@ -32,7 +32,7 @@
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 unit csvdocument;
 unit csvdocument;

+ 1 - 1
packages/fcl-base/src/csvreadwrite.pp

@@ -32,7 +32,7 @@
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 unit csvreadwrite;
 unit csvreadwrite;

+ 1 - 1
packages/fcl-db/src/sqldb/interbase/fbadmin.pp

@@ -27,7 +27,7 @@ unit FBAdmin;
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}

+ 1 - 1
packages/fcl-db/src/sqldb/interbase/fbeventmonitor.pp

@@ -27,7 +27,7 @@ unit FBEventMonitor;
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}

+ 1 - 1
packages/fcl-db/src/sqldb/postgres/pqeventmonitor.pp

@@ -27,7 +27,7 @@ unit PQEventMonitor;
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}

+ 1 - 1
packages/fcl-db/src/sqldb/sqlite/sqlite3backup.pas

@@ -27,7 +27,7 @@ unit sqlite3backup;
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 
 

+ 1 - 1
packages/fcl-db/src/sqlite/customsqliteds.pas

@@ -28,7 +28,7 @@ unit CustomSqliteDS;
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 {$Mode ObjFpc}
 {$Mode ObjFpc}

+ 1 - 1
packages/fcl-db/src/sqlite/sqlite3ds.pas

@@ -28,7 +28,7 @@ unit Sqlite3DS;
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 {$mode objfpc}
 {$mode objfpc}

+ 1 - 1
packages/fcl-db/src/sqlite/sqliteds.pas

@@ -28,7 +28,7 @@ unit SqliteDS;
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 {$mode objfpc}
 {$mode objfpc}

+ 1 - 1
packages/googleapi/src/googlebase.pp

@@ -25,7 +25,7 @@
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 unit googlebase;
 unit googlebase;

+ 1 - 1
packages/googleapi/src/googlediscoverytopas.pp

@@ -25,7 +25,7 @@
 
 
   You should have received a copy of the GNU Library General Public License
   You should have received a copy of the GNU Library General Public License
   along with this library; if not, write to the Free Software Foundation,
   along with this library; if not, write to the Free Software Foundation,
-  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 }
 }
 
 
 unit googlediscoverytopas;
 unit googlediscoverytopas;

+ 4 - 4
packages/graph/src/inc/gtext.inc

@@ -492,7 +492,7 @@ end;
                                   PutPixel(xpos+k,j+y,CurrentColor)
                                   PutPixel(xpos+k,j+y,CurrentColor)
                                 else if DrawTextBackground then
                                 else if DrawTextBackground then
                                   PutPixel(xpos+k,j+y,CurrentBkColor);
                                   PutPixel(xpos+k,j+y,CurrentBkColor);
-                                fontbitmapbyte:=fontbitmapbyte shl 1;
+                                fontbitmapbyte:=byte(fontbitmapbyte shl 1);
                               end;
                               end;
                           end;
                           end;
                       end
                       end
@@ -521,7 +521,7 @@ end;
                                     end;
                                     end;
                                   Inc(k);
                                   Inc(k);
                                   Inc(cnt2,charsize);
                                   Inc(cnt2,charsize);
-                                  fontbitmapbyte:=fontbitmapbyte shl 1;
+                                  fontbitmapbyte:=byte(fontbitmapbyte shl 1);
                                 end;
                                 end;
                            end;
                            end;
                           Inc(j);
                           Inc(j);
@@ -552,7 +552,7 @@ end;
                              PutPixel(xpos+j,ypos-k,CurrentColor)
                              PutPixel(xpos+j,ypos-k,CurrentColor)
                            else if DrawTextBackground then
                            else if DrawTextBackground then
                              PutPixel(xpos+j,ypos-k,CurrentBkColor);
                              PutPixel(xpos+j,ypos-k,CurrentBkColor);
-                           fontbitmapbyte:=fontbitmapbyte shl 1;
+                           fontbitmapbyte:=byte(fontbitmapbyte shl 1);
                          end;
                          end;
                      end;
                      end;
                  end
                  end
@@ -581,7 +581,7 @@ end;
                                end;
                                end;
                              Inc(k);
                              Inc(k);
                              Inc(cnt2,charsize);
                              Inc(cnt2,charsize);
-                             fontbitmapbyte:=fontbitmapbyte shl 1;
+                             fontbitmapbyte:=byte(fontbitmapbyte shl 1);
                            end;
                            end;
                       end;
                       end;
                      Inc(j);
                      Inc(j);

+ 204 - 3
packages/graph/src/ptcgraph/ptccrt.pp

@@ -1,6 +1,6 @@
 {
 {
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
-    Copyright (c) 2010, 2011, 2013 by Nikolay Nikolov ([email protected])
+    Copyright (c) 2010, 2011, 2013, 2017 by Nikolay Nikolov ([email protected])
 
 
     This file implements keyboard input support for ptcgraph
     This file implements keyboard input support for ptcgraph
 
 
@@ -35,10 +35,12 @@ type
 {$ELSE HasCRT}
 {$ELSE HasCRT}
   tcrtcoord = 1..255;
   tcrtcoord = 1..255;
 {$ENDIF HasCRT}
 {$ENDIF HasCRT}
+  tkeymode = (kmTP7, kmGO32, kmFPWINCRT);
 
 
 var
 var
   DirectVideo: Boolean {$IFDEF HasCRT}absolute crt.DirectVideo{$ENDIF HasCRT};
   DirectVideo: Boolean {$IFDEF HasCRT}absolute crt.DirectVideo{$ENDIF HasCRT};
   TextAttr: Byte {$IFDEF HasCRT}absolute crt.TextAttr{$ENDIF HasCRT};
   TextAttr: Byte {$IFDEF HasCRT}absolute crt.TextAttr{$ENDIF HasCRT};
+  KeyMode: TKeyMode = kmTP7;
 
 
 function KeyPressed: Boolean;
 function KeyPressed: Boolean;
 function ReadKey: Char;
 function ReadKey: Char;
@@ -132,6 +134,9 @@ begin
               if KeyEv.Alt then
               if KeyEv.Alt then
               begin
               begin
                 case KeyEv.Code of
                 case KeyEv.Code of
+                  PTCKEY_ESCAPE:
+                    if KeyMode = kmGO32 then
+                      KeyBufAdd(#0#1);
                   PTCKEY_F1:     KeyBufAdd(#0#104);
                   PTCKEY_F1:     KeyBufAdd(#0#104);
                   PTCKEY_F2:     KeyBufAdd(#0#105);
                   PTCKEY_F2:     KeyBufAdd(#0#105);
                   PTCKEY_F3:     KeyBufAdd(#0#106);
                   PTCKEY_F3:     KeyBufAdd(#0#106);
@@ -142,6 +147,12 @@ begin
                   PTCKEY_F8:     KeyBufAdd(#0#111);
                   PTCKEY_F8:     KeyBufAdd(#0#111);
                   PTCKEY_F9:     KeyBufAdd(#0#112);
                   PTCKEY_F9:     KeyBufAdd(#0#112);
                   PTCKEY_F10:    KeyBufAdd(#0#113);
                   PTCKEY_F10:    KeyBufAdd(#0#113);
+                  PTCKEY_F11:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#139);
+                  PTCKEY_F12:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#140);
                   PTCKEY_ONE:    KeyBufAdd(#0#120);
                   PTCKEY_ONE:    KeyBufAdd(#0#120);
                   PTCKEY_TWO:    KeyBufAdd(#0#121);
                   PTCKEY_TWO:    KeyBufAdd(#0#121);
                   PTCKEY_THREE:  KeyBufAdd(#0#122);
                   PTCKEY_THREE:  KeyBufAdd(#0#122);
@@ -180,6 +191,89 @@ begin
                   PTCKEY_B:      KeyBufAdd(#0#48);
                   PTCKEY_B:      KeyBufAdd(#0#48);
                   PTCKEY_N:      KeyBufAdd(#0#49);
                   PTCKEY_N:      KeyBufAdd(#0#49);
                   PTCKEY_M:      KeyBufAdd(#0#50);
                   PTCKEY_M:      KeyBufAdd(#0#50);
+                  PTCKEY_BACKQUOTE:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#41);
+                  PTCKEY_BACKSPACE:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#14);
+                  PTCKEY_TAB:
+                    if KeyMode = kmGO32 then
+                      KeyBufAdd(#0#165);
+                  PTCKEY_OPENBRACKET:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#26);
+                  PTCKEY_CLOSEBRACKET:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#27);
+                  PTCKEY_BACKSLASH:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#43);
+                  PTCKEY_SEMICOLON:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#39);
+                  PTCKEY_QUOTE:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#40);
+                  PTCKEY_ENTER:
+                    if KeyMode = kmGO32 then
+                      if pmkNumPadKey in KeyEv.ModifierKeys then
+                        KeyBufAdd(#0#166)
+                      else
+                        KeyBufAdd(#0#28);
+                  PTCKEY_COMMA:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#51);
+                  PTCKEY_PERIOD:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#52);
+                  PTCKEY_SLASH:
+                    if KeyMode = kmFPWINCRT then
+                      KeyBufAdd(#0#164)
+                    else if KeyMode = kmGO32 then
+                      KeyBufAdd(#0#53);
+                  PTCKEY_INSERT:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#162);
+                  PTCKEY_DELETE:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#163);
+                  PTCKEY_HOME:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#151);
+                  PTCKEY_END:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#159);
+                  PTCKEY_PAGEUP:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#153);
+                  PTCKEY_PAGEDOWN:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#161);
+                  PTCKEY_UP:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#152);
+                  PTCKEY_LEFT:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#155);
+                  PTCKEY_RIGHT:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#157);
+                  PTCKEY_DOWN:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#160);
+                  PTCKEY_DIVIDE:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#164);
+                  PTCKEY_MULTIPLY:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#55);
+                  PTCKEY_SUBTRACT:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#74);
+                  PTCKEY_ADD:
+                    if KeyMode in [kmGO32, kmFPWINCRT] then
+                      KeyBufAdd(#0#78);
                 end;
                 end;
               end
               end
               else
               else
@@ -197,7 +291,50 @@ begin
                     PTCKEY_F8:            KeyBufAdd(#0#101);
                     PTCKEY_F8:            KeyBufAdd(#0#101);
                     PTCKEY_F9:            KeyBufAdd(#0#102);
                     PTCKEY_F9:            KeyBufAdd(#0#102);
                     PTCKEY_F10:           KeyBufAdd(#0#103);
                     PTCKEY_F10:           KeyBufAdd(#0#103);
+                    PTCKEY_F11:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#137);
+                    PTCKEY_F12:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#138);
+                    PTCKEY_ONE:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#2);
                     PTCKEY_TWO:           KeyBufAdd(#0#3);
                     PTCKEY_TWO:           KeyBufAdd(#0#3);
+                    PTCKEY_THREE:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#4);
+                    PTCKEY_FOUR:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#5);
+                    PTCKEY_FIVE:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#6);
+                    PTCKEY_SIX:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#7)
+                      else
+                        KeyBufAdd(#30);
+                    PTCKEY_SEVEN:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#8);
+                    PTCKEY_EIGHT:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#9);
+                    PTCKEY_NINE:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#10);
+                    PTCKEY_ZERO:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#11);
+                    PTCKEY_MINUS:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#12)
+                      else
+                        KeyBufAdd(#31);
+                    PTCKEY_EQUALS:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#13);
                     PTCKEY_BACKSPACE:     KeyBufAdd(#127);
                     PTCKEY_BACKSPACE:     KeyBufAdd(#127);
                     PTCKEY_A:             KeyBufAdd(#1);
                     PTCKEY_A:             KeyBufAdd(#1);
                     PTCKEY_B:             KeyBufAdd(#2);
                     PTCKEY_B:             KeyBufAdd(#2);
@@ -228,8 +365,6 @@ begin
                     PTCKEY_OPENBRACKET:   KeyBufAdd(#27);
                     PTCKEY_OPENBRACKET:   KeyBufAdd(#27);
                     PTCKEY_BACKSLASH:     KeyBufAdd(#28);
                     PTCKEY_BACKSLASH:     KeyBufAdd(#28);
                     PTCKEY_CLOSEBRACKET:  KeyBufAdd(#29);
                     PTCKEY_CLOSEBRACKET:  KeyBufAdd(#29);
-                    PTCKEY_SIX:           KeyBufAdd(#30);
-                    PTCKEY_MINUS:         KeyBufAdd(#31);
                     PTCKEY_ENTER:         KeyBufAdd(#10);
                     PTCKEY_ENTER:         KeyBufAdd(#10);
                     PTCKEY_LEFT:          KeyBufAdd(#0#115);
                     PTCKEY_LEFT:          KeyBufAdd(#0#115);
                     PTCKEY_RIGHT:         KeyBufAdd(#0#116);
                     PTCKEY_RIGHT:         KeyBufAdd(#0#116);
@@ -237,6 +372,57 @@ begin
                     PTCKEY_END:           KeyBufAdd(#0#117);
                     PTCKEY_END:           KeyBufAdd(#0#117);
                     PTCKEY_PAGEUP:        KeyBufAdd(#0#132);
                     PTCKEY_PAGEUP:        KeyBufAdd(#0#132);
                     PTCKEY_PAGEDOWN:      KeyBufAdd(#0#118);
                     PTCKEY_PAGEDOWN:      KeyBufAdd(#0#118);
+                    PTCKEY_BACKQUOTE:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#41);
+                    PTCKEY_TAB:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#148);
+                    PTCKEY_SEMICOLON:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#39);
+                    PTCKEY_QUOTE:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#40);
+                    PTCKEY_COMMA:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#51);
+                    PTCKEY_PERIOD:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#52);
+                    PTCKEY_SLASH:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#149);
+                    PTCKEY_INSERT:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#146);
+                    PTCKEY_DELETE:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#147);
+                    PTCKEY_UP:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#141);
+                    PTCKEY_DOWN:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#145);
+                    PTCKEY_DIVIDE:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#149);
+                    PTCKEY_MULTIPLY:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#150);
+                    PTCKEY_SUBTRACT:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#142);
+                    PTCKEY_ADD:
+                      if KeyMode = kmFPWINCRT then
+                        KeyBufAdd(#0#78)
+                      else if KeyMode = kmGO32 then
+                        KeyBufAdd(#0#144);
+                    PTCKEY_CLEAR,
+                    PTCKEY_NUMPAD5:
+                      if KeyMode in [kmGO32, kmFPWINCRT] then
+                        KeyBufAdd(#0#143);
                   end;
                   end;
                 end
                 end
                 else
                 else
@@ -254,6 +440,12 @@ begin
                       PTCKEY_F8:        KeyBufAdd(#0#91);
                       PTCKEY_F8:        KeyBufAdd(#0#91);
                       PTCKEY_F9:        KeyBufAdd(#0#92);
                       PTCKEY_F9:        KeyBufAdd(#0#92);
                       PTCKEY_F10:       KeyBufAdd(#0#93);
                       PTCKEY_F10:       KeyBufAdd(#0#93);
+                      PTCKEY_F11:
+                        if KeyMode in [kmGO32, kmFPWINCRT] then
+                          KeyBufAdd(#0#135);
+                      PTCKEY_F12:
+                        if KeyMode in [kmGO32, kmFPWINCRT] then
+                          KeyBufAdd(#0#136);
                       PTCKEY_BACKSPACE: KeyBufAdd(#8);
                       PTCKEY_BACKSPACE: KeyBufAdd(#8);
                       PTCKEY_TAB:       KeyBufAdd(#0#15);
                       PTCKEY_TAB:       KeyBufAdd(#0#15);
                       PTCKEY_ENTER:     KeyBufAdd(#13);
                       PTCKEY_ENTER:     KeyBufAdd(#13);
@@ -286,6 +478,12 @@ begin
                       PTCKEY_F8:        KeyBufAdd(#0#66);
                       PTCKEY_F8:        KeyBufAdd(#0#66);
                       PTCKEY_F9:        KeyBufAdd(#0#67);
                       PTCKEY_F9:        KeyBufAdd(#0#67);
                       PTCKEY_F10:       KeyBufAdd(#0#68);
                       PTCKEY_F10:       KeyBufAdd(#0#68);
+                      PTCKEY_F11:
+                        if KeyMode in [kmGO32, kmFPWINCRT] then
+                          KeyBufAdd(#0#133);
+                      PTCKEY_F12:
+                        if KeyMode in [kmGO32, kmFPWINCRT] then
+                          KeyBufAdd(#0#134);
                       PTCKEY_BACKSPACE: KeyBufAdd(#8);
                       PTCKEY_BACKSPACE: KeyBufAdd(#8);
                       PTCKEY_TAB:       KeyBufAdd(#9);
                       PTCKEY_TAB:       KeyBufAdd(#9);
                       PTCKEY_ENTER:     KeyBufAdd(#13);
                       PTCKEY_ENTER:     KeyBufAdd(#13);
@@ -299,6 +497,9 @@ begin
                       PTCKEY_END:       KeyBufAdd(#0#79);
                       PTCKEY_END:       KeyBufAdd(#0#79);
                       PTCKEY_PAGEUP:    KeyBufAdd(#0#73);
                       PTCKEY_PAGEUP:    KeyBufAdd(#0#73);
                       PTCKEY_PAGEDOWN:  KeyBufAdd(#0#81);
                       PTCKEY_PAGEDOWN:  KeyBufAdd(#0#81);
+                      PTCKEY_CLEAR:
+                        if KeyMode in [kmGO32, kmFPWINCRT] then
+                          KeyBufAdd(#0#76);
                       else
                       else
                         if (KeyEv.Unicode >= 32) and (KeyEv.Unicode <= 127) then
                         if (KeyEv.Unicode >= 32) and (KeyEv.Unicode <= 127) then
                           KeyBufAdd(Chr(KeyEv.Unicode));
                           KeyBufAdd(Chr(KeyEv.Unicode));

+ 226 - 8
packages/graph/src/ptcgraph/ptcgraph.pp

@@ -120,6 +120,7 @@ const
   FullscreenGraph: Boolean = False;
   FullscreenGraph: Boolean = False;
 
 
 var
 var
+  WindowTitle: AnsiString;
   PTCWrapperObject: TPTCWrapperThread;
   PTCWrapperObject: TPTCWrapperThread;
 
 
 {******************************************************************************}
 {******************************************************************************}
@@ -128,6 +129,8 @@ var
 
 
 const
 const
   InternalDriverName = 'PTCPas';
   InternalDriverName = 'PTCPas';
+  FirstNonStandardModeNumber = $200;
+  NonStandardModeNumberMaxLimit = $7FFF;
 
 
 var
 var
   Has320x200: Boolean;
   Has320x200: Boolean;
@@ -617,7 +620,7 @@ begin
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 16 colours');
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 16 colours');
 {$ENDIF logging}
 {$ENDIF logging}
   { open the console }
   { open the console }
-  ptc_InternalOpen(ParamStr(0), XResolution, YResolution, PTCFormat8, Pages);
+  ptc_InternalOpen(WindowTitle, XResolution, YResolution, PTCFormat8, Pages);
   PTCWidth := XResolution;
   PTCWidth := XResolution;
   PTCHeight := YResolution;
   PTCHeight := YResolution;
   CurrentActivePage := 0;
   CurrentActivePage := 0;
@@ -642,7 +645,7 @@ begin
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 256 colours');
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 256 colours');
 {$ENDIF logging}
 {$ENDIF logging}
   { open the console }
   { open the console }
-  ptc_InternalOpen(ParamStr(0), XResolution, YResolution, PTCFormat8, Pages);
+  ptc_InternalOpen(WindowTitle, XResolution, YResolution, PTCFormat8, Pages);
   PTCWidth := XResolution;
   PTCWidth := XResolution;
   PTCHeight := YResolution;
   PTCHeight := YResolution;
   CurrentActivePage := 0;
   CurrentActivePage := 0;
@@ -657,7 +660,7 @@ begin
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 4 colours, palette ' + strf(CGAPalette));
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 4 colours, palette ' + strf(CGAPalette));
 {$ENDIF logging}
 {$ENDIF logging}
   { open the console }
   { open the console }
-  ptc_InternalOpen(ParamStr(0), XResolution, YResolution, PTCFormat8, 1);
+  ptc_InternalOpen(WindowTitle, XResolution, YResolution, PTCFormat8, 1);
   PTCWidth := XResolution;
   PTCWidth := XResolution;
   PTCHeight := YResolution;
   PTCHeight := YResolution;
   CurrentActivePage := 0;
   CurrentActivePage := 0;
@@ -672,7 +675,7 @@ begin
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 2 colours');
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 2 colours');
 {$ENDIF logging}
 {$ENDIF logging}
   { open the console }
   { open the console }
-  ptc_InternalOpen(ParamStr(0), XResolution, YResolution, PTCFormat8, Pages);
+  ptc_InternalOpen(WindowTitle, XResolution, YResolution, PTCFormat8, Pages);
   PTCWidth := XResolution;
   PTCWidth := XResolution;
   PTCHeight := YResolution;
   PTCHeight := YResolution;
   CurrentActivePage := 0;
   CurrentActivePage := 0;
@@ -687,7 +690,7 @@ begin
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 2 colours');
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 2 colours');
 {$ENDIF logging}
 {$ENDIF logging}
   { open the console }
   { open the console }
-  ptc_InternalOpen(ParamStr(0), XResolution, YResolution, PTCFormat8, Pages);
+  ptc_InternalOpen(WindowTitle, XResolution, YResolution, PTCFormat8, Pages);
   PTCWidth := XResolution;
   PTCWidth := XResolution;
   PTCHeight := YResolution;
   PTCHeight := YResolution;
   CurrentActivePage := 0;
   CurrentActivePage := 0;
@@ -702,7 +705,7 @@ begin
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 32768 colours');
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 32768 colours');
 {$ENDIF logging}
 {$ENDIF logging}
   { open the console }
   { open the console }
-  ptc_InternalOpen(ParamStr(0), XResolution, YResolution, PTCFormat15, Pages);
+  ptc_InternalOpen(WindowTitle, XResolution, YResolution, PTCFormat15, Pages);
   PTCWidth := XResolution;
   PTCWidth := XResolution;
   PTCHeight := YResolution;
   PTCHeight := YResolution;
   CurrentActivePage := 0;
   CurrentActivePage := 0;
@@ -715,7 +718,7 @@ begin
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 65536 colours');
   LogLn('Initializing mode ' + strf(XResolution) + ', ' + strf(YResolution) + ' 65536 colours');
 {$ENDIF logging}
 {$ENDIF logging}
   { open the console }
   { open the console }
-  ptc_InternalOpen(ParamStr(0), XResolution, YResolution, PTCFormat16, Pages);
+  ptc_InternalOpen(WindowTitle, XResolution, YResolution, PTCFormat16, Pages);
   PTCWidth := XResolution;
   PTCWidth := XResolution;
   PTCHeight := YResolution;
   PTCHeight := YResolution;
   CurrentActivePage := 0;
   CurrentActivePage := 0;
@@ -869,6 +872,26 @@ begin
   ptc_InitMode64k(1280, 1024, 2);
   ptc_InitMode64k(1280, 1024, 2);
 end;
 end;
 
 
+procedure ptc_InitNonStandard16;
+begin
+  ptc_InitMode16(MaxX + 1, MaxY + 1, 2);
+end;
+
+procedure ptc_InitNonStandard256;
+begin
+  ptc_InitMode256(MaxX + 1, MaxY + 1, 2);
+end;
+
+procedure ptc_InitNonStandard32k;
+begin
+  ptc_InitMode32k(MaxX + 1, MaxY + 1, 2);
+end;
+
+procedure ptc_InitNonStandard64k;
+begin
+  ptc_InitMode64k(MaxX + 1, MaxY + 1, 2);
+end;
+
 procedure ptc_SetVisualPage(page: word);
 procedure ptc_SetVisualPage(page: word);
 begin
 begin
   if page > HardwarePages then
   if page > HardwarePages then
@@ -1409,8 +1432,64 @@ end;
       ContainsAtLeast := False;
       ContainsAtLeast := False;
     end;
     end;
 
 
+    function IsNonStandardResolution(AWidth, AHeight: Integer): Boolean;
+    begin
+      IsNonStandardResolution :=
+            not ((AWidth =  320) and (AHeight =  200))
+        and not ((AWidth =  640) and (AHeight =  200))
+        and not ((AWidth =  640) and (AHeight =  350))
+        and not ((AWidth =  640) and (AHeight =  400))
+        and not ((AWidth =  640) and (AHeight =  480))
+        and not ((AWidth =  720) and (AHeight =  348))
+        and not ((AWidth =  800) and (AHeight =  600))
+        and not ((AWidth = 1024) and (AHeight =  768))
+        and not ((AWidth = 1280) and (AHeight = 1024));
+    end;
+
+    function CompareModes(AMode1, AMode2: IPTCMode): Boolean;
+    begin
+      if AMode1.Width <> AMode2.Width then
+        CompareModes := AMode1.Width < AMode2.Width
+      else if AMode1.Height <> AMode2.Height then
+        CompareModes := AMode1.Height < AMode2.Height
+      else if AMode1.Format.Bits <> AMode2.Format.Bits then
+        CompareModes := AMode1.Format.Bits < AMode2.Format.Bits
+      else
+        CompareModes := PtrUInt(AMode1) < PtrUInt(AMode2);
+    end;
+
+    procedure SortModes(l,r: longint);
+      var
+         i,j: longint;
+         x,y: IPTCMode;
+      begin
+         i:=l;
+         j:=r;
+         x:=PTCModeList[(l+r) div 2];
+         repeat
+           while CompareModes(PTCModeList[i], x) do
+            inc(i);
+           while CompareModes(x, PTCModeList[j]) do
+            dec(j);
+           if not(i>j) then
+             begin
+                y:=PTCModeList[i];
+                PTCModeList[i]:=PTCModeList[j];
+                PTCModeList[j]:=y;
+                inc(i);
+                j:=j-1;
+             end;
+         until i>j;
+         if l<j then
+           SortModes(l,j);
+         if i<r then
+           SortModes(i,r);
+      end;
+
    var
    var
     graphmode:Tmodeinfo;
     graphmode:Tmodeinfo;
+    I: Integer;
+    NextNonStandardModeNumber: SmallInt;
    begin
    begin
      QueryAdapterInfo := ModeList;
      QueryAdapterInfo := ModeList;
      { If the mode listing already exists... }
      { If the mode listing already exists... }
@@ -1419,7 +1498,8 @@ end;
      if assigned(ModeList) then
      if assigned(ModeList) then
        exit;
        exit;
 
 
-     PTCModeList := PTCWrapperObject.Modes;
+     PTCModeList := Copy(PTCWrapperObject.Modes);
+     SortModes(Low(PTCModeList), High(PTCModeList));
 
 
      Has320x200 := ContainsExactResolution(320, 200);
      Has320x200 := ContainsExactResolution(320, 200);
      Has320x240 := ContainsExactResolution(320, 240);
      Has320x240 := ContainsExactResolution(320, 240);
@@ -2567,9 +2647,147 @@ end;
        end;
        end;
        AddMode(graphmode);
        AddMode(graphmode);
      end;
      end;
+
+     { finally, add all the non-standard (i.e. not VESA or classic PC) modes }
+     NextNonStandardModeNumber := FirstNonStandardModeNumber;
+     for I := Low(PTCModeList) to High(PTCModeList) do
+       with PTCModeList[I] do
+         if IsNonStandardResolution(Width, Height) and
+            ((I = Low(PTCModeList)) or ((Width <> PTCModeList[I-1].Width) or (Height <> PTCModeList[I-1].Height))) then
+         begin
+           InitMode(graphmode);
+           with graphmode do
+           begin
+             ModeNumber := NextNonStandardModeNumber;
+             DriverNumber := VESA;
+             HardwarePages := 1;
+             WriteStr(ModeName, Width, ' x ', Height, ' VESA');
+             MaxColor := 16;
+             DirectColor := FALSE;
+             PaletteSize := MaxColor;
+             MaxX := Width - 1;
+             MaxY := Height - 1;
+             InitMode       := @ptc_InitNonStandard16;
+             DirectPutPixel := @ptc_DirectPixelProc_8bpp;
+             PutPixel       := @ptc_PutPixelProc_8bpp;
+             GetPixel       := @ptc_GetPixelProc_8bpp;
+             SetRGBPalette  := @ptc_SetRGBPaletteProc;
+             GetRGBPalette  := @ptc_GetRGBPaletteProc;
+
+             HLine          := @ptc_HLineProc_8bpp;
+             VLine          := @ptc_VLineProc_8bpp;
+
+             SetVisualPage  := @ptc_SetVisualPage;
+             SetActivePage  := @ptc_SetActivePage;
+
+             XAspect := 10000;
+             YAspect := 10000;
+           end;
+           AddMode(graphmode);
+           Inc(NextNonStandardModeNumber);
+           if NextNonStandardModeNumber > NonStandardModeNumberMaxLimit then
+             break;
+
+           InitMode(graphmode);
+           with graphmode do
+           begin
+             ModeNumber := NextNonStandardModeNumber;
+             DriverNumber := VESA;
+             HardwarePages := 1;
+             WriteStr(ModeName, Width, ' x ', Height, ' VESA');
+             MaxColor := 256;
+             DirectColor := FALSE;
+             PaletteSize := MaxColor;
+             MaxX := Width - 1;
+             MaxY := Height - 1;
+             InitMode       := @ptc_InitNonStandard256;
+             DirectPutPixel := @ptc_DirectPixelProc_8bpp;
+             PutPixel       := @ptc_PutPixelProc_8bpp;
+             GetPixel       := @ptc_GetPixelProc_8bpp;
+             SetRGBPalette  := @ptc_SetRGBPaletteProc;
+             GetRGBPalette  := @ptc_GetRGBPaletteProc;
+             //SetAllPalette  := @ptc_SetRGBAllPaletteProc;
+
+             HLine          := @ptc_HLineProc_8bpp;
+             VLine          := @ptc_VLineProc_8bpp;
+
+             SetVisualPage  := @ptc_SetVisualPage;
+             SetActivePage  := @ptc_SetActivePage;
+
+             XAspect := 10000;
+             YAspect := 10000;
+           end;
+           AddMode(graphmode);
+           Inc(NextNonStandardModeNumber);
+           if NextNonStandardModeNumber > NonStandardModeNumberMaxLimit then
+             break;
+
+           InitMode(graphmode);
+           with graphmode do
+           begin
+             ModeNumber := NextNonStandardModeNumber;
+             DriverNumber := VESA;
+             HardwarePages := 1;
+             WriteStr(ModeName, Width, ' x ', Height, ' VESA');
+             MaxColor := 32768;
+             DirectColor := TRUE;
+             PaletteSize := MaxColor;
+             MaxX := Width - 1;
+             MaxY := Height - 1;
+             InitMode       := @ptc_InitNonStandard32k;
+             DirectPutPixel := @ptc_DirectPixelProc_16bpp;
+             PutPixel       := @ptc_PutPixelProc_16bpp;
+             GetPixel       := @ptc_GetPixelProc_16bpp;
+             SetRGBPalette  := @ptc_SetRGBPaletteProc;
+             GetRGBPalette  := @ptc_GetRGBPaletteProc;
+             HLine          := @ptc_HLineProc_16bpp;
+             VLine          := @ptc_VLineProc_16bpp;
+             SetVisualPage  := @ptc_SetVisualPage;
+             SetActivePage  := @ptc_SetActivePage;
+
+             XAspect := 10000;
+             YAspect := 10000;
+           end;
+           AddMode(graphmode);
+           Inc(NextNonStandardModeNumber);
+           if NextNonStandardModeNumber > NonStandardModeNumberMaxLimit then
+             break;
+
+           InitMode(graphmode);
+           with graphmode do
+           begin
+             ModeNumber := NextNonStandardModeNumber;
+             DriverNumber := VESA;
+             HardwarePages := 1;
+             WriteStr(ModeName, Width, ' x ', Height, ' VESA');
+             MaxColor := 65536;
+             DirectColor := TRUE;
+             PaletteSize := MaxColor;
+             MaxX := Width - 1;
+             MaxY := Height - 1;
+             InitMode       := @ptc_InitNonStandard64k;
+             DirectPutPixel := @ptc_DirectPixelProc_16bpp;
+             PutPixel       := @ptc_PutPixelProc_16bpp;
+             GetPixel       := @ptc_GetPixelProc_16bpp;
+             SetRGBPalette  := @ptc_SetRGBPaletteProc;
+             GetRGBPalette  := @ptc_GetRGBPaletteProc;
+             HLine          := @ptc_HLineProc_16bpp;
+             VLine          := @ptc_VLineProc_16bpp;
+             SetVisualPage  := @ptc_SetVisualPage;
+             SetActivePage  := @ptc_SetActivePage;
+
+             XAspect := 10000;
+             YAspect := 10000;
+           end;
+           AddMode(graphmode);
+           Inc(NextNonStandardModeNumber);
+           if NextNonStandardModeNumber > NonStandardModeNumberMaxLimit then
+             break;
+         end;
   end;
   end;
 
 
 initialization
 initialization
+  WindowTitle := ParamStr(0);
   PTCFormat8 := TPTCFormatFactory.CreateNew(8);
   PTCFormat8 := TPTCFormatFactory.CreateNew(8);
   PTCFormat15 := TPTCFormatFactory.CreateNew(16, $7C00, $03E0, $001F);
   PTCFormat15 := TPTCFormatFactory.CreateNew(16, $7C00, $03E0, $001F);
   PTCFormat16 := TPTCFormatFactory.CreateNew(16, $F800, $07E0, $001F);
   PTCFormat16 := TPTCFormatFactory.CreateNew(16, $F800, $07E0, $001F);

+ 2 - 2
packages/gtk2/src/glib/gparamspecs.inc

@@ -24,8 +24,8 @@ Type
 
 
    You should have received a copy of the GNU Lesser General
    You should have received a copy of the GNU Lesser General
    Public License along with this library; if not, write to the
    Public License along with this library; if not, write to the
-   Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-   Boston, MA 02111-1307, USA.
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
 
 
    gparamspecs.h: GLib default param specs
    gparamspecs.h: GLib default param specs
   }
   }

+ 2 - 2
packages/gtk2/src/gtk+/gdk/gdki18n.inc

@@ -24,8 +24,8 @@ Type
 
 
    You should have received a copy of the GNU Lesser General Public
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the
    License along with this library; if not, write to the
-   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
   }
   }
 {
 {
    Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
    Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS

+ 2 - 2
packages/gtk2/src/gtk+/gdk/gdkprivate.inc

@@ -24,8 +24,8 @@ Type
 
 
    You should have received a copy of the GNU Lesser General Public
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the
    License along with this library; if not, write to the
-   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
   }
   }
 {
 {
    Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
    Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS

+ 2 - 2
packages/gtk2/src/gtk+/gtk/gtkhsv.inc

@@ -29,8 +29,8 @@ Type
 
 
    You should have received a copy of the GNU Lesser General Public
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the
    License along with this library; if not, write to the
-   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
   }
   }
 {$ifndef __GTK_HSV_H__}
 {$ifndef __GTK_HSV_H__}
 {$define __GTK_HSV_H__}
 {$define __GTK_HSV_H__}

+ 2 - 2
packages/gtk2/src/gtk+/gtk/gtkkeyhash.inc

@@ -26,8 +26,8 @@ Type
 
 
    You should have received a copy of the GNU Lesser General Public
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the
    License along with this library; if not, write to the
-   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
   }
   }
 {$ifndef __GTK_KEY_HASH_H__}
 {$ifndef __GTK_KEY_HASH_H__}
 {$define __GTK_KEY_HASH_H__}
 {$define __GTK_KEY_HASH_H__}

+ 2 - 2
packages/gtk2/src/gtkext/gtkstatusiconh.inc

@@ -15,8 +15,8 @@
  *
  *
  * You should have received a copy of the GNU Lesser General Public
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  *
  *
  * Authors:
  * Authors:
  *      Mark McLoughlin <[email protected]>
  *      Mark McLoughlin <[email protected]>

+ 1 - 1
packages/hermes/src/d_32.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/factconv.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/headp.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { This little definition makes everything much nicer below here }
 { This little definition makes everything much nicer below here }

+ 1 - 1
packages/hermes/src/hermconf.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/hermdef.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/hermes.pp

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 unit Hermes;
 unit Hermes;

+ 1 - 1
packages/hermes/src/hermes_clearer.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 type
 type

+ 1 - 1
packages/hermes/src/hermes_converter.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function Hermes_ConverterInstance(flags: DWord): THermesConverterHandle;
 function Hermes_ConverterInstance(flags: DWord): THermesConverterHandle;

+ 1 - 1
packages/hermes/src/hermes_debug.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function C2Str(Q: Integer): string;
 function C2Str(Q: Integer): string;

+ 1 - 1
packages/hermes/src/hermes_dither.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { Everything in here (C)1998 The Rasterman }
 { Everything in here (C)1998 The Rasterman }

+ 1 - 1
packages/hermes/src/hermes_factory.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 var
 var

+ 1 - 1
packages/hermes/src/hermes_format.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {function Hermes_FormatNewEmpty: PHermesFormat;
 {function Hermes_FormatNewEmpty: PHermesFormat;

+ 1 - 1
packages/hermes/src/hermes_list.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 type
 type

+ 1 - 1
packages/hermes/src/hermes_palette.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 type
 type

+ 1 - 1
packages/hermes/src/hermes_utility.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {procedure Hermes_Calculate_Generic_Info(s_r, s_g, s_b, s_a,
 {procedure Hermes_Calculate_Generic_Info(s_r, s_g, s_b, s_a,

+ 1 - 1
packages/hermes/src/i386/headi386.inc

@@ -26,7 +26,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {$I x8616lut.inc}
 {$I x8616lut.inc}

+ 1 - 1
packages/hermes/src/i386/headmmx.inc

@@ -26,7 +26,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {$I mmx_main.inc}
 {$I mmx_main.inc}

+ 1 - 1
packages/hermes/src/i386/mmx_clr.inc

@@ -26,7 +26,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {$ASMMODE att}
 {$ASMMODE att}

+ 1 - 1
packages/hermes/src/i386/mmx_main.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 label
 label

+ 1 - 1
packages/hermes/src/i386/mmxp2_32.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
     COPYRIGHT NOTICE
     COPYRIGHT NOTICE
 
 

+ 1 - 1
packages/hermes/src/i386/mmxp_32.inc

@@ -26,7 +26,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
     COPYRIGHT NOTICE
     COPYRIGHT NOTICE
 
 

+ 1 - 1
packages/hermes/src/i386/x8616lut.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 const
 const

+ 1 - 1
packages/hermes/src/i386/x86_clr.inc

@@ -26,7 +26,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
     (04/10/99)    Modified ClearX86_8             <[email protected]>
     (04/10/99)    Modified ClearX86_8             <[email protected]>
 }
 }

+ 1 - 1
packages/hermes/src/i386/x86_main.inc

@@ -26,7 +26,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 label
 label

+ 1 - 1
packages/hermes/src/i386/x86p_16.inc

@@ -28,7 +28,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/i386/x86p_32.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/i386/x86p_cpy.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/i386/x86p_i8.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/i386/x86p_s32.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 
 

+ 1 - 1
packages/hermes/src/i386/x86pscpy.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { _Copy*
 { _Copy*

+ 1 - 1
packages/hermes/src/p_16.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_24.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_32.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_clr.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_cnv.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_cpy.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_g.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_ga.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_gac.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_gca.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_gcc.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_i8.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/p_muhmu.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {
 {

+ 1 - 1
packages/hermes/src/x86_64/x86_64_i8.inc

@@ -26,7 +26,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 {$ASMMODE intel}
 {$ASMMODE intel}

+ 1 - 1
packages/matroska/src/matroska.pas

@@ -24,7 +24,7 @@
 ** 
 ** 
 ** You should have received a copy of the GNU Lesser General Public
 ** You should have received a copy of the GNU Lesser General Public
 ** License along with this library; if not, write to the Free Software
 ** License along with this library; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 **
 **
 ** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
 ** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.**
 ** Contact [email protected] if any conditions of this licensing are
 ** Contact [email protected] if any conditions of this licensing are

+ 1 - 1
packages/mysql/src/mysql.inc

@@ -89,7 +89,7 @@ uses
   
   
      You should have received a copy of the GNU General Public License
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      along with this program; if not, write to the Free Software
-     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  }
+     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA  }
 
 
     type
     type
        my_bool = cchar;
        my_bool = cchar;

+ 1 - 1
packages/mysql/src/mysql4_com.pp

@@ -44,7 +44,7 @@ Type
 
 
      You should have received a copy of the GNU General Public License
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      along with this program; if not, write to the Free Software
-     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  }
+     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA  }
 
 
 
 
   function my_net_init(net:PNET; vio:PVio):longint;extdecl;external External_library name 'my_net_init';
   function my_net_init(net:PNET; vio:PVio):longint;extdecl;external External_library name 'my_net_init';

+ 1 - 1
packages/mysql/src/mysql4_comdyn.pp

@@ -42,7 +42,7 @@ uses ctypes,my4_sys,dynlibs, sysutils;
 
 
      You should have received a copy of the GNU General Public License
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      along with this program; if not, write to the Free Software
-     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  }
+     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA  }
 
 
 
 
 var
 var

+ 1 - 1
packages/mysql/src/mysql4dyn.pp

@@ -39,7 +39,7 @@ uses ctypes,dynlibs, classes, sysutils, my4_sys, mysql4_comdyn;
 
 
      You should have received a copy of the GNU General Public License
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      along with this program; if not, write to the Free Software
-     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  }
+     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA  }
 
 
 
 
 {$IFDEF Unix}
 {$IFDEF Unix}

+ 2 - 2
packages/os2units/src/dive.pas

@@ -25,8 +25,8 @@
 
 
  You should have received a copy of the Library GNU General Public License
  You should have received a copy of the Library GNU General Public License
  along with Free Pascal; see the file COPYING.LIB.  If not, write to
  along with Free Pascal; see the file COPYING.LIB.  If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
 
 
 ****************************************************************************}
 ****************************************************************************}
 
 

+ 104 - 0
packages/ptc/docs/CHANGES.txt

@@ -1,3 +1,107 @@
+0.99.15
+ - dead key support under Windows and X11 (via XIM)
+ - more character scripts (Latin 2, Latin 3, Latin 4, Latin 9, Katakana,
+   Arabic, Greek with diacritics, Technical, Special, Publishing, APL, Hebrew,
+   Thai, Currency signs - Korean Won sign and Euro sign) are now recognized and
+   converted to Unicode in the X11 console. Previously only Latin 1, Greek
+   without diacritics and Cyrillic were supported, but even they didn't work in
+   recent ptcpas versions, due to regressions, which are now fixed as well.
+ - use an alternative method (via GetKeyState) for obtaining the Alt, Shift and
+   Control key modifier status under Windows; This eliminates a problem, where
+   the alt key appears "stuck", after alt-tabbing away from the application,
+   then focusing back to it with a mouse click.
+ - new key modifiers added for distinguishing between left and right shift,
+   control and alt, the status of num lock, caps lock and scroll lock and for
+   distinguishing right keys (e.g. right shift, right alt, right ctrl),
+   numpad keys and dead keys. All of them are implemented as elements in the
+   ModifierKeys set, which was added to IPTCKeyEvent. They can be checked,
+   for example, with:
+     if pmkNumLockActive in key_event.ModifierKeys then
+       ...
+   The following modifiers are available:
+     pmkAlt, pmkShift, pmkControl, pmkLeftAlt, pmkRightAlt, pmkLeftShift,
+     pmkRightShift, pmkLeftControl, pmkRightControl, pmkNumLockActive,
+     pmkNumLockPressed, pmkCapsLockActive, pmkCapsLockPressed,
+     pmkScrollLockActive, pmkScrollLockPressed, pmkRightKey, pmkNumPadKey,
+     pmkDeadKey
+ - there is now a MoveMouseTo method, added to the console. It can be used to
+   warp the mouse cursor to a different location.
+ - added support for a relative mouse mode. It supports continuous mouse
+   motion, not limited within the boundaries of the current window. It is
+   usually used with an invisible cursor. It is activated with the
+   'relative mouse on' console option, and turned off with the option
+   'relative mouse off'.
+ - the number of mouse buttons supported has been increased to 31. There is now
+   support for a horizontal and a vertical mouse wheel, which are treated as
+   buttons. Overall, this is the default button arrangement:
+     PTCMouseButton1  - left mouse button
+     PTCMouseButton2  - right mouse button
+     PTCMouseButton3  - middle mouse button
+     PTCMouseButton4  - mouse wheel rotated forward (scroll up)
+     PTCMouseButton5  - mouse wheel rotated backward (scroll down)
+     PTCMouseButton6  - mouse horizontal scroll wheel rotated left
+     PTCMouseButton7  - mouse horizontal scroll wheel rotated right
+     PTCMouseButton8  - "back" button ("X button 1")
+     PTCMouseButton9  - "forward" button ("X button 2")
+   The remaining mouse buttons are hardware specific and will vary, depending
+   on the actual mouse (provided it has that many buttons at all).
+ - ptccrt now supports several keyboard input modes, which can be set by
+   changing the new global variable KeyMode. The following values are supported:
+     kmTP7      - behaves like Turbo Pascal 7's CRT unit under DOS. This is the
+                  default value. Previous versions of ptccrt always behaved this
+                  way. Since TP7's CRT unit doesn't support the Enhanced
+                  Keyboard, several keys (e.g. F11 and F12) and key combinations
+                  are intentionally not recognized for compatibility reasons.
+     kmGO32     - behaves like Free Pascal's CRT unit under DOS (GO32V2). It has
+                  Enhanced Keyboard support.
+     kmFPWINCRT - behaves like Free Pascal's CRT unit under Windows. Similar to
+                  kmGO32, but emulates several incompatibilities that the
+                  Windows CRT unit has with the GO32V2 CRT unit. Not all of them
+                  are emulated though, since some of them can be considered
+                  bugs.
+ - ptcgraph now has a global string variable WindowTitle, which allows you to
+   set the window title, before calling InitGraph
+ - ptcgraph was extended to also support resolutions, different than the ones,
+   defined by VESA. This means that you can now use ptcgraph with resolutions,
+   higher than 1280x1024 and widescreen (e.g. 16:9 or 16:10) aspect ratios, as
+   long as they are supported by the display. For this, you need to call
+   QueryAdapterInfo and walk through the linked list of modes, to choose a
+   mode, then pass its DriverNumber and ModeNumber to InitGraph. Here's an
+   example:
+
+uses
+  ptcgraph, ptccrt;
+var
+  m: PModeInfo;
+  gd, gm: Integer;
+begin
+  Writeln('List of all modes:');
+  m := QueryAdapterInfo;
+  while m <> nil do
+  begin
+    Writeln(m^.MaxX+1, ' x ', m^.MaxY+1, ' x ', m^.MaxColor);
+    m := m^.next;
+  end;
+
+  Writeln('Now let''s find 1920x1080 with 16-bit colour...');
+  m := QueryAdapterInfo;
+  while m <> nil do
+  begin
+    if (m^.MaxX = (1920-1)) and (m^.MaxY = (1080-1)) and (m^.MaxColor = 65536) then
+    begin
+      InitGraph(m^.DriverNumber, m^.ModeNumber, '');
+      SetColor($FFFF);
+      OutTextXY(0, 0, 'Hurrah! Full HD 1920x1080 mode is available!');
+      ReadKey;
+      CloseGraph;
+      Halt;
+    end;
+    m := m^.next;
+  end;
+
+  Writeln('Mode not found in list!');
+end.
+
 0.99.14.1
 0.99.14.1
  - fixed X11 middle and right mouse button mapping. Previously, the right mouse
  - fixed X11 middle and right mouse button mapping. Previously, the right mouse
    button and the middle mouse button were swapped, compared to Windows and DOS
    button and the middle mouse button were swapped, compared to Windows and DOS

+ 7 - 4
packages/ptc/docs/INSTALL.txt

@@ -1,13 +1,16 @@
-The supported platforms are Linux, FreeBSD, Windows, Windows Mobile and DOS.
+The supported platforms are Linux, FreeBSD, Windows, Windows Mobile and 32-bit
+DOS (go32v2).
 
 
 Generally you need the latest stable version of the Free Pascal Compiler, which
 Generally you need the latest stable version of the Free Pascal Compiler, which
-currently means version 2.6.2.
+currently means version 3.0.4. Note that Windows 95/98/ME and NT 4.0 are still
+supported, when this library is compiled with FPC 2.6.4. However, using
+FPC 2.6.4 isn't guaranteed to work for any other platforms, besides Windows.
 
 
  - Compiling the library:
  - Compiling the library:
 Before starting make sure the FPCDIR environment variable is set correctly.
 Before starting make sure the FPCDIR environment variable is set correctly.
-For example: (windows, fpc version 2.6.2, default install dir)
+For example: (windows, fpc version 3.0.4, default install dir)
 
 
-  set FPCDIR=c:\fpc\2.6.2
+  set FPCDIR=c:\fpc\3.0.4
 
 
 To compile the library type:
 To compile the library type:
 
 

+ 1 - 1
packages/ptc/docs/README.txt

@@ -1,4 +1,4 @@
-PTCPas 0.99.14.1
+PTCPas 0.99.15
 Nikolay Nikolov ([email protected])
 Nikolay Nikolov ([email protected])
 
 
 PTCPas is a free, portable framebuffer library, written in Free Pascal. It is
 PTCPas is a free, portable framebuffer library, written in Free Pascal. It is

+ 1 - 1
packages/ptc/docs/lgpl.txt

@@ -485,7 +485,7 @@ convey the exclusion of warranty; and each file should have at least the
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
 Also add information on how to contact you by electronic and paper mail.
 
 

+ 135 - 3
packages/ptc/examples/keyboard3.pp

@@ -10,11 +10,143 @@ program KeyboardExample3;
 uses
 uses
   ptc;
   ptc;
 
 
+function KeyCode2String(ACode: Integer): string;
+begin
+  case ACode of
+    PTCKEY_UNDEFINED    : Result := 'PTCKEY_UNDEFINED';
+    PTCKEY_CANCEL       : Result := 'PTCKEY_CANCEL';
+    PTCKEY_BACKSPACE    : Result := 'PTCKEY_BACKSPACE';
+    PTCKEY_TAB          : Result := 'PTCKEY_TAB';
+    PTCKEY_ENTER        : Result := 'PTCKEY_ENTER';
+    PTCKEY_CLEAR        : Result := 'PTCKEY_CLEAR';
+    PTCKEY_SHIFT        : Result := 'PTCKEY_SHIFT';
+    PTCKEY_CONTROL      : Result := 'PTCKEY_CONTROL';
+    PTCKEY_ALT          : Result := 'PTCKEY_ALT';
+    PTCKEY_PAUSE        : Result := 'PTCKEY_PAUSE';
+    PTCKEY_CAPSLOCK     : Result := 'PTCKEY_CAPSLOCK';
+    PTCKEY_KANA         : Result := 'PTCKEY_KANA';
+    PTCKEY_FINAL        : Result := 'PTCKEY_FINAL';
+    PTCKEY_KANJI        : Result := 'PTCKEY_KANJI';
+    PTCKEY_ESCAPE       : Result := 'PTCKEY_ESCAPE';
+    PTCKEY_CONVERT      : Result := 'PTCKEY_CONVERT';
+    PTCKEY_NONCONVERT   : Result := 'PTCKEY_NONCONVERT';
+    PTCKEY_ACCEPT       : Result := 'PTCKEY_ACCEPT';
+    PTCKEY_MODECHANGE   : Result := 'PTCKEY_MODECHANGE';
+    PTCKEY_SPACE        : Result := 'PTCKEY_SPACE';
+    PTCKEY_PAGEUP       : Result := 'PTCKEY_PAGEUP';
+    PTCKEY_PAGEDOWN     : Result := 'PTCKEY_PAGEDOWN';
+    PTCKEY_END          : Result := 'PTCKEY_END';
+    PTCKEY_HOME         : Result := 'PTCKEY_HOME';
+    PTCKEY_LEFT         : Result := 'PTCKEY_LEFT';
+    PTCKEY_UP           : Result := 'PTCKEY_UP';
+    PTCKEY_RIGHT        : Result := 'PTCKEY_RIGHT';
+    PTCKEY_DOWN         : Result := 'PTCKEY_DOWN';
+    PTCKEY_COMMA        : Result := 'PTCKEY_COMMA';
+    PTCKEY_PERIOD       : Result := 'PTCKEY_PERIOD';
+    PTCKEY_SLASH        : Result := 'PTCKEY_SLASH';
+    PTCKEY_ZERO         : Result := 'PTCKEY_ZERO';
+    PTCKEY_ONE          : Result := 'PTCKEY_ONE';
+    PTCKEY_TWO          : Result := 'PTCKEY_TWO';
+    PTCKEY_THREE        : Result := 'PTCKEY_THREE';
+    PTCKEY_FOUR         : Result := 'PTCKEY_FOUR';
+    PTCKEY_FIVE         : Result := 'PTCKEY_FIVE';
+    PTCKEY_SIX          : Result := 'PTCKEY_SIX';
+    PTCKEY_SEVEN        : Result := 'PTCKEY_SEVEN';
+    PTCKEY_EIGHT        : Result := 'PTCKEY_EIGHT';
+    PTCKEY_NINE         : Result := 'PTCKEY_NINE';
+    PTCKEY_SEMICOLON    : Result := 'PTCKEY_SEMICOLON';
+    PTCKEY_EQUALS       : Result := 'PTCKEY_EQUALS';
+    PTCKEY_A            : Result := 'PTCKEY_A';
+    PTCKEY_B            : Result := 'PTCKEY_B';
+    PTCKEY_C            : Result := 'PTCKEY_C';
+    PTCKEY_D            : Result := 'PTCKEY_D';
+    PTCKEY_E            : Result := 'PTCKEY_E';
+    PTCKEY_F            : Result := 'PTCKEY_F';
+    PTCKEY_G            : Result := 'PTCKEY_G';
+    PTCKEY_H            : Result := 'PTCKEY_H';
+    PTCKEY_I            : Result := 'PTCKEY_I';
+    PTCKEY_J            : Result := 'PTCKEY_J';
+    PTCKEY_K            : Result := 'PTCKEY_K';
+    PTCKEY_L            : Result := 'PTCKEY_L';
+    PTCKEY_M            : Result := 'PTCKEY_M';
+    PTCKEY_N            : Result := 'PTCKEY_N';
+    PTCKEY_O            : Result := 'PTCKEY_O';
+    PTCKEY_P            : Result := 'PTCKEY_P';
+    PTCKEY_Q            : Result := 'PTCKEY_Q';
+    PTCKEY_R            : Result := 'PTCKEY_R';
+    PTCKEY_S            : Result := 'PTCKEY_S';
+    PTCKEY_T            : Result := 'PTCKEY_T';
+    PTCKEY_U            : Result := 'PTCKEY_U';
+    PTCKEY_V            : Result := 'PTCKEY_V';
+    PTCKEY_W            : Result := 'PTCKEY_W';
+    PTCKEY_X            : Result := 'PTCKEY_X';
+    PTCKEY_Y            : Result := 'PTCKEY_Y';
+    PTCKEY_Z            : Result := 'PTCKEY_Z';
+    PTCKEY_OPENBRACKET  : Result := 'PTCKEY_OPENBRACKET';
+    PTCKEY_BACKSLASH    : Result := 'PTCKEY_BACKSLASH';
+    PTCKEY_CLOSEBRACKET : Result := 'PTCKEY_CLOSEBRACKET';
+    PTCKEY_NUMPAD0      : Result := 'PTCKEY_NUMPAD0';
+    PTCKEY_NUMPAD1      : Result := 'PTCKEY_NUMPAD1';
+    PTCKEY_NUMPAD2      : Result := 'PTCKEY_NUMPAD2';
+    PTCKEY_NUMPAD3      : Result := 'PTCKEY_NUMPAD3';
+    PTCKEY_NUMPAD4      : Result := 'PTCKEY_NUMPAD4';
+    PTCKEY_NUMPAD5      : Result := 'PTCKEY_NUMPAD5';
+    PTCKEY_NUMPAD6      : Result := 'PTCKEY_NUMPAD6';
+    PTCKEY_NUMPAD7      : Result := 'PTCKEY_NUMPAD7';
+    PTCKEY_NUMPAD8      : Result := 'PTCKEY_NUMPAD8';
+    PTCKEY_NUMPAD9      : Result := 'PTCKEY_NUMPAD9';
+    PTCKEY_MULTIPLY     : Result := 'PTCKEY_MULTIPLY';
+    PTCKEY_ADD          : Result := 'PTCKEY_ADD';
+    PTCKEY_SEPARATOR    : Result := 'PTCKEY_SEPARATOR';
+    PTCKEY_SUBTRACT     : Result := 'PTCKEY_SUBTRACT';
+    PTCKEY_DECIMAL      : Result := 'PTCKEY_DECIMAL';
+    PTCKEY_DIVIDE       : Result := 'PTCKEY_DIVIDE';
+    PTCKEY_F1           : Result := 'PTCKEY_F1';
+    PTCKEY_F2           : Result := 'PTCKEY_F2';
+    PTCKEY_F3           : Result := 'PTCKEY_F3';
+    PTCKEY_F4           : Result := 'PTCKEY_F4';
+    PTCKEY_F5           : Result := 'PTCKEY_F5';
+    PTCKEY_F6           : Result := 'PTCKEY_F6';
+    PTCKEY_F7           : Result := 'PTCKEY_F7';
+    PTCKEY_F8           : Result := 'PTCKEY_F8';
+    PTCKEY_F9           : Result := 'PTCKEY_F9';
+    PTCKEY_F10          : Result := 'PTCKEY_F10';
+    PTCKEY_F11          : Result := 'PTCKEY_F11';
+    PTCKEY_F12          : Result := 'PTCKEY_F12';
+    PTCKEY_DELETE       : Result := 'PTCKEY_DELETE';
+    PTCKEY_NUMLOCK      : Result := 'PTCKEY_NUMLOCK';
+    PTCKEY_SCROLLLOCK   : Result := 'PTCKEY_SCROLLLOCK';
+    PTCKEY_PRINTSCREEN  : Result := 'PTCKEY_PRINTSCREEN';
+    PTCKEY_INSERT       : Result := 'PTCKEY_INSERT';
+    PTCKEY_HELP         : Result := 'PTCKEY_HELP';
+    PTCKEY_META         : Result := 'PTCKEY_META';
+    PTCKEY_MINUS        : Result := 'PTCKEY_MINUS';
+    PTCKEY_BACKQUOTE    : Result := 'PTCKEY_BACKQUOTE';
+    PTCKEY_QUOTE        : Result := 'PTCKEY_QUOTE';
+    else
+      Result := '';
+  end;
+end;
+
 procedure DumpKey(AKey: IPTCKeyEvent);
 procedure DumpKey(AKey: IPTCKeyEvent);
+var
+  mk: TPTCModifierKey;
+  first: Boolean;
 begin
 begin
-  Writeln('Code=', AKey.Code:3, ', Unicode=$', HexStr(AKey.Unicode, 4),
-    ', Press=', AKey.Press:5, ', Shift=', AKey.Shift:5, ', Alt=', AKey.Alt:5,
-    ', Control=', AKey.Control:5);
+  Write('Code=', AKey.Code:3, ' (', KeyCode2String(AKey.Code):19,
+    '), Unicode=$', HexStr(AKey.Unicode, 4), ', Press=', AKey.Press:5,
+    ', Shift=', AKey.Shift:5, ', Alt=', AKey.Alt:5, ', Control=',
+    AKey.Control:5, ', ModifierKeys=[');
+  first := True;
+  for mk in TPTCModifierKey do
+    if mk in AKey.ModifierKeys then
+    begin
+      if not first then
+        Write(',');
+      first := False;
+      Write(mk);
+    end;
+  Writeln(']');
 end;
 end;
 
 
 var
 var

+ 0 - 2
packages/ptc/fpmake.pp

@@ -57,7 +57,6 @@ begin
 
 
   T:=P.Targets.AddUnit('p_ddraw.pp', [win32, win64]);
   T:=P.Targets.AddUnit('p_ddraw.pp', [win32, win64]);
 
 
-  T:=P.Targets.AddUnit('go32fix.pp',[go32v2]);
   T:=P.Targets.AddUnit('mouse33h.pp',[go32v2]);
   T:=P.Targets.AddUnit('mouse33h.pp',[go32v2]);
   T:=P.Targets.AddUnit('textfx2.pp',[go32v2]);
   T:=P.Targets.AddUnit('textfx2.pp',[go32v2]);
   T:=P.Targets.AddUnit('cga.pp',[go32v2]);
   T:=P.Targets.AddUnit('cga.pp',[go32v2]);
@@ -186,7 +185,6 @@ begin
       AddInclude('vgaconsoled.inc', [go32v2]);
       AddInclude('vgaconsoled.inc', [go32v2]);
       AddInclude('vgaconsolei.inc', [go32v2]);
       AddInclude('vgaconsolei.inc', [go32v2]);
       AddUnit('p_gx',[Wince]);
       AddUnit('p_gx',[Wince]);
-      AddUnit('go32fix',[go32v2]);
       AddUnit('mouse33h',[go32v2]);
       AddUnit('mouse33h',[go32v2]);
       AddUnit('textfx2',[go32v2]);
       AddUnit('textfx2',[go32v2]);
       AddUnit('cga',[go32v2]);
       AddUnit('cga',[go32v2]);

+ 1 - 1
packages/ptc/src/c_api/capi_area.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function ptc_area_create(left, top, right, bottom: Integer): TPTC_AREA;
 function ptc_area_create(left, top, right, bottom: Integer): TPTC_AREA;

+ 1 - 1
packages/ptc/src/c_api/capi_aread.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { setup }
 { setup }

+ 1 - 1
packages/ptc/src/c_api/capi_clear.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function ptc_clear_create: TPTC_CLEAR;
 function ptc_clear_create: TPTC_CLEAR;

+ 1 - 1
packages/ptc/src/c_api/capi_cleard.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { setup }
 { setup }

+ 1 - 1
packages/ptc/src/c_api/capi_clipper.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 procedure ptc_clipper_clip(area, clip, clipped: TPTC_AREA);
 procedure ptc_clipper_clip(area, clip, clipped: TPTC_AREA);

+ 1 - 1
packages/ptc/src/c_api/capi_clipperd.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { clip a single area against clip area }
 { clip a single area against clip area }

+ 1 - 1
packages/ptc/src/c_api/capi_color.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function ptc_color_create: TPTC_COLOR;
 function ptc_color_create: TPTC_COLOR;

+ 1 - 1
packages/ptc/src/c_api/capi_colord.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { setup }
 { setup }

+ 1 - 1
packages/ptc/src/c_api/capi_console.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function ptc_console_create: TPTC_CONSOLE;
 function ptc_console_create: TPTC_CONSOLE;

+ 1 - 1
packages/ptc/src/c_api/capi_consoled.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { setup }
 { setup }

+ 1 - 1
packages/ptc/src/c_api/capi_copy.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function ptc_copy_create: TPTC_COPY;
 function ptc_copy_create: TPTC_COPY;

+ 1 - 1
packages/ptc/src/c_api/capi_copyd.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { setup }
 { setup }

+ 1 - 1
packages/ptc/src/c_api/capi_error.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function ptc_error_create(message: string): TPTC_ERROR;
 function ptc_error_create(message: string): TPTC_ERROR;

+ 1 - 1
packages/ptc/src/c_api/capi_errord.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 type
 type

+ 1 - 1
packages/ptc/src/c_api/capi_except.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 var
 var

+ 1 - 1
packages/ptc/src/c_api/capi_exceptd.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 procedure ptc_exception_handler(handler: TPTC_ERROR_HANDLER);
 procedure ptc_exception_handler(handler: TPTC_ERROR_HANDLER);

+ 1 - 1
packages/ptc/src/c_api/capi_format.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 function ptc_format_create: TPTC_FORMAT;
 function ptc_format_create: TPTC_FORMAT;

+ 1 - 1
packages/ptc/src/c_api/capi_formatd.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 { setup }
 { setup }

+ 1 - 1
packages/ptc/src/c_api/capi_index.inc

@@ -27,7 +27,7 @@
 
 
     You should have received a copy of the GNU Lesser General Public
     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 }
 }
 
 
 type
 type

Some files were not shown because too many files changed in this diff