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

77 Commits

Author SHA1 Message Date
Oliver Schmidt
0981c020b2 Shortened names and adjusted style. 2020-04-02 22:58:16 +02:00
IrgendwerA8
08705a3fdc Changes resulting from 2nd code review 2020-02-03 20:45:09 +01:00
IrgendwerA8
ce80624f62 ctype size optimization 2020-02-03 20:45:09 +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
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
Oliver Schmidt
40f42e977f Adjusted comments to match actual prototypes. 2018-11-06 11:13:23 +01: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
0b323f717b
Update symbols.txt 2018-05-25 14:48:20 +02:00
IrgendwerA8
99e13eeaa2 Fix typo for import. 2018-05-21 18:19:39 +02:00
Irgendwer
32bbacbb78
Merge branch 'master' into popptr1 2018-05-21 13:33:14 +02:00
IrgendwerA8
c95ed4b8b5 Added "popptr1" which is of common use to save some bytes. 2018-05-20 15:30:18 +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
Piotr Fusik
b31ae57be1 Make some arrays const. 2017-06-28 20:43:31 +02:00
Oliver Schmidt
13482984ca Introduced internal gotoxy that pops both parameters.
About all CONIO functions offering a <...>xy variant call
  popa
  _gotoxy

By providing an internal gotoxy variant that starts with a popa all those CONIO function can be shortened by 3 bytes. As soon as program calls more than one CONIO function this means an overall code size reduction.
2016-06-05 14:58: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
Greg King
c7969a78b0 Refined the comments in the target start-up files.
Fixed typo errors.  Made the comments consistent across all those files.
2014-08-24 10:10:20 -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
Oliver Schmidt
94eb2a2ed7 Some fine tuning of the mouse driver interface harmonization. 2014-01-17 21:09:15 +01: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
Oliver Schmidt
414a59ce65 Fixed typos. 2013-04-02 17:29:13 +03:00
Oliver Schmidt
2250698f81 Fixed typos. 2013-04-02 17:24:21 +03:00
Oliver Schmidt
cf0463efe3 Fixed typo. 2013-04-02 17:15:02 +03:00
ol.sc
3aabd85bf4 Apply "improved" cursor-off handling for native GEOS API too.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5876 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-25 20:02:01 +00:00
ol.sc
46f1085e2d Fixed several aspects of the GEOS CONIO implementation:
- cputc was drawing at the wrong position, therefore one line had to be removed as a workaround.
- chline, cvline were drawing one pixel to large lines.
- cclear was drawing an in both directions one pixel to big rect.
- the cursor was drawn at wrong times at wrong places in a wrong size.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5874 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:42:57 +00:00
ol.sc
d620c2dc7a Minor adjustment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5871 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:25:11 +00:00
ol.sc
590e382a2b Removed revers as it doesn't influence clrscr, cclear, chline, cvline and does look pretty ugly on cputs because there's no opaque background.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5861 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-19 07:11:04 +00:00
ol.sc
17659555f8 Removed cpputs/cpputsxy as they don't work and as there's really very little use for proprietary extensions of a character API emulated on a graphics systems.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5860 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-19 06:53:55 +00:00
ol.sc
ffc06fcea3 Apple GEOS reserves beside the main app area at $4000-$C000 a secondary app area at $0C00-$2000. While it was an elegant idea to use that secondary area for overlays at the end of the day those 5 kB are just too small. So now overlays go at the end of the main area (as with GEOS 64/128).
However the stack (usually 1 kB) can be securely placed in the secondary area without effort from the side of the developer. The rest of the secondary area (usually 4 kB) is made available to the developer as (uninitialized) 'EXTBSS'.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-08 21:46:51 +00:00
ol.sc
f6825b244a Added screen initialization on Apple GEOS.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5568 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-28 21:24:17 +00:00
ol.sc
204aba1577 Introduced Apple GEOS specific screen size constants.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5567 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-27 22:00:26 +00:00
ol.sc
351e0828c6 Rather stay with OFF_YEAR as it is an "officially" name.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5547 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-22 23:49:45 +00:00
ol.sc
336e53348b Introduced Apple GEOS specific directory entry offsets. However in most cases the assembler code using them will need to differentiate between CBM and Apple because the directory entry semantics are (too) different.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5545 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-22 23:26:25 +00:00
ol.sc
c8f3b16f99 Minor style adjustment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5544 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-22 22:59:38 +00:00
ol.sc
340565f7c5 Added missing file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5541 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-22 22:04:53 +00:00
ol.sc
c1bb9678d5 Fixed line continuation.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5540 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-22 22:04:20 +00:00
ol.sc
0585877788 Fixed typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5539 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-22 19:57:01 +00:00
ol.sc
e3f43a2894 Fixed typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5535 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-20 23:01:45 +00:00
ol.sc
db0cf2b8d1 Greg King: SHORTCUT is a graphic character (it is displayed in menues); it is not a control character.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5534 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-20 22:48:02 +00:00
ol.sc
fb7d8a7c37 My recent decision to reuse the character specification table from the base target was based on the fact that CBM GEOS used a copy of the CBM character specification table for the last ten years.
However now I understand that CBM GEOS does _not_ use PETSCII so the CBM character specification table doesn't make sense at all. After all this is very plausible because GEOS wants to enable the user to share his files across GEOS variants - so we can share the character specification table too.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5527 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-17 20:23:35 +00:00
ol.sc
1ccfe46892 Normalized coding style.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5515 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 10:54:40 +00:00
ol.sc
14c3956ea6 The actual screensize routine mustn't be placed in the "INIT" segment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5514 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 10:40:59 +00:00
ol.sc
ff746b119c On Apple GEOS all "low jumptable" entries went into 'diskdrv.inc'. So this needs to be included in quite some source files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5511 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 09:24:09 +00:00
ol.sc
ed92935ef7 Removed '.c65' from include file name.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5509 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 09:13:34 +00:00
ol.sc
e703b549ce The macro 'bra' conflicts with the 65C02 instruction. As it isn't actually used I simply removed it.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5508 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 09:05:04 +00:00
ol.sc
e6fba95c90 Adjusted sorting.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5507 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 07:59:49 +00:00
ol.sc
c7ecb52581 Adjusted hex digit cases.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5505 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 07:41:56 +00:00