Christian Groessler
5705d0b55b
Use 'return0' for default 'doesclrscrafterexit()' implementation in libsrc/common.
...
Fix include/atari.h formatting.
2016-06-07 15:05:00 +02:00
Christian Groessler
346d88a6a7
Add issues from pull request #307 .
2016-06-07 12:07:38 +02:00
Oliver Schmidt
1d1ba3ed3b
Adjusted constructors.
...
The constructors are _NOT_ allowed anymore to access the BSS. Rather they must use the DATA segment or the INIT segment. The latter isn't cleared at any point so the constructors may use it to expose values to the main program. However they must make sure to always write the values as they are not pre-initialized.
2016-03-16 16:28:32 +01:00
Oliver Schmidt
419eb700b5
Renamed INITBSS to INIT and INIT to ONCE.
...
The way we want to use the INITBSS segment - and especially the fact that it won't have the type bss on all ROM based targets - means that the name INITBSS is misleading. After all INIT is the best name from my perspective as it serves several purposes and therefore needs a rather generic name.
Unfortunately this means that the current INIT segment needs to be renamed too. Looking for a short (ideally 4 letter) name I came up with ONCE as it contains all code (and data) accessed only once during initialization.
2016-03-06 21:27:19 +01:00
Oliver Schmidt
3d08abcfa8
Load INITBSS segment from disk.
...
Conceptually the INITBSS segment is not initialized in any way. Therefore it makes sense to not load it from disk. However the INIT segment has to be loaded from disk and therefore moved to its run location above the INITBSS segment. The necessary move routine increases runtime RAM usage :-(
Therefore we now "unnecessarily" load the INITBSS segment from disk too meaning that the INIT segment is loaded at its run location. Therefore there's no need for the move routine anymore.
After all we trade disk space for (runtime) RAM space - an easy decision ;-)
Notes:
- The code allowing to re-run a program without re-load present so far could not have worked as far as I can see as it only avoided to re-run the move routine but still tried to re-run the code in the INIT segment that was clobbered by zeroing the BSS. Therefore I removed the code in question altogether. I'm personally not into this "dirty re-run" but if someone wants to add an actually working solution I won't block that.
- INITBSS is intentionally not just merged with the DATA segment as ROM-based targets can't reuse the INIT segment for the BSS and therefore have no reason to place the INIT segment above INITBSS.
- Because ROM-based targets don't copy INITBSS from the ROM (like it is done with the DATA segment) all users of INITBSS _MUST_NOT_ presume INITBSS to be initialized with zeros!
2016-02-28 19:45:36 +01:00
Greg King
8e8d112029
Added pce-specific substitutes for memcpy() and memmove().
...
They are smaller and faster because they take advantage of the pce CPU's block-copy instructions.
Also, made a small improvement to the common memmove(), so that it is similar to the pce version.
2015-10-23 18:02:21 -04:00
Oliver Schmidt
0ee9b2e446
Changed run location of INIT segment.
...
So far the INIT segment was run from the later heap+stack. Now the INIT segment is run from the later BSS. The background is that so far the INIT segment was pretty small (from $80 to $180 bytes). But upcoming changes will increase the INIT segment in certain scenarios up to ~ $1000 bytes. So programs with very limited heap+stack might just not been able to move the INIT segment to its run location. But moving the INIT segment to the later BSS allows it to occupy the later BSS+heap+stack.
In order to allow that the constructors are _NOT_ allowed anymore to access the BSS. Rather they must use the DATA segment or the new INITBSS segment. The latter isn't cleared at any point so the constructors may use it to expose values to the main program. However they must make sure to always write the values as they are not pre-initialized.
2015-10-14 22:52:09 +02:00
Greg King
8a880580dc
Reduced the size of the moveinit subroutine.
...
Made other changes that were recommended by Oliver.
* Changed its name from move_init to moveinit.
* Used self-modifying code in the subroutine.
* The INIT segment doesn't need to be optional (it's used by the start-up file).
2015-10-07 14:56:14 -04:00
Greg King
074e10d288
Adapted, to the c64 target, the INIT-segment overlay scheme from the apple2 targets.
...
When a program starts running, INIT is moved from one place to another place. Then, INIT's code is executed; and, the first place is re-used for variables. After the INIT code has finished, the second place can be re-used by the heap and the C stack. That means that initiation code and data won't waste any RAM space after they stop being needed.
2015-10-05 05:47:43 -04:00
Greg King
b82bb4f5ba
Moved two errno helper functions into separate files.
...
Only the function that actually is needed will be linked. It is very useful for targets that do not have file-system I/O.
2015-09-25 14:06:58 -04:00
Greg King
dbf0adcec9
Improved longjmp() and setjmp().
2015-09-11 14:18:22 -04:00
Greg King
9c55bd1c96
Fixed bugs in the interface for C-level interrupt handlers.
...
* Added an important ".code" directive.
* Import a linker-created zero-page symbol as an absolute address; then, convert it to zero-page when it is used.
Fixes bug report #198 .
2015-08-26 19:33:34 -04:00
Greg King
0b6bcb565e
Fixed a hardware-stack leak.
2015-07-17 20:36:56 -04:00
Greg King
146daa1d0a
Made some string output functions reject an invalid NULL buffer pointer.
2015-07-09 14:46:28 -04:00
Greg King
219905c6bc
Fix two string output functions' handling of their buffer-size parameter.
...
That parameter's type is unsigned; but, the functions return an int. If the size is too big for a signed integer, then return an error code.
If the size is zero, then don't write anything into a buffer (the buffer pointer may be NULL). But, do format and count the arguments.
2015-07-09 10:43:45 -04:00
Greg King
08e18c93c5
Added explicit settings of calling conventions in pointer-to-function declarations in system and library headers.
2015-06-22 00:15:48 -04:00
Greg King
38231a5cc6
Made _afailed() and uncompress() be fastcall functions.
2015-03-13 07:35:47 -04:00
Greg King
74c2415795
Changed literal zeroes of the style "#>0" into the style "#>$0000".
2014-09-10 19:15:07 -04:00
Greg King
0390c34e88
Changed multi-line C comments into another style.
...
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Greg King
2cc26e6e23
More conforming to the cc65 project's apparent writing style.
2014-05-23 16:52:02 -04:00
Greg King
a92f51fea5
Conformed to the cc65 project's coding style.
2014-05-23 00:35:19 -04:00
Greg King
0ec8c8cea7
Added a quoted-token parsing function.
2014-05-20 16:33:16 -04:00
Greg King
f82a43b98d
Fixed the comments to say where the actual Left-Hand Side and Right-Hand Side are put.
...
A description of positions [left, right] is appropriate more for C code than for Assembly code. (A description of timing [first argument, second argument] is more appropriate for the way that Assembly code is written.)
2014-05-11 10:43:06 -04:00
Greg King
228b9d1718
Added a fast subroutine to multiply two signed 8-bit numbers.
2014-05-11 01:08:27 -04:00
Oliver Schmidt
986c2248e2
Added cc65_umul8x8r16() based on umul8x8r16.
2014-03-27 21:22:02 +01:00
Oliver Schmidt
d001a6f1a0
Have _heapmaxavail() work as advertised.
...
The cc65 doc explicitly states that the return value of _heapmaxavail() can be used as parameter of malloc(). To actually allow for that the size of HEAP_ADMIN_SPACE has to be substracted from the raw size of the largest free heap block.
2014-02-20 21:04:11 +01:00
Oliver Schmidt
e0262750ce
Have %I yield values [1..12] instead of [0..11].
2013-12-09 19:53:54 +01:00
Emanuele Fornara
35388418fd
fixed timep handling in time()
2013-10-02 20:55:01 +01:00
Christian Groessler
2051adeb4d
Fix strtol 'endptr' return value.
2013-09-12 12:38:20 +02:00
Christian Groessler
5a84da0d4e
Fix strtoul 'endptr' return value: It should point to the first invalid character,
...
not to the last valid character.
2013-09-11 21:54:50 +02:00
Greg King
0684ab7ab9
Fixed some return pointers.
...
$1234 pointers were returned as $3434.
2013-08-28 02:58:41 -04:00
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
Oliver Schmidt
008b4c4e1d
Replaced whole bunch for Makefiles with a single generic Makefile.
...
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:10:48 +02:00
Greg King
b225adaf03
Fixed isgraph() and ispunct() (macroes and library functions).
2013-05-01 16:23:47 -04:00
silverdr
deb18b8e1e
typo in the doc corrected, tabs adjusted
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-15 11:30:11 +00:00
uz
6eefd591c1
Moved the string that contains the ascii representation of LONG_MIN into its
...
own file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5941 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-26 16:28:46 +00:00
uz
e04f1d8cb0
Fixed an error in calloc reported by Marc 'BlackJack' Rintsch.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-12 23:07:02 +00:00
uz
dc4e898abd
Use the new declarations from the zeropage include file. In interrupt handlers
...
that call C code, we don't need to save the register bank, because the C code
will save it, when needed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 15:23:05 +00:00
uz
7a0fa3ce67
Modifications for smaller code size.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-10 20:45:16 +00:00
uz
383157e743
Size optimizations.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5714 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 18:16:17 +00:00
uz
efb4cc9e37
Rearrangements for smaller size of generated code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5704 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 19:02:54 +00:00
uz
c03fd881e3
Changes for better code generation.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5703 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 18:55:22 +00:00
uz
130e8fd090
Changed the code so that it better suits the code generation of the compiler
...
(which means, the resulting code is shorter).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5702 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 18:32:38 +00:00
uz
bfd0f58686
Shortened the code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5701 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 18:25:22 +00:00
uz
9ee0fa91e6
Fixed an invalid store offset, which caused an invalid pointer as a function
...
result. The actual conversion was ok.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5625 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-25 13:14:13 +00:00
uz
f059634cda
Fixed an invalid store offset which resulted in random values returned by the
...
function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5624 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-25 13:13:37 +00:00
uz
285aaf8933
Patch by Stefan Haubenthal: Remove __fastcall__ in comments and/or the
...
function description for functions that don't take any parameters.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-04 13:08:54 +00:00
ol.sc
7103aa04ae
Added docs to set_irq / reset_irq.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5415 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-21 12:28:23 +00:00
uz
75b83260c6
Fix wrong offset of irq vector byte used as on/off flag.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5410 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-19 11:54:26 +00:00
ol.sc
5df392ff14
Added wrapper for C level irq handling.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5408 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-19 00:24:13 +00:00
uz
655ffe5dcd
Make the 8x32 unsigned multiplication routine C callable.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5079 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-10 14:52:35 +00:00
uz
e531e5abd1
Removed __fastcall__ declarations for functions without parameters.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5073 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-07 20:19:35 +00:00
uz
977c64ce01
Fixed comments. No code change.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4996 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 18:49:24 +00:00
uz
a9990fbcf3
Changed priorities of destructors so atexit will be called before open files
...
are closed on exit, so atexit handlers may close the files themselves or
whatever is necessary for a clean shutdown.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 10:55:03 +00:00
uz
f79473f53a
Slightly improved memset function by Christian Krüger.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4923 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-26 22:07:59 +00:00
uz
3afb4e4e94
Added getopt. The implementation is based on a public domain source,
...
originally written by Henry Spencer and supplied by Harald Arnesen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4737 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-10 11:28:02 +00:00
uz
131a5cad09
Renamed oserrcheck to __mappederrno. Added an additional function named
...
__directerrno and moved both to errno.s. Changed several sources to use these
functions. Needs testing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-10 18:10:53 +00:00
uz
0bdc045f65
Removed a comment that was no longer correct.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4716 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-06 14:31:24 +00:00
uz
23901280c9
Save a few bytes and cycles.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4707 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-04 09:38:35 +00:00
uz
75fbc5c5e3
Removed maperrno() since it's no longer needed.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:40:32 +00:00
uz
aa8f817182
Use _seterrno instead of assigning to _errno.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4705 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:37:27 +00:00
uz
eac4711731
No need to import __seterror, since this is done in errno.inc.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4704 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:33:55 +00:00
uz
49723f6a64
Use _errno, not errno.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4703 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:31:06 +00:00
uz
a7f392a96f
Call __seterrno and save a few bytes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4702 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:29:28 +00:00
uz
ef4a2e667d
Call __seterrno instead of assigning to _errno and save a few bytes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4701 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:26:52 +00:00
uz
30920f0709
Removed the prototype for _seterrno, since it is now provided in errno.h.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4700 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:25:17 +00:00
uz
8194408abc
Set errno if the stream is in error state. Small code size improvements. Fixed
...
comment regarding _oserror.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4699 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:22:51 +00:00
uz
b97986b124
Rewrote parts of the code for better error handling. fileno must set errno and
...
return -1 in case of an invalid argument, which it didn't until now.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4698 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:20:10 +00:00
uz
1dabfda734
Added messages for EBADF (new) and EUNKNOWN (missing).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4697 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:16:07 +00:00
uz
a9ba343e1b
Use _seterrno instead of assigning to _errno to make the code shorter.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4694 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 20:46:08 +00:00
uz
1b71d3fe42
Rewrote the code to make it somewhat shorter.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4693 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 20:43:30 +00:00
uz
eacc7052eb
Call _seterror instead of assigning to _errno to make the code somewhat
...
shorter. Fixed a comment regarding oserror/errno.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 20:27:59 +00:00
uz
00222e41ab
Fixed a comment regarding errno/oserror.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4691 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 20:26:33 +00:00
uz
63b629b801
Call _seterrno instead of assigning to _errno to make the code shorter.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4690 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 20:21:23 +00:00
uz
1ab221bd05
Don't include errno.h since it is not needed.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4689 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 20:20:01 +00:00
uz
c3922228a9
Use _seterrno to make the code shorter.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4688 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 20:18:43 +00:00
uz
c6831e936a
Added --forget-inc-paths to the assembler command line to avoid problems if
...
more than one version of ca65 is installed on the machine (Spiro Trikaliotis).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4530 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-18 11:58:50 +00:00
uz
18272c0427
Working on the division and multiplication routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4443 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 19:41:54 +00:00
uz
655ba3e6ee
Added a C callable entry point for the division routine.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4442 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 18:25:29 +00:00
uz
851926b301
Add C callable special multiplication routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4440 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 18:17:00 +00:00
uz
4e4beef8b7
Fixed the return types of the sine/cosine functions. Added comments.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4402 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-30 14:02:24 +00:00
uz
c65925b0b9
Merged the sine/cosine routines into one file, because they're often used
...
together, we save some code in this case, and the sine table isn't of real use
for programs, because it contains some specialities.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4400 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-30 09:58:11 +00:00
uz
7d453f5e11
Added fixpoint sine and cosine functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4399 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-29 23:19:00 +00:00
uz
ed2767e65f
Changed names of the pragmas to be identical to the corresponding command line
...
options. This should make use easier. The old names of the pragmas are still
available but will cause warnings.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4364 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-14 12:55:15 +00:00
uz
e4d9fd3bd1
Fixed more bugs, shortened the code where possible.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4257 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 18:39:55 +00:00
uz
6c8fab8e51
Fixed two bugs, made the sources somewhat better readable.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4256 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 17:47:33 +00:00
uz
5967b4845e
Let vsprintf call vsnprintf to save code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4247 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-27 12:18:06 +00:00
uz
067383eb6a
Added an untested implementation of snprintf.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4246 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-27 12:11:05 +00:00
uz
0b43444c26
Added an (only roughly tested) implementation of vsnprintf
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4245 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-27 12:04:36 +00:00
uz
2b50847a4c
The _printf routine does not return anything.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4239 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-26 19:20:51 +00:00
uz
0e91f15ea8
Improved memset/memcpy/memmove functions by Christian Krueger.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4200 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-20 14:32:25 +00:00
uz
689d06929c
Fixed an error in the makefile. strtoimax and strtoumax were in the wrong
...
list.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 17:23:48 +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
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
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
feb31603da
Use named constants from ctype.inc instead of hard coded numeric values.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3929 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-10 22:11:56 +00:00
uz
b6d7dba170
Removed an unused import.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3928 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-10 22:08:43 +00:00
cpg
b68094a2f6
add strnicmp.o
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3924 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-10 19:15:51 +00:00
cpg
222a421969
initial check-in
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3923 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-10 19:15:21 +00:00
uz
0ec5268baa
Made strxfrm fastcall, added docs.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3895 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-27 20:02:48 +00:00
uz
af9286852f
A label must always be followed by a statement. This wasn't checked by the
...
compiler before.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3864 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-03 12:54:11 +00:00
uz
4812feb44b
git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-02 22:02:54 +00:00
cuz
545df804bb
Renamed setoserror to seterrnofromoserror to avoid clashes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3838 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-04-15 06:55:35 +00:00
cuz
6c5c0be79f
Fixed an error.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3837 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-04-15 06:44:46 +00:00
cuz
3293330f31
New entry point setoserror
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3835 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-04-13 17:35:15 +00:00
cuz
1184d5ad43
putchar didn't work
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3685 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-20 22:58:16 +00:00
cuz
c732d3e360
New stuff contributed by Oliver Schmidt
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3608 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 20:11:45 +00:00
cuz
50f707dd39
Ignore pmemalign.s
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3544 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 15:15:03 +00:00
cuz
7a624b8901
Replaced _aligned_malloc by the POSIX compatible function posix_memalign
...
(Greg King).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3537 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 12:57:00 +00:00
cuz
c2140cdb08
Make strtok __fastcall__
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3514 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-17 21:11:09 +00:00
cuz
5c2eebcda1
The 65C02 code didn't work
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3488 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-23 14:12:19 +00:00
cuz
148dc9e5bf
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3486 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-21 21:32:29 +00:00
cuz
e0319679f0
Added environment routines
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3483 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-21 21:26:15 +00:00
cuz
00633945b8
Leave __cwd_buf_size intact
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3467 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-19 11:48:05 +00:00
cuz
ee81f9a686
Make the size of _cwd FILENAME_MAX chars
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3465 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-19 11:28:11 +00:00
cuz
19e2d56016
Initialize _cwd by use of a constructor that calls a platform specific
...
function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3461 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-16 14:43:22 +00:00
cuz
624c808dbc
Renamed O65_OS_CC65_MODULE -> O65_OS_CC65 in the headers.
...
Squeezed one precious byte out of the loader code:-)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3445 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-01 08:23:56 +00:00
cuz
6ec87c5dd9
Move initialization code into the init segment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3404 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:06:46 +00:00
cuz
6c796774d8
Code improvement
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3385 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 10:28:54 +00:00
cuz
100fbfc0d1
Fixed a bug (report and patch by Greg King)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3384 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 09:59:54 +00:00
cuz
bc5d046503
Fixed tab removal which somehow went wrong
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3382 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 09:38:30 +00:00
cuz
de4162a63f
Removed tabs from the foreign sources
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3379 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 09:22:37 +00:00
cuz
d406a9f677
Scanf improvements by Greg King
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3377 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 09:19:59 +00:00
cuz
a4f6f14a6b
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3374 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-08 20:53:48 +00:00
cuz
7caee98fc0
New function: _aligned_malloc
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3349 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-05 21:07:23 +00:00
cuz
18e3e7cb11
Added a comment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3348 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-05 21:05:35 +00:00
cuz
842ff39d4c
New used block structure for the heap
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3347 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-05 21:05:11 +00:00
cuz
802f259b37
Fixed an identifier (cosmetic change)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3346 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-05 21:04:35 +00:00
cuz
2342052bc3
Slice blocks even if the remainder is just sizeof(freeblock) bytes in size.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3345 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-05 20:06:13 +00:00
cuz
d8fa43d7a6
Save a few bytes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3344 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-05 20:05:27 +00:00
cuz
e55a4bcfd4
Changed the way, used blocks are managed
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3340 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-19 23:09:38 +00:00
cuz
569f57bc1b
Fixed minor issues with the modifiers: Some modifiers where accepted (and
...
ignored) that do not exist.
Added C99 modifiers z, j and t.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3326 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-11 18:33:49 +00:00
cuz
95f66b8ca9
Disable interrupts while modifying the signal table
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3324 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-10 11:50:54 +00:00
cuz
6de079ee57
Sqeezed a few bytes out of the copydata function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3320 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-01 12:00:50 +00:00
cuz
0ab513b254
Use register to improve the code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3319 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-30 20:17:44 +00:00
cuz
08074a2ee3
Fixed an error and improved the code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3317 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-30 18:47:25 +00:00
cuz
18b154e6b1
Replaced vsscanf by an assembler version
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3315 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-28 18:45:13 +00:00
cuz
501cc4c6c8
Replace sscanf by an assembler version
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3314 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-28 18:23:16 +00:00
cuz
c74253d081
Replaced fscanf by an assembler version
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3313 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-28 18:11:17 +00:00
cuz
163c4e2fc8
Small optimization
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3312 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-28 18:10:47 +00:00
cuz
928acfee6c
Removed an unused import
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3311 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-28 18:09:56 +00:00
cuz
626314e4cb
Replace vscanf by an assembler version
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3307 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 18:23:24 +00:00
cuz
35b7d549f4
Replace vfscanf by an assembler version
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3305 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 14:56:54 +00:00
cuz
dbb003c9ac
Added assembler include function for _scanf
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3304 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 14:45:49 +00:00
cuz
7cf5f27ec6
Added vscanf
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3303 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-26 23:16:57 +00:00
cuz
b1d4e1613b
Rewrote _scanf. It does need some tests and improvements, but it's a more
...
standard version than before, and it does support the necessary functionality
to support scanf functions for files.
Added vfscanf, fscanf and vfscanf.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3301 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-26 22:16:54 +00:00
cuz
303304fe90
Add definitions for tools so the makefile is useful by itself.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:28:26 +00:00