]> git.sur5r.net Git - cc65/log
cc65
9 years agoAdded special-case compiler code that handles a pointer-to-array dereference.
Greg King [Wed, 1 Jul 2015 10:55:57 +0000 (06:55 -0400)]
Added special-case compiler code that handles a pointer-to-array dereference.

The type needs to change (to array); but, the address shouldn't be changed -- it already points to the first element.
Based on a bug analysis by Daniel Serpell.

9 years agoAdded a regression test for pointer-to-array dereferences.
Greg King [Wed, 1 Jul 2015 10:54:05 +0000 (06:54 -0400)]
Added a regression test for pointer-to-array dereferences.

9 years agoMerge pull request #163 from mrdudz/testsuite2
Oliver Schmidt [Mon, 29 Jun 2015 09:32:01 +0000 (11:32 +0200)]
Merge pull request #163 from mrdudz/testsuite2

added 3 more tests

9 years agoremove comment 163/head
mrdudz [Mon, 29 Jun 2015 09:18:24 +0000 (11:18 +0200)]
remove comment

9 years agoremove workaround for optimizer bug
mrdudz [Mon, 29 Jun 2015 00:34:12 +0000 (02:34 +0200)]
remove workaround for optimizer bug

9 years agoadded 3 more test
mrdudz [Sun, 28 Jun 2015 23:57:39 +0000 (01:57 +0200)]
added 3 more test

9 years agoRevert "Equality problem (Ullrich von Bassewitz)".
Oliver Schmidt [Fri, 26 Jun 2015 23:09:20 +0000 (01:09 +0200)]
Revert "Equality problem (Ullrich von Bassewitz)".

Uz classifies his own fix as broken:

http://www.cc65.org/mailarchive/2015-01/11721.html

Although the original issue fixed seemed rather significant looking
back now the regression caused by the (broken) fix seems even more
significant :-(

(reverted from commit 55815ea10cfa3a779b44399f99dd0cf1cb4956f2)

======================================================================

Equality problem (Ullrich von Bassewitz)

Neil Stockbridge reported a problem with equality comparisons on
cc65.org's mailing list:

http://www.cc65.org/mailarchive/2014-10/11680.html

Uz provided a fix for it:

http://www.cc65.org/mailarchive/2014-10/11683.html

This pull request ask to add the fix to cc65 on github.

9 years agoRun the regression tests _before_ replacing the built binaries with Win32 cross-builds.
Oliver Schmidt [Fri, 26 Jun 2015 22:43:41 +0000 (00:43 +0200)]
Run the regression tests _before_ replacing the built binaries with Win32 cross-builds.

9 years agoAvoid "*** Recursive variable `RM' references itself (eventually)."
Oliver Schmidt [Fri, 26 Jun 2015 22:33:24 +0000 (00:33 +0200)]
Avoid  "*** Recursive variable `RM' references itself (eventually)."

9 years agoAdded regression tests to Travis.
Oliver Schmidt [Fri, 26 Jun 2015 22:04:51 +0000 (00:04 +0200)]
Added regression tests to Travis.

9 years agoMade test Makefiles work with CMD.EXE
Oliver Schmidt [Fri, 26 Jun 2015 22:03:45 +0000 (00:03 +0200)]
Made test Makefiles work with CMD.EXE

9 years agoAvoid wrong error.
Oliver Schmidt [Fri, 26 Jun 2015 21:36:14 +0000 (23:36 +0200)]
Avoid wrong error.

9 years agoMerge pull request #162 from greg-king5/fastcall
Oliver Schmidt [Thu, 25 Jun 2015 19:36:06 +0000 (21:36 +0200)]
Merge pull request #162 from greg-king5/fastcall

Test-suite work-arounds for the new compiler

9 years agoAdded some names to the list of test-suite programs that need the --all-cdecl work... 162/head
Greg King [Thu, 25 Jun 2015 17:57:17 +0000 (13:57 -0400)]
Added some names to the list of test-suite programs that need the --all-cdecl work-around.

Added a work-around for a cc65 bug that made the yacc tests fail.

9 years agoBumped version. V2.15
Oliver Schmidt [Thu, 25 Jun 2015 07:19:35 +0000 (09:19 +0200)]
Bumped version.

As suggested the incompatibility resulting form changing the default calling convention makes a new version appropriate - from user perspective.

9 years agoMerge pull request #161 from greg-king5/fastcall
Oliver Schmidt [Mon, 22 Jun 2015 08:47:51 +0000 (10:47 +0200)]
Merge pull request #161 from greg-king5/fastcall

Update some overlooked fastcall pointer-to-function system declarations

9 years agoAdded explicit settings of calling conventions in pointer-to-function declarations... 161/head
Greg King [Mon, 22 Jun 2015 04:15:48 +0000 (00:15 -0400)]
Added explicit settings of calling conventions in pointer-to-function declarations in system and library headers.

9 years agoMerge pull request #160 from Movax12/definedinstr
Oliver Schmidt [Thu, 4 Jun 2015 20:05:00 +0000 (22:05 +0200)]
Merge pull request #160 from Movax12/definedinstr

.DEFINEDINSTR

9 years agoMerge pull request #151 from greg-king5/fastcall
Oliver Schmidt [Tue, 26 May 2015 20:39:33 +0000 (22:39 +0200)]
Merge pull request #151 from greg-king5/fastcall

Make __fastcall__ be the default calling convention.

9 years agoImproved the compiler documentation, a little bit. 151/head
Greg King [Tue, 26 May 2015 15:23:54 +0000 (11:23 -0400)]
Improved the compiler documentation, a little bit.

9 years agoMade cc65 properly test calling conventions when it compares forward declarations...
Greg King [Sun, 24 May 2015 22:31:50 +0000 (18:31 -0400)]
Made cc65 properly test calling conventions when it compares forward declarations to function definitions.

9 years agoMade cc65 properly test variadic-function pointer assignments.
Greg King [Sun, 24 May 2015 12:32:15 +0000 (08:32 -0400)]
Made cc65 properly test variadic-function pointer assignments.

Improved some error messages.

9 years agoUpdate documentation to .ISMNEMONIC 160/head
JT [Sat, 23 May 2015 00:33:42 +0000 (20:33 -0400)]
Update documentation to .ISMNEMONIC

9 years agoAdded needed changes to pseudo.c
JT [Wed, 20 May 2015 00:45:49 +0000 (20:45 -0400)]
Added needed changes to pseudo.c

9 years agochanged name of function to .ISMNEMONIC, small fixes
JT [Tue, 19 May 2015 23:50:51 +0000 (19:50 -0400)]
changed name of function to .ISMNEMONIC, small fixes

9 years agoMerge pull request #159 from groessler/something_to_pull
Oliver Schmidt [Tue, 19 May 2015 13:56:16 +0000 (15:56 +0200)]
Merge pull request #159 from groessler/something_to_pull

Fix verbose symbol dumping in ca65.

9 years agoRemove .FEATURE requirement and add documentation
JT [Tue, 19 May 2015 04:06:12 +0000 (00:06 -0400)]
Remove .FEATURE requirement and add documentation

9 years agoFix verbose symbol dumping in ca65. 159/head
Christian Groessler [Sat, 16 May 2015 03:20:15 +0000 (05:20 +0200)]
Fix verbose symbol dumping in ca65.

9 years agoFixed isblank() availability atttribute.
Oliver Schmidt [Wed, 13 May 2015 12:54:12 +0000 (14:54 +0200)]
Fixed isblank() availability atttribute.

9 years agoAdded pseudo function .DEFINEDINSTR
JT [Tue, 12 May 2015 23:28:57 +0000 (19:28 -0400)]
Added pseudo function .DEFINEDINSTR

9 years agoMade cc65 catch an assignment of a function pointer to a pointer with a different...
Greg King [Tue, 12 May 2015 08:15:00 +0000 (04:15 -0400)]
Made cc65 catch an assignment of a function pointer to a pointer with a different calling convention.

9 years agoSimplified license.
Oliver Schmidt [Tue, 5 May 2015 19:56:23 +0000 (21:56 +0200)]
Simplified license.

In https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=714058#55 John Dunning writes on 4/May/2015:

"Hi all.  I gather that the preference is to license CC65 and
associated technologies under the zlib license.  I hereby give my
approval for any software written by me as part of CC65 and associated
technologies under the zlib license."

The above together with the fact that all subsequent work on cc65 was already licensed under the zlib license means that cc65 can now be licensed altogether under the zlib license.

9 years agoRemoved 'gh-pages'.
Oliver Schmidt [Tue, 5 May 2015 11:46:26 +0000 (13:46 +0200)]
Removed 'gh-pages'.

The 'gh-pages' goal has been moved to another Makefile. This reference was just a leftover.

9 years agoFixed comment.
Oliver Schmidt [Mon, 27 Apr 2015 07:39:50 +0000 (09:39 +0200)]
Fixed comment.

9 years agoUse well-known location BLTU2 for "memmove()". 156/head
Oliver Schmidt [Sun, 26 Apr 2015 12:08:46 +0000 (14:08 +0200)]
Use well-known location BLTU2 for "memmove()".

9 years agoAdded cmdline support to exec().
Oliver Schmidt [Sun, 26 Apr 2015 12:01:36 +0000 (14:01 +0200)]
Added cmdline support to exec().

The starting point is the CALL2051:REM <cmdline> approach. It uses the BASIC input buffer at $200. ProDOS stores the name of the loaded program at $280 (which we want for argv[0]) leaving us with 128 char buffer. If we run the program via exec() we don't need the CALL2051 but only the REM token (which is just one char). So have a maximum cmdline length of 126 (plus a terminating zero).

There's no specification for ProDOS BIN file cmdline parameters so exec() just supports the CALL2051:REM <cmdline> approach. In contrast ProDOS SYS files allow for a 'startup filename'. A ProDOS filename is short than 126 chars so having exec() general cut the cmdline after 126 chars seems reasonable. If the SYS file we exec() allows for less we cut the cmdline further.

Our 'loader.system' SYS file however allows for an unusually 126 char long "startup filename" as it is targeted towards cc65 BIN porgrams with their 126 cmdline length.

9 years agoChanged the compiler test-suite to work with the fastcall-default version of cc65.
Greg King [Wed, 22 Apr 2015 14:05:07 +0000 (10:05 -0400)]
Changed the compiler test-suite to work with the fastcall-default version of cc65.

9 years agoAdded a command-line option to compile a program, with __cdecl__ as the default calli...
Greg King [Wed, 22 Apr 2015 13:59:23 +0000 (09:59 -0400)]
Added a command-line option to compile a program, with __cdecl__ as the default calling convention.

9 years agoMerge pull request #155 from Movax12/exp
Oliver Schmidt [Wed, 22 Apr 2015 11:20:32 +0000 (13:20 +0200)]
Merge pull request #155 from Movax12/exp

Added function .ADDRSIZE to ca65

9 years agoMerge pull request #4 from Movax12/addrsize 155/head
Movax12 [Tue, 21 Apr 2015 20:28:18 +0000 (16:28 -0400)]
Merge pull request #4 from Movax12/addrsize

Fix typo in documentation for .ADDRSIZE

9 years agoFix typo in documentation for .ADDRSIZE
JT [Tue, 21 Apr 2015 20:21:27 +0000 (16:21 -0400)]
Fix typo in documentation for .ADDRSIZE

9 years agoMerge pull request #3 from Movax12/addrsize
Movax12 [Tue, 21 Apr 2015 20:10:42 +0000 (16:10 -0400)]
Merge pull request #3 from Movax12/addrsize

Addrsize update

9 years agoSmall changes to coding style and to ca65 documentation for .ADDRSIZE
JT [Tue, 21 Apr 2015 20:09:01 +0000 (16:09 -0400)]
Small changes to coding style and to ca65 documentation for .ADDRSIZE

9 years ago2nd Small change to .ADDRSIZE documentation
JT [Mon, 20 Apr 2015 23:40:41 +0000 (19:40 -0400)]
2nd Small change to .ADDRSIZE documentation

9 years agoMerge pull request #2 from Movax12/addrsize
Movax12 [Mon, 20 Apr 2015 23:15:35 +0000 (19:15 -0400)]
Merge pull request #2 from Movax12/addrsize

Addrsize documentation

9 years agoSmall change to .ADDRSIZE documentation
JT [Mon, 20 Apr 2015 23:09:18 +0000 (19:09 -0400)]
Small change to .ADDRSIZE documentation

9 years agoUpdated documentation for .ADDRSIZE and .FEATURE addrsize
JT [Mon, 20 Apr 2015 22:56:34 +0000 (18:56 -0400)]
Updated documentation for .ADDRSIZE and .FEATURE addrsize

9 years agoMerge pull request #1 from Movax12/addrsize
Movax12 [Mon, 20 Apr 2015 21:27:27 +0000 (17:27 -0400)]
Merge pull request #1 from Movax12/addrsize

Improved on funciton .ADDRSIZE. Conform to coding style.

9 years agoImproved on funciton .ADDRSIZE. Conform to coding style.
JT [Mon, 20 Apr 2015 21:20:54 +0000 (17:20 -0400)]
Improved on funciton .ADDRSIZE. Conform to coding style.

9 years agoAdded function .ADDRSIZE to ca65
JT [Mon, 20 Apr 2015 03:21:56 +0000 (23:21 -0400)]
Added function .ADDRSIZE to ca65

9 years agoBehave more like BASIC.SYSTEM and allow for argv[0].
Oliver Schmidt [Sun, 19 Apr 2015 19:59:05 +0000 (21:59 +0200)]
Behave more like BASIC.SYSTEM and allow for argv[0].

9 years agoAllow up 127 chars of cmdline for programs started by the loader.
Oliver Schmidt [Sun, 19 Apr 2015 19:16:43 +0000 (21:16 +0200)]
Allow up 127 chars of cmdline for programs started by the loader.

9 years agoMerge pull request #154 from smuehlst/c1p_screenlayout_macro
Oliver Schmidt [Wed, 25 Mar 2015 15:24:45 +0000 (16:24 +0100)]
Merge pull request #154 from smuehlst/c1p_screenlayout_macro

Support for different screen layouts via macro-based modules

9 years agoDocument osic1p-specific constants. 154/head
Stephan Mühlstrasser [Mon, 23 Mar 2015 18:31:46 +0000 (19:31 +0100)]
Document osic1p-specific constants.

9 years agoMacro-based implementation of screen layout configuration modules.
Stephan Mühlstrasser [Sun, 22 Mar 2015 21:45:53 +0000 (22:45 +0100)]
Macro-based implementation of screen layout configuration modules.

9 years agoMore room by default for zero-page data.
Stephan Mühlstrasser [Sun, 22 Mar 2015 11:10:58 +0000 (12:10 +0100)]
More room by default for zero-page data.

9 years agoReverted one of the changes in how function prototypes look, in cc65's assembly output.
Greg King [Thu, 19 Mar 2015 10:27:25 +0000 (06:27 -0400)]
Reverted one of the changes in how function prototypes look, in cc65's assembly output.

9 years agoMerge pull request #152 from smuehlst/c1p_bootload
Oliver Schmidt [Sun, 15 Mar 2015 10:40:33 +0000 (11:40 +0100)]
Merge pull request #152 from smuehlst/c1p_bootload

Fix for use of uninitialized memory in osic1p bootstrap.s

9 years agoImproved fix with suggestions by Greg King. 152/head
Stephan Mühlstrasser [Sat, 14 Mar 2015 23:40:42 +0000 (00:40 +0100)]
Improved fix with suggestions by Greg King.

9 years agoFixed a typo.
Greg King [Sat, 14 Mar 2015 20:50:08 +0000 (16:50 -0400)]
Fixed a typo.

9 years agoImproved vector (re)setting function docs.
Oliver Schmidt [Sat, 14 Mar 2015 17:53:56 +0000 (18:53 +0100)]
Improved vector (re)setting function docs.

9 years agoReplaced 'Limits' with 'Notes'.
Oliver Schmidt [Sat, 14 Mar 2015 17:41:57 +0000 (18:41 +0100)]
Replaced 'Limits' with 'Notes'.

Quite some items in the 'Limits' sections aren't actual limitations so it seems appropriate to just use a more neutral term.

9 years agoFix bad tabbing
Stephan Mühlstrasser [Fri, 13 Mar 2015 23:06:00 +0000 (00:06 +0100)]
Fix bad tabbing

9 years agoFixed uninitialized use of low byte of address "load".
Stephan Mühlstrasser [Fri, 13 Mar 2015 23:01:12 +0000 (00:01 +0100)]
Fixed uninitialized use of low byte of address "load".

9 years agoCatch fastcall pointers to variadic functions.
Greg King [Fri, 13 Mar 2015 16:18:43 +0000 (12:18 -0400)]
Catch fastcall pointers to variadic functions.

9 years agoMade _afailed() and uncompress() be fastcall functions.
Greg King [Fri, 13 Mar 2015 11:35:47 +0000 (07:35 -0400)]
Made _afailed() and uncompress() be fastcall functions.

9 years agoMade cbm_load() be a fastcall function.
Greg King [Fri, 13 Mar 2015 09:46:40 +0000 (05:46 -0400)]
Made cbm_load() be a fastcall function.

9 years agoChanged the documentation to reflect the new fastcall/cdecl reality.
Greg King [Fri, 13 Mar 2015 09:40:55 +0000 (05:40 -0400)]
Changed the documentation to reflect the new fastcall/cdecl reality.

9 years agoMade __fastcall__ be the default calling convention for non-variadic functions.
Greg King [Tue, 10 Mar 2015 09:53:52 +0000 (05:53 -0400)]
Made __fastcall__ be the default calling convention for non-variadic functions.

9 years agoCompleted the cc65 code that recognizes __CDECL__ as a calling convention qualifier.
Greg King [Mon, 9 Mar 2015 22:53:45 +0000 (18:53 -0400)]
Completed the cc65 code that recognizes __CDECL__ as a calling convention qualifier.

9 years agoMerge pull request #150 from greg-king5/osi-boot
Oliver Schmidt [Mon, 9 Mar 2015 14:35:26 +0000 (15:35 +0100)]
Merge pull request #150 from greg-king5/osi-boot

A second OSI C1P program file format.

9 years agoChanged a comment in the osic1p configure files. 150/head
Greg King [Mon, 9 Mar 2015 10:17:28 +0000 (06:17 -0400)]
Changed a comment in the osic1p configure files.

9 years agoMentioned in the documentation how we can make the new format be the default.
Greg King [Sun, 8 Mar 2015 14:43:03 +0000 (10:43 -0400)]
Mentioned in the documentation how we can make the new format be the default.

9 years agoDescribed how to change the boot loader's actions.
Greg King [Sun, 8 Mar 2015 14:06:00 +0000 (10:06 -0400)]
Described how to change the boot loader's actions.

9 years agoAdded a second OSI C1P program file format.
Greg King [Sat, 7 Mar 2015 21:37:58 +0000 (16:37 -0500)]
Added a second OSI C1P program file format.

Unlike the first format, the new format is already loadable; it doesn't need to be converted.

9 years agoMerge pull request #149 from greg-king5/osi-font
Oliver Schmidt [Thu, 5 Mar 2015 19:29:45 +0000 (20:29 +0100)]
Merge pull request #149 from greg-king5/osi-font

osic1p character translations

9 years agoAdded a font translation table because Ohio Scientific machines have three misplaced... 149/head
Greg King [Thu, 5 Mar 2015 17:44:08 +0000 (12:44 -0500)]
Added a font translation table because Ohio Scientific machines have three misplaced characters.

9 years agoMerge pull request #148 from smuehlst/c1p
Oliver Schmidt [Mon, 2 Mar 2015 12:02:17 +0000 (13:02 +0100)]
Merge pull request #148 from smuehlst/c1p

kbhit() implementation, fixed C data stack pointer initialization

9 years agoReplaced magic numbers with symbolic constants. 148/head
Stephan Mühlstrasser [Sun, 1 Mar 2015 19:53:57 +0000 (20:53 +0100)]
Replaced magic numbers with symbolic constants.

9 years agoOptimization by replacing absolute with relative jump.
Stephan Mühlstrasser [Sat, 28 Feb 2015 19:29:08 +0000 (20:29 +0100)]
Optimization by replacing absolute with relative jump.

9 years agoMerge pull request #147 from greg-king5/basic-stub
Oliver Schmidt [Sat, 28 Feb 2015 12:41:56 +0000 (13:41 +0100)]
Merge pull request #147 from greg-king5/basic-stub

Atmos introduction update

9 years agoUpdated the introduction to the Atmos target because I changed how its programs are... 147/head
Greg King [Sat, 28 Feb 2015 05:17:07 +0000 (00:17 -0500)]
Updated the introduction to the Atmos target because I changed how its programs are started.

9 years agoTemporarily undo the 25 line change.
Stephan Mühlstrasser [Wed, 25 Feb 2015 22:50:02 +0000 (23:50 +0100)]
Temporarily undo the 25 line change.

This is not yet consistent with the first visible character on
the screen.

9 years agoFix wrong expression for top of C stack.
Stephan Mühlstrasser [Wed, 25 Feb 2015 22:48:57 +0000 (23:48 +0100)]
Fix wrong expression for top of C stack.

Thanks to Greg King for this fix.

9 years agoMatch screen dimensions as in BASIC.
Stephan Mühlstrasser [Mon, 23 Feb 2015 22:07:00 +0000 (23:07 +0100)]
Match screen dimensions as in BASIC.

Experiments show that under BASIC by default
25 rows by 24 columns are used. 24 columns is
also the width that is fully displayed on a real
C1P on the monitor. conio now matches that now.

9 years agokbhit implemented, note about limitation removed.
Stephan Mühlstrasser [Mon, 23 Feb 2015 19:28:05 +0000 (20:28 +0100)]
kbhit implemented, note about limitation removed.

9 years agoMerge branch 'c1p_scrsize' into c1p
Stephan Mühlstrasser [Mon, 23 Feb 2015 19:13:55 +0000 (20:13 +0100)]
Merge branch 'c1p_scrsize' into c1p

9 years agoMerge branch 'c1p_kbhit' into c1p_scrsize
Stephan Mühlstrasser [Mon, 23 Feb 2015 18:17:54 +0000 (19:17 +0100)]
Merge branch 'c1p_kbhit' into c1p_scrsize

9 years agoLoading A once before the loop is sufficient.
Stephan Mühlstrasser [Mon, 23 Feb 2015 18:17:27 +0000 (19:17 +0100)]
Loading A once before the loop is sufficient.

9 years agoMerge branch 'c1p_kbhit' into c1p_scrsize
Stephan Mühlstrasser [Mon, 23 Feb 2015 18:08:33 +0000 (19:08 +0100)]
Merge branch 'c1p_kbhit' into c1p_scrsize

9 years agoClear bottom line when scrolling.
Stephan Mühlstrasser [Mon, 23 Feb 2015 18:06:22 +0000 (19:06 +0100)]
Clear bottom line when scrolling.

Fix provided by Jeff Tranter.

9 years agoMerge branch 'c1p_scrsize' into c1p
Stephan Mühlstrasser [Sun, 22 Feb 2015 18:56:01 +0000 (19:56 +0100)]
Merge branch 'c1p_scrsize' into c1p

9 years agoConsistent naming for screen dimension constants.
Stephan Mühlstrasser [Sun, 22 Feb 2015 18:55:19 +0000 (19:55 +0100)]
Consistent naming for screen dimension constants.

9 years agoDefine the screen dimension defines in a more meaningful way.
Stephan Mühlstrasser [Sun, 22 Feb 2015 15:27:13 +0000 (16:27 +0100)]
Define the screen dimension defines in a more meaningful way.

9 years agoMerge branch 'c1p_kbhit' into c1p
Stephan Mühlstrasser [Sun, 22 Feb 2015 10:45:02 +0000 (11:45 +0100)]
Merge branch 'c1p_kbhit' into c1p

9 years agoMask control keys from first keyboard scan row.
Stephan Mühlstrasser [Sat, 21 Feb 2015 21:52:01 +0000 (22:52 +0100)]
Mask control keys from first keyboard scan row.

9 years agoMerge branch 'c1p_charconsts' into c1p
Stephan Mühlstrasser [Sat, 21 Feb 2015 20:30:56 +0000 (21:30 +0100)]
Merge branch 'c1p_charconsts' into c1p

9 years agoUse character constants where appropriate.
Stephan Mühlstrasser [Sat, 21 Feb 2015 19:53:16 +0000 (20:53 +0100)]
Use character constants where appropriate.

9 years agoImplemented a one-character buffer for kbhit() and cgetc().
Stephan Mühlstrasser [Sat, 21 Feb 2015 19:24:58 +0000 (20:24 +0100)]
Implemented a one-character buffer for kbhit() and cgetc().

If kbhit() detects that a key is pressed, it fetches and
buffers the character. If cgetc() detects a buffered character,
this one is returned instead of fetching one with the PROM
routine.

9 years agokbhit() function and scrolling.
Stephan Mühlstrasser [Thu, 19 Feb 2015 21:19:21 +0000 (22:19 +0100)]
kbhit() function and scrolling.

Patch provided by Jeff Tranter.