1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-02 18:06:48 +00:00
Commit Graph

3682 Commits

Author SHA1 Message Date
uz
8216bf1d6a Force an import of the special symbol __STARTUP__ in the C compiler when
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
uz
66391bfc25 Inline shifts in g_asl as is already the case in g_scale.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3987 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 19:41:25 +00:00
uz
043acb1d98 Calculate time in seconds, not ticks. Implement pager output for primes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3986 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 19:25:59 +00:00
uz
a3eed9016f Fix problem with R3904: Chars on the lhs of opeq must still be accessed as
such.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 15:15:13 +00:00
uz
37157a31a8 Fixed problems with R3977: While the solution was correct, the generated code
is bad, since information is lost when converting functions and arrays to
pointers and cannot be regained easily. So I've reverted the change and fixed
the problem in a less general manner.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3984 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 14:45:50 +00:00
uz
a4a1c729c8 Allow registers in sweet16 mode also to be specified as constant numbers
instead of Rx. Suggestion and sample code by Gabriele Galeotti.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3983 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 13:05:41 +00:00
uz
e1866ed9f8 Correct sweet16 addressing bug with SUB instr. Patch by Gabriele Galeotti.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-29 14:37:58 +00:00
uz
f62b7a564e The "inc" target needed for the snapshot build script seems to have been lost.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:40:23 +00:00
uz
778f79c436 Add a dummy return to fix a Watcom warning.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3980 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:36:44 +00:00
uz
5ee49abd12 Fixed a compatibility problem in TypeCmp: Subtracting pointers with different
signedness is not allowed.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3979 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:29:11 +00:00
uz
fb9c097981 Fixed a problem with function pointer conversion.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3978 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:21:38 +00:00
uz
32348f5778 Fixed an error: If an expression is loaded into the primary, a function must
be converted to pointer-to-function and an array to pointer-to-member resp.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3977 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 18:56:16 +00:00
uz
dff0e86458 Prepared the code for referencing a symbol that forces the startup code to get
linked in.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3976 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 18:55:23 +00:00
uz
81464a1214 Removed setoserror as an external.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3975 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:48:03 +00:00
uz
931add050e Added a systime implementation by Stefan Haubenthal with a few changes. The
routine reads the TOD clock of CIA1 on the C64 and C128. Since systime was a
dummy routine common for all CBMs before, this change adds an individual dummy
routine for all other CBM systems. CBM510/610 do also have a TOD clock, so a
similar function as in the C64 could be used ...


git-svn-id: svn://svn.cc65.org/cc65/trunk@3974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:44:37 +00:00
uz
087ae8173a Be sure to read disk errors after sending the command on the command channel.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3973 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:42:37 +00:00
uz
2363a6f5c7 Move common data and ex-/imports into an assembler include named time.inc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3972 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 17:59:27 +00:00
uz
5b0323771a Add some code that avoids outputing a forward label in the same line as a
normal label. It works but looks bad.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3971 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-06 20:33:06 +00:00
uz
84cf638450 Small documentation update by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-06 19:59:29 +00:00
uz
d7ff0daac3 Fixed a small error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3969 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-02 14:20:38 +00:00
ol.sc
4c8839dfe6 Minor update regarding the Apple ][.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3968 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-06-26 21:23:20 +00:00
ol.sc
56c12fd66f Fixed C&P issue.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3967 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-06-21 08:41:24 +00:00
ol.sc
f1039974a6 Added some more details on the specifics of the Apple2 C-library implementation.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3966 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-06-18 21:58:00 +00:00
uz
8e8993de7e Support for the .BANKBYTES, .LOBYTES and .HIBYTES pseudo functions contributed
by Kevin Schuetz <scrapdog@runbox.com>.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3965 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-05-18 16:11:34 +00:00
uz
37e08cac59 Re-added cbm_dir which was acidently removed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-05-07 18:31:57 +00:00
cpg
2f39754838 use RUNAD (from atari.inc) instead of /bin/bash2E0
git-svn-id: svn://svn.cc65.org/cc65/trunk@3963 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-04-29 21:37:10 +00:00
cpg
482b3da7d8 add Atari MultiJoy driver from Stefan A. Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3962 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-04-11 18:10:44 +00:00
uz
ffa8e7be82 New functions LIWarning and LIError.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3961 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-03-08 14:54:53 +00:00
uz
fa417d0682 Add a paragraph about which identifiers are valid for labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3960 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-03-06 10:10:24 +00:00
uz
2575fd1e16 Fixed a typo in the makefile. HTML generatiom was broken.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3959 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-03-06 09:58:13 +00:00
uz
b607a61866 "S" is a keyword in 65816 mode only.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3958 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-03-06 09:56:22 +00:00
uz
60f525346f Fixed asm code to source line relation in switch statements. The switch code
was incorrectly attributed to the line following the switch statement.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3957 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-23 22:19:23 +00:00
uz
81a30cc888 Fixed source output in generated assembly when -T is used.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3956 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-23 22:11:18 +00:00
uz
82b998117a Added a separate output module that is used to manage the output file.
Fixed the -E switch: Output was always sent to stdout and an empty assembler
output file was generated. Now the output is sent to either <inputstem>.i or
the file named in the -o option.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3955 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-23 21:25:59 +00:00
uz
d352b85c87 Fixed problems with the startup code (Greg King): Interrupts must be hooked
before calling initlib because initlib calls contructors and may install
drivers, which enable hardware interrupts. Similar for donelib.

See also R3897 and R3951 where this change was done for other platforms.
                         


git-svn-id: svn://svn.cc65.org/cc65/trunk@3954 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:23:31 +00:00
uz
81c7457e04 Added support for chained interrupt handlers installed with .condes type 2.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3953 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:16:13 +00:00
uz
0aea6d28dc Removed an unsed import.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3952 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:14:54 +00:00
uz
d28ba06f79 Fixed problems with the startup code (Greg King): Interrupts must be hooked
before calling initlib because initlib calls contructors and may install
drivers, which enable hardware interrupts. Similar for donelib.

See also R3897 where this change was done for other platforms.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3951 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:10:01 +00:00
uz
e5cbba264f Move the irqcount variable from BSS into DATA, since it is used by the
interrupt handler, which is installed *before* zerobss is called.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:04:25 +00:00
uz
a17d27247e initmainargs routine by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3949 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 17:51:12 +00:00
uz
bf810bf001 When generating forward references to functions, use the default code address
size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3948 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 16:38:07 +00:00
uz
36ed57ef80 Documented rename(), moved remove to stdio.h (where it belongs), fixed the
output for a few existing examples (needs <verb>/</verb>).


git-svn-id: svn://svn.cc65.org/cc65/trunk@3947 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 16:08:30 +00:00
uz
2edab5f201 Test program for the rename() function. Supplied by Greg King - thanks!
git-svn-id: svn://svn.cc65.org/cc65/trunk@3946 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 15:42:40 +00:00
uz
89951068dd writefndiskcmd gets its arguments in ptr1 and Y.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 15:40:06 +00:00
uz
3c168b4323 A few minor 65C02 optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3944 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 15:39:19 +00:00
uz
a0cd736adb Must open the command channel before writing to it.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3943 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:43:02 +00:00
uz
828b4226cf Comment additions and changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3942 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:42:32 +00:00
uz
9c193743a0 Added missing .export statements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3941 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:11:34 +00:00
uz
ef18b567f0 Added a new sysrename module to make the high level function rename work. Code
is untested!


git-svn-id: svn://svn.cc65.org/cc65/trunk@3940 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:06:12 +00:00
uz
30237d3c36 Moved some code from scratch.s into a new subroutine named writefndiskcmd in
the diskcmd.s module.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:02:52 +00:00