1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00
Commit Graph

3826 Commits

Author SHA1 Message Date
uz
cc12a5a838 inttypes.h is an ISO C standard include file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4183 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-17 19:31:47 +00:00
uz
75068a6528 New strtoimax and strtoumax standard functions as aliases for strtol/strtoul.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4182 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-17 18:37:42 +00:00
uz
3a3eaf99cb Lynx changes by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4181 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-17 09:32:05 +00:00
uz
5e55e1c651 Added a (currently untested) strtoul implementation. strtol and strtoul should
probably get merged somehow, because they share quite some code.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4180 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-15 21:45:25 +00:00
uz
2f2bced531 Shrink atoi by using negeax instead of inlined code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4179 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-15 21:25:44 +00:00
uz
96637a8c35 Make system() fastcall like most other library functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4178 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-15 21:01:20 +00:00
uz
e5996090f7 Added an implementation of strtol (stdlib.h).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4177 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-15 20:56:08 +00:00
uz
c6c3fc4738 Testcode for strtol and atoi.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4176 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-15 20:47:03 +00:00
uz
bbad4433cc Added declarations for strtol and strtoul.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4175 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-15 20:46:38 +00:00
uz
52a368adc1 Improved the code that checks for memory accesses. The old code didn't detect
certain accesses.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4174 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 22:02:48 +00:00
ol.sc
98b7e9f6da Added tgi_load_driver.s to files to be ignored.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4173 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 20:13:52 +00:00
ol.sc
0c161a6cdd Now that cc65 programs can run as SYS files themselves my ProDOS Loader ulimately has to change from a minimalistic shell replacement to a pure loader (without exit hook). This approach simplifies several things. However the "reboot after exit" option now present as a ProDOS Loader variant has to move into the cc65 program.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4172 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 19:58:06 +00:00
uz
29cea09e0d Removed debug output
git-svn-id: svn://svn.cc65.org/cc65/trunk@4171 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 19:56:47 +00:00
uz
d451248437 Fixed another problem with OptJumpTarget1, that was mostly prevented from
being triggered by other optimizations, which removed or changed the trigger
code.



git-svn-id: svn://svn.cc65.org/cc65/trunk@4170 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 19:54:50 +00:00
uz
254e1169f2 Fixed a problem with OptJumpTarget1: The inspected jump must not have a label
attached, because the effective code changes for code jumping to this label if
removals are applied.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4169 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 18:36:38 +00:00
ol.sc
b7df1ed5d4 Being loaded by my 'ProDOS Loader' needs to be classified as being loaded as BIN from an interpreter (and not as SYS). But the 'ProDOS Loader' zeros the system bitmap up to the system global page (this is what it's about) so additionally check page $03 protection which is zero when loaded as SYS but one when loaded by 'ProDOS Loader 1.4'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4168 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 19:50:09 +00:00
uz
4b84d95891 labs() is also imaxabs().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4167 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 18:06:43 +00:00
uz
32e2eb3fad Fixed parsing a labeled-statement: A label is always part of a statement, it
is not itself one.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4166 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 14:36:16 +00:00
uz
fe652c8206 Sqeeze out two bytes of the code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4165 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 13:39:27 +00:00
uz
c9de0e6841 Lynx changes by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4164 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 13:37:44 +00:00
uz
e035323ab4 Added another condition that allows us to remove pha/pla.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4163 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 13:22:27 +00:00
uz
785d8ebb43 Removed the ace target. It didn't have a linker config and was untested for
~10 years


git-svn-id: svn://svn.cc65.org/cc65/trunk@4162 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 11:46:04 +00:00
uz
effa1f4864 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@4161 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 22:04:49 +00:00
uz
4ee6bf6f2c Fixed a few inaccuracies the the description of the --codesize option.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4160 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 22:04:35 +00:00
ol.sc
c271f18d00 Hooking into the MLI call needs much more thoughts - and is currently not necessary...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4159 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 20:55:20 +00:00
uz
df22cbf925 Search config files also in the builtin search directory for libraries and in
the directory defined in the CC65_LIB environment variable.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4158 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 20:12:48 +00:00
ol.sc
2b98ab38f7 Addon to 4155: Fixed error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4157 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 06:58:20 +00:00
uz
d660356ff7 Added a comment about the first entry being the default entry. Not sure if
this is true for GEOS.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4156 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 06:41:08 +00:00
ol.sc
736db8789e Much better approach for ProDOS 8 IO-buffer custom implementations - the first one was actually kind of stupid.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4155 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 19:54:29 +00:00
ol.sc
c8e1d7e0d2 Adjusted Apple2 targets to the new standard mouse driver paradigm.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4154 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 19:35:13 +00:00
uz
7de61e351c Define a standard driver and mode for tgi graphics and use it in the sample
program. The standard driver and mode is the first one in the tgi_mode_table.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:59:37 +00:00
uz
569b8d0e77 Separated tgi_load and tgi_load_driver.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4152 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:47:33 +00:00
uz
4ed9b6facf Fixed a copy&paste error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4151 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:42:34 +00:00
uz
8870eda779 Use mouse_stddrv instead of a platform dependent #define.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4150 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:55:20 +00:00
uz
7c2823e780 Added the mouse_stddrv variable for the C64 and C128.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4149 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:51:21 +00:00
uz
d74f9ab396 Added a mouse_stddrv variable that contains the standard mouse driver for a
system.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4148 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:45:43 +00:00
uz
fa3a7930d7 Fixed a problem with load tracking in OptStackOps.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4147 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:36:17 +00:00
ol.sc
aeccd3a776 Allow to run programs as ProDOS SYS files (beside BIN files). To do so detect at runtime if BASIC.SYSTEM is present by checking the "signature" of the last system bitmap byte.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4146 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:27:20 +00:00
uz
d9cdca75b6 Make use of the IRQ to swap view and draw pages when they aren't visible.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4145 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 13:56:50 +00:00
uz
d95321f489 Changes by Karri Kaksonen to implement interruptor support.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4144 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 13:56:20 +00:00
ol.sc
773e05b5f3 Removed '_' prefix from textframe(xy) because this prefix for non-standard symbols isn't necessary if they are declared in non-standard include files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4143 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-10 19:18:15 +00:00
ol.sc
d91fe6b877 ProDOS 8 requires an page-aligned 1kB IO-buffer for every open file. The implementation using posix_memalign() is universally correct but quite expensive. There I added support for overriding this implementation with maybe limited (i.e. to one open file) but cheaper custom implementations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4142 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-10 09:59:26 +00:00
ol.sc
19397b742d Fixed typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4141 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-10 09:35:37 +00:00
ol.sc
648a1b5427 Added support for switching between 40/80 columns. As the Apple //e 80 column firmware features converting the current screen content on switching if was already active before the idea is to keep the 80 column firmware active and initialize it (which clears the screen) only if necessary.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4140 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-10 09:04:05 +00:00
uz
079358c3c1 Fixed an error in OptPtrLoad16.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4139 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 21:10:19 +00:00
uz
e68332a10b Fixed several more problems like the one in Assignment() some time ago: An
expression that yields a constant value may have side effects, and the
expression code must not be removed in this case.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4138 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 20:29:12 +00:00
uz
2d3b0f1146 Fixed a problem similar to the one in Assignment() some time ago: An
expression that yields a constant value may have side effects, and the
expression code must not be removed in this case.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4137 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 20:08:21 +00:00
uz
84e288f21c Use the new function MarkedExprWithCheck.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4136 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 19:49:30 +00:00
uz
0c20177fce Allow to store start and end of generated code in the ExprDesc structure. New
function MarkedExprWithCheck.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 19:48:22 +00:00
uz
7d60d32aee Changed the prototype of videomode() to take and return an unsigned instead of an unsigned char.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4134 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 16:45:21 +00:00