1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-24 11:31:31 +00:00
Commit Graph

642 Commits

Author SHA1 Message Date
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
97be359d4a Updated comment. 2018-07-26 13:09:21 +02:00
Greg King
6d87370881 Fixed strpbrk().
Added its prototype.  Documented it.
2018-05-29 14:29:50 -04:00
compyx
dade099b9d CBM kernal call SECOND, update cbm.h 2018-05-23 17:37:48 +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
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
Oliver Schmidt
a482b54ed7
Removed extern keyword from function prototype. 2018-04-29 13:50:09 +02:00
Marco van den Heuvel
11629bcf99 Added C65/C64DX accelerator code and documentation. 2018-04-27 14:22:41 -07:00
Marco van den Heuvel
97e69952c4 Removed extern keyword from function prototypes. 2018-04-27 09:16:25 -07:00
Marco van den Heuvel
f2e46f0fdf Added C64 Chameleon accelerator code and documentation. 2018-04-25 12:53:29 -07: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
Marco van den Heuvel
3f5683b391 Added C128 in C64 mode accelerator code and documentation. 2018-04-20 12:08:28 -07:00
Marco van den Heuvel
6076316f38 Added c64dtv accelerator code and documentation. 2018-04-14 10:40:13 -07: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
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
03ba3f7473 Added c16/plus4 fast(), isfast() and slow() functions, and updated the documentation accordingly. 2018-03-23 14:27:15 -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
Marco van den Heuvel
2533cc8d75 Added the vic20 georam emd. 2018-03-19 11:34:41 -07:00
Marco van den Heuvel
0c7496f08b Added vic20 - ram emd. 2018-03-16 14:23:52 -07:00
Marco van den Heuvel
0eb1eb625f Undo my previous commit. 2018-03-09 10:46:02 -08:00
Marco van den Heuvel
22d4b0d497 Improved tv timing detection for the c64. 2018-03-08 16:06:33 -08:00
Marco van den Heuvel
5a9d908007 Added 2a03/2a07 and HuC6280 detection. 2018-03-01 14:57:42 -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
b0ef67d14c Added GEOS 1.3 and 1.5 detection. 2018-02-15 15:24:58 -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
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
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
811424cc1b
Added recently published ProDOS version. 2018-01-18 12:37:21 +01:00
mrdudz
8902730756 cbm stuff from greggs pull request 2017-12-11 19:52:11 +01:00
Stefan
f2e12b4715
defined DYN_DRV 2017-11-21 10:56:35 +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
Oliver Schmidt
06794b221d Made cbm_k_untlk() available. 2017-11-13 20:38:41 +01:00
Stefan
2fd99e9dec
Missing declaration 2017-11-09 17:36:21 +01:00
Oliver Schmidt
afcfba9355 Use macro actually defined in cbm_filetype.h. 2017-11-06 21:02:14 +01: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
351a5ab20a Now setPixel works in TGI. 2017-10-20 21:03:30 +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
d8904c550b Fixing buffer overflow with cwd command (FILENAME_MAX must be at 50 +1 bytes) 2017-09-25 21:39:57 +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
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
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