1
0
mirror of https://github.com/cc65/cc65.git synced 2024-08-14 14:29:07 +00:00
Commit Graph

9029 Commits

Author SHA1 Message Date
Greg King
9023e975df Stopped the C128 mouse drivers from blocking certain keys such as '1', '2', and 'Q'.
This extra fix is needed because the C128 keyboard scanner works a little differently than the C64 scanner works.
Fixes #696. Fixes #853.
2020-07-14 16:06:21 -04:00
mrdudz
3558c0796d added a second test that checks all available characters (including inverse) 2020-07-14 15:00:43 +02:00
mrdudz
f99a44d8e1 added rudimentary testing for the peek functions 2020-07-14 14:24:19 +02:00
mrdudz
1f2fdbd9b1 implemented conio peek functions for PCE target 2020-07-14 14:23:58 +02:00
mrdudz
a4f1e37f0c increase the maximum amount of cycles, else the shift test will fail 2020-07-13 21:26:31 +02:00
mrdudz
5ad365c5df some tweaks to the moved tests to make them more suitable for automatic testing 2020-07-13 21:26:07 +02:00
mrdudz
882194c221 move a bunch of tests from testcode/lib to test/val (and a failing one to test/todo) 2020-07-13 21:25:13 +02:00
mrdudz
d940c9aa85 added a bit more precise description 2020-07-13 17:04:22 +02:00
mrdudz
e758110f61 added testcode to check petscii char mapping, related to issue #988 2020-07-13 17:00:17 +02:00
mrdudz
390f972014 updated Makefile with exception rules for the added tests 2020-07-13 15:16:26 +02:00
mrdudz
5597b83d04 added testcase for issue #975 2020-07-13 15:13:38 +02:00
mrdudz
36ff372149 added testcase for issue #760 2020-07-13 15:13:22 +02:00
mrdudz
bec140143b added testcase for issue #760 2020-07-13 15:13:06 +02:00
mrdudz
f8873c2508 added testcase for issue #250 2020-07-13 15:12:47 +02:00
mrdudz
f5d99106e6 added testcase for issue #1075 2020-07-13 15:12:30 +02:00
mrdudz
693e3a7109 added testcase for issue #1048 2020-07-13 15:12:04 +02:00
Olli Savia
a43cac580e Tiny optimization 2020-07-13 10:14:21 +02:00
Oliver Schmidt
bcb8b49907 Removed executable bit. 2020-07-12 23:11:43 +02:00
Oliver Schmidt
04cc463452 Implemented some CONIO peek functions.
Please refer to https://github.com/cc65/cc65/pull/532 for background info.

I wrote in https://sourceforge.net/p/cc65/mailman/message/35873183/

===
cputs() wraps to the next line if the strings is too long to fit in the current line. I don't know if it's worth the effort to allow cpeeks() to continue reading from the next line. I'd like to discuss this aspect with the actual implementers.
===

This is still as unclear today as it was when I wrote the above. Therefore this change just doesn't add cpeeks() at all.

Since f8c6c58373 the Apple II CONIO implementation doesn't "need" revers() anymore - meaning that (nearly) every possible value can be placed in VRAM with a straight cputc() (without the need for a previous revers(1)).

The implementation of cpeekc() leverages that cputc() ability by always returning the value that can be fed into cputc() without a previous revers(1). Accordingly, cpeekrevers() always returns 0.

So after the sequence revers(1); cputc(x); a cpeekc() will return a value different from x! However, I don't see this behavior braking the cpeekc() contract. I see the cpeekc() contract being defined by the sequence textcolor(cpeekcolor()); revers(cpeekrevers()); cputc(cpeekc()); placing the very same value in VRAM that there was before. And that contract is fulfilled.
2020-07-12 22:19:55 +02:00
acqn
727040d1ac Comment fix. 2020-07-12 12:35:42 +02:00
acqn
7d652d42dc Added a warning on promoting a decimal constant without a 'u'/'U' suffix to unsigned long. 2020-07-12 12:35:42 +02:00
compyx
381a32d9aa C64 soft80-conio cgetc: save 14 cycles in invertcursor
By 'inverting' the loop, we can save 16 cycles by removing the `cpy #8`,
saving 16 cycles. But we need an extra `ldy #7` at the start of the
loop, so the total cycles saved is 14. Code size doesn't increase due to
the addition of the `ldy #7` negating the removal of the `cpy #xx`.
2020-07-11 17:46:29 +02:00
compyx
2c4dd5decf Shorten comment as requested 2020-07-11 11:59:45 +02:00
compyx
e45e57d7ce C64 soft80 conio: save 4 bytes in firstinit
Also save 6 cycles as a very small bonus.
2020-07-11 11:59:45 +02:00
compyx
fb7996b0ce Revert "C64 soft80 conio: save 6 bytes in firstinit"
This reverts commit 943e68be6a.
2020-07-11 11:59:45 +02:00
compyx
695b1b01d8 C64 soft80 conio: save 6 bytes in firstinit
As a bonus, save 6 cycles.
2020-07-11 11:59:45 +02:00
Jesse Rosenstock
df97570471 Set .NOTPARALLEL in test/misc and test/val
The cl65 intermediate files stomp each other in
these directories.
2020-07-10 13:08:19 +02:00
Jesse Rosenstock
3999f2ad75 Move .NOTPARALLEL closer to rule that needs it 2020-07-10 13:08:19 +02:00
Jesse Rosenstock
878e4a57c8 Make Makefiles more -j friendly
Add .$1.$2 to outputs missing them.
2020-07-10 13:08:19 +02:00
Jesse Rosenstock
f5afc75cbd ar65/LibClose: Include filename in error messages
```
ar65: Error: Problem deleting temporary library file '../lib/apple2enh.lib.temp': No such file or directory
```
is the error I'm getting with `make -j 19` when trying
to debug #1080.
2020-07-09 21:56:02 +02:00
mrdudz
579b50f0c5 test for issue #927 2020-07-09 16:18:08 +02:00
mrdudz
2428285694 test for issue #327 2020-07-09 16:17:31 +02:00
mrdudz
ff18218b0a test for issue #170 2020-07-09 16:17:16 +02:00
mrdudz
5925a7f8ee test for issue #1077 2020-07-09 16:16:46 +02:00
mrdudz
4b8b15a07a tests for issue #169 2020-07-09 16:05:57 +02:00
mrdudz
93f0df58e5 test related to issue #1071 2020-07-09 15:57:51 +02:00
acqn
85e73e91f8 Only enable signed div replacements with shift according to the code size factor settings.
Also with better comments.
2020-07-09 10:00:50 +02:00
acqn
09bcff0862 Added support for changing divisions by negative power-of-2 denominators into bit shifts,
and fixed #169 including the case of -2147483648 which is negative but appears positive.
2020-07-09 10:00:50 +02:00
acqn
30835e3d9d More optimized codegen for the correct cases of the Issue #169 fix. 2020-07-09 10:00:50 +02:00
acqn
e98fe04cc2 Almost fixed Issue #169. The only denominator not working right now is -2147483648. 2020-07-09 10:00:50 +02:00
Jesse Rosenstock
82c8bd6e2b Replace unary negation with subtraction
Remove MSVC pragma.
2020-07-09 09:49:24 +02:00
Jesse Rosenstock
2c16453a9f Guard MSVC pragma with ifdef _MSC_VER
Fix broken travis-ci with gcc -Werror [-Werror=unknown-pragmas].
2020-07-09 09:49:24 +02:00
Jesse Rosenstock
9e5b8d99a3 Fix MSVC build broken by #1058
MSVC complains about unary negation of unsigned, but it's
intended.  Suppress the warning.

https://github.com/cc65/cc65/pull/1058#discussion_r451757967

"Tested" with godbolt.org.
2020-07-09 09:49:24 +02:00
Jesse Rosenstock
359da1ae76 Update bit-field tests after #1058 merge 2020-07-08 17:20:15 +02:00
Jesse Rosenstock
8449c9eaa0 Add zlib license text 2020-07-08 17:20:15 +02:00
Jesse Rosenstock
532e6b2554 Add copyright notice 2020-07-08 17:20:15 +02:00
Jesse Rosenstock
6f85ee9d95 Add another test for bit-field unit overlap
Test when there is another field after bit-fields with
allocation unit overlap.
2020-07-08 17:20:15 +02:00
Jesse Rosenstock
2f456ce4e2 Add comment explaining four_bits_with_int 2020-07-08 17:20:15 +02:00
Jesse Rosenstock
8a331ee7ec Print to stdout instead of stderr
Print number of failures.

This makes it consistent with the other val/ tests.
2020-07-08 17:20:15 +02:00
Jesse Rosenstock
a70ac6be30 Add test of bit-field packing for #1054 and #1055 2020-07-08 17:20:15 +02:00