mrdudz
2c4d4d3314
add -j2 to make test invocations
2024-05-16 18:57:29 +02:00
mrdudz
86e5acd679
fix race condition as proposed in #2420
2024-05-16 18:57:08 +02:00
Bob Andrews
84153e809e
Merge pull request #2438 from ops/exehdr
...
Add missing EXEHDR
2024-05-15 14:11:08 +02:00
Bob Andrews
90723d7dd1
Merge pull request #2132 from vrubleg/ulabel
...
Add support of unnamed labels with @ (.localchar) prefix
2024-05-14 20:10:06 +02:00
Bob Andrews
b1e1c13d4b
Merge pull request #2437 from bbbradsmith/sim65-examples
...
provide simple examples for using sim65 with C and assembly code
2024-04-25 23:52:08 +02:00
bbbradsmith
8804dc7a58
give cl65 alternative
2024-04-16 16:56:13 -04:00
bbbradsmith
4bc726ebe2
clarify the meaning of the exit code unsigned limitation
2024-04-16 16:41:00 -04:00
bbbradsmith
fa1a426c29
add -t sim6502 to cc65 and ca65 examples
2024-04-16 14:06:45 -04:00
Evgeny Vrublevsky
f789316f86
Add a test for the unnamed labels.
2024-04-07 13:34:49 +03:00
Evgeny Vrublevsky
270f3544b5
Document changes in unnamed labels.
2024-04-07 13:34:48 +03:00
Evgeny Vrublevsky
c500cb9086
Add support of unnamed labels with @ (.localchar) prefix.
2024-04-07 13:34:48 +03:00
Olli Savia
074ec82126
Added missing EXEHDR
2024-04-02 19:25:15 +03:00
bbbradsmith
89b709c7f8
make it clearer that explicit lib is required, note that exit is from stdlib.h, exit codes are unsigned, tweak "see below" for spacing, clarify that assembly can be used with C tests as well
2024-03-28 16:55:55 -04:00
bbbradsmith
79585194e6
provide simple examples for using sim65 with C and assembly code
2024-03-28 16:33:20 -04:00
mrdudz
b993d88339
second half of #2420 - don't use the loop macro. Fixes -j13 for me
2024-03-17 17:19:42 +01:00
Bob Andrews
25967e65b5
Merge pull request #2424 from acqn/Cleanup
...
[cc65] Cleanups in src/cc65/declare.c
2024-03-10 02:39:14 +01:00
Bob Andrews
a372ead4de
Merge pull request #2334 from carlo-bramini/fix-sim65-1
...
[SIM65] Support undocumented opcodes for 6502
2024-03-10 00:37:18 +01:00
Bob Andrews
081d18f7d7
Merge pull request #2422 from acqn/SubFix
...
[cc65] Fixed potential errors with subtraction evaluation of identifiers at different memory locations
2024-03-09 13:02:27 +01:00
Bob Andrews
a293920fb3
Merge pull request #2423 from acqn/BitfieldFix
...
[cc65] Fixed the error recovery integer type used for bit-fields
2024-03-09 12:05:20 +01:00
Bob Andrews
60c75bdb54
Merge pull request #2414 from SvenMichaelKlose/master
...
vic-asm.cfg: Fix size of MAIN to end at $1E00.
2024-03-09 12:00:42 +01:00
Sven Michael Klose
1fe12f112e
Merge branch 'cc65:master' into master
2024-03-08 17:41:06 +01:00
Sven Michael Klose
a887b29ffb
Revert "Test strtok()."
...
This reverts commit 3a7bd53956
.
2024-03-05 07:04:59 +01:00
acqn
731f349b24
Removed ParamTypeCvt().
2024-02-29 18:24:22 +08:00
acqn
98767741ce
Reorganized stuff in src/cc65/declare.c.
2024-02-29 18:24:22 +08:00
acqn
9b2d27d1e1
Fixed the error recovery integer type used for bit-fields.
2024-02-29 18:23:04 +08:00
acqn
23aa562094
Fixed potential errors with subtraction evaluation of identifiers at different memory locations.
2024-02-24 15:34:38 +08:00
Bob Andrews
5c3ff714ae
Merge pull request #2415 from polluks/patch-13
...
[grc65] Fixed segv of empty resource file
2024-02-23 16:16:46 +01:00
Colin Leroy-Mira
86317711e0
IIgs SCC: Rework branches to X-indexed variables
...
and general cleanup/commenting
2024-02-23 01:20:47 +01:00
Colin Leroy-Mira
8b71fafb84
IIgs SCC: Allow choosing 115200bps as the card allows it
...
Of course, that won't work full speed with the standard
IRQ-based RX. But that will allow users to setup the port
at this speed without duplicating the setup part of the
code. Up to them to add hooks to disable IRQs and read
directly in a tight asm loop.
2024-02-23 01:20:47 +01:00
Colin Leroy-Mira
3fd78208ba
Disable IRQ if opening at 115200 bps
2024-02-19 19:31:47 +01:00
Colin Leroy-Mira
7a12399b39
Allow choosing 115200bps as the card allows it
...
Of course, that won't work full speed with the
standard IRQ-based RX. But that will allow users
to setup the port at this speed without duplicating
the setup part of the code. Up to them to add hooks
to disable IRQs and read directly in a tight asm
loop.
2024-02-19 19:31:47 +01:00
Sven Michael Klose
294b034920
Add configuration files for expanded VICs.
2024-02-15 17:32:44 +01:00
Stefan
ab0eb4fe58
oops
2024-02-15 09:03:46 +01:00
Stefan
8d4946b3f4
Fixed segv
...
touch /tmp/xx
grc65 /tmp/xx
2024-02-15 07:52:42 +01:00
Sven Michael Klose
3a7bd53956
Test strtok().
2024-02-15 01:05:35 +01:00
Sven Michael Klose
8173c850fd
Fix size of MAIN to end at $1E00.
...
Caused negative size of MAIN in cc65-contrib/quikmans2k8.
2024-02-15 00:00:46 +01:00
Bob Andrews
4bde3afd80
Merge pull request #2410 from alexthissen/serial
...
Improvements and fixes in serial support for Atari Lynx
2024-02-12 12:50:02 +01:00
Alex Thissen
7d6f3d24d4
Changed sta (ptr1,x) to sta (ptr1)
...
Reset serial status on ser_close
Fixed error for saving serial state
2024-02-11 23:12:27 +00:00
Alex Thissen
8b172e05bc
Applied optimization as per review 42Bastian
2024-02-11 20:59:08 +00:00
Alex Thissen
1deb9e52ae
Replaced last literal value for SERCTL
2024-02-11 15:46:23 +00:00
Alex Thissen
acff429eb8
Added redeye check for SER_HS_SW handshake
2024-02-11 15:33:22 +00:00
Alex Thissen
6cf8ee8eb5
Removed baud rates from 150 and lower.
...
Fixed tab
Replaced uploader references to SERIAL_INTERRUPT
2024-02-10 23:19:05 +00:00
Alex Thissen
65bce9ecde
Implemented mark and space checks.
2024-02-10 23:19:04 +00:00
Alex Thissen
014f85f226
Fixed baud rates
2024-02-10 23:19:04 +00:00
Alex Thissen
788ae82d30
Fixes to serial driver implementation
2024-02-10 23:19:02 +00:00
Carlo Bramini
b04d79b1da
[SIM65] Support undocumented opcodes for 6502
...
This PR is mostly a complete rewrite of the emulator for 6502/65c02 opcodes.
It provides an easier to maintain implementation of the instructions, by using few macros rather than having hand-written code for each function.
All undocumented, previously missing opcodes for 6502 are also implemented.
The patch also includes a detailed documentation of those opcodes, for reference to developers.
This PR should fix one of the milestones listed here for the next version of CC65:
https://github.com/cc65/wiki/wiki/Before-the-next-release
2024-02-08 12:13:17 +01:00
mrdudz
3dfe033000
update actions/upload-artifact@v3->actions/upload-artifact@v4, actions/cache@v3->actions/cache@v4
2024-02-03 17:02:08 +01:00
mrdudz
5acfb02794
update actions/checkout@v3 -> actions/checkout@v4 and microsoft/setup-msbuild@v1.1 -> microsoft/setup-msbuild@v2. lets see what happens :)
2024-02-03 16:20:17 +01:00
mrdudz
934de685bc
this is pr #2194 - removed ramfont.o
2024-02-03 01:34:21 +01:00
Bob Andrews
ce14f0f8ad
Merge pull request #2401 from colinleroy/enabled-windows-tests-on-PR
...
Enable Windows tests on pull requests
2024-02-02 21:59:09 +01:00
Bob Andrews
a06431a8f9
Merge pull request #2402 from colinleroy/a-bit-of-65c02-optimisations
...
a BIT of 65C02 optimisations
2024-02-02 21:58:04 +01:00
Bob Andrews
eb503cc542
Merge pull request #2390 from colinleroy/implement-shifts-by-7
...
Implement aslax7/shlax7/asrax7/shrax7
2024-02-02 20:17:48 +01:00
Colin Leroy-Mira
1fab179cb4
a BIT of 65C02 optimisations
...
Use BIT immediate instead of AND when reloading A is required
afterwards.
Add an fread unit test as the optimisation touches fread.
Sprinkle a few zero page indexed while we're at it.
2024-02-02 19:45:49 +01:00
Colin Leroy-Mira
c4c6967e4a
Enable Windows tests on pull requests
2024-02-02 19:45:17 +01:00
Bob Andrews
2a03e5d8c9
Merge pull request #2392 from colinleroy/asm-fputc-fputs
...
Asm fputc fputs
2024-02-02 19:41:23 +01:00
Bob Andrews
128f261c3a
Merge pull request #2389 from colinleroy/fix-2388
...
Fix #2388
2024-02-02 18:25:39 +01:00
Bob Andrews
d5c84e7828
Merge pull request #2398 from acqn/OptFix
...
[cc65] Fixed optimization for char-size bitwise XOR/OR/AND when the rhs operand is complicated
2024-02-02 17:20:31 +01:00
Bob Andrews
54b423a99e
fix test
2024-02-02 13:13:57 +01:00
acqn
96d55e3703
Fixed optimization for char-size bitwise XOR/OR/AND when the rhs operand is complicated.
2024-02-02 19:00:33 +08:00
Bob Andrews
a7ac9b7ef2
Merge pull request #2397 from colinleroy/bug-2395-test
...
Add test case for issue #2395
2024-02-01 23:09:12 +01:00
Colin Leroy-Mira
1e300bf768
Add test case for issue #2395
2024-02-01 22:06:56 +01:00
Colin Leroy-Mira
ce606bb19e
Fix tests...
2024-01-31 08:40:36 +01:00
Colin Leroy-Mira
afd8ee627e
Remove useless branching code in fgets
2024-01-30 19:52:48 +01:00
Colin Leroy-Mira
2b97735d5d
Factorize file pointer check
2024-01-30 19:40:28 +01:00
Colin Leroy-Mira
1a5a7d67a7
Rewrite fputc in assembly
...
-36 bytes, -12% cycles
2024-01-30 17:19:13 +01:00
Colin Leroy-Mira
ba36071022
Rewrite fputs in assembly
...
-28 bytes, -1% cycles
2024-01-30 17:12:52 +01:00
Colin Leroy-Mira
7594af553a
Fix #2388
...
Reopen stdin in binary mode instead of closing/opening
2024-01-30 09:39:44 +01:00
Colin Leroy-Mira
7d7cf2d1e0
Implement aslax7/shlax7/asrax7/shrax7
2024-01-29 07:59:11 +01:00
Bob Andrews
51b946bf25
Merge pull request #2387 from colinleroy/sim65-implement-remove
...
Implement __sysremove for sim65
2024-01-28 16:53:29 +01:00
Colin Leroy-Mira
0dd7b0c3a5
Implement __sysremove for sim65
...
This will allow using unlink()/remove() in sim65 programs
Use it to unlink fgets' test output file
2024-01-28 13:58:57 +01:00
Bob Andrews
8682095f9f
Merge pull request #2384 from colinleroy/asm-realloc
...
Rewrite realloc in asm
2024-01-27 00:28:17 +01:00
Bob Andrews
782dad23da
Merge pull request #2382 from colinleroy/asm-gets
...
Rewrite gets in asm
2024-01-27 00:26:12 +01:00
Colin Leroy-Mira
aa6f850b8d
Rewrite gets in assembler
...
+19 bytes if used alone, because it pulls in fgets, but as code is
factorized, -128 bytes in programs using both fgets and gets.
2024-01-26 20:29:17 +01:00
Colin Leroy-Mira
a8b870555e
Rewrite realloc in asm
...
-80 bytes, -39% cycles
2024-01-26 20:25:59 +01:00
Bob Andrews
65937684a0
Merge pull request #2380 from colinleroy/asm-fgetc
...
Rewrite fgetc in asm
2024-01-26 20:12:41 +01:00
Bob Andrews
ba6f9f5d3f
Merge pull request #2381 from colinleroy/asm-fgets
...
Rewrite fgets in asm
2024-01-26 19:36:57 +01:00
Bob Andrews
4b9bf9bb98
Merge pull request #2386 from polluks/patch-12
...
Added link for your interest
2024-01-25 14:36:51 +01:00
Stefan
f1d95f1f07
Added link for your interest
2024-01-25 11:27:54 +01:00
Colin Leroy-Mira
476591e8b7
Rewrite fgetc in asm
...
-82 bytes, -20% cycles
2024-01-25 09:13:39 +01:00
Colin Leroy-Mira
f7388cfb79
add fgets/fgetc test
2024-01-25 09:13:35 +01:00
Bob Andrews
ee3a542539
Merge pull request #2383 from colinleroy/pmemalign-size-opt
...
Optimize -36 bytes out of posix_memalign
2024-01-24 21:26:50 +01:00
Bob Andrews
a2d722639f
Merge pull request #2385 from polluks/master
...
Fixed comment
2024-01-24 21:17:19 +01:00
Bob Andrews
9ba270d97b
Merge pull request #2378 from colinleroy/fix-overflow-in-malloc-and-realloc
...
Fix malloc and realloc overflow
2024-01-24 21:15:31 +01:00
Stefan
34f37c873e
Fixed comment
2024-01-24 16:32:45 +01:00
Bob Andrews
ebf43ddb05
Merge pull request #2379 from colinleroy/add-return-minus-1-helper
...
add a return -1 helper
2024-01-24 15:53:19 +01:00
Colin Leroy-Mira
f0b5b02966
Swap in LC before destructors, ROM after
2024-01-24 12:28:57 +01:00
Colin Leroy-Mira
b87df9e1c6
Optimize -36 bytes out of posix_memalign
...
And add a unit test
2024-01-24 10:23:53 +01:00
Colin Leroy-Mira
1f820d0ae8
Rewrite fgets in asm
...
-104 bytes, -1% cycles
2024-01-24 10:16:26 +01:00
Colin Leroy-Mira
5d49fde788
add a return -1 helper
2024-01-24 09:58:09 +01:00
Colin Leroy-Mira
3e01ac9b04
Fix malloc and realloc overflow
...
If user requests a size >= 65532, adding the heap admin size
overflows size. Fixes #2358 .
2024-01-24 09:54:54 +01:00
Bob Andrews
57e65a6bf6
Merge pull request #2348 from colinleroy/time-functions-pass-2
...
Convert more time functions to asm
2024-01-23 23:45:10 +01:00
Bob Andrews
13ddd734db
Add note about contacting the devs when starting to work on huge patches
2024-01-23 23:26:26 +01:00
Colin Leroy-Mira
2ba176372e
Add beep for apple2
2024-01-23 23:04:50 +01:00
Bob Andrews
6c7106c9d9
Merge pull request #2377 from acqn/Diagnostics
...
[cc65] Diagnosis improvements
2024-01-23 22:16:35 +01:00
Bob Andrews
ea83b9fa53
Merge pull request #2347 from acqn/SrcFile
...
[cc65] fixes and enhancements for source file info in diagnosis and debug output
2024-01-23 22:15:31 +01:00
acqn
ba75a2ac26
Added missing checks for forward declarations of the main() function.
...
More accurate diagnosis on implicit 'int' type specifiers.
2024-01-23 14:33:05 +08:00
Bob Andrews
bea2e86210
Merge pull request #2354 from acqn/Diagnostics
...
[cc65] Improved diagnosis
2024-01-22 19:09:51 +01:00
Bob Andrews
998dfd6fa7
Merge pull request #2370 from acqn/VisibilityFix
...
[cc65] Fixed visibility of undeclared functions and objects
2024-01-22 18:31:47 +01:00
Bob Andrews
deaf27d6a8
Merge pull request #2372 from acqn/C99Inline
...
[cc65] Added primitive support for the ISO C99 inline feature as well as the __inline__ extension
2024-01-22 17:30:09 +01:00
Colin Leroy-Mira
01ee903cdf
Fixup gmtime/localtime/mktime tests with all cases
2024-01-22 16:38:39 +01:00
Bob Andrews
7a7e98d799
Merge pull request #2371 from alexthissen/lynx-upload
...
Lynx upload fixes for IRQ and configuration
2024-01-22 15:50:40 +01:00
Bob Andrews
6a03fda453
Merge pull request #2374 from colinleroy/save-two-bytes
...
Save two cycles in pushax and popptr1
2024-01-22 15:48:49 +01:00
Colin Leroy-Mira
b23a7ec407
Save two bytes in pushax and popptr1
...
It's not because Y must equal zero on rts that we should'nt spare one byte
and one cycle.
2024-01-19 21:14:47 +01:00
Alex Thissen
83691f30c1
Missed a tab in config
2024-01-19 10:52:42 +00:00
Alex Thissen
6bab3f921b
Merge branch 'cc65:master' into lynx-upload
2024-01-19 09:49:20 +01:00
Alex Thissen
ad90a3a421
Replaced references to __BLOCKSIZE__ with __BANK0BLOCKSIZE__
2024-01-18 18:57:57 +00:00
Bob Andrews
a173428fab
Merge pull request #2367 from acqn/PragmaFix
...
[cc65] Fixed segname pragmas right after a function definition
2024-01-18 18:44:39 +01:00
Alex Thissen
2e56dcc521
Fix for mising import
2024-01-18 18:13:39 +01:00
Alex Thissen
acce24fedc
Switched to __BANK0BLOCKSIZE__ instead of __BLOCKSIZE__ to make current lynx config files work
2024-01-18 18:13:02 +01:00
Alex Thissen
93f9cb6e48
Adjusted uploader configuration. Split into two MEMORY areas, so it can be just below video memory.
2024-01-18 18:06:10 +01:00
Alex Thissen
d906748691
Fix uploader implementation to reset IRQ bit for timer 4 (serial) interrupt
2024-01-18 17:37:09 +01:00
Colin Leroy-Mira
166a4b25f7
Apple2: implement sleep using MONWAIT
...
Also publish detect_iigs(), set_iigs_speed() and get_iigs_speed(). Refactor to only store one ostype variable.
2024-01-18 16:17:10 +01:00
acqn
9471e128b5
Fixed segname pragmas right after a function definition.
2024-01-18 20:59:46 +08:00
Colin Leroy-Mira
10282a9b74
Rewrite asctime() in assembler (-7 bytes)
2024-01-18 09:09:38 +01:00
Colin Leroy-Mira
03d5e5fba0
Rewrite mktime in assembly
...
-415 bytes,
-39% cycles,
Unit test expanded to cover more cases (there was a bug in 2100 before!)
2024-01-18 09:09:38 +01:00
Colin Leroy-Mira
348a9048b7
Convert _time_t_to_tm to asm
...
46 bytes size gain, -8% cycles on the unit tests
2024-01-18 09:09:31 +01:00
Bob Andrews
92ee03f9e9
Merge pull request #2362 from colinleroy/fix-2357-bis
...
Add test case for bug #2357
2024-01-16 21:08:38 +01:00
Colin Leroy-Mira
0c53e7e0da
Add test case for bug #2357
2024-01-16 20:55:48 +01:00
Bob Andrews
5e267ccfca
Merge pull request #2361 from colinleroy/fix-2357-bis
...
Cleaner instruction updating for long opt
2024-01-16 20:26:05 +01:00
Colin Leroy-Mira
db8ac355cb
Cleaner updating of instructions
2024-01-16 09:33:33 +01:00
Colin Leroy-Mira
dec65176f0
Fix #2357 - Copy est.size and flags of op when moving it
2024-01-16 08:45:20 +01:00
Bob Andrews
43c2239e94
Merge pull request #2360 from cc65/revert-2359-fix-2357
...
Revert "Fix #2357 - Copy est.size and flags of op when moving it"
2024-01-15 23:04:35 +01:00
Bob Andrews
2c4ebe812c
Revert "Fix #2357 - Copy est.size and flags of op when moving it"
2024-01-15 23:03:13 +01:00
Bob Andrews
8e25a7b376
Merge pull request #2359 from colinleroy/fix-2357
...
Fix #2357 - Copy est.size and flags of op when moving it
2024-01-15 23:00:09 +01:00
Colin Leroy-Mira
b388ca0236
Fix #2357 - Copy est.size and flags of op when moving it
2024-01-15 21:51:17 +01:00
acqn
e9bd9330c0
Added warning on some code patterns of faulty attempt to declare anonymous structs/unions.
...
Removed unnecessary warning on tagless enum/struct/unions that would be invisible out of a function declaration.
2024-01-15 23:56:42 +08:00
acqn
07e349c517
Skipped anonymous tag names in diagnosis on empty structs/unions.
2024-01-15 23:56:39 +08:00
acqn
afdf398a0b
Fixed repeated diagnosis when reading EOF in certain cases.
2024-01-15 23:56:11 +08:00
acqn
de3087a7e9
Removed the extra "unused parameter" warning when the parameter had an duplicated identifier error.
2024-01-14 00:19:11 +08:00
acqn
0b06c34dfc
Added primitive support for the ISO C99 inline feature as well as the __inline__ extension.
...
No inlining is actually done but that part is not required by the standard.
2024-01-14 00:08:41 +08:00
acqn
7e80e55b6d
Added a warning on implicit int in typedefs.
2024-01-13 16:40:44 +08:00
acqn
3d0dc58153
Fixed visibility of undeclared functions and objects.
2024-01-13 00:46:14 +08:00
Bob Andrews
8c329dfd1a
Merge pull request #2344 from acqn/Cleanup
...
[cc65] Cleanup for symbol types and flags
2024-01-12 16:02:08 +01:00
Bob Andrews
0f7d2dd818
Merge pull request #2351 from groessler/something_to_pull
...
mention John Dunning as original author
2024-01-11 19:46:16 +01:00
Christian Groessler
6ab3c0c75f
elaborate more about Uz's contributions
2024-01-11 19:40:41 +01:00
Christian Groessler
44b2e48e3e
mention John Dunning as original author
2024-01-11 17:41:17 +01:00
Bob Andrews
28f892bb3c
Merge pull request #2345 from acqn/PtrFix
...
[cc65] Fixed regression on comparison to null pointer
2024-01-11 16:50:49 +01:00
Bob Andrews
17c2622382
Merge pull request #2346 from acqn/Diagnostics
...
[cc65] Diagnosis fixes
2024-01-11 16:49:36 +01:00
acqn
38dac907e8
Cleanup for symbol types and flags.
2024-01-10 04:51:59 +08:00
acqn
2682fc0b79
Fixed regression on comparison to null pointer.
2024-01-10 04:51:20 +08:00
acqn
8e43c4706f
Added hierarchy info about source file inclusion in diagnostic output.
...
Fixed presumed names of source files in disgnosis.
Fixed line number of source files in debug output.
2024-01-10 04:50:42 +08:00
acqn
94dfc08c0e
Fixed false "Non constant initializers" error messages on wrong places, which could be resulted from failed array declarations etc.
2024-01-10 04:43:50 +08:00
acqn
2564aaa12c
Refix for diagnosis on expected expressions.
2024-01-10 04:48:27 +08:00
Bob Andrews
8aa59e4af3
Merge pull request #2325 from acqn/Cleanup
...
[cc65] Cleanups
2024-01-08 23:02:40 +01:00
Bob Andrews
773ed23cea
Merge pull request #2326 from acqn/Diagnostics
...
[cc65] Diagnostics
2024-01-08 22:45:44 +01:00
Bob Andrews
2127778239
Merge pull request #2336 from colinleroy/optimize-strdup
...
Optimize strdup
2024-01-08 22:13:43 +01:00
Bob Andrews
e1065d0c89
Merge pull request #2342 from colinleroy/rework-mktime
...
Rework time functions a bit
2024-01-08 22:13:05 +01:00
Bob Andrews
1e3b063b4a
Merge pull request #2320 from pm100/cl65_type
...
bug 2319 - dont allow -t after input files given
2024-01-08 21:59:21 +01:00
Bob Andrews
a71865f6ec
Merge pull request #2331 from acqn/FuncDeclFix
...
[cc65] Fixed calling convention parsing in type names and function parameter types
2024-01-08 21:58:01 +01:00
Bob Andrews
fa7dca5fa3
Merge pull request #2338 from colinleroy/fix-2237-keep-time-h-standard
...
Remove non-standard (and useless) include
2024-01-08 21:52:40 +01:00
Colin Leroy-Mira
df193c0947
Rework time functions a bit
...
- mktime: Work unsigned as time_t's type implies (shifting Y2K38 bug to 2106)
- mktime: Add unit tests
- gmtime/localtime: factorize
- gmtime/localtime: Add unit tests
- mktime/gmtime/localtime: Size optimisation (-130 bytes wrt master)
- mktime: Speed optimisation (from 23M cycles on the unit test to 2M)
2024-01-08 18:24:13 +01:00
Colin Leroy-Mira
3a439e0e1b
Little strdup optimisation
...
-12 bytes on disk
-20 cycles per strdup
-6 cycles per strlen called from strdup
2024-01-07 14:25:06 +01:00
Colin Leroy-Mira
7ce982cc68
Remove non-standard (and useless) include
...
Fixes #2337
2024-01-07 10:21:05 +01:00
mrdudz
29801a2fde
remove extra format specifier, fixed #2330
2024-01-06 17:53:24 +01:00
Bob Andrews
82f01af6ec
Merge pull request #2333 from polluks/patch-11
...
Update README.md for new target
2024-01-06 17:41:39 +01:00
Bob Andrews
c379d03dfb
Merge pull request #2332 from polluks/patch-10
...
Clean-up
2024-01-06 17:40:58 +01:00
Colin Leroy-Mira
169c9c0da0
Add strdup tests
2024-01-05 22:26:06 +01:00
Bob Andrews
1b5371b42d
Merge pull request #2335 from jedeoric/master
...
Add routine identifier for Telestrat target
2024-01-05 11:07:16 +01:00
jedeoric
bcea5dfa8f
fix comment telestrat
2024-01-05 00:46:15 +01:00
jedeoric
726b70a534
add XMAINARGS and XGETARGV for Telestrat
2024-01-05 00:45:03 +01:00
Stefan
dc9d2f0dbd
Update README.md
2024-01-03 16:46:07 +01:00
Stefan
075ece5faf
Clean-up
...
void is always fast
2024-01-03 16:35:12 +01:00
Colin Leroy-Mira
75461e1319
Apple2: implement stat(2) and statvfs(3)
2024-01-01 19:12:51 +01:00
acqn
7aab84628d
Fixed calling convention parsing in type names and function parameter types.
2024-01-01 16:11:30 +08:00
acqn
acbd87b576
Renamed GetUnqualTypeCode() to GetUnderlyingTypeCode() for consistency with GetUnderlyingType().
2024-01-01 15:27:57 +08:00
acqn
88246f852d
Removed RefineFuncDesc() as an unnecessary wrapper.
2024-01-01 15:04:50 +08:00
acqn
4e820677ee
ED_AddrExpr() and ED_IndExpr() need no return values.
2024-01-01 15:03:45 +08:00
acqn
0b7d9d8216
Fixed missing calling convention and address size qualifiers in diagnosis on function types.
2024-01-01 14:48:05 +08:00
acqn
f734f43a35
Removed extra 'const' qualifier in array-to-pointer and function-to-pointer conversions.
2024-01-01 14:48:05 +08:00
acqn
f3199e4308
Fixed type name output with K&R-style functions.
2024-01-01 14:48:03 +08:00
Bob Andrews
4343eebe67
Merge pull request #2314 from acqn/PPFix
...
[cc65] Separated C preprocessor errors from other errors
2023-12-31 19:16:44 +01:00
Bob Andrews
9e3d1e1027
Merge pull request #2309 from acqn/Diagnostics
...
[cc65] Added warning on static functions that are used but not defined
2023-12-31 19:15:48 +01:00
paul moore
c262929a62
doc cl65 change
2023-12-31 10:14:53 -08:00
Bob Andrews
0ece9449d7
Merge pull request #2307 from acqn/FuncDeclFix
...
[cc65] Fixed function declarator parser when a parameter has a function type
2023-12-31 19:11:25 +01:00
Bob Andrews
7297d2c8b6
Merge pull request #2310 from pm100/vs64
...
second try at fixing win64 build
2023-12-31 18:54:23 +01:00
Bob Andrews
d0903ba225
Merge pull request #2311 from bbbradsmith/ca65-struct-doc-clarify
...
ca65 struct and union documentation improvement and feature testing.
2023-12-31 18:51:09 +01:00
Bob Andrews
98b9814692
Merge pull request #2318 from alexthissen/lynxincludes
...
Added SPRCTL0 and SPRCTL1 bit definitions for ca65
2023-12-31 18:46:49 +01:00
paul moore
096bd0b633
bug 2319
2023-12-29 17:02:45 -08:00
Alex Thissen
66e354961c
Missed some tabs
2023-12-29 22:48:36 +01:00
Alex Thissen
061d907a11
Fixed tabs instead of spaces
2023-12-29 22:46:15 +01:00
Alex Thissen
e5f9def572
Added SPRCTL0 and SPRCTL1 bit definitions for ca65
2023-12-29 22:37:18 +01:00
acqn
b876a6b213
Fixed cc65 exitcode when there are only preprocessor errors.
2023-12-19 19:30:50 +08:00
acqn
cd7c688dff
Separated C preprocessor errors from other errors.
2023-12-18 15:30:53 +08:00
bbbradsmith
9892c8f6c4
using less generic names for the example to avoid confusion, adding cautionary example for what I think is the most error prone case
2023-12-17 05:40:00 -05:00
bbbradsmith
302c4f7409
clarify offsets of anonymous nested scope, missing quotes for names
2023-12-17 05:01:06 -05:00
bbbradsmith
0ff1b20f2a
nested struct example needs a .tag
2023-12-16 19:52:57 -05:00
bbbradsmith
f6838be162
missing <tt>
2023-12-16 19:32:52 -05:00
bbbradsmith
6cb8717c24
fix dangling space, mention .union in test comment
2023-12-16 19:25:21 -05:00
bbbradsmith
0d74b84ce4
Test of .struct and .union features. Update documentation with more examples, better clarity, and fixes to incorrect data.
2023-12-16 19:18:25 -05:00
paul moore
103d4b82c5
more msbuild syntax fixes
2023-12-14 14:43:58 -08:00
paul moore
269786a5ae
fix msbuild syntax
2023-12-14 14:38:24 -08:00
paul moore
08341aae30
second try at fixing win64 build
2023-12-14 14:25:35 -08:00
Colin Leroy-Mira
1093d169ad
Fix BSS obliteration by mliparam during exec().
...
Using mliparam at this time could lead to corruption at the
start of the new executed program if BSS is real full and
mliparam is over $BB00.
The fix is to open the file from the loader stub instead of doing
it before the C library shutdown.
2023-12-14 16:47:33 +01:00
acqn
a5746227dc
Added warning on static functions that are used but not defined.
2023-12-14 21:27:48 +08:00
acqn
1e4d1b4311
Fixed function declarator parser when a parameter has a function type.
...
Ensured check on parameter lists without types in non-definition declarations.
2023-12-14 02:34:03 +08:00
Bob Andrews
05aae60816
Merge pull request #2305 from acqn/FuncDeclFix
...
[cc65] Fixed missing diagnosis on function parameter lists with trailing commas
2023-12-13 19:17:59 +01:00
acqn
f8fe1d1560
Fixed missing diagnosis on function parameter lists with trailing commas.
2023-12-13 22:57:32 +08:00
Bob Andrews
bc97bce8c1
Merge pull request #2297 from acqn/WrappedCall
...
[cc65] Fixed wrapped call when the function was defined before its later declaration gets wrapped with the pragma
2023-12-12 17:11:47 +01:00
Bob Andrews
e90e7f46de
Merge pull request #2298 from acqn/Diagnostics
...
[cc65] More accurate diagnostic messages on empty declarations without any type specifiers
2023-12-12 17:06:54 +01:00
mrdudz
b1c1502494
MS compiler insists on those typecasts apparently
2023-12-11 00:35:07 +01:00
mrdudz
9985ee7f61
fix %hhn and %hn in the internal xvsnprintf function
2023-12-11 00:18:40 +01:00
mrdudz
6b855d562a
use -std=gnu17 for the references, so the test bench will not break with GCC 14. see #2277
2023-12-10 23:18:55 +01:00
mrdudz
0b077f561f
exclude test directory from some style checks - it makes no sense to enforce these things in the test bench, we need to be able to test all kinds of spaces and tabs :)
2023-12-10 22:43:47 +01:00
Bob Andrews
cc5e9c38ca
Merge pull request #2296 from acqn/Diagnostics
...
[cc65] Fixed and improved diagnostics regarding type names and declarations
2023-12-10 22:32:33 +01:00
mrdudz
b31a1c7c0c
test for regression that occured after #2262
2023-12-10 22:18:59 +01:00
Bob Andrews
9634cc4d1e
Merge pull request #2295 from colinleroy/fix-2262-too-eager-opt
...
Fix #2262 : Make sure there's no branching after the sequence
2023-12-10 19:16:38 +01:00
acqn
befc9533c6
More accurate diagnostic messages on empty declarations without any type specifiers.
2023-12-10 20:21:50 +08:00
acqn
bbd542fac7
Fixed missing diagnosis on extra identifiers in type names.
2023-12-10 17:01:54 +08:00
Colin Leroy-Mira
07c71541f4
Fix #2262 : Make sure there's no branching after the sequence
...
Also better check that arguments match
2023-12-10 09:45:15 +01:00
acqn
3215d377ea
More accurate diagnostic messages on wrong missing declaration specifiers.
2023-12-10 15:46:48 +08:00
acqn
cadf8012f6
Improved error recovery with type cast and sizeof.
2023-12-10 15:43:24 +08:00
acqn
a1a060c291
Declaration specifier flags cleanup.
2023-12-10 15:43:24 +08:00
acqn
79b4690077
Fixed missing diagnostics on empty enum/struct/union declareations without tag names.
...
Improved error recovery with local declarations and _Static_assert.
2023-12-10 15:43:24 +08:00
Bob Andrews
a16a6298e2
Merge pull request #2287 from acqn/Diagnostics
...
[cc65] Minor diagnostics improvements
2023-12-09 22:16:47 +01:00
Bob Andrews
92f869cdfb
Merge pull request #2288 from acqn/TypeFix
...
[cc65] Fixed an iteration bug in type composition
2023-12-09 22:15:24 +01:00
Bob Andrews
a956f6f9ed
Merge pull request #2289 from acqn/FuncDeclFix
...
[cc65] Fixed the issue that qualifiers of pointees of function parameters were ignored for type compatibility check
2023-12-09 22:14:41 +01:00
Bob Andrews
9e19a2e6a3
Merge pull request #2290 from acqn/TestFix
...
Updated test/misc/Makefile
2023-12-09 22:12:59 +01:00
Bob Andrews
d805211002
Merge pull request #2291 from colinleroy/fix-256-minus-1
...
Fix bug introduced in #2260
2023-12-09 22:11:33 +01:00
acqn
b66682a05b
Fixed wrapped call when the function to wrap has already got defined before it is wrapped with the pragma.
2023-12-10 00:47:10 +08:00
Colin Leroy-Mira
2a2cc6cad6
Fix bug introduced in #2260
...
bne should have applied to A, not X, but adding a cmp #$00 before
makes the change less optimized than the existing.
2023-12-09 16:43:23 +01:00
acqn
d8e61552be
Removed outdated testcases no longer in the directory from test/misc/Makefile.
2023-12-09 18:04:29 +08:00
acqn
d8a722b638
Improved diagnostics on multiple definition of struct/union types.
2023-12-09 17:34:01 +08:00
acqn
87f8893886
Avoided "Variable 'XXX' is defined but never used" error message resulted from an earlier error.
2023-12-09 17:33:46 +08:00
acqn
98ffc031d1
Fixed an iteration bug in type composition.
2023-12-09 14:35:00 +08:00
acqn
b7e7bb7489
Fixed the issue that qualifiers of pointees of function parameters were ignored for type compatibility check.
2023-12-09 14:34:37 +08:00
Bob Andrews
519a52d92c
Merge pull request #2209 from vrubleg/linecont
...
ca65: `.LINECONT` as a part of `.FEATURE`
2023-12-08 02:10:45 +01:00
Bob Andrews
66bfc31988
Merge pull request #2262 from colinleroy/optimize-long-assign
...
Optimize static long assignment a bit
2023-12-08 01:58:01 +01:00
Bob Andrews
09735b26c5
Merge pull request #2274 from acqn/UnionFix
...
[cc65] Fixed initialization of union when it has an anonymous bit-field as the first member declaration
2023-12-08 01:55:06 +01:00
Bob Andrews
c4575ec2c4
Merge pull request #2275 from acqn/BitfieldFix
...
[cc65] Fixed constness of bit-fields
2023-12-08 01:54:02 +01:00
Bob Andrews
85a15007ec
Merge pull request #2276 from acqn/Diagnostics
...
[cc65] Fixed diagnostics
2023-12-08 01:53:08 +01:00
Colin Leroy-Mira
63861766e1
Fix Makefile change
2023-12-01 14:22:30 +01:00
Colin Leroy-Mira
d8a3938f2b
Optimize a bit static long assignation
2023-12-01 14:20:00 +01:00
acqn
47e7ed2f56
Fixed wrong "Mixed declarations and code are not supported in cc65" error message when it should be "Expression expected".
2023-11-30 00:36:13 +08:00
acqn
c0a2021d9a
Fixed endlessly repeated disgnostics when there are some certain patterns of syntax errors in a struct/union declaration.
2023-11-30 00:35:30 +08:00
acqn
6434176909
Fixed constness of bit-fields.
2023-11-29 12:27:01 +08:00
Bob Andrews
5537b61e6a
Merge pull request #2272 from acqn/Diagnostics
...
[cc65] Improved diagnostics
2023-11-28 15:06:39 +01:00
Bob Andrews
2af16ee82b
Merge pull request #2271 from acqn/InternalFix
...
[cc65] Fixed assertion failure when there is an undeclared symbol used in a parameter list
2023-11-28 15:03:09 +01:00
Bob Andrews
97cfb8c67a
Merge pull request #2266 from acqn/StructFix
...
[cc65] Fixes for structs/unions
2023-11-28 15:00:58 +01:00
Bob Andrews
86b09f56a6
Merge pull request #2260 from colinleroy/optimize-substraction
...
Optimize integer decrements by 1
2023-11-28 14:40:51 +01:00
Bob Andrews
acf159adbc
Merge pull request #2269 from colinleroy/optimize_gt_255
...
Optimize unsigned int and long > 255
2023-11-28 14:36:39 +01:00
Bob Andrews
ad0b778008
Merge pull request #2265 from acqn/C99Main
...
[cc65] Enabled implicit "return 0" in C99 standard main function in default cc65 mode
2023-11-28 14:27:55 +01:00
Bob Andrews
7e6399d439
Merge pull request #2268 from picocomputer/master
...
add rp6502 target
2023-11-27 17:53:43 +01:00
acqn
546be1d5dd
Fixed assertion failure when there is an undefined symbol used in a parameter list.
2023-11-27 20:42:50 +08:00
acqn
b99ebc1256
Fixed diagnostic messages about undeclared identifiers.
2023-11-27 20:39:15 +08:00
acqn
7574e36e95
Improved error recovery with function declarations.
...
Fixed some rare cases when a single file-scope error could get reapeated endlessly until the maximum total count of errors allowed is reached.
2023-11-27 20:39:15 +08:00
acqn
ac04394254
Fixed and improved diagnostics about declaration errors.
2023-11-27 20:39:15 +08:00
acqn
79214530e0
Maximum total count of errors before the compiler unconditionally bails out is now 200.
...
If more than 20 errors occur on the same source line, the compiler will immediately bail out.
2023-11-27 20:39:15 +08:00
rumbledethumps
3905e43068
style update
2023-11-26 15:12:20 -08:00
Bob Andrews
ab0ab8e36f
Merge pull request #2267 from acqn/Diagnostics
...
[cc65] Removed extra "'}' expected" error message
2023-11-26 22:14:30 +01:00
Bob Andrews
e6c8f896b0
Merge pull request #2264 from ryandesign/patch-2
...
Fix typos; other copyediting
2023-11-26 22:06:06 +01:00
Bob Andrews
f95e3a1e49
Merge pull request #2263 from ryandesign/patch-1
...
Fix typo
2023-11-26 22:05:03 +01:00
rumbledethumps
502e13173a
Merge branch 'cc65:master' into master
2023-11-25 19:55:56 -08:00
Colin Leroy-Mira
f1b0fbebd5
Remove all indexed accesses to SCC registers
...
Some IIgs models had issues sending bytes out.
Also make channel tests clearer.
2023-11-24 18:37:43 +01:00
Colin Leroy-Mira
3066b1f9b4
Optimize unsigned int and long > 255
2023-11-17 22:49:03 +01:00
rumbledethumps
564c85235f
style update and add rp6502 doc
2023-11-17 11:08:51 -08:00
rumbledethumps
b17c4d3434
add rp6502 target
2023-11-16 18:46:16 -08:00
acqn
3b7af398a9
Fixed initialization of union when it has an anonymous bit-field as the first member declaration.
2023-11-15 21:32:24 +08:00
acqn
f6c3a1b209
Removed the extra "'}' expected" error message following a "Excess elements in struct/union initializer" error message.
2023-11-15 21:17:05 +08:00
acqn
5332eeecc2
Fixed empty declarations in structs/unions.
2023-11-15 18:17:36 +08:00
Ryan Carsten Schmidt
e9e3cd969e
Fix typos; other copyediting
2023-11-14 00:57:07 -06:00
Ryan Carsten Schmidt
913ab3607f
Fix typo
2023-11-14 00:22:36 -06:00
Colin Leroy-Mira
b3eca51264
Add int decrement tests
2023-11-13 10:32:27 +01:00
Colin Leroy-Mira
076137f41b
Optimize lda/sta/lda and friends
2023-11-13 10:32:09 +01:00
Colin Leroy-Mira
9242508abf
Optimize substraction of 1
2023-11-13 10:31:48 +01:00
acqn
0eb38770bd
Fixed const qualifiers on named structs/unions members that should prevent assignments to the whole structs/unions.
...
Added warning on ignored qualifiers on anonymous structs/unions.
2023-11-13 17:17:46 +08:00
Bob Andrews
d7d1d89698
Merge pull request #2252 from colinleroy/optimize-multiply-by-zero
...
Optimize multiplication by zero
2023-11-12 18:47:34 +01:00
Bob Andrews
be49751ad2
Merge pull request #2254 from brian6932/upload-64-bit-snapshot
...
Upload 64-bit Windows snapshot to Sourceforge
2023-11-12 18:44:41 +01:00
Colin Leroy-Mira
d00a23feff
Update Apple 2 serial documentation
...
Reflect the new support of SER_HS_NONE.
2023-11-12 15:16:47 +01:00
Bob Andrews
ab2163f2c8
Merge pull request #2255 from polluks/patch-9
...
Fixed typo
2023-11-11 13:37:41 +01:00
Colin Leroy-Mira
86d498b7b3
Implement SER_HS_NONE on Apple IIgs serial driver
2023-11-10 21:56:43 +01:00
Stefan
f8d7c0cd4c
Fixed typo
2023-11-08 11:13:31 +01:00
Brian
83f51b1e3c
mention in readme
2023-11-06 21:53:14 -05:00
Brian
23f37c40aa
Upload 64-bit Windows snapshot to Sourceforge
2023-11-06 21:36:58 -05:00
Colin Leroy-Mira
cff611711b
Optimize multiplication by zero
2023-11-06 11:04:00 +01:00
Colin Leroy-Mira
fe115fb621
Revert "Apple 2 SSC: Handle SER_HS_NONE with no performance impact"
...
This reverts commit 0eafb6d1d5
.
This was buggy, as we sta Stopped when asserting flow, and this stops
SER_GET.
2023-11-05 11:34:51 +01:00
Colin Leroy-Mira
8a797095c1
Apple 2 SSC: Handle SER_HS_NONE with no performance impact
2023-11-05 11:34:51 +01:00
Colin Leroy-Mira
94239525ca
Apple2 SSC: Implement no flow control
2023-11-05 11:34:51 +01:00
Bob Andrews
5b47def166
Merge pull request #2248 from acqn/ReturnTypeCheck
...
[cc65] Improved function return type check
2023-11-01 15:08:48 +01:00
Bob Andrews
f381d23001
Merge pull request #2236 from acqn/TypeFix
...
[cc65] Fixed some type-related bugs which don't have any impact yet
2023-10-29 12:37:07 +01:00
Bob Andrews
f7cf14bf58
Merge pull request #2246 from acqn/ArrayFix
...
[cc65] Fixes for nested unspecified-length/flexible arrays
2023-10-29 12:10:30 +01:00
Bob Andrews
65aad16d83
Merge pull request #2245 from acqn/MinorFix
...
[cc65] Avoided unnecessary BSS name duplication for tentative global variables
2023-10-28 15:26:31 +02:00
acqn
d424883716
Fixed diagnostics on qualifiers of function return types.
2023-10-28 15:24:13 +08:00
acqn
8e45a4c960
Fixed the bug that a union type containing a struct with a flexible array member was accepted as a struct member or array element type.
2023-10-27 23:46:10 +08:00
acqn
85e63e99a6
Fixed regression: array element of incomplete type.
2023-10-27 21:51:45 +08:00
Bob Andrews
94ef5856d0
Merge pull request #2235 from acqn/Cleanup
...
[cc65] Cleanups
2023-10-26 20:07:39 +02:00
Bob Andrews
401bcaa5ff
Merge pull request #2237 from acqn/CGType
...
[cc65] Renamed type facility functions for deciding code generation type flags
2023-10-26 19:50:10 +02:00
Bob Andrews
16f6860f57
Merge pull request #2243 from acqn/StdFuncFix
...
[cc65] Inlined std functions fixes
2023-10-26 17:39:07 +02:00
Bob Andrews
10f709eeb7
Merge pull request #2234 from acqn/Diagnostics
...
[cc65] Minor fix for error recovery from duplicated struct members
2023-10-26 17:10:01 +02:00
Bob Andrews
316ae886d7
Merge pull request #2242 from acqn/SwitchFix
...
[cc65] Fixed type promotion of switch case values
2023-10-26 16:56:01 +02:00
Bob Andrews
a8d00bfaae
Merge pull request #2240 from acqn/BitwiseOpt
...
[cc65] New TOS optimization steps for 8-bit subtraction and bitwise operations
2023-10-26 16:53:37 +02:00
Bob Andrews
8e6c0c1466
Merge pull request #2238 from acqn/BoolOptFix
...
[cc65] Bool opt fixes
2023-10-26 13:06:33 +02:00
acqn
df392fc104
Fixed type promotion of switch case values.
2023-10-25 22:38:21 +08:00
acqn
a31b35b2a6
Fixed naming of local variables in CG_TypeOfBySize and CG_TypeOf.
2023-10-22 10:42:17 +08:00
acqn
70549e868e
New optimizer steps to restore some possibly lost optimization with boolean due to the previous fix.
2023-10-21 23:56:13 +08:00
acqn
f321bb16e5
Fixed potential bugs with boolean branch optimizers when more than one jeq/jne follows.
2023-10-21 23:56:07 +08:00
acqn
79c52e742f
Added new opts OptBoolUnary1/OptBoolUnary2 to remove unnecessary cmp + bcastax/bnegax,
...
as well as OptBoolUnary3 to "strength-reduce" certain bcastax/bnegax to boolne/booleq.
2023-10-21 23:56:04 +08:00
acqn
e5bbdfa995
Separated boolean optimizers from bitwise unary operator optimizers.
...
Renamed OptCmp6 to OptBoolCmp.
2023-10-21 23:56:01 +08:00
acqn
c52427fc65
Minor fix for error recovery from duplicated struct members.
2023-10-21 23:52:14 +08:00
Bob Andrews
bb1b5c363e
Merge pull request #2233 from acqn/ArraySubscriptFix
...
[cc65] Fixed array subscript with a bit-field with patch by kugelfuhr
2023-10-18 12:51:36 +02:00
Bob Andrews
3e60268243
add newline at the end
2023-10-17 20:39:15 +02:00
acqn
178573a128
Fixed inlined strlen when it takes a string literal with extra characters after the first '\0'.
...
Added testcases.
2023-10-17 17:57:19 +08:00
Bob Andrews
77c6a6a693
Merge pull request #2226 from acqn/PragmaFix
...
[cc65] Pragma fixes
2023-10-16 16:57:09 +02:00
Oliver Schmidt
3c864fc7d8
Minimal style adjustment
2023-10-15 17:00:15 +02:00
Colin Leroy-Mira
882f6fd103
Fix ACIA check so we don't enable RX/TX with IRQs on
2023-10-15 16:58:59 +02:00
Colin Leroy-Mira
3107f34ec9
Put back 6551 test as a last verification
2023-10-15 16:58:59 +02:00
Colin Leroy-Mira
6e035c864e
Apple2 SSC: on IIgs, verify slot mode
...
If the slot is not in "Your Card" mode, there's no way it is an SSC
2023-10-15 16:58:59 +02:00
Colin Leroy-Mira
96e893795b
Better check for 6551
2023-10-15 16:58:59 +02:00
acqn
21b6cbb66e
Updated documentation on string literal translation in asm() and _Static_assert().
2023-10-15 16:43:40 +08:00
acqn
8111946731
Fixed array subscript with a bit-field with patch by kugelfuhr.
2023-10-15 15:53:03 +08:00
mrdudz
6222cd9115
don't use a label in the bgt macro, as that may cause subtle problems. fixes #2222
2023-10-14 23:04:30 +02:00
Bob Andrews
2726192aaf
Merge pull request #2224 from acqn/DeclCleanUp
...
[cc65] Made functions in src/cc65/declare.c less confusing
2023-10-14 20:09:05 +02:00
mrdudz
bb92144717
changed "inline assembler statement" to "inline assembler expression" as suggested in #2191
2023-10-14 16:21:30 +02:00
Colin Leroy-Mira
e138403727
Move cli in common out path
2023-10-14 14:36:09 +02:00
Colin Leroy-Mira
6e0bbb00ee
Fix logic error on parameters checks
2023-10-14 14:36:09 +02:00
Colin Leroy-Mira
c7db08b4e3
Move hardware check to ser_install
2023-10-14 14:36:09 +02:00
Colin Leroy-Mira
e90a8f3123
Address code review comments
2023-10-14 14:36:09 +02:00
Colin Leroy-Mira
39d6080945
Do the IIgs check as documented
2023-10-14 14:36:09 +02:00
Colin Leroy-Mira
e3759a3ead
Spare cycles on IRQ path
2023-10-14 14:36:09 +02:00
Colin Leroy-Mira
65ce3a6792
Don't check firmware at $C200, as we don't use it
...
Just check that we're on a IIgs instead.
2023-10-14 14:36:09 +02:00
Colin Leroy-Mira
9e87e558d2
Fix register r/w timing
2023-10-14 14:36:09 +02:00
Bob Andrews
b300b7ac8b
Merge pull request #1799 from acqn/#1489
...
[cc65] Post-inc/post-dec won't affect __A__/__AX__/__EAX__ in the same statement
2023-10-14 13:25:14 +02:00
Bob Andrews
ed2f1f6b90
Merge pull request #2223 from acqn/VSLineEndingFix
...
Reverted EOL settings (LF vs CRLF) for Visual Studio
2023-10-14 13:19:57 +02:00
acqn
7b0d1d9679
Added warning on concatenated string literals in _Pragma operations.
2023-10-13 14:54:54 +08:00
acqn
25832ef5fc
Fixed timing of #pragma charmap.
...
Now it is immediately applied and affects almost all characters and string literals after it.
Exceptions:
- String literals as the message of a static assertion or inline assembler code (only the required one, not any optional formatted arguments) in an asm() expression are not translated with either #pragma charmap or target presets.
- String literals used for preprocessor directives or as the result of stringized macro arguments are never translated.
2023-10-13 16:32:06 +08:00
acqn
c6ead99b00
Fixed string literal concatenation with pragmas in between.
2023-10-13 16:32:05 +08:00
acqn
74922afa7c
Made the intension of functions in src/cc65/declare.c less confusing.
2023-10-12 17:31:49 +08:00
acqn
b14efbb578
Fixed EOL settings (LF vs CRLF) for Visual Studio.
2023-10-11 23:57:45 +08:00
acqn
7b6f8249a0
General fixes for prerequisites for optimization on certain std functions.
...
Added utility functions for extracting expression info.
2023-10-11 22:29:15 +08:00
Bob Andrews
494bf10e80
Merge pull request #2216 from acqn/FuncDefFix
...
[cc65] Type category in a function definition cannot be inherited from a typedef
2023-10-08 18:58:29 +02:00
Bob Andrews
181a8cd64c
Merge pull request #2212 from BrianPeek/removeabc
...
Remove unused abc_score_ptr zp entries for lynx lib
2023-10-08 14:51:26 +02:00
Bob Andrews
ee6118f235
Merge pull request #2215 from acqn/VariadicCallCheck
...
[cc65] Added check for total arguments size for variadic functions
2023-10-08 13:13:08 +02:00
Brian Peek
32a20cf5ca
remove abc ptrs
2023-10-06 19:53:18 -07:00
acqn
0028b14071
The type category in a function definition cannot be inherited from a typedef.
2023-10-05 17:48:16 +08:00
Evgeny Vrublevsky
850007cb44
Document line_continuations feature.
2023-10-05 08:28:37 +03:00
Evgeny Vrublevsky
c8df241337
Add line_continuations feature that works as .LINECONT but in a consistent way with other features.
2023-10-05 08:28:37 +03:00
Bob Andrews
12193790e5
Merge pull request #2199 from acqn/FAMFix
...
[cc65] Forbidden struct itself with flexible array member as struct member or array element
2023-10-05 03:21:31 +02:00
Bob Andrews
327281b869
Merge pull request #2200 from acqn/CompoundInitFix
...
[cc65] Fixed compound initialization with certain omitted enclosing curly braces
2023-10-05 03:20:33 +02:00
Bob Andrews
bdb13350e3
Merge pull request #2201 from acqn/Diagnostics
...
[cc65] Improved diagnostics
2023-10-05 03:19:31 +02:00
Bob Andrews
eb5e888499
Merge pull request #2204 from vrubleg/general_fixes
...
General project fixes and quality of life improvements
2023-10-05 03:17:51 +02:00
acqn
20c3e994c6
Fixed compiling with pragmas in the middle of declarations or statements.
2023-10-04 21:22:04 +08:00
Colin Leroy-Mira
9667a5f991
Re-introduce necessary comments, wit a clearer wording
2023-10-03 18:35:23 +02:00
Colin Leroy-Mira
3c17c13357
Address latest comments
2023-10-03 18:34:22 +02:00
Colin Leroy-Mira
996a2659d5
Address code review comments
2023-10-03 18:34:22 +02:00
Colin Leroy-Mira
e16a5e0dbe
Add Apple IIgs serial driver
2023-10-03 18:34:22 +02:00
Colin Leroy-Mira
330b1ab3f9
Remove useless comments
2023-10-03 13:55:10 +02:00
Colin Leroy-Mira
df4902157a
Cleanup coding style a bit
2023-10-03 13:55:10 +02:00
Colin Leroy-Mira
4ff917816e
Apple2: Always copy cmdline
...
Otherwise, the last exec() cmdline lingers around for the next exec("file", NULL).
2023-09-29 10:51:53 +02:00
Evgeny Vrublevsky
148942ff1d
Don't use hardcoded Visual Studio installation path in msbuild.cmd.
2023-09-23 14:26:09 +03:00
Evgeny Vrublevsky
9b9e955eb1
Add basic .editorconfig.
2023-09-23 14:26:08 +03:00
Evgeny Vrublevsky
d83354a8dd
Fix default VS project settings.
2023-09-23 14:26:08 +03:00
Bob Andrews
4944c92f9a
Merge pull request #2202 from polluks/patch-8
...
Update funcref cx16
2023-09-22 23:10:34 +02:00
Stefan
b81e5d00f2
Update funcref cx16
2023-09-22 16:43:03 +02:00
Colin Leroy-Mira
e3bc143f27
Another two bytes saved
2023-09-22 11:51:29 +02:00
acqn
13e1ed3e7b
Fixed compound initialization with omitted enclosing curly braces when an array/struct/union to initialize is nested.
2023-09-22 10:29:52 +08:00
Bob Andrews
dd833125a8
Merge pull request #2198 from acqn/DeclFix
...
[cc65] Fixed check for conflicting extern vs no-linkage/static declarations in functions
2023-09-21 00:35:35 +02:00
Bob Andrews
c82e877451
Merge pull request #2188 from colinleroy/serial-kernel-fix-driver-lifecycle
...
Serial kernel: Fix driver lifecycle
2023-09-21 00:34:09 +02:00
Bob Andrews
6bc68b9763
Merge pull request #2195 from polluks/kim
...
Added KIM-1 refs
2023-09-21 00:19:22 +02:00
Bob Andrews
40b0315be9
Merge pull request #2196 from ToboterXP/add_fx
...
Added FX registers to cx16.h
2023-09-21 00:18:00 +02:00
acqn
51e304f10f
Added check for total arguments size for variadic functions.
2023-09-18 16:44:04 +08:00
acqn
fc603129da
A structure with a flexible array member shall not be a member of a structure or an element of an array according to the ISO C Standard.
2023-09-18 15:44:58 +08:00
ToboterXP
0815c8890b
Added semicolon
2023-09-17 22:57:42 +02:00
ToboterXP
d251bd46c8
Removed dangling spaces
2023-09-17 22:54:48 +02:00
ToboterXP
3626c94c97
Added FX registers to cx16.h
2023-09-17 22:48:47 +02:00
acqn
39abd233fe
Fixed check for conflicting extern vs no-linkage/static declarations in functions.
2023-09-17 23:47:22 +08:00
Stefan
e145145fbb
Added KIM-1 refs
...
some clean-up
2023-09-16 21:01:37 +02:00
Bob Andrews
5ed3108eea
Merge pull request #2190 from polluks2/patch-12
...
optimisation scandisplay
2023-09-15 15:49:11 +02:00
polluks2
2e9843b32d
optimisation scandisplay
2023-09-15 10:35:36 +02:00
acqn
878264d948
Minor consistency improvement for AddEnumSym() usage. No impact.
2023-09-13 22:26:41 +08:00
acqn
8e62cbf092
Improved checks on function return types.
2023-09-13 22:26:41 +08:00
Colin Leroy-Mira
3fc074014e
Serial kernel: Fix driver lifecycle
...
- Make sure we don't install a driver on top of another one
- Make sure we don't uninstall a driver twice
- Make sure we uninstall a driver if needed at exit
2023-09-12 20:58:21 +02:00
Colin Leroy-Mira
aa5ee8423a
Clearer wording for the firmware check
2023-09-11 08:31:15 +02:00
Colin Leroy-Mira
38f7daf40e
Make sure not to load ACIA driver on IIgs' Z8530
...
The Pascal Firmware Protocol Bytes ID are not enough to differentiate an SSC card from a IIgs serial firmware:
http://www.1000bit.it/support/manuali/apple/technotes/misc/tn.misc.08.html
Loading a2(e).ssc.ser on a IIgs succeeds, then goes to limbo when one tries to use the serial port.
Check first byte on the slot's firmware in addition to the four existing ones, as it's supposed to be $2C (BIT instruction) on an SSC card, and $EF (65C816 SEP instruction) on the IIgs' serial firmware (ROM revisions 0, 1, 3).
2023-09-11 08:31:15 +02:00
Bob Andrews
043590c971
Merge pull request #2182 from colinleroy/add-ntohs
...
Add ntohs/htons and ntohl/htonl
2023-09-08 18:47:09 +02:00
Bob Andrews
caf8186565
Merge pull request #2166 from colinleroy/rfc-serial-optimisation
...
Possible serial driver optimisations
2023-09-08 18:42:39 +02:00
Bob Andrews
537aa665cf
Merge pull request #2006 from bbbradsmith/ca65_jmp_abs_wrap_error
...
jmp (abs) wrap warning promoted to an error, suppressed on 65C02/etc
2023-09-08 18:26:55 +02:00
Colin Leroy-Mira
9e5620f127
Fix coding-style on header
2023-09-07 23:06:51 +02:00
Colin Leroy-Mira
9669710cc3
Fix usage of __OPT_i__
2023-09-07 21:36:39 +02:00
Colin Leroy-Mira
cbc5603d63
Inline ntohs/htons as a macro if -i is passed
2023-09-07 21:00:30 +02:00
Colin Leroy-Mira
a90aa57510
Address Oliver's comments
2023-09-07 16:48:56 +02:00
Colin Leroy-Mira
734541ee05
Serial: Optimize SER_GET
...
There is no need to TryToSend before getting the character. We
send bytes during SER_PUT, and if interrupted during sending, we
still try to do it at the beginning of the next SER_PUT.
2023-09-07 07:14:01 +02:00
Colin Leroy-Mira
a89a311abf
Serial: Micro-optimisation for apple2enh
...
On 65C02 we can spare one cycle on sta (abs); we also
not have to care about the 6502 false reads
2023-09-07 07:13:59 +02:00
Colin Leroy-Mira
e8f5ad2471
Serial: Optimize SER_PUT
...
We don't need to reload SendFreeCnt if we don't jsr TryToSend.
2023-09-07 07:13:57 +02:00
Colin Leroy-Mira
89af42e5cb
Serial: Optimize SER_IRQ
...
Apple2 and Atmos have Index in X, but can still use it for the
best-case path as long as we reload it in the worst-case part
(when we assert flow control).
Also, standardize the free space to trigger flow control to 32
characters left (compare with RecvFreeCnt before decrement)
2023-09-07 07:13:54 +02:00
Colin Leroy-Mira
3f3b6123b9
Serial: Optimize TryToSend
...
We don't need to reload SendFreeCnt each time we loop to wait
for the ACIA to be ready.
2023-09-07 07:13:48 +02:00
Colin Leroy-Mira
dfe7562f76
Add ntohs, htons, ntohl, htons.
2023-09-07 07:03:34 +02:00
Bob Andrews
c674b7ced4
Merge pull request #2183 from polluks2/patch-10
...
Update README.md
2023-09-06 19:40:58 +02:00
polluks2
1a6e20ca6e
Update README.md
2023-09-06 14:47:14 +02:00
polluks2
30b80548d4
Update README.md
...
For the sake of completeness
2023-09-06 12:16:14 +02:00
Bob Andrews
e52e350498
Merge pull request #2180 from polluks2/patch-9
...
Added missing detail
2023-09-05 19:51:41 +02:00
Bob Andrews
84a01816fd
Merge pull request #2181 from bbbradsmith/init-revert
...
change INIT back to rw for configurations that needed it
2023-09-05 19:42:57 +02:00
bbbradsmith
d4c4786ff0
undo change of INIT to bss for configurations that were also using rw to reserve space, add a comment documenting the reason
2023-09-05 00:24:18 -04:00
polluks2
e28e32129a
Added missing detail
2023-09-04 20:38:05 +02:00
Bob Andrews
7eaa5c507f
Merge pull request #2177 from polluks2/patch-11
...
Don't mix apple2 with apple2enh
2023-09-04 20:36:31 +02:00
Bob Andrews
870581a4d4
Merge pull request #2174 from colinleroy/conio-65c02-optimisations
...
Conio: 65c02 optimisations
2023-09-04 18:00:23 +02:00
Bob Andrews
980727d62d
Merge pull request #2178 from polluks2/patch-9
...
Fixed typo
2023-09-04 17:58:47 +02:00
polluks2
4ebc3b8b04
Don't mix apple2 and apple2enh
2023-09-03 20:47:48 +02:00
Bob Andrews
16e90187e8
Merge pull request #2163 from bbbradsmith/init-bss
...
INIT segment definitions should be consistent, and bss is the appropriate semantic type
2023-09-03 00:30:44 +02:00
Colin Leroy-Mira
8a140e6503
Conio: 65c02 optimisations
...
cputc: -2 cycles per char, -2 cycles per carriage return
cputs: -5 cycles per char, -3 cycles on cputsxy
vcprintf: -6 cycles per char
2023-09-02 12:44:53 +02:00
Bob Andrews
d70c902a02
Merge pull request #2170 from colinleroy/build-libs-with-debug-info
...
Build libs with debug symbols
2023-09-01 17:58:17 +02:00
Colin Leroy-Mira
a2c115fc3e
Build libs with debug symbols
2023-08-26 15:35:28 +02:00
Bob Andrews
05cd805cbc
Merge pull request #2085 from bbbradsmith/numerical_constant_errors-float
...
Numerical constant errors and improvements (float)
2023-08-25 22:30:07 +02:00
bbbradsmith
97e59b0756
ref link doesn't work within the usage verb
2023-08-19 15:50:22 -04:00
bbbradsmith
28ffe2f59b
add jmp page crossing to --relax-checks, document it, fix --relax-checks documentation (segment branch error is not suppressed)
2023-08-19 15:39:51 -04:00
bbbradsmith
f31d8efc1e
tabs are forbidden
2023-08-19 15:07:32 -04:00
bbbradsmith
07f08fc547
tests verifying jmp (indirect) page crossing error on 6502, and the lack of error for other CPU types
2023-08-19 14:36:30 -04:00
bbbradsmith
d09e0a7f20
Merge branch 'master' into ca65_jmp_abs_wrap_error
2023-08-19 14:07:52 -04:00
bbbradsmith
2431fb7d85
correct INIT segment semantic is bss, make this consistent across all default cfg
2023-08-19 13:08:46 -04:00
mrdudz
39619b629d
fix docs on .version (forgot to update it when __CC65__ was fixed)
2023-08-19 15:39:16 +02:00
Colin Leroy-Mira
148be69f97
Optimize and fix comments (thanks to Oliver Schmidt)
2023-08-19 14:11:36 +02:00
Colin Leroy-Mira
1f68846116
Avoid using mli.s to initcwd
2023-08-19 14:11:36 +02:00
Bob Andrews
ce3bcadd24
Merge pull request #2146 from baktragh/master
...
Update _atari5200os.h
2023-07-02 19:10:39 +02:00
baktragh
7a85473cb0
Update _atari5200os.h
...
Remove dangling spaces
2023-07-02 15:16:33 +02:00
baktragh
6c127d6a83
Update _atari5200os.h
...
Update the page 0 symbols, synchronize the names with the _atarios.h, add locations used by Atari 5200 conio
2023-07-02 14:59:00 +02:00
Bob Andrews
3efa517d96
Merge pull request #2141 from baktragh/master
...
Update _atari5200os.h with POT shadows
2023-06-27 00:18:23 +02:00
baktragh
aaec2a6270
Update _atari5200os.h - Remove dangling spaces
2023-06-26 16:46:42 +02:00
baktragh
3e166c760d
Update _atari5200os.h with POT shadows
...
Update the OS struct with POT shadow registers, according to the https://web.archive.org/web/20120830055323/http://www.atarimuseum.com/videogames/consoles/5200/conv_to_5200.html document
2023-06-26 16:38:41 +02:00
Bob Andrews
c2e5937724
Merge pull request #2138 from mooinglemur/20230615-cx16-memsiz
...
cx16: use KERNAL memsiz for MEMSIZE in asminc/cx16.inc
2023-06-19 18:59:47 +02:00
MooingLemur
59941d9464
cx16: use KERNAL memsiz for MEMSIZE in asminc/cx16.inc
2023-06-15 21:30:26 -04:00
mrdudz
c8aa9cc703
add struct assign check related to #2079
2023-05-29 17:20:09 +02:00
Bob Andrews
31bac03d01
Merge pull request #2124 from jedeoric/telestrat_fix_compute_length_bytes_read_write
...
Fix computed length for read and write for telestrat target
2023-05-29 16:02:41 +02:00
jede
480600093c
fix pla/pha instead of tmp1
2023-05-25 18:09:03 +02:00
jede
1ca9d7e9e7
fix tab
2023-05-23 23:15:23 +02:00
jede
1377ba0d36
fix compute length for read and write for telestrat target
2023-05-23 23:08:56 +02:00
Bob Andrews
652949f183
Merge pull request #2104 from Movax12/remove-feature-requirement-addrsize
...
ca65: Remove .feature requirement for .addrsize
2023-05-22 00:39:04 +02:00
Bob Andrews
47ee29f239
Merge pull request #2120 from polluks2/patch-10
...
Fixed typo
2023-05-19 17:25:34 +02:00
polluks2
40ff9281c6
Fixed typo
2023-05-19 16:36:19 +02:00
polluks2
3831feba75
Fixed typo
2023-05-19 16:32:09 +02:00
Bob Andrews
9ff7b88192
Merge pull request #2113 from polluks2/patch-9
...
Unified NULL #2110
2023-05-19 16:06:46 +02:00
polluks2
accd57460b
Reverted gconst.h
2023-05-19 15:48:31 +02:00
polluks2
8ff008722b
Fixed test
...
Don't define NULL yourself. QED
2023-05-19 02:49:49 +02:00
polluks2
767875b5a7
Added guard
2023-05-18 00:08:26 +02:00
polluks2
19436f5159
Update gconst.h
2023-05-17 20:24:36 +02:00
Bob Andrews
70bf4d492b
Merge pull request #2105 from bbbradsmith/sim65-64bit-cycle-count
...
Sim65 64bit cycle count
2023-05-16 15:53:23 +02:00
Bob Andrews
d41f53e252
Merge pull request #2108 from bbbradsmith/windows-workflow-scheduled-cmd
...
Scheduled windows build/test and cmd.exe subshell
2023-05-16 15:37:18 +02:00
polluks2
dd58c7ff50
Update stddef.h
2023-05-14 17:32:30 +02:00
polluks2
ba6747f5da
Update time.h
2023-05-14 17:29:42 +02:00
polluks2
c55459b287
Update string.h
2023-05-14 17:28:48 +02:00
polluks2
fd74e6b005
Update stdio.h
2023-05-14 17:28:09 +02:00
polluks2
680ddaf37d
Update locale.h
2023-05-14 17:27:04 +02:00
polluks2
6579df4e91
Update stdlib.h
2023-05-14 02:43:35 +02:00
Bob Andrews
55723f4977
Merge pull request #2112 from bbbradsmith/extern-static-conflict-error
...
Error/warning for extern/static linkage declaration conflict
2023-05-12 11:22:59 +02:00
polluks2
5d9306fed3
Fixed header #2110
2023-05-12 02:32:14 +02:00
bbbradsmith
5a30d746b4
extern/static conflict test: remove warning as errors to match the new expected cases
2023-05-11 20:15:27 -04:00
bbbradsmith
3b7be09a7f
extern redeclared as static = error (C spec: undefined)
...
static redeclared as extern = warning (C spec: ignore extern)
See: #2111
2023-05-11 19:50:58 -04:00
bbbradsmith
eb2b013d62
remove workflow comments this obsoletes
2023-05-08 21:22:18 -04:00
bbbradsmith
76328da682
librsc/Makefile: ../lib directory must be created globally before make lib targets in parallel
...
prevents conflict of individual targets each trying to create ../lib
enable -j2 in make lib windows action
2023-05-08 20:57:50 -04:00
bbbradsmith
07963abd52
replace manual-only tests with scheduled test and manual dispatch
...
cache is used to prevent unnecessary rebuild if the previous build was successful
make steps now use SHELL=cmd to provide cmd.exe subshell
2023-05-08 18:21:21 -04:00
bbbradsmith
ce6097ea7e
rename windows-test-manual to windows-test-scheduled
2023-05-08 18:12:57 -04:00
Movax12
a058d4a2f3
Fix warning message, remove comment
2023-05-08 16:55:54 -04:00
Bob Andrews
79018fd424
Merge pull request #2107 from IrgendwerA8/patch-2
...
Fixed comments for Atari OS memory location
2023-05-08 18:34:30 +02:00
Irgendwer
02d38ae17e
Fixed comments for Atari OS memory location
2023-05-08 15:28:22 +02:00
bbbradsmith
f15e9c4159
Linux build rejects %llu in ErrorCode
2023-05-07 17:41:54 -04:00
bbbradsmith
2cb457b85f
sim65 use error codes outside the simulated program's range for non-sim errors
2023-05-07 16:51:12 -04:00
bbbradsmith
7f0baff792
document how to return from assembly sim65 test
2023-05-07 16:35:05 -04:00
bbbradsmith
3419cbd348
sim65 64-bit cycle count tests
...
These take ~10 seconds to run locally
2023-05-07 16:33:47 -04:00
bbbradsmith
aad64063c9
makefiles no longer need comment about sim65 64-bit support
2023-05-07 16:33:07 -04:00
bbbradsmith
0081fe548c
sim64 universal 64-bit cycle count support:
...
MaxCycleCount is accounted by countdown, eliminating the 1-instruction-overhead issue, and removing the need to compare against a growing TotalCycles.
Makes main.c responsible for counting total cycles, instead of 6502.c, so the size of MaxCycleCount etc. is fully determined in one location.
Makes error.c responsible for PrintCycles instead of paravirt.c, so that it can be treated globally instead of
Return value of main() should be SIM65_ERROR because it is unreachable by design.
2023-05-07 16:26:42 -04:00
mvax
56df849101
add warning for .feature addrsize, clean up switch in SetFeature
2023-05-07 14:53:44 -04:00
Bob Andrews
6de85b2e2a
Merge pull request #2093 from bbbradsmith/split2089-workflow-docs-artifact
...
Workflow docs artifact and snapshot
2023-05-07 19:44:41 +02:00
Brad Smith
8b682b3c5a
Merge branch 'master' into split2089-workflow-docs-artifact
2023-05-07 13:34:37 -04:00
Bob Andrews
c9857d9962
Merge pull request #2069 from jefftranter/bootstrap-fix
...
Source listing in bootstrap.s is incorrect.
2023-05-07 13:49:12 +02:00
mvax
bee29dedd1
fix feature.s test
2023-05-06 17:11:57 -04:00
mvax
560085cb17
modify and add tests
2023-05-06 16:22:04 -04:00
Bob Andrews
9c70235173
Merge pull request #2096 from Movax12/BugFix-for-ismnemonic-function
...
Bugfix for the .ISMNEMONIC, .ISMNEM builtin function
2023-05-06 21:42:59 +02:00
Bob Andrews
9c27084fa5
Merge pull request #2084 from bbbradsmith/numerical_constant_errors-int
...
Numerical constant errors and improvements (integer)
2023-05-06 21:36:59 +02:00
Bob Andrews
066953c435
Merge pull request #2101 from bbbradsmith/split2092-windows-test-manual
...
workflow for manually dispatched Windows build and test
2023-05-06 21:23:50 +02:00
Bob Andrews
7b40515506
Merge pull request #2099 from bbbradsmith/split2092-sim65-fix
...
sim65 fix platform-dependent issues
2023-05-06 20:36:59 +02:00
mvax
11cc5b6f06
remove .feature requirment for addrsize function, silently ignore '.feature addrsize'
2023-05-06 14:24:53 -04:00
Bob Andrews
f87c7f3f14
Merge pull request #2098 from bbbradsmith/split2092-grc65-fix
...
grc65 fix flawed text parsing
2023-05-06 20:07:20 +02:00
bbbradsmith
84f0ab322d
sim65: cycles does not increment 1 at a time, so some small overhead is needed in range check
2023-05-06 13:54:28 -04:00
mvax
fe35386b79
add test - add overloading instruction test
2023-05-06 12:56:34 -04:00
bbbradsmith
532681c961
braces were requested
...
combining the two a = ' ' cases was requested
2023-05-06 12:06:06 -04:00
bbbradsmith
1df7ab0352
opening brace on same line as while
...
other AbEnd messages don't end in .
2023-05-06 11:55:21 -04:00
Bob Andrews
027ec91944
Merge pull request #2094 from bbbradsmith/workflow-docs-tweak
...
More specific git commit error suppression in doc upload
2023-05-06 12:04:57 +02:00
Bob Andrews
0d0369983a
Merge pull request #2100 from bbbradsmith/split2092-libtest
...
libtest target alternative to lib
2023-05-06 11:30:05 +02:00
Bob Andrews
9014165612
Merge pull request #2097 from jefftranter/c1p-video-mode
...
Add support for 48x12 video mode on Challenger 1P
2023-05-06 11:17:45 +02:00
bbbradsmith
a022f7203d
workflow for manually dispatched Windows build and test
2023-05-05 22:05:10 -04:00
bbbradsmith
df749abbfb
libtest target alternative to libs
...
saves me about 20 minutes if I only want to run tests
2023-05-05 21:56:52 -04:00
bbbradsmith
c03d00bc80
sim65 suppress uninitialized variable warning
...
the EOF check was protecting uninitialized Val2 but the compiler can't figure that out
2023-05-05 21:46:42 -04:00
bbbradsmith
773716c32a
sim65 close(-1) crash fix
...
test/val/constexpr.c relies on close(-1) to return -1 for some reason (comment says "abuse"), but on MSVC close(-1) is treated as a security issue and terminates the program instead of returning -1
simulating this desire for sim65, though constexpr.c may also warrant a review
2023-05-05 21:46:11 -04:00
bbbradsmith
f2e7609046
sim65 cycles 32-bit range fix
...
long is 64-bit on some platforms, making this inconsistent, added range check to catch overflow.
reduced tests requesting 5 billion cycles to 2^32-1 so they can fun on 32-bit long sim65.
2023-05-05 21:45:57 -04:00
bbbradsmith
8d048699ee
grc65 fix flawed text parsing
...
Was using fseek(F,-1,SEEK_CUR) which is invalid for text files, behaviour unreliable across platforms.
Added check for internal buffer overflow.
2023-05-05 21:32:34 -04:00
mvax
dd0a2bf1bc
add test - fix stlye
2023-05-05 19:10:16 -04:00
mvax
7994889213
add test - fix again
2023-05-05 19:07:14 -04:00
mvax
c5cf32ac47
add test - fix
2023-05-05 18:50:44 -04:00
mvax
18570d18b8
add test
2023-05-05 18:43:10 -04:00
Jeff Tranter
17706208e8
Add support for 48x12 video mode on Challenger 1P.
...
Tested on real C1P hardware.
2023-05-05 18:02:42 -04:00
Bob Andrews
a325c95652
Merge pull request #2090 from bbbradsmith/split2089-make-test-standard
...
add test/standard to test makefile
2023-05-05 20:42:57 +02:00
Bob Andrews
7a040978d7
Merge pull request #2088 from bbbradsmith/struct-3byte-misc-todo
...
guard test to ensure 3-byte struct isn't re-enabled without evaluation by accident
2023-05-05 20:39:37 +02:00
Bob Andrews
34d9d55b95
Merge pull request #2091 from bbbradsmith/split2089-test-todo-testwrk
...
test/todo makefile uses testwrk/val by mistake
2023-05-05 20:36:10 +02:00
mvax
1c58b302d8
Bugfix for the .ISMNEMONIC, .ISMNEM builtin function
2023-05-05 12:31:19 -04:00
bbbradsmith
c662c7a36f
use diff-index to prevent commit instead of bash if
...
preferred because the if suppresses all git commit errors, instead of the one error we need to suppress (commit with no changes)
2023-05-05 12:02:50 -04:00
bbbradsmith
5c20fb2812
test/todo makefile uses testwrk/val by mistake
2023-05-05 11:28:42 -04:00
bbbradsmith
9f3e47e9c9
test/standard was never added to test makefile
2023-05-05 11:04:31 -04:00
bbbradsmith
8f356f5093
artifact upload should not end with .zip as it is appended automatically
...
fixes ".zip.zip" artifact filenames
2023-05-05 11:00:06 -04:00
bbbradsmith
0cad5bef81
include docs snapshot with pull request build so that PRs can preview it easily
2023-05-05 10:58:18 -04:00
bbbradsmith
e57c991de7
master push workflow can include a docs snapshot
2023-05-05 10:56:43 -04:00
bbbradsmith
cfc8a41a03
guard test to ensure 3-byte struct isn't re-enabled without evaluation by accident
2023-05-04 17:07:34 -04:00
Bob Andrews
a7676bdff5
Merge pull request #2075 from bbbradsmith/struct-duplicate-member-error
...
Error for struct/union with a duplicate member
2023-05-04 22:43:17 +02:00
mrdudz
69fd3d7998
tweak
2023-05-04 22:21:36 +02:00
mrdudz
71bb11bee1
make the commit message a url, also check if it really doesnt fail when there is nothing to commit
2023-05-04 22:09:22 +02:00
mrdudz
e228e4d65c
try something else, again
2023-05-04 21:58:37 +02:00
mrdudz
4ef849cb81
Force background image to snap left, adapted from https://github.com/cc65/doc/pull/1
2023-05-04 21:44:57 +02:00
mrdudz
769b316376
lets see if this will not fail when there are no changes in the docs
2023-05-04 21:27:48 +02:00
mrdudz
7053dac3a9
remove token from cc65/doc, reenable the tests again
2023-05-04 21:13:37 +02:00
mrdudz
610dfbb41c
try normal push, also try actions/upload-artifact@v3
2023-05-04 21:07:23 +02:00
mrdudz
ea90c934d7
try gain with classic token
2023-05-04 20:59:18 +02:00
mrdudz
17f58d934f
AGAIN
2023-05-04 20:52:50 +02:00
mrdudz
926d09a14d
i'm not patient enough
2023-05-04 20:48:52 +02:00
mrdudz
0369838f24
bleh
2023-05-04 20:45:35 +02:00
mrdudz
3536761110
another try
2023-05-04 20:30:28 +02:00
mrdudz
99a0d64b93
lets see if that token stuff works
2023-05-04 20:03:27 +02:00
mrdudz
20f0427fa4
comment out the push again. who knows whats wrong. sigh
2023-05-04 15:20:33 +02:00
mrdudz
681c51b37e
yawn
2023-05-04 15:12:46 +02:00
mrdudz
c0dd3b9d9a
like this? awesome how everyone does something different :)
2023-05-04 15:10:10 +02:00
mrdudz
7c5595efbc
another try
2023-05-04 15:02:32 +02:00
mrdudz
45258d060d
lets see if this works
2023-05-04 14:47:02 +02:00
mrdudz
0957c36115
try verbose dry run to see what it does :)
2023-05-04 14:19:27 +02:00
bbbradsmith
69f4cd1847
limits.h was apparently already included somewhere on windows but not linux
2023-05-04 05:48:48 -04:00
bbbradsmith
ca8201a314
Overflow test optimization suggested by kugelfuhr
...
User CHAR_BIT instead of 8
2023-05-04 05:44:20 -04:00
Bob Andrews
13f317e660
Update Contributing.md
2023-05-04 09:18:33 +02:00
Brad Smith
5ed7153841
Merge branch 'master' into ca65_jmp_abs_wrap_error
2023-05-03 21:12:37 -04:00
bbbradsmith
84eafb7f9c
err test for struct with duplicate member
2023-05-03 21:09:03 -04:00
bbbradsmith
b5f255f912
Test case for const-overflow warnings
2023-05-03 19:54:40 -04:00
bbbradsmith
8e75e5b51a
Suppress overflow warning when conversion is an explicit cast
2023-05-03 19:42:05 -04:00
bbbradsmith
e3cb8dfb9b
Numerical constant scanner requires explicitly 32-bit sized type for cross-platform consistency
2023-05-03 19:27:37 -04:00
Bob Andrews
b743b1a8c2
Merge pull request #2081 from bbbradsmith/suppress-size-error
...
ca65: Suppress '.size' error for multiply-defined symbols
2023-05-04 00:36:48 +02:00
Bob Andrews
45bdeb62ad
Merge pull request #2070 from bbbradsmith/fix2060
...
RHS primary integer promotion must happen after loading the primary, not before
2023-05-03 23:57:19 +02:00
bbbradsmith
49bd568113
error test for integer constant too large for internal representation
2023-05-03 17:55:02 -04:00
bbbradsmith
dbdadaa3f3
accidental tabs, printf long expectts explicit %ld
2023-05-03 16:59:48 -04:00
bbbradsmith
2ac9c6f51e
Suppress the floating point precision warning if an explicit cast is used
2023-05-03 16:53:51 -04:00
bbbradsmith
e3887d7ead
Test to demonstrate availability of floating point constants, document the possibility.
2023-05-03 16:48:02 -04:00
bbbradsmith
7ff74b2c47
Give a better error for unsupported floating point arithmetic, instead of internal "Precondition violated" error.
2023-05-03 16:48:02 -04:00
bbbradsmith
52f0e6a29c
Allow floating point constants to be converted to integer (warning if loss of precision)
2023-05-03 16:48:02 -04:00
bbbradsmith
a686d1fa8e
Allow unary +/- for floating point constants
2023-05-03 16:48:02 -04:00
bbbradsmith
a109f475ed
Fix broken/incomplete floating point parsing
...
- Fractional digit scale was broken
- Base was partially ignored
- Exponent sign was ignored
- Exponent for hex float is 2 not 10
2023-05-03 16:48:02 -04:00
bbbradsmith
9a502c69dc
fix tab, braces for 1-line if, Expr->Ival is signed
2023-05-03 16:46:59 -04:00
Bob Andrews
83ff62d5e2
Merge pull request #2078 from bbbradsmith/line-endings
...
ca65 support for three line ending types: \r, \r\n, \n
2023-05-03 21:19:03 +02:00
Bob Andrews
f4676e11b4
Merge pull request #2083 from bbbradsmith/struct-passing
...
Improve struct size error message to include the detected size
2023-05-03 21:00:25 +02:00
Bob Andrews
6386788843
Merge pull request #2082 from cc65/revert-2080-revert-2072-struct-passing
...
Revert "Revert "Forbid 3-byte struct pass/return by value, document struct value pass/return""
2023-05-03 20:49:37 +02:00
bbbradsmith
440c91fad9
braces for 1-line if
2023-05-03 14:11:30 -04:00
Bob Andrews
ae7a1416fe
Revert "Revert "Forbid 3-byte struct pass/return by value, document struct value pass/return""
2023-05-03 20:02:12 +02:00
bbbradsmith
1f18ab218e
Improve struct size error message to include the detected size
2023-05-03 13:35:51 -04:00
Brad Smith
4e6b94de5c
braces
2023-05-03 12:19:05 -04:00
bbbradsmith
016008b6df
ca65: Suppress '.size' error for multiply-defined symbols
2023-05-03 11:57:50 -04:00
Jeff Tranter
387d455cb4
Revised patch.
...
Uses code in source listing. Tested on a real OSI C1P machine.
2023-05-03 11:16:22 -04:00
Jeff Tranter
fdd4d35887
Merge branch 'cc65:master' into bootstrap-fix
2023-05-03 10:43:44 -04:00
Bob Andrews
59bd5fdd4c
Merge pull request #2071 from bbbradsmith/bug895_warningspam
...
bug895.c compliant token pasting syntax to remove warnings
2023-05-03 15:02:30 +02:00
Bob Andrews
0bded728ae
Merge pull request #2080 from cc65/revert-2072-struct-passing
...
Revert "Forbid 3-byte struct pass/return by value, document struct value pass/return"
2023-05-03 14:37:21 +02:00
Bob Andrews
6ffc4004d7
Revert "Forbid 3-byte struct pass/return by value, document struct value pass/return"
2023-05-03 14:24:13 +02:00
Bob Andrews
f3c0f7c6ce
Merge pull request #2074 from bbbradsmith/zp_override_not_suspicious
...
Explicit z: should suppress "Suspicious address expression" warning
2023-05-03 14:09:23 +02:00
Bob Andrews
7d9a736b7f
Merge pull request #2072 from bbbradsmith/struct-passing
...
Forbid 3-byte struct pass/return by value, document struct value pass/return
2023-05-03 13:57:09 +02:00
Bob Andrews
dd0e902a08
Merge pull request #2077 from bbbradsmith/doc-setbooloption-must-can
...
Document directives that use SetBoolOption "can" use +/- rather than "must"
2023-05-03 13:15:35 +02:00
Bob Andrews
88f581c796
Merge pull request #2076 from bbbradsmith/macro-axy-document
...
Don't use a,x,y in macro parameter example, document why not.
2023-05-03 13:10:57 +02:00
bbbradsmith
456fa9f963
cc65 document: both pass and return of structs are allowed
2023-05-03 05:36:37 -04:00
bbbradsmith
86e3a640d5
Support for three line ending types: \r, \r\n, \n.
...
#1894
2023-05-03 05:03:11 -04:00
bbbradsmith
2b60adfa11
Document directives that use SetBoolOption "can" use +/- rather than "must"
...
#1772
2023-05-03 03:26:10 -04:00
bbbradsmith
4d698bf18c
Don't use a,x,y in macro parameter example, document why not.
...
#392
2023-05-03 03:05:14 -04:00
bbbradsmith
56c715af40
Error for struct/union with a duplicate member #2015
2023-05-03 01:14:27 -04:00
bbbradsmith
65f773f5ee
Explicit z: should suppress "Suspicious address expression" warning #194
2023-05-03 01:01:21 -04:00
bbbradsmith
409235aee6
Optional warning for implicit constant conversion overflow
2023-05-02 22:27:28 -04:00
bbbradsmith
bf5b37a3b2
Error check for internal overflow of numerical constant
...
See bug #2026
2023-05-02 21:27:02 -04:00
bbbradsmith
bf22f94a43
struct pass and return by value test
2023-05-02 20:02:58 -04:00
bbbradsmith
af11d4d947
Document that struct-param is default off since: 3129266
2023-05-02 19:21:21 -04:00
bbbradsmith
e7046a02ff
Disallow pass/return of 3-byte struct ( #2022 ), document capability added in #1102 .
2023-05-02 19:00:34 -04:00
Brad Smith
2c47ea45af
bug895.c compliant token pasting syntax to remove warnings
...
Gets rid of some unnecessary warning spam in the test log of lines like this:
```
bug895.c:95: Warning: Pasting formed "unsigned_long_14(", an invalid preprocessing token
```
2023-05-02 18:18:10 -04:00
bbbradsmith
1c26b1cf1b
RHS primary integer promotion must happen after loading the primary, not before. See: #2060
2023-05-02 14:42:00 -04:00
Bob Andrews
805e98a7aa
Merge pull request #2027 from bbbradsmith/ca65_jmp_abs_wrap_cpu_filter
...
ca65 jmp (abs) wrap warning only applies to 6502, later CPUs do not have this bug
2023-05-02 12:52:03 +02:00
Bob Andrews
08223360d5
Update instr.c
2023-05-02 12:43:50 +02:00
Jeff Tranter
1fe39514bc
Merge branch 'bootstrap-fix' of github.com:jefftranter/cc65 into bootstrap-fix
2023-05-01 10:13:52 -04:00
Jeff Tranter
4d97e30b55
Source listing in bootstrap.s is incorrect.
...
The OSI C1P alternative boot file format works, but the code in the
source listing does not match the ASCII-coded hex translation (which
is actually used). This is confusing to anyone trying to maintain the
code.
Also, the source code did not assemble when ASM is defined.
Also removed use of branch macros and an unnecessary "<" operator.
With these changes the source file should correctly match what
is used at run time.
2023-05-01 09:49:41 -04:00
Jeff Tranter
613ee94f44
Source listing in bootstrap.s is incorrect.
...
The OSI C1P alternative boot file format works, but the code in the
source listing does not match the ASCII-coded hex translation (which
is actually used). This is confusing to anyone trying to maintain the
code.
Also, the source code does not assemble when ASM is defined.
With these changes the source file should correctly match what
is used at run time.
2023-04-30 18:40:09 -04:00
Bob Andrews
e5f4ca6b89
Merge pull request #2058 from icepic/patch-1
...
Update lynxsprite.c
2023-04-19 15:07:16 +02:00
Janne Johansson
1f9594560e
Update lynxsprite.c
...
Remove compiler warning about (signed) char wrapping around to -1 when set to 255.
2023-04-19 09:15:03 +02:00
Bob Andrews
128b15a71e
Merge pull request #2051 from sodero/topic/disable_hardcoded_paths_on_amiga
...
Don't use hardcoded paths on Amiga
2023-04-08 17:40:47 +02:00
Ola Söder
2a7533268c
Don't use hardcoded paths on Amiga
...
Hardcoded paths don't make sense on AmigaOS, AROS and MorphOS.
2023-04-07 23:44:30 +02:00
Christian Groessler
19349acdcf
fix typo in README.md
2023-04-04 00:57:52 +02:00
Christian Groessler
ed4edd908b
fix copy'n'paste typo
2023-04-04 00:40:33 +02:00
Bob Andrews
1f7318f527
Merge pull request #2042 from jefftranter/kim1-api-additions
...
Add Additional KIM-1 Functions
2023-03-30 20:23:54 +02:00
Jeff Tranter
3a5fbd34da
Add KIM-1 functions to write to the 7-segment LED display and get
...
keypresses from the keypad.
Includes sample program illustrating how to use them.
Tested on real KIM-1 hardware.
2023-03-29 18:40:10 -04:00
Bob Andrews
d69117c0c1
Merge pull request #2037 from jefftranter/kim1-io-fixes
...
Fixes and improvements to KIM-1 i/o routines.
2023-03-29 22:41:34 +02:00
Bob Andrews
9fb4854f6c
Merge pull request #2040 from mooinglemur/20230328-cx16-r42
...
cx16: update RAM constants for ROM ver R42
2023-03-29 22:40:24 +02:00
mooinglemur
2dd558eae9
cx16: update RAM constants for ROM ver R42
2023-03-28 21:18:02 -07:00
Jeff Tranter
806ffe5675
Fixes and improvements to KIM-1 i/o routines.
...
Tested on real KIM-1 hardware.
read.s:
- Remove commented out line.
- Remove unused check for bell character.
- Remove echo of newline (hardware always echoes entered characters).
- This fixes gets() and fgets() so they return when CR is entered.
write.s:
- Fix check for adding return after linefeed (failed to work because OUTCHR changes A)
- Remove unused check for bell character.
kim1.inc:
- Add symbol for monitor entry
crt0.s:
- Jump to KIM-1 monitor by address rather than using BRK (which relies on vector being set in RAM)
2023-03-27 17:56:25 -04:00
Bob Andrews
f74775b841
Merge pull request #2036 from jefftranter/master
...
Make some documentation fixes for KIM-1 platform.
2023-03-27 17:57:14 +02:00
Jeff Tranter
fcbcbea4ad
Make some documentation fixes for KIM-1 platform.
2023-03-27 09:23:40 -04:00
Bob Andrews
8692630369
Merge pull request #2032 from jedeoric/telestrat_lseek
...
[Telestrat Target] Add fseek to telestrat target (Orix)
2023-03-19 11:51:24 +01:00
jede
c8c6fc6a40
add xfseek
2023-03-17 23:10:15 +01:00
Bob Andrews
7f1dd09bcb
Merge pull request #2028 from bbbradsmith/linker_test_overwrite
...
Linker test capability and overwrite segment tests
2023-03-09 18:20:48 +01:00
bbbradsmith
99220f60af
test/asm readme val description revision
2023-03-07 18:53:30 -05:00
bbbradsmith
6be7c16013
linkter test with custom config should not use none.lib
2023-03-07 18:48:30 -05:00
bbbradsmith
4732e937ad
overwrite segment tests
...
asm/listing linker CFG support
asm and asm/listing test documentation
2023-03-07 18:44:56 -05:00
bbbradsmith
8b818aac67
remove trailing space on segment "bytes" warning plural
2023-03-07 18:42:20 -05:00
bbbradsmith
016b03e356
ca65 jmp (abs) wrap warning only applies to 6502, later CPUs do not have this bug
2023-03-07 17:00:38 -05:00
Bob Andrews
c226e58a3c
Merge pull request #2007 from groessler/something_to_pull
...
fix for issue #1973 (printf("%c", '\0') doesn't _write '\0' to fd 0)
2023-03-04 13:30:18 +01:00
Bob Andrews
b9cf6266e7
Merge pull request #2010 from bbbradsmith/ca65_brk_optional_signature
...
optional BRK signature on all 6502 CPUs, not just 65816
2023-03-04 13:21:28 +01:00
Bob Andrews
c0559dd931
Merge pull request #2009 from bbbradsmith/ca65_feature_disable
...
ca65: allow .feature to both enable and disable
2023-03-04 13:08:18 +01:00
Bob Andrews
34189b85ab
Merge pull request #2013 from Movax12/fix-endmacro-not-at-start-of-line
...
Fix endmacro not at start of line
2023-03-03 12:29:30 +01:00
mvax
c092f57b73
Consistent case for .endmacro in comments, remove trailing spaces
2023-03-02 17:31:55 -05:00
mvax
90d5f41b37
Consistent case for .endmacro in comments
2023-03-02 17:26:05 -05:00
mvax
3f2129894b
Fix .endmacro not at the start of the line. Rename test files.
2023-03-02 15:12:30 -05:00
Bob Andrews
6fe649ecab
Merge pull request #1994 from Compyx/make-avail-sanity-check
...
make avail: check for presence of binaries before creating symbolic links
2023-03-02 18:56:04 +01:00
mvax
98d2d9ee4e
Fix .endmacro not at the start of the line. Fix style
2023-03-01 21:59:00 -05:00
mvax
0b71d1cfff
Fix .endmacro not at the start of the line. Fix last commit
2023-03-01 21:55:14 -05:00
mvax
1c60bc5009
Fix .endmacro not at the start of the line. Fix style, add doc., add tests
2023-03-01 21:47:50 -05:00
mvax
993054c9d3
Fix .endmacro not at the start of the line. .ENDMACRO error with line number of macro definition start
2023-03-01 11:58:42 -05:00
mrdudz
ffa83c32a4
clean-up of driver return codes
2023-02-26 20:03:41 +01:00
mvax
7d894fbe04
Fix .endmacro not at the start of the line. Fix comment
2023-02-25 13:52:13 -05:00
mvax
4b29615f2b
Fix .endmacro not at the start of the line. Allow empty macro
2023-02-25 13:49:19 -05:00
mvax
0a05f78d47
Fix .endmacro not at the start of the line.
2023-02-25 13:38:02 -05:00
mvax
429e90dffd
Fix .endmacro in a .define in a macro body
2023-02-25 12:42:26 -05:00
mvax
e87325033d
Fix .endmacro in a .define in a macro body
2023-02-25 12:39:36 -05:00
bbbradsmith
3d41a5b516
allow immedite style syntax variation for BRK signature byte
2023-02-25 08:23:47 -05:00
bbbradsmith
3f8252311e
65C816 document brk optional signature, and mvn/mvp syntax
2023-02-24 23:00:30 -05:00
bbbradsmith
cd8fa39066
optional BRK signature on all 6502 CPUs, not just 65816 (also COP)
2023-02-24 22:40:29 -05:00
bbbradsmith
c2bc40f213
test for all ca65 .feature options
2023-02-24 20:00:56 -05:00
bbbradsmith
230230819e
document the undocumented test/asm/listing behaviours
2023-02-24 19:35:38 -05:00
bbbradsmith
da150aeeac
allow .feature to both enable and disable
2023-02-24 18:00:58 -05:00
Bob Andrews
a299ef4210
Merge pull request #1995 from bbbradsmith/overwrite_segment_fix
...
ld65 fix overwrite segments adding wrong padding or causing internal errors
2023-02-24 21:27:33 +01:00
Bob Andrews
302d6ee4a4
Merge pull request #2001 from bbbradsmith/ca65_long_jsr_jmp_rts
...
ca65 jsr/jmp/rts will not promote to jsl/jml/rtl by default, new feature long_jsr_jmp_rts to re-enable this ability
2023-02-24 19:34:37 +01:00
Bob Andrews
12fc59351e
Merge branch 'master' into ca65_long_jsr_jmp_rts
2023-02-24 19:25:32 +01:00
Bob Andrews
e105f6049d
Merge pull request #2003 from bbbradsmith/large_align_false_positive_fix
...
supress spurious "large alignment" warnings
2023-02-24 16:32:41 +01:00
Bob Andrews
d810b12c6d
Merge pull request #1998 from bbbradsmith/ca65_local_scope_error_info
...
ca65 improve error for unclosed scopes
2023-02-24 16:24:05 +01:00
Bob Andrews
221e6b53ef
Merge pull request #1992 from bbbradsmith/optstackops_toscmpbool_fix
...
OptStackOps label migration fix
2023-02-24 13:43:07 +01:00
Bob Andrews
d808088c64
Merge pull request #1997 from bbbradsmith/doc_ca65_a8_a16_description
...
ca65 doc for A8/A18/I8/I16: use "assume" instead of "switch" to avoid implying that a hardware state is changed
2023-02-24 13:04:48 +01:00
Bob Andrews
0c462467e3
Merge pull request #1999 from bbbradsmith/ca65_ld65_warnings_as_errors
...
--warnings-as-errors for ca65 and ld65
2023-02-24 13:02:49 +01:00
Christian Groessler
fedfc3443d
fix for issue #1973 (printf("%c", '\0') doesn't _write '\0' to fd 0)
2023-02-24 02:12:19 +01:00
bbbradsmith
ba038e921f
jmp (abs) page wrapping should be an error, not a warning, also only applies to 6502 CPU
2023-02-21 17:06:21 -05:00
Bob Andrews
ac987e2439
Merge pull request #2000 from bbbradsmith/doc_cc65_intern_linker_config
...
Document expected linker configuration and special segments used by cc65
2023-02-21 22:00:23 +01:00
bbbradsmith
23cc295b08
improve description of large-alignment warning
2023-02-21 07:32:38 -05:00
bbbradsmith
13f1d37403
suppress spurious "large alignment" warning when the combined alignment is not larger than any of the explictly requested ones
2023-02-21 06:48:46 -05:00
bbbradsmith
2cdab999f5
dasm test extend 65816.info to include added code
2023-02-21 05:22:28 -05:00
bbbradsmith
4b29d257d9
fix dasm test65816 which relied on JMP automatic promotion, add test of new long_jsr_jmp_rts and smart
2023-02-21 04:38:42 -05:00
bbbradsmith
ccf3994e3b
ca65 jsr/jmp/rts will not promote to jsl/jml/rtl by default, but can still be enabled with new feature long_jsr_jmp_rts
2023-02-21 04:00:34 -05:00
bbbradsmith
99ecd9b69d
Document expected linker configuration and special segments used by cc65
2023-02-21 00:53:55 -05:00
bbbradsmith
45d0d60349
--warnings-as-errors for ca65 and ld65
2023-02-20 22:24:26 -05:00
bbbradsmith
f1134cc5f1
ca65 improve error for unclosed scopes
...
See: #1779
2023-02-20 20:49:04 -05:00
bbbradsmith
864eecf7c3
ca16 doc for A8/A18/I8/I16: use "assume" instead of "switch" to avoid implying that a hardware state is changed. See: #1759
2023-02-20 20:08:58 -05:00
compyx
68ce335f59
Replace shell code with GNU Make conditionals and functions
...
Use `ifeq` to provide two rules for the `avail` target: one that reports
an error if any of the symlink targets are missing and one that installs
the symlinks for the targets if they're all present.
2023-02-19 19:17:45 +01:00
Bob Andrews
d0f17ba602
Merge pull request #1996 from bbbradsmith/negative_memory_size_error
...
ld65 error if computed memory size is negative
2023-02-19 18:45:09 +01:00
Bob Andrews
0ff18510c3
Merge pull request #1993 from bbbradsmith/sim65_pvopen_safety
...
sim65 path length safety for PVOpen
2023-02-19 16:27:46 +01:00
bbbradsmith
3df5b9f41f
relocate dasm test start-addr to avoid producing negative memory area size with none.cfg (conflicted with stack position at $8000)
2023-02-19 09:30:07 -05:00
bbbradsmith
5bc8ff98de
error if computed memory size is negative
2023-02-19 09:01:17 -05:00
bbbradsmith
4fc19a3d4c
ld65 overwrite segment should pad with fill value if the desired seek position is beyond the end of the file so far
2023-02-19 08:37:07 -05:00
bbbradsmith
2ac055383f
ld65 fix overwrite segments adding wrong padding or causing internal errors
2023-02-19 08:14:04 -05:00
compyx
5c12659cf4
make avail: check for presence of binaries before creating symbolic
...
links
To avoid creating broken symlinks, first check if the binaries exists in
bin/ and exit when they don't, with a message to first run `make`.
2023-02-19 14:01:14 +01:00
bbbradsmith
4d30333099
sim65 path length safety for PVOpen
2023-02-19 05:31:46 -05:00
bbbradsmith
4e411e8526
Opt_a_tosicmp likely has a bug which will incorrectly migrate a label on a replaced op in one case.
2023-02-18 00:13:34 -05:00
bbbradsmith
78263cd24b
Fix OptStackOps label migration case for toscmpbool, add test case
2023-02-17 23:48:32 -05:00
Bob Andrews
c097401f8b
Merge pull request #1991 from spiro-trikaliotis/fix-msys2-test
...
Remove .exe from file output
2023-02-17 18:29:39 +01:00
Spiro Trikaliotis
727b3288d6
Remove .exe from file output
...
Whenever a tool like ld65 wants to output its name into a log file, it
uses the name of command-line parameter 0. However, this parameter also
includes the .exe suffix if it is on Windows.
This patch removes the .exe suffix, so that the output is clean and
consistent across platforms.
This fixes #1990 .
2023-02-17 17:22:55 +01:00
Bob Andrews
544a49c060
Merge pull request #1983 from mrdudz/fix1941
...
fix for #1941
2023-02-05 17:28:22 +01:00
mrdudz
8ac5e2f7b6
fix devicestr call, so related posix function work on cbm targets
2023-01-28 15:08:14 +01:00
mrdudz
1764b7aca9
fix for #1941 , taken from 22d435b689
2023-01-28 12:29:05 +01:00
Bob Andrews
6267db6b01
Merge pull request #1980 from TommiRommi/patch-1
...
fixed spelling mistake
2023-01-28 11:29:50 +01:00
tomas
1d73c8d259
Update typeconv.c
2023-01-27 16:53:36 +00:00
tomas
ed909dba1d
fixed spelling mistake
...
there was a spelling mistake in one of pointer warnings
2023-01-27 10:52:20 +00:00
Christian Groessler
60f56c43c7
some documentation fixes
2023-01-18 11:55:52 +01:00
Bob Andrews
dbefd12571
Merge pull request #1968 from mseabold/master
...
Allow line_bynumber to return more than one result
2023-01-18 04:34:58 +01:00
Matt Seabold
3360734487
Update comment to match in source file
2023-01-17 22:17:23 -05:00
Matt Seabold
9ee0c835e5
Update documentation for line_bynumber
2023-01-17 22:15:27 -05:00
Bob Andrews
645fa982af
Merge pull request #1975 from marianodominguez/add_sound_documentation
...
add documentation for _sound.
2023-01-17 22:41:12 +01:00
Bob Andrews
cc9b91363f
Merge pull request #1971 from polluks2/patch-8
...
Create disk of GEOS samples
2023-01-17 22:36:53 +01:00
Mariano Dominguez
c6d183c31b
add documentation for _sound.
2023-01-16 19:09:01 -08:00
Christian Groessler
67564d83c8
libsrc/atari/sound.s: fix indentation
2023-01-16 18:01:11 +01:00
Christian Groessler
c2e8f75bec
Merge pull request #1962 from marianodominguez/feature_add_sound_command
...
add sound command
2023-01-16 17:59:34 +01:00
Mariano Dominguez
40656ffb6e
more style
2023-01-15 17:05:24 -08:00
Mariano Dominguez
6236e82850
change storage to pager zero
...
fix bug that kills keyboard.
2023-01-15 17:00:05 -08:00
polluks2
a5a8225a58
Create disk of GEOS samples
...
You don't need to convert anymore.
2023-01-14 13:49:16 +01:00
Matt Seabold
8ea0dfe453
Allow line_bynumber to return more than one result
2023-01-11 20:18:51 -05:00
Mariano Dominguez
42c39c6bfc
remove trailing spacew, use correct user
2023-01-10 11:26:12 -08:00
Mariano Dominguez
27ecb555ea
Rename sound to _sound.
...
remove extra comments.
2023-01-10 11:16:36 -08:00
Bob Andrews
7979f8a41f
Merge pull request #1965 from polluks2/patch-7
...
Wrong file "geover.cvt"
2023-01-08 18:54:27 +01:00
polluks2
e4d9dbf0c0
Wrong file "geover.cvt"
...
See line 106
2023-01-08 17:47:04 +01:00
Mariano Dominguez
bf9fb6dcdb
increase delay in sound test
2023-01-06 11:23:33 -08:00
Mariano Dominguez
196962adac
remove lasy pesky space
2023-01-06 10:54:16 -08:00
Mariano Dominguez
2a961a870b
add target test
2023-01-06 09:56:15 -08:00
Mariano Dominguez
c3e1ae3478
last trailing space
2023-01-05 21:36:44 -08:00
Mariano Dominguez
8c97b54f5d
more trailing spaces :(
2023-01-05 21:34:43 -08:00
Mariano Dominguez
658c1ad711
only missing space
2023-01-05 21:33:40 -08:00
Mariano Dominguez
85f657b35e
missing space
2023-01-05 21:30:31 -08:00
Mariano Dominguez
4e8b18c035
missing tab
2023-01-05 21:29:33 -08:00
Mariano Dominguez
29a80065cc
fix tab indentation
2023-01-05 21:27:54 -08:00
Mariano Dominguez
30df733c31
remove dangling spaces
2023-01-05 21:20:16 -08:00
Mariano Dominguez
fa05294054
add newline for style
2023-01-05 21:16:58 -08:00
Mariano Dominguez
f9024d132a
add sound command
...
this behives the same as BASIC
sound(voice, pitch, distortion, volume)
2023-01-05 21:12:58 -08:00
Bob Andrews
e944a30b6a
Merge pull request #1955 from davepl/master
...
Add KIM-1 support
2023-01-04 19:10:14 +01:00
Rutger van Bergen
7ea2d8ab18
Address review comment
2023-01-04 19:05:08 +01:00
Bob Andrews
072f4188ac
Merge pull request #1939 from acqn/TypeFix
...
[cc65] Renamed/added/removed some C type facility and fixed a few comments
2023-01-04 19:01:23 +01:00
Bob Andrews
167e940361
Merge pull request #1958 from karrika/sprite
...
[sp65] Sprite generation fixed for 1BPP Lynx sprites. Fix for #1957
2023-01-04 18:16:46 +01:00
Bob Andrews
ce3a987d2d
Merge pull request #1956 from karrika/master
...
[sp65] Add support for 4 pixels per plane. Add feature for current GIMP pcx files.
2023-01-04 17:42:38 +01:00
Bob Andrews
9cda019669
Merge pull request #1960 from karrika/palette
...
[sp65] New feature to extract the palette from the bitmap. Lynx format implemented. #1959
2023-01-04 17:25:34 +01:00
Bob Andrews
36a56faa14
Merge pull request #1961 from clbr/da816
...
Teach da65 about table units
2023-01-04 17:21:26 +01:00
karri
e2c6d06b0d
Update dosc
2023-01-04 12:14:37 +02:00
Karri Kaksonen
34aa53affb
Merge branch 'cc65:master' into master
2022-12-30 17:48:04 +02:00
Lauri Kasanen
56a414593a
Teach da65 about table units
2022-12-30 17:25:47 +02:00
Bob Andrews
cce119a9e7
Merge pull request #1871 from clbr/da816
...
da65 support for 65816
2022-12-30 15:34:40 +01:00
karri
878a20ab59
Fix dangling space
2022-12-30 15:27:17 +02:00
karri
b6d06288e0
Fix warnings
2022-12-30 15:20:54 +02:00
karri
f85951ab24
Add to build
2022-12-30 15:06:22 +02:00
karri
4117e94ed5
Add palette extraction functions
2022-12-30 14:44:18 +02:00
karri
c2e9e5961d
Add fixed Lynx sprite generation
2022-12-30 12:57:50 +02:00
karri
f6b3bdda21
Add fixed Lynx sprite generation
2022-12-30 12:36:49 +02:00
karri
b4aa853e6f
Add fixed Lynx sprite generation
2022-12-30 12:21:49 +02:00
karri
aed6591b19
Add new method GetBitmapBPP as we need it for sprite math
2022-12-30 12:16:46 +02:00
karri
ebd1381030
Use same style in comments
2022-12-29 21:55:25 +02:00
karri
9cb0667260
Use same style in comments
2022-12-29 21:53:50 +02:00
karri
5ec5050af2
Remove redundant code
2022-12-29 21:48:28 +02:00
karri
05766d4bfe
Add support for 4 pixels per plane
2022-12-29 19:40:00 +02:00
karri
e953c1aa08
Add support for 4 pixels per plane
2022-12-29 19:28:16 +02:00
karri
817d129be8
Add support for 4 pixels per plane
2022-12-29 19:18:00 +02:00
Rutger van Bergen
37954dffe7
Specify supported tests
2022-12-26 20:26:29 +01:00
Rutger van Bergen
a8c6409689
Delete kimHello
2022-12-26 19:54:00 +01:00
Rutger van Bergen
ae23e47eb5
Merge branch 'cc65:master' into master
2022-12-26 13:57:10 +01:00
Oliver Schmidt
de30a57c0c
Added minimalistic terminal program.
...
So far there was no sample code at all making use of the serial drivers.
2022-12-23 16:20:26 +01:00
Oliver Schmidt
1daa445310
Fixed recently introduced addressing mode bug.
2022-12-22 22:09:23 +01:00
Oliver Schmidt
d90c7e9853
Introduced the notion of a standard serial driver.
...
There's no target with more than one serial driver (and I don't see that change anytime soon) so it's a no-brainer to apply the standard driver concept to serial drivers.
2022-12-22 18:13:24 +01:00
mrdudz
d9ebfa7192
all good things are three
2022-12-11 12:29:11 +01:00
mrdudz
2b941e255a
move test. oops
2022-12-11 12:22:41 +01:00
mrdudz
ddab16007a
run branch fixer again after replacing BRA by JMP. should fix #1936
2022-12-11 12:08:30 +01:00
Bob Andrews
299f764c5d
Merge pull request #1942 from IrgendwerA8/patch-1
...
Fixed floating point naming in Contributing.md
2022-12-07 08:21:24 +01:00
Irgendwer
78e6bcf643
Update Contributing.md
2022-12-07 00:20:20 +01:00
Bob Andrews
dae4b2d9b0
add note on optimizer
2022-12-06 14:47:03 +01:00
mrdudz
bad961b36f
add missing newline
2022-11-28 06:34:05 +01:00
mrdudz
61ee5fe1d5
test for bug #1933
2022-11-28 06:26:47 +01:00
mrdudz
15eb1c5f5e
support the msvc specific I64 specifier in our sprintf
2022-11-28 06:26:14 +01:00
mrdudz
05c2530243
it should have been I64x, not I64u
2022-11-28 06:25:45 +01:00
Bob Andrews
765e7d1efa
Merge pull request #1927 from smuehlst/osi-conio-chardefs
...
Character defines for osic1p target
2022-11-28 04:15:34 +01:00
Stephan Mühlstrasser
a46de2f6d4
Fix macro order
2022-11-20 15:22:37 +01:00
Stephan Mühlstrasser
484e1dc9fd
Character defines for osic1p target
...
Added character definitions for line graphics and enter character
for osic1p target.
2022-11-20 13:30:57 +01:00
Stephan Mühlstrasser
ec652367d0
Support targets without cursor keys
...
Not all targets to have cursor keys on their keyboard. Add corresponding
#ifdefs to the conio test program.
2022-11-20 13:28:45 +01:00
Bob Andrews
e4f01a260d
Merge pull request #1844 from mrdudz/underscores
...
Fix name conflicts in standard headers by adding more Underscores
2022-11-19 22:09:03 +01:00
mrdudz
9a9bf9f2ea
update note on identifiers
2022-11-19 19:06:14 +01:00
mrdudz
d6c37a757d
Merge branch 'master' into underscores
2022-11-19 17:11:11 +01:00
Bob Andrews
3513342445
Merge pull request #1913 from acqn/Diagnostics
...
[cc65] Improved diagnostics on div-by-zero/bitwise-shift in unevaluated context and overall
2022-11-18 19:55:51 +01:00
Bob Andrews
a0a9cfdcd3
Merge pull request #1918 from acqn/PPFix
...
[cc65] Fixed bitwise-shift in preprocessor
2022-11-18 19:09:55 +01:00
Bob Andrews
93b015660d
Merge pull request #1899 from acqn/TypeCmpFix
...
[cc65] Fixed compatibility checks on "pointer to pointer" vs "pointer to array" etc.
2022-11-18 19:04:35 +01:00
mrdudz
eb8dbcd04d
really update all jobs
2022-11-18 19:00:35 +01:00
mrdudz
9d78e10d4b
update actions to use node16 instead of node12
2022-11-18 18:39:58 +01:00
mrdudz
b166dc4261
hopefully thats it
2022-11-18 18:19:31 +01:00
mrdudz
4c047bf11e
yawn
2022-11-18 18:13:54 +01:00
mrdudz
bbe8c62e9d
coffee
2022-11-18 18:13:15 +01:00
mrdudz
a6feeac5ed
or msvc I64u ?
2022-11-18 18:10:07 +01:00
mrdudz
ca94cfcbac
that perhaps?
2022-11-18 18:03:40 +01:00
mrdudz
4c6fddd300
i want a cookie each time i do this
2022-11-18 17:58:12 +01:00
mrdudz
feb839e7f0
narrisch werd i!
2022-11-18 17:55:22 +01:00
mrdudz
8a9029d393
hnnngg
2022-11-18 17:50:32 +01:00
mrdudz
c6ecee0748
Babydino sagt: nochmal!
2022-11-18 17:45:21 +01:00
mrdudz
5fb20dec91
commit message
2022-11-18 17:41:22 +01:00
mrdudz
5638e0916a
spül es noch einmal, Sam
2022-11-18 17:39:35 +01:00
mrdudz
d1b7768064
yeah!
2022-11-18 17:27:51 +01:00
mrdudz
d68598165c
and another
2022-11-18 17:24:05 +01:00
mrdudz
d459b5da87
another try
2022-11-18 17:20:44 +01:00
mrdudz
fdcc683997
shoot in the dark, try to fix ming build issue
2022-11-18 17:13:37 +01:00
Bob Andrews
0408d71cc5
fixes so "make clean" will work without failing on cmd.exe
2022-11-18 16:28:25 +01:00
Bob Andrews
1ce044c2b4
Merge pull request #1916 from spiro-trikaliotis/split-asm-listing-test-stdout-stderr
...
Split stdout and stderr in test/asm/
2022-11-18 16:17:20 +01:00
Bob Andrews
88b926e914
Merge pull request #1917 from acqn/CodeGen
...
[cc65] Clearer comments on and usage of code generator flags with type conversions in the primary register
2022-11-13 12:51:17 +01:00
acqn
dadca9e033
Fixed bitwise-shift in PP.
2022-11-13 16:32:41 +08:00
acqn
3bcfa735cb
clearer comments on and usage of code generator flags with type conversions in the primary register.
2022-11-13 14:57:48 +08:00
Spiro Trikaliotis
d7a804d120
Split stdin and stdout in test/asm/
...
Some tests pipe the stdout and stderr of the compiler or assembler into
a file and compare the result with a reference. This has the subtle
problem that both stdout and stderr and buffered i/o streams that may or
may not work the same on different OSs or even shells. That means the
order of the lines in the resulting file is not guaranteed.
In practise it is "mostly" not an issue, but "we" still stumbled about
one test where different behaviour can be triggered depending on running
it in cmd.exe or bash (msys): test/asm/listing output of
010-paramcount.bin differs from the reference output when running the
test from cmd.exe.
The solution is most likely to have two reference files and not redirect
into one file.
This patch fixes the issue (cf. #1912 ) for the directory test/asm/.
2022-11-12 23:12:25 +01:00
acqn
7b436e9823
Added tests for #1895 fix.
2022-11-13 01:01:24 +08:00
acqn
9d693d2c80
Warnings instead of errors for division-by-zero/modulo-with-zero in evaluation.
2022-11-12 22:13:56 +08:00
acqn
cc177208b4
Added tests for diagnostics in unevaluated context.
2022-11-12 21:05:01 +08:00
acqn
73897aface
Additional check for out of ranges of bit-fields in bitwise-shifts.
2022-11-12 12:36:22 +08:00
acqn
75be73cc8d
Added utility functions to acquire bit width of types.
2022-11-12 12:32:27 +08:00
acqn
d0c9b2de99
Added basic shift count check for <<= and >>= operations.
2022-11-12 12:34:16 +08:00
acqn
2c3ca15d90
Fixed marking unevaluated subexpressions for conditional operator.
2022-11-12 12:32:27 +08:00
acqn
3af77e7333
Improved error recovery in declarations with curly braces.
2022-11-12 12:28:29 +08:00
acqn
eb595b1f5f
Improved error recovery with K&R-style function declarations.
2022-11-12 12:28:27 +08:00
acqn
894ba49cb5
Improved error messages about missing type specifiers.
2022-11-12 12:28:24 +08:00
acqn
b0ef3572ea
Improved error messages about missing identifiers.
2022-11-12 12:28:22 +08:00
Bob Andrews
6924d44564
Merge pull request #1911 from acqn/TypeFix
...
[cc65] Organized type-related stuff better
2022-11-11 22:05:45 +01:00
Bob Andrews
ec2688b50e
Merge pull request #1910 from acqn/DeclFix
...
[cc65] Renamed a few functions and struct used for declaration parser
2022-11-11 21:41:04 +01:00
Bob Andrews
ace39197e5
move test to test/ref
2022-11-11 21:22:20 +01:00
Bob Andrews
9c48c0ab8a
Merge pull request #1900 from acqn/Diagnostics
...
[cc65] Fixed endlessly repeated error messages when a declaration lacks a required identifier
2022-11-11 21:08:53 +01:00
Bob Andrews
ebb33ee8b4
fix problem with copy command in cmd.exe
2022-11-11 20:54:38 +01:00
acqn
9253f0d6bc
Added testcase for #1889 .
2022-11-10 02:11:54 +08:00
mrdudz
a09053ce0b
make test work again also on linux. why did this not break the github actions?
2022-11-09 01:07:36 +01:00
acqn
e10b5fd79b
Renamed a few functions and struct used for declaration parser.
2022-11-08 14:42:52 +08:00
Bob Andrews
800c30604f
Merge pull request #1909 from silverdr/master
...
Updated ATTR_UNUSED() for clang
2022-11-06 14:06:56 +01:00
Silver Dream !
2dcccae036
Updated ATTR_UNUSED() for clang
2022-11-06 11:27:08 +00:00
mrdudz
5d1ad05cb8
oops
2022-11-05 20:48:53 +01:00
mrdudz
e5777f7ccf
add ATTR_UNUSED on the flags variable
2022-11-05 20:38:07 +01:00
mrdudz
1452d8164d
add ATTR_UNUSED and ATTR_NORETURN
2022-11-05 20:37:41 +01:00
Bob Andrews
d066fbbcf5
Merge pull request #1908 from mrdudz/maketweaks
...
cmd.exe related tweaks
2022-11-05 19:55:53 +01:00
mrdudz
bf924395fb
fix some bashisms, hopefully makes "check" work again in cmd.exe
2022-11-05 19:41:02 +01:00
Bob Andrews
680aacd4a7
Merge pull request #1907 from acqn/InputLineInfo
...
[cc65] Renamed some misleading functions relevent with input file info
2022-11-05 18:45:17 +01:00
mrdudz
699ba1fbd6
when running on cmd.exe only print a message, the style tests
...
require bash
2022-11-05 16:42:01 +01:00
Bob Andrews
53b62184e8
Merge pull request #1905 from acqn/DeclFix
...
[cc65] Fixed some missing declaration features
2022-11-05 16:03:09 +01:00
Bob Andrews
fe43e13706
Merge pull request #1906 from acqn/Testcase
...
[cc65] Renamed several tests
2022-11-05 15:35:18 +01:00
acqn
e608f8a94f
Renamed several tests.
2022-11-05 18:30:02 +08:00
Bob Andrews
fef8436eb4
Merge pull request #1881 from acqn/ExprDesc
...
[cc65] Organized ExprDesc functions and fixed several comments
2022-11-04 14:22:22 +01:00
Bob Andrews
7146dbc87d
Merge pull request #1879 from acqn/SymEntryFix
...
[cc65] SymEntry cleanups
2022-11-04 14:06:47 +01:00
mrdudz
79fd078ae3
add check for line endings containing CR.
2022-11-03 18:27:10 +01:00
mrdudz
cc450706d1
testcase related to bug #1888
2022-11-03 18:03:47 +01:00
mrdudz
44b2e4f331
added examples for tests that compare the compiler output with a reference
2022-11-03 17:40:13 +01:00
acqn
8a7f566387
Fixed support for storage class specifiers after type specifiers.
2022-11-03 21:46:42 +08:00
acqn
991af3755b
Added support for _Static_assert in unions.
2022-11-03 21:46:41 +08:00
Lauri Kasanen
9aae1efd03
Add a da65 65186 test
2022-11-03 08:17:51 +02:00
Lauri Kasanen
3ea999f034
Correct mvn, mvp, pei
2022-11-03 08:17:51 +02:00
Lauri Kasanen
b90bf258e2
Implement far override
2022-11-03 08:17:51 +02:00
Lauri Kasanen
db351b4228
Output remaining long labels
2022-11-03 08:17:51 +02:00
Lauri Kasanen
65907b1f10
Output MX states
2022-11-03 08:17:51 +02:00
Lauri Kasanen
4b04f81d37
Fix jsl length
2022-11-03 08:17:51 +02:00
Lauri Kasanen
1294c1c253
Implement changing-size opcodes
2022-11-03 08:17:51 +02:00
Lauri Kasanen
e8ee8435e9
Add addrMode to RANGE
2022-11-03 08:16:45 +02:00
Lauri Kasanen
89fc5e30c4
Remove unused and conflicting value
2022-11-03 08:15:48 +02:00
Lauri Kasanen
ea924ededd
Teach attrtab, labels and comments about long addresses
2022-11-03 08:15:48 +02:00
Lauri Kasanen
67384a29b7
Start on 65816
2022-11-03 08:08:38 +02:00
Bob Andrews
0eba33ee74
Merge pull request #1897 from acqn/TernaryFix
...
[cc65] Fixed errors in the conditional operator "? :" parser
2022-11-02 18:13:45 +01:00
Bob Andrews
37efb40c69
Merge pull request #1898 from acqn/PPFix
...
[cc65] Fixed '\\' + newline
2022-11-02 18:09:04 +01:00
Bob Andrews
d151a1e38a
Merge pull request #1902 from silverdr/master
...
Silencing confusing util/zlib 'warning' target
2022-11-02 18:00:53 +01:00
Silver Dream !
c90d078fb7
Silencing confusing util/zlib 'warning' target
2022-11-02 16:43:21 +00:00
Bob Andrews
5fd2b6fe4b
Merge pull request #1896 from acqn/EnumFix
...
[cc65] Fixed diagnostic messages on enumerator overflow
2022-11-02 17:34:31 +01:00
Bob Andrews
eede412959
Merge pull request #1885 from clbr/da65-range-end
...
Allow specifying range end as a size
2022-11-02 17:15:38 +01:00
acqn
aa5d44b2b0
Fixed endlessly repeated error messages when a declaration lacks a required identifier.
2022-11-02 23:58:20 +08:00
acqn
9b39c3f949
Fixed garbage enum tag name appeared in diagnostic messages if the enum tag declaration failed.
2022-11-02 23:58:18 +08:00
acqn
d2f74db4d8
Fixed compatibility checks on "pointer to pointer" vs "pointer to array" etc.
2022-11-02 22:44:57 +08:00
acqn
deb5e97732
Fixed diagnostic messages on enumerator overflow.
...
An enumerator that would be incremented greater than ULONG_MAX now causes an error.
2022-11-02 14:22:21 +08:00
acqn
e9413567d7
Renamed several functions relevent with input file info.
2022-11-02 14:16:15 +08:00
acqn
8fb2576626
Fixed processing '\\' followed with a newline and line number output (-E) with it.
2022-11-02 14:09:15 +08:00
acqn
d84cc2d122
Fixed errors in the conditional operator "? :" parser.
2022-11-02 13:56:55 +08:00
Lauri Kasanen
c95c9c2749
Allow specifying range end as a size
2022-10-27 18:20:37 +03:00
acqn
b81e54c1d2
Organized ExprDesc functions and fixed several comments.
2022-10-24 14:55:39 +08:00
acqn
03ceeb4ad1
Removed warning on implicit "return 0" in C99 standard main function in default cc65 mode.
2022-10-22 12:45:51 +08:00
Bob Andrews
ad7c5a6617
Merge pull request #1878 from clbr/sim65opt
...
Speed up sim65 by 10%
2022-10-17 17:46:11 +02:00
Lauri Kasanen
b052e64089
Speed up sim65 by 10%
2022-10-17 13:32:38 +03:00
Bob Andrews
34ff99aef0
Merge pull request #1877 from bbbradsmith/integer_constant_warning_rephrase
...
Rephrasing warnings for suspicious decimal integer constants
2022-10-16 22:15:59 +02:00
Bob Andrews
89031594eb
Merge pull request #1876 from bbbradsmith/constant_overflow_warning
...
Emit warning for signed integer constant overflow
2022-10-16 22:15:22 +02:00
Bob Andrews
b2238fdcd4
Merge pull request #1868 from acqn/PPFix
...
[cc65] Fixed and improved C preprocessor
2022-10-16 19:02:23 +02:00
Bob Andrews
3aadf6c66e
Merge pull request #1867 from acqn/Diagnostics
...
[cc65] Diagnostics improvements
2022-10-16 18:26:26 +02:00
bbbradsmith
66698d4b1a
Rephrasing warnings for suspicious decimal integer constants
2022-10-14 16:47:11 -04:00
bbbradsmith
4540205b0d
Emit warning for signed integer constant overflow
2022-10-13 23:49:07 -04:00
Bob Andrews
4ed31cec69
Merge pull request #1870 from clbr/postproc-compilefix
...
Fix compilation after the postproc merge
2022-10-12 21:44:46 +02:00
Bob Andrews
f1612218a3
Merge pull request #1874 from clbr/sprintf-clarify
...
Clarify sprintf-test's output so it doesn't look like the entire test…
2022-10-12 17:54:30 +02:00
Lauri Kasanen
1e6279aee5
Clarify sprintf-test's output so it doesn't look like the entire test bench summary
2022-10-12 18:38:33 +03:00
Lauri Kasanen
d52ef67d51
Fix compilation after the postproc merge
2022-10-12 10:28:14 +03:00
acqn
e57c409894
Fixed TypeHasAttrData(), GetSignedType() and GetUnsignedType(), none in use yet though.
2022-10-12 13:13:15 +08:00
acqn
45da20e770
Fixed CheckedSizeOf() for unknown-size types (no such use case yet though).
2022-10-12 13:13:37 +08:00
acqn
1dccd1333b
Added more type utility functions.
...
Changed result of GetBasicTypeName() for unknown types from "type" to "<type>".
2022-10-12 13:10:17 +08:00
acqn
cf3a0c4a30
Corrected and entailed comments and cleaned up code with type comparison.
2022-10-13 13:45:22 +08:00
acqn
01d2b809a1
Renamed struct Segments to SegContext as well as some related functions.
2023-10-21 23:41:36 +08:00
acqn
5fd9169904
Renamed type facility functions for deciding code generation type flags.
2022-10-12 13:10:17 +08:00
acqn
a4a1230c62
Renamed some C type facility and fixed a few comments.
...
Added some new C type code facility.
Removed some unused type predicates.
2022-10-12 13:10:17 +08:00
acqn
feaedc5b50
Better organized stuff related to C types.
2022-10-12 13:10:17 +08:00
acqn
a2dfa7c721
More consistent names for SymEntry functions.
2022-10-12 13:10:17 +08:00
acqn
164eb198ce
Moved type facility functions for deciding code generation type flags.
2022-10-12 13:10:17 +08:00
acqn
d1e84a6dae
Avoided unnecessary BSS name duplication for tentative global variables.
2022-10-11 14:23:21 +08:00
acqn
2cda47cd36
More descriptive names for SymEntry usage.
2022-10-11 14:14:48 +08:00
acqn
959be2c98c
SymEntry struct cleanups.
2022-10-11 14:14:38 +08:00
Bob Andrews
71d64a3c1c
Merge pull request #1857 from acqn/PPFix
...
[cc65] Improved preprocessor
2022-10-09 19:00:07 +02:00
Bob Andrews
a169e67e43
Merge pull request #1863 from acqn/LinkageFix
...
[cc65] Fixed symbol visibility and usage problems with extern/static declarations
2022-10-09 18:59:12 +02:00
Bob Andrews
911ff40f6b
Merge pull request #1862 from acqn/Testcase
...
[cc65] Renamed some more testcases
2022-09-30 16:50:02 +02:00
acqn
9eab36b95a
Fixed block-scope extern declarations visibility.
...
Fixed missing file-scope static function codegen output in a rare care.
2022-09-30 14:32:08 +08:00
acqn
f6003b8e8c
Renamed some testcases.
2022-09-30 09:41:54 +08:00
acqn
9900e7361d
#pragma message now uses the new "note" level message routine.
2022-09-30 09:09:09 +08:00
Bob Andrews
702ec52161
Merge pull request #1861 from acqn/TestcaseFix
...
[cc65] Testcase whitespace/comments fixes
2022-09-29 17:53:14 +02:00
acqn
715aa919e6
C++ style comments in C89 mode will cause errors only once per input file.
2022-09-29 19:47:31 +08:00
acqn
29c9cb3e00
Improved diagnostics on conflicting type declarations.
2022-09-29 19:38:32 +08:00
acqn
96df4e8b5e
Added a diagnostic level "note" for infomative messages.
2022-09-29 19:38:32 +08:00
acqn
1cbd6bc3f9
Fixed comments in test/val/bug1462-biefield-assign-4.c.
2022-09-29 18:23:41 +08:00
acqn
376afd0edb
Fixed trailing spaces in some testcases.
2022-09-29 18:23:32 +08:00
acqn
133507b031
Fixed line info for #pragma messages and diagnostics.
2022-09-29 17:55:09 +08:00
mrdudz
846d51db72
change line endings to unix style, should fix #1858
2022-09-22 20:29:57 +02:00
Rutger van Bergen
61f48f7620
Merge branch 'kim1' of github.com:davepl/cc65
2022-09-19 23:58:26 +02:00
Rutger van Bergen
3b431d9fa3
Remove trailing whitespace
2022-09-19 23:57:26 +02:00
David W Plummer
c43b3582db
Merge pull request #1 from davepl/kim1
...
Add KIM-1 Support
2022-09-19 14:20:29 -07:00
David W Plummer
ab6840712b
Update kim1.sgml
2022-09-19 14:17:41 -07:00
Rutger van Bergen
3dd8968876
Merge branch 'master' of github.com:davepl/cc65 into kim1
2022-09-19 21:59:57 +02:00
Rutger van Bergen
fa6a5d9b72
Merge branch 'cc65:master' into master
2022-09-19 20:31:36 +02:00
Rutger van Bergen
2b07204952
Merge branch 'cc65:master' into kim1
2022-09-19 20:03:23 +02:00
Rutger van Bergen
d2a8e907ae
Merge pull request #2 from davepl/kim1-doc
...
Add documentation, make capitalization uniform
2022-09-19 19:59:19 +02:00
Rutger van Bergen
cb8cb876ec
Add documentation, make capitalization uniform
2022-09-19 19:56:57 +02:00
Bob Andrews
65ce036b2e
Merge pull request #1854 from acqn/Testcase
...
[cc65] Renamed, fixed and added testcases
2022-09-19 13:19:09 +02:00
Rutger van Bergen
6cb6c241aa
Merge branch 'cc65:master' into master
2022-09-19 03:20:49 +02:00
acqn
5e7d9b5fe3
Renamed a few testcases.
2022-09-18 22:29:41 +08:00
acqn
080ec131d8
Added testcase for constant operands with side-effects.
2022-09-18 22:29:30 +08:00
acqn
16ba232d08
Fixed some testcases.
2022-09-18 22:29:01 +08:00
mrdudz
6fc2cd9f61
add test related to bug #1853
2022-09-17 14:42:18 +02:00
mrdudz
fd6d00a4dd
revert 6096a24
- this breaks the case when the "label" is an expression containing spaces.
...
fixes bug #1853
2022-09-17 14:41:59 +02:00
Oliver Schmidt
5493c9e7c2
Don't empty the Receive Data Register on filling the Transmit Data Register
...
The Receive Data Register and the Transmit Data Register share share a single address. Accessing that address with STA abs,X in order to fill the Transmit Data Register causes a 6502 false read which causes the Receive Data Register to be emptied.
The simplest way to work around that issue - which I chose here - is to move the base address for all ACIA accesses from page $C0 to page $BF. However, that adds an additional cycle to all read accesses. An alternative approach would be to only modify the single line `sta ACIA_DATA,x`.
2022-09-08 17:11:30 +02:00
mrdudz
253af1ed07
Force 16bit address for absolute-indirect-x-indexed in 65816 mode.
...
should fix issue #1846 (and hopefully not break anything :))
2022-09-03 18:36:40 +02:00
Bob Andrews
1d01777943
Merge pull request #1849 from acqn/StructFix
...
[cc65] Reverted E_ADDRESS_OF logic fix
2022-09-02 17:27:34 +02:00
Bob Andrews
fe0d383bea
Merge pull request #1850 from polluks2/patch-6
...
Don't hide errors in error handling
2022-09-02 12:08:40 +02:00
polluks2
446a785f95
Don't hide errors in error handling
...
You don't want the low byte, see grep _ERR_ libsrc/tgi/*
2022-09-02 11:55:54 +02:00
acqn
b4ddd01d78
Fixed checks on __VA_ARGS__.
2022-09-01 12:58:52 +08:00
acqn
950606d46a
Improved diagnostics on wrong number of arguments in function-like macro calls.
2022-09-01 12:59:00 +08:00
acqn
92f94e4e5b
A space character will be inserted in front of a leading '#' pp-token as the result of macro expansion.
2022-09-01 12:58:52 +08:00
acqn
770e529b20
Fixed newline counting inside old C style comments.
2022-09-01 12:58:52 +08:00
acqn
3d1e322519
Fixed keeping spacing in certain rare cases.
2022-09-01 12:58:52 +08:00
acqn
942ee47d05
Changed supposed usage of the original line input stack. It is now used for reusing input lines.
2022-09-01 12:58:52 +08:00
acqn
dc001cb4be
Reverted E_ADDRESS_OF logic fix.
...
Added testcase.
2022-09-01 12:56:46 +08:00
mrdudz
5bda57de87
add extra underscore to _bzero, add a test for bzero/memset
2022-08-29 23:20:48 +02:00
mrdudz
3b03a96375
add underscores to _poserror and _stroserror
2022-08-29 21:06:48 +02:00
mrdudz
89c08dc6d4
extra underscores for _randomize and _swap
2022-08-29 20:52:35 +02:00
mrdudz
145adf61ea
define old names also for heap stuff
2022-08-29 20:10:21 +02:00
mrdudz
b09024aa32
add extra underscore to heap stuff
2022-08-29 19:55:48 +02:00
mrdudz
df4b6f9d14
remove extra spaces
2022-08-28 22:37:33 +02:00
mrdudz
54aff47513
fix some errno related stuff, "make all" works again
2022-08-28 22:09:44 +02:00
mrdudz
2dabb65ee0
fix errno related underscores in all libsrc/*.s files
2022-08-28 21:52:53 +02:00
mrdudz
5d390489a8
fix underscores in errno (and related) headers
2022-08-28 21:36:22 +02:00
mrdudz
6ba3deffa4
use __clocks_per_sec instead of _clocks_per_sec
2022-08-28 20:22:25 +02:00
mrdudz
f70020a2b8
use __sig_ign and __sig_dft instead of _sig_ign and _sig_dft
2022-08-28 20:18:34 +02:00
mrdudz
9246775ebe
use __afailed instead of _afailed
2022-08-28 20:08:13 +02:00
mrdudz
8e5f6b822d
fix setjmp.h
2022-08-28 20:05:11 +02:00
mrdudz
ce6ee1b891
test some more possible cases and move test into test/val
2022-08-28 03:43:54 +02:00
mrdudz
d371046ae4
Despite not technically needed, it seems to be desirable to remove all trailing whitespace from inline assembly
2022-08-28 03:43:02 +02:00
mrdudz
6096a24f1d
dont add whitespace after a label to the actual label, this fixes the root cause of #1252
2022-08-28 03:41:48 +02:00
Bob Andrews
eb21e484ee
Merge pull request #1842 from acqn/PPCounter
...
[cc65] Added support for the popular __COUNTER__ macro
2022-08-27 11:18:29 +02:00
mrdudz
168f42bb83
fix whitespace
2022-08-27 02:14:52 +02:00
mrdudz
41b29d5c81
add testcase related to issue #1252
2022-08-27 02:10:02 +02:00
mrdudz
90b9438b48
added testcase related to issue #1768
2022-08-27 01:15:06 +02:00
Bob Andrews
d2628d5949
Merge pull request #1840 from acqn/FnParamFix
...
[cc65] Fixed function parameters declared as function types rather than function pointers
2022-08-26 23:19:55 +02:00
Bob Andrews
68610490c9
Merge pull request #1837 from acqn/PPLineFix
...
[cc65] Fixed predefined __FILE__, __LINE__ and added missing preprocessing directive #line
2022-08-26 23:12:59 +02:00
Bob Andrews
13fbd7d1b4
Merge pull request #1836 from acqn/PPDiag
...
[cc65] Fixes and improvements for preprocessor diagnostics and error handling
2022-08-26 23:08:29 +02:00
acqn
1dbc5cb325
Simple testcase for __LINE__, __FILE__ as well as #line.
2022-08-24 16:39:44 +08:00
acqn
26945c32ac
Fixed function parameters declared as function types rather than function pointers.
2022-08-24 15:30:52 +08:00
Bob Andrews
22ea30c75f
"cat" result to console on failure (only on *nix right now)
2022-08-23 11:56:05 +02:00
acqn
9f8bfb859c
Fixed handling adjacent macro expansions that should not concatenate.
...
Example: F()G /* expansion results of F() shall not be concatenated with G */
2022-08-22 14:34:50 +08:00
acqn
c7ff416ce9
Fixed wide strings for preprocessor.
2022-08-22 14:34:50 +08:00
acqn
be95cb8f58
Fixed stringized macro argument concatenation.
...
Example: #define s(a) L## #a.
2022-08-22 14:34:50 +08:00
acqn
6260414136
The '#' operator in macro replacement is now checked at macro definition instead of macro expansion.
2022-08-22 14:34:50 +08:00
acqn
2f6b5621cc
Changed handling on nested macro replacement to match up with the behavior of other major C compilers, which is unspecified by the C standard.
2022-08-22 14:34:50 +08:00
acqn
95e5471cd6
Better preprocess macro expansion.
2022-08-22 14:34:50 +08:00
acqn
57ad7c8766
Improved diagnostics about C++ style comments for c89.
2022-08-22 14:31:53 +08:00
acqn
fd7f32ecd3
Improved error handling and diagnostics with failed macro definitions.
2022-08-22 14:31:51 +08:00
Bob Andrews
8605393953
Merge pull request #1834 from acqn/PPFix
...
[cc65] Minor improvements, fixes and cleanups with the preprocessor
2022-08-21 19:18:46 +02:00
Bob Andrews
f838ba7341
Merge pull request #1833 from acqn/TokenizerFix
...
[cc65] Tokenizer fixes
2022-08-21 17:45:38 +02:00
acqn
47ee543fe0
Added testcase for some part of PR #1833 .
2022-08-21 00:11:19 +08:00
Bob Andrews
12b9b10355
Merge pull request #1832 from acqn/PPDefineFix
...
[cc65] Preprocessor directive #define fixes
2022-08-20 14:27:25 +02:00
Bob Andrews
03421694b2
Merge pull request #1817 from acqn/PPFix
...
[cc65] More preprocessor fixes
2022-08-19 21:37:16 +02:00
Bob Andrews
98491d7c92
Merge pull request #1831 from acqn/DeclFix
...
[cc65] Fixed issues with forward declaration of enums and global static variables put on zeropage
2022-08-19 20:58:28 +02:00
acqn
3fbefdef45
Fixed warning on forward declaration of enums.
...
Fixed the issue that global static variables put on zeropage were missing optimization.
2022-08-19 18:48:52 +08:00
acqn
9565f41381
Improved Diagnostic with #include.
2022-08-19 13:27:56 +08:00
acqn
5d5bd472c6
Removed extra whitespace at line ends in preprocess-only output (-E).
...
Increased threshold from 5 to 7 for skipped newlines with #line directives in preprocess-only output (-E).
2022-08-22 00:27:21 +08:00
acqn
79f97e7714
Reused code more for macros in preprocessing directives.
2022-08-22 00:24:28 +08:00
acqn
cf7558add3
Added check for ## at either end of macro expansion.
2022-08-18 23:16:29 +08:00
acqn
b93f9fbba4
Updated documents about the predefined macros.
2022-08-18 22:51:23 +08:00
acqn
47d5e74a6e
Modified way to keep undefined macro handling more consistent.
2022-08-18 22:51:23 +08:00
Bob Andrews
b8211a2921
Update Contributing.md
2022-08-17 21:42:42 +02:00
acqn
624e5025b0
Fixed parsing wide char constants.
2022-08-17 22:28:00 +08:00
acqn
5cca1e8b1d
Fixed parsing numeric constants.
2022-08-11 10:55:16 +08:00
Bob Andrews
623f047397
Merge pull request #1509 from mrdudz/rremd
...
C64 Retro Replay EMD driver
2022-08-11 01:11:16 +02:00
Bob Andrews
38c4449ab1
Merge pull request #1826 from alejandro-colomar/master
...
Make NULL conform to POSIX
2022-08-11 01:10:16 +02:00
mrdudz
c1fd3218df
add test related to pr #1799
2022-08-11 00:59:09 +02:00
mrdudz
f942c629d7
simple test related to issue #1655
2022-08-11 00:04:36 +02:00
Bob Andrews
ec310fceb8
Merge pull request #1825 from ReallyNiceGuy/master
...
Revert: Parse file included inside a macro at definition time
2022-08-11 00:03:12 +02:00
Alejandro Colomar
f14e793197
Make NULL conform to POSIX
...
POSIX.1-2008 tightened the definition of NULL to be 0 cast to the
type 'void *'.
Defining NULL as 0 is problematic, because it requires users to
cast NULL to a pointer type before passing it to variadic
functions. Using POSIX's definition is safer, because NULL can be
used in all contexts without a cast, due to the alignment of
'void *' and 'char *' being the same. It also helps the compiler
be able to detect when NULL is being used in an integer context.
Link: <http://ewontfix.com/11/ >
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-10 12:56:23 +02:00
Bob Andrews
bdcc5ba549
Merge pull request #1821 from ZeroByteOrg/x16_waitvsync
...
CX16 waitvsync uses Kernal API to retreive jiffies
2022-08-09 19:02:15 +02:00
Bob Andrews
e30e233064
Merge pull request #1829 from acqn/VoidPtrFix
...
[cc65] Fixed superfluous warning on pointer types comparing a non-void pointer to a void pointer.
2022-08-09 14:29:56 +02:00
acqn
78e80eb942
Fixed superfluous warning on pointer types comparing a non-void pointer to a void pointer.
2022-08-09 13:13:33 +08:00
Bob Andrews
0c8366c1e9
Merge pull request #1828 from ZeroByteOrg/x16_ym
...
Fixed YM2151 struct to match HW behavior
2022-08-09 00:50:08 +02:00
ZeroByteOrg
5608453aea
Fixed YM2151 struct to match HW behavior
2022-08-08 16:16:37 -05:00
ZeroByteOrg
582e43931d
import RDTIM symbol instead of hard-wiring it here
2022-08-08 15:21:30 -05:00
ZeroByteOrg
9b3b652fa5
Switched to using tmp1 instead of self-mod to store the jiffies value
2022-08-08 15:17:28 -05:00
Marco Aurelio da Costa
71a9ed04a2
Revert: Parse file included inside a macro at definition time
...
The reverted change broke too many use cases where users
where expecting the compiler quirky behavior to be the correct
behavior.
A better solution is needed for the quirk which does not break
current usage.
2022-08-07 11:24:47 -03:00
acqn
4bb4f033ea
Fixed the bug that C keywords were not simply recognized as identifiers in preprocessing.
2022-08-07 16:14:45 +08:00
acqn
a3a5fbe809
Disallowed 'defined' as a macro name.
2022-08-07 13:56:47 +08:00
acqn
7971eec3cc
Fixed parentheses handling when a function-like macro name itself is used as an macro argument.
2022-08-07 12:45:48 +08:00
acqn
7a139a800e
Added # and ## as punctuators recognized by the tokenizer.
...
Reorganized the token enum.
2022-08-06 18:45:49 +08:00
acqn
ae811baaf1
Fixed the bug that redefined macros could co-exist but not all be undefined with a single #undef.
2022-08-06 18:21:42 +08:00
acqn
0a051a4dee
Unsupported #pragma within argument lists of function-like macro invocation.
2022-08-06 16:56:28 +08:00
ZeroByteOrg
78870219a4
CX16 waitvsync uses Kernal API to retreive jiffies
2022-08-05 17:44:18 -05:00
acqn
251e984ba8
Fixed error recovery with preprocessing directives failures.
2022-08-05 14:03:51 +08:00
Bob Andrews
4de40a20cb
Merge pull request #1820 from polluks2/patch-5
...
Shorter isascii
2022-08-04 00:43:10 +02:00
polluks2
7a93d3c707
Shorter isascii
2022-08-04 00:25:04 +02:00
mrdudz
fb8de287be
test related to pr #1800
2022-07-28 01:50:54 +02:00
Bob Andrews
2c742ffc1c
Merge pull request #1800 from acqn/PPFix
...
[cc65] Preprocessor fixes
2022-07-28 01:48:41 +02:00
Bob Andrews
15756cc730
Update Contributing.md
2022-07-28 00:29:05 +02:00
Bob Andrews
9ab8026dbb
Merge pull request #1813 from IrgendwerA8/CharmapFixDocUpdate
...
Updated documentation while char-mapping is fixed.
2022-07-27 17:58:57 +02:00
IrgendwerA8
b3015ef731
Updated documentation while char-mapping is fixed.
2022-07-27 13:54:00 +02:00
mrdudz
5164b88a27
test was moved to test/val
2022-07-26 17:21:33 +02:00
Bob Andrews
a41b76795a
Merge pull request #1807 from acqn/CharmapFix
...
[cc65] Fixed #pragma charmap for string literals
2022-07-26 17:19:58 +02:00
acqn
f8d08b1e1a
More post-C99 predefined macros.
2022-07-26 21:40:19 +08:00
acqn
2f357ba9b2
Preprocessor directives can now appear in the argument list of function-like macro calls.
...
#pragma PP-tokens can now be macro replaced.
#include header names directly enclosed in <> are free of macro replacement.
Preprocess-only mode (-E) now outputs with #line as source info.
Moved testcases for #760 and #1357 .
Added testcase for #1643 .
2022-07-26 21:10:38 +08:00
acqn
80fc8cd11e
Added preprocessor warning on missing terminating characters of character/string literals.
2022-07-26 21:10:36 +08:00
acqn
2c9c8ee196
Fixed extra "Macro argument count mismatch" message when a macro argument list is unterminated.
2022-07-26 21:10:31 +08:00
acqn
60c1290468
Fixed the bug that preprocessor could run past the end of included files.
...
Fixed the wrong filename and 0 line number in disgnostics when a preprocessor error occurred at the end of a file.
Fixed diagnostics for missing #endif.
2022-07-26 21:10:26 +08:00
acqn
9f767770ac
Added test case for #pragma charmap.
2022-07-26 15:19:48 +08:00
acqn
8289c94e69
Fixed skipped lines consist of a leading # followed by any non-directive PP-token sequence.
2022-07-26 14:28:27 +08:00
mrdudz
f99cb177c6
added example/test for cbm_read, related to issue #1306
2022-07-25 21:01:31 +02:00
mrdudz
d03f28d0ed
dangling!
2022-07-24 23:52:53 +02:00
mrdudz
3c71455bd6
test related to issue #1373 , should be move to val in pr #1807
2022-07-24 23:49:45 +02:00
mrdudz
416040dfb6
add prototype for static driver
2022-07-24 23:43:53 +02:00
Bob Andrews
073443d865
Merge pull request #1809 from cc65/revert-1805-something_to_pull
...
Revert "rename '_poserror' to '__poserror'"
2022-07-24 18:22:37 +02:00
Bob Andrews
6239fbe18c
Revert "rename '_poserror' to '__poserror'"
2022-07-24 18:14:21 +02:00
Bob Andrews
c642c07ea0
Merge pull request #1808 from acqn/LibFix
...
[Lib] Removed an extra colon from libsrc/dbg/dbg.c
2022-07-24 17:59:57 +02:00
acqn
43d2fd2a96
Added support for the popular __COUNTER__ macro.
2022-07-24 23:19:05 +08:00
acqn
bb9c98f4c9
Added support for the #line directive.
2022-07-24 23:19:05 +08:00
acqn
36123c9c8f
Improved naming for stuff related to preprocessing directives.
2022-07-24 23:19:05 +08:00
acqn
0063f73f8a
Fixed __FILE__ and __LINE__ macros for preprocessor.
2022-07-24 23:19:05 +08:00
acqn
8485d59aa6
Removed an extra colon from libsrc/dbg/dbg/c.
2022-07-24 20:58:10 +08:00
acqn
7381a2c420
Added check for extra tokens at the end of directives.
...
Improved diagnostics on missing/illegal macro names.
2022-07-24 19:07:16 +08:00
acqn
be26b0631b
Fixed #ifdef and #ifndef.
2022-07-24 19:07:02 +08:00
acqn
066a5e0fec
Fixed #pragma charmap for string literals.
2022-07-24 16:38:41 +08:00
Bob Andrews
fa9ec1fb71
Merge pull request #1805 from groessler/something_to_pull
...
rename '_poserror' to '__poserror'
2022-07-24 02:48:51 +02:00
mrdudz
8e19d84cb4
detect number of RAM pages
2022-07-24 02:47:02 +02:00
mrdudz
8db0def88b
add a target for testcode.d81, which contains all drivers too
2022-07-24 02:43:18 +02:00
mrdudz
1bc05a7aa0
add rrr driver to list
2022-07-24 02:42:49 +02:00
Christian Groessler
758d9466c0
rename '_poserror' to '__poserror'
...
The old name could be non-conforming to the C standard. The new name
is definitely in the "implementation name space".
See issue #1796 .
2022-07-24 00:33:56 +02:00
mrdudz
bc44bd583c
Merge remote-tracking branch 'upstream/master' into rremd
2022-07-23 20:03:28 +02:00
Bob Andrews
d85ca8aedd
Merge pull request #1771 from spiro-trikaliotis/testsuite
...
Some test cases for ca65
2022-07-21 18:12:41 +02:00
Bob Andrews
46849a2919
Merge pull request #1798 from acqn/MiscFix
...
[cc65] Removed a mysterious "Hey!" message
2022-07-21 18:10:48 +02:00
acqn
ac4cb258be
Removed a mysterious "Hey!" message.
2022-07-21 11:59:38 +08:00
acqn
16a8a64746
Use a dedicated expression parser for the preprocessor.
2022-07-21 11:10:02 +08:00
acqn
f91c8ad247
Allowed comments right after "#" in preporcessor directives.
2022-07-21 11:09:59 +08:00
acqn
d3d6de2704
Allowed the pp-tokens following #error and #warning directives to be optional.
2022-07-21 11:09:56 +08:00
mrdudz
3cb3d5dad3
cleanup
2022-07-21 03:45:40 +02:00
mrdudz
86091ac6bf
some cleanup
2022-07-21 03:43:54 +02:00
mrdudz
a55807f682
cleanup
2022-07-21 03:30:47 +02:00
mrdudz
a5225b46fe
Merge remote-tracking branch 'upstream/master' into rremd
2022-07-21 03:27:41 +02:00
Bob Andrews
c680c9fa05
Update lynx.h
...
remove TGI_COLOR_DARKBROWN
2022-07-21 03:24:17 +02:00
Kevin Pulo
35a4a03c51
lynx: fix TGI_COLOR_DARKBROWN
2022-07-21 03:24:17 +02:00
polluks2
358084806a
Fixed term #1553
2022-07-21 03:24:17 +02:00
polluks2
ad051efa0b
Fixed typo
2022-07-21 03:24:17 +02:00
acqn
4dcf18eca7
Fixed ICE with duplicate macro parameters.
2022-07-21 03:24:17 +02:00
acqn
a4ad212316
Now the compiler removes code that has no observable effect.
2022-07-21 03:24:17 +02:00
acqn
4cb5063e9c
Now the compiler tracks code that has no observable effect.
2022-07-21 03:24:17 +02:00
acqn
fcbb4a5246
NoCodeConstExpr() fix to avoid exessive error messages.
2022-07-21 03:24:17 +02:00
acqn
51d7c0f1eb
More detailed diagnostic info about conflicted function types.
2022-07-21 03:24:17 +02:00
acqn
80a468f8bd
E_ADDRESS_OF logic fix.
2022-07-21 03:24:17 +02:00
acqn
9e82de4607
Better future-proof bit-masking.
2022-07-21 03:24:17 +02:00
acqn
55881e913d
Replaced certain usage of "(New-)PointerTo()" with "AddressOf()".
2022-07-21 03:24:17 +02:00
acqn
7e1df39432
Replaced several occurance of PtrConversion() with StdConversion().
...
Variadic arguments of functions should be default-promoted.
2022-07-21 03:24:17 +02:00
acqn
3a6920bf10
Minor clean-ups and typo fixes.
2022-07-21 03:24:17 +02:00
acqn
9004c4fccb
Made it easier to support 0-size structs in the future.
2022-07-21 03:24:17 +02:00
mrdudz
36315ecc06
omit an error message also when an unresolved import was added by the compiler. fixes bug #1551
2022-07-21 03:24:17 +02:00
mrdudz
1dae5062e9
more verbose comment
2022-07-21 03:24:17 +02:00
mrdudz
f614f3b9e2
reserve enough space for the longest string we can expect
2022-07-21 03:24:17 +02:00
jede
e60836add8
Telestrat cfg : fix space
2022-07-21 03:24:17 +02:00
jede
36a27055e8
Telestrat : change default start address
2022-07-21 03:24:17 +02:00
Greg King
a94b614f2d
Removed an environment experiment.
2022-07-21 03:24:17 +02:00
Greg King
3bf3bfa294
Commented out the push command.
2022-07-21 03:24:17 +02:00
Greg King
f835412562
Changed a line that Github Actions claimed was bad.
2022-07-21 03:24:17 +02:00
Greg King
bcc8c5049b
Went back to using actions/checkout@v2.
...
(Direct cloning doesn't support pushing with a hidden token.)
I'm putting this aside, for now. A Personal Access Token must be made for the repository. "git push" does a dry-run, so that the workflow will succeed.
2022-07-21 03:24:17 +02:00
Greg King
9dec4034e3
Passed the token through the environment.
2022-07-21 03:24:17 +02:00
Greg King
c00c89c2b7
Directly clone the document repo.
2022-07-21 03:24:17 +02:00
Greg King
4d045a68e3
Put doc.git next to cc65.
2022-07-21 03:24:17 +02:00
Greg King
964c4a220e
Find out where doc.git is.
2022-07-21 03:24:17 +02:00
Greg King
e004e92f21
Fixed the action/checkout steps.
...
I misunderstood that action's docs.
2022-07-21 03:24:17 +02:00
Greg King
2290e70e0c
Experiment: checkout the second repo first.
...
Maybe that will give it the github.token that it needs.
2022-07-21 03:24:17 +02:00
Greg King
4c74d4b851
Trying a verbose Git push.
...
If I'm lucky, it will tell me more.
2022-07-21 03:24:17 +02:00
Greg King
cb20b2e968
Tried to authorize a push by setting the access token explicitly.
2022-07-21 03:24:17 +02:00
Greg King
3232ce1bad
Fixed a shell syntax bug. Try again.
2022-07-21 03:24:17 +02:00
Greg King
735f0cda25
Added Github action steps that update the online documentation repo.
2022-07-21 03:24:16 +02:00
mrdudz
e8e1889b0b
handle loadaddr the same as with the other CBM targets
2022-07-21 03:22:52 +02:00
rofl0r
9cb8bf9500
cl65: fix regression in --print-target-path
...
since the "empty prefix means run from current dir" hack was removed,
cl65 --print-target-path no longer prints the path relative to the
binary, but the hardcoded library path which points to prefix, because
the code adds the hardcoded path first to the pathsearch, but then actually
only returns the first entry rather than looking whether the path exists.
closes #1754
2022-07-21 03:22:52 +02:00
Stephan Mühlstrasser
8ec1f76b9c
Fix switched meaning of '\n' and '\r'
...
When conio was implemented for the osic1p target, the cbm
target was used as a blueprint. But it was overlooked that the
cbm target encodes CR as 0x0A and LF as 0x0D, while the
osic1p target uses the ASCII encoding of CR and LF. Therefore
conio output of '\n' moved the active position to the start of the
line and '\r' moved the active position to the next line.
This change implements the correct semantics of '\n' and '\r'
in conio for the osic1p target.
Fixes #1747 .
2022-07-21 03:22:52 +02:00
Greg King
f69b993ee6
Fixed a multi-line comment.
...
The left border is thicker in cc65 than it is in VICE.
2022-07-21 03:22:52 +02:00
mrdudz
85fb6ba944
add check for +x flag
2022-07-21 03:22:52 +02:00
mrdudz
8e787c0c0a
remove +x flag
2022-07-21 03:22:52 +02:00
compyx
4595d08c6e
Fix set but unused variable
2022-07-21 03:22:52 +02:00
mrdudz
3717f36c52
rename the actual checkstyle target too :)
2022-07-21 03:22:52 +02:00
mrdudz
0e4d3aa7c5
rename the "check" target to "checkstyle".
...
also created a new "check" target which runs all tests, as it is common with GNU programs
2022-07-21 03:22:52 +02:00
mrdudz
0113d1328b
don't try to build the checkversion sample for targets that do not have printf
2022-07-21 03:22:52 +02:00
mrdudz
976d07b98f
clean and mostlyclean should also clean the test and targettest directories
2022-07-21 03:22:52 +02:00
Bob Andrews
08bad5b93b
Update README.md
2022-07-21 03:22:52 +02:00
polluks2
133d703964
smarter manufacturer
...
some kind of promotion
2022-07-21 03:22:52 +02:00
mrdudz
1334a10101
sample program that demonstrates how to compare the value of __CC65__ for
...
any version of the compiler
2022-07-21 03:22:52 +02:00
mrdudz
b9779927e7
document changes to __CC65__
2022-07-21 03:22:52 +02:00
mrdudz
354dcd6101
define __CC65__ as ((VER_MAJOR * 0x100) + VER_MINOR), fixes issue #1667
2022-07-21 03:22:52 +02:00
mrdudz
15047d9754
simple test related to #1678
2022-07-21 03:22:52 +02:00
mrdudz
3943dc1216
Fix endless loop on expanding a recursive macro, fixed issue #1678 , patch by kugelfuhr
2022-07-21 03:22:52 +02:00
mrdudz
b8d0bd7f95
Add a directory for tests that exercise the supported C standard differences.
...
As a first test added the snippet given in issue #1670
2022-07-21 03:22:52 +02:00
mrdudz
4579d584b1
fix some header files to conform with C99 hopefully, should fix issue #1670
2022-07-21 03:22:52 +02:00
mrdudz
db2dfc9226
must include stdarg.h to use varargs
2022-07-21 03:22:52 +02:00
Bob Andrews
738d6dba88
Update Contributing.md
2022-07-21 03:22:52 +02:00
Bob Andrews
cb5ced7c9d
Update Contributing.md
2022-07-21 03:22:52 +02:00
mrdudz
4285a30236
At the end of the optimizer run, remove jump cascades again. fixes the
...
regression reported in #1652
2022-07-21 03:22:52 +02:00
mrdudz
8ec41083e9
add extra optimizer step that replaces BRA by JMP if the target is external
2022-07-21 03:22:52 +02:00
mrdudz
4ddbe5f838
test related to issue #1652 , shows regression broken by #1231 and the
...
case that #1231 improved.
2022-07-21 03:22:52 +02:00
mrdudz
ab7079df00
add sourcelines to the generated asm for easier inspection,
...
redirect output of sim65, including cycle count, into a seperate .out file per program
2022-07-21 03:22:52 +02:00
Bob Andrews
bfe9ddeb6a
Update Contributing.md
2022-07-21 03:22:52 +02:00
polluks2
f8a940bce4
Some clean-up
...
One exit() too much
file is not optional
2022-07-21 03:22:52 +02:00
polluks2
395e072c3b
typo
2022-07-21 03:22:52 +02:00
Bob Andrews
d365b8a4ee
Adjust comments
2022-07-21 03:22:52 +02:00
rofl0r
5867d3a020
change GetProgPath() to return full & resolved binary path
...
GetProgPath() now resolves the path derived from argv[0] always
via realpath(3p) to its real location in the filesystem, and returns
the path including binary name, effectively making it work like
windows' GetModuleFileName(), so we can re-use the existing code
to strip the trailing binary name.
since symlinks are now always resolved, we no longer need the
special case code for linux to use /proc/self/exe for this purpose.
2022-07-21 03:22:52 +02:00
Bob Andrews
546e82965d
Try reading from /proc/self first on linux, this is needed to make the edgy "make avail" work
2022-07-21 03:22:52 +02:00
rofl0r
6f74a2e9c7
rename AddSubSearchPathFromWinBin to AddSubSearchPathFromBin
2022-07-21 03:22:52 +02:00
rofl0r
6a5375ace4
implement AddSubSearchPathFromWinBin() counterpart for unix
...
this looks up paths relative to the binary used to start the
specific application.
2022-07-21 03:22:52 +02:00
rofl0r
6eeaf7485c
build: allow empty prefix
...
there was some concern that this will break windows' way of doing
file lookups relatively from the binary, rather than via hardcoded
locations, but so far each occurence adding e.g. "CA65_INC" to
the pathsearch is already shielded with an #ifndef _WIN32.
addressing #1726
2022-07-21 03:22:52 +02:00
jede
e9bf0dd64f
fix space
2022-07-21 03:22:52 +02:00
jede
16d896b73f
fix mkdir
2022-07-21 03:22:52 +02:00
jede
e1fbb8465b
fix spaces
2022-07-21 03:22:52 +02:00
jede
e1b8508798
fix typo
2022-07-21 03:22:52 +02:00
jede
244da9c911
missing fd_management and cleaning
2022-07-21 03:22:52 +02:00
Wayne Parham
dfab2b27cd
Added myself as an external contributor for the Sym-1 target
2022-07-21 03:22:52 +02:00
Greg King
55ea831e2d
Upgraded the cx16 library to the Commander X16 Kernal ROM's prerelease 39.
2022-07-21 03:22:52 +02:00
Bob Andrews
6e3e98220b
Update Contributing.md
2022-07-21 03:22:52 +02:00
Bob Andrews
6fac3be97c
Update README.md
2022-07-21 03:22:50 +02:00
mrdudz
976c6af74b
test some more cases that should not change size
2022-07-21 03:20:45 +02:00
mrdudz
72e2751bfd
added a test that must fail
2022-07-21 03:20:45 +02:00
jede
84e2fee9a4
fix bss
2022-07-21 03:20:45 +02:00
jede
164acad6cb
fix space
2022-07-21 03:20:45 +02:00
jede
ebcf6ec52d
FIX space
2022-07-21 03:20:45 +02:00
jede
c38504b06d
cgetc export data now
2022-07-21 03:20:45 +02:00
rofl0r
058126ae41
remove orphaned STRINGIZE macro
2022-07-21 03:20:45 +02:00
rofl0r
910ce5c1fd
build: properly quote strings passed as cpp macros
...
until now, the strings intended to be hardcoded into the binary,
such as directory names and build id, were passed unquoted, which
means they're interpreted by the preprocessor as C tokens, rather
than strings, which can result in all sorts of "interesting"
behaviour such as interpreting paths starting with // as C++-style
comment.
this was then worked around using a stringize macro which turned
the tokens into a string (if they happened to be in a compatible
format).
adresses #1726
2022-07-21 03:20:45 +02:00
rofl0r
09e0dd02a0
build: allow the user to specify make V=1 for verbose build
...
it's often required to see the full commandline when things go wrong.
the standard way for Makefile-only based buildsystems and autoconf
is to pass V=1 to make.
2022-07-21 03:20:45 +02:00
Karri Kaksonen
3922cccafb
Speed up the cursor a bit
2022-07-21 03:20:45 +02:00
Karri Kaksonen
249a04dbde
Move cursor IRQ processing to when the screen is being drawn
2022-07-21 03:20:45 +02:00
Bob Andrews
d2e8f7bc90
Update Contributing.md
2022-07-21 03:20:45 +02:00
Karri Kaksonen
7684918112
Too much time in irq fix
2022-07-21 03:20:45 +02:00
Karri Kaksonen
4ee3e59f19
Fix race condition
2022-07-21 03:20:45 +02:00
Bob Andrews
7f9909ef81
use jmp instead of jsr/rts
2022-07-21 03:20:45 +02:00
Karri Kaksonen
d8b8368e4e
Add documentation
2022-07-21 03:20:45 +02:00
Karri Kaksonen
9ad2eea146
Add color setup
2022-07-21 03:20:45 +02:00
Karri Kaksonen
29b9a9f615
Rename font
2022-07-21 03:20:45 +02:00
Karri Kaksonen
5d0f064edc
Not sharing umula0 and fix cursor bug
2022-07-21 03:20:45 +02:00
Karri Kaksonen
627ec17b14
Fix typo
2022-07-21 03:20:45 +02:00
Karri Kaksonen
4f195d46f9
Use consisten line lenght values
2022-07-21 03:20:45 +02:00
Karri Kaksonen
3954e9bccb
Fix wrong screen in
2022-07-21 03:20:45 +02:00
Karri Kaksonen
9fab67761f
Fix tabs
2022-07-21 03:20:45 +02:00
Karri Kaksonen
2e51b2b17c
Fix tabs
2022-07-21 03:20:45 +02:00
Karri Kaksonen
f2f358262e
Add mono conio files
2022-07-21 03:20:45 +02:00
Karri Kaksonen
b8c450cb46
Add mono conio files
2022-07-21 03:20:45 +02:00
Karri Kaksonen
bb20af1695
Add info
2022-07-21 03:20:45 +02:00
Karri Kaksonen
2db4592029
Add info
2022-07-21 03:20:45 +02:00
Karri Kaksonen
190911e26f
Add x=0 to textcolor
2022-07-21 03:20:45 +02:00
Karri Kaksonen
a2aaeb0d1d
Fix tabs
2022-07-21 03:20:45 +02:00
Karri Kaksonen
057fd866da
Remove obsolete file and fix tabs
2022-07-21 03:20:45 +02:00
Karri Kaksonen
3edb27aa3b
Remove obsolete file and fix tabs
2022-07-21 03:20:45 +02:00
Karri Kaksonen
02fbcad697
Split files
2022-07-21 03:20:45 +02:00
Karri Kaksonen
f0e16514e0
Split files
2022-07-21 03:20:45 +02:00
Karri Kaksonen
e0c7880e34
Split files
2022-07-21 03:20:45 +02:00
Karri Kaksonen
6a6581815d
Import conio automatically
2022-07-21 03:20:45 +02:00
Karri Kaksonen
0f404280a1
Change attributes on gotoxy
2022-07-21 03:20:45 +02:00
Karri Kaksonen
141b887d4d
Change order of gotox gotoy for correct x after newline
2022-07-21 03:20:45 +02:00
Karri Kaksonen
770b22e14d
Remove duplicate code
2022-07-21 03:20:45 +02:00
Karri Kaksonen
7e7f9ffa58
Add blinking cursor
2022-07-21 03:20:45 +02:00
Karri Kaksonen
ff8d2e84bf
Fix screen index bug
2022-07-21 03:20:45 +02:00
Karri Kaksonen
1d7bcb9348
Cleanup
2022-07-21 03:20:45 +02:00
Karri Kaksonen
3ba6dd0a4a
Use local multiply for cursorzone calculations
2022-07-21 03:20:45 +02:00
Karri Kaksonen
9d4f1a0415
Add local multiply routine
2022-07-21 03:20:45 +02:00
Karri Kaksonen
c6b9a012c8
Allocate own zp pointer for conio implementation
2022-07-21 03:20:45 +02:00
Karri Kaksonen
60fffb289a
Allocate own zp pointer for conio implementation
2022-07-21 03:20:45 +02:00
Karri Kaksonen
0eaf3eef6d
Align font to 256 bytes
2022-07-21 03:20:45 +02:00
Karri Kaksonen
0f250d06b9
Fix conflicts with some conio routines
2022-07-21 03:20:45 +02:00
Karri Kaksonen
b8dbe0254a
Add cputc method
2022-07-21 03:20:45 +02:00
Karri Kaksonen
1a2207ffc9
Add setcursor method
2022-07-21 03:20:45 +02:00
Karri Kaksonen
ebd2e5085a
Remove export
2022-07-21 03:20:45 +02:00
Karri Kaksonen
9cdaf82f95
Add space to config
2022-07-21 03:20:45 +02:00
Karri Kaksonen
7f1e69f5e0
Add cursor processing
2022-07-21 03:20:45 +02:00
Karri Kaksonen
f576764214
Remove cursor from conio init
2022-07-21 03:20:45 +02:00
Karri Kaksonen
8b06ff18c0
Don't set cursor in clrscr
2022-07-21 03:20:45 +02:00
Karri Kaksonen
fce4bc0c58
Change order to make decoding easier
2022-07-21 03:20:45 +02:00
Karri Kaksonen
9775a71433
Use question mark instead of exclamation mark
2022-07-21 03:20:45 +02:00
Karri Kaksonen
8f86d5533b
Remove clrscr from init
2022-07-21 03:20:45 +02:00
Karri Kaksonen
7fc69a34ac
Change blue to white
2022-07-21 03:20:45 +02:00
Karri Kaksonen
ce313922d1
Change blue to white
2022-07-21 03:20:45 +02:00
Karri Kaksonen
646997ed43
Add the build tools for the font
2022-07-21 03:20:45 +02:00
Karri Kaksonen
f5c24be572
Fix cursor character
2022-07-21 03:20:45 +02:00
Karri Kaksonen
ff0ddcb52b
Add the font160.png
2022-07-21 03:20:45 +02:00
Karri Kaksonen
e4c1bf15da
Add basic conio buffer
2022-07-21 03:20:45 +02:00
Karri Kaksonen
ba3cd27d30
Add basic conio buffer
2022-07-21 03:20:45 +02:00
mrdudz
7c96af75c5
const value should never have default size, use 32bit instead
2022-07-21 03:20:45 +02:00
mrdudz
87d26b68f4
fix workdir path
2022-07-21 03:20:45 +02:00
mrdudz
623d763457
added a testprogram to check for some of the edge cases
2022-07-21 03:20:45 +02:00
mrdudz
501da2de2b
Also handle the case when the non constant side of the AND expression is
...
known to have a smaller size than the constant side of the expression.
2022-07-21 03:20:45 +02:00
mrdudz
6702b3c85e
special case for evaluating the AND operator, this should fix the problems
...
described in issue #1538
2022-07-21 03:20:45 +02:00
mrdudz
b523d72471
more descriptive error message
2022-07-21 03:20:45 +02:00
mrdudz
964546d444
typo
2022-07-21 03:20:45 +02:00
Greg King
320312e7cc
Made the style-check scripts send their file lists to stderr.
...
A complete list will be shown before make shows its error message. There will be less confusion about which lines are in the list.
2022-07-21 03:20:45 +02:00
mrdudz
4bb152eb65
remove dangling spaces
...
when changing the checker scripts and/or directly comitting to git head, please make sure to also run the checks first so you don't break the autobuilds
2022-07-21 03:20:45 +02:00
acqn
933e8c967d
Testcases for long bit-fields.
2022-07-21 03:20:45 +02:00
acqn
bf7ef02fbc
Added supports for long bit-fields.
2022-07-21 03:20:45 +02:00
acqn
3e614d9353
Separated data initializer stuff from declaration stuff.
2022-07-21 03:20:44 +02:00
acqn
087b7bd8c8
Optimized g_testbitfield() and g_extractbitfield() with enhanced support for long bit-fields.
2022-07-21 03:20:44 +02:00
acqn
ff1eca5701
Added and used new utility type functions for bit-fields.
...
Fixed GetUnderlyingTypeCode() for bit-fields with widths > 16.
2022-07-21 03:20:44 +02:00
Greg King
be5298925c
Oops, forgot to check macros.
2022-07-21 03:20:44 +02:00
Greg King
fb97ce4bfd
Remove work directory paths _before_ checking for style errors.
2022-07-21 03:20:44 +02:00
Greg King
1ea27c35d0
Moved a constant expression out of a loop.
2022-07-21 03:20:44 +02:00
Greg King
17b9f9c2a8
Fixed and tightenned the find commands' expressions.
2022-07-21 03:20:44 +02:00
Greg King
f8b05deef4
Made all of the Makefile's rules be phony.
2022-07-21 03:20:44 +02:00
mrdudz
37ebe3781b
define CHECK_PATH rather than leaving it open
2022-07-21 03:20:44 +02:00
mrdudz
3834232c29
also check spaces at end of lines
2022-07-21 03:20:44 +02:00
mrdudz
eec62257c7
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
9d3cdc5a10
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
b54fb2dfd1
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
78244351b7
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
cd1b7a9e9d
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
c6f23eefc8
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
5276033be1
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
eb8490f13a
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
c317319d09
remove dangling spaces
2022-07-21 03:20:44 +02:00
mrdudz
3e84da0aca
updated a bit
2022-07-21 03:20:44 +02:00
mrdudz
302016997a
add more style checks
2022-07-21 03:20:44 +02:00
mrdudz
2cc46e11d3
add comment explaining what the empty file is about
2022-07-21 03:20:44 +02:00
mrdudz
be22b8ad4d
add missing newline to a bunch of files
2022-07-21 03:20:44 +02:00
mrdudz
5d45c655bd
add check action also to the snapshot build
2022-07-21 03:20:44 +02:00
mrdudz
db20b1dc14
run style checks on PR
2022-07-21 03:20:44 +02:00
mrdudz
59d386e18f
added TAB checker script, to be added to the PR checker action
2022-07-21 03:20:44 +02:00
mrdudz
cbbdd3d9cf
remove a bunch of TABs
2022-07-21 03:20:44 +02:00
mrdudz
45cbb04a04
remove literal TABs
2022-07-21 03:20:44 +02:00
Bob Andrews
c611077e3d
Update README.md
...
link Contributing.md
2022-07-21 03:20:44 +02:00
Bob Andrews
722bdebd39
Create Contributing.md
...
Starting to move info hidden elsewhere into this file
2022-07-21 03:20:44 +02:00
mrdudz
175da4bcd6
add gitignores
2022-07-21 03:20:44 +02:00
Karri Kaksonen
f92e1f2e3c
Change polarity for 2600 buttons
2022-07-21 03:20:44 +02:00
Karri Kaksonen
851c65344c
Add comments
2022-07-21 03:20:44 +02:00
Karri Kaksonen
3ceae59857
Add stdjoy driver
2022-07-21 03:20:44 +02:00
Karri Kaksonen
cdf83d2a26
Fixed logic flaw
2022-07-21 03:20:44 +02:00
Karri Kaksonen
14956f3b15
Add atari7800-stdjoy
2022-07-21 03:20:44 +02:00
Fabrizio Caruso
1effa5944b
Optimize delete cycles
2022-07-21 03:20:44 +02:00
Fabrizio Caruso
3050e3afcd
Use lsr
2022-07-21 03:20:44 +02:00
Fabrizio Caruso
c40e099969
Ignore executables in util directory
2022-07-21 03:20:44 +02:00
Fabrizio Caruso
3d4772e1fe
Remove executables
2022-07-21 03:20:44 +02:00
Fabrizio Caruso
6b3920f9e0
Make the intermediate gray/green levels available
2022-07-21 03:20:44 +02:00
Fabrizio Caruso
fc6548db5c
Fix color 1 and 2 (grey/green levels)
2022-07-21 03:20:44 +02:00
polluks2
87e90b6e9a
Fixed documentation typo
2022-07-21 03:20:44 +02:00
Fabrizio Caruso
82cfbb5fa8
Fix Gamate CONIO: non-solid characters bug
2022-07-21 03:20:44 +02:00
Karri Kaksonen
6f11c4ffad
Export paldetected
2022-07-21 03:20:44 +02:00
Karri Kaksonen
ef13a470e8
Use proper mnemonics
2022-07-21 03:20:44 +02:00
Karri Kaksonen
fd305c1e31
Separate machine detection from crt0 and put it in get_tv
2022-07-21 03:20:44 +02:00
Karri Kaksonen
9fbeb68b22
Make STARTUP segment larger
2022-07-21 03:20:44 +02:00
Karri Kaksonen
cf8c7ee28d
Split clock file to components
2022-07-21 03:20:44 +02:00
Karri Kaksonen
218c98d4d5
Add get_tv.s
2022-07-21 03:20:44 +02:00
Karri Kaksonen
9cf4f166c0
Add more space to init segmen
2022-07-21 03:20:44 +02:00
Karri Kaksonen
7c12916718
Add irq handling, PAL/NTSC detection and clock()
2022-07-21 03:20:44 +02:00
Karri Kaksonen
76fae9da82
Add irq handling, PAL/NTSC detection and clock()
2022-07-21 03:20:44 +02:00
Karri Kaksonen
d099df0533
Clear hw palette and set AUDIN low at startup
2022-07-21 03:20:44 +02:00
Karri Kaksonen
926959d80a
Fix offset for MARIA
2022-07-21 03:20:44 +02:00
Karri Kaksonen
750ce30768
Make start of ROM depend on CARTSIZE
2022-07-21 03:20:44 +02:00
Karri Kaksonen
0be3882f08
Remove the EXEHDR from the default build
2022-07-21 03:20:44 +02:00
Karri Kaksonen
f7c59ee1ec
Add CARTSIZE to cfg file for configuring the a78 header. Add descriptions of usage.
2022-07-21 03:20:44 +02:00
Karri Kaksonen
db48605434
Update docs
2022-07-21 03:20:44 +02:00
Karri Kaksonen
d586c83dae
Add exehdr
2022-07-21 03:20:44 +02:00
Karri Kaksonen
dc75972e9e
Add exehdr
2022-07-21 03:20:44 +02:00
Karri Kaksonen
4cd32829ea
Add segment ONCE
2022-07-21 03:20:44 +02:00
Karri Kaksonen
3792347d5d
Add crt0.s and ctype.s
2022-07-21 03:20:44 +02:00
Karri Kaksonen
92043bc7c8
Remove garbage
2022-07-21 03:20:44 +02:00
Karri Kaksonen
e653204ffe
Add target atari7800
2022-07-21 03:20:44 +02:00
Karri Kaksonen
89716ac831
Add target atari7800
2022-07-21 03:20:44 +02:00
empathicqubit
06ddd042f2
Documentation
2022-07-21 03:20:44 +02:00
empathicqubit
2bd30afdeb
Add --debug-tables <filename> option and output struct and union fields
2022-07-21 03:20:44 +02:00
Greg King
314cdd7feb
Added Atari Lynx versions of three sample programs.
...
The Lynx target can't build the usual versions because its library doesn't have conio output and stdio.
2022-07-21 03:20:44 +02:00
Greg King
1951e84505
Made tgidemo draw circles in blue instead of orange.
...
That change lets it be built on two more platforms (Atmos, Telestrat).
2022-07-21 03:20:44 +02:00
Greg King
c6c199bd59
Added a URL to the snapshot's commit history as a comment in the Windows snapshot ZIPs.
2022-07-21 03:20:44 +02:00
nyanpasu64
aebf61464d
Replace #include "inttypes.h" with <inttypes.h>
2022-07-21 03:20:44 +02:00
nyanpasu64
8afbf3f5ff
Fix format strings to properly format uintptr_t
2022-07-21 03:20:44 +02:00
nyanpasu64
190e04b0ce
Remove broken inttypes.h
...
src/common/inttypes.h is a shim to fix building cc65 on
non-C99-compliant compilers missing inttypes.h (like VS2012 and
earlier). The shim is actually incomplete and does not define the PRI...
macros supplied by the actual compiler headers. Since we're planning to
use those macros, delete this header so cc65's source files instead use
host-supplied inttypes.h containing macro definitions.
2022-07-21 03:20:44 +02:00
nyanpasu64
b9651e4b06
Fix segfault on 64-bit LLP64 Windows builds
...
There are many occurrences of unsigned long in codegen.h's function
arguments. Changing g_getimmed and g_defdata makes `make` succeed
without segfaulting. I don't know if it makes cc65 behave correctly in
all cases, or if there are more unsigned long that need to be changed.
2022-07-21 03:20:44 +02:00
mrdudz
eb2f2a2fca
fix #warning directive so the test could actually compile :)
2022-07-21 03:20:44 +02:00
Wayne Parham
eb25027f7b
Minor updates
2022-07-21 03:20:44 +02:00
Wayne Parham
cb322551e5
Documentation clarifications
2022-07-21 03:20:44 +02:00
Wayne Parham
d6fe34107e
unsigned int format specifier
2022-07-21 03:20:44 +02:00
Wayne Parham
5dd952ba8c
Added Sym-1 extended memory sample program and documentation
2022-07-21 03:20:44 +02:00
Karri Kaksonen
4f9b30d50d
Fix black index in tgi_colors.s
2022-07-21 03:20:44 +02:00
Karri Kaksonen
b252059369
Mark index 0 as TRANSPARENT. Let palette start from index 1
2022-07-21 03:20:40 +02:00
Wayne Parham
12aa8693b8
Corrected size of BASROM definition
2022-07-21 03:18:13 +02:00
acqn
43abc5b01f
Fixed signed long comparisons with smaller unsigned types.
2022-07-21 03:18:13 +02:00
acqn
0dc82c0d11
Fixed test/asm/listing/Makefile with mingw32-make.exe that has problems with comments lead with tabulators.
2022-07-21 03:18:13 +02:00
acqn
e95184e20e
Testcase for #1675 .
2022-07-21 03:18:13 +02:00
acqn
f0242fb7d5
Fixed LimitExprValue() for 64-bit long env.
2022-07-21 03:18:13 +02:00
acqn
7e3aaf199a
Fixed bitwise shift with numeric constant operand(s).
2022-07-21 03:18:13 +02:00
Greg King
74bdc06529
Added a more general test to test/val/bug1690.c
2022-07-21 03:18:13 +02:00
acqn
1579d2ec41
Fixed OptCmp1 with certain code patterns with labels.
2022-07-21 03:18:13 +02:00
Jeff Tranter
93291add05
A couple of addtional fixes.
2022-07-21 03:18:13 +02:00
Jeff Tranter
ba13ba32a1
Fix some commonly made spelling errors in comments.
2022-07-21 03:18:13 +02:00
Greg King
cac1e26372
Made the c128, not the c64, target build the c128 version of "c64-c128-scpu-test.c".
...
Its placement in the wrong list caused a parallel race condition that sometimes led to failed test builds.
2022-07-21 03:18:13 +02:00
Greg King
9dcd7f8858
Reverted "do not use cl65 to prevent tests from failing randomly because of one process deleting the temp files from another".
...
This reverted commit 02a46e0237
. That commit didn't fix the real bug (a program name in the wrong list).
2022-07-21 03:18:13 +02:00
Spiro Trikaliotis
49bf32dc06
Add proper readmes
2022-07-21 03:18:13 +02:00
Spiro Trikaliotis
e85d7756a6
Rename target test to asm
2022-07-21 03:18:13 +02:00
Spiro Trikaliotis
2edd9543ce
Reorganized test/asm
2022-07-21 03:18:13 +02:00
mrdudz
14b27f8317
do not use cl65 to prevent tests from failing randomly because of one process deleting the temp files from another
2022-07-21 03:18:13 +02:00
Greg King
e4f38f4476
Made the snapshot-on-push Github action run on only the upstream repository.
2022-07-21 03:18:13 +02:00
Spiro Trikaliotis
77fa71994f
ca65: .constructor after .export fails
...
The actor directives (.constructor, .destructor, .interruptor, and .condes)
can't handle a symbol that's already exported.
The relevant code does the checks in the wrong order.
For example, the following correct snippet does not assemble:
.export C
C: .constructor C, 5
The assembler outputs: test.s:2: Error: Address size mismatch for symbol 'C'
Exchanging both lines makes it work.
This fixes #1647 ; the patch is provided by 'kugelfuhr' and taken from there.
2022-07-21 03:18:13 +02:00
Spiro Trikaliotis
bfaa2b37e0
Add link to DEB and RPM snapshots
2022-07-21 03:18:13 +02:00
Spiro Trikaliotis
e35f4fb48f
Invalid flagged errors if token is missing
...
A missing factor in an expression causes an expected but missing token
to be skipped, leading to invalid flagged errors in the following line:
l = 3 +
lda #$00
An error should be output for line 1, but not for line 2. Actually, both
are flagged as errors:
test.s(1): Error: Syntax error
test.s(2): Error: Unexpected trailing garbage characters
This patch (as proposed in issue #1634 by kugelfuhr) fixes this.
2022-07-21 03:18:13 +02:00
mrdudz
3b964c9674
add hint on VICE -moncommands
2022-07-21 03:18:13 +02:00
acqn
479f450d11
Testcase for #1662 .
2022-07-21 03:18:13 +02:00
acqn
ace0bc414b
Fixed anonymous bit-fields declared with typedef'ed type names.
2022-07-21 03:18:13 +02:00
acqn
879ed5bb95
Fixed crash with labels in non-function/block scopes.
2022-07-21 03:18:13 +02:00
Greg King
800568dd58
Added code that avoids infinite loops that were caused by circular references
...
(a symbol that was defined by referring to itself directly or indirectly). Patch by kugelfuhr.
2022-07-21 03:18:13 +02:00
mrdudz
2628a176f9
attempt to prevent utils being compiled with cc65
2022-07-21 03:18:13 +02:00
mrdudz
648c8e21e3
build utilities in a seperate step
2022-07-21 03:18:13 +02:00
Greg King
c138454bcc
Removed geos_apple and geos_cbm from the lists of targets.
...
They need resource files to go with the program source files. The top-level samples and targettest programs don't have those resources.
2022-07-21 03:18:13 +02:00
Greg King
bc46c90cfa
Added '+' to another SUBDIRS_recipe.
2022-07-21 03:18:13 +02:00
Greg King
9c1c1c04d8
Moved the platform-test enumerations from Github Actions over to makefiles.
...
Now, we can run those tests locally, as well as on Github.
2022-07-21 03:18:13 +02:00
Wayne Parham
bf46abf8c5
Correction of link typos
2022-07-21 03:18:13 +02:00
Wayne Parham
dd38de6263
Added note about return value being function status.
2022-07-21 03:18:13 +02:00
Wayne Parham
0302e7be97
Typo correction.
2022-07-21 03:18:13 +02:00
Wayne Parham
c60144afbb
Documentation updates for Sym-1.
2022-07-21 03:18:13 +02:00
mrdudz
138d2badb2
upload snapshot to sourceforge
2022-07-21 03:18:08 +02:00
mrdudz
b9bda8c40d
test upload again
2022-07-21 03:13:10 +02:00
mrdudz
561e973c5d
try publishing on sf after snapshot
2022-07-21 03:13:10 +02:00
mrdudz
76026ed59e
use gamate-fixcart from util dir
2022-07-21 03:13:10 +02:00
mrdudz
16acb7675e
move some things from targettest to samples
2022-07-21 03:13:10 +02:00
mrdudz
1af84ed9a0
fix this too
2022-07-21 03:13:10 +02:00
mrdudz
6129ff532b
fix again. sigh
2022-07-21 03:13:10 +02:00
mrdudz
f6e7a91fb4
fix
2022-07-21 03:13:10 +02:00
mrdudz
9509288b80
remove programs in util dir before making a snapshot. we might later
...
decide to leave them there anyway.
2022-07-21 03:13:10 +02:00
mrdudz
f800e71d7a
cleanup
2022-07-21 03:13:10 +02:00
mrdudz
0300d4fcd1
utils before samples
2022-07-21 03:13:10 +02:00
mrdudz
0046d8ec5c
build util dir when testing
2022-07-21 03:13:10 +02:00
mrdudz
bcc03acfc8
also compile the programs in the util directory by default, not only
...
do we want to test they can be compiled, but also samples may use/require
them. we might want to install them too, perhaps
2022-07-21 03:13:10 +02:00
Greg King
e0b23258dc
Added the names of samples and targettest programs that the telestrat library can build now.
2022-07-21 03:13:10 +02:00
Greg King
8bf9766e9e
Added to the telestrat library the name of the standard dynamic TGI driver.
2022-07-21 03:13:10 +02:00
Greg King
bdd7466afd
Added telestrat to <time.h>.
...
That library has clock().
2022-07-21 03:13:10 +02:00
polluks
2ed9df708f
Fixed many typos
2022-07-21 03:13:10 +02:00
polluks
ad95ba7854
Added tail call optimization
2022-07-21 03:13:10 +02:00
Oliver Schmidt
27f975666c
Disable double hires on exit.
...
A program being run afterwards might not even know about the existence of double hires. So it's our task to turn double hires off on exit.
2022-07-21 03:13:10 +02:00
Greg King
103d3ccfcd
Fixed the cart directory build code to handle even simple programs.
...
Carts can be built containing programs that don't link some segments.
2022-07-21 03:13:10 +02:00
Greg King
3885dd8504
Removed an obsolete command-line option from the cc65 compiler.
2022-07-21 03:13:10 +02:00
Greg King
5cad3ce55a
Fixed heaptest.c compiler warnings in a way that's better than PR #1621 .
...
This fix adds "unsigned" to one line instead of removing it from several lines.
2022-07-21 03:13:10 +02:00
mrdudz
f1e70517ec
the forgotten minimal testprog
2022-07-21 03:13:10 +02:00
mrdudz
afc80949e3
build targettest progrs for all targets
2022-07-21 03:13:10 +02:00
mrdudz
6eca9a6aac
fix Makefiles for all targets, dive into subdirs like in samples
2022-07-21 03:13:10 +02:00
polluks
33bb1a22ff
Removed the colour purple
...
This commit may break compatibility.
2022-07-21 03:13:10 +02:00
polluks
df662f4b66
Added more purple (rain)
2022-07-21 03:13:10 +02:00
polluks
d6349e0f92
Save a few bytes
2022-07-21 03:13:10 +02:00
mrdudz
69346960b8
samples makefile already goes through the subdirs correctly
2022-07-21 03:13:10 +02:00
mrdudz
7a0d630d1b
actually use all targets for the samples dir
2022-07-21 03:13:10 +02:00
mrdudz
f82208b009
fix for atari5200
2022-07-21 03:13:10 +02:00
mrdudz
1e7886b9c7
build samples for all targets
2022-07-21 03:13:10 +02:00
polluks
5f151b1316
Revert commits
2022-07-21 03:13:10 +02:00
mrdudz
09f2dc8d69
comment out all the non working targets
2022-07-21 03:13:10 +02:00
mrdudz
e602d6e9c3
add sym1 target
2022-07-21 03:13:10 +02:00
mrdudz
3fbfddc5fb
fix pathes
2022-07-21 03:13:10 +02:00
mrdudz
53fed67bbc
fix pathes
2022-07-21 03:13:10 +02:00
mrdudz
8867d55b83
and another
2022-07-21 03:13:10 +02:00
mrdudz
f2ac6796aa
another try
2022-07-21 03:13:10 +02:00
mrdudz
e9e9d7aab8
iterate through all targettest builds
2022-07-21 03:13:10 +02:00
Sven Michael Klose
24a9886717
mostlyclean: Clean up.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
a45a92a71f
main(): No return value.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
a60ac67783
main(): Re-introduce return value. Compiler rejects 'void'.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
d23c83dd1e
Remove command line arguments and return value from main().
2022-07-21 03:13:10 +02:00
Sven Michael Klose
d5591bc184
Make label file for c610 platform.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
6aabee0564
Remove -t option for linker only.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
a5ca1928f5
Use -t option alongside -C.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
582c2f65e3
Use suffix '.lbl' instead of '.lst'.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
0ac1b8d6b1
Remove most compiler warnings.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
20f7320bae
cbmdir-test for VICs needs memory expansion.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
4bc9a9d9cc
Make VICE monitor command lists for Commodore platforms.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
b40c76a632
Do not compile petscii test for unsupported platforms.
...
Only C64 is supported.
2022-07-21 03:13:10 +02:00
Matthew D. Steele
815e30c47f
Add space after function names
2022-07-21 03:13:10 +02:00
Matthew D. Steele
db02a89b5d
Move local variable declaration to top of block
2022-07-21 03:13:10 +02:00
Matthew D. Steele
ceca1c496d
Adjust Pop() sequencing in paravirt.c
2022-07-21 03:13:10 +02:00
Matthew D. Steele
623e951e33
Fix Pop() implementation in src/sim65/paravirt.c ( fixes #1625 )
...
The Pop() function was not handling stack pointer wrap around correctly.
Also, change the simulated RTS implementation in ParaVirtHooks() to
explicitly sequence the two Pop() calls in the correct order.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
c2608599aa
More strict printf() format string.
2022-07-21 03:13:10 +02:00
Sven Michael Klose
d29ec4c800
Move strnlen() to non-ANSI section.
2022-07-21 03:13:09 +02:00
Sven Michael Klose
34e03fd9ec
Add test of strnlen().
2022-07-21 03:13:09 +02:00
Sven Michael Klose
2c27c075a9
strnlen(): Add comment with POSIX standard.
2022-07-21 03:13:09 +02:00
Sven Michael Klose
3ee9b35080
Fix strnlen().
2022-07-21 03:13:09 +02:00
Sven Michael Klose
88fdaeb490
Add standard C library function strnlen().
2022-07-21 03:13:09 +02:00
Daniel Lehenbauer
be594912eb
asminc/pet.inc: Add PIA1 & PIA2
2022-07-21 03:13:09 +02:00
Christian Groessler
ded575c477
put Atari 20-column note to where it belongs...
2022-07-21 03:13:09 +02:00
Scott Prive
caa74b325d
document special case on sub 40-col modes
2022-07-21 03:13:09 +02:00
polluks2
a270a56a71
Wrong platform
...
There was no conio for Lynx
````
../bin/ld65 -o mandelbrot -t lynx -m mandelbrot.map mandelbrot.o lynx.lib
mandelbrot.s:516: Error: Unresolved external '_clrscr'
conio/vcprintf.s:85: Error: Unresolved external '_cputc'
conio/cputs.s:25: Error: Unresolved external '_cputc'
conio/cputs.s:15: Error: Unresolved external 'gotoxy'
ld65: Error: 3 unresolved external(s) found - cannot create output file
make: *** [mandelbrot] Error 1
````
2022-07-21 03:13:09 +02:00
Greg King
baa582ac0b
Made cbm_open() be more efficient.
...
The fastcall argument doesn't need to be put on a stack. SETNAM can be called before SETLFS.
2022-07-21 03:13:09 +02:00
polluks2
5b97a74dbc
Delete c-cpp.yml
2022-07-21 03:13:09 +02:00
Greg King
e1ef1325ec
Put the alignment decrement code back into posix_memalign().
...
Without that code, the function returns a very broken pointer.
2022-07-21 03:13:09 +02:00
Oliver Schmidt
152241f26c
Don't rely on (actually changed) unspecified compiler behavior.
2022-07-21 03:13:09 +02:00
polluks2
a08f9e51a0
Fixed many typos
2022-07-21 03:13:09 +02:00
polluks2
7a0a0edb89
Fixed many typos
2022-07-21 03:13:09 +02:00
polluks2
5afc349199
Fixed typo
2022-07-21 03:13:09 +02:00
Greg King
dd27a66a7b
Install system packages before checking out the repo.
2022-07-21 03:13:09 +02:00
Greg King
81930053dd
Used (size_t), instead of (long) where converting between pointers and integers.
...
(long) still is 32 bits on 64-bit Windows!
2022-07-21 03:13:09 +02:00
Greg King
c143dd1f41
Added a 64-bit Windows cross-compile.
...
That compiler catches pointer-integer width mismatches that other compilers ignore.
2022-07-21 03:13:09 +02:00
Greg King
32253a4e51
Removed unneeded package names.
...
sshpass isn't needed because the Windows packages are put on Github.
linuxdoc-tools is a dependency of linuxdoc-tools-info.
The binutils package is a dependency of the gcc package.
2022-07-21 03:13:09 +02:00
Greg King
67fc9a4d36
Changed a big script into separate named steps.
...
It makes the job log easier to navigate.
Also, Pull Requests don't need a Zip file.
2022-07-21 03:13:09 +02:00
Oliver Schmidt
919645f283
Updated URL and improved consistency.
2022-07-21 03:13:09 +02:00
polluks
687c8052ae
Save a few bytes
2022-07-21 03:13:09 +02:00
polluks2
6c1c260e7b
Create c-cpp.yml
2022-07-21 03:13:09 +02:00
polluks2
27bfc8e35f
Update README.md
...
Commander X16
2022-07-21 03:13:07 +02:00
Bob Andrews
19ddffecba
Merge pull request #1770 from devkev/lynx_darkbrown
...
lynx: fix TGI_COLOR_DARKBROWN
2022-07-21 00:03:37 +02:00
Bob Andrews
dcbd75f6bf
Merge pull request #1760 from polluks2/master
...
Fixed term #1553
2022-07-21 00:02:13 +02:00
Bob Andrews
6a8160c374
Merge pull request #1756 from polluks2/patch-4
...
Fixed typo
2022-07-21 00:02:01 +02:00
Bob Andrews
092c0a6531
Update lynx.h
...
remove TGI_COLOR_DARKBROWN
2022-07-20 23:54:57 +02:00
Bob Andrews
560317c8ba
Merge pull request #1789 from acqn/PPDiagnostics
...
[cc65] Fixed ICE with duplicate macro parameters
2022-07-19 17:38:29 +02:00
Bob Andrews
6b0afe0834
Merge pull request #1785 from acqn/Effectless
...
[cc65] Avoid generating asm from C code that has no observable effects
2022-07-19 17:38:03 +02:00
Bob Andrews
c802980d6a
Merge pull request #1784 from acqn/Diagnostics
...
[cc65] Slight improvements on diagnostics
2022-07-19 17:37:42 +02:00
Bob Andrews
82b268ee50
Merge pull request #1783 from acqn/MiscFixes
...
[cc65] Misc fixes and improvements
2022-07-19 17:37:19 +02:00
mrdudz
7165b29809
omit an error message also when an unresolved import was added by the compiler. fixes bug #1551
2022-07-14 22:54:18 +02:00
mrdudz
a6b807b1d8
more verbose comment
2022-07-14 22:39:29 +02:00
mrdudz
16bf472e66
reserve enough space for the longest string we can expect
2022-07-13 23:10:19 +02:00
acqn
9e3b759540
Fixed ICE with duplicate macro parameters.
2022-07-05 22:22:49 +08:00
Bob Andrews
e95db437a9
Merge pull request #1781 from jedeoric/cfg_telestrat_start_addr
...
Telestrat : change default start address
2022-06-25 00:34:36 +02:00
jede
e0718314b3
Telestrat cfg : fix space
2022-06-25 00:21:19 +02:00
jede
590de7566d
Telestrat : change default start address
2022-06-25 00:19:21 +02:00
Spiro Trikaliotis
6b7d23ca74
isequal with --wildcard: Allow DOS/Win paths
...
Allow a colon (':') at the second position of a DOS or Windows path, so
a path with drive specifier (i.e., "c:") is recognized as a path of the
wildcard should end with a colon.
2022-06-22 21:23:44 +02:00
Spiro Trikaliotis
a7b2a92fc2
isequal: add --wildcards option
2022-06-21 22:23:10 +02:00
Spiro Trikaliotis
c738c94935
Debugging fix
2022-06-20 23:13:49 +02:00
Spiro Trikaliotis
0d7fba2332
More make test output for debugging
2022-06-20 23:10:32 +02:00
Spiro Trikaliotis
b5b3654017
Un-silence Make
2022-06-20 23:07:36 +02:00
Spiro Trikaliotis
aa64234707
Testcases for case
2022-06-20 23:03:12 +02:00
Spiro Trikaliotis
3a5fee75a3
Remove TAB for reference file, too
2022-06-20 22:57:20 +02:00
Spiro Trikaliotis
b816ee6676
Remove TABs again
2022-06-20 22:53:46 +02:00
Spiro Trikaliotis
b3846ee1c4
Complete check of ld65 output
...
ld65 output was only checked for listing build before. No, both builds
are tested separately for better test coverage.
2022-06-20 22:19:22 +02:00
Spiro Trikaliotis
343bc1a489
More assert tests
...
Also test ldwarning and lderror options.
2022-06-20 22:16:55 +02:00
Spiro Trikaliotis
e9888a0c28
testcase for ca65 .align
2022-06-20 22:01:01 +02:00
Spiro Trikaliotis
77a6ea3704
Makefile fix for ld65 error processing
2022-06-20 16:34:14 +02:00
Spiro Trikaliotis
7476c86ba9
More .assert testcases
...
Add testcases with error generation.
2022-06-20 16:33:25 +02:00
Spiro Trikaliotis
2040da0520
Reorga of test/asm/listing/
...
add ref/ and control/ subdirectories, so the control files and result
files do not clutter the directory, and it is clear which file has which
purpose.
2022-06-20 16:30:51 +02:00
Greg King
68da626d9c
Removed an environment experiment.
2022-06-20 03:08:47 -04:00
Spiro Trikaliotis
e17cb6d602
isequal: add --skip for both left and right file
...
isequal: New option --skip as a shortcut for --skipleft and --skipright
at once.
Use that for the .list-ref files, so they now contain the first line of
the output, too, which is ignored.
2022-06-19 22:42:44 +02:00
Spiro Trikaliotis
1446b7dcc3
isequal: Add options for better handling
...
--binary: handled binary files
--empty: check if file is empty
--skipleft=<n>: Skip <n> lines at the start of the left (first) file
--skipright=<n>: Skip <n> lines at the start of the right (second) file
Note that --binary, --empty and one or both of --skipXXX are mutual
exclusive; that is, you cannot specify more than one of them at the same
time, or the behaviour will be unpredictable.
2022-06-18 23:50:26 +02:00
Spiro Trikaliotis
297a11fcec
Add more assert tests
2022-06-18 22:22:27 +02:00
Spiro Trikaliotis
794ebd7a0b
Test cases for .assert warnings
2022-06-18 21:04:36 +02:00
Greg King
16d259d2b4
Commented out the push command.
2022-06-17 21:44:42 -04:00
Greg King
268823fdbb
Changed a line that Github Actions claimed was bad.
2022-06-17 21:22:43 -04:00
Greg King
a0e0c789db
Went back to using actions/checkout@v2.
...
(Direct cloning doesn't support pushing with a hidden token.)
I'm putting this aside, for now. A Personal Access Token must be made for the repository. "git push" does a dry-run, so that the workflow will succeed.
2022-06-17 18:42:12 -04:00
Greg King
65c8b49430
Passed the token through the environment.
2022-06-17 13:52:45 -04:00
Greg King
43c0f5ecd7
Directly clone the document repo.
2022-06-17 12:58:56 -04:00
Greg King
997c67de35
Put doc.git next to cc65.
2022-06-17 09:00:53 -04:00
Greg King
0dab508c75
Find out where doc.git is.
2022-06-17 08:35:06 -04:00
Greg King
3f314c0ee9
Fixed the action/checkout steps.
...
I misunderstood that action's docs.
2022-06-17 08:18:51 -04:00
Greg King
86d68bea8c
Experiment: checkout the second repo first.
...
Maybe that will give it the github.token that it needs.
2022-06-17 08:06:21 -04:00
Greg King
b4231401bd
Trying a verbose Git push.
...
If I'm lucky, it will tell me more.
2022-06-17 05:38:59 -04:00
Greg King
0d5dbb2ce2
Tried to authorize a push by setting the access token explicitly.
2022-06-17 03:46:31 -04:00
Greg King
5b0023c3df
Fixed a shell syntax bug. Try again.
2022-06-17 02:30:52 -04:00
Greg King
1628efd569
Added Github action steps that update the online documentation repo.
2022-06-17 01:44:40 -04:00
Spiro Trikaliotis
a9e0dba991
Remove TAB to comply to style
2022-06-16 21:59:37 +02:00
Spiro Trikaliotis
48ae6716ad
Some test cases for ca65
2022-06-16 20:57:53 +02:00
Kevin Pulo
3ef8dd3c0c
lynx: fix TGI_COLOR_DARKBROWN
2022-06-16 15:06:02 +10:00
David W Plummer
db44d59f7c
Update README.md
2022-06-06 15:17:39 -07:00
David W Plummer
46541237e0
Add to contributor list for KIM-1 target
2022-06-06 15:17:19 -07:00
Dave Plummer
8f9777d9e0
Fix ushot overflow, capitalization
2022-06-06 15:14:01 -07:00
mrdudz
5aa75ae81f
handle loadaddr the same as with the other CBM targets
2022-06-06 14:01:16 +02:00
Dave Plummer
799aec23a6
Add KIM-1 Support
2022-06-04 13:00:48 -07:00
Bob Andrews
30dc9b8d1a
Merge pull request #1755 from rofl0r/fix_target_path
...
cl65: fix regression in --print-target-path
2022-06-04 16:33:46 +02:00
polluks2
e6e93f3d18
Fixed term #1553
2022-06-03 12:36:04 +02:00
polluks2
c2b8479ea3
Fixed typo
2022-05-30 17:10:33 +02:00
rofl0r
94e7b11870
cl65: fix regression in --print-target-path
...
since the "empty prefix means run from current dir" hack was removed,
cl65 --print-target-path no longer prints the path relative to the
binary, but the hardcoded library path which points to prefix, because
the code adds the hardcoded path first to the pathsearch, but then actually
only returns the first entry rather than looking whether the path exists.
closes #1754
2022-05-30 12:22:02 +00:00
Bob Andrews
dcdf7ade08
Merge pull request #1748 from smuehlst/issue-1747
...
Fix switched meaning of '\n' and '\r' for osic1p target
2022-05-19 01:04:17 +02:00
Stephan Mühlstrasser
44257b9b4a
Fix switched meaning of '\n' and '\r'
...
When conio was implemented for the osic1p target, the cbm
target was used as a blueprint. But it was overlooked that the
cbm target encodes CR as 0x0A and LF as 0x0D, while the
osic1p target uses the ASCII encoding of CR and LF. Therefore
conio output of '\n' moved the active position to the start of the
line and '\r' moved the active position to the next line.
This change implements the correct semantics of '\n' and '\r'
in conio for the osic1p target.
Fixes #1747 .
2022-05-18 18:57:52 +02:00
Greg King
93e94c8dea
Fixed a multi-line comment.
...
The left border is thicker in cc65 than it is in VICE.
2022-05-18 05:09:48 -04:00
Bob Andrews
93ee91fb4b
Merge pull request #1644 from polluks2/missing-purple
...
Added more purple and removed the colour violet
2022-05-17 15:54:59 +02:00
Bob Andrews
e0cc3650e4
Merge branch 'master' into missing-purple
2022-05-17 15:34:51 +02:00
mrdudz
d30fc65dd5
add check for +x flag
2022-05-17 15:28:51 +02:00
mrdudz
91199c57e8
remove +x flag
2022-05-17 15:28:51 +02:00
Bob Andrews
25efedf3e6
Merge pull request #1745 from Compyx/codeopt-unused-var-fix
...
Fix set but unused variable
2022-05-17 14:47:19 +02:00
mrdudz
0f291aee86
rename the actual checkstyle target too :)
2022-05-17 14:39:35 +02:00
mrdudz
75441afb71
rename the "check" target to "checkstyle".
...
also created a new "check" target which runs all tests, as it is common with GNU programs
2022-05-17 14:30:41 +02:00
mrdudz
1a5852ab91
don't try to build the checkversion sample for targets that do not have printf
2022-05-17 13:52:30 +02:00
mrdudz
4674b09421
clean and mostlyclean should also clean the test and targettest directories
2022-05-17 13:25:12 +02:00
compyx
2fdb1e6b0d
Fix set but unused variable
2022-05-17 10:05:25 +02:00
Bob Andrews
8328bbf51d
Update README.md
2022-05-10 01:56:52 +02:00
Bob Andrews
4da7e1553f
Merge pull request #1676 from polluks2/patch-1
...
smarter manufacturer
2022-05-10 01:32:10 +02:00
mrdudz
8062f8d029
sample program that demonstrates how to compare the value of __CC65__ for
...
any version of the compiler
2022-05-10 01:16:19 +02:00
mrdudz
1b73ffb8ae
document changes to __CC65__
2022-05-10 01:13:24 +02:00
mrdudz
f67fb3b326
define __CC65__ as ((VER_MAJOR * 0x100) + VER_MINOR), fixes issue #1667
2022-05-10 01:12:13 +02:00
mrdudz
1c3d386e09
simple test related to #1678
2022-05-09 21:27:21 +02:00
mrdudz
b6ffa4af64
Fix endless loop on expanding a recursive macro, fixed issue #1678 , patch by kugelfuhr
2022-05-09 21:26:45 +02:00
mrdudz
1abb5f4734
Add a directory for tests that exercise the supported C standard differences.
...
As a first test added the snippet given in issue #1670
2022-05-08 19:29:57 +02:00
mrdudz
3640beaa46
fix some header files to conform with C99 hopefully, should fix issue #1670
2022-05-08 19:29:57 +02:00
mrdudz
d0ac06c9b0
must include stdarg.h to use varargs
2022-05-08 19:29:57 +02:00
Bob Andrews
1c34d798be
Update Contributing.md
2022-05-08 19:27:32 +02:00
Bob Andrews
fc4faa582a
Update Contributing.md
2022-05-08 18:46:12 +02:00
mrdudz
43af562ce1
At the end of the optimizer run, remove jump cascades again. fixes the
...
regression reported in #1652
2022-05-08 13:22:10 +02:00
mrdudz
5813fd81d3
add extra optimizer step that replaces BRA by JMP if the target is external
2022-05-08 13:20:18 +02:00
mrdudz
e6b9a4b292
test related to issue #1652 , shows regression broken by #1231 and the
...
case that #1231 improved.
2022-05-08 13:19:32 +02:00
mrdudz
e0ae8ddc68
add sourcelines to the generated asm for easier inspection,
...
redirect output of sim65, including cycle count, into a seperate .out file per program
2022-05-08 13:18:27 +02:00
Bob Andrews
8bdc3b092c
Update Contributing.md
2022-05-06 22:13:33 +02:00
Bob Andrews
2314cddb5a
Merge pull request #1718 from polluks2/patch-2
...
Some clean-up
2022-05-06 13:08:14 +02:00
Bob Andrews
61bd7be6be
Merge pull request #1725 from polluks2/patch-4
...
typo in markdown
2022-05-06 13:05:01 +02:00
Bob Andrews
9beedbafdd
Merge pull request #1735 from rofl0r/empty_prefix
...
build: allow empty prefix - should this break on Amiga or other non POSIX systems, please speak up
2022-05-06 13:04:00 +02:00
Bob Andrews
14c7ae6f0c
Merge pull request #1742 from jedeoric/mkdir_fix_telestrat
...
Mkdir : fix registers calls
2022-05-06 13:00:03 +02:00
jede
47743d5fcf
fix space
2022-05-05 22:50:37 +02:00
jede
348ea815b0
fix mkdir
2022-05-05 22:43:06 +02:00
Bob Andrews
71cec58d86
Adjust comments
2022-05-05 14:24:02 +02:00
Bob Andrews
b8f7167dcd
Merge pull request #1729 from jedeoric/fix_fd_cleaning_telestrat
...
[Telestrat] missing fd_management and cleaning
2022-05-04 02:34:58 +02:00
Bob Andrews
0fc1fb4a36
Merge pull request #1740 from WayneParham/master
...
Added myself as an external contributor for the Sym-1 target
2022-05-02 18:58:22 +02:00
Wayne Parham
f34bd59660
Added myself as an external contributor for the Sym-1 target
2022-05-02 11:44:47 -05:00
rofl0r
20dd6fd872
change GetProgPath() to return full & resolved binary path
...
GetProgPath() now resolves the path derived from argv[0] always
via realpath(3p) to its real location in the filesystem, and returns
the path including binary name, effectively making it work like
windows' GetModuleFileName(), so we can re-use the existing code
to strip the trailing binary name.
since symlinks are now always resolved, we no longer need the
special case code for linux to use /proc/self/exe for this purpose.
2022-05-02 08:22:21 +00:00
Bob Andrews
74f92564c3
Try reading from /proc/self first on linux, this is needed to make the edgy "make avail" work
2022-04-30 15:01:58 +02:00
Greg King
a5e69e7ea6
Upgraded the cx16 library to the Commander X16 Kernal ROM's prerelease 39.
2022-04-29 16:56:54 -04:00
rofl0r
d78672a4b4
rename AddSubSearchPathFromWinBin to AddSubSearchPathFromBin
2022-04-28 18:35:05 +00:00
rofl0r
b32c12dd83
implement AddSubSearchPathFromWinBin() counterpart for unix
...
this looks up paths relative to the binary used to start the
specific application.
2022-04-28 18:35:05 +00:00
Bob Andrews
75ee10478e
Update Contributing.md
2022-04-28 15:14:34 +02:00
rofl0r
8669710c0f
build: allow empty prefix
...
there was some concern that this will break windows' way of doing
file lookups relatively from the binary, rather than via hardcoded
locations, but so far each occurence adding e.g. "CA65_INC" to
the pathsearch is already shielded with an #ifndef _WIN32.
addressing #1726
2022-04-27 16:19:06 +00:00
Bob Andrews
ba5859f724
Update README.md
2022-04-27 14:25:46 +02:00
Bob Andrews
e5b08baf56
Merge pull request #1724 from mrdudz/constexpr
...
Constexpr
2022-04-27 11:47:41 +02:00
mrdudz
f7a5f6ed73
test some more cases that should not change size
2022-04-26 17:08:19 +02:00
mrdudz
a3ae28a81c
added a test that must fail
2022-04-26 17:07:57 +02:00
mrdudz
7c7c5af59f
Merge remote-tracking branch 'upstream/master' into constexpr
2022-04-26 16:43:10 +02:00
Bob Andrews
01f151c3ab
Merge pull request #1734 from jedeoric/fix_kbhit
...
[Telestrat] Kbhit fix
2022-04-26 16:33:18 +02:00
jede
4bfd57153f
fix bss
2022-04-26 14:14:27 +02:00
Bob Andrews
c34d6f0ea0
Merge pull request #1731 from rofl0r/paths_as_strings
...
build: properly quote strings passed as cpp macros
2022-04-26 12:26:12 +02:00
jede
4474ed2668
fix space
2022-04-26 11:10:07 +02:00
jede
1281032f33
FIX space
2022-04-26 10:23:38 +02:00
jede
e9597e8721
cgetc export data now
2022-04-26 00:40:16 +02:00
rofl0r
13081e0989
remove orphaned STRINGIZE macro
2022-04-25 17:12:09 +00:00
rofl0r
bf1ef6157c
build: properly quote strings passed as cpp macros
...
until now, the strings intended to be hardcoded into the binary,
such as directory names and build id, were passed unquoted, which
means they're interpreted by the preprocessor as C tokens, rather
than strings, which can result in all sorts of "interesting"
behaviour such as interpreting paths starting with // as C++-style
comment.
this was then worked around using a stringize macro which turned
the tokens into a string (if they happened to be in a compatible
format).
adresses #1726
2022-04-25 16:52:46 +00:00
Bob Andrews
95b22298ab
Merge pull request #1730 from rofl0r/verbose_build
...
build: allow the user to specify make V=1 for verbose build
2022-04-25 17:25:40 +02:00
rofl0r
d8482fbd57
build: allow the user to specify make V=1 for verbose build
...
it's often required to see the full commandline when things go wrong.
the standard way for Makefile-only based buildsystems and autoconf
is to pass V=1 to make.
2022-04-25 14:58:38 +00:00
Bob Andrews
f9ba3b734c
Merge pull request #1715 from karrika/atari7800conio
...
[atari7800] conio
2022-04-24 17:27:12 +02:00
jede
8f40243315
fix spaces
2022-04-24 15:15:10 +02:00
jede
8c26b837ef
fix typo
2022-04-24 00:41:12 +02:00
jede
c48df98145
missing fd_management and cleaning
2022-04-24 00:39:04 +02:00
Karri Kaksonen
f4260ed7bc
Speed up the cursor a bit
2022-04-22 06:51:35 +03:00
Karri Kaksonen
c6decc7bb8
Move cursor IRQ processing to when the screen is being drawn
2022-04-21 21:54:33 +03:00
mrdudz
23831f08de
const value should never have default size, use 32bit instead
2022-04-21 14:50:48 +02:00
mrdudz
fd02cbed9d
fix workdir path
2022-04-20 14:54:44 +02:00
mrdudz
99919d2899
added a testprogram to check for some of the edge cases
2022-04-20 14:50:42 +02:00
Karri Kaksonen
643e88f9cb
Merge branch 'cc65:master' into atari7800conio
2022-04-20 15:31:00 +03:00
Bob Andrews
451acb3423
Update Contributing.md
2022-04-20 14:28:34 +02:00
mrdudz
a0280d4917
Also handle the case when the non constant side of the AND expression is
...
known to have a smaller size than the constant side of the expression.
2022-04-20 12:53:34 +02:00
polluks2
3ad83f2191
typo
2022-04-20 12:49:30 +02:00
mrdudz
f64bf76ae8
special case for evaluating the AND operator, this should fix the problems
...
described in issue #1538
2022-04-20 00:13:34 +02:00
mrdudz
8d0098b818
more descriptive error message
2022-04-20 00:12:03 +02:00
mrdudz
89fcb0d404
typo
2022-04-20 00:11:24 +02:00
Karri Kaksonen
c0f23d24ad
Merge branch 'cc65:master' into atari7800conio
2022-04-19 22:07:54 +03:00
Karri Kaksonen
fc244f6b95
Too much time in irq fix
2022-04-19 21:31:16 +03:00
Karri Kaksonen
26787ba380
Fix race condition
2022-04-19 20:01:47 +03:00
mrdudz
e2ad9efe41
Merge remote-tracking branch 'upstream/master'
2022-04-19 14:49:51 +02:00
Karri Kaksonen
f44af28a31
Merge branch 'atari7800conio' of github.com:karrika/cc65 into atari7800conio
2022-04-19 10:34:21 +03:00
Karri Kaksonen
eed8cec726
Add documentation
2022-04-19 10:33:58 +03:00
Karri Kaksonen
890a181ae5
Add color setup
2022-04-19 10:32:22 +03:00
Karri Kaksonen
6a9eeeb5b0
Rename font
2022-04-19 10:31:51 +03:00
Greg King
6ea1f8ee85
Made the style-check scripts send their file lists to stderr.
...
A complete list will be shown before make shows its error message. There will be less confusion about which lines are in the list.
2022-04-18 19:47:02 -04:00
Karri Kaksonen
787d5c57ad
Merge branch 'cc65:master' into atari7800conio
2022-04-18 20:22:15 +03:00
Bob Andrews
47366cbbf6
use jmp instead of jsr/rts
2022-04-18 17:49:12 +02:00
mrdudz
ece6f10588
remove dangling spaces
...
when changing the checker scripts and/or directly comitting to git head, please make sure to also run the checks first so you don't break the autobuilds
2022-04-18 17:43:56 +02:00
Karri Kaksonen
6671a92a8e
Not sharing umula0 and fix cursor bug
2022-04-18 13:49:29 +03:00
Karri Kaksonen
6a6aa094fa
Merge branch 'cc65:master' into atari7800conio
2022-04-18 12:40:18 +03:00
Karri Kaksonen
33f12acbc9
Fix typo
2022-04-18 12:26:21 +03:00
Karri Kaksonen
20ce50e8db
Use consisten line lenght values
2022-04-18 12:21:12 +03:00
Karri Kaksonen
53337f8171
Fix wrong screen in
2022-04-18 12:12:30 +03:00
Karri Kaksonen
b195c10a4c
Fix tabs
2022-04-18 12:09:19 +03:00
Karri Kaksonen
dbd39c63a9
Fix tabs
2022-04-18 12:05:36 +03:00
Karri Kaksonen
45c4f7d46f
Add mono conio files
2022-04-18 11:59:54 +03:00
Karri Kaksonen
4fc1270110
Add mono conio files
2022-04-18 11:59:06 +03:00
Bob Andrews
35153a6dca
Merge pull request #1677 from acqn/LongBitField
...
[cc65] Added support for long-type bit-fields
2022-04-18 10:01:18 +02:00
Greg King
2cdccd5e8a
Oops, forgot to check macros.
2022-04-17 19:10:29 -04:00
Greg King
5839298203
Remove work directory paths _before_ checking for style errors.
2022-04-17 16:10:28 -04:00
Greg King
a4e1cf9a0a
Moved a constant expression out of a loop.
2022-04-17 15:08:42 -04:00
Greg King
86ca11222a
Fixed and tightenned the find commands' expressions.
2022-04-17 15:04:36 -04:00
Greg King
b2319f3578
Made all of the Makefile's rules be phony.
2022-04-17 15:04:16 -04:00
mrdudz
e9fec5e3fe
define CHECK_PATH rather than leaving it open
2022-04-17 17:12:52 +02:00
mrdudz
4e3bba0c3f
also check spaces at end of lines
2022-04-17 16:08:21 +02:00
mrdudz
92e16432f7
remove dangling spaces
2022-04-17 16:08:04 +02:00
mrdudz
0129622383
remove dangling spaces
2022-04-17 16:07:52 +02:00
mrdudz
1be54d13bc
remove dangling spaces
2022-04-17 16:07:20 +02:00
mrdudz
3c1bb85b8e
remove dangling spaces
2022-04-17 16:07:09 +02:00
mrdudz
299f967527
remove dangling spaces
2022-04-17 16:06:45 +02:00
mrdudz
f8f901b05e
remove dangling spaces
2022-04-17 16:06:22 +02:00
mrdudz
3c1641e3e3
remove dangling spaces
2022-04-17 16:05:19 +02:00
mrdudz
680f0c17f5
remove dangling spaces
2022-04-17 16:05:10 +02:00
mrdudz
bfb8568a5f
remove dangling spaces
2022-04-17 16:04:58 +02:00
mrdudz
945291fd69
updated a bit
2022-04-16 22:08:03 +02:00
Karri Kaksonen
9fecf0b2cc
Add info
2022-04-16 21:54:52 +03:00
Karri Kaksonen
1486886e13
Add info
2022-04-16 21:48:57 +03:00
Karri Kaksonen
1585a0532a
Add x=0 to textcolor
2022-04-16 21:32:22 +03:00
Karri Kaksonen
702045cce1
Fix tabs
2022-04-16 21:22:44 +03:00
Karri Kaksonen
ecd1040e07
Remove obsolete file and fix tabs
2022-04-16 21:21:35 +03:00
Karri Kaksonen
ce4d1e0e54
Remove obsolete file and fix tabs
2022-04-16 21:21:27 +03:00
Karri Kaksonen
422d245cab
Split files
2022-04-16 21:13:51 +03:00
mrdudz
eb04ce8190
add more style checks
2022-04-16 20:00:10 +02:00
mrdudz
c977afe0b8
add comment explaining what the empty file is about
2022-04-16 19:59:25 +02:00
mrdudz
8cacfa70d5
add missing newline to a bunch of files
2022-04-16 19:51:48 +02:00
mrdudz
fd6662bb64
add check action also to the snapshot build
2022-04-16 18:32:49 +02:00
mrdudz
4c58757064
run style checks on PR
2022-04-16 18:21:57 +02:00
mrdudz
4b492ed4e5
added TAB checker script, to be added to the PR checker action
2022-04-16 18:18:51 +02:00
mrdudz
2eb20b3e8a
remove a bunch of TABs
2022-04-16 18:16:14 +02:00
Karri Kaksonen
cdc6e1c61f
Split files
2022-04-16 19:15:19 +03:00
Karri Kaksonen
81e804ed7f
Split files
2022-04-16 19:15:06 +03:00
mrdudz
3dd9ed0414
remove literal TABs
2022-04-16 17:36:25 +02:00
Bob Andrews
72e548fa84
Update README.md
...
link Contributing.md
2022-04-16 16:20:48 +02:00
Bob Andrews
e385ec1b5e
Create Contributing.md
...
Starting to move info hidden elsewhere into this file
2022-04-16 16:17:50 +02:00
mrdudz
f74ce463b2
add gitignores
2022-04-16 15:24:41 +02:00
Karri Kaksonen
5c648d545d
Import conio automatically
2022-04-14 21:52:57 +03:00
Karri Kaksonen
18e27d6162
Change attributes on gotoxy
2022-04-10 19:35:29 +03:00
Karri Kaksonen
d287a0afa1
Change order of gotox gotoy for correct x after newline
2022-04-10 14:43:18 +03:00
Karri Kaksonen
a05f513779
Remove duplicate code
2022-04-09 07:37:07 +03:00
Karri Kaksonen
7ba7c6f69a
Add blinking cursor
2022-04-07 08:17:36 +03:00
Karri Kaksonen
2fb0f6b47d
Fix screen index bug
2022-04-07 07:46:28 +03:00
Karri Kaksonen
6b5c858b20
Cleanup
2022-04-07 07:22:19 +03:00
Karri Kaksonen
3f8c29d303
Use local multiply for cursorzone calculations
2022-04-06 14:08:03 +03:00
Karri Kaksonen
b6e18e14d5
Add local multiply routine
2022-04-06 13:27:47 +03:00
Karri Kaksonen
9caf7cefd8
Allocate own zp pointer for conio implementation
2022-04-05 11:13:38 +03:00
Karri Kaksonen
d5dcea65b7
Allocate own zp pointer for conio implementation
2022-04-05 11:13:18 +03:00
Karri Kaksonen
97fd42063b
Align font to 256 bytes
2022-04-05 10:42:58 +03:00
Karri Kaksonen
6b16b99192
Fix conflicts with some conio routines
2022-04-05 10:35:59 +03:00
Karri Kaksonen
4c7c3d8f2f
Merge branch 'cc65:master' into atari7800conio
2022-04-04 23:27:21 +03:00
Bob Andrews
06d423d503
Merge pull request #1713 from karrika/atari7800stdjoy
...
[atari7800] Atari7800stdjoy
2022-04-04 22:23:02 +02:00
Karri Kaksonen
222693e3a3
Merge branch 'cc65:master' into atari7800conio
2022-04-04 15:32:40 +03:00
Karri Kaksonen
90fc16ff1c
Add cputc method
2022-04-04 15:18:40 +03:00
Karri Kaksonen
43a1c24784
Add setcursor method
2022-04-04 15:18:13 +03:00
Karri Kaksonen
c7cb201070
Remove export
2022-04-04 15:17:26 +03:00
Karri Kaksonen
37456219eb
Add space to config
2022-04-04 10:52:04 +03:00
Karri Kaksonen
04a13cf949
Add cursor processing
2022-04-04 10:51:43 +03:00
Karri Kaksonen
0e6b490c8b
Remove cursor from conio init
2022-04-04 10:51:13 +03:00
Karri Kaksonen
6017671fd9
Don't set cursor in clrscr
2022-04-04 10:50:38 +03:00
Bob Andrews
ca5462a698
Merge pull request #1717 from Fabrizio-Caruso/GamateConioFix
...
Fix color 1 and 2 (grey/green levels)
2022-04-03 23:13:37 +02:00
Fabrizio Caruso
412fd70404
Optimize delete cycles
2022-04-03 17:23:36 +02:00
Fabrizio Caruso
b65084b459
Use lsr
2022-04-03 15:28:37 +02:00
Bob Andrews
bfd76b6dd7
Merge pull request #1719 from polluks2/patch-3
...
Fixed documentation typo
2022-04-03 14:33:53 +02:00
polluks2
91a5eb3770
Fixed documentation typo
2022-04-03 08:21:31 +02:00
polluks2
d0e9ceb2b5
Some clean-up
...
One exit() too much
file is not optional
2022-04-03 00:06:45 +02:00
Fabrizio Caruso
4121c64295
Ignore executables in util directory
2022-04-03 00:02:00 +02:00
Fabrizio Caruso
b7ba02d76f
Remove executables
2022-04-02 23:58:35 +02:00
Fabrizio Caruso
2414a832d7
Make the intermediate gray/green levels available
2022-04-02 23:47:36 +02:00
Fabrizio Caruso
885b360a41
Fix color 1 and 2 (grey/green levels)
2022-04-02 23:09:05 +02:00
Karri Kaksonen
b3d28dd517
Change order to make decoding easier
2022-04-02 22:49:28 +03:00
Karri Kaksonen
5040a4b2a1
Use question mark instead of exclamation mark
2022-04-02 21:28:34 +03:00
Bob Andrews
d5cb3661f3
Merge pull request #1716 from Fabrizio-Caruso/GamateConioFix
...
[Tentative: please review] Fix Gamate CONIO: non-solid characters bug
2022-04-02 15:15:53 +02:00
Fabrizio Caruso
426e93b4bf
Fix Gamate CONIO: non-solid characters bug
2022-04-02 12:44:27 +02:00
Karri Kaksonen
2e33185dcb
Remove clrscr from init
2022-04-02 13:01:05 +03:00
Karri Kaksonen
19dab6bbab
Change blue to white
2022-04-02 12:09:15 +03:00
Karri Kaksonen
c44557665c
Change blue to white
2022-04-02 11:48:05 +03:00
Karri Kaksonen
2388d022aa
Add the build tools for the font
2022-04-02 11:47:37 +03:00
Karri Kaksonen
3a21734c68
Fix cursor character
2022-04-02 10:51:45 +03:00
Karri Kaksonen
f8b53e91fa
Add the font160.png
2022-04-02 10:04:53 +03:00
Karri Kaksonen
c31c7d2782
Add basic conio buffer
2022-04-02 09:39:55 +03:00
Karri Kaksonen
77b300682a
Add basic conio buffer
2022-04-02 09:39:46 +03:00
Karri Kaksonen
26ab64f207
Change polarity for 2600 buttons
2022-03-31 11:04:10 +03:00
Karri Kaksonen
e4193451d4
Add comments
2022-03-31 09:09:11 +03:00
Karri Kaksonen
4e8f62fb96
Add stdjoy driver
2022-03-31 09:08:40 +03:00
Karri Kaksonen
67def0ca0d
Fixed logic flaw
2022-03-31 08:05:41 +03:00
Karri Kaksonen
2c00f1e898
Add atari7800-stdjoy
2022-03-31 07:44:26 +03:00
Bob Andrews
84dba7f6ae
Merge pull request #1709 from karrika/atari7800clock
...
[Atari7800] clock()
2022-03-29 23:13:47 +02:00
Karri Kaksonen
5115a1b50f
Export paldetected
2022-03-25 15:08:14 +02:00
Karri Kaksonen
4a71a1fbb2
Use proper mnemonics
2022-03-25 15:02:43 +02:00
Karri Kaksonen
8d0b0e6ffc
Separate machine detection from crt0 and put it in get_tv
2022-03-25 14:44:54 +02:00
Karri Kaksonen
4c3120b935
Make STARTUP segment larger
2022-03-22 21:41:12 +02:00
Karri Kaksonen
865be55e66
Split clock file to components
2022-03-22 21:29:06 +02:00
Karri Kaksonen
d0d0941a64
Add get_tv.s
2022-03-22 21:28:35 +02:00
Karri Kaksonen
c577ec1383
Add more space to init segmen
2022-03-22 21:16:56 +02:00
Karri Kaksonen
d6009721d4
Add irq handling, PAL/NTSC detection and clock()
2022-03-22 20:02:54 +02:00
Karri Kaksonen
220171d0da
Add irq handling, PAL/NTSC detection and clock()
2022-03-22 20:02:46 +02:00
Bob Andrews
0851474757
Merge pull request #1708 from karrika/lynxbootloader
...
Fix for #1706 . Clear hw palette and set AUDIN low at startup
2022-03-21 15:24:42 +01:00
Karri Kaksonen
79c243ccef
Clear hw palette and set AUDIN low at startup
2022-03-21 08:37:49 +02:00
Bob Andrews
4cf7db1ef5
Merge pull request #1692 from karrika/atari7800
...
#805 Atari7800 target
2022-03-20 20:39:36 +01:00
Bob Andrews
58de94edd4
Merge pull request #1560 from empathicqubit/master
...
Add --debug-tables <filename> option and output struct fields
2022-03-20 20:27:15 +01:00
Bob Andrews
004a57bdff
Merge pull request #1707 from greg-king5/lynx-samples
...
Add Atari Lynx versions of three samples programs.
2022-03-19 16:12:04 +01:00
Karri Kaksonen
d12c2d6810
Fix offset for MARIA
2022-03-19 09:09:50 +02:00
Greg King
9f2d27d9c1
Added Atari Lynx versions of three sample programs.
...
The Lynx target can't build the usual versions because its library doesn't have conio output and stdio.
2022-03-19 01:21:52 -04:00
Greg King
266f35ee37
Made tgidemo draw circles in blue instead of orange.
...
That change lets it be built on two more platforms (Atmos, Telestrat).
2022-03-18 01:06:48 -04:00
Karri Kaksonen
38b330482d
Make start of ROM depend on CARTSIZE
2022-03-13 13:31:11 +02:00
Karri Kaksonen
889f3a7c14
Merge branch 'atari7800' of github.com:karrika/cc65 into atari7800
2022-03-13 12:33:12 +02:00
Karri Kaksonen
52d7991b9b
Remove the EXEHDR from the default build
2022-03-13 12:32:13 +02:00
Greg King
b2ae73879b
Added a URL to the snapshot's commit history as a comment in the Windows snapshot ZIPs.
2022-03-12 01:35:33 -05:00
Bob Andrews
2f4e2a34c3
Merge pull request #1694 from nyanpasu64/fix-win64-segfault
...
Fix cc65 segfault on 64-bit LLP64 Windows builds
2022-03-09 16:52:23 +01:00
Karri Kaksonen
dd6c1cfb7d
Merge branch 'cc65:master' into atari7800
2022-03-09 14:45:38 +02:00
mrdudz
6001d3eab9
fix #warning directive so the test could actually compile :)
2022-03-07 14:48:55 +01:00
Karri Kaksonen
25ecaf873b
Merge branch 'cc65:master' into atari7800
2022-03-07 09:03:25 +02:00
Karri Kaksonen
21c093476f
Merge branch 'atari7800' of github.com:karrika/cc65 into atari7800
2022-03-07 08:49:29 +02:00
Karri Kaksonen
eb86bc33b9
Add CARTSIZE to cfg file for configuring the a78 header. Add descriptions of usage.
2022-03-07 08:48:59 +02:00
nyanpasu64
9cb81f1410
Replace #include "inttypes.h" with <inttypes.h>
2022-03-06 14:48:51 -08:00
nyanpasu64
3466abc60c
Fix format strings to properly format uintptr_t
2022-03-06 14:48:03 -08:00
nyanpasu64
2feba69622
Remove broken inttypes.h
...
src/common/inttypes.h is a shim to fix building cc65 on
non-C99-compliant compilers missing inttypes.h (like VS2012 and
earlier). The shim is actually incomplete and does not define the PRI...
macros supplied by the actual compiler headers. Since we're planning to
use those macros, delete this header so cc65's source files instead use
host-supplied inttypes.h containing macro definitions.
2022-03-06 14:47:58 -08:00
nyanpasu64
f36b9b544d
Fix segfault on 64-bit LLP64 Windows builds
...
There are many occurrences of unsigned long in codegen.h's function
arguments. Changing g_getimmed and g_defdata makes `make` succeed
without segfaulting. I don't know if it makes cc65 behave correctly in
all cases, or if there are more unsigned long that need to be changed.
2022-03-06 14:47:51 -08:00
Bob Andrews
10c1b050c7
Merge pull request #1699 from WayneParham/master
...
Added Sym-1 extended memory sample program and documentation
2022-03-06 16:00:36 +01:00
Karri Kaksonen
786b4310d0
Merge branch 'cc65:master' into atari7800
2022-03-05 19:09:05 +02:00
Bob Andrews
2d0bc67c41
Merge pull request #1686 from karrika/lynxtext
...
Mark index 0 as TRANSPARENT. Let palette start from index 1
2022-03-05 12:54:20 +01:00
Karri Kaksonen
cc9535e82f
Update docs
2022-03-04 20:21:20 +02:00
Wayne Parham
3cb85fd5e8
Minor updates
2022-03-04 06:23:06 -06:00
Wayne Parham
7664a2f61e
Documentation clarifications
2022-03-03 20:51:16 -06:00
Wayne Parham
dc9c0fe90b
unsigned int format specifier
2022-03-03 19:57:43 -06:00
Wayne Parham
81338a61c3
Added Sym-1 extended memory sample program and documentation
2022-03-03 17:47:31 -06:00
Bob Andrews
d368005912
Merge pull request #1698 from WayneParham/master
...
Corrected size of BASROM definition in Sym1 config files
2022-03-03 20:37:11 +01:00
Wayne Parham
1cb18182ed
Corrected size of BASROM definition
2022-03-03 12:06:15 -06:00
Bob Andrews
53b1a18680
Merge pull request #1697 from acqn/LongCmpUnsignedFix
...
[cc65] Long cmp unsigned fix
2022-03-03 15:41:07 +01:00
acqn
c8956ce19b
Fixed signed long comparisons with smaller unsigned types.
2022-03-03 20:24:14 +08:00
Bob Andrews
18412e1cd2
Merge pull request #1695 from acqn/MakefileFix
...
[Build] Fixed test/asm/listing/Makefile with mingw32-make.exe
2022-03-03 12:50:17 +01:00
Bob Andrews
4379f9cc8f
Merge pull request #1695 from acqn/MakefileFix
...
[Build] Fixed test/asm/listing/Makefile with mingw32-make.exe
2022-03-03 12:50:17 +01:00
acqn
67594cca70
Testcases for long bit-fields.
2022-03-03 16:14:26 +08:00
acqn
1ba39b678c
Fixed test/asm/listing/Makefile with mingw32-make.exe that has problems with comments lead with tabulators.
2022-03-03 14:03:01 +08:00
Bob Andrews
0587d9f5d4
Merge pull request #1675 from acqn/ShiftFix
...
[cc65] Fixed bitwise shift with numeric constant operand(s)
2022-03-01 19:50:21 +01:00
Greg King
bca8fcb947
Added a more general test to test/val/bug1690.c
2022-03-01 12:56:34 -05:00
Bob Andrews
a88704c6b5
Merge pull request #1691 from acqn/OptCmp1_Fix
...
[cc65] Fixed OptCmp1 with certain code patterns with labels.
2022-03-01 14:28:53 +01:00
Karri Kaksonen
d679faaf22
Add exehdr
2022-03-01 09:28:15 +02:00
Karri Kaksonen
b861f6df8f
Add exehdr
2022-03-01 09:28:06 +02:00
Karri Kaksonen
c293b299d8
Add segment ONCE
2022-03-01 07:44:47 +02:00
Karri Kaksonen
d059682692
Add crt0.s and ctype.s
2022-03-01 07:37:07 +02:00
Karri Kaksonen
8c975dfb36
Remove garbage
2022-03-01 07:03:29 +02:00
Karri Kaksonen
3266e70de4
Add target atari7800
2022-03-01 06:44:55 +02:00
Karri Kaksonen
328781bf8a
Add target atari7800
2022-03-01 06:44:26 +02:00
acqn
5ef420af5a
Fixed OptCmp1 with certain code patterns with labels.
2022-03-01 10:40:01 +08:00
Karri Kaksonen
b74de2319f
Fix black index in tgi_colors.s
2022-02-25 16:00:03 +02:00
Karri Kaksonen
4e406b744c
Mark index 0 as TRANSPARENT. Let palette start from index 1
2022-02-24 08:50:36 +02:00
Bob Andrews
f8cdb2ab63
Merge pull request #1685 from jefftranter/fix-typos
...
Fix some commonly made spelling errors in comments.
2022-02-22 13:01:38 +01:00
Greg King
39df6f8f66
Made the c128, not the c64, target build the c128 version of "c64-c128-scpu-test.c".
...
Its placement in the wrong list caused a parallel race condition that sometimes led to failed test builds.
2022-02-21 16:07:22 -05:00
Greg King
a49bf13b25
Reverted "do not use cl65 to prevent tests from failing randomly because of one process deleting the temp files from another".
...
This reverted commit 02a46e0237
. That commit didn't fix the real bug (a program name in the wrong list).
2022-02-21 16:00:38 -05:00
Jeff Tranter
5d8cf4ec48
A couple of addtional fixes.
2022-02-21 15:54:47 -05:00
Jeff Tranter
2bf8be5b3b
Fix some commonly made spelling errors in comments.
2022-02-21 15:44:31 -05:00
Bob Andrews
fffb4c3b40
Merge pull request #1679 from spiro-trikaliotis/testsuite-ca65
...
Reorganized test/asm
2022-02-20 19:54:13 +01:00
mrdudz
7f0b4b090c
Merge remote-tracking branch 'upstream/master'
2022-02-20 18:07:57 +01:00
mrdudz
02a46e0237
do not use cl65 to prevent tests from failing randomly because of one process deleting the temp files from another
2022-02-20 16:49:01 +01:00
empathicqubit
49b4a57add
Documentation
2022-02-20 12:40:32 +01:00
Spiro Trikaliotis
0f6cb5b114
Add proper readmes
2022-02-20 11:20:20 +01:00
Spiro Trikaliotis
0e45976f9b
Rename target test to asm
2022-02-19 12:52:02 +01:00
Spiro Trikaliotis
388ae87cb3
Reorganized test/asm
2022-02-19 12:44:20 +01:00
acqn
904a77e03c
Testcase for #1675 .
2022-02-18 15:20:01 +08:00
acqn
2bda128ef1
Fixed LimitExprValue() for 64-bit long env.
2022-02-26 23:02:51 +08:00
polluks2
246814e63b
smarter manufacturer
...
some kind of promotion
2022-02-18 00:43:49 +01:00
Greg King
d006317b0e
Made the snapshot-on-push Github action run on only the upstream repository.
2022-02-17 00:30:31 -05:00
acqn
14988f5dda
Fixed bitwise shift with numeric constant operand(s).
2022-02-16 20:10:54 +08:00
Bob Andrews
bfa9e77523
Merge pull request #1672 from spiro-trikaliotis/pr-1647
...
ca65: .constructor after .export fails
2022-02-15 22:34:04 +01:00
Bob Andrews
7c417359ec
Merge pull request #1674 from spiro-trikaliotis/obs-link
...
Add link to DEB and RPM snapshots
2022-02-15 22:25:20 +01:00
Spiro Trikaliotis
1df61b6ec7
Add link to DEB and RPM snapshots
2022-02-15 22:16:06 +01:00
Spiro Trikaliotis
364e72921c
ca65: .constructor after .export fails
...
The actor directives (.constructor, .destructor, .interruptor, and .condes)
can't handle a symbol that's already exported.
The relevant code does the checks in the wrong order.
For example, the following correct snippet does not assemble:
.export C
C: .constructor C, 5
The assembler outputs: test.s:2: Error: Address size mismatch for symbol 'C'
Exchanging both lines makes it work.
This fixes #1647 ; the patch is provided by 'kugelfuhr' and taken from there.
2022-02-15 22:03:47 +01:00
Bob Andrews
9088d66758
Merge pull request #1671 from spiro-trikaliotis/pr-1634
...
Invalid flagged errors if token is missing
2022-02-15 21:57:00 +01:00
Spiro Trikaliotis
3d0013ab30
Invalid flagged errors if token is missing
...
A missing factor in an expression causes an expected but missing token
to be skipped, leading to invalid flagged errors in the following line:
l = 3 +
lda #$00
An error should be output for line 1, but not for line 2. Actually, both
are flagged as errors:
test.s(1): Error: Syntax error
test.s(2): Error: Unexpected trailing garbage characters
This patch (as proposed in issue #1634 by kugelfuhr) fixes this.
2022-02-15 21:46:07 +01:00
mrdudz
ad82392428
add hint on VICE -moncommands
2022-02-15 21:25:24 +01:00
Bob Andrews
24c8de87c2
Merge pull request #1662 from acqn/StructFix
...
[cc65] Fixed ICE on unnamed bit-fields declared with typedef'ed types
2022-02-14 17:31:45 +01:00
acqn
6dbafda53f
Testcase for #1662 .
2022-02-14 22:28:22 +08:00
Greg King
86b6514c16
Added code that avoids infinite loops that were caused by circular references
...
(a symbol that was defined by referring to itself directly or indirectly). Patch by kugelfuhr.
2022-02-13 07:38:00 -05:00
mrdudz
30b00ed076
attempt to prevent utils being compiled with cc65
2022-02-11 16:53:34 +01:00
mrdudz
118e73ddf9
build utilities in a seperate step
2022-02-11 16:38:40 +01:00
Greg King
1f51a9f587
Removed geos_apple and geos_cbm from the lists of targets.
...
They need resource files to go with the program source files. The top-level samples and targettest programs don't have those resources.
2022-02-09 04:05:35 -05:00
Greg King
5747fa4df3
Added '+' to another SUBDIRS_recipe.
2022-02-09 04:05:35 -05:00
Greg King
9dd13d7047
Moved the platform-test enumerations from Github Actions over to makefiles.
...
Now, we can run those tests locally, as well as on Github.
2022-02-09 04:05:35 -05:00
Bob Andrews
ee345600b4
Merge pull request #1658 from WayneParham/master
...
Correction of link typos
2022-02-08 22:42:21 +01:00
Wayne Parham
9cb005c98f
Correction of link typos
2022-02-08 14:22:09 -06:00
Bob Andrews
449341f873
Merge pull request #1657 from WayneParham/master
...
Documentation updates for Sym-1.
2022-02-08 11:50:27 +01:00
Wayne Parham
470b648b9f
Added note about return value being function status.
2022-02-07 19:51:03 -06:00
Wayne Parham
84d639e40c
Typo correction.
2022-02-07 19:46:16 -06:00
Wayne Parham
e488d7b2a6
Documentation updates for Sym-1.
2022-02-07 19:14:02 -06:00
Wayne Parham
10b8920ecc
Merge https://github.com/cc65/cc65
2022-02-07 17:12:43 -06:00
mrdudz
856517a771
Merge remote-tracking branch 'upstream/master'
2022-02-06 18:51:21 +01:00
mrdudz
dfe478b154
upload snapshot to sourceforge
2022-02-06 18:20:09 +01:00
mrdudz
ddfbe932e3
test upload again
2022-02-06 17:29:14 +01:00
mrdudz
e7469212d7
try publishing on sf after snapshot
2022-02-06 16:49:01 +01:00
Bob Andrews
94d1bfc450
Merge pull request #1653 from mrdudz/movesamples
...
move some things from targettest to samples
2022-02-05 18:18:07 +01:00
mrdudz
0436c6e314
fix this too
2022-02-05 18:09:32 +01:00
mrdudz
1ff68e2894
Merge remote-tracking branch 'upstream/master' into movesamples
2022-02-05 17:57:00 +01:00
mrdudz
e0745204b6
fix again. sigh
2022-02-05 17:56:33 +01:00
mrdudz
766e0e2144
fix
2022-02-05 17:51:48 +01:00
mrdudz
9308f5147d
Merge remote-tracking branch 'upstream/master' into movesamples
2022-02-05 17:48:09 +01:00
mrdudz
096c28bb52
remove programs in util dir before making a snapshot. we might later
...
decide to leave them there anyway.
2022-02-05 17:47:20 +01:00
mrdudz
2ea9cf0449
cleanup
2022-02-05 17:44:54 +01:00
mrdudz
179f2d05aa
utils before samples
2022-02-05 17:44:46 +01:00
mrdudz
b3217ccb03
build util dir when testing
2022-02-05 17:44:32 +01:00
mrdudz
d23c9b6aa5
use gamate-fixcart from util dir
2022-02-05 17:34:22 +01:00
mrdudz
61dc15cad0
Merge remote-tracking branch 'upstream/master' into movesamples
2022-02-05 17:31:20 +01:00
mrdudz
afe9d6a2eb
also compile the programs in the util directory by default, not only
...
do we want to test they can be compiled, but also samples may use/require
them. we might want to install them too, perhaps
2022-02-05 17:28:28 +01:00
mrdudz
4e5b521903
move some things from targettest to samples
2022-02-05 16:55:57 +01:00
Greg King
98bc021c5a
Added the names of samples and targettest programs that the telestrat library can build now.
2022-02-03 18:23:23 -05:00
Greg King
f64ee3370d
Added to the telestrat library the name of the standard dynamic TGI driver.
2022-02-03 18:23:23 -05:00
Greg King
bae2821d5a
Added telestrat to <time.h>.
...
That library has clock().
2022-02-03 18:23:23 -05:00
Bob Andrews
7bbc006014
Merge pull request #1649 from polluks2/typos
...
Fixed many typos
2022-02-03 14:43:11 +01:00
Bob Andrews
24227482ea
Merge pull request #1648 from polluks2/tco
...
Added tail call optimization
2022-02-03 14:42:41 +01:00
polluks
f7fa81b244
Fixed many typos
2022-02-03 01:01:10 +01:00
polluks
a26778744a
Added tail call optimization
2022-02-02 23:02:01 +01:00
polluks
8e60102e8e
Removed the colour purple
...
This commit may break compatibility.
2022-02-02 00:58:50 +01:00
Oliver Schmidt
e3ca14116d
Disable double hires on exit.
...
A program being run afterwards might not even know about the existence of double hires. So it's our task to turn double hires off on exit.
2022-01-31 19:32:44 +01:00
Greg King
7118c9236b
Fixed the cart directory build code to handle even simple programs.
...
Carts can be built containing programs that don't link some segments.
2022-01-31 08:14:26 -05:00
Greg King
112e216e53
Removed an obsolete command-line option from the cc65 compiler.
2022-01-30 22:10:06 -05:00
polluks
a29a1b0a59
Added more purple (rain)
2022-01-31 02:18:01 +01:00
Greg King
98f862b8fb
Fixed heaptest.c compiler warnings in a way that's better than PR #1621 .
...
This fix adds "unsigned" to one line instead of removing it from several lines.
2022-01-30 20:13:04 -05:00
mrdudz
25363ae00a
the forgotten minimal testprog
2022-01-30 23:26:07 +01:00
mrdudz
c50f5c9467
build targettest progrs for all targets
2022-01-30 19:51:05 +01:00
mrdudz
d8366132c7
fix Makefiles for all targets, dive into subdirs like in samples
2022-01-30 19:51:05 +01:00
Bob Andrews
b00cb182d9
Merge pull request #1637 from polluks2/save_a_few_bytes
...
Save a few bytes
2022-01-30 13:21:41 +01:00
mrdudz
ccb77735d2
samples makefile already goes through the subdirs correctly
2022-01-30 13:18:51 +01:00
mrdudz
a0fc95bb15
actually use all targets for the samples dir
2022-01-30 12:49:33 +01:00
mrdudz
333c31e4ce
fix for atari5200
2022-01-30 12:49:02 +01:00
mrdudz
6e5a988f85
build samples for all targets
2022-01-30 12:36:15 +01:00
Bob Andrews
82f55a930a
Merge pull request #1618 from polluks2/master
...
Fixed many typos
2022-01-30 12:21:07 +01:00
polluks
e327071615
Save a few bytes
2022-01-30 03:26:32 +01:00
polluks
e66a54ac14
Revert commits
2022-01-30 03:15:28 +01:00
polluks2
97c83de37b
Merge branch 'cc65:master' into master
2022-01-30 02:40:27 +01:00
mrdudz
11bcaba99b
comment out all the non working targets
2022-01-30 02:29:11 +01:00
mrdudz
908173b663
add sym1 target
2022-01-30 02:14:01 +01:00
mrdudz
91cf347f31
fix pathes
2022-01-30 02:13:54 +01:00
mrdudz
273721e05e
fix pathes
2022-01-30 02:07:50 +01:00
mrdudz
43fdc8781d
and another
2022-01-30 01:54:06 +01:00
mrdudz
90cc44b410
another try
2022-01-30 01:46:47 +01:00
mrdudz
d1ae098190
iterate through all targettest builds
2022-01-30 01:23:10 +01:00
Bob Andrews
9da9b979f2
Merge pull request #1621 from SvenMichaelKlose/pixel_targettest_fixes
...
Fix VIC build, remove compiler warnings, add LST files for VICE emulator targets.
2022-01-30 00:10:30 +01:00
Bob Andrews
ad1ebb697f
Merge pull request #1626 from mdsteele/paravirt
...
Fix Pop() implementation in src/sim65/paravirt.c (fixes #1625 )
2022-01-29 22:33:32 +01:00
Bob Andrews
6332f090d9
Merge pull request #1620 from SvenMichaelKlose/pixel_strnlen
...
Add standard C library function strnlen().
2022-01-29 21:32:27 +01:00
Bob Andrews
4579a7e181
Merge pull request #1629 from DLehenbauer/pet_asm_inc
...
asminc/pet.inc: Add PIA1 & PIA2 addresses
2022-01-29 21:21:58 +01:00
Christian Groessler
c3e01062ea
put Atari 20-column note to where it belongs...
2022-01-24 20:13:49 +01:00
Christian Groessler
fc12b19659
Merge pull request #1633 from sprive/atari8-docs
...
document special case on sub 40-col modes
2022-01-24 20:00:13 +01:00
Scott Prive
91920f807e
document special case on sub 40-col modes
2022-01-23 18:53:14 -05:00
polluks2
3aeaa36a58
Wrong platform
...
There was no conio for Lynx
````
../bin/ld65 -o mandelbrot -t lynx -m mandelbrot.map mandelbrot.o lynx.lib
mandelbrot.s:516: Error: Unresolved external '_clrscr'
conio/vcprintf.s:85: Error: Unresolved external '_cputc'
conio/cputs.s:25: Error: Unresolved external '_cputc'
conio/cputs.s:15: Error: Unresolved external 'gotoxy'
ld65: Error: 3 unresolved external(s) found - cannot create output file
make: *** [mandelbrot] Error 1
````
2022-01-22 01:04:08 +01:00
Daniel Lehenbauer
12f9a2f1f8
asminc/pet.inc: Add PIA1 & PIA2
2022-01-17 08:22:15 -08:00
Matthew D. Steele
22a3d55e40
Add space after function names
2022-01-08 16:39:30 -05:00
Matthew D. Steele
1f6bc6240f
Move local variable declaration to top of block
2022-01-08 16:29:42 -05:00
Matthew D. Steele
92bfbeb8ab
Adjust Pop() sequencing in paravirt.c
2022-01-08 16:24:40 -05:00
Matthew D. Steele
cf1bc4fad4
Fix Pop() implementation in src/sim65/paravirt.c ( fixes #1625 )
...
The Pop() function was not handling stack pointer wrap around correctly.
Also, change the simulated RTS implementation in ParaVirtHooks() to
explicitly sequence the two Pop() calls in the correct order.
2022-01-07 09:56:46 -05:00
acqn
4f4487cb03
Added supports for long bit-fields.
2022-01-04 18:23:04 +08:00
acqn
6beb090193
Fixed anonymous bit-fields declared with typedef'ed type names.
2022-01-03 23:54:14 +08:00
acqn
38511843e5
Fixed crash with labels in non-function/block scopes.
2022-01-03 23:50:48 +08:00
acqn
21858b52e7
Separated data initializer stuff from declaration stuff.
2022-01-03 13:10:32 +08:00
polluks2
06725c166e
Merge branch 'cc65:master' into master
2021-12-31 17:21:20 +01:00
polluks
1bcf93d010
Merge branch 'master' of http://github.com/polluks2/cc65
2021-12-30 00:42:29 +01:00
polluks
4920ffa23a
Save a few bytes
2021-12-30 00:04:57 +01:00
Sven Michael Klose
683739d6fc
mostlyclean: Clean up.
2021-12-25 21:25:52 +01:00
Sven Michael Klose
05b8af07aa
main(): No return value.
2021-12-25 21:21:01 +01:00
Sven Michael Klose
3bd72b9659
main(): Re-introduce return value. Compiler rejects 'void'.
2021-12-25 20:15:09 +01:00
Sven Michael Klose
0707cdbe2c
Remove command line arguments and return value from main().
2021-12-25 20:12:45 +01:00
Sven Michael Klose
f4702cbc40
Make label file for c610 platform.
2021-12-25 20:11:22 +01:00
Sven Michael Klose
412a30987a
Remove -t option for linker only.
2021-12-25 20:10:53 +01:00
Sven Michael Klose
34dd29556f
Use -t option alongside -C.
2021-12-25 20:09:18 +01:00
Sven Michael Klose
de158c0847
Use suffix '.lbl' instead of '.lst'.
2021-12-25 20:07:34 +01:00
Sven Michael Klose
d1cbb1deeb
More strict printf() format string.
2021-12-25 20:04:10 +01:00
Sven Michael Klose
666f266e90
Move strnlen() to non-ANSI section.
2021-12-25 14:21:47 +01:00
Sven Michael Klose
65564a158c
Remove most compiler warnings.
2021-12-25 09:57:18 +01:00
Sven Michael Klose
bdd18d958b
cbmdir-test for VICs needs memory expansion.
2021-12-25 09:45:15 +01:00
Sven Michael Klose
58dd28f053
Make VICE monitor command lists for Commodore platforms.
2021-12-25 09:40:32 +01:00
Sven Michael Klose
ba93ab07bc
Do not compile petscii test for unsupported platforms.
...
Only C64 is supported.
2021-12-25 09:19:37 +01:00
Sven Michael Klose
87fe2f5d0e
Add test of strnlen().
2021-12-25 09:13:43 +01:00
Sven Michael Klose
c9ccc82b9f
strnlen(): Add comment with POSIX standard.
2021-12-25 09:12:13 +01:00
Sven Michael Klose
0b84465276
Fix strnlen().
2021-12-25 09:11:58 +01:00
Sven Michael Klose
921e549172
Add standard C library function strnlen().
2021-12-24 23:44:57 +01:00
Greg King
6ac4aa4e20
Made cbm_open() be more efficient.
...
The fastcall argument doesn't need to be put on a stack. SETNAM can be called before SETLFS.
2021-12-24 00:10:04 -05:00
polluks2
7d6b6ef986
Delete c-cpp.yml
2021-12-22 09:50:38 +01:00
polluks2
cff0f71ea8
Merge branch 'master' of github.com:polluks2/cc65
2021-12-21 17:54:32 +01:00
polluks2
7ffbf7aa75
Merge branch 'cc65:master' into master
2021-12-21 17:43:07 +01:00
polluks2
c32846dc6e
Merge branch 'master' of http://github.com/cc65/cc65
2021-12-20 13:49:20 +01:00
Greg King
884f72637b
Put the alignment decrement code back into posix_memalign().
...
Without that code, the function returns a very broken pointer.
2021-12-19 21:08:46 -05:00
Oliver Schmidt
2235830e31
Don't rely on (actually changed) unspecified compiler behavior.
2021-12-19 16:55:32 +01:00
polluks2
1cdd4676b2
Fixed many typos
2021-12-14 13:13:16 +01:00
polluks2
89909cd4ed
Merge branch 'cc65:master' into master
2021-12-14 09:19:17 +01:00
Bob Andrews
6a76d6d905
Merge pull request #1611 from polluks2/patch-3
...
Fixed many typos
2021-12-13 20:05:31 +01:00
Bob Andrews
37d0c4066c
Merge pull request #1610 from polluks2/patch-2
...
Fixed typo
2021-12-13 18:49:40 +01:00
polluks2
1d3318c247
Fixed many typos
2021-12-13 17:20:56 +01:00
polluks2
9e9b3dbaca
Fixed typo
2021-12-13 17:14:57 +01:00
Greg King
230f4d3807
Install system packages before checking out the repo.
2021-12-12 23:54:17 -05:00
Greg King
325ff9667e
Used (size_t), instead of (long) where converting between pointers and integers.
...
(long) still is 32 bits on 64-bit Windows!
2021-12-12 19:40:43 -05:00
Greg King
366701e066
Added a 64-bit Windows cross-compile.
...
That compiler catches pointer-integer width mismatches that other compilers ignore.
2021-12-12 19:02:37 -05:00
Greg King
33cf8608b7
Removed unneeded package names.
...
sshpass isn't needed because the Windows packages are put on Github.
linuxdoc-tools is a dependency of linuxdoc-tools-info.
The binutils package is a dependency of the gcc package.
2021-12-12 19:02:37 -05:00
Greg King
2feadf865c
Changed a big script into separate named steps.
...
It makes the job log easier to navigate.
Also, Pull Requests don't need a Zip file.
2021-12-12 19:02:37 -05:00
Oliver Schmidt
b35a9d97a6
Updated URL and improved consistency.
2021-12-12 23:59:22 +01:00
Bob Andrews
c0c89a81e4
Merge branch 'master' into rremd
2021-12-11 22:36:12 +01:00
Bob Andrews
332742b688
Merge branch 'master' into master
2021-12-11 22:35:50 +01:00
dqh-github
bd94879be2
Re-added build status badge
...
(Github Actions is now doing a snapshot build and test for updates to the master branch)
2021-12-11 15:28:29 +11:00
dqh-github
308b5b68e9
Merge pull request #1607 from dqh-github/snapshot-builds
...
Snapshot build on push master.
2021-12-11 15:13:48 +11:00
David Hogan
a39c23f796
Snapshot build on push master.
...
For now, the snapshot zip can be obtained from the latest successful snapshot build at:
https://github.com/cc65/cc65/actions/workflows/snapshot-on-push-master.yml
TODO: Update docs at https://github.com/cc65/doc
TODO: Publish snapshot zip at https://github.com/cc65/cc65.github.io
2021-12-11 14:10:19 +11:00
dqh-github
f09f0dd913
Merge pull request #1605 from dqh-github/master
...
Automated Github pull request build and test
2021-12-11 13:02:05 +11:00
dqh-github
ad009f0ff6
Merge pull request #1 from dqh-github/gha-test
...
Automated Github pull request build and test
2021-12-11 12:50:43 +11:00
David Hogan
4eaf68d414
Automated Github pull request build and test
2021-12-11 12:43:59 +11:00
polluks2
380f6e7db5
Merge branch 'cc65:master' into master
2021-12-10 15:15:53 +01:00
acqn
970607cde5
Optimized g_testbitfield() and g_extractbitfield() with enhanced support for long bit-fields.
2021-12-05 12:21:01 +08:00
acqn
2d96f79bc7
Added and used new utility type functions for bit-fields.
...
Fixed GetUnderlyingTypeCode() for bit-fields with widths > 16.
2021-12-01 09:45:17 +08:00
Wayne Parham
1d36f255ec
Added Sym-1 link to documentation doc/index.sgml
2021-11-24 22:26:43 +01:00
Wayne Parham
622d2c4e39
Added Sym-1 link to documentation doc/index.sgml
2021-11-24 14:30:19 -06:00
Oliver Schmidt
cb0dca0ca7
No more Travis-CI !
2021-11-24 14:17:18 +01:00
Oliver Schmidt
37e7e65f43
Merge pull request #1500 from WayneParham/master
...
Synertek Systems Sym-1 files
2021-11-23 22:59:48 +01:00
Oliver Schmidt
8b0de8a931
Merge branch 'master' into master
2021-11-23 22:56:51 +01:00
Gerhard Gruber
a7e6f9840c
VIC-20 and C128 cfg added for ASM programming
2021-11-23 21:51:57 +01:00
gorlik
1918f0ac9b
adding missing VIC register definition to c64.inc
2021-11-23 21:34:49 +01:00
Gabriele Gorla
6637e28831
saves 2 bytes in the standard c64 joystick driver
...
remove redundant code and add jmp to the common sequence
two more bytes could be saved at the expense of longer sequence with interrupts disabled by moving sei/cli
2021-11-23 21:34:49 +01:00
Oliver Schmidt
f796c26091
Added hint on clock().
...
clock() isn't available on the Apple II - and never will be.
2021-11-21 22:56:02 +01:00
polluks2
ba33c3f57d
Merge branch 'cc65:master' into master
2021-10-29 10:46:59 +02:00
mrdudz
4f87c7cc64
move samples that only work for a specific target into subdirs named the same as the target
2021-10-23 01:18:17 +02:00
Christian Groessler
c3d7a90084
targettest/atari/ostype.c: remove warnings
2021-10-05 19:19:54 +02:00
Christian Groessler
f6636635fa
targettest/atari/multi-xex.cfg: fix comments
2021-10-05 19:17:16 +02:00
Oliver Schmidt
c48e821c4b
Don
2021-09-29 14:48:09 +02:00
Oliver Schmidt
674a543909
Parallelize build
...
Travis CI defaults to 2 core environments.
2021-09-29 12:33:51 +02:00
cc65 Owner
2338e70709
travis-ci.org -> travis-ci.com
2021-09-29 10:37:44 +02:00
empathicqubit
fd8d51497c
Add --debug-tables <filename> option and output struct and union fields
2021-09-29 05:20:44 +02:00
mrdudz
94445cd16f
remove conio.pce from the default target and print a message instead
2021-09-28 22:37:34 +02:00
mrdudz
cf1c0b6774
move hints on how to run binaries from the target specific pages to the intro page, where they should be.
2021-09-28 22:18:49 +02:00
mrdudz
86f1965202
added test related to issue #1552 fixed in pr #1571
2021-09-28 18:55:23 +02:00
mrdudz
6ba8a385a0
add test related tu issue #1562
2021-09-28 18:11:23 +02:00
acqn
eeaa111835
Fixed crash in Opt_a_toscmpbool caused by wrong order of condition checks.
2021-09-28 17:02:37 +02:00
Oliver Schmidt
28b1687aaf
Be explicit about hardware flow control (RTS/CTS) being the only supported option.
2021-09-26 12:09:50 +02:00
polluks2
fb7b880dc0
Create c-cpp.yml
2021-09-09 11:05:39 +02:00
polluks2
bd23ad4d6d
Merge branch 'cc65:master' into master
2021-08-30 13:56:54 +02:00
Greg King
52e4387929
Added a program that tests the Commodore-specific directory functions.
2021-08-12 13:21:24 -04:00
Spiro Trikaliotis
62da869e49
doc: psg_silence: Remove empty notes
...
The notes section of psg_silence (Creativision funcref) contained an
empty Notes section, consisting of an empty <itemize> only.
Newer sgmltools fail on this, as they insist on having an <item>
element, or they fail compilation:
[ 225s] Processing file ../doc/funcref.sgml
[ 225s] onsgmls:/tmp/linuxdoc-tools.NfxbjODQbW/sgmltmp.funcref.01.precmdout:5884:9:E:end tag for "ITEMIZE" which is not finished
Fixed this by removing the (empty) Notes section altogether.
2021-06-21 22:10:31 +02:00
Wayne Parham
5f4605c4fc
Remove trailing blank lines from read.s, write.s and tapeio.s
2021-06-16 17:28:19 -05:00
Wayne Parham
d6ef8326f9
Remove trailing blank line from libsrc/sym1/display.s
2021-06-16 17:24:18 -05:00
Wayne Parham
85d345088d
Remove trailing two blank lines from libsrc/sym1/crt0.s
2021-06-16 17:21:57 -05:00
Wayne Parham
5d90087e66
Add space after every function or statement, before parenthesis
2021-06-16 17:14:44 -05:00
Wayne Parham
82bdc77e41
puts() whitespace style change
2021-06-16 16:47:38 -05:00
Wayne Parham
bed61df837
Removed unnecessary blank line from samples/Makefile
2021-06-16 16:28:17 -05:00
Wayne Parham
a93542e80c
Added __fastcall__ to comments
2021-06-16 16:24:26 -05:00
Wayne Parham
f1f700799b
All samples use 'int main' and 'return int'
2021-06-16 07:35:18 -05:00
Wayne Parham
f98e5f4feb
Stylistic changes
2021-06-15 17:14:27 -05:00
Wayne Parham
11d81b1f43
Stylistic changes
2021-06-15 16:39:28 -05:00
Greg King
fcda94f258
Made a slight improvement in the ld65 expression evaluator.
2021-06-13 20:36:05 -04:00
Wayne Parham
4db50e8e93
Documentation update: Mention where to find sym1 sample programs
2021-06-13 11:29:30 -05:00
Wayne Parham
faf6266cde
typo in comment
2021-06-12 06:28:53 -05:00
Wayne Parham
c9bb1483ac
Add BEL->beep functionality
2021-06-12 06:17:03 -05:00
Wayne Parham
9e6c1d1303
tapeio and symNotepad updates
2021-06-11 19:55:13 -05:00
Greg King
14d05c61b6
Made Creativision's joystick driver more efficient.
2021-06-11 07:43:25 -04:00
Greg King
af3d4581d3
Moved Creativision's playsound() into a separate file.
...
It won't waste space in a cartridge if it isn't used.
2021-06-11 07:43:25 -04:00
Greg King
f636d4e634
Fixed the Creativision library's bios_playsound().
...
It was disabling interrupts permanently.
2021-06-11 07:43:24 -04:00
Wayne Parham
24f5bac899
Added BEL -> beep() functionality
2021-06-10 16:07:39 -05:00
acqn
31128d4809
Added test cases for result types of certain operations.
2021-06-10 21:54:32 +02:00
acqn
25a35d6b59
Fixed result type of certain operations, which was broken with the bit-field fix.
2021-06-10 21:54:32 +02:00
Christian Groessler
f3db74395d
fix last change and use stdbool.h
2021-06-10 20:08:58 +02:00
Christian Groessler
7f1f0249f3
enumdevdir.c: allocate path name buffers from the heap.
2021-06-10 20:08:58 +02:00
Christian Groessler
c90c3c9133
stdio.inc,stdio.h: set CBM PATH_MAX/FILENAME_MAX value to 255
...
Some parts of the runtime library cannot handle larger paths.
2021-06-10 20:08:58 +02:00
Christian Groessler
ae9101961e
stdio.inc,stdio.h: increase CBM PATH_MAX/FILENAME_MAX value to 256+1
2021-06-10 20:08:58 +02:00
Christian Groessler
9a523abbfb
limits.h: provide PATH_MAX
...
- stdio.h: define FILENAME_MAX to PATH_MAX
- stdio.h, stdio.inc: increase FILENAME_MAX/PATH_MAX for Atari
(For DOSes with subdirectory support.)
2021-06-10 20:08:58 +02:00
Wayne Parham
7d6541274d
Changes to I/O access
2021-06-09 10:23:42 -05:00
acqn
d69e81cd66
Moved and improved test cases for Issue #1462 .
...
Fixed an old test case for unsigned enum bit-fields that are supposed to be int-promoted.
2021-06-09 08:03:12 +02:00
acqn
5adb29ce31
Made "bit-field-ness" a type property instead of a SymbolEntry or ExprDesc property.
...
Fixed integer promotion and result type in certain operations.
Fixed bit-fields 'op=' and postfix inc/dec operators.
2021-06-09 08:03:12 +02:00
acqn
1d7bf7355c
Better function naming in declare.c.
...
Scalar initialization routines need only 'const Type*' as parameters.
2021-06-09 08:03:12 +02:00
acqn
004c60de39
Optional flags for the codegen to skip restoring the expression results into the primary registers.
2021-06-09 08:03:12 +02:00
acqn
dcacba472a
Moved ArithmeticConvert() from cc65/expr.c to cc65/datatype.c.
...
Reorganized a few functions in cc65/datatype.c.
Added SignedType() and UnsignedType() for future usage.
Made LimitExprValue() external so that it can be used more often.
2021-06-09 08:03:12 +02:00
Filip Golewski
09862e7ce9
Update src/msbuild.cmd script to optionally include Visual Studio 2019 Community build tools
2021-06-08 21:16:20 +02:00
acqn
2324bd62f6
If __A__,__AX__ or __EAX__ is used, post-inc/dec within the same statement will not modify it.
...
Moved testcase from src/test/todo to src/test/val plus minor improvement on portability.
2021-06-08 14:16:14 +08:00
Wayne Parham
2a25921515
Sym-1 documentation updates
2021-06-07 20:00:18 -05:00
Wayne Parham
2635655e8c
sym1.cfg cosmetic changes
2021-06-07 19:07:36 -05:00
Wayne Parham
89fb731e2e
samples/helloworld.c
2021-06-07 19:01:06 -05:00
polluks2
ed9f9ccbab
Fix #1536
2021-06-07 23:12:50 +02:00
Wayne Parham
886e9e83b2
Removed stdin->stdout echo from read.s
2021-06-07 12:33:29 -05:00
Wayne Parham
6cf4bd99bb
Added Makefile for targettest/sym1
2021-06-07 11:50:47 -05:00
Wayne Parham
79757ee280
Removed 'return' from samples (with void main)
2021-06-07 01:04:55 -05:00
Wayne Parham
732a5fb9a7
Remove bin and hex references from samples/Makefile
2021-06-07 00:56:50 -05:00
Wayne Parham
5eafd8115f
Cleanup whitespace in Makefile
2021-06-07 00:53:15 -05:00
Wayne Parham
975e43892f
Samples cleanup
2021-06-07 00:48:02 -05:00
Wayne Parham
a3fce656b7
Samples updates
2021-06-07 00:42:13 -05:00
Wayne Parham
88ee45e9ef
tapeio.s updates
2021-06-07 00:35:20 -05:00
Wayne Parham
dc9333a3bb
tapeio.s updates
2021-06-07 00:18:26 -05:00
Wayne Parham
c961782192
Removed libref.s
2021-06-07 00:07:09 -05:00
Wayne Parham
0bbff54378
return val updates
2021-06-07 00:03:44 -05:00
Wayne Parham
33af3d7997
sym1.h updates
2021-06-06 23:53:53 -05:00
Wayne Parham
9d509735a8
Makefile changes
2021-06-06 21:56:23 -05:00
Wayne Parham
64afb50d5a
Makefile changes
2021-06-06 21:45:58 -05:00
Wayne Parham
6c4c959141
Sym-1 lib changes
2021-06-06 21:28:03 -05:00
Wayne Parham
e687f2f048
Clarified 'Limited memory applications' section
2021-06-06 17:55:58 -05:00
Wayne Parham
7d5fc7eb43
Changed kb references to KB
2021-06-06 17:51:24 -05:00
Wayne Parham
69e2313a63
First round of requested code changes
2021-06-06 23:20:54 +01:00
Greg King
1c16e46f23
Improved ld65's error messages about ca65's .BANK() function.
...
* Split a message into two more specific messages.
2021-06-05 11:31:28 -04:00
Greg King
39ef63cbbc
Don't check for circular references of imports that don't have matching exports.
...
This fix will avoid referring to a struct member through a null pointer.
2021-06-04 13:35:26 -04:00
bbbradsmith
d5d9183ccf
conform to prevailing if bracket style
2021-06-04 07:09:58 -04:00
bbbradsmith
6ebe551919
return is sufficient, TooComplex flag is unnecessary to resolve this crash case
...
suggested by greg-king5 in #1409
2021-06-04 07:09:58 -04:00
bbbradsmith
3584c4c87f
fix crash when a NULL ExprNode is checked for circular references
2021-06-04 07:09:58 -04:00
acqn
4d5fe38540
Fixed OptStackOps when the stuff pushed on stack top is accessed before the op.
2021-06-03 12:03:53 +02:00
acqn
79be6dec16
More quick hack for CE_GenRegInfo.
2021-06-03 12:03:53 +02:00
acqn
0bfa13722b
More funcinfo on register usage fixes.
2021-06-03 12:03:53 +02:00
IrgendwerA8
fe003eedd4
Fix Atari keyboard code for cursor up key
2021-05-31 11:19:24 +02:00
Greg King
0d3c827d80
Made the C preprocessor #if nesting stack have 256 levels.
...
Closes #1523 .
2021-05-30 03:52:32 -04:00
Greg King
ee5014c595
Simplified the Supervision "hello world" sample program.
2021-05-29 09:04:47 -04:00
Greg King
c0f29993e0
Fixed the descriptions of the Creativision's functions.
...
Fixed bios_playsound()'s position in the alphabetical list of functions.
2021-05-29 08:53:13 -04:00
Greg King
6bedade593
Fixed the creativision function prototypes.
...
Added const to a pointer parameter.
2021-05-29 08:37:38 -04:00
polluks2
4973fc2246
Merge branch 'cc65:master' into master
2021-05-25 17:20:49 +02:00
mrdudz
010eea12a2
move test for issue #1211 into misc
2021-05-25 13:38:06 +02:00
Polluks
30830e1348
Added missing Creativision functions
2021-05-25 10:42:21 +02:00
mrdudz
65c640d2cf
added missing atari5200 target
2021-05-24 15:15:07 +02:00
mrdudz
022935320c
test for issue #897
2021-05-24 14:30:10 +02:00
mrdudz
ae3d3a4b5d
make readme a bit more clear (hopefully)
2021-05-24 13:53:44 +02:00
mrdudz
adda9438d2
testcase for issue #1357
2021-05-24 13:53:14 +02:00
Wayne Parham
ae9434e02e
seven-segment display update
2021-05-23 15:22:33 -05:00
Wayne Parham
db395e5988
Improved sample program symDisplay.c
2021-05-23 13:31:28 -05:00
mrdudz
0db23a8951
testcase for issue #263
2021-05-23 18:55:06 +02:00
polluks2
4865caa593
Merge branch 'cc65:master' into master
2021-05-22 23:39:34 +02:00
mrdudz
b08dc28cc1
another testcase related to issue #1462
2021-05-22 22:34:52 +02:00
mrdudz
e13f57e86c
added another testcase for issue #1462
2021-05-21 16:09:10 +02:00
Greg King
663268dca9
Syncronize the Supervision crt0.s with its ld65 config files.
...
.segment "VECTOR" -> "VECTORS". Fixes #1506 .
2021-05-21 03:32:43 -04:00
Christian Groessler
681c9594cc
libsrc/atari5200/crt0.s: fix formatting
2021-05-21 01:45:55 +02:00
Olli Savia
0ae1aad3d3
Fix typo: VIAx_CR -> VIAx_ACR
2021-05-19 20:26:11 +02:00
mrdudz
6d560f4236
change prototype for GraphicsString() to void __fastcall__ GraphicsString(const void *myGfxString);
2021-05-18 15:16:14 +02:00
Greg King
d14148ab4f
Restricted commit b9a3c78888
to classic-style Assembly macros.
...
.include will work at expansion-time for .define macros.
2021-05-17 19:48:47 -04:00
mrdudz
4a57656f69
add test for issue #1504
2021-05-17 14:40:09 +02:00
mrdudz
d736032675
added a missing comment
2021-05-17 14:25:33 +02:00
mrdudz
c53059468e
fix documentation for the driver _init calls
2021-05-17 14:25:18 +02:00
mrdudz
d2da30a7e2
give the "samples" target something to do to supress the "nothing to be done for 'samples'" message
2021-05-16 23:38:17 +02:00
mrdudz
5fc9d3f048
change driver _install calls from taking "void*" to "const void*"
2021-05-16 22:57:28 +02:00
mrdudz
ce487651b0
as suggested by Oliver:
...
- only output messages if MAKELEVEL is 0
- indent nested ifeq
- use if (,) syntax
2021-05-16 22:24:35 +02:00
acqn
1450f146a5
Fixed '[]', '()' '.' and '->' operators following a postfix increment/decrement.
2021-05-16 20:43:49 +02:00
acqn
43ca887263
Fixed 'case'/'default' labels in non-compound 'switch' body statement.
2021-05-16 20:43:49 +02:00
mrdudz
a9af6aa743
fix warnings
2021-05-16 18:29:45 +02:00
mrdudz
4ba3ff3048
redirect c64 to geos-cbm and apple2enh to geos-apple when given with SYS= on the command line, as suggested by oliver
2021-05-16 18:23:23 +02:00
mrdudz
53f0552fe7
fix warnings
2021-05-16 17:12:50 +02:00
WayneParham
e9fd87d07a
Merge branch 'master' into master
2021-05-16 10:02:37 -05:00
mrdudz
aecb01986a
fix list of executables for geos-apple
2021-05-16 15:45:34 +02:00
acqn
f5dacda69b
NoCodeConstExpr() fix to avoid exessive error messages.
2021-05-16 19:08:43 +08:00
acqn
6a3b9a9880
E_ADDRESS_OF logic fix.
2021-05-16 19:08:42 +08:00
acqn
aac03eae6f
Better future-proof bit-masking.
2021-05-16 19:08:42 +08:00
acqn
2d014383cd
Replaced certain usage of "(New-)PointerTo()" with "AddressOf()".
2021-06-08 00:43:26 +08:00
acqn
924fcf5d06
Replaced several occurance of PtrConversion() with StdConversion().
...
Variadic arguments of functions should be default-promoted.
2021-06-08 09:32:58 +08:00
mrdudz
86bd6b9add
Added executable list for all targets and print a message when certain
...
samples are not available for a target (instead of failing). This makes
"make SYS=<target>" in samples recursively work for all supported targets.
2021-05-15 19:48:19 +02:00
polluks2
930dc7efc2
Merge branch 'cc65:master' into master
2021-05-14 22:14:21 +02:00
acqn
18ae09f682
Less excessive errors with failed array declarations.
2021-05-14 10:48:17 +02:00
acqn
dfba8d77ca
Error messages shouldn't raise warnings about unused expressions by themselves.
2021-05-14 10:48:17 +02:00
Wayne Parham
321bac4178
Remove TAB characters
2021-05-13 14:43:16 -05:00
Christian Groessler
09e0e74124
(again) remove TABs
2021-05-13 18:12:12 +02:00
Greg King
e5813cfb1a
Removed two duplicate TYPEDEFs from a header.
...
The first one is replaced by an #include of the header that has its original TYPEDEF.
The second one is replaced by its base type.
That change allows pedantic C90-compliant compilers to accept the header.
2021-05-13 00:24:32 -04:00
Greg King
af4c4f6aaf
Removed a "return" keyword from an inline function that must return (void).
2021-05-12 19:43:32 -04:00
Greg King
5d198d6842
Fixed some URL links in a couple of documents.
2021-05-12 05:05:39 -04:00
Wayne Parham
f09ffb2a45
symNotepad.c
2021-05-12 01:08:13 +01:00
polluks2
3d541d0d10
Merge branch 'cc65:master' into master
2021-05-11 18:28:07 +02:00
Andrea Odetti
05f545e189
More line number related changes.
2021-05-11 17:41:59 +02:00
Andrea Odetti
93762a2117
ld65: move 2 more cases to the notation file:line.
2021-05-11 17:41:59 +02:00
Andrea Odetti
feccc68c54
ld65: avoid redundant error message information.
2021-05-11 17:41:59 +02:00
Andrea Odetti
467844963a
Update failing test due to error format changes.
2021-05-11 17:41:59 +02:00
Andrea Odetti
bcc670ee36
Standard formatting of error messages.
...
https://www.gnu.org/prep/standards/html_node/Errors.html
Issue: https://github.com/cc65/cc65/issues/1494
2021-05-11 17:41:59 +02:00
Oliver Schmidt
bda5bf70ce
Merge pull request #1487 from mrdudz/wrapped-call
...
Extend #pragma wrapped-call to support "bank" argument
2021-05-11 14:32:28 +02:00
Bob Andrews
82ee502f57
Merge branch 'master' into wrapped-call
2021-05-11 14:16:25 +02:00
mrdudz
07dd1e3849
fix formatting
2021-05-11 14:14:44 +02:00
mrdudz
18f94d1fe0
rework to use a magic value instead of a flag, as suggested by Oliver
2021-05-11 14:00:49 +02:00
mrdudz
ef74226993
improve error message
2021-05-11 13:37:53 +02:00
mrdudz
ef8c70c7af
use url instead of htmlurl, add note on least significant 8bits of the bank value
2021-05-11 13:36:30 +02:00
Oliver Schmidt
b7856ddd4f
Just some source formatting adjustments.
2021-05-11 10:40:44 +02:00
Wayne Parham
a2def19de5
Added TGT_SYM1
2021-05-10 15:20:49 +01:00
Wayne Parham
27e04b36b0
Makefile updates
2021-05-09 17:24:15 -05:00
Wayne Parham
f81aefe8bd
Synertek Systems Sym-1 config files
2021-05-09 17:13:24 -05:00
Wayne Parham
aea5db48cb
fix typo in README.md
2021-05-09 16:55:17 -05:00
Wayne Parham
044a0838a3
Changes to existing cc65 source to support Synertek Systems Sym-1
2021-05-09 16:52:48 -05:00
Wayne Parham
6e79379405
Synertek Systems Sym-1 machine-specific files
2021-05-09 16:34:53 -05:00
polluks2
ab9db5b503
Merge branch 'cc65:master' into master
2021-05-09 21:01:33 +02:00
Oliver Schmidt
07bd5089ec
Define CLOCKS_PER_SEC as _clocks_per_sec() if _clocks_per_sec() is actually available.
...
There are programs checking for the existence of CLOCKS_PER_SEC before usage. We don't want to mislead them.
2021-05-09 19:27:33 +02:00
polluks2
9dffc8ab0f
Merge branch 'cc65:master' into master
2021-05-08 20:01:45 +02:00
polluks2
b1f81d5e21
Optimised code
2021-05-08 19:48:31 +02:00
Polluks
4c37f12a4d
Optimised strlen
2021-05-08 19:36:37 +02:00
polluks2
80877a600a
Merge branch 'cc65:master' into master
2021-05-08 17:56:22 +02:00
mrdudz
3ea330f15f
update docs
2021-05-08 01:03:43 +02:00
mrdudz
0fbf2af09d
Fix the warning that is produced for unused functions
2021-05-08 01:03:43 +02:00
mrdudz
729690e9e9
document the wrapped-call extension
2021-05-05 16:07:47 +02:00
mrdudz
c9f242e566
Extend #pragma wrapped-call to support "bank" argument
2021-05-05 14:42:29 +02:00
Greg King
216bb22b20
Added a special version of a function which uses an absolute addressing mode to access the zero page.
...
The PCEngine needs such operands to be redirected to RAM page $20 explicitly. Fixes #1482 ; fixes #1483 .
2021-05-04 12:10:43 -04:00
Marco Aurelio da Costa
04cd884f8f
Prevent missed .ENDMACRO in included file
2021-05-02 14:17:11 +02:00
Marco Aurelio da Costa
b9a3c78888
Parse file included inside a macro at definition time
2021-05-02 14:17:11 +02:00
Evgeny Vrublevsky
8e02f8f5ec
Add .REFTO as an alias to .REFERTO. Update the docs related to it.
2021-04-29 07:55:43 -04:00
Evgeny Vrublevsky
50a58e7706
Added documentation for the .REFERTO.
2021-04-29 07:55:43 -04:00
Evgeny Vrublevsky
83e7c37277
Use .REFERTO instead of .REF as the command.
2021-04-29 07:55:43 -04:00
Evgeny Vrublevsky
e9a72b2462
Add .REF control command implementation.
2021-04-29 07:55:43 -04:00
mrdudz
f3663b8d2e
added test for issue #1461
2021-04-28 14:21:48 +02:00
acqn
71bd6415d6
No more unnecessary jump-over labels generated for logical OR false cases.
2021-04-24 23:53:26 +02:00
Greg King
1f4ce41846
Fixed the alphabetic sorting of the "Pseudo functions" section.
2021-04-24 13:48:42 -04:00
Greg King
4866ee53e6
Moved some Assembly function descriptions out of the "Control commands" section, and into the "Pseudo functions" section.
2021-04-24 13:20:10 -04:00
mrdudz
080cb1bac9
added testcase for issue #1462
2021-04-23 21:52:36 +02:00
Oliver Schmidt
5d84a4ba13
Removed non-ASCII chars.
2021-04-19 16:06:10 +02:00
Oliver Schmidt
f272bc8f42
Removed non-ASCII chars.
2021-04-19 15:50:52 +02:00
Marco Aurelio da Costa
fd3d5d35fb
mc: Implemented .LITERAL
2021-04-19 15:42:29 +02:00
acqn
f901adba22
Predefined type strings for inlined std function parameters.
2021-04-19 15:36:55 +02:00
acqn
9cea9ce5e2
Made the code more constness-correct with 'Type' usage.
2021-04-19 15:36:55 +02:00
acqn
cb64aaf20c
Made the code more constness-correct with 'Type' usage for inlined std functions.
2021-04-19 15:36:55 +02:00
acqn
328345b9c3
Removed a helper function that is no longer used.
2021-04-19 15:36:55 +02:00
acqn
24d36854d2
Minor cleanups with array element qualifiers.
2021-04-19 15:36:55 +02:00
acqn
896f463a23
Used more specific pointers instead of the "arbitary attribute pointer" used in type strings.
2021-04-19 15:36:55 +02:00
acqn
bfb7c936aa
Preparation for constness-correction.
2021-04-19 15:36:55 +02:00
Oliver Schmidt
a982f6a668
Removed obsolete file.
...
c658acbf85
made this file unnecessary.
2021-04-18 21:14:49 +02:00
Evgeny Vrublevsky
ac08482fa3
Allow editing cc65.props from Property Manager.
2021-04-18 21:12:51 +02:00
Evgeny Vrublevsky
ee8c7b47bc
Add new lines at the end of the project files.
2021-04-18 21:12:51 +02:00
Evgeny Vrublevsky
7be3b53f72
cc65.props uses spaces instead of tabs.
2021-04-18 21:12:51 +02:00
Evgeny Vrublevsky
2120dd662c
Move all common project settings into cc65.props.
2021-04-18 21:12:51 +02:00
Marco Aurelio da Costa
9941855dc6
mc: Removed original version comment, not relevant for assembler
2021-04-18 20:39:05 +02:00
Marco Aurelio da Costa
f7613b529c
mc: Added default charmap include files for assembler
2021-04-18 20:39:05 +02:00
Marco Aurelio da Costa
1993d5c091
mc: Documentation for .PUSHCHARMAP/.POPCHARMAP
2021-04-18 20:39:05 +02:00
Marco Aurelio da Costa
83ee928fb1
mc: Formatting, remove stray lines
2021-04-18 20:39:05 +02:00
Marco Aurelio da Costa
c915b5d7f3
Implemented charmap stack
...
New commands:
.PUSHCHARMAP: will push the current charmap state into an internal stack
.POPCHARMAP: will restore the current charmap to the last pushed charmap
Details:
The push and pop facilities are implemented directly inside the tgttrans.h,
to facilitate its reuse on the C compiler.
2021-04-18 20:39:05 +02:00
Greg King
ffc30c0c6e
Added RAM_BANK and ROM_BANK macro definitions to cx16.h header.
2021-04-18 01:39:44 -04:00
acqn
6e61093e79
Fixed pointer subtraction in certain very rare cases.
2021-04-17 11:14:37 +02:00
Greg King
6bb1b6953f
Documented the options to control cc65's warnings about induced pointer type changes.
2021-04-17 01:59:09 -04:00
acqn
e9545d68ee
Minor clean-ups and typo fixes.
2021-04-17 11:43:03 +08:00
Dirk Lehmann
eb1cf750f2
-W-unreachable-code option added, alphabetic order of --list-warnings
2021-04-13 09:37:55 +02:00
acqn
5f8d163045
Moved one test case for #1209 .
2021-04-06 22:20:39 +02:00
acqn
e435da6234
Interim fix for Issue #897 .
2021-04-06 22:20:39 +02:00
Oliver Schmidt
0ed41db478
Some minor clarifications.
2021-04-06 01:45:41 +02:00
acqn
39700c77ee
Added test case for Issue #1451 .
2021-04-05 15:49:54 +02:00
acqn
bd8eae67f1
Fixed local struct field access via the address of the struct.
2021-04-05 15:49:54 +02:00
polluks2
f5365c7ffd
Update README.md
...
Commander X16
2021-04-03 21:29:18 -04:00
polluks2
2583dfb71a
Update README.md
...
Commander X16
2021-04-04 03:13:45 +02:00
polluks2
4c0ee3e0d8
Merge pull request #3 from cc65/master
...
Update
2021-04-04 02:34:41 +02:00
acqn
5d05451ab2
Fixed test case for Issue #1263 .
2021-04-03 17:50:46 +02:00
acqn
1a3628df1a
Fixed the term 'argument' vs 'parameter' in function parser.
2021-04-03 17:50:46 +02:00
acqn
2864b3ef8a
Fixed composition of prototypes and old-style function definitions with default promotions.
...
Fixed function parameter list comparison with empty ones.
2021-04-03 17:50:46 +02:00
acqn
91fd30611a
Fixed ICE on error cases such as '&func + int a'.
2021-04-03 17:45:52 +02:00
Christian Groessler
200b420562
Export LMARGN_save to C. People might want to preserve this setting in their program.
...
In turn rearrange startup code in order that LMARGN can be set by a 'constructor' (Do
"initlib" later.)
2021-04-01 15:19:06 +02:00
acqn
4a38965384
Warnings on discarding pointer qualifiers always.
...
Added new -W options to turn on/off warnings on certain pointer conversion cases:
- pointer-sign: to a pointer type differing in pointee signedness. Default on.
- pointer-types: to a pointer type incompatible. Default on.
2021-03-30 19:41:20 +02:00
acqn
b802efde54
Fixed ternary result type detection with pointer types.
...
Fixed pointer type comparison and conversion, especially regarding qualifiers.
Improved diagnostics about type comparison and conversion.
Reorganized some type-comparison/conversion functions.
2021-03-30 19:41:20 +02:00
acqn
31c1172a3a
zlib: Use correct (un)signedness of char in prototypes and functions.
...
Also ensure we are using the same constness qualifiers.
2021-03-30 19:41:20 +02:00
acqn
f9812930c1
More detailed diagnostic info about conflicted function types.
2021-03-30 16:47:57 +08:00
acqn
cb8fbf4772
Removed the non-existing-in-C "struct/union scope" for structs/unions.
...
Fixed handling of struct/union field declarations without identifiers, which do nothing.
2021-03-29 19:28:22 +02:00
Greg King
edecbc86b8
Reverted "Second address" back to "Secondary address".
2021-03-27 13:34:39 -04:00
mrdudz
bf1bb7a032
ooopsie :)
2021-03-27 15:13:32 +01:00
mrdudz
54920193e5
added test for issue #1438
2021-03-27 15:11:47 +01:00
Oliver Schmidt
1bd04e8462
Merge pull request #1439 from acqn/CConvFix
...
[cc65] Issue #1438 fix
2021-03-27 01:33:07 +01:00
mrdudz
d2bc449598
Merge branch 'master' of https://github.com/cc65/cc65
2021-03-26 22:18:31 +01:00
mrdudz
02392d6220
added test related to issue #1437
2021-03-26 22:18:05 +01:00
acqn
f273b1ebcb
Fixed crash with non-inlined __fastcall__ function invocation with no arguments.
2021-03-26 11:02:46 +08:00
Greg King
710c6c6f2f
Fixed cbm_k_readst() to work around a VIC-20 Kernal bug.
...
It properly returns the RS-232 device's status.
2021-03-25 15:22:18 -04:00
Greg King
0f1386ff4c
Added documentation about the slightly different behavior of cpeekcolor() on the cx16 platform.
2021-03-25 08:28:15 -04:00
acqn
3755e4a863
Replaced checking for __fastcall__ aginst AutoCDecl etc. with IsFastcallFunc().
2021-03-24 14:35:44 +08:00
mrdudz
d3cd668585
also test (some of) the cases with an external function
2021-03-22 23:37:33 +01:00
mrdudz
55e89416cd
test related to issue #1196 and pr #1424 respectively
2021-03-22 19:12:44 +01:00
Christian Groessler
531a31722e
fix typo
2021-03-22 14:06:40 +01:00
Oliver Schmidt
203c4da15b
Merge pull request #1434 from mrdudz/test1423
...
Test for pr #1423
2021-03-20 02:01:46 +01:00
acqn
3c2e7ce41c
More reliable test for true/false with addresses for AND, OR and ternary operators.
...
Minor comment typo fix.
2021-03-20 01:39:32 +01:00
acqn
f8835d2867
Fixed codegen with addresses as boolean test conditions.
...
Fixed warning on unreachable code of if body.
2021-03-20 01:39:32 +01:00
mrdudz
82fb9aa418
testcase related to pr #1423
2021-03-20 00:55:55 +01:00
mrdudz
bbfc24770e
test related to pr #1425
2021-03-20 00:23:12 +01:00
acqn
325b7b4ab3
Enabled 'a ? b, c : d'.
2021-03-20 00:09:47 +01:00
acqn
a51d6d40de
Ternary fix for some obscure cases.
2021-03-20 00:09:47 +01:00
mrdudz
cc040ca04a
remove, fucking git
2021-03-19 23:39:56 +01:00
mrdudz
57e69d9647
test related to pr #1425
2021-03-19 23:35:34 +01:00
mrdudz
7d528d9eb0
fix typo
2021-03-19 22:26:49 +01:00
mrdudz
9ec9d1e20c
test for issue #1431 / pr #1424
2021-03-19 20:53:52 +01:00
acqn
6974c1ff12
Fixed and cleaned up codegen logic with arithmetic conversion in addition and subtraction.
2021-03-19 16:35:03 +01:00
Christian Groessler
cd116e5ba0
src/ar65/library.c: style fix
2021-03-18 22:27:42 +01:00
Christian Groessler
9b05fe9982
src/ar65/library.c: fix compilation on Windows
2021-03-18 22:27:42 +01:00
Christian Groessler
358d750b3e
ar65: fix parallel builds by using a per-process temp file
2021-03-18 22:27:42 +01:00
Christian Groessler
64449f0f54
ar65: better version of last change
2021-03-18 22:27:42 +01:00
Christian Groessler
d3c495e8b9
ar65: fix parallel builds by using a per-process temp file
2021-03-18 22:27:42 +01:00
acqn
b02838439c
Changed g_addaddr_local() codegen to reduce code size.
2021-03-16 22:29:20 +01:00
acqn
8eeaaa3f36
Made certain types of comparison between addresses in constant expressions work.
2021-03-16 22:29:20 +01:00
acqn
99c7fe0ada
Reusing code from parseadd() for ArrayRef().
...
Now index[ptr] works in constant expressions.
Fixed codegen for cast type in constant expressions.
Calls on swapstk in 'i[ptr]' is avoided when possible.
2021-03-16 22:29:20 +01:00
acqn
f5972dfd08
Made int+pointer work in constant expressions.
...
Fixed codegen for cast type addition in constant expressions.
Calls on swapstk in 'i+ptr' is avoided when possible.
2021-03-16 22:29:20 +01:00
acqn
aa6fdf58b8
Addresses in constant subtraction expressions now work.
...
Fixed codegen for cast type subtraction in constant expressions.
2021-03-16 22:29:20 +01:00
acqn
c4a2620e29
Added an utility function to check for quasi-constant addresses (of stack variables).
2021-03-16 22:29:20 +01:00
acqn
0a8ca3041a
Changd all Find*Last*InOpenRange() to return the beginning of the open range.
...
Fixed FindArgLastUsageInOpenRange().
2021-03-16 22:24:19 +01:00
acqn
4376b83390
Fixed LoadAAt().
2021-03-16 22:24:19 +01:00
acqn
bd5d5b7385
Removed the prototype of evalexpr() that no longer exists.
2021-03-16 22:24:19 +01:00
jede
41f796bbe1
left and right mask are inverted : fix in telestrat.h
2021-03-15 21:10:29 -04:00
jede
b9fd318985
fix space/column
2021-03-13 00:15:05 +01:00
jede
c0d638a26d
add clock for Telestrat target and add some Telemon primitives
2021-03-13 00:15:05 +01:00
jedeoric
4f26650228
[Telestrat] chdir management ( #1419 )
...
* add syschdir
* revert read.s
* remove extra line
* Now we update __cwd
* Fix tab
* Fix another tab
* Fix tab
* Fix tab and jmp
* fix xgetcwd
* Fix comments
2021-03-11 09:42:14 +01:00
greg-king5
23fba6cc37
Merge pull request #1412 from jedeoric/master
...
[Telestrat] Fix many bugs in conio Telestrat target
2021-03-09 18:44:20 -05:00
jede
a05dddd0d6
Fix next column
2021-03-09 22:02:26 +01:00
jede
facc1b4914
Fix cputdirect
2021-03-08 21:16:44 +01:00
jede
df64fd859c
Fix cvline bug
2021-03-07 23:00:15 +01:00
jede
48badc0816
Fix import return0
2021-03-06 21:40:26 +01:00
Oliver Schmidt
bc8cca9fc4
Revert "Now getchar works"
...
This reverts commit 1fc16cb9ed
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
f122837955
Revert "add syschdir"
...
This reverts commit d83e8a3f0e
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
d6f2fda575
Revert "revert read.s"
...
This reverts commit 65d5786da5
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
8ae5a4a134
Revert "remove extra line"
...
This reverts commit 973a5337ac
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
ab4ca51848
Revert "Now we update __cwd"
...
This reverts commit d417baf826
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
558dfa285e
Revert "Fix tab"
...
This reverts commit 17ca09ba9a
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
24d63a96b1
Revert "Fix another tab"
...
This reverts commit 9b36565485
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
f9ca091bd0
Revert "Fix tab"
...
This reverts commit 2ae41e0a55
.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
1d8479b411
Revert "Fix tab and jmp"
...
This reverts commit bf9d4ac3bb
.
2021-03-06 12:03:05 +01:00
jede
bf9d4ac3bb
Fix tab and jmp
2021-03-04 18:02:26 +01:00
jede
2ae41e0a55
Fix tab
2021-03-04 18:02:26 +01:00
jede
9b36565485
Fix another tab
2021-03-04 18:02:26 +01:00
jede
17ca09ba9a
Fix tab
2021-03-04 18:02:26 +01:00
jede
d417baf826
Now we update __cwd
2021-03-04 18:02:26 +01:00
jede
973a5337ac
remove extra line
2021-03-04 18:02:26 +01:00
jede
65d5786da5
revert read.s
2021-03-04 18:02:26 +01:00
jede
d83e8a3f0e
add syschdir
2021-03-04 18:02:26 +01:00
jede
1fc16cb9ed
Now getchar works
2021-03-04 18:02:26 +01:00
polluks2
1dcb21eaa7
Merge pull request #2 from cc65/master
...
Update
2021-03-04 09:09:46 +01:00
Greg King
5f145542b0
Exported the Commodore CHRIN and CHROUT Kernal functions, in the CBM libraries.
...
This commit complements commit 98f8064b83
.
2021-03-03 17:39:53 -05:00
jede
872739b5f4
Fix comments, return line and bordercolor return
2021-03-03 22:14:29 +01:00
acqn
047d0f479b
Comments format fix.
2021-03-03 10:07:24 +01:00
acqn
2aad72af90
Removed trailing whitespaces.
2021-03-03 10:07:24 +01:00
jede
cdbe23c351
Fix missing new line in bordercolr
2021-03-01 23:21:58 +01:00
jede
3adddf5825
Merge branch 'master' of https://github.com/jedeoric/cc65
2021-03-01 23:20:37 +01:00
jede
185c451000
Fix cputdirect
2021-03-01 23:19:30 +01:00
jedeoric
ba4310f589
Merge branch 'master' into master
2021-03-01 23:03:34 +01:00
jede
abef6566e7
Add revers.s
2021-03-01 22:45:05 +01:00
jede
8ec6d28f92
Revert read.s
2021-03-01 22:44:06 +01:00
jede
256b22f1c7
Add bordercolor and cvline
2021-03-01 22:36:09 +01:00
jede
02e52fe24d
Fix many bugs
2021-03-01 22:33:12 +01:00
acqn
8b6d78a075
Added Opt_a_tosbitwise for 8-bit bitwise operations.
2021-03-01 22:11:22 +08:00
acqn
3caceb8174
Fixed result type in certain contant expression addition cases.
2021-02-26 19:45:46 +01:00
acqn
f2eed38fc8
Fixed expression type of the result of numeric constant comparison.
2021-02-26 19:45:46 +01:00
acqn
ea0c634e12
Improved codegen for unsigned char type comparison with numeric constants.
2021-02-23 22:06:21 +01:00
acqn
6f5ad51816
Added testcase for Issue #1408 .
2021-02-23 22:06:21 +01:00
acqn
d628772cd1
Fixed signed char type comparison with unsigned numeric constants.
2021-02-23 22:06:21 +01:00
acqn
f1c715c455
Fixed a bug that pointer subtraction results from two absolute addresses are calculated as unsigned long.
2021-02-22 14:14:59 -05:00
acqn
da4cc08b78
Moved and improved test case for Issue #1310 .
2021-02-22 14:14:59 -05:00
acqn
81d6321cd7
Fixed internal representation of calculated constant results.
...
Minor clean-up.
2021-02-22 14:14:59 -05:00
acqn
24985f1b33
Added testcase for the "deferred ops in unevaluated context" bug.
2021-02-22 11:02:47 +01:00
acqn
eadaf2fef8
Fixed deferred post-inc and post-dec in unevaluated context such as 'sizeof(i++)'.
2021-02-22 11:02:47 +01:00
acqn
40b26f4060
Now the compiler removes code that has no observable effect.
2021-02-22 13:47:32 +08:00
Greg King
bb3a2db5a0
Fixed an ambiguous statement about CONDES segments.
2021-02-21 15:44:59 -05:00
Greg King
acb5af539f
Fixed the ld65 configure files for the cx16 platform.
...
* Added ONCE and INIT segments to the Assembly configuration.
* Made more segments optional in the standard and the banked configurations. That will make them a little easier to use with Assembly-source programs.
2021-02-21 14:02:49 -05:00
acqn
7f05bd797f
Now the compiler tracks code that has no observable effect.
2021-02-21 16:36:29 +08:00
acqn
131f96eb1e
Moved testcase for issue #1397 .
2021-02-17 07:03:11 -05:00
acqn
55ae350fed
Fixed 'Opt_staxspidx' for the invariant of 'staxspidx'.
2021-02-17 07:03:11 -05:00
Oliver Schmidt
3a7282544e
Moved convert.system from geos-apple to apple2[enh].
...
The target util convert.system is to be used in conjunction with GEOS on the Apple II but has to be built as an "ordinary" Apple II program. The way the cc65 library build system is designed there's no way to define dependencies between targets. The solution used so far was to explicitly trigger a build of the target 'apple2enh' from the target 'geos-apple'. However, that approach tends to break parallel builds which may be in the middle of building 'appple2enh' at the time it is triggered by 'geos-apple'.
There might be ways to get this fixed - but the the cc65 library build systrem is already (more than) complex enough, so I really don't want to add anything special to it.
On the other hand there are easier ways (outside the scope of cc65) to archive what convert.system does so I don't presume convert.system to be actually used - it's more a reference type of thing.
Putting all facts together the decision was easy: Just move convert.system from the target it is used with to the target(s) it is built with.
2021-02-17 10:50:22 +01:00
Christian Groessler
b12758fe53
include/atari.h: fix typo in _setcolor() prototype
2021-02-16 14:07:47 +01:00
Greg King
98f8064b83
Made the directory functions compatible with the Commander X16's DOS.
...
It's directory listing's last line says, "mb free."
2021-02-15 08:56:31 -05:00
Christian Groessler
43881afca2
doc/atari5200.sgml: document splash screen user changeable settings
2021-02-11 21:02:24 +01:00
Christian Groessler
9cd1ffa6a6
doc/ld65.sgml: document the INIT segment
...
- re-arrange the segments in the "Special segments" section alphabetically
- some small changes in section 5.8 (FILE) regarding Atari XEX format
2021-02-11 20:58:17 +01:00
mrdudz
ab8bb26868
added testcase for issue #1937
2021-02-09 19:50:08 +01:00
Christian Groessler
6c90f3e2d2
atarixl configs: RAM memory area was renamed to MAIN in d8c31cf1d3
...
adjust comments accordingly
2021-02-09 11:22:58 +01:00
Oliver Schmidt
8551431233
Optimized based on https://github.com/cc65/cc65/pull/1393 .
2021-02-05 11:54:07 +01:00
acqn
6617a017fa
Added Opt_a_tossub for 8-bit subtraction.
2021-02-05 17:29:49 +08:00
jede
a9dac3b1ef
Fix X register for kbhit
2021-02-02 14:09:57 +01:00
jede
b52ee25385
Rollback read.s
2021-02-02 14:09:57 +01:00
jede
f622783ae1
kbhit added for telestrat target
2021-02-02 14:09:57 +01:00
jede
6c59a6254f
Now getchar works
2021-02-02 14:09:57 +01:00
acqn
95830cce29
Fixed test/misc/bug1265.c with its output.
2021-01-30 14:31:51 +01:00
acqn
bfc7a51a44
Fixed Issue #1265 according to C89/C99 standards.
2021-01-30 14:31:51 +01:00
acqn
c9ac515286
Functions with no prototypes might use EAX registers.
2021-01-30 14:31:51 +01:00
acqn
a1992702f8
Declarations of 'extern' object and function should be visible in the file scope.
2021-01-30 14:31:51 +01:00
acqn
a040c28cc4
Moved test for #1374 .
2021-01-19 14:33:27 +01:00
acqn
b99455cc47
Fixed Issue #1374 .
2021-01-19 14:33:27 +01:00
mrdudz
0846219672
added testprogram for issue #1374
2021-01-16 16:40:58 +01:00
polluks2
0636c4bc30
Merge pull request #1 from cc65/master
...
Update
2021-01-13 12:26:00 +01:00
Oliver Schmidt
a861d84011
Fixed recent addition of __A__.
2021-01-06 16:09:55 +01:00
Piotr Kaczorowski
0884278ae3
Correction in documentation regarding __A__ pseudo variable
2021-01-06 16:05:04 +01:00
Piotr Kaczorowski
e3fa247012
Yet another fix typo in cc65.sgml
2021-01-06 16:05:04 +01:00
Piotr Kaczorowski
601e628343
Another fix typo in cc65.sgml
2021-01-06 16:05:04 +01:00
Piotr Kaczorowski
68e1faa2c8
Fix typo in cc65.sgml
2021-01-06 16:05:04 +01:00
Piotr Kaczorowski
9662469957
Return-type warning and pseudo variable __A__ documentation added.
2021-01-06 16:05:04 +01:00
Rocky
a9b71b6207
return-type - new warning suppression type added
2021-01-06 16:05:04 +01:00
Greg King
d90cd11212
Fixed outdated comments.
2020-12-27 18:22:12 -05:00
Sven Michael Klose
9800555bbb
Remove stale comments.
2020-12-27 17:54:49 -05:00
Sven Michael Klose
9d62abb7ac
Fix comment.
2020-12-27 17:54:49 -05:00
Sven Michael Klose
db31204950
Remove stale comment.
2020-12-27 17:54:49 -05:00
Sven Michael Klose
6201300816
Fold constant calculation.
2020-12-27 17:54:49 -05:00
Sven Michael Klose
f59cb9af06
Use more compact loops.
2020-12-27 17:54:49 -05:00
Sven Michael Klose
99c0815cdb
Clear up comments a bit.
2020-12-27 17:54:49 -05:00
Sven Michael Klose
3957310950
Knock off two bytes from getcwd(), cbm_read() and cbm_write().
2020-12-27 17:54:49 -05:00
Jesse Rosenstock
e0c12c90cd
g_asr, g_asl: Use ROL/ROR for char shifts by >= 6
...
Instead of `val` right (left) shifts, we can also do `9 - val` left (right)
rotates and a mask. This saves 3 bytes and 8 cycles for `val == 7` and
1 byte and 4 cycles for `val == 6`.
2020-12-27 14:22:40 -05:00
Christian Groessler
ef258bdc19
remove TABs which again slipped in....
2020-12-25 07:16:26 +01:00
michael
d67b955e52
Fixed example of the OS struct usage for Atari 5200
2020-12-25 01:35:38 +01:00
baktrasf
2e9bada1f2
Atari 5200 OS header refinements
2020-12-25 01:35:38 +01:00
baktrasf
1c72da4904
Add operating system symbols for the Atari 5200 target
2020-12-25 01:35:38 +01:00
Jesse Rosenstock
dfd047ce6a
g_typeadjust: Use CF_CHAR for char args
...
If lhs and rhs are either both signed char or both unsigned char,
return flags for that type instead of (unsigned) int. The flags
are used only for codegen. Currently, this does nothing, since
codegen treats chars as ints unless CF_FORCECHAR is set, but it
allows more efficient char x char -> int codegen to be added in
the future.
2020-12-24 14:40:39 -05:00
Greg King
b2c1a77bb3
Fixed the cc65 code that optimizes 16-bit compares when the high bytes are known to be equal.
...
Only the low bytes are compared. Originally, signed 16-bit compares were optimized into signed 8-bit compares. But, the sign bits are in the high bytes; and, they're equal. Therefore, the low bytes always must be compared as unsigned numbers.
Fixes #1348 .
2020-12-24 12:27:09 -05:00
Oliver Schmidt
0f4cb443b4
Improved device I/O under DOS 3.3
...
Certain scenarios (e.g. not running any Applesoft program at all since booting DOS 3.3) can make DOS 3.3 consider cc65 device input (e.g. getchar()) that reads a CR interpreting the command in the keyboard buffer. Setting the hibyte of the Applesoft currently executed line number to some value <> $FF (beside setting the input prompt to some value <> ']') makes DOS 3.3 understand that we're not in intermediate mode and that therefore I/O not preceded with ctrl-d mustn't be fiddled with (see DOS 3.3 routine at $A65E).
2020-12-19 19:54:12 +01:00
Greg King
59c58acbe3
Documented the address size argument of the bss-name, code-name, data-name, and rodata-name pragmas.
2020-12-05 23:04:48 -05:00
Olli Savia
b22d8c7441
Added STATUS (0) definition
2020-12-03 12:13:23 +01:00
Polluks
9563541870
crt0 clean-up
2020-11-29 18:08:33 +01:00
Polluks
5fa7b90e05
crt0 clean-up
2020-11-29 17:10:34 +01:00
Tim Gates
2646c06f61
docs: fix simple typo, paramater -> parameter
...
There is a small typo in src/cc65/pragma.c.
Should read `parameter` rather than `paramater`.
2020-11-29 10:26:08 +01:00
Polluks
c663f64542
Added features; changed FFF0 segments
2020-11-28 20:56:12 +01:00
Polluks
a538188d90
Fixed some config mistakes
2020-11-28 20:56:12 +01:00
Polluks
9538ca29b2
Unified #1345
2020-11-28 20:56:12 +01:00
Greg King
a0d986faf8
Fixed the horizontal movement of the mouse pointer on platforms with the VIC-II display chip.
...
ca65's logical (Boolean) NOT operator was used where bitwise NOT should be used. The effect was that all sprites were shifted to the left side of a screen when the mouse sprite was put on the left side.
2020-11-27 21:22:22 -05:00
Greg King
8b42f570e9
Fixed code that caused a seg-fault after parsing a (deferred) post-count argument followed by a (nested) function-call argument.
...
The old broken code defers the count until the end of the (parent function's) argument list. But, a nested function call clears the pointer to the deferred type. That leads to an access violation.
The new code defers only until the end of each argument. Fixes #1320 .
2020-11-20 17:45:14 -05:00
Oliver Schmidt
79bdc2d51f
Set correct prerequisite.
...
See https://github.com/cc65/cc65/issues/1318
2020-11-20 19:19:55 +01:00
Oliver Schmidt
cffcbce60f
Bumped version.
...
I placed the Git tag V2.19 in hindsight at 555282497c
. But I certainly don't want to rewrite the Git history just for the reported version, so I simply set the reported version at today's HEAD to 2.19.
2020-11-20 19:11:20 +01:00
mrdudz
c11e389a94
move testcase for issue #1320 into test/misc
2020-11-20 17:25:10 +01:00
mrdudz
48710af55a
make plasma sample work again despite issue #1348
2020-11-19 23:21:06 +01:00
mrdudz
0d46af2e9c
Merge branch 'master' of https://github.com/cc65/cc65
2020-11-19 23:12:46 +01:00
mrdudz
23273584a0
testcase for issue #1348
2020-11-19 23:12:16 +01:00
Zsolt Branyiczky
032b4e3979
Fixed typo
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
63543dee07
Revert transient modification of EATab Table 0 comment
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
adad3d2e87
Revert "adding c64dtv device to the supported ones"
...
This reverts commit 1d9e378fe3
.
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
b2c55c3338
adding c64dtv device to the supported ones
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
36f5dcbb6e
added 6502dtv opdoces testcases and corrected cpudetect
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
527500cedc
instruction table contained wrong parameters at SIR opcode
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
0e98818db5
assembled SAC and SIR opcodes of 6502DTV cpu were wrong
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
1c5c07406c
cpudetect.s needs this file to run its test for 6502dtv cpu
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
843b94388a
added asm test for 6502DTV cpu
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
130d3b52a2
new macros supporting 6502DTV cpu
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
4205a04a34
6502DTV is not a superset of 6502X more
2020-11-19 22:02:07 +01:00
Polluks
c59e8277ae
Added prototype
2020-11-18 10:28:19 +01:00
Polluks
a0596eae6e
Added waitvsync for PET
2020-11-18 10:28:19 +01:00
Polluks
bd6e5927c4
Fixed #1341
2020-11-18 10:28:19 +01:00
Greg King
5ba16654a3
Refined the hints about making new test reference files.
2020-11-17 15:06:05 -05:00
Greg King
b0497f40b2
'test/isequal.c' doesn't change. Don't rebuild it for each test subdirectory.
2020-11-17 13:40:36 -05:00
Greg King
47bceb0eab
Streamlined some makefiles.
...
foreach isn't needed because make automatically iterates through lists of words when substituting patterns.
2020-11-17 13:34:22 -05:00
Greg King
2ffb6af5d9
Simplified a bug test. Gave it an appropriate description,
2020-11-17 08:15:34 -05:00
Jesse Rosenstock
68cb15d0f9
Add test case for #1320
...
From https://github.com/cc65/cc65/issues/1320#issuecomment-726866015
2020-11-17 09:45:02 +01:00
Oliver Schmidt
0cd8d37613
Fixed comment.
2020-11-17 08:53:48 +01:00
Oliver Schmidt
69c0363c7e
Fixed CPU bitmask constants to match the CPU instruction set bitmasks computed in src/common/cpu.h.
2020-11-16 18:50:15 +01:00
Oliver Schmidt
116682c190
Avoid C99 idioms.
2020-11-16 18:08:00 +01:00
Jesse Rosenstock
c2c73e7d06
Move #1332 test from todo/ to val/
...
This bug was fixed by 2915464
.
2020-11-16 03:23:52 -05:00
Jesse Rosenstock
060417b0dc
Adjust type of int constants that fit in char
...
When there is an integral constant like `3` in an expression, it has
type `int` according to the C spec, even though it can be represented
as an `unsigned char`. Change codegen (`hie_internal` and `typeadjust`)
to treat it as `unsigned char` instead of `int` so that faster,
unsigned operations can be used.
For the test case in #1298 , reduces the cycles per iteration from
4311 to 1884. This is a great improvement, but still much worse than
the 1053 cycles/iter from `c4698df~`, so more work remains to be done.
Further partial fix for #1298 and #1308 .
2020-11-16 00:56:19 +01:00
Jesse Rosenstock
83ac2755fe
Add test case for #1332
2020-11-15 21:32:45 +01:00
Greg King
2915464667
Fixed cc65's generation of char-type bit-shift code.
...
Fixed CHAR-to-INT type conversions in the right-shift code generator. Also fixed some printf-style format specifiers.
2020-11-15 15:22:23 -05:00
Greg King
5f65252fa6
Added the cputdirect entry point to the cputc() functions in the two Oric libraries.
...
It now is available in all libraries that have cputc().
2020-11-15 11:44:12 -05:00
Zsolt Branyiczky
2d7777b604
Instruction table is synchronized with the c65's one
2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
0f7cf87bfa
Synchronizin InsTab6502DTV instructions table for DTV with the illegal opcodes verified by VICE-emu tests
2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
dd44dc4d77
Fix typo
2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
06dfef81a1
Added 6502dtv description to cpu option
2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
92c013944e
Mistyped comment, missing comma
2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
b33b053307
add c64dtv support
2020-11-15 16:35:55 +01:00
Christian Groessler
77da8d5490
vic20.cfg: add missing comma
2020-11-11 17:20:25 +01:00
Sven Michael Klose
53f055fb1d
Reduce stack size to 256B for unexpanded VICs.
2020-11-11 12:42:35 +01:00
Jesse Rosenstock
93145246fd
Add tests for u8 op s16_const
...
Test expressions like `unsigned char x = ...; ... = x / 2;`
These use `int` constants with values representable by
`unsigned int` / `unsigned char`, so using unsigned codegen should
be possible.
Additional tests for #1308 . These are things we want to generate better
code for, so add tests that the behavior doesn't change.
2020-11-09 21:20:16 +01:00
Jesse Rosenstock
5db74b4b19
Use u16 codegen for u8 x u8 ops
...
In g_typeadjust, before we apply the integral promotions, we check if
both types are unsigned char. If so, we promote to unsigned int, rather
than int, which would be chosen by the standard rules. This is only a
performance optimization and does not affect correctness, as the flags
returned by g_typeadjust are only used for code generation, and not to
determine types of other expressions containing this one. All unsigned
char bit-patterns are valid as both int and unsigned int and represent
the same value, so either signed or unsigned int operations can be used.
This special case part is not duplicated by ArithmeticConvert.
Partial fix for #1308 .
2020-11-09 21:19:22 +01:00
Greg King
81edc3f582
Updated a comment about Kernal's STATUS variable.
2020-11-08 17:45:54 -05:00
Jesse Rosenstock
b5f0c0468d
Add stdint.h types for C89 compilers
...
Add `intN_t` and `uintN_t` for N = 8, 16, 32.
2020-11-03 21:24:52 +01:00
Jesse Rosenstock
65193c6aaf
Add stdint.h constants INT32_MIN and UINT32_MAX
...
These were missing before
2020-11-03 09:26:26 +01:00
Jesse Rosenstock
0e482c7f92
Add test for issue #1310
2020-11-01 19:09:20 +01:00
Christian Groessler
39c0abed54
atarixl: fix compilation problem when CHARGEN_RELOC is defined
2020-10-30 15:01:47 +01:00
Greg King
aad17a6f05
Made two GEOS directory functions return NULL if they can't give a valid entry.
2020-10-29 18:06:01 -04:00
Oliver Schmidt
d8e6fa61bb
Return NULL on error (or end of directory).
2020-10-29 17:44:19 +01:00
Christian Groessler
944ebbc23c
atarixl configs: make size of CHARGEN configurable
...
If text mode is not used, its space can be reclaimed by setting __CHARGENSIZE__
to 0.
Following a suggestion from issue #1314 .
2020-10-29 17:43:49 +01:00
Jesse Rosenstock
a686988d0e
Add test cases for integral promotion of chars
...
Both signed and unsigned chars are promoted to int by C's evaluation
rules. It is more efficient to use unsigned operations when possible,
however. These tests will help test the correctness of optimizations
doing that. See #1308 .
2020-10-29 13:54:37 +01:00
Christian Groessler
262631039d
atari.h, atari5200.h: style fixes
2020-10-28 21:12:32 +01:00
Christian Groessler
3537210674
add waitvsync() for atari and atari5200
2020-10-28 21:12:32 +01:00
Oliver Schmidt
79cf1e13a7
Adjusted to recent change in time.h
2020-10-25 21:33:08 +01:00
Oliver Schmidt
f723147f04
Streamlined clock rate handling.
...
* Docs say that CLK_TCK is an obsolete alias of CLOCKS_PER_SEC so there's no point in individual definitions.
* All targets determining the clock rate at runtime can use a common handling.
2020-10-25 14:06:44 +01:00
acqn
07cc6a3d20
Made optimization steps aware of long branches better.
2020-10-24 21:25:24 +02:00
Oliver Schmidt
2fcd8b934a
Made HGR segment obligatory.
...
Requiring the HGR segment makes the configs a little less flexible, but for the intended use case the HGR segment actually is necessary. And as we learned now, making the HGR segment obligatory helps users to not shoot themselves in the foot.
2020-10-24 13:57:35 +02:00
jede
b8889bf37e
Now getchar works
2020-10-23 23:47:30 +02:00
Oliver Schmidt
8e685a0071
Mention recursion.
2020-10-23 18:35:14 +02:00
Oliver Schmidt
947dd9aca0
Adjusted ChkDkGEOS.
2020-10-22 08:54:07 +02:00
acqn
5c43d1e04f
Changed codegen for postfix inc/dec operations by deferring them till sequence points.
...
This usually allows faster & smaller code.
Note that deferred operations must still be called at sequence points even if the whole expressions containing them had constant values.
2020-10-20 22:01:55 +02:00
acqn
bb7b69f513
Added OptShiftBack for shifting the C flag into register A and back.
2020-10-20 21:55:39 +02:00
acqn
0354322413
Added OptSignExtened for testing signness right after sign extention.
2020-10-20 21:55:39 +02:00
acqn
9c776a24e5
Use bcc instead of bne in OptNegAX2 to ease optimizations.
2020-10-20 21:55:39 +02:00
acqn
4f3a96a535
Added new opt OptPushPop2.
...
Also renamed OptPushPop to OptPushPop1.
2020-10-20 21:55:39 +02:00
Greg King
0f66f7569e
Updated the cx16 library to the upstream project's prerelease 38.
2020-10-17 14:48:01 -04:00
mrdudz
77bfd163cd
makefile cleanup
2020-10-16 15:50:18 +02:00
Greg King
a25b28a972
Added files to the pet library that support the overlay demo sample program.
...
cbm_load() is needed because the Pet/CBM Kernals don't have a LOAD function that can be used by machine code programs.
2020-10-15 21:22:04 -04:00
Greg King
e682f7c8c3
Protect the C stack from overlays on the c64 target.
2020-10-15 14:00:25 -04:00
mrdudz
b773bb9ded
some more $(RM) vs $(DEL) fixing
2020-10-15 19:34:40 +02:00
mrdudz
6920b8be78
$(RM) abc -> @$(DEL) abc 2>$(NULLDEV)
2020-10-15 18:53:56 +02:00
mrdudz
a0dc7cd9e4
fix grc example, fix makefiles to compile grc example correctly
2020-10-15 18:41:17 +02:00
mrdudz
f60af0301a
fix non working Makefiles
2020-10-15 18:35:54 +02:00
Oliver Schmidt
095de4ea52
Write o65 files as SEQ files.
2020-10-15 12:54:01 +02:00
Greg King
e72e44d14f
Shortenned the VIC-20's cputc() by 17 bytes.
...
Changed to a modified table look-up method to convert PetSCII to screen-codes.
2020-10-13 07:55:20 -04:00
Greg King
4905329ff6
Fixed the misspelling of "height" in a GEOS header.
2020-10-12 08:33:45 -04:00
acqn
262c4235df
Symbols in ZP segments will use '.exportzp' instead of '.export' if exported.
2020-10-11 23:05:20 +02:00
acqn
e58c84acf7
Support for optionally specifying address size for segments with:
...
#pragma ***-name([push,] "name"[, "addrsize"])
where "addrsize" is any addressing size supported in ca65.
2020-10-11 23:05:20 +02:00
acqn
f8c9dde989
The instruction parser can now recognize ZP locations and set the addressing mode for them.
2020-10-11 23:05:20 +02:00
Jesse Rosenstock
81550ca1ee
CS_MergeLabels: Keep labels referenced by data
...
Partial fix for ICE in #1211 . This may fix enough to allow #1049 to be
fixed.
When merging labels, keep the first label with a ref that has no JumpTo;
this is a data segment label, used by computed gotos.
The real fix is to track and rewrite labels in data, but this is more
involved.
2020-10-08 12:11:03 +02:00
mrdudz
037a806036
also rename README to readme.txt in the Makefile :)
2020-10-04 17:20:40 +02:00
acqn
dbba5f3fc9
Fixed handling of %v in inline asm parser.
2020-10-04 12:25:24 +02:00
acqn
a85d5330fa
Fixed StrBuf initialization in PreparseArg().
2020-10-04 12:17:14 +02:00
Oliver Schmidt
fd208fdf0b
- Added support for calling subdir Makefiles for the make targets 'samples' and 'clean'.
...
- Adjusted the 'tutorial' Makefile to actually work as expected.
Note: The 'disasm' and 'geos' Makefiles don't seem to work so they are not called as of now.
2020-10-03 19:35:23 +02:00
Jesse Rosenstock
b931e65811
Fix ICE for bit-fields with typedef
...
Fixes #1267
Avoid ICE, but treat plain int bit-fields declared via typedef as
signed rather than unsigned. It is more efficient to treat them
as unsigned, but this requires distinguishing int from signed int,
and this is curently not done.
2020-10-03 15:04:31 +02:00
Oliver Schmidt
4acdc9ced9
Fixed paramcount build.
2020-10-03 14:55:30 +02:00
Greg King
c05a750f47
Fixed some copy-&-paste typo mistakes about HuC6280's TMA mnemonic.
2020-10-01 07:25:08 -04:00
mrdudz
4777e98f57
rename testcode/ to targettest/
2020-09-29 19:14:46 +02:00
mrdudz
dcee493e94
move remaining stuff from testcode/lib/ one level up to testcode/
2020-09-29 19:12:34 +02:00
mrdudz
3d8e787e66
move testcode/grc to samples/geos
2020-09-29 19:08:40 +02:00
mrdudz
bbece736f5
move testcode/disasm into samples/ instead
2020-09-29 19:06:05 +02:00
mrdudz
b549e83fb2
move program from testcode/assembler to test/asm and remove testcode/assembler
2020-09-29 19:03:42 +02:00
mrdudz
eb87c6d373
rename README to readme.txt
2020-09-29 18:54:30 +02:00
acqn
b525554bfe
Added support for parsing asm byte size expressions with a pair of parentheses.
2020-09-27 12:22:05 +02:00
acqn
688342e194
Now every code entry has its argument parsed to tell some info.
...
It fixes the compiling performance regression as well.
Built-in ZPs are recognized.
2020-09-27 12:22:05 +02:00
acqn
cc0f8422f2
More fixes and new utils to check if opcode arguments can be used elsewhere.
...
Fixed tracking with LI_RELOAD_Y and LI_DIRECT.
Fixed tracking with LI_CHECK_Y and LI_RELOAD_Y.
2020-09-27 12:22:05 +02:00
acqn
f3771a465d
Fixed various issues in the usage-tracking code.
...
Added some utility functions.
2020-09-27 12:22:05 +02:00
acqn
d379affc4b
Moved some reusable code from cc65/coptstop.c into new files.
2020-09-27 12:22:05 +02:00
acqn
28c7aa2bc8
Replaced direct CEF_NUMARG flag checks on code entries with CE_HasNumArg().
2020-09-27 12:22:05 +02:00
acqn
c45a6b3685
Utility function ParseOpcArgStr().
2020-09-27 12:22:05 +02:00
Jesse Rosenstock
d0089aef95
Fix bit-field truncation warning message
...
Fix copy & paste bug with warning message.
struct X {
signed int a : 3;
};
struct X g = { 5 };
Before:
s.c(4): Warning: Implicit truncation from 'int' to 'int : 3' in bit-field
initializer changes value from 5 to 5
After:
s.c(4): Warning: Implicit truncation from 'int' to 'int : 3' in bit-field
initializer changes value from 5 to -3
Fixes #1268
2020-09-26 17:41:45 -04:00
mrdudz
34177d9edd
test related to issue #1094
2020-09-25 20:08:32 +02:00
mrdudz
7ff08c85cf
Merge branch 'master' of https://github.com/cc65/cc65
2020-09-25 16:25:53 +02:00
mrdudz
61d934fd7b
test related to issue #1265
2020-09-25 16:25:32 +02:00
Greg King
47ee179273
Fixed a copy & paste error in the test/misc/ makefile.
...
Fixed a warning that's changed to an error in Travis CI tests.
2020-09-25 00:31:07 -04:00
Fabrizio Caruso
61ebe2c34b
Indentation in vga.s for gamate
2020-09-24 19:42:34 +02:00
Fabrizio Caruso
6fdb356db7
Simplify Gamate tile redefinition (as already done for PCE)
2020-09-24 19:42:34 +02:00
mrdudz
5ba9d28488
test related to pr #1189
2020-09-24 16:16:16 +02:00
mrdudz
97a1093ee0
test related to issue #1222
2020-09-24 12:23:18 +02:00
mrdudz
fb8b45e479
added note on how to manage the sample programs
2020-09-24 00:18:28 +02:00
mrdudz
a86644eff1
test related to issue #1221
2020-09-24 00:08:36 +02:00
mrdudz
b3491e3d9a
test related to issue #1244
2020-09-23 23:57:36 +02:00
mrdudz
46ebb15c76
test related to issue #1245
2020-09-23 23:57:25 +02:00
mrdudz
6fdd90fa63
fix typo
2020-09-23 23:51:37 +02:00
mrdudz
99121688f8
added test related to issue #1263
2020-09-23 23:51:24 +02:00
Greg King
81ac28ff71
Used TAY/TYA instead of PHA/PLA when extracting a bit-field.
...
Without optimization, it saves a few CPU cycles. With optimization, it saves more cycles and a few bytes.
2020-09-22 12:47:09 -04:00
Greg King
ea95728330
Avoided an avalanche of messages from bad bit-field declarations.
...
Made cc65 replace a bad bit-field type with a good one, and always parse the field width.
Shortenned a parameter name to a spelling that's consistent with other function headers.
2020-09-22 12:47:09 -04:00
Greg King
07ea5259ac
Changed a cc65 error message to say that the sizes of bit-field types (not bit-fields) are limited.
2020-09-22 12:47:08 -04:00
Greg King
d906204e84
Allowed UPDCRAMPTR to be exported as a constuctor in the VIC-20 library.
2020-09-22 12:31:27 -04:00
Greg King
dc14751954
Exported the direct Kernal entries that were moved from target headers to "cbm_kernal.inc".
2020-09-22 00:04:24 -04:00
Greg King
41bd8d909b
Added ld65's bank attribute to the cx16 library's bank (overlay) configuration file.
...
That attribute makes it easier for Assembly code to know which bank holds a label.
2020-09-20 19:55:25 -04:00
Greg King
0b64ca0d7d
Fixed the ld65 cx16 Assembly configuration file.
...
The CODE segment immediately follows the EXEHDR segment. Added a segment for the zero-page area that's free when the BASIC ROM isn't used.
2020-09-20 16:09:58 -04:00
Greg King
bf4b195016
Added some comments that explain where the g_branch() code generator can and can't be used.
2020-09-18 15:50:26 -04:00
acqn
de630a1245
Fixed quick hack for known registers after calling certain runtime functions,
...
and new quick hack for tosshrax.
2020-09-18 09:04:15 +02:00
acqn
079f4a99dd
Added processor state info to the OPCDesc table. However, since some opcodes are affected by the addressing mode, this info is unused in codegen/optimizer but just as quick in-code documentation/hints.
2020-09-18 09:04:15 +02:00
acqn
a7d6eb9190
Added processor flag usage/change-tracking for non-JSR/RTS code entries.
...
Some existing optimizations are impacted and need fixes in order to work correctly again.
Fixed and improved OptPrecalc. Now it respects the C/V/Z/N flags.
Fixed optimizations impacted by added support of tracking processor flags.
2020-09-18 09:04:15 +02:00
acqn
d02b12fa6c
Made local code/data labels really local to the functions where they live in.
2020-09-18 09:02:16 +02:00
acqn
86ced2bd4c
Avoided unnecessarily boosting the code label numbers with boolean AND.
2020-09-18 08:59:56 +02:00
Jesse Rosenstock
0482e4d6e4
Fix CRLFs introduced by fe3f267
2020-09-18 08:57:28 +02:00
acqn
b8ae5c28fe
Added debug output support for processor flags.
2020-09-13 13:50:35 +02:00
acqn
810e17edfe
Fixed processor states tracking for the BIT/TRB/TSB opcode.
...
Added new opcode descriptions about whether and how the opcode accesses memory.
2020-09-13 13:50:35 +02:00
acqn
66c5faeb9a
Added processor flags usage tracking.
...
Added ZNRegs for tracking what register(s) Z/N flags currently reflect.
Added utility functions to check if the specified processor state is known to be a certain value.
2020-09-13 13:50:35 +02:00
acqn
fe3f267233
Added new runtime sub bcasta/bcastax/bcasteax opposing to bnega/bnegax/bnegeax.
2020-09-11 13:33:54 +02:00
acqn
142b0bf9b3
Added utility functions to get names of comparison function/transformer subroutines.
2020-09-11 13:33:54 +02:00
Greg King
ae6696fcb9
Removed some ambiguity from a statement.
...
A limited number of bit-field types are required by the C standard, not by cc65.
2020-09-08 10:55:07 -04:00
acqn
ab7e9f8424
Hotfix for Issue #1250 .
2020-09-08 16:28:21 +02:00
Jesse Rosenstock
4e4e4c2d21
Allow char bit-fields
...
These are not required to be supported (only int, signed int, and
unsigned int are required), but most compilers support it.
https://port70.net/~nsz/c/c89/c89-draft.html#3.5.2.1
https://port70.net/~nsz/c/c89/c89-draft.html#A.6.5.8
For consistency with other integral types, plain `char` bit-fields
are unsigned, regardless of the `--signed-chars` option.
Fixes #1047
2020-09-08 14:24:04 +02:00
acqn
41cee0eb44
Extended support for more addressing modes in tos* optimizations.
2020-09-08 14:19:48 +02:00
acqn
7553b60ef0
Improved OptStackOps for optimizating further when operands have equal hi-bytes.
2020-09-08 14:19:48 +02:00
acqn
57117fa687
Utility functions about compare conditions.
2020-09-08 14:19:48 +02:00
acqn
64ef562fa7
Moved all optimization steps from codeopt.c and some optimization steps from coptind.c into new separate files.
2020-09-08 14:18:22 +02:00
Jesse Rosenstock
9a0e4a35e1
Fix enum bit-field ICE #1244
...
This previously resulted in an ICE:
cc65: Check failed: (Entry->Type->C & T_MASK_SIGN) == T_SIGN_SIGNED,
file 'cc65/symtab.c', line 874
This CHECK is in the code that deals with changing `int` bitfields to
`unsigned int`.
Work around this by treating enum bit-fields as having their signedness
specified, so this type change code does not get called.
Fixes #1244 .
2020-09-07 11:21:23 +02:00
Tevo
1e7a9e44af
Update comment to reflect addition of integer boundary constants
2020-09-06 23:32:00 +02:00
Tevo
23a8b2c303
Define integer size macros for lacking systems
...
Define integer size macros for lacking systems
2020-09-06 23:32:00 +02:00
acqn
6bb2d1d5d1
Fixed a comment on struct/union types in DoCompare().
2020-09-06 22:47:11 +02:00
acqn
1cde952cf5
Fixed comparing an enum type with a non-enum type in DoCompare().
2020-09-06 22:47:11 +02:00
acqn
6e0fb630d7
Fixed check for processor flags usage in case of PHP.
2020-09-06 13:32:38 +02:00
acqn
e2f950b15e
Avoided referencing string literals with sizeof so that they are not output if unused elsewhere.
2020-09-05 13:21:21 +02:00
acqn
903e84c24c
Std-functions are no longer inlined if they are unevaluated.
2020-09-05 13:21:21 +02:00
acqn
df07e23f2c
Fixed bnegeax funcinfo on register usage.
2020-09-05 02:25:56 -04:00
acqn
f849de6769
Object addresses as non-NULL for comparison with NULL.
2020-09-04 19:50:32 +02:00
acqn
8e0b2f0833
Object addresses as non-NULL in boolean context.
2020-09-04 19:50:32 +02:00
acqn
bc5570b708
Fixed logical-NOT in constant context.
2020-09-04 19:50:32 +02:00
Jesse Rosenstock
44b719d957
Change line endings from CRLF to LF
...
test/ref/pr1220.c was somehow added with CRLFs.
Other files use just LF.
2020-09-04 14:01:21 +02:00
acqn
676b14429d
Better opt chance for certain optimization steps e.g. OptPtrStore1 etc.
2020-09-04 12:00:10 +02:00
acqn
29d1999947
Rearranged the OptFunc's in alphabetic order.
2020-09-04 12:00:10 +02:00
acqn
761d00b7dc
Ignore running removed old optimization steps. Neither list them in help info.
2020-09-04 12:00:10 +02:00
acqn
ae340703f2
OptDupLoads shouldn't silently do optimizations.
2020-09-04 11:58:25 +02:00
acqn
f45d2515eb
Fixed OptPush1 in case later code would rely on that pushax zeroes register Y.
2020-09-04 11:58:25 +02:00
acqn
2a3d996077
Improved test case for PR #1220 .
2020-09-02 21:36:59 +02:00
acqn
fb6bc275bc
Fixed evaluation flags propagation to subexpressions in assignments and function calls.
2020-09-02 21:36:59 +02:00
acqn
2379504449
Fixed AND/OR in certain cases where the 'E_NEED_TEST' flag set for usage only in subexpressions should be cleared.
2020-09-02 21:36:59 +02:00
acqn
28de3423eb
Merged some switch cases in code generation subroutines.
2020-08-31 09:12:03 +02:00
acqn
6b64b43395
Made local static data use a separated label pool from the code label pool.
2020-08-31 09:12:03 +02:00
acqn
9398e1cd33
Use a dedicated label pool for literals.
2020-08-31 09:12:03 +02:00
Oliver Schmidt
bee559d5f4
Merge pull request #1220 from acqn/StaticConst
...
[cc65] Fixed constant boolean expressions
2020-08-31 08:59:25 +02:00
acqn
74def4608a
The 'E_NEED_TEST' flag shouldn't be overwritten when loading the expression result.
2020-08-31 02:30:12 +08:00
acqn
c0a873e0c8
Reduced exess errors on wrong initializations with curly braces.
2020-08-30 17:35:48 +02:00
acqn
8b580e1191
Disabled struct/union fields of 'void' type.
2020-08-30 17:33:36 +02:00
acqn
f1161daee9
Recursively checking for incomplete/unknown-sized types.
2020-08-30 17:33:36 +02:00
acqn
8541f18340
Improved diagnostic info on assignment to void types.
2020-08-30 17:33:36 +02:00
acqn
abcc2a8f1a
Disallowed void arrays of elements of variant sizes.
2020-08-30 17:33:36 +02:00
acqn
d87846e1e1
Improved comments according to PR reviews.
2020-08-30 22:12:30 +08:00
acqn
60c59f59a3
Renamed StaticConstExpr() and StaticConstAbsIntExpr() with clearer comments.
2020-08-30 00:26:52 +08:00
acqn
492ee7fc45
Improved test/ref/pr1220.c.
2020-08-30 03:10:24 +08:00
acqn
df755df44d
Warning about ESU types declared inside parameter list as they are invisble outside.
2020-08-29 16:37:16 +02:00
acqn
33a75e0a73
Optimized parameter list checking.
...
Fixed function type comparison between ANSI and K&R styles.
2020-08-29 16:37:16 +02:00
acqn
0a96ffc878
Fixed function parameter checking.
...
Fixed function return type checking.
2020-08-29 16:37:16 +02:00
acqn
4e61ae5b36
Fixed function parameter type conversion.
2020-08-29 16:37:16 +02:00
acqn
632da3f4ee
Fixed tracking and checking flexible array members.
2020-08-29 16:35:42 +02:00
IrgendwerA8
f54e01781b
Tiny optimizations for multiplication.
2020-08-29 16:34:20 +02:00
mrdudz
5158ee2092
preliminary makefile to build all programs in the testcode directory
2020-08-27 14:50:00 +02:00
mrdudz
5e2d2a54f6
added makefile for the GEOS samples. geosconio.c and rmvprot.c do not compile right now, someone with more GEOS knowledge should look at them
2020-08-27 14:25:33 +02:00
mrdudz
4008ab556c
added a Makefile
2020-08-27 01:34:18 +02:00
mrdudz
f34644186f
build a bogus "ROM image" that can be disassembled, fix the makefile, remove generated files
2020-08-27 01:19:33 +02:00
acqn
504aee3835
Merge branch 'master' into StaticConst
2020-08-27 06:27:23 +08:00
mrdudz
7a453d1f90
add a "disk" target to build the disk images as suggested by Oliver
2020-08-27 00:08:22 +02:00
mrdudz
41dbd31b02
fix makefile, remove the unneeded .cfg again. oops :)
2020-08-27 00:04:34 +02:00
mrdudz
c1a514c0f8
added test related to issue #1201
2020-08-26 23:20:28 +02:00
mrdudz
39a3de3119
made geoslib testcode compile again, added the required linker config and a Makefile
2020-08-26 22:47:47 +02:00
mrdudz
bf5384a712
some more refactoring of Makefiles, preparing for CI
2020-08-26 22:46:45 +02:00
acqn
bb9c203222
Fixed integer promotion of unary operations.
2020-08-26 22:17:16 +02:00
acqn
8d225c32b1
Fixed checks on assignment to incomplete types.
2020-08-26 22:14:51 +02:00
acqn
43cb092a68
Fixed CHECK failures on certain usage of incomplete enums.
2020-08-26 22:14:51 +02:00
acqn
1957dc7a5c
Disallowed arrays of incomplete types.
...
Fixed diagnostics on incomplete local arrays.
2020-08-26 22:14:51 +02:00
acqn
f5b1b69376
Forbid struct/union fields of incomplete types.
2020-08-26 22:14:51 +02:00
mrdudz
bee11ec11b
Merge branch 'master' of https://github.com/cc65/cc65
2020-08-26 21:28:32 +02:00
mrdudz
8649859bc5
added/updated Makefiles, preparing for CI (later)
2020-08-26 21:28:19 +02:00
Oliver Schmidt
b0d3b19a6a
The bug1209 test fails at link stage.
2020-08-26 21:01:02 +02:00
mrdudz
ad1579140b
Merge branch 'master' of https://github.com/cc65/cc65
2020-08-26 20:54:13 +02:00
mrdudz
c6adf4364f
make atari testcode compile again, added makefile
2020-08-26 20:53:45 +02:00
Oliver Schmidt
c658acbf85
Avoid cl65 in tests.
...
cl65 creates intermediate files based on the source file name in the source file directory. Calling cl65 in parallel with the same source file causes those intermediate files to get overwritten.
Fixes #1080
2020-08-26 20:39:34 +02:00
mrdudz
4c912a0fbe
make gamate testcode compile again
2020-08-26 15:59:52 +02:00
mrdudz
83cc115112
re-add define for pad bits hw address, which was accidently removed in some refactor commit
2020-08-26 15:51:20 +02:00
mrdudz
e5a1755133
added some ifdefs to make testcode compile for apple2 and atari targets
2020-08-26 15:08:17 +02:00
mrdudz
d21fbed1bb
Merge branch 'master' of https://github.com/cc65/cc65
2020-08-26 13:37:07 +02:00
mrdudz
c216b3534b
fix compilation, fixes issue #1184
2020-08-26 13:36:43 +02:00
Bob Andrews
4cd19711f2
Merge pull request #1219 from acqn/Test
...
Bug #1113 was fixed "long" ago
2020-08-26 11:09:11 +02:00
acqn
b6a4715a38
Added test/ref/pr1220 for testing constant AND/OR code generation.
2020-08-26 08:45:01 +08:00
acqn
d68925c6a8
Bug #1113 was fixed long ago.
2020-08-25 22:34:25 +08:00
Jesse Rosenstock
344aea0669
Add additional test cases for #1209
...
These test cases don't use dynamic labels.
https://github.com/cc65/cc65/issues/1209#issuecomment-678738971
Also update the original test case for consistency:
* Change failure message to just "FAIL", as there is only one failure
* Outdent label definitions
* Clarify description
2020-08-24 19:15:06 +02:00
Jesse Rosenstock
d38e5858f0
Add tests for #1211
...
CL_MoveRefs: Add CHECK (E->JumpTo != NULL) to make failure clearer.
2020-08-24 18:10:22 +02:00
Jesse Rosenstock
4b7cd491e3
Move #1209 test from err/ to misc/
...
misc/ is the correct place for tests that should compile
but do not.
Revert err/Makefile changes from #1210 .
2020-08-24 18:07:31 +02:00
acqn
c3a6b39945
Made struct assignment less hackish.
2020-08-24 18:02:29 +02:00
acqn
d1995fc81a
Fixed rvalue-ness of cast results.
2020-08-24 17:16:37 +02:00
acqn
63fa9a5a42
Fixed usage of "lvalue-cast" in _scanf implementation.
2020-08-24 17:16:37 +02:00
acqn
911a79796d
Fixed checks and diagnostics on type-casting.
2020-08-24 17:16:37 +02:00
Jesse Rosenstock
23621f3299
Add test case for #1209
...
Change err/ tests to use cl65 and .prg instead of cc65 and .s
since this test only fails at the link stage.
2020-08-22 15:27:49 +02:00
acqn
0486d28abc
Fixed Issue #327 .
2020-08-22 13:44:18 +02:00
acqn
f289ea6c14
Avoided generating unnecessary true-case labels in logic AND/OR.
2020-08-22 11:10:17 +08:00
acqn
0536f4f9bd
Minor fixes on constant expression checking and comments.
2020-08-21 23:27:41 +02:00
acqn
63256fd15d
Changed negation of signed long stored in unsigned long to unsigned subtraction.
2020-08-21 23:16:17 +02:00
acqn
f59c2a08d9
Added support for changing multiplications with certain negative multipliers into bit-shifts. Only enable certain kinds of signed mul replacements with shift according to the code size factor settings.
2020-08-21 23:16:17 +02:00
acqn
ea7336591c
Removed special-casing code for scaling up. Now it uses the normal multiplying code.
2020-08-21 23:16:17 +02:00
Greg King
75dc234988
Guarded the static_assert macro with a C standards test.
2020-08-21 15:15:19 -04:00
acqn
85ea06687b
Fixed logical AND and logical OR.
2020-08-20 07:52:15 +08:00
acqn
725511131a
Fixed constant expression checks with no-code requirement.
...
Used return-by-value initialization for ExprDesc.
2020-08-20 07:52:11 +08:00
acqn
1abb9da2b2
Moved bug250.c to test/val as it is fixed.
2020-08-26 09:40:32 +08:00
acqn
3ea3887c77
Fixed warnings on const comparison.
...
Warnings on expressions with no effects.
Fixed const ternary.
Fixed ternary with struct/union types as the true/false-branch expressions.
2020-08-20 07:52:06 +08:00
acqn
b15ab348ba
Moved bug250.c from test/misc as it is to be fixed.
2020-08-26 08:23:05 +08:00
acqn
17bbba7327
Added integer boolean type string.
...
No longer set the "expression tested" flag with constant results in comparison.
2020-08-20 07:52:03 +08:00
mrdudz
794adcc512
remove unneeded rule
2020-08-19 22:33:10 +02:00
mrdudz
e6b8f4d715
move/fix bug264.c as suggested in issue #1122
2020-08-19 22:25:18 +02:00
mrdudz
1a92368aed
rename bdiff.c to isequal.c, make it handle different line-endings as equal
2020-08-19 14:50:12 +02:00
Jesse Rosenstock
85e8a6cb9f
Clarify docs that bss is zero-initialized
...
Addresses comment raised in #1202 .
2020-08-19 13:24:15 +02:00
acqn
9fcde120aa
Made function signatures in asm output use the parameter lists from original definitions instead of the composites.
2020-08-19 08:40:19 +02:00
Greg King
36dd82f0e6
Added g_branch() to cc65's code generator.
...
It uses BRA if the platform's CPU has BRA. Else, it generates a JMP.
(Used it in the bitfield sign-extending code.)
2020-08-18 19:11:18 -04:00
mrdudz
0690a12ad2
change "the cc65 authors" to "The cc65 Authors" as per jmrs request
2020-08-18 22:41:42 +02:00
mrdudz
0c22d5011e
added test related to pr #1190
2020-08-18 17:58:29 +02:00
mrdudz
ab89c168de
replace "Copyright 2020 Google LLC" by "Copyright 2020 the cc65 authors"
2020-08-18 17:47:35 +02:00
Jesse Rosenstock
ff535b8e1a
Treat signed int bit-fields as signed
...
Prior to this PR, `int`, `signed int`, and `unsigned int`
bitfields are all treated as `unsigned int`.
With this PR, `signed int` will be treated as `signed int`,
and the others remain unsigned.
Since `Type` does not distinguish between `int` and `signed int`,
add an extra `int* SignenessSpecified` param to `ParseTypeSpec`
so we can tell these apart for bit-fields and treat plain `int : N`
as `unsigned int : N` since it is more efficient to zero-extend
than sign-extend.
Fixes #1095
2020-08-18 12:23:20 +02:00
Jesse Rosenstock
55cebc7b9e
Move bit-field adjustment to codegen.c
...
Extract functions g_testbitfield and g_extractbitfield from LoadExpr.
This helps prepare for #1192 , since g_extractbitfield will get much
longer and call AddCodeLine.
2020-08-18 10:55:31 +02:00
acqn
56b659c0be
Made char type a distinct type.
2020-08-18 10:48:38 +02:00
acqn
87889df9e9
Fixed type checking in relation operations.
2020-08-18 09:39:43 +02:00
mrdudz
2663561c62
added test related to pr #1135
2020-08-18 00:41:35 +02:00
mrdudz
6d8860b9de
added test related to issue #1145
2020-08-18 00:41:07 +02:00
mrdudz
cf41fccc0a
added test related to issue #1143
2020-08-18 00:40:29 +02:00
acqn
f206833a20
Alternative fix for Issue #1167 .
2020-08-17 20:31:02 +02:00
acqn
0afa1a9a95
Fixed function signatures in asm output.
...
Improved full type name production.
2020-08-17 20:30:32 +02:00
acqn
ebae994dc9
Fixed CHECK failure when calling functions defined with repeated parameter names.
...
Clarified the terms "parameter" vs "argument" in FunctionParamList().
2020-08-17 20:27:57 +02:00
Bob Andrews
531de44c95
Merge pull request #1193 from jmr/bitfield-union-bug
...
Add test of union of bit-field from mailing list
2020-08-17 14:33:51 +02:00
Jesse Rosenstock
6db93d58cf
Add test of union of bit-field from mailing list
...
https://sourceforge.net/p/cc65/mailman/message/36152700/
This currently works, but add a test to prevent future regressions.
2020-08-17 09:54:31 +02:00
acqn
15f28c3a8c
Fixed getting the basic raw type names.
2020-08-17 00:00:03 +02:00
acqn
11cd3e5cbd
Utility for checking general datatype categories, incomplete ESU types and arrays of unknown sizes.
2020-08-17 00:00:03 +02:00
Jesse Rosenstock
7e61b11f23
Add _Static_assert docs to cc65 extensions
...
Fixes #1149 .
2020-08-16 21:57:04 +02:00
Jesse Rosenstock
1cf9404c19
Support C2X _Static_assert(expr) syntax
...
This makes the message in _Static_assert(expr, message) optional.
Fixes #1188 .
2020-08-16 11:38:20 +02:00
Jesse Rosenstock
c4698dfd07
Use C89 semantics for integer conversions
...
Previously, the following rules were used for binary operators:
* If one of the values is a long, the result is long.
* If one of the values is unsigned, the result is also unsigned.
* Otherwise the result is an int.
C89 specifies the "usual arithmetic conversions" as:
* The integral promotions are performed on both operands.
* Then the following rules are applied:
* If either operand has type unsigned long int, the other operand is
converted to unsigned long int.
* Otherwise, if one operand has type long int and the other has type
unsigned int, if a long int can represent all values of an unsigned int,
the operand of type unsigned int is converted to long int; if a long int
cannot represent all the values of an unsigned int, both operands are
converted to unsigned long int.
* Otherwise, if either operand has type long int, the other operand is
converted to long int.
* Otherwise, if either operand has type unsigned int, the other operand is
converted to unsigned int.
* Otherwise, both operands have type int.
https://port70.net/~nsz/c/c89/c89-draft.html#3.2.1.5
As one example, these rules give a different result for an operator
with one long operand and one unsigned int operand. Previously,
the result type was unsigned long. With C89 semantics, it is just long,
since long can represent all unsigned ints.
Integral promotions convert types shorter than int to int (or unsigned int).
Both char and unsigned char are promoted to int since int can represent
all unsigned chars.
https://port70.net/~nsz/c/c89/c89-draft.html#3.2.1.1
Rename promoteint to ArithmeticConvert, since this is more accurate.
Fixes #170
2020-08-15 19:14:31 +02:00
acqn
fdded33097
Made it easier to support 0-size structs in the future.
2020-08-15 06:27:11 +08:00
mrdudz
8197e3c7cd
make it actually compile again :)
2020-08-14 21:07:39 +02:00
mrdudz
f0e4053a0d
added test related to issue #1178
2020-08-14 19:58:58 +02:00
acqn
1d28e8e3de
Improved test case for Issue #191 .
2020-08-14 18:33:54 +02:00
acqn
b19bb14348
Fixed checking conflitcing declarations with external vs other linkage.
2020-08-14 18:33:54 +02:00
acqn
13ed557b92
Fixed compatibility checking of function declarations by using the composite types of them.
2020-08-14 18:33:54 +02:00
acqn
44d52935da
Utility for getting the composite types of functions.
2020-08-14 18:33:54 +02:00
acqn
8a417ff039
Improved ESU declaration failure handling.
2020-08-14 18:15:31 +02:00
mrdudz
dc83eb15af
added test related to issue #1181
2020-08-14 16:12:17 +02:00
Bob Andrews
83452ae6b3
Merge pull request #1182 from acqn/StructPtrField
...
[cc65] Fixed testing 'struct->field'
2020-08-14 14:13:39 +02:00
acqn
0dfe9ff5fe
Fixed testing 'struct->field'.
2020-08-14 08:32:22 +08:00
acqn
0fa18886c0
Fixed copying structs/unions > 4 bytes.
2020-08-13 08:59:05 +02:00
acqn
03b37cf712
Fixed type comparisons of typedefs and arrays.
2020-08-12 15:04:26 +02:00
acqn
eb4464e828
Fixed type comparisons of ESU types with stricter rules.
2020-08-12 15:04:26 +02:00
acqn
8b8561161c
Moved #1098 bug tests from test/misc to test/err as they are fixed now.
2020-08-12 15:02:43 +02:00
acqn
fe44fe963f
Disallowed empty enums.
2020-08-12 15:02:43 +02:00
acqn
97065faf1a
Disallowed struct/union types of 0 size as cc65 is not ready to support them.
2020-08-12 15:02:43 +02:00
acqn
4dfc1a5ded
Using a dedicated SC_FICTITIOUS flag in case of parsing errors.
2020-08-12 15:01:31 +02:00
acqn
bde5be6793
Improved error message on initializing extern variables inside functions.
2020-08-12 15:01:31 +02:00
acqn
b62b1650f5
Improved error messages on struct/union type multiple definitions.
2020-08-12 15:01:31 +02:00
acqn
fe3f726fd6
Improved incomplete enum typed diagnostics.
2020-08-12 15:01:31 +02:00
acqn
0d53806490
Avoided excess errors in incomplete struct assignment.
2020-08-12 15:01:31 +02:00
acqn
9317db6642
Slightly improved type error messages of 'op='.
2020-08-12 15:01:31 +02:00
acqn
9fcfa3fc49
Fixed full type names of functions with "empty" parameter list.
2020-08-12 15:01:31 +02:00
acqn
68d63b089d
Reduced error flood raised by misplaced variable declarations.
2020-08-12 15:01:31 +02:00
acqn
0f1a5e0520
Set enum tag definition flags.
2020-08-09 22:12:36 +02:00
acqn
1dd899c7c9
Fixed non-file-scope multiple definition checking.
2020-08-09 22:12:36 +02:00
acqn
d68cd90e47
Function declaration in functions cannot have storage classes other than 'extern'.
2020-08-07 10:16:33 +02:00
acqn
43efc256f1
Changed error/warning messages not using the term 'tentative' according to PR reviews.
2020-08-07 10:16:33 +02:00
acqn
b2d3b8379c
Warning about forward declaration of enum types in non-cc65 modes.
2020-08-07 10:16:33 +02:00
acqn
8cdffc1944
No storage for unsuccessfully parsed variables.
2020-08-07 10:16:33 +02:00
acqn
fdef067629
Fixed tentative definition of variables of incomplete types that may be completed later.
...
Tenative arrays that never get completed are now assumed each to have one element.
2020-08-07 10:16:33 +02:00
acqn
fdd120db49
Enabled to output errors and warnings about tentative definitions.
2020-08-07 10:16:33 +02:00
acqn
f59d6b8f6a
Redefining enums/structs/unions of 0 size is no longer treated as declarations and thus forbidden.
2020-08-07 10:16:33 +02:00
Jesse Rosenstock
cdfc1afd89
Fix vacuous comparison warning from 0df45fe
...
cc65/symentry.c:306:60: warning: address of array 'Sym->Name' will always evaluate to 'true' [-Wpointer-bool-conversion]
sprintf (TypeName, "%s %s", GetBasicTypeName (T), Sym->Name ? Sym->Name : "<unknown>");
~~~~~^~~~ ~
2020-08-05 17:48:13 +02:00
Jesse Rosenstock
d8f9201ecd
LoadExpr: Optimize <= 8-bit bit-field loads
...
Set CF_FORCECHAR to do as many operations as char ops as possible.
Clear high byte at the end.
2020-08-05 12:49:46 +02:00
Jesse Rosenstock
0c72647edd
Remove extra ED_TestDone call
...
Accidentally added in #1141 .
2020-08-03 12:40:58 +02:00
acqn
bae431eab0
Fixed error message of CheckedPSizeOf().
2020-08-03 06:18:28 +02:00
acqn
e3d913b81a
Fixed the reference output of test/misc/goto.c (test/misc/goto.ref).
2020-08-02 23:51:11 +02:00
acqn
d6aa446b54
Error info for loading expressions of incomplete enum types.
...
No more "Illegal type 0016".
2020-08-02 23:51:11 +02:00
acqn
6df4f1996b
Improved diagnostics with more detailed type names.
2020-08-02 23:51:11 +02:00
acqn
11a5f0edf1
No "Statement has no effect" warnings on statements with errors.
2020-08-02 23:51:11 +02:00
acqn
7e68a24625
Clearer warning messages on unused symbols.
2020-08-02 23:51:11 +02:00
acqn
e8c2886455
Improved error messages on redefinitions of constants and bit-fields.
2020-08-02 23:51:11 +02:00
acqn
ef5a4db12e
Improved warning messages on UB shifts.
2020-08-02 23:51:11 +02:00
acqn
2ab7272673
Improved warning on comparison of unsigned type < 0.
2020-08-02 23:51:11 +02:00
acqn
99ac1c46da
Made errors/warnings statistic message visible when there are errors.
2020-08-02 23:51:11 +02:00
acqn
44e3080ea9
Increased upper limit of allowed errors before aborting.
2020-08-02 23:51:11 +02:00
acqn
00c16d34a4
Minor fixes for HandleSymRedefinition().
2020-08-02 23:51:11 +02:00
acqn
80b0e57543
Changed parameter constness of TypeConversion().
2020-08-02 18:55:46 +02:00
acqn
003d47cc8b
Improved type conversion diagnostic messages.
...
Allowed incompatible pointer assignments with warnings.
Fixed Issue #1089 .
2020-08-02 18:55:46 +02:00
acqn
d841bbe498
Utility to check for castability.
2020-08-02 18:55:46 +02:00
acqn
52051f444e
Using tracked individual string buffers instead of a shared static string buffer for full type names.
2020-08-02 18:55:46 +02:00
acqn
4ccf10f3fa
Utility to get full type names.
2020-08-02 18:55:46 +02:00
acqn
0df45fe2f2
Utility for getting ESU tag type symbols.
2020-08-02 18:55:46 +02:00
Oliver Schmidt
c831f40e9b
Unfortunately there's no other way than using the absolute path to init the correct MSVC 2017 environment.
2020-08-02 18:44:13 +02:00
Oliver Schmidt
35d6a75b37
Fixed Windows path notation.
2020-08-02 17:49:18 +02:00
Oliver Schmidt
992596c981
Initialize MSVC 2017 environment before build.
2020-08-02 17:32:36 +02:00
Oliver Schmidt
ce19d7b84f
Made use of Travis CI's Windows support.
...
At least for now there seems to be no point in trying to build the libraries (and run the tests) on Windows. Rather we only want to check that the MSVC solution is still valid.
2020-08-02 15:50:31 +02:00
Jesse Rosenstock
adda28f5c5
LoadExpr: Set CF_FORCECHAR if test is required
...
If we are testing, we do not need to load the high byte(s).
2020-08-02 12:31:57 +02:00
acqn
2a555d198c
Changed 'switch' to 'if' according PR review comments.
2020-08-02 12:28:11 +02:00
acqn
30fd8592ae
Avoid internal errors when using function-type objects in expressions.
2020-08-02 12:28:11 +02:00
acqn
e526cbbff6
Fixed handling multiple storage specifiers in one declaration.
2020-08-02 02:20:25 +02:00
Jesse Rosenstock
633cd17a3e
Add enum size test case for #1050
2020-08-02 01:18:28 +02:00
Oliver Schmidt
e1043fac12
Adjusted to https://github.com/cc65/cc65/pull/1124 .
2020-08-01 10:56:05 +02:00
Jesse Rosenstock
9c70bd44a6
Clarify comment about large shift
...
This is to avoid overflow on host platform.
2020-07-31 19:33:28 +02:00
Jesse Rosenstock
847982c6bf
Handle bit-field test after shift/mask
...
Previously, bit-field tests were incorrectly combined with load in
`if (x.bitfield)`. Delay the test until after the shift/mask
is done. Still combine tests with load if no shift/mask is required.
Fixes #1139
2020-07-31 19:33:28 +02:00
Jesse Rosenstock
d0c7108dcf
Change copyright notice to "The cc65 Authors"
2020-07-30 19:17:11 +02:00
Jesse Rosenstock
3df6c383c0
Add support for static_assert
...
Add C11's _Static_assert and static_assert macro.
This is like #error, but is handled at a later stage
of translation, so it is possible to check sizes of
types, values of enums, etc.
https://en.cppreference.com/w/c/language/_Static_assert
https://port70.net/~nsz/c/c11/n1570.html#6.7.10
2020-07-30 19:17:11 +02:00
Jesse Rosenstock
c72fa735b9
Add test for #1139
2020-07-30 19:13:19 +02:00
Jesse Rosenstock
2d5fd0fc63
Use char ops if possible for bit-field loads
...
Set CF_FORCECHAR and change type to char once we have
shifted into a char.
This saves some unnecessary ldx #0 instructions.
2020-07-30 14:59:23 +02:00
acqn
e38f601fcc
Fixed padding at the ends of structs with bit-fields.
2020-07-30 08:38:24 +02:00
acqn
8a511bb63d
Fixed nested array initializers.
2020-07-30 08:38:24 +02:00
acqn
9075a853dc
Allows one trailing comma before the closing curly of a struct/union initializer.
2020-07-30 08:38:24 +02:00
acqn
25d10d9d9a
Fixed nested struct/union initialization.
...
Fixed bit-fields offsets in anonymous structs.
2020-07-30 08:38:24 +02:00
acqn
d6d667a688
Improved error handling with symbol redefinitions.
2020-07-30 08:22:29 +02:00
acqn
92de4fa0d0
Enabled to recognize labels when parsing local variable declarations.
2020-07-30 08:22:29 +02:00
acqn
19c81ed866
Fixed type mask usage.
2020-07-30 08:13:23 +02:00
Jesse Rosenstock
fb9b50ff9c
Move type checks before bit-field width parsing
2020-07-30 08:10:38 +02:00
Jesse Rosenstock
aaa0cf5448
Add err tests for bitfield width errors
...
! ../../bin/cc65 -o ../../testwrk/err/bitfield-named-zero-width.s bitfield-named-zero-width.c
bitfield-named-zero-width.c(27): Error: Zero width for named bit-field
! ../../bin/cc65 -o ../../testwrk/err/bitfield-negative-width.s bitfield-negative-width.c
bitfield-negative-width.c(26): Error: Negative width in bit-field
! ../../bin/cc65 -o ../../testwrk/err/bitfield-too-wide.s bitfield-too-wide.c
bitfield-too-wide.c(26): Error: Width of bit-field exceeds its type
2020-07-30 08:10:38 +02:00
Jesse Rosenstock
a2561d07f3
Remove special-case bit-field width code
...
cbb33f8
restricted allowed bit-field types to int,
so this is equivalent for now, but forward-compatible.
Fixes FIXME
Also move the int type check before parsing the colon.
2020-07-30 08:10:38 +02:00
Jesse Rosenstock
74dda01919
Add test that plain int bitfields are unsigned
...
We want to make sure this doesn't change when #1095 is fixed;
unsigned is much more efficient.
2020-07-29 16:43:17 +02:00
Oliver Schmidt
8eab28012a
Adjusted project name.
2020-07-28 23:29:16 +02:00
acqn
cbb33f86e8
Disabled using non-int-size types to declare bit-fields.
2020-07-28 23:26:25 +02:00
acqn
c37f9f1a41
Check if the integer size is known in GetIntegerTypeMin/Max() to prevent potential misuse.
2020-07-28 23:26:25 +02:00
acqn
0f412b6beb
Small fixes according to PR review.
2020-07-28 23:26:25 +02:00
acqn
35e1efc7f2
Moved misc/bug1048 as it is already correctly rejected by the compiler.
2020-07-28 23:26:25 +02:00
acqn
7e243e0f2c
Allowed using all integer types including enum and char types to define bit-fields,
...
but kept the currently behavior that all of them are treated as unsigned int.
2020-07-28 23:26:25 +02:00
acqn
d8184fbe54
No longer insert all enums in the global symbol table.
2020-07-28 23:26:25 +02:00
acqn
daa65199b3
Fixed underlying types of enums.
...
Made enumerator diagnostics more sensible.
Fixed Issue #1048 as a natural result.
2020-07-28 23:26:25 +02:00
Jesse Rosenstock
c272c73686
Add err test for char bit-fields #1047
2020-07-28 22:03:01 +02:00
Jesse Rosenstock
c0f2b69bef
Add test case for sign extending < 1 byte
2020-07-28 22:01:22 +02:00
Jesse Rosenstock
04d16b3740
Make $WORKDIR for tests/err
...
Without this, if there is a test that can compile,
it will still fail because the WORKDIR does not exist:
```
pass.c(1): Fatal: Cannot open output file '../../testwrk/err/pass.s': No such file or directory
```
2020-07-28 21:59:12 +02:00
Oliver Schmidt
cdd23edd37
Added building of samples.
2020-07-27 17:59:24 +02:00
Oliver Schmidt
4316242d7e
Adjusted to 5df2de0629
(and slightly simplified).
2020-07-27 17:47:14 +02:00
mrdudz
ed3f281b9e
fix wording
2020-07-27 14:40:27 +02:00
compyx
81d3dedb41
Move comment block as requested
2020-07-24 15:24:28 -04:00
compyx
294b5d1cf1
C64 soft80 conio: shave off a few bytes and cycles
2020-07-24 15:24:28 -04:00
Oliver Schmidt
5df2de0629
Added test target.
2020-07-22 23:27:04 +02:00
mrdudz
ffaae965d4
Merge branch 'master' of https://github.com/cc65/cc65
2020-07-22 15:56:23 +02:00
mrdudz
afe455238c
added test related to issue #1113
2020-07-22 15:55:55 +02:00
mrdudz
98b2d43c2b
added tests related to pr #1110
2020-07-22 15:52:04 +02:00
mrdudz
ce06b20c6c
add some details to the readme
2020-07-22 15:31:39 +02:00
mrdudz
844f5a9d33
hook up test/todo in the toplevel test makefile
2020-07-22 15:12:29 +02:00
mrdudz
6abf24e25e
move test for issue #1077 to test/val
2020-07-22 15:12:02 +02:00
mrdudz
e22e9c403c
added testcase for issue #1098
2020-07-22 14:57:40 +02:00
Greg King
44c82eb1c3
Made da65 disassemble branch instructions with relative address expression operands if there's no label.
2020-07-21 18:43:32 -04:00
mrdudz
eb094ecf6a
remove ifdef magic
2020-07-22 00:21:23 +02:00
mrdudz
4a9c5ff63b
use uint16_t instead of magic ifdefs, leaving support for bit type in there incase we support it some day
2020-07-22 00:09:48 +02:00
mrdudz
6d518a61a5
Merge branch 'master' of https://github.com/cc65/cc65
2020-07-21 23:52:24 +02:00
mrdudz
df900e30b8
removed references to macros from common.h
2020-07-21 23:50:23 +02:00
Oliver Schmidt
77674352f6
Minor style change.
2020-07-21 23:44:36 +02:00
Brad Smith
041f981960
rand() use XOR to break up unwanted pair correlation ( #1107 )
...
* rand() use XOR to break up unwanted pair correlation
This form of rand() cannot return the same value twice in a row.
Two additonal EOR instructions produce a more even distribution of successive pairs.
see comments on #951
* rand.s document purpose of XOR
* suggested srand() optimization: zero fill unnecessary
* test to validate implementation of rand()
* srand() improving behaviour and adding startup test
* srand() with a tail call to rand() for better initial shuffle
* srand() can fall through to rand() instead of tail call
2020-07-21 23:38:18 +02:00
mrdudz
7e1f4760e7
remove common.h from test/misc, its no more used
2020-07-21 23:31:58 +02:00
mrdudz
2bbea6779a
properly configure sitest so it could work, if we had the respective features :)
2020-07-21 23:04:03 +02:00
mrdudz
9e43c0a569
added a test related to pr#1102 - we can now return structs by value when they are max. 4 bytes
2020-07-21 21:04:41 +02:00
mrdudz
145084c41c
move test for issue #1075 to test/var
2020-07-21 20:02:51 +02:00
mrdudz
42c162c15e
rework test for issue #1075 to return an exit code
2020-07-21 19:58:36 +02:00
mrdudz
a0c80a8c72
move (now working) tests to test/val
2020-07-21 19:24:39 +02:00
mrdudz
b2d7998241
update makefile to use $(NOT) as discussed with Oliver
2020-07-21 19:15:41 +02:00
acqn
07e18774f7
Added spaces around '|' with regex replacement.
2020-07-21 18:23:52 +02:00
acqn
c66d0881b9
Made the enum/enumerator types clearer and improved DumpSymEntry() output.
2020-07-21 18:23:52 +02:00
acqn
18bd76bb90
Minor fixes and improvements.
2020-07-21 18:23:52 +02:00
acqn
65081aebed
Made able to recognize global declarations of static arrays. Fixed Issue #975 .
2020-07-21 18:23:52 +02:00
acqn
0250c87ac6
Fixed SC_* type masks by making them all bitwise-exclusive.
2020-07-21 18:23:52 +02:00
mrdudz
e4fc7a0fec
reworked pptest3 into an exectutable test and moved to test/val
2020-07-21 15:30:35 +02:00
mrdudz
010ed6d729
reworked pptest1/4/5 into executable tests and moved to test/val
2020-07-21 14:58:15 +02:00
mrdudz
638e254668
rework pptest2 into a runable test and move to test/misc (since it does not compile with cc65)
2020-07-21 14:48:49 +02:00
Greg King
b60b303c5d
Added a missing asterisk to a "hardware" struct definition.
2020-07-20 21:40:44 -04:00
Greg King
517df130cc
Made a regression test increment a variable after, instead of before, using it.
...
That change allows the initial value of zero to be tested.
2020-07-20 17:16:11 -04:00
mrdudz
5a9d76ad52
added test for issue #1108
2020-07-20 15:50:11 +02:00
acqn
78342fa82c
Fix for "auto" variables made "static" with the "-Cl" options.
2020-07-20 15:01:47 +02:00
acqn
71c2d27705
Removed an ED_IsBitField() test according to PR review.
2020-07-20 14:54:32 +02:00
acqn
2245783345
Fixed ability to do actual type conversion from bit-fields to integers. Note this doesn't try to fix the signedness issues.
2020-07-20 14:54:32 +02:00
acqn
b67b8ddd38
Disabled applying 'sizeof' to bit-fields.
2020-07-20 14:54:32 +02:00
acqn
62a6e37487
Made the code handling '&expression' slightly tidier.
2020-07-20 14:54:32 +02:00
acqn
3c52ad1d9e
New utility ED_DisBitField() to make an expression no longer a bit-field.
2020-07-20 14:54:32 +02:00
Greg King
fd0a6955da
Changed "IsTypeStruct() || IsTypeUnion()" expressions into shorter "IsClassStruct()" expressions.
...
Type-classes are groups of types that can be handled in the same way (similar syntax).
2020-07-19 14:30:22 -04:00
Oliver Schmidt
ee208aecd6
Removed unnecessary tool.
...
It's not the domain of cc65 to provide tools already available elsewhere.
2020-07-19 13:16:29 +02:00
acqn
29c50ab25f
Corrected the error message about struct/union members not found.
2020-07-19 12:57:59 +02:00
Jesse Rosenstock
bbcb39978c
Add test of signed bitfields for #1095
2020-07-19 11:05:27 +02:00
acqn
768e03a474
Small fixes and tidy-up based on PR review.
...
Renamed GetReplacementType() to GetStructReplacementType().
Clarified in comments that most *Struct* facilities work for unions as well.
Made it clear in some error messages with regards to structs/unions.
2020-07-19 10:58:33 +02:00
acqn
0c3e1b491f
Disabled -Wstruct-param by default.
2020-07-19 10:58:33 +02:00
acqn
b45d373fd6
Fixed passing by value structs/unions <= 4 bytes in size to functions. Larger ones are forbidden for now.
2020-07-19 10:58:33 +02:00
acqn
9f67b45ea0
Fixed returning by value structs/unions <= 4 bytes in size from functions. Larger ones are forbidden for now.
2020-07-19 10:58:33 +02:00
acqn
66ecc0e52c
New utility to get the proper replacement type for passing structs/unions by value.
...
New utility to get basic type names such as 'struct', 'union' and so on.
2020-07-19 10:58:33 +02:00
acqn
333fa97326
Whitespaces/newlines fixes.
2020-07-18 12:54:29 +02:00
acqn
9198b3be00
Fixed '&function' and '&array'.
2020-07-18 12:54:29 +02:00
acqn
d23b577331
More compiler flags on address types to match the location types of expressions.
2020-07-18 12:54:29 +02:00
acqn
2108489523
Fix for Issue #1075 and #1077 .
2020-07-18 12:54:29 +02:00
Greg King
ba48dfe65d
Fixed a typo in the CX16 document.
2020-07-16 14:06:23 -04:00
Spiro Trikaliotis
0e55d33cc3
Fix info page building for newer linuxdoc
...
In ca65.sgml, the following pattern was used in tables in order to
create an empty row:
||~@
That is, the first two columns are empty, the last one has an
Unfortunately, with newer linuxdoc, this fails, as the empty columns
create two @item directly after each other, which is not allowed.
Changing this to
~|~|~@
fixes it by adding an " " into each column.
Furthermore, the last line had a "newrow" (@) separator, which created
an artifact. Removed that one.
2020-07-16 19:25:40 +02:00
Greg King
4296cbaf82
Added a 320x200x256 TGI driver to the Commander X16 library.
...
Made the mandelbrot sample program handle the X16's 256 colors.
2020-07-15 17:30:58 -04:00
Christian Groessler
72fff0cfbc
atari.h: fix definition of KEY_UP
...
noticed by Stefan Wessels
2020-07-15 23:00:12 +02:00
Greg King
ba0ef5938d
Moved the font into a separate module in the library.
...
The font can be replaced, at link-time, by a custom file.
2020-07-15 04:58:32 -04:00
Olli Savia
a02bec11e9
Another code style fix
2020-07-14 22:54:03 -04:00
Olli Savia
b3703de983
Code style fixes
2020-07-14 22:54:03 -04:00
Olli Savia
de5678af5d
Added optimizations by dmsc
2020-07-14 22:54:03 -04:00
Olli Savia
e2ec517aae
Save another 3 bytes
2020-07-14 22:54:03 -04:00
mrdudz
306f421aa9
Merge branch 'master' of https://github.com/cc65/cc65
2020-07-15 00:17:41 +02:00
mrdudz
6035f1cb75
added missing gotox/gotoy functions
2020-07-15 00:17:11 +02:00
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
Jesse Rosenstock
6dc2bf1226
Rename PaddingBitWidth to PaddingBits
2020-07-08 16:46:34 +02:00
Jesse Rosenstock
9858e47dfd
Pad bit-fields only to the next byte
...
Fixes #1054 .
Previously, bit-fields followed by another field were aligned
to two bytes. Bit-fields ending the struct were (and continue
to be) aligned only to a single byte.
```
struct s {
unsigned int x : 4;
};
struct t {
unsigned int x : 4;
unsigned int y;
};
```
Before: `sizeof(struct s) == 1`, sizeof(struct t) == 4`
After: `sizeof(struct s) == 1` sizeof(struct t) == 3`
2020-07-08 16:46:34 +02:00
Jesse Rosenstock
9e881a497e
Fix formatting
2020-07-08 16:45:00 +02:00
Jesse Rosenstock
c273c90bf2
Fix formatting
2020-07-08 16:45:00 +02:00
Jesse Rosenstock
527df094ca
Use xrealloc in cl65
...
Previously, xmalloc and xfree were used.
2020-07-08 16:45:00 +02:00
Jesse Rosenstock
416adbce82
Add blank line
2020-07-08 16:44:06 +02:00
Jesse Rosenstock
021362fb75
cl65: Remove temporary .o files
2020-07-08 16:44:06 +02:00
Greg King
410e4502ee
Added a 160x192x2 TGI (graphics) driver to the VIC-20 library.
...
The driver requires a special linker configuration: "vic20-tgi.cfg".
The VIC-20 computer needs at least 8K of expansion RAM!
"tgidemo.c" needed to be adjusted because the VIC-20's vertical (y) range is greater than its horizontal (x) range -- the opposite of most other platforms. Also, the circle demo would jam on the VIC-20.
2020-07-08 05:55:30 -04:00
mrdudz
d1833cc441
Fix handling of charcodes 254 and 255, fixes issue #988
2020-07-08 00:48:39 +02:00
acqn
539924249b
More complete fix for Issue #1071 .
2020-07-07 18:28:56 +02:00
acqn
286da30a26
Quick fix for Issue #1071 .
2020-07-07 18:28:56 +02:00
Daniel Serpell
17c5504129
In Atari XEX output format, join memory areas if possible.
...
This makes executables shorter if two memory areas are consecutive.
2020-07-04 23:28:10 +02:00
Oliver Schmidt
0f8b587bc2
Added directory for currently failing regression tests.
2020-07-01 00:13:55 +02:00
Jesse Rosenstock
8891a896b5
test/ref: Use separate .out files
...
Use different .out files for different options / targets.
This allows make -j N to work.
Previously all test.*.*.prgs would use the same test.out file.
Now test.*.*.out is also used.
2020-06-29 22:34:44 +02:00
Jesse Rosenstock
d31171164e
Fix formatting
2020-06-29 14:49:36 -04:00
Jesse Rosenstock
fae25bc459
CHECK we have at most a partial byte
2020-06-29 14:49:36 -04:00
Jesse Rosenstock
f4a6d08847
Fix full bytes vs full word in comment
2020-06-29 14:49:36 -04:00
Jesse Rosenstock
a00611798d
Output bit-field data as chars instead of ints
...
This prepares for #1058 , which will pad bit-fields only to
the next byte, instead of the next sizeof(int) (two bytes).
OutputBitFieldData now outputs chars instead of ints, and
calls to this function loop until there is less than one byte
to output. A final partial byte is written out with zero padding
as a final partial int was previously.
2020-06-29 14:49:36 -04:00
Jesse Rosenstock
90d1c89bff
Allow overlap of bit-field storage units ( #1055 )
...
* Allow overlap of bit-field storage units
Previously,
struct s {
unsigned int x : 10;
unsigned int y : 10;
};
had sizeof(struct s) == 4.
With this change, allow the storage units of x and y to overlap,
so sizeof(struct s) == 3, with y stored immediately after x,
with no padding between them.
An int bit-field (the only type currently supported) will still
never occupy more than two bytes.
* ParseStructInit: Fix typo and expand comment
Explain why there are at most 30, not 32 bits.
* ParseStructDecl: Rewrite AddBitFieldCall
No behavior change.
Co-authored-by: Jesse Rosenstock <jmr@users.noreply.github.com>
2020-06-27 15:02:11 +02:00
Oliver Schmidt
5277ea0b73
Add test license description.
2020-06-27 02:23:40 +02:00
Jesse Rosenstock
18246278c5
switch2.c: Remove use of REFCC and UNSIGNED_CHARS
...
Explicitly use `signed char` or `unsigned char`, rather than
```
signed char k;
char k;
signed char k;
char k;
```
This should have resulted in the same thing; however, note that
`REFCC` was never defined, and `common.h` was not included, so
the old code in fact tested `char` then `unsigned char`,
which are the same.
The only difference is that a switch using plain `char` is not
tested, but since this is the same as either `signed char` or
`unsigned char`, the lack of test coverage seems relatively safe.
2020-06-25 13:18:08 +02:00
Jesse Rosenstock
8fe317e7fa
Remove REFCC_UNSIGNED_CHARS from test/ref/
...
Explicitly use signed char or unsigned char for REFCC.
2020-06-25 13:18:08 +02:00
Jesse Rosenstock
86ba877a99
Define REFCC and REFCC_UNSIGNED_CHARS in reference
...
switch2.c uses these macros. With them unset, signed chars
are not tested.
2020-06-25 13:18:08 +02:00
mrdudz
6e6ce4e5ee
added various tests related to bug #1045
2020-06-23 00:46:12 +02:00
Dirk Jagdmann
aaecf3cfec
replace JMP with BEQ to save 1 byte.
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
3cbe485b94
fix description of Kerberos memory
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
6465c3b687
change order of declarations.
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
9227b0ccaf
sort items
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
def27ed4e2
change whitespace
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
070264acc4
remove tab characters.
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
ba79b2db9b
add kerberos em driver variable.
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
cb26766651
add C64 documentation
2020-06-22 23:55:45 +02:00
Dirk Jagdmann
76091b96d4
C64 Kerberos extended memory driver
2020-06-22 23:55:45 +02:00
acqn
e9307ce58e
Moved test/ref/cc65141011.c to test/val/cc65141011.c.
2020-06-22 23:23:39 +02:00
acqn
8a166ac82f
Fixed register usage tracking interfered by CE_SetArg.
2020-06-22 23:23:39 +02:00
acqn
2220c58f51
If the previous insn may be skipped, we cannot simply predict the output values of the registers.
2020-06-22 23:23:39 +02:00
acqn
53eb6a948d
No more duplicated stores by Opt_tosshift which could result in worse optimizations.
2020-06-22 23:23:39 +02:00
acqn
49c5cfd65b
Improved fix for Issues #167 and #784 and somehow #781 .
2020-06-22 23:23:39 +02:00
acqn
48d3578c24
Fixed Issue #784 .
2020-06-22 23:23:39 +02:00
acqn
b2268765bf
The ref test cc65141011.c now passes.
2020-06-22 23:23:39 +02:00
acqn
a7a8426a90
Just keep Lhs loads in OptStackOps and leave them to OptUnusedLoads,
...
whilst Rhs loads must be removed for OptStackOps to work right.
Fixed Issue #167 as well as similar issues with tosshift.
2020-06-22 23:23:39 +02:00
Jesse Rosenstock
1c2edc5434
AddBitField: Rename Width arg to BitWidth
...
This makes the arg consistent with the SymEntry field name.
2020-06-21 01:08:44 +02:00
Jesse Rosenstock
4afc552e17
ParseStructDecl: Make BitOffs unsigned
...
This makes it consistent with SymEntry and removes the need for
some casts that were added to avoid warnings about signed vs
unsigned comparison.
2020-06-21 01:07:45 +02:00
Oliver Schmidt
37107174c6
Added waitvsync() for the Enhanced Apple //e.
...
The implementation is a bit tricky as it requires to take different code paths for the //e, the //c and the IIgs. Additionally the //c only provides a VBL IRQ flag supposed to be used by an IRQ handler to determine what triggered the IRQ. However, masking IRQs on the CPU, activating the VBL IRQ, clearing any pending VBL IRQs and then polling for the IRQ flag does the trick.
2020-06-18 21:44:57 +02:00
mrdudz
baa5d051e4
use same description as in the docs
2020-06-16 00:11:07 +02:00
mrdudz
349a84d972
remove superfluous TAB
2020-06-16 00:08:55 +02:00
mrdudz
98c7186221
Add description for --debug-opt-output to the --help output
2020-06-15 23:39:50 +02:00
Oliver Schmidt
e0a0b2dc25
Streamlined machine detection.
2020-06-15 19:31:18 +02:00
Oliver Schmidt
6adf175691
Optimized get_ostype() return values for asm usage.
...
Making sure that all but //c machines have bit 6 clear allows to use BIT/BVS to detect the //c machines.
2020-06-15 19:31:18 +02:00
Greg King
2acb3b153b
Added some "See also" links to the TGI color-count descriptions.
2020-06-08 20:09:45 -04:00
Greg King
87144a15dd
Fixed the "verbatim" tags in the TGI document.
2020-06-08 17:22:02 -04:00
Greg King
bc1e884988
Documented how the TGI API shows when a palette has 256 colors.
2020-06-08 16:39:11 -04:00
Oliver Schmidt
20a9c0c336
Replaced call to paddle read ROM routine with custom code.
...
As described e.g. in the Apple IIe Technote #6 : 'The Apple II Paddle Circuits' it doesn't work to call PREAD several times in immediate succession. However, so far the Apple II joystick driver did just that in order to read the two joystick axis.
Therefore the driver now uses a custom routine that reads both paddles _at_the_same_time_. The code doing so requires nearly twice the cycles meaning that the overall time for a joy_read() stays roughly the same. However, twice the cycles in the read loop means half the resolution. But for the cc65 joystick driver use case that doesn't hurt at all as the driver is supposed to only detect neutral vs. left/right and up/down.
CPU accelerators are supposed to detect access to $C070 and slow down for some time automatically. However, the IIgs rather comes with a modified ROM routine. Therefore it is necessary to manually slow down the IIgs when replacing the ROM routine.
2020-06-06 15:15:13 +02:00
Greg King
8b5ae001e5
Refactored the TGI demo.
...
Cleared the screen at the beginning of each demo instead of at the end. Setting the colors before clearing makes it more reliable and consistent across platforms.
2020-06-05 13:37:20 -04:00
Oliver Schmidt
7b2e4d0c7f
Reflect that the Apple //c supports only one joystick.
2020-06-04 23:24:24 +02:00
Oliver Schmidt
15e2afcdf3
Split libref.s into multiple files to prevent inclusion of unnecessary code.
2020-06-04 23:24:24 +02:00
Greg King
14c62f1368
Allowed the TGI API to support 256 colors.
2020-06-04 12:58:05 -04:00
acqn
f9204e5b6f
Fixed g_addlocal codegen with long types.
2020-06-01 22:37:40 +02:00
acqn
8066cd9ace
Fixed wrong case in PreDec codegen, which never seems to be in use though.
2020-06-01 22:37:40 +02:00
acqn
07a5324a81
Fixed Issue #1028 by outputing local literals when exiting the function scope.
2020-06-01 22:37:40 +02:00
acqn
68f53e69f1
Fixed Issues #420 and #919 by always outputing the code segment before the three data segments for functions.
2020-06-01 22:37:40 +02:00
acqn
33e103fdc6
Fixed Issue #1040 : non-byte pointer +=/-= byte codegen bug.
2020-06-01 22:37:40 +02:00
Oliver Schmidt
555282497c
Removed --lib option from cl65.
...
The general approach of cl65 when generating the command lines to be executed is to first put options and the put files. However, this doesn't work well with the --lib option which would rather need to be put when libraries in general are put. I opted to not add this special behavior to cl65 as
* the use case for the --lib option is _VERY_ specific
* cl65 is after all a wrapper for ordinary use cases
2020-05-30 21:03:15 +02:00
laubzega
dc4142e1a9
Minor formatting changes after review.
2020-05-29 10:00:33 +02:00
laubzega
083f3ae26b
Fix for #928 .
2020-05-29 10:00:33 +02:00
Greg King
68eb0f2cdc
Put the Telestrat static drivers names together.
2020-05-28 10:33:08 -04:00
Greg King
3890492a9b
Added a JOY_FIRE() macro to the Atmos and Telestrat C headers.
2020-05-28 09:59:21 -04:00
jede
6521930880
Fixed the name of the driver
2020-05-28 08:50:20 -04:00
jede
6c2d578c61
Fix eor bug
2020-05-28 08:50:20 -04:00
jede
50192fc65e
Change name of the driver (telestrat-joy.s renamed to telestrat.s
2020-05-28 08:50:20 -04:00
jede
1d358a4734
Fix bug
2020-05-28 08:50:20 -04:00
jede
e8b1d51d28
Fix typo
2020-05-28 08:50:20 -04:00
jede
cd7abdb58d
Fix typo
2020-05-28 08:50:20 -04:00
jede
7ae6430728
Fix typo
2020-05-28 08:50:20 -04:00
jede
532240a2db
Telestrat joystick management
2020-05-28 08:50:20 -04:00
Greg King
f8be35b41e
Fixed some typos in the "large alignment" support.
2020-05-15 21:09:02 -04:00
Chris Cacciatore
3adeb0f907
Removed invalid link to ca65 document.
2020-05-15 17:54:41 -04:00
Chris Cacciatore
ad1eadd60d
Added support for --large-alignment in ld65.
...
Implemented the same way as in ca65.
2020-05-15 17:54:41 -04:00
Oliver Schmidt
5b56c6e3a2
Disable potentially enabled double-width graphics.
2020-05-04 22:23:01 +02:00
Greg King
cbf0c1d1dd
Updated the cx16 library to the Commander X16's ROM prerelease 37.
2020-05-02 13:46:06 -04:00
itaych
31daa706b7
PMG_SIZE_QUAD is 3, not 2.
...
From "Mapping the Atari": "Size of player. POKE with zero or two for normal size (eight color clocks wide), POKE with one to double a player's width (sixteen color clocks wide), and POKE with three for quadruple width (32 color clocks wide). Each player can have its own width set."
2020-04-16 17:06:18 +02:00
Stefan
4a224878d8
Preserve the accu
2020-04-06 18:13:54 +02:00
Oliver Schmidt
0981c020b2
Shortened names and adjusted style.
2020-04-02 22:58:16 +02:00
Oliver Schmidt
411fe87f64
Fixed tolower() and toupper() to save high byte.
2020-04-02 22:14:22 +02:00
Oliver Schmidt
df015f4766
Adjusted tolower() and toupper() to https://github.com/cc65/cc65/pull/997
...
For some reason or another both the author of the PR in question and its reviewers didn't notice that the two functions in question were totally overlooked.
2020-04-02 11:15:53 +02:00
Oliver Schmidt
65dd931d22
Some style adjustments.
2020-04-02 10:42:06 +02:00
Oliver Schmidt
4cc95a2c6c
Matched comment to the one in the C header file.
2020-04-02 09:45:11 +02:00
Dirk Jagdmann
c15f4975d0
fix the clean: target to remove any disk images.
2020-03-30 21:19:12 +02:00
Greg King
8b5a2f135c
Added missing <tag> and <itemize> Linuxdoc tags to some ctype.h function descriptions.
2020-03-27 00:59:15 -04:00
greg-king5
4ea2bfef0a
Aligned comment.
2020-03-26 23:08:49 -04:00
marko.lauke
3e12840933
+code style
2020-03-26 23:08:49 -04:00
marko.lauke
68ff89ba0a
+cc65 inline asm stp mnemonic support
2020-03-26 23:08:49 -04:00
Oliver Schmidt
a53bd345d8
Adjusted comments due to recent change.
2020-03-26 12:29:56 +01:00
Jeremy Rand
62eb3137ab
Update get_ostype.s
...
Do not check $fbbe when detecting the Apple //e card. This byte is a version number for the Apple //e card according to misc technote #7 and it appears that the last version of the software that I am aware of has a 3 at this location.
Prior to this change, Apple //e cards which we not version 0 would be detected as an Apple //e enhanced.
2020-03-26 12:25:41 +01:00
Dirk Jagdmann
beaa77d2d6
fix whitespace
2020-03-23 11:47:51 +01:00
bbbradsmith
e0cb33d9d4
SEGMENT start of 0 should be valid
2020-03-22 21:03:07 +01:00
Greg King
2fc24847ac
Fixed an error message printer.
...
The disassembler can be built and won't crash if it sees duplicate labels, and one of them is an unnamed label.
2020-03-11 18:07:08 -04:00
Oliver Schmidt
b91ad02da1
Made use of 65C02 opcode (thx to polluks).
2020-03-05 14:38:36 +01:00
Greg King
e2c6648607
Fixed a typo in commit 2e5fbe89cd
.
...
Changed a && to ||.
2020-02-21 08:12:05 -05:00
Oliver Schmidt
857a566a2e
Normalized Atari naming.
2020-02-17 11:07:52 +01:00
jede
0962a9f286
Fix 16 bits values
2020-02-13 05:46:46 -05:00
jede
026e57279d
Fix bug in tgi_line : HRS(X) parameters are 16 bits.
2020-02-13 05:46:46 -05:00
IrgendwerA8
08705a3fdc
Changes resulting from 2nd code review
2020-02-03 20:45:09 +01:00
IrgendwerA8
002d1801ec
Changes resulting from code review.
2020-02-03 20:45:09 +01:00
IrgendwerA8
ce80624f62
ctype size optimization
2020-02-03 20:45:09 +01:00
acqn
dc5114b071
Just disable OptPushPop if N/Z is used after the PLA.
...
This is a more conservative way to fix Issue #971 .
2020-02-01 18:04:32 +01:00
acqn
6d530931bf
Quick fix for the OptPushPop bug reported in Issue #337 .
2020-02-01 18:04:32 +01:00
acqn
9559625ee8
Always insert a LDA after the removed PLA during the optimization in OptPushPop.
...
Fixed Issue 971.
2020-02-01 18:04:32 +01:00
acqn
5b11eb4bb9
Corrected check in OptTransfers2 for register usage. Fixed Issue 992.
2020-02-01 18:04:32 +01:00
Daniel Serpell
f68cc06ec7
Fixes Atari OS devhdl_t, init field needs an JMP byte.
...
This fixes issue #1002 .
2020-01-29 13:58:10 +01:00
mrdudz
a59402d5f5
store y first, then a. fix by willymanilly
2020-01-26 02:18:04 +01:00
mrdudz
a2bbb6f1be
added regression test related to bug #1001
2020-01-25 20:56:52 +01:00
Greg King
90a2edcfa2
Made cc65 detect a possibly missing argument at the end of a function argument list.
...
(It could be a stray comma at the end of the list.)
2020-01-25 04:14:58 -05:00
Oliver Schmidt
0f08ae2c12
Minor cleanup.
2020-01-18 19:29:24 +01:00
Greg King
b66f7272af
Updated the cx16 library to the ROM's prerelease 36.
2020-01-11 02:20:52 -05:00
mc78
244dc358e5
Changed the order in which lo/hi bytes of vdc addr are set according to willimanilys ((z64k) suggestions. Changed offset for vdc ramsize detection from 000 to 000.
2020-01-03 13:51:20 -05:00
mc78
390878e831
Added reservation of second byte for pagecount
2020-01-03 13:51:20 -05:00
mc78
2a42139674
Changes in INSTALL routine from emd/c128-vdc.s.
...
tmp1 was used at two places resulting in the bug that VDC_CSET was set to garbage on 16k VDC.
pagecount and curpage were not reset on INSTALL resulting in non-reentrant code on static linkage of emd driver.
2020-01-03 13:51:20 -05:00
Greg King
5109c0b68f
Made ca65 give error messages when it sees duplicate .define commands.
2020-01-02 04:26:02 -05:00
Greg King
00ab3c2d34
Fixed the target guards around the usage messages.
2019-12-30 19:53:39 -05:00
Greg King
b56ba8f073
Added real-time clock functions to the cx16 library.
2019-12-27 18:07:37 -05:00
Greg King
f067c4530f
Made the program-chaining exec() handle the X16 emulator's file-system.
2019-12-25 14:53:32 -05:00
Greg King
3fa253d31f
Updated the cx16 library to the Commander X16 Kernal's prerelease 35.
2019-12-25 10:56:32 -05:00
Greg King
cab4910a7d
Added the missing BANK_RAM array to the Commander X16's header.
2019-12-10 05:59:33 -05:00
Greg King
fb0d09a277
Changed sim65's internal error codes from 9-bit values to 7-bit values.
...
Some shells truncate process return codes to 8 bits. And, the eigth bit often is used to show that a signal stopped the process.
2019-12-06 14:47:47 -05:00
Oliver Schmidt
d5c804f851
Expanded Sim65 zero page.
2019-11-26 22:18:12 +01:00
Greg King
f75657d7e2
Added <cx16.h> to the function reference document.
2019-11-20 12:11:47 -05:00
Stefan
d1fd7ffc59
Update status.s
2019-11-20 12:54:47 +01:00
Stefan
9d4d00737e
Update slow.s
2019-11-20 12:54:47 +01:00
Stefan
eeefd10f8f
Update revers.s
2019-11-20 12:54:47 +01:00
Stefan
2c34723a97
Update isfast.s
2019-11-20 12:54:47 +01:00
Stefan
df752ff7a5
Update fast.s
2019-11-20 12:54:47 +01:00
Stefan
3f360fe3ee
Update cputc.s
2019-11-20 12:54:47 +01:00
Stefan
06c98952fc
Update conio.s
2019-11-20 12:54:47 +01:00
Stefan
4497998944
Update color.s
2019-11-20 12:54:47 +01:00
Stefan
c9d2c10cbd
Update vic20.sgml
2019-11-20 12:54:47 +01:00
Stefan
a56b176749
Update plus4.sgml
2019-11-20 12:54:47 +01:00
Stefan
ea16316e33
Update pce.sgml
2019-11-20 12:54:47 +01:00
Stefan
7361aa9959
Update nes.sgml
2019-11-20 12:54:47 +01:00
Stefan
c08f1e4bfd
Update funcref.sgml
2019-11-20 12:54:47 +01:00
Stefan
63ab22f97f
Update cx16.sgml
2019-11-20 12:54:47 +01:00
Stefan
49ebac7ac1
Update cbm510.sgml
2019-11-20 12:54:47 +01:00
Stefan
94892231bc
Update c64.sgml
2019-11-20 12:54:47 +01:00
Stefan
9bf2bf308a
Update c128.sgml
2019-11-20 12:54:47 +01:00
Stefan
9ab614d764
Update c16.sgml
2019-11-20 12:54:47 +01:00
Stefan
d9a6fbac48
Fixed C16 #978
2019-11-20 12:54:47 +01:00
mc78
db971d8a65
Removed unnecessary #include <cc65.h> from convert.c
...
Adjusted block comments to predominant style
2019-11-19 14:08:00 +01:00
mc78
1dee2360fa
added additional empty line after header guard in cc65.h to conform to other headers
2019-11-19 14:08:00 +01:00
mc78
8d2617110f
Removed additional exit constants definitions from cc65.h to stdlih.h. Guarded the definitions by #ifdef. Removed cc65.h includes from abort and assert implementations.
2019-11-19 14:08:00 +01:00
mc78
a139c4057c
Removed CC65_ prefixes from exit statements in abort and assert code as well from definition
2019-11-19 14:08:00 +01:00
mc78
16a66f19e1
Replaced enum in cc65.h by defines. added comment that cc65 exit constants should not redefine 0 and 1 as they are reserved for exit_success and exit_failure
2019-11-19 14:08:00 +01:00
mc78
694dd9240f
Added comment to debugger exit with error
2019-11-19 14:08:00 +01:00
mc78
3daecfb3dd
Added enum for cc65 exit codes. replaced stdlib exit code names constants in libsrc with cc65 exit code named constants
2019-11-19 14:08:00 +01:00
mc78
7bae9038cf
Replaced plain 0's and 1's in exit statements with EXIT_SUCCESS or EXIT_FAILURE
2019-11-19 14:08:00 +01:00
bbbradsmith
c9355734f5
make linker generated export warning conistent with the import warning
2019-11-18 21:50:44 +01:00
bbbradsmith
788fbcc9c8
Fix silent crash failure on warning from linker command line define import size mismatch
2019-11-18 21:50:44 +01:00
Greg King
5da525e0ea
Added a standard mouse driver to the cx16 library.
2019-11-16 14:51:24 -05:00
Greg King
d78133e1f0
Updated cx16 to match the Commander X16 ROMs and emulator, release 34.
2019-11-16 13:11:40 -05:00
Greg King
4dda5d2173
Changed a "See also" link in the abort() and assert() descriptions from raise() to signal().
...
Programmers might want to use signal() to catch the SIGABRT that's sent by abort() and assert().
2019-11-12 11:57:38 -05:00
Stefan
659d1729eb
Fixed exit code #974
2019-11-12 08:05:25 -05:00
Greg King
ac4866c027
Made assert() send SIGABRT when an assertion fails.
...
A signal handler can catch it, and do anything needed to make stderr work.
2019-11-10 12:46:01 -05:00
Stefan
7f7db01e25
Fixed typos
2019-11-10 03:21:43 -05:00
Piotr Fusik
d38417b347
Optimize sign extension.
2019-11-07 21:45:19 +01:00
Piotr Fusik
985371433b
Swap the positive/negative paths to save a branch.
2019-11-07 21:45:19 +01:00
Piotr Fusik
421c3f2b4f
Don't set carry when already set.
2019-11-07 21:45:19 +01:00
Piotr Fusik
2bec637637
Optimize a negation in signed division.
2019-11-07 21:45:19 +01:00
Richard Halkyard
0d21a2b5a4
Reformat comments to style guide rules
2019-11-02 11:21:50 +01:00
Fabrizio Caruso
2bd798fa13
Optimizations
2019-10-30 18:00:27 -04:00
Fabrizio Caruso
78d660da55
kbhit checks KBEDG and getc resets KBEDG
2019-10-30 18:00:27 -04:00
Fabrizio Caruso
43f24afe29
stz
2019-10-30 18:00:27 -04:00
Fabrizio Caruso
609f63ac74
Second tentative fix
2019-10-30 18:00:27 -04:00
Curt J. Sampson
1d39863a60
vic20/cputc: Fix incorrect CRAM_PTR at startup when using conio
...
To do this we add a constructor call to UPDCRAMPTR, which is the ROM
routine that fixes up CRAM_PTR to match the screen location pointed to
by SCREEN_PTR.
This adds two additional bytes to programs using cputc() or other
routines that call it. These are in theory recoverable, but the VIC-20
does not yet free space used by constructors after the constructors
have been called.
Thanks to <greg.king5@verizon.net> (GitHub: greg-king5) for
investigating the difference in the VIC-20 KERNAL from the C64 and
proposing this solution to the problem.[1]
[1]: https://github.com/cc65/cc65/issues/946#issuecomment-538502820
2019-10-25 16:03:38 -04:00
Curt J. Sampson
128991d868
libsrc/*/kplot.s: Use cbm_kernal.inc symbols, not hardcoded addrs
...
On C64, VIC-20 and Plus/4, the conio library PLOT routine uses direct
calls into the Kernal, including the Kernal PLOT routine that we're
replacing. These were previously hardcoded addresses; we change these
to use the symbols for those routines defined in cbm_kernal.inc. (This
changes no functionality.)
To do this, we need to import cbm_kernal.inc in a namespace so we
don't have a collision between the PLOT that we're defining and the
Kernal definition.
We also add a UPDCRAMPTR symbol (used by kplot for VIC-20 and C64) to
the direct entry kernal routines in in cbm_kernal.inc, and expand the
comments describing what the "direct entry" Kernal routines are.
<greg.king5@verizon.net> (GitHub: greg-king5) came up with this idea
and did initial testing of it.
This has been tested on VICE xvic, x64 and xplus4 emulators with a
program that does a cputs() call (github.com/0cjs/vic20cc65) to
confirm that it works the same way after as it did before.
2019-10-25 16:03:38 -04:00
Greg King
9fa90e2265
Added VERA peek() and poke() to the cx16 library.
...
They simplify C programs' direct access to VERA's internal address space.
2019-10-24 05:15:42 -04:00
Fabrizio Caruso
1074d35a15
remove bra
2019-10-18 11:15:54 -04:00
Fabrizio Caruso
e4b60e1068
Remove useless tax
2019-10-18 11:15:54 -04:00
Fabrizio Caruso
da01286037
Tentative solution for cgetc in Lynx
2019-10-18 11:15:54 -04:00
Greg King
f3d898d6a3
Added the GIF switch to the X16 emulator's control port.
2019-10-15 12:10:34 -04:00
Stephan Mühlstrasser
55444b8337
Removed redundant LDA
...
After the removal of the redundant AND in commit
704c8df04f
also the
subsequent LDA became redundant.
2019-10-15 09:38:23 -04:00
Stephan Mühlstrasser
7547c4c77c
Address review comments
...
- removed typo from comment
- removed redundant AND instruction
2019-10-15 09:38:23 -04:00
Stephan Mühlstrasser
668273cdf5
Remove source file that was only used for testing
2019-10-15 09:38:23 -04:00
Stephan Mühlstrasser
8704d42005
Remove obsolete comment
2019-10-15 09:38:23 -04:00
Stephan Mühlstrasser
eb2317d014
Restructured according to review
...
Restructured according to review in pull request #567 .
The "inputc" function was moved in slightly modified form
to kbhit.s and replaces the old keyboard scanner.
cgetc() uses the new kbhit() to read a character.
2019-10-15 09:38:23 -04:00
Jeff Tranter
e2007d0743
New OSI input routine based on disassembly of ROM code.
2019-10-15 09:38:23 -04:00
Fabrizio Caruso
9a3e521358
small m and n fixed
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
bac6f94929
Fix 127 (second left arrow)
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
b91e233714
Fix left arrow (char 77=13+64)
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
d04f7935c3
M N fixed
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
0210d76694
Fix 4
2019-10-13 09:03:46 -04:00
Fabrizio Caruso
5eda1c256c
Fix char 35 38 42 47 52
2019-10-13 09:03:46 -04:00
Greg King
4f24a06f0e
Fixed error handling for missing names in ld65 configure files.
2019-10-12 07:59:49 -04:00
LRFLEW
e660a49347
[cx16] Update ROM banks to new mapping
2019-10-12 04:51:27 -04:00
Greg King
f3f15cfd25
Fixed problems with the Atari Lynx's TGI driver.
...
* The sprite-types for black and transparent backgrounds were swapped.
* A filler-byte for text output isn't printed. (A hardware bug might not need that work-around in most cases.)
2019-10-12 04:01:03 -04:00
Greg King
39b10f9599
Added new program descriptions to the list.
2019-10-11 10:48:56 -04:00
LRFLEW
216105f6df
Update comments in rand.s
2019-10-09 17:09:05 +02:00
LRFLEW
3994fee595
Significantly faster rand() implementation
2019-10-09 17:09:05 +02:00
Fabrizio Caruso
fb260ef17f
Init is no longer in crt0.s
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
7706ea2f13
Improve comments
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
1b1d29ca9e
Comments
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
40cf719068
Use decimal for lcd size initialization
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
b051c913e9
Add supervisionhello in samples/Makefile
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
eb83a3fd0f
Improve helloworld example for Supervision
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
915836b3ec
Improve init code readability
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
cdb8035cf0
Move screen init into crt0.s
2019-10-09 17:01:02 +02:00
Fabrizio Caruso
74a904be54
Hello world example for the Supervision
2019-10-09 17:01:02 +02:00
Stefan
96547d1dd4
Fix colors for #948
2019-10-09 06:15:38 -04:00
Fabrizio Caruso
9bd92178b6
Fix Gamate RVS
2019-10-04 10:22:25 +02:00
Greg King
2e5fbe89cd
Made the "none" CPU allow all address sizes.
2019-10-02 10:09:48 -04:00
Greg King
9dfc8f84bc
Fixed cgetc().
...
The GETIN function doesn't protect CPU registers.
2019-10-01 05:30:36 -04:00
Greg King
3cece61525
Added character codes to change between the two CBM fonts.
2019-10-01 04:16:44 -04:00
Greg King
d7ec817f0a
Fixed a typo in the cx16 document.
2019-09-30 10:41:21 -04:00
Greg King
2546c6ba1c
Put the C64 code into cx16/_scrsize.s.
...
(I forgot that SCREEN is an official jumptable function.
2019-09-28 01:38:16 -04:00
Greg King
6cae84a25d
Updated the cx16 start-up to the emulator's release 32.
...
Made the Kernal ROM be visible when programs start.
2019-09-28 00:54:27 -04:00
Greg King
18afc7c703
Created a target and a library for the Commander X16 prototype computer.
2019-09-27 03:38:51 -04:00
Greg King
0896deedef
Added a .ORG keyword to ca65 structs/unions.
...
Allow 24-bit numbers as operands in ca65 structs/unions.
2019-09-11 19:00:08 -04:00
Oliver Schmidt
3b128ba59f
Use MACHID to check for realtime clock.
...
There's no need to do guesswork to know if a realtime clock is present/active.
2019-09-10 09:49:06 +02:00
Greg King
c53b167307
Added a charmap header that converts no character encodings.
...
It can be used in programs, on non-ASCII machines, that need to send/write ASCII strings.
2019-09-07 23:02:31 -04:00
Jeremy Chadwick
4e3abf417f
Use the word 'macros' universally (not macroes)
2019-08-27 08:34:35 +02:00
Jeremy Chadwick
57b997355f
Grammatical modifications
2019-08-26 09:32:14 -04:00
Jeremy Chadwick
cc373cc41d
doc: clarify need for .IMPORT on some special symbols
2019-08-26 09:32:14 -04:00
jede
3d63a8bb62
Cleaning
2019-07-31 18:07:28 +02:00
jede
3b07b8b8e3
Add cclear and cclearxy
2019-07-31 18:07:28 +02:00
Greg King
a0db846a97
Allowed old-style (K and R) function declarations to be fastcall.
...
That lets them match old-style definitions. It avoids "Type conflict" error messages. It allows shorter function calls.
Fixed the types of some variables in "test/ref/otccex.c". It avoids crashes on 64-bit Windows (32-bit Windows with 64-bit pointers).
2019-07-22 09:26:23 -04:00
jede
cceffbdb8c
Fix bug $FF
2019-07-21 14:11:51 -04:00
jede
e7bb0aad19
Fix comment and gotox force colour change
2019-07-21 14:11:51 -04:00
jede
996537282c
Cleaning import variables
2019-07-21 14:11:51 -04:00
jede
848df36f6b
Optimize Clrscr
2019-07-21 14:11:51 -04:00
jede
0fe98a7ca8
Fix bgcolor and textcolor must return last color, jmp remove.
2019-07-21 14:11:51 -04:00
jede
f9e13abc11
jmp instead of jsr
2019-07-21 14:11:51 -04:00
jede
ede64f68a9
Fix bug with bgcolor and textcolor
2019-07-21 14:11:51 -04:00
jede
6f7f6b5119
Fix label, optimize code
2019-07-21 14:11:51 -04:00
jede
a0a6537bda
Fix typo and optimize
2019-07-21 14:11:51 -04:00
jede
28eba8bff9
fix import
2019-07-21 14:11:51 -04:00
jede
7767a0e88e
fix typo
2019-07-21 14:11:51 -04:00
jede
3d5811d8f5
Fix gotoy changecolor
2019-07-21 14:11:51 -04:00
jede
7f9e73a1ce
Add textcolor and bgcolor.s
2019-07-21 14:11:51 -04:00
jede
14ac1a7ff6
Fix bug : gotoxy does not working because Y does not update the adress on the screen
2019-07-21 14:11:51 -04:00
Lauri Kasanen
5cbbb4597f
Document binary literals
2019-07-20 17:21:42 +02:00
Lauri Kasanen
1bfdce55ed
binlit: Add a few random leading zeros
2019-07-20 17:21:42 +02:00
Lauri Kasanen
925ea9d544
cc65: Add support for binary literals
...
Binary literals, 0b001, are a GCC extension in C and a C++14 feature.
2019-07-20 17:21:42 +02:00
jede
76fe064e03
Add XSCROH & XSCROB value
2019-07-20 17:10:00 +02:00
jede
99de3cb6ea
Add page 0 variables from Telemon 2.4
2019-07-20 17:10:00 +02:00
Greg King
88c6dd2da8
Changed empty parameter lists into (void) lists on functions with asm() statements.
...
The fix avoids any possible problems with how cc65 will handle old-style (K & R) function declarations, in the future.
2019-07-16 13:16:02 -04:00
Björn Esser
2f3955dbc7
src/Makefile: Simplify BUILD_ID logic.
2019-07-15 12:42:48 +02:00
Oliver Schmidt
9be25dab9c
Minor URL update.
2019-07-15 12:29:25 +02:00
Greg King
28584b31f1
Made the ld65 configure file's segment offset attribute accept zero as a value.
...
Expressions are allowed as values. Therefore, zero might be set explicitly by some conditions.
2019-06-30 22:44:10 -04:00
Björn Esser
93b6efcb2f
zlib: Use correct (un)signedness of char in prototypes and functions.
...
Also ensure we are using the same constness qualifiers.
2019-06-19 19:01:30 +02:00
Björn Esser
e0ac9d5d8e
util/zlib/deflater: Fix several compiler warnings.
2019-06-19 19:01:30 +02:00
Björn Esser
9faca05e6a
test/ref/otccex: Fix ramdomly occurring segfault.
...
The variables named tab and p are used in the context of pointers
and thus must be declared as such. Determining the purpose they
serve, using char over int seems more feasible here as well.
2019-06-09 20:26:12 +02:00
Björn Esser
83e0c70de5
Replace GIT_SHA with a more versatile BUILD_ID definition.
...
When compiling cc65, it will by default place the git hash (if available) of
the checked out commit in the version string. This isn't useful when building
a package for a Linux distribution, since there either won't be an upstream
git hash if there is one at all.
Thus we replace GIT_SHA with a more versatile BUILD_ID, which can be defined
to any arbitrary string. When building, its contents will be appended to the
version string instead of the git hash.
If BUILD_ID is not defined by the user the behaviour will be exactly the same
as before. That means BUILD_ID gets automatically defined to Git <GIT_SHA>,
if it can be determined from a checkout.
2019-06-09 20:17:15 +02:00
Oliver Schmidt
e34ee32973
Reduced shadow for h2 to improve readability.
2019-06-04 11:46:15 +02:00
bbbradsmith
5269552346
sim65 common define for paravirt hooks base location
...
allows the loaded binary to take up as much space as possible
restored some documentation of the hooks but without reference to specific location
2019-05-31 10:40:04 +02:00
Oliver Schmidt
6efb71bea7
Rearranged paravirt function vector.
...
- exit right below 6502 vectors.
- keep exit addr stable as it may be called from asm.
2019-05-30 00:10:17 +02:00
Oliver Schmidt
c6bbea0bb0
Renamed program start label.
2019-05-30 00:06:31 +02:00
bbbradsmith
7e4c4ee53e
sim65/main.c spaces were requested
2019-05-29 22:56:51 +02:00
bbbradsmith
9fcd91ebe9
sim65 header comment fix
2019-05-29 22:56:51 +02:00
bbbradsmith
3612edf4fa
sim65.sgml typo: bold is bf not **
2019-05-29 22:56:51 +02:00
bbbradsmith
fb7d4acd5c
versionable header for sim65
...
load and run address now configured from header
fix error codes not to conflict with test
fix test/misc/endless.c which is supposed to fail if an endless loop does not occur
2019-05-29 22:56:51 +02:00
bbbradsmith
07ca772932
adjust literal width to match variable type
2019-05-29 22:56:51 +02:00
bbbradsmith
2f3cae0d2e
movable sp for sim65
2019-05-29 22:56:51 +02:00
Brad Smith
38d2eb7a0e
cc65.sgml incorrectly closed tt
2019-05-29 22:41:24 +02:00
Brad Smith
26d436b90d
separating standard file I/O from low-level paravirtualization
2019-05-27 21:09:19 +02:00
Brad Smith
53bfd2e8cd
added name
2019-05-27 21:09:19 +02:00
bbbradsmith
4acf011fa4
noting that standard file functions work as well
...
correcting target name
2019-05-27 21:09:19 +02:00
Brad Smith
42beb29f72
sim65.sgml syntax error unclosed tt
2019-05-27 21:09:19 +02:00
bbbradsmith
17505e2173
sim65.sgml noting sim65c02 target as well
2019-05-27 21:09:19 +02:00
bbbradsmith
69c7acb3bc
some documentation for sim65
2019-05-27 21:09:19 +02:00
bbbradsmith
4642421da4
are more specific version of the comparison removal #895
2019-05-27 10:03:25 +02:00
bbbradsmith
7a863e5cda
bug895 test: more specific description comment
2019-05-27 10:03:25 +02:00
bbbradsmith
df90a005cd
bug895 testing against more permutations of comparison
2019-05-27 10:03:25 +02:00
bbbradsmith
1461ad6fcc
unit test to catch regression of bug #895
2019-05-27 10:03:25 +02:00
bbbradsmith
3a3107b244
Disabling too-aggressive optimization in OptCmp8
...
Generates incorrect code for some 16-bit cases. See: #895
2019-05-27 10:03:25 +02:00
Richard Halkyard
448aa35f50
Fix realloc() bug in gr65
...
The pointer to the input buffer was not being updated after a call to
realloc(), causing the program to crash if realloc() moved the buffer.
2019-05-22 11:33:43 +02:00
Greg King
644d623d31
Reset the name of the "current bss segment" before writing bss variables into the output Assembly file.
...
Then, cc65 can notice a single "#pragma bss-name()" at the beginning of the variables list.
2019-05-18 12:16:52 -04:00
Brad Smith
d56e3adf2f
CC65 -> cc65
2019-05-15 18:19:45 +02:00
Brad Smith
0d000bb629
Document --debug-opt-output and --debug-opt
2019-05-15 18:19:45 +02:00
Lauri Kasanen
f16ce22281
doc: Rename aux member to data
2019-05-15 11:17:45 +02:00
Lauri Kasanen
c2f3421dee
Document using inline asm with SoA, structs with array members
2019-05-15 11:17:45 +02:00
bbbradsmith
9299e550a5
fix NearAddr case in comment
2019-05-11 12:32:44 +02:00
bbbradsmith
7d14cff6bb
o65.c: missed a link time resolution of EXPR_NEARADDR
2019-05-11 12:32:44 +02:00
bbbradsmith
10cefdb456
move EXPR_NEARADDR to end of enum list to avoid invalidation of existing object binaries?
2019-05-11 12:32:44 +02:00
bbbradsmith
ac2ecb0b2c
65816 now generate EXPR_NEARADDR instead of EXPR_WORD0 for default assumed address mode, which will be validated by the linker's range check rather than blindly truncated. Assuming the assembler correctly validated this, the linker is allowed to truncate.
2019-05-11 12:32:44 +02:00
Oliver Schmidt
a01c4231f2
Fixed _textcolor definition.
...
The _textcolor() macro doesn't just turn on the macro optimization. It defines the return value of textcolor() - and that is supposed to be a COLOR_... value.
2019-05-08 10:22:12 +02:00
Christian Groessler
a24e3d9e72
ld65.sgml: document '--allow-multiple-definition' switch
2019-05-01 10:57:48 +02:00
Christian Groessler
dd53c2ddc3
src/ld65/main.c: fix copy'n'paste error in comment
2019-05-01 10:57:48 +02:00
Christian Groessler
5a05acf936
ld65: implement '--allow-multiple-definition' command line parameter
2019-05-01 10:57:48 +02:00
Christian Groessler
c248c14075
src/ld65/exports.c: Issue an error instead of a warning for duplicate global symbols.
2019-05-01 10:57:48 +02:00
Brad Smith
1a5fa6dc51
goto.c warning fix for implicit truncation
2019-05-01 10:53:41 +02:00
Christian Groessler
392e6e10fc
again, some TABs slipped into the code...
2019-04-30 18:21:13 +02:00
Oliver Schmidt
7b234d4497
Adjusted doc to code.
...
The requirement in question was lifted with 6ead4abf24
back in 2011.
2019-04-30 17:55:26 +02:00
IrgendwerA8
37f80534c9
Fix for #830 supplied by UvB
2019-04-25 15:19:53 +02:00
Christian Groessler
14d8f3d81d
cfg/atari-xex.cfg: fix typo in comment
2019-04-24 13:17:11 +02:00
Greg King
214c90f957
Made the code that logs indirect-goto referals be a little more efficient.
2019-04-23 19:12:02 -04:00
Lauri Kasanen
55ce618bf2
Document computed gotos
2019-04-21 12:46:03 -04:00
Lauri Kasanen
f328481a48
Replace hard returns with an "else", add an error for non-IDENT tokens, and test for static
2019-04-21 12:46:03 -04:00
Lauri Kasanen
60d8559372
Return after errors, move left bracket consumption down
2019-04-21 12:46:03 -04:00
Lauri Kasanen
654d972288
C90 param, void
2019-04-21 12:46:03 -04:00
Lauri Kasanen
a9cbb5305c
Fix missing spaces
2019-04-21 12:46:03 -04:00
Lauri Kasanen
304473d857
Adjustment for '816
2019-04-21 12:46:03 -04:00
Lauri Kasanen
3b3b16ee9c
Add support for computed gotos
...
This is a GCC extension that allows C to use fast jump tables.
2019-04-21 12:46:03 -04:00
Lauri Kasanen
c2220f3c30
Add a goto indirect jump from pointer
2019-04-21 12:46:03 -04:00
Lauri Kasanen
37f00e6644
Export the label symbol table
2019-04-21 12:46:03 -04:00
Lauri Kasanen
2af76c7cff
Only for jumps, the lib uses named asm labels in branches
2019-04-21 12:46:03 -04:00
Lauri Kasanen
c3d809b129
Fix jmp-callax.c bug
2019-04-21 12:46:03 -04:00
Lauri Kasanen
f29220be1b
Add test showing optimizer failure, OptUnusedLoads removes needed loads
2019-04-21 12:46:03 -04:00
Oliver Schmidt
ac0b452834
Added '_' prefix to sin and cos.
...
Users complained that otherwise the names might clash with their functions.
2019-04-13 11:25:54 +02:00
Christian Groessler
cb7882a202
atari5200.sgml: small fix for last change
2019-04-13 11:07:06 +02:00
Christian Groessler
03311e7268
atari5200: update docs for recent conio changes
...
also renames libsrc/atari5200/extra/conioscreen_20x12.s to
libsrc/atari5200/extra/conioscreen-20x12.s to be in line with
other optional link modules
2019-04-13 11:07:06 +02:00
Christian Groessler
78daf84f12
atari5200: name conio constructor 'initconio'
2019-04-12 12:49:38 +02:00
Christian Groessler
34942a2da5
atari5200: testcode/lib/atari5200/hello.c: adapt to changed COLOR_xxx defines
2019-04-12 12:49:38 +02:00
Christian Groessler
8590de5cf3
Revert "atari5200: fix COLOR defines' names"
...
This reverts commit 87e653f47b
.
2019-04-12 12:49:38 +02:00
Christian Groessler
e1e6bec9ff
atari5200: changes from discussions in #870
...
- rename screen_setup to initconio
- use Greg King's version of bgcolor()
2019-04-12 12:49:38 +02:00
Christian Groessler
d7eecb57f8
atari5200: get rid of conio_colors table
...
use system color variables instead; improve testcode/lib/atari5200/hello.c
test program
2019-04-12 12:49:38 +02:00
Christian Groessler
dfb7c0f24d
atari5200: fix COLOR defines' names
...
COLOR_RED -> COLOR_LIGHTRED and COLOR_GREEN -> COLOR_LIGHTGREEN
2019-04-12 12:49:38 +02:00
Christian Groessler
be6bba66a9
atari5200: conio now uses just four colors altogether
...
See discussion in PR #870 .
2019-04-12 12:49:38 +02:00
Christian Groessler
79b9a8d2df
atari5200: add screensize function
2019-04-12 12:49:38 +02:00
Christian Groessler
db01036e2e
atari5200: add alternative conio screen (20x12 resolution)
2019-04-12 12:49:38 +02:00
Christian Groessler
ec5e38617a
atari5200: implement bgcolor() and textcolor()
...
Includes some other small fixes/cleanups.
2019-04-12 12:49:38 +02:00
Christian Groessler
edd596b2a4
atari: split color.s into bordercolor.s and bgcolor.s
2019-04-12 12:49:38 +02:00
Oliver Schmidt
0576fe51e7
Minor clarification.
2019-04-04 17:13:09 +02:00
Oliver Schmidt
5daed49e97
Fixed typo.
2019-04-04 16:38:40 +02:00
Oliver Schmidt
fc6a63a15e
Avoid unintended file "shadowing".
...
3d8c3a4948
caused an unintended "shadowing" of files in /libsrc/runtime by files in /libsrc/common. Therefore the files in question are renamed (again) in /libsrc/common to make the files in /libsrc/runtime "visible" again.
2019-04-04 09:16:59 +02:00
IrgendwerA8
dcbe03f23b
Adjusted to the current multiline-comment style.
2019-04-02 16:34:22 +02:00
IrgendwerA8
1530020a1f
Fix for multiplication optimization issue #367
2019-04-02 16:34:22 +02:00
Steven Hugg
ae261e91f2
Code cleanup per code review
2019-03-31 22:33:22 -04:00
Steven Hugg
9faaa0689b
cleaned up code per review
2019-03-31 22:33:22 -04:00
Steven Hugg
a71f764c33
fixed optimization bug where array index is 16-bit, e.g. arr16[i & 0x7f7f]
2019-03-31 22:33:22 -04:00
Steven Hugg
dca99d59e5
rearranged order of new optimizations to better handle -Oi flag
2019-03-31 22:33:22 -04:00
Steven Hugg
5d274e4bc5
added optimization for indexed 16-bit array load of form (array[i & 0x7f])
2019-03-31 22:33:22 -04:00
Steven Hugg
ffc118cd94
added optimization for indexed pointer load of a constant, e.g.: y = ((unsigned char*)0x100)[i]
2019-03-31 22:33:22 -04:00
Olli Savia
f95481fabf
Fixed gcc compiler warning ( #867 )
...
* Changed spelling FALLTHRU -> FALLTHROUGH
2019-03-30 16:09:16 -04:00
greg-king5
60e40c854c
Removed a "cc65_" prefix.
...
This change is needed because of commit 3d8c3a4948
.
2019-03-30 11:06:09 -04:00
IrgendwerA8
df80d071e8
Added space after function name.
2019-03-29 22:53:04 +01:00
IrgendwerA8
3d8c3a4948
Code review adaptations, removed "cc65_" prefix from functions
2019-03-29 22:53:04 +01:00
IrgendwerA8
435f417c64
Moved documentation to funcref.
2019-03-29 22:53:04 +01:00
IrgendwerA8
db8bd84a82
Changes due to code review.
2019-03-29 22:53:04 +01:00
IrgendwerA8
399250a105
Optimized mul20 & mul40 and extracted to new library.
2019-03-29 22:53:04 +01:00
greg-king5
fbf302e6cd
Merge pull request #863 from Compyx/master
...
Removed trailing spaces from CBM-related asm files.
2019-03-24 21:36:41 -04:00
Bas Wassink
9e0ab14cfe
Restore src/cc65/locals.c:278 to its orignal state
2019-03-24 23:05:11 +01:00
Bas Wassink
41e449b306
Forgot a cast, sorry
2019-03-24 21:41:00 +01:00
Bas Wassink
56c96e8ab0
Revert accidentally committed changes for a future PR
2019-03-24 21:15:34 +01:00
Bas Wassink
96d0b00a76
Merge https://github.com/cc65/cc65
...
Pull to fix extra changes in PR #863
2019-03-24 20:49:53 +01:00
Greg King
2cd4b5109a
Fixed LinuxDoc Tools issues in some verbatim blocks in the Atari document.
2019-03-24 14:39:04 -04:00
Daniel Serpell
f94a125f30
Adds address after JVB instruction in the display list example.
2019-03-23 18:38:26 +01:00
Bas Wassink
0614078198
Fix 32/64-bit int/pointer casts
2019-03-23 01:14:04 +01:00
Bas Wassink
2eac69a943
Remove trailings spaces from CBM-related asm files
2019-03-22 22:54:05 +01:00
IrgendwerA8
5c8854fff6
Changed enum for FP-register index.
2019-03-16 20:37:42 +01:00
IrgendwerA8
bcbcbbd9c0
AtariOS: Fix for FPIDX enum
2019-03-13 08:19:04 +01:00
Greg King
2617e9a3c0
Added a C header that translates from the source file's encoding to PetSCII.
...
It can be used to undo what "cbm_screen_charmap.h" does. Together, those headers let you mix screen-code and PetSCII string and character literals in a C source file's Assembly output.
2019-03-11 09:00:49 -04:00
Christian Groessler
fc7e79d2cc
Merge remote-tracking branch 'irgendwer/AtariOS_Structure' into master
2019-03-11 12:23:09 +01:00
IrgendwerA8
203f4c80d4
Code review changes and improved formatting.
2019-03-09 21:40:57 +01:00
IrgendwerA8
1359ad793d
Atari OS: Reestablished DCB structure, fixed union span and timer2.
2019-03-08 11:48:37 +01:00
Greg King
2362db22f7
Renamed a C header.
...
All of Commodore's 8-bit computer models use the same screen-codes.
2019-03-05 21:20:05 -05:00
Greg King
7e298e347d
Fixed the CBM screen-code C header.
...
Changed the number literals from Assembly format to C format. Swapped the (upper-/lower-case) mappings of letters because the header converts from ASCII, not PetSCII.
2019-03-05 21:20:05 -05:00
Christian Groessler
3627452249
Merge pull request #852 from IrgendwerA8/AtariOS_Structure
...
Access Atari OS variables by structure. seems good. Thanks!
2019-03-05 22:21:15 +01:00
IrgendwerA8
3d9ac21b80
Added missing pointer star for Basic structure.
2019-03-05 00:26:14 +01:00
IrgendwerA8
e1a4910580
Code review changes and build fix.
2019-03-04 23:32:56 +01:00
Greg King
13fa31a3bc
Refactorred a CBM screen-code macro, so that we can use it as an operand.
...
For example: lda #scrbyte 'B'
2019-03-04 10:23:47 -05:00
IrgendwerA8
8ead5f2f5a
Access Atari OS variables by structure.
2019-03-03 22:50:57 +01:00
IrgendwerA8
cc6559c3f6
Minor math optimizations
2019-02-28 19:48:29 +01:00
Oliver Schmidt
0ea78be056
Merge pull request #849 from polluks/patch-4
...
Update cbm510.sgml
2019-02-28 08:35:35 +01:00
Stefan
01489f9ffc
Update cbm510.sgml
...
There is just one CIA but it's not called "CIA1"...
2019-02-26 18:38:05 +01:00
Christian Groessler
de519b969a
Merge remote-tracking branch 'dmsc/xex-c' into upstream-master
2019-02-23 01:14:54 +01:00
Daniel Serpell
824e30934e
Change XEX configuration file names to better reflect original names.
...
Also, updates documentation with the new files.
2019-02-21 19:00:17 -03:00
Daniel Serpell
0e33a653d7
Add sample linker configurations for Atari binary output in C.
2019-02-21 19:00:17 -03:00
Daniel Serpell
258ba05660
Separate header and trailers of Atari system_check chunk.
...
This allows to omit the headers and trailers if needed.
2019-02-21 19:00:17 -03:00
Daniel Serpell
61463e1a70
Don't write INITAD if the memory area is empty.
2019-02-21 19:00:17 -03:00
Daniel Serpell
b03ae76b54
Add support for INITAD to the Atari binary format.
2019-02-21 19:00:03 -03:00
Christian Groessler
b6f22d332b
un-remove TABs in doc/using-make.sgml
2019-02-21 13:45:51 +01:00
Bill Kendrick
417ef278a3
Move Atari-specific PIA reg vals to atari.h
...
PIA is also used in the Commodore PET, and for different
purposes (see http://www.6502.org/users/andre/petindex/progmod.html#pia1 ),
so extracted Atari-specific register #defines and placed them in atari.h.
2019-02-17 23:23:30 +01:00
Christian Groessler
7445550831
remote TABs in doc/ and test/
2019-02-12 22:50:49 +01:00
Oliver Schmidt
b9ea77b185
Merge pull request #834 from jedeoric/master
...
Update telestrat target doc, add tgi_clear support for telestrat target, stratsed & telemon 2.4 vars added
2019-02-12 17:51:24 +01:00
Oliver Schmidt
10a31d006b
Add translation from PETSCII to screen codes.
2019-02-12 17:47:17 +01:00
Stefan
08ec9fc392
Fixed 65C02 timing again.
2019-02-12 11:15:47 -05:00
Oliver Schmidt
3915323528
Merge pull request #843 from polluks/patch-4
...
Fixed 65C02 timing.
2019-02-07 12:29:00 +01:00
Stefan
50fd96bbab
Fixed 65C02 timing.
2019-02-07 12:19:49 +01:00
Christian Groessler
58484449b4
remove TABs
2019-02-05 23:27:52 +01:00
jede
a4a968dfd1
Fix typo
2019-02-04 20:42:03 +01:00
Daniel Serpell
2190703a57
Adds test code for the Atari (xex) linker file format.
2019-02-03 18:23:11 -03:00
Daniel Serpell
e767c8990d
Adds documentation and a sample config file for the ATARI format.
2019-02-03 18:16:46 -03:00
Daniel Serpell
2aa5b4cafe
Rewrites ATARI EXE segment writing to optimally write segment sizes.
...
We now expand segments as needed to write a minimal set of headers.
2019-02-03 18:13:35 -03:00
Daniel Serpell
4e51fcbdd4
Don't support overwrite segments.
...
This simplifies the memory area size calculations.
2019-02-03 18:11:53 -03:00
Daniel Serpell
63d9b492b7
Only write full ATARI XEX header in the first chunk.
2019-02-03 18:09:51 -03:00
Daniel Serpell
8e3fe2ef86
Remove unused function.
2019-02-03 18:05:15 -03:00
Daniel Serpell
0e947d594f
Add support for Atari XEX file format to LD65
2019-02-03 18:04:46 -03:00
Greg King
c37582bb00
Fixed a note in "ca65.sgml".
...
String escapes are converted to a target platform's encoding.
2019-01-30 12:18:32 -05:00
jede
620359fa2e
add more clearly what rom stratoric contains
2019-01-30 13:28:50 +01:00
Christian Groessler
055c294ac0
Use Timer2 for mouse polling.
...
This follows a suggestion by Sijmen Schouten in issue #818 .
Platoterm64 now works with mouse at 1200 baud.
Bump MOUSE_API_VERSION in asminc/mouse-kernel.inc.
Fix typo in testcode/lib/mouse-test.c.
2019-01-29 22:00:55 +01:00
jede
bade791570
fix uppercase
2019-01-29 20:46:16 +01:00
jede
a3d876b737
fix comma in telestrat.sgml
2019-01-26 12:01:48 +01:00
jede
dfa91106fd
fix doc/telestrat.sgml
2019-01-26 12:00:13 +01:00
jede
b360a128f9
fix uppercase command
2019-01-26 11:39:24 +01:00
jedeoric
63e64f801a
Merge branch 'master' into master
2019-01-25 10:15:21 +01:00
jede
2848ddf8ab
Telemon variables added
2019-01-24 23:07:49 +01:00
Piotr Fusik
7a034f505b
Comment the ATASCII to screen code conversion.
2019-01-23 19:02:26 +01:00
Piotr Fusik
1781a5cfe7
Optimize the conversions from Atari ASCII to screen codes.
2019-01-23 00:05:31 +01:00
Oliver Schmidt
cd72f816d3
Merge pull request #829 from inexorabletash/string-escapes
...
ca65: Add string_escapes feature. Resolves #535
2019-01-20 21:58:06 +01:00
Bill Kendrick
9a83284b7b
Cleaned up _pia.h register stuff a bit
...
Most documentation say that most of the bits are normally set to 1 or 0,
so just mentioning that in the comments.
A.N.A.L.O.G. issue 59 (April 1988) "Bits & Pieces" column, "Atari Zucchini"
(https://www.atarimagazines.com/analog/issue59/bits_pieces.php ) implies
that they are used for specific things, but it's not clear enough to be
useful (or specifically states "Too complex and not pertinent").
This is probably sufficient for most purposes; if any PIA / PACTL/PBCTL
experts pop up, they can tell us exactly how those 4 bits can be utilized.
2019-01-17 23:53:53 -08:00
Bill Kendrick
af8eb57f63
Atari colors into _gtia.h; NMIRES/NMIST as union
...
Use a C "union" to give both read (NMIST) and write (NMIRES) labels
to their shared register in ANTIC. (h/t @groessler).
Consolodate duplicated color definitions (HUE_..., COLOR_... and TGI_COLOR_...;
and the "_gtia_mkcolor()" macro), found in both "atari.h" and "atari5200.h",
moving it to "_gtia.h", which they both share (and which makes the most sense).
2019-01-17 22:44:25 -08:00
Bill Kendrick
32525e0ddb
atari.h: Shadow registers for hardware registers
2019-01-17 00:23:04 -08:00
Bill Kendrick
93a13315de
Comment adjustments; removed surperfluous keycodes
...
Cleaned up comments in Atari 8-bit headers.
Internal keycodes (POKEY's KBCODE) were already #defined in atari.h,
so didn't need a whole new set in _pokey.h.
2019-01-16 23:29:41 -08:00
Bill Kendrick
4b61c54092
Relocate register values outside structs, + more
...
Relocated register #define'd values outside of the structs,
improved comment format, expanded & corrected some things.
h/t Trevin Beattie (https://user.xmission.com/~trevin/ ) for the PIA
register descriptions.
2019-01-15 01:24:12 -08:00
Bill Kendrick
d52af69d69
Adjustments per most feedback on cc65 PR 831
...
(I appreciate the feedback!)
2019-01-14 20:47:05 -08:00
Bill Kendrick
5ee3c88017
Some PIA register #defines
...
Some register #defines for PIA.
(Some may be too Atari-centric -- I know PIA chip was used by PET &
perhaps other platforms supported by cc65. If so, perhaps we can
define them elsewhere. Not sure whether they'd be the same for 5200;
I admit I know zilch about that system except that it's _more or less_
an Atari 400)
2019-01-13 21:31:18 -08:00
Bill Kendrick
3783010091
POKEY: Add register #defines & internal kybd codes
...
Add #defines for certain registers' values.
Also add #defines for internal keyboard codes (unrelated to ATASCII;
e.g. [Q] = 47, [W] = 46, [Shift] adds 64, etc), as seen in KBCODE.
2019-01-13 20:32:55 -08:00
Bill Kendrick
d371d1bd51
Note about hues varying depending on environment
...
There aren't really standard color names (e.g., Compute!'s Mapping the Atari and First Book of Atari Graphics have different names), and exact colors shown depend on the system & device, anyway. Added a note.
2019-01-13 01:59:41 -08:00
Bill Kendrick
10f44c18a3
Tweaks to description of ANTIC chip in _antic.h
...
Tweak to comments at the top
2019-01-13 01:58:10 -08:00
Bill Kendrick
95b791bf0e
Added #defines for GTIA register values
2019-01-13 01:57:21 -08:00
Bill Kendrick
ab31b3edfe
Add more register #defines to ANTIC header file
...
* DMACTL - playfield size, DMA access, PMG resolution
* CHACTL - inverted text, inverse effects
* NMIEN
Also, added #define equivalents for Display List mode line instructions
based on Atari 8-bit OS (aka Atari BASIC "GRAPHICS" command) values
(e.g., "DL_GRAPHICS0" == "DL_CHR40x8x1").
Added some more documentation in the comments.
Added macros with assembly language for the start/end of Display List
Interrupt (DLI) functions.
2019-01-13 00:31:31 -08:00
Greg King
a6b04f6e97
Changed most "backticks" (grave accents) into apostrophes.
...
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00
Joshua Bell
c8bf652982
ca65: Add string_escapes feature. Resolves #535
2019-01-05 11:29:54 -08:00
Greg King
5ac11b5e88
Added an error message, in case there's a typo in the definitions of long command-line options.
2019-01-04 03:35:49 -05:00
Greg King
cd6e167982
Fixed a duplicate-label test.
...
Don't call strcmp() if either argument is NULL.
2019-01-04 02:29:17 -05:00
Greg King
2959ade6e6
Added, to Plus4 and GEOS linker configure files, the ability to set the start and end addresses of the program region.
2019-01-03 10:49:56 -05:00
Oliver Schmidt
a4591138ec
Merge pull request #828 from Marrin/marrin-docfix
...
Fixed documented return type.
2019-01-02 21:17:55 +01:00
Marrin
003d6542e4
Fixed documented return type.
2019-01-02 12:06:01 +01:00
Scott Hutter
59ab140dc9
fix for err blank line removal
2018-12-30 18:57:46 +01:00
Scott Hutter
fa27c9dfc6
Moved contents of SetNewMode doc
2018-12-30 18:57:46 +01:00
Scott Hutter
94e623165d
removed fastcall from SetNewMode
2018-12-30 18:57:46 +01:00
Scott Hutter
74f622d9c6
corrected text formatting
2018-12-30 18:57:46 +01:00
Scott Hutter
a6725edb15
moved to better folder location
2018-12-30 18:57:46 +01:00
Scott Hutter
9160b8ddc2
Issue 814
2018-12-30 18:57:46 +01:00
Scott Hutter
0012b6d811
SetNewMode() documentation = issue #814
2018-12-30 18:57:46 +01:00
Scott Hutter
2f6f468aad
Added SetNewMode() to geoslib - #814
2018-12-30 18:57:46 +01:00
Paul Gardner-Stephen
1b46dfe820
change reference to $0200FF to $0200xx
2018-12-30 03:49:26 -05:00
Paul Gardner-Stephen
576d64da38
remove redundant line
2018-12-30 03:49:26 -05:00
Paul Gardner-Stephen
837b9b3c2c
use pre-existing ZP storage. Make 32-bit pointer value loading more self-evident
2018-12-30 03:49:26 -05:00
Paul Gardner-Stephen
19ca1f6b48
add support for detecting 45GS02
2018-12-30 03:49:26 -05:00
Marc Rintsch
80a43d732d
Added missing external declaration of c64_65816_emd.
2018-12-21 09:51:27 +01:00
jede
d707ef4c72
Now tgi_clear() works
2018-12-10 21:48:09 +01:00
Oliver Schmidt
180bb0823a
Fixed typo.
2018-12-03 12:52:00 +01:00
Olli Savia
b7a3abad62
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
b6529225e9
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
b269b3f5b2
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
b9054ec9a7
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
4304f11549
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
7147e780e6
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
5901ea80a4
Added SER_ prefix. Whitespace cleanup
2018-11-26 22:14:31 +01:00
Olli Savia
ad0b0982d0
Added SER_ prefix
2018-11-26 22:14:31 +01:00
Olli Savia
7b4807a8f7
Changed prefix SWL_ to SER_
2018-11-26 22:14:31 +01:00
Olli Savia
aeff90ca90
Updated to use cbm_kernal.inc. Whitespace cleanups
2018-11-26 22:14:31 +01:00
Olli Savia
e69bc65cf1
Moved kernal entries to cbm_kernal.inc
2018-11-26 22:14:31 +01:00
Oliver Schmidt
01857cd4de
Updated Visual Studio solution files to VS 2017.
2018-11-24 14:10:58 +01:00
Christian Groessler
462d8096c0
atari.sgml: use consistent naming for realtime clock.
2018-11-16 16:13:43 +01:00
Christian Groessler
9405323815
Some documentation fixes
...
- gamate.sgml: remove empty section "Hardware access"
- telestrat.sgml: remove wrong "<descrip>" tags
2018-11-16 16:13:43 +01:00
Christian Groessler
b8bd075e5e
atari.sgml: fix typo
2018-11-16 16:13:43 +01:00
Christian Groessler
bc6127ffef
atari.sgml: Add documentation for Atari clock_... functions implementation.
2018-11-16 16:13:43 +01:00
Oliver Schmidt
ee6b2edd72
Replaced systime() with clock_gettime().
2018-11-16 12:54:26 +01:00
Oliver Schmidt
3ffefb0f0d
Fixed reference to clock_settime().
2018-11-16 12:45:45 +01:00
Oliver Schmidt
582aa41f2a
Fixed typo.
2018-11-14 18:02:56 +01:00
Oliver Schmidt
4b42d6ad54
Added target docs on the clock_... functions.
2018-11-13 18:33:51 +01:00
Oliver Schmidt
83768a1e8a
Fixed two typos.
2018-11-13 18:33:51 +01:00
IrgendwerA8
d0053422e9
Code review aftermath 2: Put defines into parentheses
2018-11-12 14:36:40 +01:00
IrgendwerA8
61a9871c21
Adaptations due to code review.
2018-11-12 14:36:40 +01:00
IrgendwerA8
f86ebbd258
Support for self explanatory KBCODE values
2018-11-12 14:36:40 +01:00
Olli Savia
8b4179d104
Added VIC control register names
2018-11-12 14:14:16 +01:00
jede
b0495cb44a
Update doc (how telestrat works), tgi_outtext doc added
2018-11-10 14:54:43 +01:00
jede
2fb4b568e4
Fix duplicated variables
2018-11-10 12:31:15 +01:00
jede
b80e11febc
Stratsed vectors added
2018-11-10 12:31:15 +01:00
jede
a6b0b9d850
Some variables from TELEMON 2.4 added
2018-11-10 12:31:15 +01:00
jede
f558d299c4
Fix duplicated variables
2018-11-10 00:54:58 +01:00
jede
be6d155b69
Stratsed vectors added
2018-11-10 00:47:09 +01:00
jede
be2a425eb1
Some variables from TELEMON 2.4 added
2018-11-10 00:10:37 +01:00
IrgendwerA8
923fa8fc93
Saved 2 bytes and fixed error in case of negative result.
2018-11-09 17:27:35 -05:00
Greg King
2acfa5e78f
Made div-test.c use doesclrscrafterexit().
...
It no longer waits for a key tap if it doesn't need to do that.
Also, normalized the source code formatting.
2018-11-09 17:11:03 -05:00
Oliver Schmidt
8fd1db4d78
Added basic docs on the clock_... functions.
2018-11-08 20:43:46 +01:00
Oliver Schmidt
679d0468b9
Updated URLs.
2018-11-06 11:57:57 +01:00
Oliver Schmidt
40f42e977f
Adjusted comments to match actual prototypes.
2018-11-06 11:13:23 +01:00
jede
f5534a5432
Add definitions in telestrat.inc (TELEMON 2.4)
2018-11-02 09:57:18 +01:00
Greg King
c2568d804d
Fixed the Plus4's serial driver's ACIA address.
2018-10-23 19:52:23 -04:00
Greg King
554448a1f1
.byt "" emits no data; avoid a ca65 crash.
...
Fixes #775 on GitHub.
2018-10-20 13:41:52 -04:00
jede
385260e453
Fix comments and TELEMON uppercase
2018-10-19 23:43:40 +02:00
jede
a22b10e72b
Correct grab default value
2018-10-19 23:43:40 +02:00
jede
af7b271f55
update ld65.sgml with telestrat target
2018-10-19 23:43:40 +02:00
jede
5585396532
By default, we get the memory reserved for hires mode
2018-10-19 23:43:40 +02:00
jede
6a18ad5fbf
Clean wherey.s
2018-10-19 23:43:40 +02:00
jede
ff182f9498
Cleaning telestrat.cfg (no need to have bashead segment). Some primitives added
2018-10-19 23:43:40 +02:00
jede
ee7514fea2
Remove BASHEAD segment which is not useful
2018-10-19 23:43:40 +02:00
Evgeny Vrublevsky
f73aa2af71
'--no-std-lib' was renamed to '--no-target-lib'
2018-10-19 10:57:10 +02:00
Evgeny Vrublevsky
d4088f9eee
Don't output a warning about alignment when section address is defined by START or OFFSET and fits required alignment requirements
2018-10-18 15:37:14 +02:00
Oliver Schmidt
96196f00e9
Adjusted library name.
2018-10-18 13:22:26 +02:00
Evgeny Vrublevsky
8084702a58
Renamed to '--no-std-lib'
2018-10-18 13:08:56 +02:00
Evgeny Vrublevsky
23b5cc870e
Renamed to '--no-crt-lib'
2018-10-18 13:08:56 +02:00
Evgeny Vrublevsky
2a9bb0d8de
CL65: --no-rtl option for disabling default runtime library
2018-10-18 13:08:56 +02:00
Brad Smith
16aec54276
ca65.sgml fails to document z: a: f: address size override prefixes.
2018-10-18 08:12:55 +02:00
laubzega
5fa79be997
Post-review tweaks.
2018-10-16 09:55:02 +02:00
laubzega
7d9485f6bc
Typo
2018-10-16 09:55:02 +02:00
laubzega
cf7f3abadd
Even more optimization, cleanup, bugfix, comments.
2018-10-16 09:55:02 +02:00
laubzega
d3665b263e
Stack adjustment code optimizations.
2018-10-16 09:55:02 +02:00
laubzega
249248ccc8
Formatting tweaks.
2018-10-16 09:45:30 +02:00
laubzega
6d8c315cdb
Testcase added.
2018-10-16 09:45:30 +02:00
laubzega
8eb9f4a8aa
Fix for issue #735
2018-10-16 09:45:30 +02:00
Greg King
03e43d1fbf
Changed a comment and an error message into more specific text.
2018-10-08 20:39:46 -04:00
laubzega
92defb7a2b
Fix crash due to mistaken symbol identity.
2018-10-08 16:27:00 +02:00
greg-king5
4a38b92a4b
Merged pull request #771 from DankRank/master.
...
da65: properly scan empty strings in info file.
2018-10-08 01:24:04 -04:00
Egor
0149de4da7
da65: properly scan empty strings
...
Previously, doing something like `LABEL { NAME ""; ADDR $1000; };` would
result in $1000 being labeled as NAME: instead of being unnamed.
2018-10-06 21:55:42 +03:00
Greg King
f11ae87ada
Always put goto stack-adjustments in the RODATA segment.
2018-10-02 23:19:38 -04:00
Oliver Schmidt
88d1d20cd0
Minor style adjustment.
2018-10-02 18:53:01 +02:00
laubzega
2bb4abda23
Testcase .ref updated for new warning style.
2018-10-02 18:49:53 +02:00
laubzega
02a914625b
Formatting fixes.
2018-10-02 18:49:53 +02:00
laubzega
2ec21c5b7f
Fix non-goto jumps (i.e. inline assembly).
2018-10-02 18:49:53 +02:00
laubzega
8845e71161
Another warning.
2018-10-02 18:49:53 +02:00
laubzega
6ad79067ac
Fix a warning.
2018-10-02 18:49:53 +02:00
laubzega
c797b3b376
Proper warnings for "risky" gotos.
2018-10-02 18:49:53 +02:00
laubzega
c835f49913
Clean-up
2018-10-02 18:49:53 +02:00
laubzega
4b78d40e97
Added testcase for between-blocks gotos.
...
Deleted old testcase.
2018-10-02 18:49:53 +02:00
laubzega
2ac2ffcd43
Adjust SP on gotos between blocks with local variables.
2018-10-02 18:49:53 +02:00
laubzega
a48bbc4be0
Switched from warning to error. Tightened the testcase.
2018-10-02 18:49:53 +02:00
Laubzega
7a5acaf39a
Missed the comment.
2018-10-02 18:49:53 +02:00
Laubzega
403783b649
Add a testcase for https://github.com/cc65/cc65/pull/757
2018-10-02 18:49:53 +02:00
Laubzega
a4b6bb63c0
Minor changes after review.
2018-10-02 18:49:53 +02:00
Laubzega
f5b3c5351e
Fix for variableless main().
2018-10-02 18:49:53 +02:00
Laubzega
581c46c213
Add checks for risky goto statements.
2018-10-02 18:49:53 +02:00
Christian Groessler
df3c43bede
Atari: implement clock_getres()
2018-09-28 09:47:20 +02:00
Christian Groessler
6dc7309e50
Atari: add support for BW-DOS. Initially contributed by Daniel Serpell.
2018-09-27 17:37:59 +02:00
Christian Groessler
fe7845b5f0
clock-test.c: remove "static" optimization
2018-09-25 21:11:05 +02:00
Christian Groessler
1203e9e0c4
clock-test.c: do doesclrscrafterexit() handling the canonical way.
2018-09-25 21:11:05 +02:00
Christian Groessler
b1ca01f720
asminc/atari.inc: remove TABs which slipped in
2018-09-25 21:11:05 +02:00
Christian Groessler
3a2d68fd1f
Add testcode/lib/clock-test.c.
...
A test program for the "clock" functions.
2018-09-25 21:11:05 +02:00
Christian Groessler
9c7cccf3e5
Atari: clock_gettime() and clock_settime() implementations
...
They are using SpartaDOS-X interfaces and are therefore only working
in this environment.
2018-09-25 21:11:05 +02:00
Christian Groessler
bfba206d16
asminc/atari.inc: add some SpartaDOS-X defines
2018-09-25 21:11:05 +02:00
Christian Groessler
118bc996fb
libsrc/atari/getdefdev.s: small comment change
2018-09-20 23:58:23 +02:00
Oliver Schmidt
6cce110345
Adjusted URL to use https (and removed obsolete dates).
2018-09-20 12:45:15 +02:00
Oliver Schmidt
b6e4add9b5
Switch to https links.
...
Most targets redirected to https anyway.
2018-09-20 12:21:58 +02:00
Oliver Schmidt
aa219d1ec7
The doc now lives in the 'master' branch of the 'doc' project.
2018-09-18 23:39:11 +02:00
Christian Groessler
d52d986aca
libsrc/atari/getdefdev.s: small optimization and fix a typo
2018-09-14 16:54:20 +02:00
greg-king5
d8ad89c4b4
Merge pull request #740 from laubzega/master
...
Add segment type "overwrite".
2018-09-14 00:59:47 -04:00
Christian Groessler
4691974466
Atari: Make a good "default device" on AtariDOS (2.0 and 2.5) and MyDOS.
...
The default device will be the one the program was loaded from instead of
always D1:.
2018-09-13 22:33:54 +02:00
Laubzega
3bace79604
Fixed reference link.
2018-09-12 23:51:38 -07:00
Laubzega
3432788763
Slight fixes to the documentation.
2018-09-11 22:14:45 -07:00
Christian Groessler
08d164a811
fix comment in last change
2018-09-12 01:20:12 +02:00
Christian Groessler
e4e3dbf756
atarixl: check at startup whether RAM beneath the ROM is in use
...
If detected, the program refuses to run, preventing a crash.
The check only works with SpartaDOS. I don't have an overview which
DOSes potentially use the RAM under the ROM. Or which other installed
programs might use it.
No additional runtime memory space is consumed, since the change
is in the "system check" load chunk which gets replaced by the
user program during loading.
2018-09-12 01:05:52 +02:00
Laubzega
1646acb26f
First cut of "overwrite" segment docs.
2018-09-08 19:20:01 -07:00
Laubzega
d293d766ef
New segment type renamed to "overwrite".
2018-09-08 19:18:41 -07:00
Oliver Schmidt
c7a40db1b7
Added hint random number generator hint.
2018-09-08 23:59:39 +02:00
Oliver Schmidt
a9a102b0e8
Protect random counter against ProDOS.
...
Although documented nowhere (!!!) ProDOS trashes the random counter locations $4E/$4F. Is discovered this because my TCP connections didn't have random local ports.
It's a really funny coincidence that David Finnigan discovered only 3 years ago the very same issue because of the very same reason: https://groups.google.com/forum/#!topic/comp.sys.apple2.programmer/1ciep_Oetvo
2018-09-08 23:29:59 +02:00
Oliver Schmidt
cddc4da3bb
Just removed some trailing spaces.
2018-09-08 23:14:54 +02:00
Oliver Schmidt
73faf60fe0
Support randomize().
...
In order to have randomize() work as expected (and the Apple II random number generation in general) it is necessary to update the random counter during keypress wait just like the ROM function does.
2018-09-08 18:45:20 +02:00
Christian Groessler
b6ccd4d5d4
Atari: RealDOS adaptations
...
RealDOS is a SpartaDOS clone. Handle it the same way as SpartaDOS.
2018-09-06 15:55:07 +02:00
Christian Groessler
e9b8f5d814
Atari: Add detection of RealDOS ( http://www.realdos.net/realdos.html ).
2018-09-06 12:08:50 +02:00
Laubzega
c7bb27bac9
Rename more stuff from "overlay" to "replace".
2018-09-06 00:18:39 -07:00
Christian Groessler
af50b5e516
Atari: atarixl config files already had a LOWBSS segment.
2018-09-05 11:28:15 +02:00
Christian Groessler
a104c289da
Atari: atari-cart.cfg: There's a simpler way to discard the contents of the LOWBSS segment.
...
Thanks to Greg King for the hint.
2018-09-05 11:28:15 +02:00
Christian Groessler
1cc4fa9356
Atari: fix interrupt handling if extended memory is banked in
...
Extendend memory is mapped over the main memory in the 0x4000..0x7FFF
area. Many DOSes disable interrupts while extended memory is banked in,
but not all (e.g. SpartaDOS-X).
This change modifies the initial interrupt handler to map in main memory
before chaining to the "worker" handlers.
Since the initial interrupt handler uses a data segment to store the
trampoline to chain to the original handler, introduce a new "LOWBSS"
segment to hold this trampoline. Otherwise the trampoline may end up
inside the 0x4000..0x7FFF area.
Add a link time warning if "LOWCODE" segment lays within the extended
memory window.
2018-09-05 11:28:15 +02:00
Christian Groessler
d199ca1460
Atari, Atari5200: disable "attract mode" on mouse or joystick input
...
Fixes #736 .
2018-09-05 11:23:12 +02:00
Laubzega
cd9efd53fe
Segment OVERLAY renamed to REPLACE. Bugfix for read-only segments. Formatting.
2018-09-04 00:34:28 -07:00
Oliver Schmidt
70a131e09a
Just a minor comment improvement.
2018-09-02 23:07:26 +02:00
Greg King
39694d0aaa
Fixed bugs; and, improved the efficiency of some pce library functions.
2018-08-30 11:48:46 +02:00
Greg King
959eff34a3
Fixed and improved some pce comments.
2018-08-30 11:48:46 +02:00
Greg King
2cc822b44e
Fixed some mistakes (mostly in the documentation).
2018-08-30 11:48:46 +02:00
Greg King
b5d939c858
Style changes.
2018-08-30 11:48:46 +02:00
Greg King
203200e259
Used I/O mirror locations that avoid (redirected) zero-page accesses.
2018-08-30 11:48:46 +02:00
Greg King
c39d07dd17
Document style clean-up.
2018-08-29 15:43:20 -04:00
Greg King
f2d2f3c193
Moved the NES font into its own object module.
...
It can be replaced by a custom font when a program is built.
2018-08-29 12:13:58 -04:00
greg-king5
a08192b53e
Merge pull request #706 from xlar54/master
...
* tgi driver for c128 VIC-II
* Made the VIC-IIe TGI driver put its bitmap behind the ROMs.
* c128-hi.tgi doc
2018-08-29 10:34:05 -04:00
Laubzega
1b0e2cf783
Fix for multiple overlay segments.
2018-08-25 20:21:12 -07:00
Laubzega
8b584cb89f
Add segment type "overlay".
2018-08-25 10:18:23 -07:00
Christian Groessler
2d4210b309
Atari5200 joystick driver: enable POT input.
...
The "Atari800" emulator doesn't emulate this aspect, therefore the problem
wasn't noticed before.
2018-08-24 17:04:31 +02:00
Greg King
31461aaf02
Made cc65's "Illegal escaped character" diagnostic show which code was escaped.
2018-08-21 08:58:21 -04:00
Stefan
f3ef819b43
Update crt0.s
2018-08-21 12:21:56 +02:00
Stefan
3ae5161636
CMOS optimisation 3rd
...
"The decimal flag D is cleared" [...]
http://shu.emuunlim.com/download/pcedocs/pce_cpu.html
2018-08-21 12:21:56 +02:00
Greg King
a76dcdc419
Removed the compiler's recovery code for illegal escaped characters.
...
It caused the error cascade that it was supposed to prevent.
2018-08-20 17:51:22 -04:00
Stefan
199226d089
Update irq.s
2018-08-20 22:31:08 +02:00
Stefan
e335b50ed1
CMOS optimisation
...
The Lynx CPU always cleared the flag.
2018-08-20 22:30:41 +02:00
Patrick Pelletier
357d94e834
seek test: Test some additional error cases.
2018-08-20 22:24:48 +02:00
Patrick Pelletier
0a7702626f
seek test: remove trailing newline from filename
...
Looks like no one ever tried this? fopen was returning EINVAL because
fgets was leaving a trailing newline at the end of the filename.
(Which is what fgets is documented to do.)
2018-08-20 22:24:48 +02:00
Patrick Pelletier
b37d0a444c
lseek: Return EINVAL if new position is less than 0 or greater than 2^24 - 1.
...
Also, implemented @greg-king5's suggestion to save a byte on error paths.
2018-08-20 22:24:48 +02:00
Patrick Pelletier
59a4ab8778
lseek: Implement additional feedback from PR #723 .
...
* Check CPU_ISET_65SC02 rather than APPLE2ENH.
* Set sreg and sreg+1 to $FF on error, to return -1 as a long.
2018-08-20 22:24:48 +02:00
Patrick Pelletier
8cb930b50e
lseek: use STZ for APPLE2ENH
...
(As suggested in pull request.)
2018-08-20 22:24:48 +02:00
Patrick Pelletier
68a115cacf
Fix ftell() on Apple II to return the correct value.
...
Fixes this issue:
https://github.com/cc65/cc65/issues/722
ftell() returns the value returned by lseek(), and lseek() for the
Apple II wasn't returning a value.
2018-08-20 22:24:48 +02:00
Greg King
9fee605e65
Added more source-code improvements to the conio test program.
...
Also, made the f6/f5 function keys change the border color instead of the background color.
2018-08-20 14:55:39 -04:00
Oliver Schmidt
13790bdbf0
Improved CONIO test in several ways.
...
- Use more consistent source code style.
- Don't presume that CH_F... constants are present.
- Allow to quit the program via 'Enter'.
2018-08-20 00:30:17 +02:00
Oliver Schmidt
1644bcdf03
Implemented line wrap.
...
According to https://github.com/cc65/wiki/wiki/Direct-console-IO it is undefined what happens when the end of the sceen is reached. But it is _not_ undefined what happens when the end of the line is reached. So implement the usual thing - which was easy enough to do after all.
2018-08-20 00:30:17 +02:00
Oliver Schmidt
f8c6c58373
Made Apple II CONIO more flexible.
...
Originally the Apple II had a 64 char set and used the upper two bits to control inverse and blinking. The Apple //e brought then an alternate char set without blinking but more individual chars. However, it does _not_ contain 128 chars and use the upper bit to control inverse as one would assume. Rather it contains more than 128 chars - the MouseText chars. And because Apple wanted to provide as much backward compatibility as possible with the original char set, the alternate char set has a rather weird layout for chars > 128 with the inverse lowercase chars _not_ at (normal lowercase char + 128).
So far the Apple II CONIO implementation mapped chars 128-255 to chars 0-127 (with the exception of \r and \n). It made use of alternate chars > 128 transparently for the user via reverse(1). The user didn't have direct access to the MouseText chars, they were only used interally for things like chline() and cvline().
Now the mapping of chars 128-255 to 0-127 is removed. Using chars > 128 gives the user direct access to the "raw" alternate chars > 128. This especially give the use direct access to the MouseText chars. But this clashes with the exsisting (and still desirable) revers(1) logic. Combining reverse(1) with chars > 128 just doesn't result in anything usable!
What motivated this change? When I worked on the VT100 line drawing support for Telnet65 on the Apple //e (not using CONIO at all) I finally understood how MouseText is intended to be used to draw arbitrary grids with just three chars: A special "L" type char, the underscore and a vertical bar at the left side of the char box. I notice that with those chars it is possible to follow the CONIO approach to boxes and grids: Combining chline()/cvline() with special CH_... char constants for edges and intersections.
But in order to actually do so I needed to be able to define CH_... constants that when fed into the ordinary cputc() pipeline end up as MouseText chars. The obvious approach was to allow chars > 128 to directly access MouseText chars :-)
Now that the native CONIO box/grid approach works I deleted the Apple //e proprietary textframe() function that I added as replacement quite some years ago.
Again: Please note that chline()/cvline() and the CH... constants don't work with reverse(1)!
2018-08-20 00:30:17 +02:00
Greg King
7b8d4b28c7
Fixed the system banking in the cbm510 and the cbm610 targets' versions of clock_gettime() and clock_settime().
...
Their library function calls must run in the execution bank.
2018-08-19 17:12:54 -04:00
Stefan
b93b88211c
WDM support ( #721 )
...
WDM support
2018-08-19 10:29:25 -04:00
Oliver Schmidt
03a99569e3
Optimize for size.
2018-08-19 14:35:30 +02:00
Oliver Schmidt
3598fb505d
Fixed Visual C++ build (and some style adjustments).
2018-08-19 00:01:40 +02:00
Oliver Schmidt
250e4ed9e0
Added dummy clock_settime() for the Atari.
...
Allow to build ip65/date65.
2018-08-18 01:36:56 +02:00
Oliver Schmidt
fe5af26f9f
Express assumption about struct timespec.
...
We basically cast a struct timespec pointer to a time_t pointer when we pass the clock_settime() paramter to localtime(). Explicitly express that in the source code.
2018-08-18 01:29:40 +02:00
Oliver Schmidt
eb9872c684
Added clock_settime() for some CBMs.
...
The CIA TOD only stores the time but not the date. Therefore the date set by clock_settime() ist just stored inside the C library for retrieval via clock_gettime().
The "very special" handling of 12AM/PM is based on https://groups.google.com/d/msg/comp.sys.cbm/ysVYSX4AMbc/vHrXCWEhCOUJ saying:
==========
24hr: Wr => Rd => Nx
--------------------
0 : 92 => 12 => 01 <= Switch from 00 to 01 (24-hour notation)
1 : 01 => 01 => 02
2 : 02 => 02 => 03
11 : 11 => 11 => 92
12 : 12 => 92 => 81 <= Switch from 12 to 13 (24-hour notation)
13 : 81 => 81 => 82
14 : 82 => 82 => 83
23 : 91 => 91 => 12
1. column ("24hr"): hour to be tested (decimal)
2. column ("Wr"): hour written to TOD register (BCD)
3. column ("Rd"): hour read from TOD register (BCD) immediately after writing the value in column 2 to see the conversion between AM/PM, if any
4. column ("Nx"): next hour (BCD) after the hour switch
==========
Thanks Paul!
2018-08-18 01:29:40 +02:00
Oliver Schmidt
cb7ec508f6
Fixed 12 AM/PM handling.
...
Midnight is 12 AM and noon is 12 PM (see https://en.wikipedia.org/wiki/12-hour_clock ). Therefore we need to subtract 12 hours in exactly those two hours.
2018-08-18 01:29:40 +02:00
Patrick Pelletier
e549e23a87
Use non-POSIX values for S_IREAD and S_IWRITE.
...
(As requested in the PR.)
2018-08-17 23:28:45 +02:00
Patrick Pelletier
411a5a9483
Don't pass mode argument to open() from _fopen().
...
It isn't necessary, since paravirt.c has a default if the mode isn't
pushed onto the stack.
2018-08-17 23:28:45 +02:00
Patrick Pelletier
f72d355b18
sim65: Use mode_t for OMode.
2018-08-17 23:28:45 +02:00
Patrick Pelletier
b30f790587
sim65: Blindly guessing to get Travis build to pass.
2018-08-17 23:28:45 +02:00
Patrick Pelletier
a7d158e077
sim65: Build was failing on Windows, too.
...
Microsoft loves putting underscores in front of everything!
2018-08-17 23:28:45 +02:00
Patrick Pelletier
12fbdbf418
sim65: S_IREAD and S_IWRITE are nonstandard.
...
The Linux build was failing with:
sim65/paravirt.c: In function ‘PVOpen’:
sim65/paravirt.c:217:18: error: ‘S_IREAD’ undeclared (first use in this function)
OMode |= S_IREAD;
^
sim65/paravirt.c:217:18: note: each undeclared identifier is reported only once for each function it appears in
sim65/paravirt.c:220:18: error: ‘S_IWRITE’ undeclared (first use in this function)
OMode |= S_IWRITE;
^
make[1]: *** [../wrk/sim65/paravirt.o] Error 1
2018-08-17 23:28:45 +02:00
Patrick Pelletier
974188796c
sim65: If mode argument is omitted, use a reasonable default.
2018-08-17 23:28:45 +02:00
Patrick Pelletier
aba320eade
Allow "mode" argument to open() to be passed from 6502 code.
...
Implements this suggestion:
https://github.com/cc65/cc65/pull/719#issuecomment-413809096
2018-08-17 23:28:45 +02:00
Patrick Pelletier
d602572bbe
Fix permissions for files created by sim65.
...
Files created by my programs running under sim65 had really weird permissions:
--w-r--r-x 1 ppelleti staff 19 Aug 16 23:22 json.test.print.tmp
So, for example, my program running under sim65 was not able to read
the file it had just written.
This is because the third argument to open (mode) was not being
specified in paravirt.c, so it was just picking up random crud off the
stack to use as the mode.
I added a mode of 0666, and now my program runs correctly.
2018-08-17 23:28:45 +02:00
Greg King
d13d068e71
Fixed the generation of the opcode byte when BRK is given an operand, in 65816 CPU mode.
...
The bug was created by commit 7e8bb7b700
.
2018-08-16 23:51:04 -04:00
Oliver Schmidt
f40dcb5883
Added clock_getres() / clock_settime() for the Apple II.
...
The situation on the Apple II is rather special: There are several types of RTCs. It's not desirable to have specific code for all of them. As the OS supports file timestamps RTC owners usually use OS drivers for their RTC. Those drivers read the RTC and write the result in a "date/time location" in RAM. The OS reads the date/time from the RAM location. If there's no RTC the RAM location keeps containing zeros. The OS uses those zeros as timestamps and the files show up in a directory as "<NO DATE>".
There's no common interface to set RTCs so if an RTC _IS_ present there's just nothing to do. However, if there's _NO_ RTC present the user might very well be interest to "manually" set the RAM location in order to have timestamps. But he surely doesn't want to manually set the RAM location over an over again. Rather he wants to set it just once after booting the OS.
From that perspective it makes most sense to not set both the date and the time but rather only set the date and have the time just stay zero. Then files show up in a directory as "DD-MON-YY 0:00".
So clock_settime() checks if the current time equals 0:00. If it does _NOT_ then an RTC is supposed to be active and clock_settime() fails with ERANGE. Otherwise clock_settime() ignores sets the date - and completely ignores the time provided as parameter.
clock_getres() too checks if the current time equals 0:00. If it does _NOT_ then an RTC is supposed to be active and clock_getres() returns a time resolution of one minute. Otherwise clock_getres() presumes that the only one who sets the RAM location is clock_settime() and therefore returns a time resolution of one day.
2018-08-15 21:34:35 +02:00
Oliver Schmidt
326ca263c9
Minor style fix.
2018-08-15 19:40:56 +02:00
Oliver Schmidt
59a8149556
Added clock_getres() for CBMs.
...
All CBMs have a clock (CIA TOD) resolution of 1/10 second.
2018-08-15 19:40:27 +02:00
Oliver Schmidt
842c151edd
Replaced _systime with clock_gettime.
...
We want to add the capability to not only get the time but also set the time, but there's no "setter" for the "getter" time().
The first ones that come into mind are gettimeofday() and settimeofday(). However, they take a struct timezone argument that doesn't make sense - even the man pages says "The use of the timezone structure is obsolete; the tz argument should normally be specified as NULL." And POSIX says "Applications should use the clock_gettime() function instead of the obsolescent gettimeofday() function."
The ...timeofday() functions work with microseconds while the clock_...time() functions work with nanoseconds. Given that we expect our targets to support only 1/10 of seconds the microseconds look preferable at first sight. However, already microseconds require the cc65 data type 'long' so it's not such a relevant difference to nanoseconds. Additionally clock_getres() seems useful.
In order to avoid code duplication clock_gettime() takes over the role of the actual time getter from _systime(). So time() now calls clock_gettime() instead of _systime().
For some reason beyond my understanding _systime() was mentioned in time.h. _systime() worked exactly like e.g. _sysremove() and those _sys...() functions are all considered internal. The only reason I could see would be a performance gain of bypassing the time() wrapper. However, all known _systime() implementations internally called mktime(). And mktime() is implemented in C using an iterative algorithm so I really can't see what would be left to gain here. From that perspective I decided to just remove _systime().
2018-08-15 16:06:44 +02:00
Oliver Schmidt
55a07c1dcd
Removed stray /t char.
2018-08-15 16:06:44 +02:00
Oliver Schmidt
bbed9fdb63
Fixed typo.
2018-08-15 16:06:44 +02:00
Olli Savia
e6e9c72f66
Added CHKOUT and CLRCHN
2018-08-15 11:53:17 +02:00
Scott Hutter
b18aa27aa1
Merge pull request #1 from greg-king5/c128-hi-tgi
...
Make c128-hi.tgi put its graphics data into the RAM behind the ROMs.
2018-08-13 21:28:07 -05:00
Scott Hutter
ad67fe51dd
Merge pull request #2 from polluks/patch-13
...
c128-hi.tgi doc
2018-08-13 21:25:46 -05:00
greg-king5
188e3a74ed
Merge pull request #712 from ppelleti/fix-bit
...
sim65: Fix "$2C: BIT abs" to access the correct address.
2018-08-11 01:48:11 -04:00
Patrick Pelletier
5cdaa96e4c
sim65: Fix "$2C: BIT abs" to access the correct address.
...
Bug is documented here:
http://forum.6502.org/viewtopic.php?f=2&t=5242
2018-08-10 12:58:48 -07:00
Oliver Schmidt
a9ce4dc76c
"Inverted" time_t value handling.
...
So far time_t values were interpreted as local time values. However, usually time_t values are to be interpreted as "seconds since 1 Jan 1970 in UTC". Therefore all logic handling time_t values has to be changed.
- So far gmtime() called localtime() with an adjusted time_t, now localtime() calls gmtime() with an adjusted time_t.
- mktime() has to do "the opposite" of localtime(), to keep it that way mktime() does now the inverse adjustment made by localtime().
- All currently present time() implementations internally call mktime() so they don't require individual adjustments.
2018-08-02 17:12:12 +02:00
Oliver Schmidt
753b48647f
Increased consistency.
...
The test program works as-is only if the timezone isn't set (to something different than UTC). However, using localtime() instead of gmtime() makes it at least consistent in that the original time (given to mktime()) is identical to the time retrieved.
2018-08-02 15:45:57 +02:00
Stefan
3e8c6bf4bd
c128-hi.tgi doc
2018-07-30 15:33:52 +00:00
Greg King
5e67eee362
Made the VIC-IIe TGI driver put its bitmap behind the ROMs.
2018-07-29 23:46:03 -04:00
Greg King
ad6c2dbe7b
Added code to make the 65816's MVN and MVP instructions handle both immediate (bank) and far-address operands.
2018-07-29 03:50:02 -04:00
Greg King
e6fc904e3c
Fixed some code, to adapt to register-use changes caused by pull request #652 .
2018-07-27 09:21:31 -04:00
Oliver Schmidt
e86a7db18b
Some minor cleanups.
2018-07-26 14:35:26 +02:00
Oliver Schmidt
e949a3e642
Fixed regression introduced by https://github.com/cc65/cc65/pull/652 .
2018-07-26 14:31:17 +02:00
Oliver Schmidt
97be359d4a
Updated comment.
2018-07-26 13:09:21 +02:00
IrgendwerA8
c9869c1a26
Quick fix for missing _div() adaptation after 95223be
.
2018-07-26 10:44:22 +02:00
Oliver Schmidt
b04028b5d8
Added test for mktime() and gmtime().
...
A recent regression makes gmtime()/localtime() fail. So it's obviously desirable to have a test for that code.
2018-07-24 03:26:40 +02:00
Scott Hutter
1981af0bbd
tgi driver for c128 VIC-II
2018-07-23 15:54:15 -05:00
Greg King
eeb1b927ce
Fixed the order in which the 65816's block-move instructions' operands are written and assembled.
...
The source bank number is written first; but, assembled second.
The destination bank is written second; but, assembled first.
2018-07-05 10:58:59 -04:00
Oliver Schmidt
cc5c0931a3
Merge pull request #695 from ops/cbmkernal_imports
...
CBM: Add imports for standard kernal entries
2018-07-04 23:47:33 +02:00
Olli Savia
fdce8fb34d
Added a blank line between .include statements and .import/.export statements
2018-07-04 17:40:28 +03:00
Olli Savia
f7636fe8f2
Removed .import for std kernal entries. Added .include "cbm.inc"
2018-07-03 22:47:42 +03:00
Olli Savia
032a3877e0
Added .import for std kernal entries
2018-07-03 22:44:59 +03:00
Oliver Schmidt
e98bb13271
Merge pull request #693 from ops/cbmkernal_stage3
...
cbm_kernal enhancements
2018-07-02 10:39:57 +02:00
Olli Savia
3e94f7f55c
Moved C128 specific definitions to cbm_kernal.inc
2018-07-01 09:58:39 +03:00
Olli Savia
820c0efcb3
Use common include file cbm_kernal.inc
2018-07-01 09:56:37 +03:00
Olli Savia
4c45de2c45
Updated comment
2018-07-01 09:54:39 +03:00
Oliver Schmidt
9f913ae109
Merge pull request #692 from ops/cbmkernal_stage2
...
Update library to use cbm_kernal.inc for kernal entry points
2018-06-30 22:26:04 +02:00
Olli Savia
635a99c083
TAB to space conversion
2018-06-30 16:25:43 +03:00
Olli Savia
d5bc751f54
Removed RAMTAS
2018-06-29 22:59:53 +03:00
Olli Savia
96e6a0a114
Common include file is now cbm_kernal.inc
2018-06-29 22:58:16 +03:00
Olli Savia
42e9b971c5
Merge remote-tracking branch 'upstream/master' into cbmkernal_stage2
2018-06-29 22:50:02 +03:00
Oliver Schmidt
18966eab63
Merge pull request #688 from ops/cbmkernalasm
...
RFC: Common kernal inc file for Commodore targets
2018-06-29 18:59:48 +02:00
Olli Savia
f185e28892
cbmkernal.inc -> cbm_kernal.inc
2018-06-29 16:14:00 +03:00
Olli Savia
f7fbac4c6b
Use common include file cbmkernal.inc
2018-06-27 21:39:24 +03:00
Oliver Schmidt
153bb29501
Merge pull request #682 from shinra-jp/da65-synclines
...
Support for preprocessing info file via cpp or m4.
2018-06-26 10:26:15 +02:00
AIDA Shinra
31fdec2e2e
Style fix
2018-06-25 23:50:46 +09:00
AIDA Shinra
d5acfeb426
Merge remote-tracking branch 'origin' into da65-synclines
2018-06-25 23:38:43 +09:00
Olli Savia
8c4a0768cc
TAB to space conversion
2018-06-22 11:29:03 +03:00
Olli Savia
accfc14fb1
RESTOR and VECTOR moved under own ifdef/endif block
2018-06-22 11:21:00 +03:00
Oliver Schmidt
86945a1270
Merge pull request #687 from polluks/patch-12
...
Smaller driver code
2018-06-21 22:37:29 +02:00
Stefan
6a70d1dab1
Removed unused label
2018-06-21 20:30:14 +00:00
Olli Savia
a22e19a902
Added asminc/cbmkernal.inc
2018-06-21 18:32:38 +03:00
greg-king5
4980fade74
Made LINE plot single-point lines correctly.
2018-06-21 08:18:53 -04:00
Stefan
23534beaa6
Smaller driver code
2018-06-21 00:25:33 +00:00
AIDA Shinra
9439b5b645
Merge branch 'da65-synclines' of github:shinra-jp/cc65 into da65-synclines
2018-06-14 02:04:06 +09:00
AIDA Shinra
fd67284b4d
Followed the discussions in the Pull request #682 .
...
* Fixed a misspelling
* Fixed styles
* Added sample codes
2018-06-14 02:02:16 +09:00
AIDA Shinra
2b25329423
Support for preprocessing info file via cpp or m4.
2018-06-14 02:02:16 +09:00
Oliver Schmidt
6c320f7d65
Merge pull request #681 from shinra-jp/voperand
...
Support for "inline parameters" of subroutines
2018-06-13 14:41:24 +02:00
AIDA Shinra
75c4972021
Style and alignment fixes.
2018-06-13 21:24:34 +09:00
AIDA Shinra
a3ab3cb458
Changed the wording of the doc/da65.sgml.
2018-06-13 01:23:01 +09:00
AIDA Shinra
8899d71cad
Followed the discussions in the Pull request #682 .
...
* Fixed a misspelling
* Fixed styles
* Added sample codes
2018-06-12 02:06:01 +09:00
AIDA Shinra
03bb2f6a48
Followed discussions in the Pull reequest #681 .
...
In particular, renamed "virtual operands" to "inline parameters".
2018-06-12 00:18:11 +09:00
AIDA Shinra
335a8972b9
Support for preprocessing info file via cpp or m4.
2018-06-11 01:53:35 +09:00
Oliver Schmidt
535088fe73
Support --print-target-path with spaces.
...
Don't try this at home ;-))
2018-06-10 18:12:09 +02:00
AIDA Shinra
9283e9ca98
Support for "virtual operands" of subroutines like this:
...
jsr SomeProc
.byte $00, $01 ; argument to SomeProc
; return here from SomeProc
bit $3F
2018-06-10 18:09:11 +09:00
Oliver Schmidt
b74ab9de89
Allow spaces in path names.
...
The Microsoft C Library needs to have spawnvp() parameters with spaces quoted manually. We do this only if actually necessary to limit issues with parameters already containing double quotes.
2018-06-08 19:16:18 +02:00
Oliver Schmidt
9877042450
Use --print-target-path only as last resort.
...
--print-target-path may return a path with (escaped) spaces. We'll use that path with $(wildcard ...), that's fine. But then we use the outcome with $(foreach ...) and there things fail badly and there's nothing to do about it.
Therefore we a) try to avoid --print-target-path in the first place and b) explicitly bail out if we end up with spaces.
2018-06-08 18:58:36 +02:00
Oliver Schmidt
d861be8ad5
Escape spaces in target path.
...
cc65 escapes spaces in paths it writes to dependency files (see WriteEscaped() in cc65/input.c). Given that the output of OptPrintTargetPath() is supposed to be used in Makefiles in pretty much the same way it is appropriate to escape spaces here too.
2018-06-07 17:10:33 +02:00
Oliver Schmidt
aea34c5410
Merge pull request #673 from bengdahl/master
...
Fix `make` failing in parent directories containing spaces
2018-06-07 17:01:42 +02:00
Oliver Schmidt
d002f6e5be
Merge pull request #676 from Fabrizio-Caruso/master
...
Fix joystick for the Supervision target
2018-06-06 21:37:13 +02:00
Fabrizio Caruso
9af2d6b4a1
spaces instead of tab
2018-06-06 21:18:47 +02:00
Fabrizio Caruso
e626180b28
Fix joystick for the Supervision target
2018-06-06 21:11:17 +02:00
Oliver Schmidt
e99a5ff1fe
Fixed usage indentation.
2018-06-06 18:59:25 +02:00
existensialMemory
4fd17161eb
Update Makefile
2018-06-04 22:17:25 -04:00
Ben
1f245fbc0b
Fix `make` failing in parent directories containing spaces
2018-06-04 21:27:04 -04:00
Oliver Schmidt
f8bd96868b
Merge pull request #670 from greg-king5/string-pointer-break
...
Fix strpbrk() problems.
2018-06-01 13:15:52 +02:00
Greg King
6d87370881
Fixed strpbrk().
...
Added its prototype. Documented it.
2018-05-29 14:29:50 -04:00
Oliver Schmidt
a0832b62c6
Merge pull request #668 from IrgendwerA8/mul_second_thoughts
...
Mul second thoughts
2018-05-29 09:01:34 +02:00
IrgendwerA8
465a651090
Free 2 bytes again.
2018-05-29 01:51:24 +02:00
IrgendwerA8
0f108cb4d8
1 byte code size donation for Fabrizio ;)
2018-05-29 01:12:51 +02:00
Oliver Schmidt
19cd149be2
Merge pull request #666 from IrgendwerA8/1_byte_donation_for_fabrizio
...
1 byte donation for Fabrizio ;)
2018-05-27 12:17:52 +02:00
IrgendwerA8
f55b564ca1
Save the three bytes for the plus4 too.
2018-05-27 00:10:58 +02:00
IrgendwerA8
30a679ba36
Saved 3 bytes for the C16 target.
2018-05-26 20:30:38 +02:00
IrgendwerA8
49a9b88734
Saved even one more byte.
2018-05-26 19:53:44 +02:00
IrgendwerA8
e77ac8a230
1 byte donation for Fabrizio ;)
2018-05-26 16:37:03 +02:00
IrgendwerA8
ea463d95e3
1 byte code size donation for Fabrizio ;)
2018-05-26 16:33:19 +02:00
Oliver Schmidt
95223be101
Merge pull request #663 from IrgendwerA8/more_popptr1_adaptations
...
Adapted div & mod for popptr1.
2018-05-26 13:01:27 +02:00
IrgendwerA8
8a5d1b9674
Reestablished entry state of signed operation and optimized that (again).
2018-05-25 23:52:42 +02:00
IrgendwerA8
ba5b580368
Fixed first letter of comments (should be upper case).
2018-05-25 16:10:16 +02:00
Oliver Schmidt
0b323f717b
Update symbols.txt
2018-05-25 14:48:20 +02:00
Oliver Schmidt
0138e110cc
Merge pull request #662 from Compyx/master
...
Add CBM kernal call SECOND to CBM library (see issue #525 )
2018-05-25 14:00:36 +02:00
Bas Wassink
b98517f90b
Add __fastcall__ to cbm_k_second() documentation
2018-05-25 13:17:12 +02:00
IrgendwerA8
71420223bc
Changed the name of the file too.
2018-05-24 11:37:17 +02:00
IrgendwerA8
9c1cb0801c
Changed naming absvaludiv -> absvaludiv16.
2018-05-24 11:31:43 +02:00
IrgendwerA8
dd411efd1c
Adapted div & mod for popptr1.
2018-05-24 03:55:40 +02:00
compyx
dade099b9d
CBM kernal call SECOND, update cbm.h
2018-05-23 17:37:48 +02:00
compyx
8ffe623e74
Add CBM kernal call SECOND to CBM library (see issue #525 )
2018-05-23 17:32:02 +02:00
Oliver Schmidt
9246b14f68
Merge pull request #658 from polluks/patch-9
...
Indicate a dummy outtext & some clean-up
2018-05-23 17:05:12 +02:00
Oliver Schmidt
4459b8973b
Merge pull request #659 from polluks/patch-10
...
Fixed typos and added references for #655
2018-05-23 15:51:25 +02:00
Oliver Schmidt
b6b11e3b43
Merge pull request #660 from polluks/patch-11
...
More references
2018-05-23 15:48:43 +02:00
Stefan
d28fce082d
Update funcref.sgml
2018-05-23 13:40:14 +00:00
Stefan
21a69c8aff
Update tgi.sgml
2018-05-23 13:34:37 +00:00
Stefan
714a347dc9
Update funcref.sgml
2018-05-23 13:32:17 +00:00
Stefan
0a1e68d7a9
Update funcref.sgml
2018-05-23 13:30:57 +00:00
Oliver Schmidt
746e3d1454
Merge pull request #656 from Compyx/master
...
Add CBM kernal call TKSA to CBM library (see issue #525 )
2018-05-23 09:47:41 +02:00
Oliver Schmidt
f485be1b84
Merge pull request #657 from IrgendwerA8/VariousSpeedSizeOptimizations
...
Various speed size optimizations
2018-05-23 09:46:30 +02:00
Stefan
1dcd4a19ea
More references
2018-05-23 04:51:32 +00:00
greg-king5
486678e557
Merge pull request #653 from IrgendwerA8/cbm_rw_popptr1
...
* Saved 6 bytes by using popptr1.
* Fix typo for import.
* Beautified comment.
2018-05-23 00:31:53 -04:00
Stefan
9e4833e21f
Added documentation of cbm_k_untlk
2018-05-23 04:27:05 +00:00
Stefan
37e6b05b4a
Fixed typos and added references for #655
2018-05-23 01:51:54 +00:00
Stefan
a4c06f2572
Clean-up because of tgidrv_line.inc
2018-05-22 22:32:50 +00:00
Stefan
b945beb6a7
Indicate a dummy outtext
2018-05-22 21:18:10 +00:00
IrgendwerA8
6175271651
Removed optimizations which break the compiler ones.
2018-05-22 19:10:07 +02:00
compyx
e3a8cfcdb0
cbm_k_tksa() from the PET docs
2018-05-22 18:48:43 +02:00
IrgendwerA8
808d3ab471
Fix for 8x16 multiplication if operants are swapped.
2018-05-22 18:35:05 +02:00
IrgendwerA8
ba2c6d9008
Further optimizations in common/conio.
2018-05-22 16:00:05 +02:00
compyx
30ada49458
Add CBM kernal call TKSA to CBM library
...
This adds the CBM kernal call TKSA as cbm_k_tksa() to the CBM library.
2018-05-22 14:16:00 +02:00
IrgendwerA8
95b4a6f881
Beautified comment.
2018-05-22 11:25:26 +02:00
IrgendwerA8
99e13eeaa2
Fix typo for import.
2018-05-21 18:19:39 +02:00
IrgendwerA8
d7da827be8
Apply faster popptr1 to functions and/or use register instead of stack to save accu.
2018-05-21 18:18:01 +02:00
IrgendwerA8
c40ae4d774
Saved 6 bytes by using popptr1.
2018-05-21 16:21:45 +02:00
Oliver Schmidt
81b3c16c7e
Merge pull request #652 from IrgendwerA8/popptr1
...
Added Popptr1 to save some bytes and ease parameter extraction
2018-05-21 14:52:59 +02:00
IrgendwerA8
d4081b43a6
Fixed comments.
2018-05-21 14:41:12 +02:00
IrgendwerA8
166425f807
Converted unintentionally introduced tabs to spaces.
2018-05-21 14:33:44 +02:00
Irgendwer
32bbacbb78
Merge branch 'master' into popptr1
2018-05-21 13:33:14 +02:00
IrgendwerA8
839aa93198
Resolved conflict and removed adaptation for strpbrk for time being.
2018-05-21 13:30:27 +02:00
IrgendwerA8
911b86de67
Fixed formatting and two import issues.
2018-05-21 13:02:56 +02:00
IrgendwerA8
c95ed4b8b5
Added "popptr1" which is of common use to save some bytes.
2018-05-20 15:30:18 +02:00
Oliver Schmidt
a795a27689
There's no 'closeallstreams' (anymore ?).
2018-05-17 11:11:40 +02:00
Oliver Schmidt
96006dba96
Merge pull request #646 from polluks/patch-8
...
Update c64.sgml
2018-05-15 12:09:44 +02:00
Oliver Schmidt
5a7fc8d334
Merge pull request #647 from polluks/patch-9
...
Make NMI ready
2018-05-15 11:07:41 +02:00
Stefan
472a107358
Make NMI ready
2018-05-14 23:22:09 +00:00
Stefan
b3358c462e
Update c64.sgml
...
Do not use last page!
2018-05-14 23:10:34 +00:00
Oliver Schmidt
5928af8adc
Merge pull request #645 from polluks/patch-7
...
Update c64.sgml
2018-05-14 20:28:15 +02:00
Oliver Schmidt
ad59689946
Merge pull request #644 from greg-king5/anon-struct
...
Make union declarations know the sizes of anonymous structs/unions.
2018-05-14 18:37:51 +02:00
Stefan
df79409f76
Update c64.sgml
...
soft80 is NMI ready
2018-05-14 14:17:09 +00:00
Greg King
362b6afacf
Made a C union declaration know the sizes of anonymous struct/union members when it determines its size.
...
The bug was located, and the fix was written, by Francesco.
2018-05-13 18:54:45 -04:00
Oliver Schmidt
4e137cf9f5
Merge pull request #643 from mikeakohn/fix/sweet16_op_bs
...
The opcode for BS should be 0x0C.
2018-05-13 16:32:18 +02:00
Michael Kohn
5ecd902fbf
The opcode for BS should be 0x0C.
2018-05-13 06:31:05 -05:00
greg-king5
ca31e3af1e
Fixed a bug that didn't preserve the accumulator's value when a simple 16-bit fetch-and-store is optimized. ( #637 )
...
Fix a 16-bit fetch-and-store cc65 optimizer bug.
2018-05-12 13:46:16 -04:00
greg-king5
2a78b9d3fe
Merge pull request #642 from polluks/patch-6
...
NMI-friendly c64-hi.tgi
2018-05-10 09:00:34 -04:00
Stefan
b449ded176
Update c64-hi.s
2018-05-09 23:56:35 +00:00
Stefan
b81a04f157
Update c64-hi.s
2018-05-09 23:52:52 +00:00
Stefan
cdce753a09
NMI friendly c64-hi
...
Don't clear all vectors, see #639 .
2018-05-09 23:31:42 +00:00
Oliver Schmidt
334e30c407
Merge pull request #636 from blackystardust/master
...
Added C64 Turbo Master accelerator code and documentation.
2018-05-03 18:18:13 +02:00
Marco van den Heuvel
cdebf6baa7
Harmonized the comments (as in added 1 space) ;)
2018-05-03 09:11:20 -07:00
Marco van den Heuvel
04675fca2a
Order fix.
2018-05-02 11:23:43 -07:00
Marco van den Heuvel
e88ac62d06
Optimized the code a bit, thanks to Greg for the suggestions/comments.
2018-05-01 14:46:57 -07:00
Marco van den Heuvel
b1c3daca3a
Fixed the order of some functions.
2018-05-01 14:45:51 -07:00
Marco van den Heuvel
21e6f25e70
Added missing file.
2018-05-01 14:44:23 -07:00
Marco van den Heuvel
b12678e90d
Fixed a typo.
2018-04-30 14:34:46 -07:00
Marco van den Heuvel
ad7b339c44
Added C64 Turbo Master accelerator code and documentation.
2018-04-30 14:30:35 -07:00
Oliver Schmidt
5c07db3a74
Merge pull request #634 from blackystardust/master
...
Added C65/C64DX accelerator code and documentation.
2018-04-30 22:51:42 +02:00
Marco van den Heuvel
5b4929ef98
Removed obsolete bit opcode.
2018-04-29 12:13:52 -07:00
Marco van den Heuvel
63cad26656
Merge branch 'master', remote-tracking branch 'origin'
2018-04-29 12:12:13 -07:00
Oliver Schmidt
a482b54ed7
Removed extern keyword from function prototype.
2018-04-29 13:50:09 +02:00
Marco van den Heuvel
d0088fbc0f
Fixed a wrong branch.
2018-04-28 13:26:20 -07:00
Marco van den Heuvel
a012fab090
Added a comment to make the situation more clear.
2018-04-28 13:25:16 -07:00
Marco van den Heuvel
11629bcf99
Added C65/C64DX accelerator code and documentation.
2018-04-27 14:22:41 -07:00
Oliver Schmidt
47e4b36180
Merge pull request #631 from blackystardust/master
...
Added C64 Chameleon accelerator code and documentation.
2018-04-27 20:47:03 +02:00
Marco van den Heuvel
97e69952c4
Removed extern keyword from function prototypes.
2018-04-27 09:16:25 -07:00
Marco van den Heuvel
1428015158
Optimized the code a bit as suggested by Greg.
2018-04-26 09:18:54 -07:00
Greg King
c92a3c5bd5
Improved the accelerator code. Fixed an infinite loop.
...
Removed the execute permissions from some files.
2018-04-26 05:46:34 -04:00
Marco van den Heuvel
f2e46f0fdf
Added C64 Chameleon accelerator code and documentation.
2018-04-25 12:53:29 -07:00
Oliver Schmidt
fc61bc79c5
Merge pull request #629 from blackystardust/master
...
Added C128 accelerator code and documentation for both C128 mode and C128 in C64 mode.
2018-04-25 15:08:11 +02:00
Marco van den Heuvel
cc2bcb8a4d
Changed c128 accelerator code and documention to include both C64 and C128 support.
2018-04-23 19:25:11 -07:00
Oliver Schmidt
fe33a39d6c
Merge pull request #628 from ops/VIAFIX_PET
...
Pet: Add missing VIA register names
2018-04-23 15:58:13 +02:00
Marco van den Heuvel
28f26991ac
Updated c128 accelerator code and documentation.
2018-04-21 09:52:50 -07:00
Greg King
30aed2330d
Updated a joystick adapter URL.
2018-04-21 04:30:56 -04:00
Marco van den Heuvel
3f5683b391
Added C128 in C64 mode accelerator code and documentation.
2018-04-20 12:08:28 -07:00
Olli Savia
c2adade8a8
Updated to use the new VIA register names
2018-04-20 21:25:43 +03:00
Olli Savia
7292b571de
Added missing VIA register names.
2018-04-20 21:24:37 +03:00
Oliver Schmidt
305c6e7ae4
Merge pull request #626 from blackystardust/master
...
Added c64dtv accelerator code and documentation.
2018-04-20 20:01:16 +02:00
Oliver Schmidt
53df4da8e8
Merge pull request #625 from ops/VIAFIX
...
VIC-20: Add missing VIA register names
2018-04-18 17:09:35 +02:00
Greg King
e235ac2a0e
Added a preprocessor guard to tgidemo.c that avoids a compiler warning.
...
DoWarning() is compiled only if it will be used.
2018-04-17 16:53:10 -04:00
Oliver Schmidt
d314a27e76
Merge pull request #627 from jedeoric/master
...
[Telestrat target] fix fwrite bug, cputc, chline, remove & mkdir added
2018-04-16 22:46:56 +02:00
jede
cc2b5af601
Fix comment
2018-04-16 21:51:15 +02:00
Marco van den Heuvel
ef73310cce
Fixed more comments.
2018-04-16 11:05:52 -07:00
Marco van den Heuvel
0aa2735d4e
Fixed another comment.
2018-04-15 12:15:19 -07:00
Marco van den Heuvel
c5f15fa1d5
Fixed some comment and documentation errors.
2018-04-15 11:55:58 -07:00
Greg King
5f6d024804
Made the samples Makefile be able to build the samples for targets other than the ones named explicitly in that file.
2018-04-14 18:10:11 -04:00
jede
626fed88b7
chline added
2018-04-14 22:05:03 +02:00
jede
e34ef0fc17
add cputc & remove
2018-04-14 21:52:11 +02:00
Marco van den Heuvel
cb04bc5465
Fixed an issue with the changing the d040 value while detecting.
2018-04-14 11:31:28 -07:00
Marco van den Heuvel
6076316f38
Added c64dtv accelerator code and documentation.
2018-04-14 10:40:13 -07:00
Olli Savia
7b1db91d36
Changed register addresses relative to the base address
2018-04-14 18:45:15 +03:00
Olli Savia
59cb7da334
VIA1 and VIA2 no longer marked deprecated
2018-04-14 08:39:30 +03:00
Oliver Schmidt
a10f36c837
Merge pull request #623 from blackystardust/master
...
Added C64/C128 SuperCPU accelerator functions and started on a generic framework for accelerators.
2018-04-13 21:43:34 +02:00
Marco van den Heuvel
859422f357
Fixed non-address constants.
2018-04-12 09:35:02 -07:00
Oliver Schmidt
f1a7ab9bc6
Merge pull request #624 from polluks/patch-5
...
Simpler get_tv
2018-04-12 17:47:46 +02:00
Olli Savia
79433ddb60
Updated to use the new VIA register names.
2018-04-11 22:40:46 +03:00
Olli Savia
165b98bba5
Added missing VIA registers. Register names from the COMPUTE!'s book 'Mapping the VIC'
2018-04-11 22:38:23 +03:00
Marco van den Heuvel
e2cf4987cf
Added some accelerator test code.
2018-04-10 15:24:15 -07:00
Stefan
a50d214ffb
Simpler get_tv
...
You don't have to count the beam, just check the KERNAL.
2018-04-10 18:37:10 +00:00
Marco van den Heuvel
89c3ed6d7f
Added C64/C128 SuperCPU accelerator functions and started on a generic framework for accelerators.
2018-04-09 19:36:53 -07:00
Bob Andrews
60b9ea3222
Merge pull request #621 from blackystardust/master
...
Fixed cpu detection.
2018-04-04 20:40:25 +02:00
Marco van den Heuvel
61e5b9d218
Changed #10 to #-basha for clarity.
2018-04-01 13:14:44 -07:00
Greg King
098a30725f
Moved declarations that are common to the C16 and the Plus4 libraries over to their common header.
2018-04-01 15:47:48 -04:00
Marco van den Heuvel
9db6f059ac
Fixed cpu detection.
2018-03-31 18:59:15 -07:00
Oliver Schmidt
8886e6f100
Merge pull request #620 from blackystardust/master
...
Added c16/plus4 fast(), isfast() and slow() functions, and updated the documentation accordingly.
2018-03-31 11:57:27 +02:00
Oliver Schmidt
a7ae8e0a18
Adjusted style.
2018-03-30 00:11:40 +02:00
Oliver Schmidt
e2b38c96f8
Adjusted style.
2018-03-30 00:10:55 +02:00
Oliver Schmidt
a2a4868825
Added HGR and DHGR slide show programs.
...
The DHGR program is sort of a hack as it first switches to double (aka 80 col) text mode to prepare for double graphics mode. Therefore only one additional soft switch access is necessary after using TGI to generally switch to hires.
2018-03-30 00:08:26 +02:00
Greg King
b844572159
Moved most of the tgi_colors.s files into the libsrc/common/ directory.
...
Only the Apple2 and Lynx platforms use different codes for the white color; they have their own files.
2018-03-27 07:28:46 -04:00
Greg King
155f3ade41
C64 TGI: LINE: Optimization: Don't check boundaries; LINE always is called by tgi_clippedline().
...
Submitted in Pull Request #611 by Sven Michael Klose.
2018-03-26 07:28:01 -04:00
Marco van den Heuvel
8424286a3e
Add c16 files as well.
2018-03-23 14:31:53 -07:00
Marco van den Heuvel
03ba3f7473
Added c16/plus4 fast(), isfast() and slow() functions, and updated the documentation accordingly.
2018-03-23 14:27:15 -07:00
Oliver Schmidt
d869368679
Merge pull request #619 from blackystardust/master
...
Added isfast function which returns a 1 when the C128 is in 2MHz mode.
2018-03-22 11:50:38 +00:00
Marco van den Heuvel
d34c93a464
Set X register to 0 so that 16bit promotion works as expected.
2018-03-20 14:05:55 -07:00
Marco van den Heuvel
5d4116f05f
Added isfast function which returns a 1 when the C128 is in 2MHz mode.
2018-03-20 13:11:24 -07:00
Oliver Schmidt
b7a5dd76e9
Merge pull request #617 from blackystardust/master
...
Added the vic20 georam emd.
2018-03-20 13:24:04 +00:00
Marco van den Heuvel
2533cc8d75
Added the vic20 georam emd.
2018-03-19 11:34:41 -07:00
Oliver Schmidt
eaaab65d3c
Merge pull request #615 from blackystardust/master
...
Added vic20 $a000-$bfff ram emd.
2018-03-18 19:16:11 +00:00
Marco van den Heuvel
4fdc2d7209
Fix documentation building issue.
2018-03-18 12:06:43 -07:00
Marco van den Heuvel
12f72a5ed7
Added vic20 emd documentation.
2018-03-17 09:25:42 -07:00
Marco van den Heuvel
0c7496f08b
Added vic20 - ram emd.
2018-03-16 14:23:52 -07:00
Marco van den Heuvel
9a763588e2
Merge branch 'master' of https://github.com/blackystardust/cc65
2018-03-16 12:33:49 -07:00
Marco van den Heuvel
13a485d885
Merge remote-tracking branch 'upstream/master'
2018-03-16 12:33:01 -07:00
Oliver Schmidt
2ad1850639
Merge pull request #613 from polluks/patch-4
...
Added another console
2018-03-15 18:37:44 +00:00
Marco van den Heuvel
9948ab7d79
Merge branch 'master' of https://github.com/cc65/cc65
2018-03-15 11:15:40 -07:00
Stefan
7efd9940f2
Added console
2018-03-13 22:19:19 +00:00
Oliver Schmidt
8b3e12d632
Added missing ror absolute override.
...
Fixes https://github.com/cc65/cc65/issues/489 as suggested by EtchedPixels.
2018-03-12 12:14:25 +01:00
Oliver Schmidt
316d8e9d37
Merge pull request #609 from polluks/master
...
Added missing PCE conio functions.
2018-03-11 08:58:23 +00:00
Stefan
789ce59fb5
Added missing PCE conio functions.
2018-03-11 00:49:40 +01:00
Oliver Schmidt
be30c0bd70
Merge pull request #606 from pfusik/ldec
...
Optimize deceaxy
2018-03-10 11:28:46 +00:00
Marco van den Heuvel
0eb1eb625f
Undo my previous commit.
2018-03-09 10:46:02 -08:00
Piotr Fusik
18ada212e7
Fix coding style.
2018-03-09 18:48:24 +01:00
Marco van den Heuvel
22d4b0d497
Improved tv timing detection for the c64.
2018-03-08 16:06:33 -08:00
Piotr Fusik
970c5f6184
Add comments.
2018-03-08 22:10:11 +01:00
Bob Andrews
7e6942953c
Merge pull request #604 from blackystardust/master
...
Improved reu size detection.
2018-03-08 19:19:35 +01:00
Oliver Schmidt
d602105dd4
Merge pull request #605 from mrdudz/4playerfix
...
4playerfix
2018-03-08 08:09:24 +00:00
mrdudz
85e480db3d
style fixes
2018-03-08 04:05:10 +01:00
Oliver Schmidt
8e75906737
Switched Apple II output format to AppleSingle.
...
Although the primary target OS for the Apple II for sure isn't DOS 3.3 but ProDOS 8 the Apple II binary files contained a DOS 3.3 4-byte header. Recently I was made aware of the AppleSingle file format. That format is a much better way to transport Apple II meta data from the cc65 toolchain to the ProDOS 8 file system. Therefore I asked AppleCommander to support the AppleSingle file format. Now that there's an AppleCommander BETA with AppleSingle support it's the right time for this change.
I bumped version to 2.17 because of this from the perspective of Apple II users of course incompatible change.
2018-03-07 23:05:21 +01:00
Oliver Schmidt
03c60efec9
Merge pull request #607 from pfusik/runtime-typos
...
Fix comment typos
2018-03-07 20:56:02 +00:00
Piotr Fusik
5251b67d73
Fix comment typos.
2018-03-07 21:01:29 +01:00
Piotr Fusik
a32c50a6bc
Optimize deceaxy.
2018-03-07 20:45:50 +01:00
Marco van den Heuvel
74117bbe46
Merge remote-tracking branch 'upstream/master'
2018-03-06 18:00:57 -08:00
Marco van den Heuvel
2418c0e0af
Updated documentation for the reu emd.
2018-03-06 18:00:36 -08:00
mrdudz
3afbed48e0
tweak driver to no more use IRQ
2018-03-07 00:20:42 +01:00
mrdudz
38fedfd78b
also show pressed key, so we can verify keyboard works with the joystick driver
2018-03-07 00:19:14 +01:00
mrdudz
c0d8021fd5
add comment on linking, tweak a bit for easier debugging
2018-03-06 23:36:11 +01:00
Oliver Schmidt
223750cde9
CC65_HOME is gone for quite some time by now.
2018-03-06 20:43:08 +01:00
Marco van den Heuvel
b783280577
Replaced reu commands with defined constants.
2018-03-05 17:46:51 -08:00
Marco van den Heuvel
1539acafc1
Merge remote-tracking branch 'upstream/master'
2018-03-05 15:02:14 -08:00
Marco van den Heuvel
40e93dd931
Improved reu size detection.
2018-03-05 15:01:55 -08:00
Oliver Schmidt
bc58bf572c
Fixed -W cmdline option handling.
...
Reverted part of 3157e4be1e
as it actually introduced a regression.
It doesn't make sense to check for Arg[3] == '\0' _before_ checking Arg[2] != '\0'. This made the Win32 builds fail to correctly parse e.g. cl65 -W unused-var test.c
2018-03-05 22:31:10 +01:00
Oliver Schmidt
19f3229f45
Made 'wrapped call' code build with VS 2015.
2018-03-05 20:44:32 +01:00
Oliver Schmidt
c3610aa971
Updated from Visual Studio 2013 to Visual Studio 2015.
2018-03-05 20:42:37 +01:00
Oliver Schmidt
59ba224f93
Merge pull request #602 from blackystardust/master
...
Added 2a03/2a07 and HuC6280 detection.
2018-03-03 17:55:05 +00:00
Marco van den Heuvel
24cfcfdd4f
Merge remote-tracking branch 'upstream/master'
2018-03-02 14:09:22 -08:00
Marco van den Heuvel
b37e06da8f
Fixed hex digits case.
2018-03-02 14:09:02 -08:00
Oliver Schmidt
57abfcd581
Joystick drivers don't depend on interrupts anymore.
2018-03-02 22:17:49 +01:00
Marco van den Heuvel
9afbb0e2b7
Merge remote-tracking branch 'upstream/master'
2018-03-01 14:57:55 -08:00
Marco van den Heuvel
5a9d908007
Added 2a03/2a07 and HuC6280 detection.
2018-03-01 14:57:42 -08:00
Bob Andrews
b148fd50d7
Merge pull request #601 from blackystardust/master
...
Updated the getcpu() function documentation.
2018-03-01 19:07:36 +01:00
Marco van den Heuvel
c7764cfe50
Merge remote-tracking branch 'upstream/master'
2018-03-01 09:32:38 -08:00
Marco van den Heuvel
102d486207
Updated getcpu() function documentation.
2018-03-01 08:55:29 -08:00
Oliver Schmidt
298fe25281
Merge pull request #599 from greg-king5/pce-point-func
...
Fix how the PC-Engine calls functions through pointers.
2018-03-01 16:50:40 +00:00
Oliver Schmidt
8bf1a78d5d
Merge pull request #598 from blackystardust/master
...
Added proper 65sc02, 65ce02 and 4510 detection.
2018-03-01 16:47:52 +00:00
Greg King
549f09db9c
Made two indirect jumps through the zero-page go through page $20 on the PC-Engine.
2018-02-28 14:59:52 -05:00
Oliver Schmidt
9ca004eacf
Merge pull request #600 from polluks/patch-3
...
Update docu
2018-02-28 07:54:36 +00:00
Stefan
85467231ab
Update
...
More conio targets
2018-02-28 00:24:28 +00:00
Marco van den Heuvel
5d029af79e
Fixed the 65816/65802 detection.
2018-02-27 11:44:34 -08:00
Marco van den Heuvel
e79e779aba
Removed bit opcode, not needed anymore.
2018-02-26 19:30:25 -08:00
Marco van den Heuvel
e66f04e056
Merge branch 'master' of https://github.com/blackystardust/cc65
2018-02-26 19:23:35 -08:00
Marco van den Heuvel
e3779978b2
Added proper 65sc02, 65ce02 and 4510 detection.
2018-02-26 19:22:54 -08:00
Marco van den Heuvel
122def9f12
Added proper 65sc02, 65ce02 and 4510 detection.
2018-02-26 19:19:13 -08:00
Greg King
33f602f9ad
Shortenned the CBM close() by a byte and a cycle.
2018-02-26 15:07:13 -05:00
Oliver Schmidt
fc3fa173ae
Merge pull request #597 from polluks/patch-3
...
Small typo
2018-02-26 10:02:11 +00:00
Stefan
71e3330eca
Merge pull request #7 from cc65/master
...
Update
2018-02-26 01:36:38 +01:00
Stefan
924364d73d
Small typo
2018-02-25 22:38:58 +00:00
Oliver Schmidt
f19651cfea
Merge pull request #594 from greg-king5/pce-32k-rom
...
Change the PC-Engine's config., so that we can make 8K, 16K, and 32K carts.
2018-02-24 11:00:57 +00:00
Oliver Schmidt
938db1551f
Merge pull request #595 from greg-king5/geo-dio
...
Fix sector-number conversions in the CBM GEOS DIO code.
2018-02-24 10:54:26 +00:00
Greg King
39b4b6838f
Made dio_read(), dio_write(), and dio_write_verify() catch sector number conversion errors.
2018-02-23 16:12:12 -05:00
Greg King
6fd56bf9b6
Fixed bugs in the geos-cbm DIO sector-number converter functions.
...
* The 16-bit comparison code actually didn't compare the high byte.
* This implementation supports only the 1541, 1571, and 1581; but, it didn't exclude the other drive types that GEOS supports.
* Two error code numbers were swapped.
* A 1571 converter didn't catch sector numbers that are too high.
* A 1581 converter didn't catch sector numbers that are too high.
2018-02-23 16:12:12 -05:00
Greg King
8476360e9f
Fixed bugs in geos-cbm's dio_open().
...
* Trying to open an unused drive would leave a byte on the hardware stack.
* Too high device numbers weren't caught.
2018-02-23 16:12:12 -05:00
Greg King
3a0506ccb3
Changed the PC-Engine's configuration file, so that the command line can build 8K, 16K, and 32K carts.
...
Adjusted the PCE's document, the start-up code, and the PCE library test makefile. That makefile shows how to post-process the linker's output file.
2018-02-23 16:06:49 -05:00
Oliver Schmidt
83890e56eb
Update dio.sgml
2018-02-22 13:30:50 +01:00
Stefan
631db73d35
Merge pull request #6 from cc65/master
...
Update
2018-02-21 22:44:17 +01:00
Bob Andrews
5df40bfe3e
Merge pull request #593 from blackystardust/master
...
Added GEOS 1.3 and 1.5 detection.
2018-02-16 17:35:18 +01:00
Marco van den Heuvel
b0ef67d14c
Added GEOS 1.3 and 1.5 detection.
2018-02-15 15:24:58 -08:00
Bob Andrews
5d73f28a85
Merge pull request #592 from blackystardust/master
...
Improved GeOS version detection.
2018-02-14 19:36:43 +01:00
Marco van den Heuvel
e17b9177de
Fixed GeOS -> GEOS and added newline to geossym2.inc.
2018-02-14 10:22:10 -08:00
Marco van den Heuvel
d93f84f4bc
Improved GeOS version detection.
2018-02-13 19:19:40 -08:00
Greg King
33f05d1162
Added a definition for the CBM610's first CIA chip.
2018-02-10 16:14:53 -05:00
Oliver Schmidt
6f6fd33cae
Added size_t.
2018-02-10 11:45:50 +01:00
Oliver Schmidt
b65981fc3a
Reduced default stack size to a reasonable value.
...
The unexpanded Creativision has only $206 bytes of RAM available to cc65 programs. So it's a bad idea(tm) to reserve $180 bytes for the software stack. $40 bytes seems a much better default (aka guess).
2018-02-10 11:30:10 +01:00
Oliver Schmidt
4f3b47c3d7
Merge pull request #588 from polluks/master
...
Cleanup notes
2018-02-10 00:35:14 +00:00
Stefan
89799cd02e
More notes
2018-02-10 00:08:28 +01:00
Stefan
46bdc016db
Removed empty notes
2018-02-07 18:08:40 +01:00
Stefan
54f8dea29b
Added note
2018-02-07 17:23:23 +01:00
Oliver Schmidt
af8a995116
Merge pull request #587 from polluks/master
...
Added missing documentation of header
2018-02-07 15:45:36 +00:00
Stefan
4d7098f2f2
Requested changes
2018-02-07 16:23:49 +01:00
Stefan
b69ee802fd
Sorted
2018-02-07 03:07:30 +01:00
Stefan
a48f998162
Added missing function
2018-02-07 01:55:56 +01:00
Stefan
a227089ba1
Added missing documentation of header
2018-02-07 00:11:55 +01:00
Greg King
e9cbd42b18
Normalized the definitions of structs in <supervision.h>.
...
The change matches the way that I/O register structures are defined in other headers. The names are defined as "struct", instead of as "pointer to struct".
2018-02-06 08:52:36 -05:00
Christian Groessler
ae4e9fab8c
Atari: CONSOL port of GTIA is readable and writable.
...
Adjust include/_gtia.h accordingly.
2018-02-02 18:28:52 +01:00
Oliver Schmidt
dacee3b9ed
Removed IRQ support from TGI drivers.
...
All but one TGI drivers didn't use IRQs. Especially when the TGI driver kernel was the only .interruptor this meant quite some unnecessary overhead because it pulled in the whole IRQ infrastructure.
The one driver using IRQs (the graphics driver for the 160x102x16 mode on the Lynx) now uses a library reference to set up a JMP to its IRQ handler.
2018-02-02 18:15:45 +01:00
Oliver Schmidt
7521ae888a
Marked Apple II EXEHDR segment as optional.
...
The docs say "Use -D __EXEHDR__=0 to omit the header." so it should work without generating a linker warning.
2018-02-02 14:46:57 +01:00
Oliver Schmidt
d7afadb2fe
Factored out target specific inclusion of target header.
...
So far conio.h included the target header to get the CH_... and COLOR_... macros. However tgi.h never did the same to get the TGI_COLOR_... macros. And some time ago the JOY_..._MASK macros moved from joystick.h into the target header yet joystick.h didn't include the target header.
Why wasn't that issue detected so far? Because about every program using TGI and/or the joystick uses CONIO too and therefore includes the target header that way.
However, conceptually it's clean to factor out the target header inclusion and have tgi.h and joystick.h do it like conio.h.
Apart from that user code may make direct use of target.h too.
2018-02-02 12:59:05 +01:00
Oliver Schmidt
2cf1bb89be
Removed ACE header.
...
There's no code in the tool chain to set __ACE__ nor is there an ace.lib C library.
2018-02-02 12:35:40 +01:00
Oliver Schmidt
935f68f686
Harmonized the style of including headers from headers.
...
We surely don't care about some file I/O on host machines in 2018 ;-)
2018-02-02 12:28:22 +01:00
Oliver Schmidt
f15cd3e468
Removed IRQ support from joystick drivers.
2018-02-02 12:02:52 +01:00
Oliver Schmidt
1976d6cd32
Removed IRQ support from joystick drivers.
...
All but one joystick drivers didn't use IRQs. Espsecially when the joystick driver kernel was the only .interruptor this meant quite some unnecessary overhead because it pulled in the whole IRQ infrastructure.
I was told that the one driver using IRQs (the DXS/HIT-4 Player joystick driver for the C64) can be reworked to not do it. Until this is done that driver is defunct.
2018-02-01 22:38:36 +01:00
Oliver Schmidt
27dacca4d3
Added missing dummy libref.
2018-02-01 22:06:59 +01:00
Oliver Schmidt
9031320dff
Added Makefile for recently added linker config test program.
2018-02-01 21:50:54 +01:00
Oliver Schmidt
5145235b97
Updated AppleCommander URL.
2018-02-01 21:46:56 +01:00
Oliver Schmidt
ef5461a32c
Mention the recently added linker configs.
2018-02-01 00:18:07 +01:00
Oliver Schmidt
58bfe28244
Updated AppleCommander URL.
2018-01-31 23:52:08 +01:00
Stefan
fb03b1105c
Merge pull request #5 from cc65/master
...
Update
2018-01-31 20:40:49 +01:00
Oliver Schmidt
19ed94fe25
Adjust alternative ProDOS 8 I/O buffer allocation module to linker configs.
...
The Apple II linker configs don't define symbols for the STARTP segment anymore. There refer to the load/start address in the same way the executable file header does.
2018-01-31 15:06:37 +01:00
Oliver Schmidt
38049d22ba
Provide symbole for RAM memory area.
...
The RAM memory area symbols are referred by the startup code. The 64k and 128k variant say "for assembler" so it may be not necessary to do that there. However given the "limited" state of documentation for the target I don't assign too much value to those statements.
Additionally it's unclear to me why two variants provide symbols for the ROM memory.
2018-01-31 14:53:31 +01:00
Oliver Schmidt
80b09ba9fc
Significantly simplified recently added linker config files.
...
I just forgot about the 'start' segment attribute - which makes the scenario at hand dead easy.
2018-01-31 08:54:48 +01:00
Oliver Schmidt
855aceaba8
Added Apple II linker configs for programs including a hires screen.
...
The Apple II hires screen buffer is located at $2000 (and can't be moved). The usual way to get along with this is to load the cc65 program above the hires screen buffer at $4000. However, that means that it becomes difficult to make good use of the memory below the hires screen buffer. The simplest approach is to add that memory to the heap. But there are programs containing just lots of code and not much data. One could think of moving the code to the area below the hires screen after loading (like it is done with the code for the language card). But if the program is really large (and already contains code to be moved to the language card) it won't just fit into memory in the first place.
The alternative is to load the program at the usual $803 and have it "cover" the hires screen buffer. Of course the part of the program that actually "covers" the hires screen buffer mustn't contain anything necessary for the program. The downside of this approach is that the program file on disk contains 8kB that can't be used by the program. But instead of just containing zeros the program can as well contain a hires screen picture that can be displayed right after startup.
Now the user can have code loaded below the hires screen buffer by setting the code-name to LOWCODE. However, he needs to explicitly do so. Otherwise the memory below the hires screen is totally wasted.
Trivia: Allowing to do this hires screen buffer "covering" was the very reason to change tgi_init() to not clear the hires screen anymore.
2018-01-29 17:46:36 +01:00
Oliver Schmidt
374c7e815c
Merge pull request #577 from polluks/master
...
Moved initcgetc to initcputc
2018-01-25 12:35:21 +00:00
Stefan
caa40866c3
Moved initcgetc to initcputc
2018-01-23 13:02:47 +01:00
Oliver Schmidt
5cc1426346
Merge pull request #575 from groessler/something_to_pull
...
atari5200: put default display list into its own memory area
2018-01-22 15:03:58 +00:00
Christian Groessler
356c73f2cf
atari5200.cfg: fix formatting
2018-01-21 15:42:12 +01:00
Christian Groessler
643152fb38
Fix last change, put display list at beginning of ROM.
2018-01-21 15:40:22 +01:00
Christian Groessler
2ef6514e47
atari5200: put default display list into its own memory area
...
This avoids 1K boundary crossing of the display list. Fix for issue #560 .
2018-01-19 15:18:43 +01:00
Oliver Schmidt
811424cc1b
Added recently published ProDOS version.
2018-01-18 12:37:21 +01:00
Oliver Schmidt
ed3546d8b2
Merge pull request #574 from prandeamus/paravirt-fix
...
Call ParaVirtHooks on JMP (indirect)
2018-01-15 08:37:32 +00:00
prandeamus
1a95be9c3a
65C02 JMP (ind,x) opcode 7C
2018-01-14 19:42:29 +00:00
prandeamus
009f56afb6
65C02 version too.
2018-01-13 22:42:39 +00:00
prandeamus
c23f264fe4
Call ParaVirtHooks on JMP (indirect)
2018-01-13 18:30:53 +00:00
Christian Groessler
f0708db792
crt0.s ("none" target): fix initialization of sp variable.
2018-01-11 13:15:19 +01:00
Oliver Schmidt
9229bb1f3e
Merge pull request #571 from greg-king5/win64
...
Change the type of a cc65 variable that holds both integers and pointers.
2018-01-10 12:48:28 +00:00
Oliver Schmidt
5a39dfd56c
Merge pull request #570 from prandeamus/compiler-optimizer-check
...
Complain if unsupported flags are provided after -O
2018-01-10 12:21:09 +00:00
Greg King
c67e90dd19
Changed the type of a compiler variable that holds either integers or pointers.
...
The change allows cc65 to be compiled on 64-bit Windows, without getting warnings. That OS is actually 32 bits with 64-bit pointers. Its pointers are "long long" instead of "long". The change uses type-names that are configured for the actual pointer width.
2018-01-09 05:34:16 -05:00
Greg King
da22c90d33
Shrank Telestrat initcwd.s by 3 bytes.
...
Changing when a loop test is done allowed the removal of an extra STA instruction.
2018-01-09 04:48:39 -05:00
prandeamus
e7aabce8e9
Complain if unsupported flags are provided after -O
2018-01-07 18:57:48 +00:00
Oliver Schmidt
1ea5889a87
Merge pull request #564 from bauen1/none-library
...
Add none.lib
2018-01-05 11:05:30 +00:00
bauen1
94077404f9
Added ctype.s to none.lib as suggested by oliverschmidt
2018-01-05 10:39:23 +01:00
bauen1
aa34aed7dd
Fixed unused import and export of none.cfg and none/crt0.s
2018-01-04 22:27:39 +01:00
bauen1
45482b4fb1
Fixed none/crt0.s to respect none.cfg
2018-01-04 22:14:01 +01:00
bauen1
cea8332084
Fixed none.cfg
2018-01-04 22:01:44 +01:00
bauen1
ef993f2fcf
none.cfg consistency changes
2018-01-04 21:29:58 +01:00
bauen1
60c68b1111
cl65 now links against none.lib when using --target none
2018-01-04 17:11:44 +01:00
bauen1
4759d3956e
Removed initialization of the stack from none.lib
2018-01-04 13:54:00 +01:00
bauen1
884dfcf3c1
Fixed none.lib missing symbols
2018-01-04 12:22:42 +01:00
bauen1
98b2b2544d
Added crt0 to none.lib
2018-01-04 12:07:35 +01:00
bauen1
14909f12fe
Implemented the requested changes.
...
Moved none to its alphabetic place in the Makefile
Reverted all changes to doc/customizing.sgml
2018-01-04 11:17:20 +01:00
bauen1
72bb32fcda
Revert "Renamed none.lib to no-platform.lib"
...
This reverts commit 26350714ee
.
It breaks the build
2018-01-02 15:32:27 +01:00
bauen1
26350714ee
Renamed none.lib to no-platform.lib
2018-01-02 15:15:27 +01:00
Oliver Schmidt
040134e775
Fixed typo.
2018-01-02 13:48:30 +01:00
Oliver Schmidt
d348d82d5a
Merge pull request #561 from mrdudz/soft80peek
...
C64 soft80 cpeek stuff
2018-01-01 16:13:04 +00:00
mrdudz
4abe12c729
fix spelling
2018-01-01 14:01:25 +01:00
bauen1
d9ba279e89
Fixed a typo in doc/customizing.sqml
2018-01-01 01:34:53 +01:00
bauen1
b08839cac4
Added libray to none target
2017-12-31 16:15:27 +01:00
Oliver Schmidt
fc5bf3f5e8
Merge pull request #562 from groessler/something_to_pull
...
Implementation of getfirstdevice/getnextdevice for Atari.
2017-12-29 12:39:06 +00:00
mrdudz
783408080c
convert to petscii
2017-12-28 17:52:27 +01:00
Christian Groessler
30c6018887
Implementation of getfirstdevice/getnextdevice for Atari.
2017-12-28 04:54:18 +01:00
mrdudz
f207a60365
some cleanup
2017-12-28 02:26:23 +01:00
mrdudz
142ba12634
updated testprog
2017-12-28 01:58:58 +01:00
mrdudz
0543ecabe2
added peek functions for soft80
2017-12-28 01:58:03 +01:00
Oliver Schmidt
9a8b7d9a23
Merge pull request #557 from polluks/master
...
Optimizing the stack size
2017-12-19 11:51:18 +00:00
greg-king5
c8dd88efad
Added missing "break;" statements to a "switch" statement.
2017-12-18 17:09:06 -05:00
Stefan
98e2b79ef4
Optimizing the stack size
2017-12-18 19:19:59 +01:00
Stefan
2fde8d35c2
Merge pull request #4 from cc65/master
...
Update
2017-12-18 11:21:00 +01:00
Oliver Schmidt
f5a2c52f80
Merge pull request #554 from polluks/patch-3
...
oops #550 again
2017-12-18 09:40:45 +00:00
Stefan
6497da262a
oops
...
I made a mistake.
2017-12-17 18:45:57 +01:00
Oliver Schmidt
bbbd4e4742
Merge pull request #553 from polluks/patch-1
...
Fixed memory config #551
2017-12-16 18:29:27 +00:00
Oliver Schmidt
fb193933cb
Merge pull request #552 from polluks/master
...
Added Oric-1 compatibility #550
2017-12-16 18:26:34 +00:00
Stefan
b4fe03e49f
Update c16.cfg
2017-12-16 02:36:31 +01:00
Stefan
afb758bd6c
Update c16-32k.cfg
2017-12-16 02:35:00 +01:00
Stefan
6452fbac89
Added new config #551
2017-12-16 01:04:05 +01:00
Stefan
41fab61253
Fixed memory config #551
2017-12-16 00:41:00 +01:00
Stefan
6faef87b49
Fixed Oric-1 compatibility #550
2017-12-15 23:51:39 +01:00
Oliver Schmidt
1a3b0e41f5
Merge pull request #545 from mrdudz/cbmpeek
...
cbm stuff from greggs pull request
2017-12-15 19:42:02 +00:00
mrdudz
2957acd133
some tweaks to testprog
2017-12-12 17:05:52 +01:00
mrdudz
892732f340
fix cpeeks() for C128 VDC
2017-12-12 17:05:24 +01:00
mrdudz
4da22fc6a0
fix cpeeks for CBM610
2017-12-12 04:32:39 +01:00
mrdudz
4d95e578f4
added missing tests
2017-12-12 03:49:07 +01:00
mrdudz
74b5540f76
copy cpeeks from generic version, this at least makes it work for 40 columns
2017-12-12 03:48:43 +01:00
mrdudz
9a609f6766
fix petscii conversion for C128
2017-12-11 21:53:00 +01:00
mrdudz
a54b4bebde
PET screen memory is at $8000, not $0800
2017-12-11 21:15:29 +01:00
mrdudz
8902730756
cbm stuff from greggs pull request
2017-12-11 19:52:11 +01:00
Oliver Schmidt
947b09ad96
Removed OPC_EOR_abx duplicate.
2017-12-07 20:39:28 +01:00
Oliver Schmidt
563185998f
Removed CBM chartype table.
2017-12-02 11:04:59 +01:00
Oliver Schmidt
e485e96de0
Suppress potential svnversion error output.
2017-11-30 19:17:45 +01:00
Oliver Schmidt
4641e36f0d
Merge pull request #541 from greg-king5/tgi-fix
...
Fix bugs in the Tiny Graphics Interface's document.
2017-11-30 18:11:18 +00:00
Greg King
ad9b7c0bfa
Fixed the sort order of the function descriptions in the TGI document.
2017-11-30 11:56:38 -05:00
Greg King
a029c00660
Fixed a Table-Of-Contents bug in the TGI document.
...
The <toc> tag can't be put inside of a section. It isn't needed, anyway; we can get a TOC by putting the header as a section, and the functions as subsections.
2017-11-30 11:38:12 -05:00
Oliver Schmidt
7e834a47b0
Merge pull request #533 from polluks/master
...
Splitting of funcref
2017-11-26 20:16:29 +00:00
Stefan
fa9a1cf2dc
Update tgi.sgml
...
Added missing ref.
2017-11-25 23:32:52 +01:00
Stefan
9725c44934
Update tgi.sgml
...
I should take more attention of Travis.
2017-11-25 23:09:19 +01:00
Stefan
aa30f50fbe
Update tgi.sgml
...
Fixed toc.
2017-11-25 22:39:41 +01:00
Stefan
41df21855a
Splitting of funcref
2017-11-25 19:31:36 +01:00
Greg King
1912287231
Added missing names for the CIA registers in the C64/C128.
2017-11-25 13:29:50 -05:00
Oliver Schmidt
b74c179bf4
Merge pull request #530 from polluks/patch-1
...
Subversion fallback
2017-11-22 18:59:14 +00:00
Stefan
7e4db1fdd6
Option removed
2017-11-22 18:17:43 +01:00
Oliver Schmidt
d32d77c6a5
Merge pull request #531 from polluks/patch-2
...
Fix docs for #526
2017-11-22 09:26:58 +00:00
Stefan
61b2264327
Fix docs for #526
...
funcref.sgml is still growing and growing, how about outsourcing all TGI functions into tgi.sgml?
2017-11-22 01:35:42 +01:00
Stefan
44b13c1ca0
Subversion fallback
...
If you use don't use Git to access the repository, you will still get a revision number.
2017-11-22 01:02:02 +01:00
Oliver Schmidt
ab54f92024
Make use of C library waitvsync().
2017-11-21 23:03:50 +01:00
Oliver Schmidt
6034b68f06
Bumped API version.
...
Removal of the joy_masks array with 7f52a770d9
was exactly the very type of change asking for a new API version.
2017-11-21 22:42:43 +01:00
Oliver Schmidt
3f8de9f026
Merge pull request #529 from polluks/master
...
Added standard joystick driver for the Supervision.
2017-11-21 10:09:53 +00:00
Stefan
f2e12b4715
defined DYN_DRV
2017-11-21 10:56:35 +01:00
Stefan
7d1c92dc12
New API
2017-11-21 10:33:48 +01:00
Stefan
c4baf9588e
directive removed
2017-11-21 10:29:35 +01:00
Stefan
f8f464846a
directive removed
2017-11-21 10:27:08 +01:00
Stefan
e49744ecd0
New API
2017-11-21 10:22:53 +01:00
Stefan
f9b4e0b574
Update supervision.h
2017-11-21 10:12:35 +01:00
Stefan
40f960f733
Date
2017-11-21 09:59:31 +01:00
Stefan
e9c16e62e7
Fix docs for #453
2017-11-21 09:51:35 +01:00
Stefan
55117039f0
Merge pull request #3 from polluks/polluks-sv-joy
...
Added standard joystick driver for the Supervision.
2017-11-21 06:59:55 +01:00
Stefan
949c2aa76f
Add files via upload
2017-11-21 06:57:02 +01:00
Stefan
12bfed04b1
Create supervision-stdjoy.s
2017-11-21 06:53:26 +01:00
Stefan
51731cb1f9
Merge pull request #2 from cc65/master
...
Update
2017-11-21 00:58:58 +01:00
Oliver Schmidt
c99a36155b
Merge pull request #524 from groessler/something_to_pull
...
Creativision documentation enhancements.
2017-11-15 10:02:29 +00:00
Christian Groessler
9ead405938
Creativision documentation enhancements.
2017-11-15 00:13:06 +01:00
jede
4e0958eae6
Bug corrected : Fwrite did not return number of byte written.
2017-11-14 22:04:57 +01:00
Stefan
88e96ff4d8
Merge pull request #1 from cc65/master
...
Update
2017-11-14 03:36:03 +01:00
Oliver Schmidt
06794b221d
Made cbm_k_untlk() available.
2017-11-13 20:38:41 +01:00
Oliver Schmidt
258cdf2e07
Merge pull request #521 from jedeoric/master
...
Fix cc65 doc for Telestrat target
2017-11-12 10:02:56 +00:00
jede
3c97a04b25
Fix cc65 doc for telestrat target
2017-11-12 10:42:09 +01:00
Oliver Schmidt
0f87844a7c
Merge pull request #519 from jedeoric/master
...
[Telestrat] mkdir is now available
2017-11-11 21:09:59 +00:00
jede
64ed0a1937
Doc modified
2017-11-10 10:58:01 +01:00
Oliver Schmidt
da3a5081fe
Merge pull request #518 from polluks/patch-1
...
Missing declaration
2017-11-09 16:44:32 +00:00
Stefan
2fd99e9dec
Missing declaration
2017-11-09 17:36:21 +01:00
Oliver Schmidt
e49c33148c
Merge pull request #517 from Fabrizio-Caruso/gamate_joy2
...
Correct bits in gamate joystick detection
2017-11-09 15:43:41 +00:00
Fabrizio Caruso
0a61b061c7
Update gamate-stdjoy.s
2017-11-09 16:42:52 +01:00
Fabrizio Caruso
bf0ae22969
Update gamate-stdjoy.s
2017-11-09 16:36:06 +01:00
U-AMAIISDOM\fcaruso
e4a235b233
Correct bits in gamate joystick detection
2017-11-09 13:51:04 +01:00
Oliver Schmidt
b6f854be5e
Merge pull request #514 from pfusik/zlib-fix2
...
Fix another zlib bug
2017-11-08 10:45:12 +00:00
Piotr Fusik
84edf4cbfd
Fix more than 256 codes of same length.
...
Fix all 256 literal codes of same length.
2017-11-07 20:10:19 +01:00
Oliver Schmidt
afcfba9355
Use macro actually defined in cbm_filetype.h.
2017-11-06 21:02:14 +01:00
Oliver Schmidt
59fed23824
Merge pull request #513 from pfusik/zlib-fix1
...
Fix zlib bug
2017-11-06 19:47:56 +00:00
Piotr Fusik
d3451bb299
Fix 256 codes of same length
2017-11-06 19:46:26 +01:00
Oliver Schmidt
e7137a230c
Merge pull request #510 from polluks/master
...
Alternative joystick interface for Atmos
2017-11-05 12:38:32 +00:00
Stefan
e64c42f224
Update atmos.sgml
2017-11-03 20:49:49 +01:00
Stefan
9ee4431994
Add files via upload
...
Alternative joystick interface
2017-11-02 21:11:08 +01:00
Greg King
de1f80571a
Fixed the way that the disassembler looks for the end of a segment.
...
It checks only the bytes that actually were printed. It won't show a bad error message when disassembling address $0000. Fixes #506 on cc65's Github project.
2017-10-31 00:47:07 -04:00
jede
eae485dc64
Empty item removed
2017-10-28 00:40:56 +02:00
jede
807b55862d
Now mkdir is working
2017-10-28 00:37:47 +02:00
jede
7435c2f3ca
Fix doc/telestrat.sgml
2017-10-26 22:00:12 +02:00
Oliver Schmidt
15d9373ad7
Merge pull request #507 from jedeoric/master
...
[telestrat] tgi_line & tgi_outtext are available, toascii.s added, doc updated
2017-10-25 14:49:14 +00:00
jede
3bc0843afc
FIX label for setpixelmode
2017-10-23 23:25:08 +02:00
jede
aaf8863de5
Merge branch 'master' of https://github.com/jedeoric/cc65
2017-10-23 23:04:22 +02:00
jede
ebfd218f62
Comment correction
2017-10-23 23:02:54 +02:00
jede
ed4458c162
Comment correction
2017-10-23 23:00:43 +02:00
jede
1403d797f0
Remove toascii.s
2017-10-23 20:52:22 +02:00
Oliver Schmidt
c0ce20e9cc
Save/restore jmpvec as it is used by generated code - see g_callind().
2017-10-23 18:57:28 +02:00
Oliver Schmidt
bd9b4ef60c
Replaced three (logically) identical files with a single file.
2017-10-23 18:35:06 +02:00
Oliver Schmidt
c8d6ca908d
Minor style fix.
2017-10-23 18:22:51 +02:00
jede
0517a2c2ab
removing extra spaces
2017-10-22 23:12:12 +02:00
jedeoric
af1c7f0c8b
Merge branch 'master' into master
2017-10-22 23:11:18 +02:00
jede
93f202850a
toascii.s added, doc updated, tgi_line & tgi_outtext are available
2017-10-22 23:06:56 +02:00
Oliver Schmidt
4da1d3232f
Merge pull request #504 from jedeoric/master
...
[Telestrat] TGI initialization, some bugs (clrscr) correction, cgetc optimization, irq management
2017-10-22 11:14:55 +00:00
jede
2b7d4fff5a
comment correction
2017-10-20 21:29:16 +02:00
jede
351a5ab20a
Now setPixel works in TGI.
2017-10-20 21:03:30 +02:00
jede
f964fdbe56
Correction : authors
2017-10-16 18:18:36 +02:00
jede
195b5f0a07
Optimizing (from Polluks tip)
2017-10-16 18:15:53 +02:00
jede
18c94e123f
tgi_clear, tgi_init, tgi_done, tgi_getmaxx, tgi_getmaxy are working
2017-10-16 18:08:48 +02:00
jede
7b74264720
irq.s added
2017-10-16 17:34:32 +02:00
jede
7107019d6f
Adding IRQVec
2017-10-16 17:33:10 +02:00
jede
db1319de4c
clrscr.s switch to text mode
2017-10-16 17:28:00 +02:00
jede
2ee7cf0377
I/O identifiers added
2017-10-16 16:11:37 +02:00
jede
256ba6bddf
Adding XSOUT : Send A register to RS232
2017-10-16 16:06:18 +02:00
Greg King
bea5364b97
Added commit ca4ed290d5964dbe833224d967d3707e20972278's command-line option to the cl65 document.
2017-10-16 09:39:33 -04:00
Oliver Schmidt
820b4dbc77
Merge pull request #503 from jedeoric/master
...
[telestrat] cgetc is now available
2017-10-08 17:56:04 +00:00
jede
a01c8c238c
Correcting comments
2017-10-08 18:14:26 +02:00
jede
ff12835ee2
Adding cgetc
2017-10-08 18:11:09 +02:00
Oliver Schmidt
e67bbcb0b2
Merge pull request #501 from clbr/master
...
cl65: Add support for --all-cdecl
2017-10-03 23:07:09 +02:00
Christian Groessler
a084ea8e42
Atari: split "setcursor" function out of cgetc.s source file into setcursor.s.
...
This function is used by many other CONIO functions, and the user program not
necessarily uses 'cgetc'. Having "setcursor" in a different object file saves
space in this case and also allows the user program to override it (e.g. when
not using GRAPHICS 0 mode).
2017-10-03 21:58:52 +02:00
Lauri Kasanen
ca4ed290d5
cl65: Add support for --all-cdecl
2017-10-03 18:46:39 +03:00
jede
56360ea054
optimize
2017-10-02 12:20:52 +02:00
jede
a1c8860f63
telestrat : cgetc add for conio
2017-10-01 23:23:03 +02:00
Oliver Schmidt
3a6430b13d
Merge pull request #494 from jedeoric/master
...
[telestrat] Adding some vars, adding getcwd management, changing ZP address and ZP length
2017-09-27 09:52:19 +02:00
jede
95a88a787d
remove FILENAME_MAX
2017-09-25 21:47:05 +02:00
jede
d8904c550b
Fixing buffer overflow with cwd command (FILENAME_MAX must be at 50 +1 bytes)
2017-09-25 21:39:57 +02:00
jede
86741cb1dd
correcting missing _
2017-09-24 20:07:02 +02:00
jede
5bbb27c8af
Fixing bug for cwd
2017-09-24 20:04:50 +02:00
jede
fabb6acf3f
Initcwd is now working for telestrat
2017-09-24 19:23:44 +02:00
jede
60e41e3110
Adding XVARS primitive
2017-09-24 19:22:43 +02:00
jede
d4c6c995ba
Correcting missing return line :/
2017-09-24 11:57:52 +02:00
jede
fdd789edd8
correcting some return lines
2017-09-24 11:56:55 +02:00
jede
c640619db5
Add some bytes in ZP block in order to able to link with o65 files
2017-09-24 11:55:37 +02:00
jede
1c7c44e12c
adding some vars
2017-09-24 11:46:52 +02:00
greg-king5
cdca644c83
Merge pull request #487 from polluks/patch-1
...
Fixed address in CBM 510 document.
2017-09-14 12:08:10 -04:00
Stefan
945dcfd63a
Fixed address
...
See cbm510.cfg
2017-09-13 23:51:07 +02:00
Christian Groessler
7623d4ea83
conio.h: include 'creativision.h' when compiling for this target.
2017-09-12 21:57:16 +02:00
Greg King
5802b0963f
Made <conio.h> include <atari5200.h> when we compile for the Atari 5200 console.
...
atari5200.lib has some conio functions.
2017-09-10 12:27:57 -04:00
Oliver Schmidt
308f74561c
Merge pull request #482 from greg-king5/pet-kbrepeat
...
Make the CBM Pet kbrepeat() work on both 40-/80-column machines.
2017-09-06 09:19:04 +02:00
Greg King
51765c6e5c
Removed an unwanted button mask table from a VIC-20 joystick driver.
...
It had put the jump table at the wrong place. Programs crashed as soon as they tried to initiate the driver.
2017-09-05 16:56:20 -04:00
Greg King
3c0b8c4e86
Made the CBM Pet kbrepeat() work on both 40-column and 80-column machines.
...
Put the kbrepeat() description in an alphabetical position in the function document.
2017-09-05 09:19:01 -04:00
Oliver Schmidt
0deeccebf8
Added JOY_FIRE.
...
According to https://en.wikipedia.org/wiki/Atari_8-bit_computer_peripherals it seems appropriate to add a JOY_FIRE definition for the ATARI.
2017-09-04 09:41:19 +02:00
Oliver Schmidt
4cfa3e6f92
Merge pull request #480 from phs/phs/docs-typo
...
At most 256 bytes will be reserved
2017-09-04 09:15:36 +02:00
Phil Smith
ded1c20190
Reserve space in examples with .res
2017-09-02 19:30:14 -07:00
Phil Smith
929553dc8d
At most 256 bytes will be reserved
2017-09-02 00:02:47 -07:00
Oliver Schmidt
4aa19494f5
Removed dysfunctional kbrepeatdelay() and kbrepeatrate().
...
As discussed in https://github.com/cc65/cc65/pull/452 after my premature merge the two functions in question don't work as expected.
Additionally I adjusted several style deviations in the pull request in question.
2017-08-30 16:37:59 +02:00
Greg King
7a1f5358df
Fixed missing name and semicolon in two device structs.
2017-08-23 01:46:57 -04:00
Oliver Schmidt
acf831658f
Adjusted to recent driver interface change.
...
Please note that this change is absolutely untested!
Apart from the recent driver interface change:
- vic20-stdjoy.s was "slightly broken" because it didn't clear x on return from joy_read.
- vic20-ptvjoy.s was "heavily broken" because it returned a totally different set of bits of the first joystick.
2017-08-20 17:17:39 +02:00
Oliver Schmidt
20c85c8a1c
Minor style adjustment.
2017-08-20 17:17:38 +02:00
Oliver Schmidt
a817da7c6b
Adjusted to recent driver interface change.
...
Please note that this change is absolutely untested!
2017-08-20 17:17:37 +02:00
Oliver Schmidt
b5a4e5667a
Merge pull request #452 from mrdudz/kbrepeat
...
kbrepeatdelay and kbrepeatrate for cbm targets
2017-08-20 14:15:37 +02:00
Oliver Schmidt
0c54a19a0b
Adjusted to recent driver interface change.
...
The change is inspired by the code of the standard joystick driver. It is however absolutely untested.
Note: Sites like http://raster.atariportal.cz/english.htm state that there needs to be a delay when reading joysticks via the MultiJoy adapter. There's no such delay in the driver. But I don't dare to decide to add it.
2017-08-20 11:49:02 +02:00
mrdudz
3c3558892e
add note on fastcall
2017-08-19 19:16:31 +02:00
mrdudz
960957075f
use fastcall
2017-08-19 19:14:24 +02:00
Oliver Schmidt
7f52a770d9
Removed joy_masks array.
...
So far the joy_masks array allowed several joystick drivers for a single target to each have different joy_read return values. However this meant that every call to joy_read implied an additional joy_masks lookup to post-process the return value.
Given that almost all targets only come with a single joystick driver this seems an inappropriate overhead. Therefore now the target header files contain constants matching the return value of the joy_read of the joystick driver(s) on that target.
If there indeed are several joystick drivers for a single target they must agree on a common return value for joy_read. In some cases this was alredy the case as there's a "natural" return value for joy_read. However a few joystick drivers need to be adjusted. This may cause some overhead inside the driver. But that is for sure smaller than the overhead introduced by the joy_masks lookup before.
!!! ToDo !!!
The following three joystick drivers become broken with this commit and need to be adjusted:
- atrmj8.s
- c64-numpad.s
- vic20-stdjoy.s
2017-08-19 19:11:28 +02:00
Bob Andrews
5dcebbccb6
Merge branch 'master' into kbrepeat
2017-08-06 20:22:52 +02:00
mrdudz
99e6dd18d6
resolve conflict
2017-08-06 20:20:22 +02:00
mrdudz
dafe3c1e3c
added documentation for the kbrepeat... functions
2017-08-06 20:15:35 +02:00
mrdudz
bd9208879e
added prototypes and proposed constants
2017-08-06 18:09:40 +02:00
Oliver Schmidt
f5e9b4012a
Merge pull request #473 from groessler/something_to_pull
...
atari5200.inc: fix formatting
2017-08-03 00:46:22 +02:00
Christian Groessler
f9c59a0976
atari5200.inc: fix formatting
2017-08-02 23:59:32 +02:00
Oliver Schmidt
92ff854bff
Removed undesirable empty lines.
2017-07-31 13:50:27 +02:00
Oliver Schmidt
16ec131586
Merge pull request #472 from gungwald/master
...
Added doc for file types and aux types
2017-07-31 13:46:20 +02:00
Bill Chatfield
0bd5a8a331
Made corrections according to review comments
2017-07-30 19:51:23 -04:00
Bill Chatfield
85e572f4e1
Made corrections according to review comments
2017-07-30 19:49:20 -04:00
Bill Chatfield
9d89613bb2
Added documentation for setting the file type for fopen.
2017-07-29 01:25:07 -04:00
Bill Chatfield
2c7b757b4c
Documented _filetype and _auxtype
2017-07-28 17:44:13 -04:00
Oliver Schmidt
375ee571c2
Removed 'fire'.
2017-07-28 19:19:11 +02:00
Oliver Schmidt
ef17e65c1b
Merge pull request #467 from pmjdebruijn/joy
...
joy: refactor generic joy_masks array indices and macros
2017-07-28 19:17:50 +02:00
Oliver Schmidt
5bb6e62b84
Merge pull request #471 from gungwald/master
...
Added ProDOS file types and auxiliary types
2017-07-28 18:22:24 +02:00
Bill Chatfield
80c1c94a87
Corrected comment formatting
2017-07-28 12:16:55 -04:00
Bill Chatfield
f40bb93677
Added Variables section comment per convention
2017-07-28 12:12:18 -04:00
Bill Chatfield
abb2e8034b
Moved file type variables to apple2_filetype.h
2017-07-28 12:09:58 -04:00
Bill Chatfield
9459f11688
Corrected copyright and moved file type globals
...
The file type globals., _filetype and _auxtype, were moved from apple2.h to this file.
2017-07-28 12:01:57 -04:00
Bill Chatfield
91d0659663
Rolled back changes to exclude vim swap files
...
Only files generated by the tools in the project are to be ignored
2017-07-28 11:29:11 -04:00
Bill Chatfield
e64e11d2c5
Finished adding all types and comments
2017-07-27 14:44:02 -04:00
Bill Chatfield
a623169477
Added ProDOS file type definitions
2017-07-26 11:15:49 -04:00
Pascal de Bruijn
c802c9c946
joy: refactor generic joy_masks array indices and macros
2017-07-23 23:45:52 +02:00
Oliver Schmidt
5d333239c6
Merge pull request #468 from pmjdebruijn/samples
...
make changes
2017-07-23 02:09:20 +02:00
Oliver Schmidt
f0d760de4a
Merge pull request #462 from pmjdebruijn/pragma-message
...
pragma: add minimalist message pragma implementation
2017-07-22 16:54:23 +02:00
Pascal de Bruijn
19f6ae1d54
make: change uppercase prefix var
2017-07-22 16:38:50 +02:00
Pascal de Bruijn
64581b65b0
samples: install to subdirectory
2017-07-22 16:33:42 +02:00
Pascal de Bruijn
80b27bde5e
pragma: add minimalist message pragma documentation
...
documents 6e93c1ba73
2017-07-22 15:35:24 +02:00
Oliver Schmidt
d90f032114
Merge pull request #464 from pmjdebruijn/joy
...
expand nes/pce joystick defines
2017-07-21 16:18:26 +02:00
Pascal de Bruijn
8ad72fc9ca
pce: add system specific joy_masks array indices and macros
2017-07-19 18:29:35 +02:00
Pascal de Bruijn
d277055b5a
nes: add system specific joy_masks array indices and macros
2017-07-19 18:14:44 +02:00
Pascal de Bruijn
2d9922a46e
nes: remove semiredundant KEY_ defines
...
There are already JOY_ defines for most of these, and this should
be expanded upon instead.
2017-07-19 18:02:13 +02:00
Pascal de Bruijn
6e93c1ba73
pragma: add minimalist message pragma implementation
...
for example:
#pragma message ("in a bottle")
results in:
hello.c(207): Note: in a bottle
2017-07-19 17:58:13 +02:00
Oliver Schmidt
6002e59c28
Merge pull request #453 from mrdudz/waitvsync
...
waitvblank for cbm targets
2017-07-18 15:38:27 +02:00
mrdudz
b6d3d32e88
wait for line 0 instead of last line
2017-07-18 01:06:20 +02:00
mrdudz
8eee51913a
add headers/fix formatting
2017-07-18 01:04:53 +02:00
mrdudz
c24080f289
do banking
2017-07-18 00:41:54 +02:00
mrdudz
cbdad764f0
oops
2017-07-18 00:01:15 +02:00
mrdudz
fe850fece8
implement waitvsync for plus4/c16
2017-07-17 23:55:18 +02:00
mrdudz
33791c6efd
added prototype to cbm.h
2017-07-17 23:43:08 +02:00
mrdudz
d965601a5e
fix sgml
2017-07-17 23:31:01 +02:00
mrdudz
1abce3a2a1
rename all waitvblank() to waitvsync()
2017-07-17 23:15:05 +02:00
greg-king5
f5615c6ed4
Merged pull request #459 from "pmjdebruijn/pragma".
...
pragma: bring pragma_t enum in line with Pragmas struct
2017-07-17 15:52:16 -04:00
Pascal de Bruijn
ea7f4d7489
pragma: bring pragma_t enum in line with Pragmas struct
...
fixes an inconsequential inconsistency, might prevent some
confusion in the future.
2017-07-17 19:43:11 +02:00
Oliver Schmidt
6de78c536f
Made DOS 3.3 IRQ statement more general.
...
I recently came across that the question if a driver is compatible with DOS 3.3 isn't about the fact if it actually uses IRQs but if it potentially could use IRQs as the driver kernel pulls in the IRQ handler anyway. This is especially suboptimal in the scenario of statically linked drivers where it is concpetually totally clear at link time they use IRQs or not. Apart from that it might make sense to be able to define on a per-target basis if _any_ of the drivers of a certain class uses IRQs. If that isn't the cases the driver kernel for that driver class for that target could omit IRQ handling too. I'm aware that Uz imagined drivers being loaded which weren't known when the program was linked - but I don't see this.
2017-06-30 09:50:28 +02:00
Oliver Schmidt
26a2d8a5c6
Merge pull request #457 from pfusik/const-arrays
...
Make some arrays const.
2017-06-30 09:28:40 +02:00
Oliver Schmidt
7c560bef87
Merge pull request #456 from greg-king5/make-dep
...
Add a makefile dependency for the libraries' "extra" files.
2017-06-30 09:25:10 +02:00
Piotr Fusik
c0812670c1
Fix coding style.
2017-06-30 07:35:21 +02:00
Greg King
141c25b42b
Added the extra dependency file's directory as an order-only prerequisite.
...
The extra dependency files are put into different places than the extra object files' location. Therefore, the rule must pre-make two directories.
2017-06-29 13:56:29 -04:00
Piotr Fusik
b31ae57be1
Make some arrays const.
2017-06-28 20:43:31 +02:00
Greg King
d1501731e4
Added a makefile dependency for the libraries' "extra" files.
...
Some of the files in "libsrc/*/extra/" include other library files. But, the "lib/*.o" files weren't rebuilt when those other files changed.
The new dependency rules must be "bootstrapped". You must force a rebuild of all of the extra library object files (it will create the dependency files). Use these commands:
rm lib/*.o
make lib
2017-06-28 05:51:46 -04:00
Oliver Schmidt
4cf7ee1dba
Merge pull request #455 from greg-king5/osic1p-code
...
Add functions that make it easier to write portable programs for OSI computers.
2017-06-26 14:28:55 +02:00
Greg King
bd883327ac
Added two functions that make it easier to write portable programs for Ohio Scientific computers.
2017-06-26 02:34:23 -04:00
mrdudz
3ff4a1333c
use BIT so akku wont get trashed at least in 40 cols mode
2017-06-22 00:19:39 +02:00
mrdudz
e985e0beb4
fixed zp locations provided by polluks :)
2017-06-22 00:04:42 +02:00
mrdudz
49aad01bf1
dont trash akku if possible, use VDC register when in 80column mode
2017-06-21 23:18:00 +02:00
Oliver Schmidt
8fcb5139da
Merge pull request #454 from greg-king5/dup-segment
...
Stop cc65 from putting redundant .segment directives into its output file.
2017-06-17 11:25:10 +02:00
Greg King
d3ccc289c1
Stopped cc65 from putting redundant .segment directives into its Assembly output.
2017-06-16 21:53:50 -04:00
mrdudz
a42feca228
fixed some stuff, compiles again :)
2017-06-17 02:37:34 +02:00
mrdudz
035621aa95
fixed code a bit so it compiles again :)
2017-06-17 02:26:54 +02:00
Oliver Schmidt
98a2c324f8
Merge pull request #450 from greg-king5/gotoxy-label
...
Add a missing label to some conio cursor movement functions.
2017-06-16 09:20:29 +02:00
Greg King
30f941ba39
Added a missing label to some conio cursor movement functions.
...
It had prevented other functions, e.g. cputs(), from being linked into a program.
2017-06-15 16:44:46 -04:00
Oliver Schmidt
f44406c46f
Merge pull request #446 from clbr/lz4
...
Add LZ4 decompression support
2017-06-10 23:23:12 +02:00
Lauri Kasanen
4235e569d2
Small lz4 optimizations
2017-06-09 16:57:47 +03:00
Lauri Kasanen
135041ac3c
Add lz4 doc
2017-06-09 10:54:50 +03:00
Lauri Kasanen
c444ed5e4f
Mention the optimizations in a comment
2017-06-09 10:42:24 +03:00
Lauri Kasanen
bba961e54d
Use hex immediates
2017-06-09 10:40:17 +03:00
Lauri Kasanen
cd460a8160
Remove _ from internal vars
2017-06-09 10:37:50 +03:00
Lauri Kasanen
e85796e028
Edit comment style, add second const
2017-06-09 10:35:16 +03:00
Oliver Schmidt
4156538546
Merge pull request #447 from greg-king5/regression-optimate
...
Add a missing -O configuration to some regression-test make-files.
2017-06-07 16:52:37 +02:00
greg-king5
06c3cd8307
Added a missing -O configuration.
2017-06-07 10:31:09 -04:00
greg-king5
e24bb372d0
Added a missing -O configuration.
2017-06-07 10:26:34 -04:00
greg-king5
a397a8c1a1
Added missing -O configuration.
2017-06-07 10:20:20 -04:00
Lauri Kasanen
ee49ecdf43
Expand tabs to spaces in lz4.s
2017-06-06 19:31:16 +03:00
Lauri Kasanen
e75a59d7a8
Add LZ4 decompression support
2017-06-06 18:48:25 +03:00
Oliver Schmidt
b8f30ba0de
Merge pull request #436 from bbbradsmith/ca65_define_macro_doc
...
Small improvement to ca65 macro documentation
2017-06-05 15:03:37 +02:00
Oliver Schmidt
682fd226ae
Merge pull request #442 from polluks/patch-6
...
Use verbosity
2017-06-03 22:06:27 +02:00
Oliver Schmidt
6549457929
Merge pull request #443 from polluks/patch-7
...
More POSIX.2, staying compatible
2017-06-03 22:05:10 +02:00
Oliver Schmidt
1a20630d2a
Merge pull request #444 from polluks/patch-8
...
Verbosity was missing; POSIX operations
2017-06-03 22:04:52 +02:00
Stefan
52642f6c8f
Deprecated commands mentioned
2017-05-30 02:05:35 +02:00
Stefan
0a011c31ea
Update ar65.sgml
2017-05-28 16:22:34 +02:00
Stefan
80feb80168
Update main.c
2017-05-28 16:17:34 +02:00
Stefan
ed65eaf682
Verbosity was missing; POSIX operations
2017-05-28 16:12:02 +02:00
Stefan
49e22f566f
Update main.c
2017-05-28 15:29:49 +02:00
Stefan
ea9430e28e
Update list.c
2017-05-28 15:22:33 +02:00
Stefan
c9c2562c14
Update list.c
2017-05-28 15:13:43 +02:00
Stefan
843c5442b1
Update list.c
2017-05-28 13:13:53 +02:00
Stefan
9bdcb0a31b
More POSIX.2, staying compatible
2017-05-28 00:35:38 +02:00
Stefan
ff33939385
Use verbosity
2017-05-28 00:29:53 +02:00
Oliver Schmidt
035baa49bd
Merge pull request #438 from bbbradsmith/ca65_rand_comment
...
rand.s comment update
2017-05-26 15:16:42 +02:00
Oliver Schmidt
c269caaded
Merge pull request #441 from polluks/patch-3
...
Small typo
2017-05-26 11:03:57 +02:00
Oliver Schmidt
8f9c7f0d60
Merge pull request #440 from polluks/patch-5
...
Also Oricutron mentioned
2017-05-26 11:03:06 +02:00
Oliver Schmidt
162d01519b
Merge pull request #439 from polluks/patch-4
...
Some clean-up
2017-05-26 11:02:02 +02:00
Stefan
3b33af88cf
Oricutron mentioned
2017-05-26 01:44:33 +02:00
Brad Smith
950d65e8ed
detectabl > detectable
2017-05-25 03:20:11 -04:00
Brad Smith
1602aab6e9
forgot to update comments from earlier #323 rand.s change
2017-05-25 03:01:25 -04:00
Greg King
e31133c804
Added "html" and "info" goals to the top-level Makefile.
...
They are for people who don't want to build both types of documents at the same time.
2017-05-24 18:49:02 -04:00
Oliver Schmidt
242532a8df
Merge pull request #437 from greg-king5/cl65-E
...
Add a "-E" description to cl65's document.
2017-05-24 23:41:16 +02:00
Greg King
ca1b9deb59
Added a description of the "-E" command-line option to cl65's document.
...
Improved other descriptions, to make them more consistent and accurate.
2017-05-24 16:47:12 -04:00
Oliver Schmidt
1bbe7043e1
Merge pull request #426 from MonteCarlos/master
...
added -E switch to cl65 for >>stop after the preprocessing stage<<.
2017-05-24 09:44:24 +02:00
Stefan
87a9e0ce4f
clean-up
2017-05-24 00:04:52 +02:00
Brad Smith
051cf11ce6
expanding macro examples, trying to adhere to style guidelines
2017-05-23 17:07:45 -04:00
mc78
f87a575d4d
added missing spaces before braces. added unknown option msg if not given -Wc|l|a when passing options to subprocess
2017-05-23 22:57:27 +02:00
Brad Smith
355696d17d
ca65 documentation of .define macros, making note that parentheses in ca65 macros are problematic especially when thinking of them as "C style", replacing unclear example with an example showing how accidental parentheses can cause a problem.
2017-05-22 21:33:02 -04:00
Stefan
d9a8c30053
typo
2017-05-22 23:53:51 +02:00
mc78
21b1add984
added four escaped tabs to -E Stop after .... description
2017-05-22 23:21:55 +02:00
mc78
3157e4be1e
added empty lines and spaces according to olivers comments. Made local functions static.
2017-05-22 23:07:31 +02:00
Oliver Schmidt
1c54213091
Merge pull request #433 from clbr/trampoline-fixes
...
Trampoline fixes
2017-05-20 12:29:10 +02:00
Oliver Schmidt
ce56ba927a
Merge pull request #435 from greg-king5/wrapped-call
...
Add more info to the docs about "#pragma wrapped-call".
2017-05-20 12:28:24 +02:00
Lauri Kasanen
05b73276c2
Update test description
2017-05-20 09:53:30 +03:00
Greg King
39e55bdb77
Added more info to the documentation of "#pragma wrapped-call".
2017-05-20 01:41:49 -04:00
Lauri Kasanen
e8a735492d
Correct comment style
2017-05-19 15:38:50 +03:00
Lauri Kasanen
901ac80026
Wrapper functions use all registers
2017-05-19 15:25:50 +03:00
Lauri Kasanen
80e6afd335
Add two new trampoline test cases
2017-05-19 14:34:10 +03:00
Oliver Schmidt
938fd5e655
Merge pull request #431 from polluks/patch-2
...
shorter code
2017-05-19 00:23:50 +02:00
Stefan
75028e4108
shorter code
2017-05-18 23:58:10 +02:00
Oliver Schmidt
0d4edc326e
Merge pull request #430 from polluks/patch-1
...
VIC's kernal does not support CTRL+[
2017-05-18 22:45:50 +02:00
Oliver Schmidt
16a2beaaca
Adjusted VS project files to commit 11b01b908d
2017-05-18 22:40:18 +02:00
Stefan
70b541b81e
Changed section
2017-05-18 21:21:02 +02:00
Oliver Schmidt
11b01b908d
Merge pull request #424 from clbr/trampoline
...
Trampoline support
2017-05-18 16:29:34 +02:00
Lauri Kasanen
219b239a34
Adjustments in response to latest comments
2017-05-18 17:14:26 +03:00
Lauri Kasanen
4c05c46cd1
Remove RAM-trampoline array support
2017-05-18 16:11:39 +03:00
Lauri Kasanen
f6fa74a636
Rename trampoline to wrappedcall everywhere
2017-05-18 16:00:04 +03:00
Lauri Kasanen
7feced8862
More tabs to spaces
2017-05-18 15:54:47 +03:00
Lauri Kasanen
a590b99f5b
Align with spaces instead of tabs here
2017-05-18 14:21:43 +03:00
Stefan
c6cab0bb27
VIC's kernal does not support CTRL+[
2017-05-18 12:59:03 +02:00
Oliver Schmidt
390ee4e22f
Merge pull request #429 from pfusik/opt-stdfunc
...
Optimize the inlined strlen/memcpy/memset
2017-05-17 22:58:54 +02:00
Oliver Schmidt
73f1c0e11d
Migrate 'encrypted variables' variables to 'repository settings'.
...
The GitHub token used for GitHub Pages deployment was revoked (see https://blog.travis-ci.com/2017-05-08-security-advisory ) so I took the opportunity to make use of the "new" repository settings feature instead of fiddling with variable encryption again.
2017-05-17 20:56:21 +02:00
Oliver Schmidt
f151142e6a
Keep GCC from complaining about 'List' may be used uninitialized in this function.
2017-05-17 19:39:02 +02:00
Oliver Schmidt
298dda0e71
Increased GCC optimization level.
2017-05-17 18:30:35 +02:00
Piotr Fusik
675dd3c963
Optimize the inlined memcpy/memset for the sizes of 128/129.
2017-05-17 10:08:08 +02:00
Piotr Fusik
6011bdb2f6
Optimize the inlined strlen.
2017-05-17 10:00:35 +02:00
Lauri Kasanen
ac7a0e21ac
Correct missed doc label
2017-05-16 20:14:19 +03:00
Lauri Kasanen
ca41af41c2
Rename pragma trampoline to wrapped-call, value to identifier
2017-05-16 20:10:24 +03:00
mc78
d70a9507a7
replaced tabs with spaces which accidently were introduced.
2017-05-16 13:31:10 +02:00
mc78
691df09a1f
According to recent comments on my recent pull request, -Wc checking for -E flag has been removed again. Intead, -E flag has been added to cl65 without need of -Wc. Two functions have been introduced to disable compile, link or both. These function remove assigment repetions to DoAssemble and DoLink for litte overhead, having the maintainability in mind.
2017-05-16 13:13:09 +02:00
mc78
4cbfb4e199
added -E switch to cl65 for >>stop after the preprocessing stage<<.
...
added compilation and assemblation disable after -Wc -E also with -E beeing part of a comma separated list of arguments
2017-05-12 12:23:30 +02:00
Oliver Schmidt
0291c92ffb
Merge pull request #425 from clbr/arrayaccess
...
Add fast paths for char postinc/dec
2017-05-09 19:26:41 +02:00
Lauri Kasanen
077b14ccfa
test/val/postincdec: Test for the final val value
2017-05-08 10:19:26 +03:00
Lauri Kasanen
7adcde1707
Add explicit postinc/dec testcase
2017-05-07 20:35:49 +03:00
Lauri Kasanen
a2f61c667a
Update comments and location checks according to Greg
2017-05-07 20:31:41 +03:00
Lauri Kasanen
ead0338c0d
Add fast path for char postdec
2017-05-06 13:35:39 +03:00
Lauri Kasanen
767f093ff8
Add fast path for char postinc
2017-05-06 13:35:39 +03:00
Lauri Kasanen
2890b3a810
Pragma trampoline
2017-05-02 20:51:53 +03:00
Lauri Kasanen
9c86c03a96
Add test case
2017-05-02 20:43:41 +03:00
Lauri Kasanen
d091a57e91
Trampoline stack
2017-05-02 20:43:41 +03:00
Lauri Kasanen
679bfb0ae9
Add IntPtrStack
2017-05-01 21:08:04 +03:00
Lauri Kasanen
a84463a3df
callptr4
2017-05-01 21:08:03 +03:00
Lauri Kasanen
82e62209d6
Document pragma trampoline
2017-05-01 21:08:03 +03:00
Oliver Schmidt
18b0aaf9f2
Removed help for non-existent option.
2017-04-15 23:12:19 +02:00
Oliver Schmidt
9b243ff68c
Merge pull request #418 from greg-king5/while-nothing
...
Fix the handling of the C construct "while (0) { }".
2017-04-07 16:07:38 +02:00
Greg King
1aab287189
Fixed the handling of "while (0) {}".
...
It's a corner case; but, conditional macroes might create it -- better safe than sorry.
2017-04-07 09:26:58 -04:00
Oliver Schmidt
e43dbe1c24
Just some white space fixes of recently contributed code.
2017-04-06 17:53:57 +02:00
mrdudz
1d877494bf
initial commit from c64-rrr-1.0
2016-02-28 23:37:04 +01:00
mrdudz
eb96a90e5f
initial import from old sources
2016-02-28 22:35:46 +01:00
mrdudz
85760e0c53
initial import from old sources
2016-02-28 22:13:05 +01:00