1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-26 08:32:00 +00:00
Commit Graph

1131 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
Stefan
3e8c6bf4bd
c128-hi.tgi doc 2018-07-30 15:33:52 +00:00
AIDA Shinra
fd67284b4d Followed the discussions in the Pull request #682.
* Fixed a misspelling
* Fixed styles
* Added sample codes
2018-06-14 02:02:16 +09:00
AIDA Shinra
2b25329423 Support for preprocessing info file via cpp or m4. 2018-06-14 02:02:16 +09:00
AIDA Shinra
a3ab3cb458 Changed the wording of the doc/da65.sgml. 2018-06-13 01:23:01 +09:00
AIDA Shinra
03bb2f6a48 Followed discussions in the Pull reequest #681.
In particular, renamed "virtual operands" to "inline parameters".
2018-06-12 00:18:11 +09:00
AIDA Shinra
9283e9ca98 Support for "virtual operands" of subroutines like this:
jsr	SomeProc
.byte	$00, $01 ; argument to SomeProc
; return here from SomeProc
bit	$3F
2018-06-10 18:09:11 +09:00
Greg King
6d87370881 Fixed strpbrk().
Added its prototype.  Documented it.
2018-05-29 14:29:50 -04:00
Bas Wassink
b98517f90b Add __fastcall__ to cbm_k_second() documentation 2018-05-25 13:17:12 +02:00
compyx
8ffe623e74 Add CBM kernal call SECOND to CBM library (see issue #525) 2018-05-23 17:32:02 +02:00
Oliver Schmidt
4459b8973b
Merge pull request #659 from polluks/patch-10
Fixed typos and added references for #655
2018-05-23 15:51:25 +02:00
Oliver Schmidt
b6b11e3b43
Merge pull request #660 from polluks/patch-11
More references
2018-05-23 15:48:43 +02:00
Stefan
d28fce082d
Update funcref.sgml 2018-05-23 13:40:14 +00:00
Stefan
21a69c8aff
Update tgi.sgml 2018-05-23 13:34:37 +00:00
Stefan
714a347dc9
Update funcref.sgml 2018-05-23 13:32:17 +00:00
Stefan
0a1e68d7a9
Update funcref.sgml 2018-05-23 13:30:57 +00:00
Stefan
1dcd4a19ea
More references 2018-05-23 04:51:32 +00:00
Stefan
9e4833e21f
Added documentation of cbm_k_untlk 2018-05-23 04:27:05 +00:00
Stefan
37e6b05b4a
Fixed typos and added references for #655 2018-05-23 01:51:54 +00:00
compyx
e3a8cfcdb0 cbm_k_tksa() from the PET docs 2018-05-22 18:48:43 +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
Stefan
b3358c462e
Update c64.sgml
Do not use last page!
2018-05-14 23:10:34 +00:00
Stefan
df79409f76
Update c64.sgml
soft80 is NMI ready
2018-05-14 14:17:09 +00:00
Marco van den Heuvel
04675fca2a Order fix. 2018-05-02 11:23:43 -07:00
Marco van den Heuvel
b1c3daca3a Fixed the order of some functions. 2018-05-01 14:45:51 -07:00
Marco van den Heuvel
b12678e90d Fixed a typo. 2018-04-30 14:34:46 -07:00
Marco van den Heuvel
ad7b339c44 Added C64 Turbo Master accelerator code and documentation. 2018-04-30 14:30:35 -07: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
f2e46f0fdf Added C64 Chameleon accelerator code and documentation. 2018-04-25 12:53:29 -07:00
Oliver Schmidt
fc61bc79c5
Merge pull request #629 from blackystardust/master
Added C128 accelerator code and documentation for both C128 mode and C128 in C64 mode.
2018-04-25 15:08:11 +02: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
28f26991ac Updated c128 accelerator code and documentation. 2018-04-21 09:52:50 -07:00
Greg King
30aed2330d Updated a joystick adapter URL. 2018-04-21 04:30:56 -04: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
c5f15fa1d5 Fixed some comment and documentation errors. 2018-04-15 11:55:58 -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
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
4fdc2d7209 Fix documentation building issue. 2018-03-18 12:06:43 -07:00
Marco van den Heuvel
12f72a5ed7 Added vic20 emd documentation. 2018-03-17 09:25:42 -07:00
Bob Andrews
7e6942953c
Merge pull request #604 from blackystardust/master
Improved reu size detection.
2018-03-08 19:19:35 +01:00
Oliver Schmidt
8e75906737 Switched Apple II output format to AppleSingle.
Although the primary target OS for the Apple II for sure isn't DOS 3.3 but ProDOS 8 the Apple II binary files contained a DOS 3.3 4-byte header. Recently I was made aware of the AppleSingle file format. That format is a much better way to transport Apple II meta data from the cc65 toolchain to the ProDOS 8 file system. Therefore I asked AppleCommander to support the AppleSingle file format. Now that there's an AppleCommander BETA with AppleSingle support it's the right time for this change.

I bumped version to 2.17 because of this from the perspective of Apple II users of course incompatible change.
2018-03-07 23:05:21 +01:00
Marco van den Heuvel
74117bbe46 Merge remote-tracking branch 'upstream/master' 2018-03-06 18:00:57 -08:00
Marco van den Heuvel
2418c0e0af Updated documentation for the reu emd. 2018-03-06 18:00:36 -08:00
Oliver Schmidt
223750cde9 CC65_HOME is gone for quite some time by now. 2018-03-06 20:43:08 +01:00
Marco van den Heuvel
24cfcfdd4f Merge remote-tracking branch 'upstream/master' 2018-03-02 14:09:22 -08:00
Oliver Schmidt
57abfcd581 Joystick drivers don't depend on interrupts anymore. 2018-03-02 22:17:49 +01:00
Marco van den Heuvel
5a9d908007 Added 2a03/2a07 and HuC6280 detection. 2018-03-01 14:57:42 -08:00
Marco van den Heuvel
c7764cfe50 Merge remote-tracking branch 'upstream/master' 2018-03-01 09:32:38 -08:00
Marco van den Heuvel
102d486207 Updated getcpu() function documentation. 2018-03-01 08:55:29 -08:00
Stefan
85467231ab
Update
More conio targets
2018-02-28 00:24:28 +00:00
Stefan
924364d73d
Small typo 2018-02-25 22:38:58 +00:00
Greg King
3a0506ccb3 Changed the PC-Engine's configuration file, so that the command line can build 8K, 16K, and 32K carts.
Adjusted the PCE's document, the start-up code, and the PCE library test makefile.  That makefile shows how to post-process the linker's output file.
2018-02-23 16:06:49 -05:00
Oliver Schmidt
83890e56eb
Update dio.sgml 2018-02-22 13:30:50 +01:00
Oliver Schmidt
4f3b47c3d7
Merge pull request #588 from polluks/master
Cleanup notes
2018-02-10 00:35:14 +00:00
Stefan
89799cd02e More notes 2018-02-10 00:08:28 +01:00
Stefan
46bdc016db Removed empty notes 2018-02-07 18:08:40 +01:00
Stefan
54f8dea29b Added note 2018-02-07 17:23:23 +01:00
Oliver Schmidt
af8a995116
Merge pull request #587 from polluks/master
Added missing documentation of header
2018-02-07 15:45:36 +00:00
Stefan
4d7098f2f2 Requested changes 2018-02-07 16:23:49 +01:00
Stefan
b69ee802fd Sorted 2018-02-07 03:07:30 +01:00
Stefan
a48f998162 Added missing function 2018-02-07 01:55:56 +01:00
Stefan
a227089ba1 Added missing documentation of header 2018-02-07 00:11:55 +01:00
Oliver Schmidt
ef5461a32c Mention the recently added linker configs. 2018-02-01 00:18:07 +01:00
Oliver Schmidt
58bfe28244 Updated AppleCommander URL. 2018-01-31 23:52:08 +01:00
Oliver Schmidt
fb193933cb
Merge pull request #552 from polluks/master
Added Oric-1 compatibility #550
2017-12-16 18:26:34 +00:00
Stefan
6faef87b49 Fixed Oric-1 compatibility #550 2017-12-15 23:51:39 +01:00
mrdudz
8902730756 cbm stuff from greggs pull request 2017-12-11 19:52:11 +01:00
Greg King
ad9b7c0bfa Fixed the sort order of the function descriptions in the TGI document. 2017-11-30 11:56:38 -05:00
Greg King
a029c00660 Fixed a Table-Of-Contents bug in the TGI document.
The <toc> tag can't be put inside of a section.  It isn't needed, anyway; we can get a TOC by putting the header as a section, and the functions as subsections.
2017-11-30 11:38:12 -05:00
Oliver Schmidt
7e834a47b0
Merge pull request #533 from polluks/master
Splitting of funcref
2017-11-26 20:16:29 +00:00
Stefan
fa9a1cf2dc
Update tgi.sgml
Added missing ref.
2017-11-25 23:32:52 +01:00
Stefan
9725c44934
Update tgi.sgml
I should take more attention of Travis.
2017-11-25 23:09:19 +01:00
Stefan
aa30f50fbe
Update tgi.sgml
Fixed toc.
2017-11-25 22:39:41 +01:00
Stefan
41df21855a Splitting of funcref 2017-11-25 19:31:36 +01:00
Stefan
61b2264327
Fix docs for #526
funcref.sgml is still growing and growing, how about outsourcing all TGI functions into tgi.sgml?
2017-11-22 01:35:42 +01:00
Stefan
40f960f733
Date 2017-11-21 09:59:31 +01:00
Stefan
e9c16e62e7
Fix docs for #453 2017-11-21 09:51:35 +01:00
Christian Groessler
9ead405938 Creativision documentation enhancements. 2017-11-15 00:13:06 +01:00
Oliver Schmidt
258cdf2e07
Merge pull request #521 from jedeoric/master
Fix cc65 doc for Telestrat target
2017-11-12 10:02:56 +00:00
jede
3c97a04b25 Fix cc65 doc for telestrat target 2017-11-12 10:42:09 +01:00
Oliver Schmidt
0f87844a7c
Merge pull request #519 from jedeoric/master
[Telestrat] mkdir is now available
2017-11-11 21:09:59 +00:00
jede
64ed0a1937 Doc modified 2017-11-10 10:58:01 +01:00
Stefan
e64c42f224
Update atmos.sgml 2017-11-03 20:49:49 +01:00
jede
eae485dc64 Empty item removed 2017-10-28 00:40:56 +02:00
jede
7435c2f3ca Fix doc/telestrat.sgml 2017-10-26 22:00:12 +02:00
jedeoric
af1c7f0c8b Merge branch 'master' into master 2017-10-22 23:11:18 +02:00
jede
93f202850a toascii.s added, doc updated, tgi_line & tgi_outtext are available 2017-10-22 23:06:56 +02:00
Greg King
bea5364b97 Added commit ca4ed290d5964dbe833224d967d3707e20972278's command-line option to the cl65 document. 2017-10-16 09:39:33 -04:00
Stefan
945dcfd63a Fixed address
See cbm510.cfg
2017-09-13 23:51:07 +02:00
Greg King
3c0b8c4e86 Made the CBM Pet kbrepeat() work on both 40-column and 80-column machines.
Put the kbrepeat() description in an alphabetical position in the function document.
2017-09-05 09:19:01 -04:00
Phil Smith
ded1c20190
Reserve space in examples with .res 2017-09-02 19:30:14 -07:00
Phil Smith
929553dc8d
At most 256 bytes will be reserved 2017-09-02 00:02:47 -07: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
mrdudz
3c3558892e add note on fastcall 2017-08-19 19:16:31 +02:00
Bob Andrews
5dcebbccb6 Merge branch 'master' into kbrepeat 2017-08-06 20:22:52 +02:00
mrdudz
dafe3c1e3c added documentation for the kbrepeat... functions 2017-08-06 20:15:35 +02:00
Oliver Schmidt
92ff854bff Removed undesirable empty lines. 2017-07-31 13:50:27 +02:00
Bill Chatfield
0bd5a8a331 Made corrections according to review comments 2017-07-30 19:51:23 -04:00
Bill Chatfield
85e572f4e1 Made corrections according to review comments 2017-07-30 19:49:20 -04:00
Bill Chatfield
9d89613bb2 Added documentation for setting the file type for fopen. 2017-07-29 01:25:07 -04:00
Bill Chatfield
2c7b757b4c Documented _filetype and _auxtype 2017-07-28 17:44:13 -04:00
Oliver Schmidt
5d333239c6 Merge pull request #468 from pmjdebruijn/samples
make changes
2017-07-23 02:09:20 +02:00
Pascal de Bruijn
19f6ae1d54 make: change uppercase prefix var 2017-07-22 16:38:50 +02:00
Pascal de Bruijn
80b27bde5e pragma: add minimalist message pragma documentation
documents 6e93c1ba73
2017-07-22 15:35:24 +02:00
Oliver Schmidt
6002e59c28 Merge pull request #453 from mrdudz/waitvsync
waitvblank for cbm targets
2017-07-18 15:38:27 +02:00
mrdudz
cbdad764f0 oops 2017-07-18 00:01:15 +02:00
mrdudz
d965601a5e fix sgml 2017-07-17 23:31:01 +02:00
mrdudz
1abce3a2a1 rename all waitvblank() to waitvsync() 2017-07-17 23:15:05 +02:00
Oliver Schmidt
6de78c536f Made DOS 3.3 IRQ statement more general.
I recently came across that the question if a driver is compatible with DOS 3.3 isn't about the fact if it actually uses IRQs but if it potentially could use IRQs as the driver kernel pulls in the IRQ handler anyway. This is especially suboptimal in the scenario of statically linked drivers where it is concpetually totally clear at link time they use IRQs or not. Apart from that it might make sense to be able to define on a per-target basis if _any_ of the drivers of a certain class uses IRQs. If that isn't the cases the driver kernel for that driver class for that target could omit IRQ handling too. I'm aware that Uz imagined drivers being loaded which weren't known when the program was linked - but I don't see this.
2017-06-30 09:50:28 +02:00
Lauri Kasanen
135041ac3c Add lz4 doc 2017-06-09 10:54:50 +03:00
Oliver Schmidt
b8f30ba0de Merge pull request #436 from bbbradsmith/ca65_define_macro_doc
Small improvement to ca65 macro documentation
2017-06-05 15:03:37 +02:00
Stefan
52642f6c8f Deprecated commands mentioned 2017-05-30 02:05:35 +02:00
Stefan
0a011c31ea Update ar65.sgml 2017-05-28 16:22:34 +02:00
Stefan
ed65eaf682 Verbosity was missing; POSIX operations 2017-05-28 16:12:02 +02:00
Oliver Schmidt
c269caaded Merge pull request #441 from polluks/patch-3
Small typo
2017-05-26 11:03:57 +02:00
Oliver Schmidt
8f9c7f0d60 Merge pull request #440 from polluks/patch-5
Also Oricutron mentioned
2017-05-26 11:03:06 +02:00
Oliver Schmidt
162d01519b Merge pull request #439 from polluks/patch-4
Some clean-up
2017-05-26 11:02:02 +02:00
Stefan
3b33af88cf Oricutron mentioned 2017-05-26 01:44:33 +02:00
Greg King
ca1b9deb59 Added a description of the "-E" command-line option to cl65's document.
Improved other descriptions, to make them more consistent and accurate.
2017-05-24 16:47:12 -04:00
Stefan
87a9e0ce4f clean-up 2017-05-24 00:04:52 +02:00
Brad Smith
051cf11ce6 expanding macro examples, trying to adhere to style guidelines 2017-05-23 17:07:45 -04:00
Brad Smith
355696d17d ca65 documentation of .define macros, making note that parentheses in ca65 macros are problematic especially when thinking of them as "C style", replacing unclear example with an example showing how accidental parentheses can cause a problem. 2017-05-22 21:33:02 -04:00
Stefan
d9a8c30053 typo 2017-05-22 23:53:51 +02:00
Greg King
39e55bdb77 Added more info to the documentation of "#pragma wrapped-call". 2017-05-20 01:41:49 -04:00
Oliver Schmidt
0d4edc326e Merge pull request #430 from polluks/patch-1
VIC's kernal does not support CTRL+[
2017-05-18 22:45:50 +02:00
Stefan
70b541b81e Changed section 2017-05-18 21:21:02 +02:00
Lauri Kasanen
4c05c46cd1 Remove RAM-trampoline array support 2017-05-18 16:11:39 +03:00
Stefan
c6cab0bb27 VIC's kernal does not support CTRL+[ 2017-05-18 12:59:03 +02:00
Lauri Kasanen
ac7a0e21ac Correct missed doc label 2017-05-16 20:14:19 +03:00
Lauri Kasanen
ca41af41c2 Rename pragma trampoline to wrapped-call, value to identifier 2017-05-16 20:10:24 +03:00
Lauri Kasanen
82e62209d6 Document pragma trampoline 2017-05-01 21:08:03 +03:00
Oliver Schmidt
4e856546c1 Minor language update. 2017-04-04 13:42:57 +02:00
Greg King
3b17c3a411 Fixed 2 typoes.
Warning messages from nsgmls usually mean a typing mistake a few lines above the first line that's named by nsgmls.
2017-04-04 07:23:05 -04:00
Oliver Schmidt
9b34509956 Use the more explicit tag style for recently added internal links. 2017-04-04 00:41:40 +02:00
Oliver Schmidt
02daf9f8b5 So far the built-in inlining of several known standard function was always (!) enabled and the option -Os enabled additional, potentially unsafe inlining of some of those functions.
There were two aspects of this behavior that were considered undesirable:
- Although the safe inlining is in general desirable it should only be enabled if asked for it - like any other optimization.
- The option name -Os implies that it is a safe option, the potentially unsafe inlining should have a more explicit name.

So now:
- The option -Os enables the safe inlining.
- The new option --eagerly-inline-funcs enables the potentially unsafe inlining (including the safe inlining).

Additionally was added:
- The option --inline-stdfuncs that does like -Os enable the safe inlining but doesn't enable optimizations.
- The pragma inline-stdfuncs that works identical to --inline-stdfuncs.
- The pragma allow-eager-inline that enables the potentially unsafe inlining but doesn't include the safe inlining. That means that by itself it only marks code as safe for potentially unsafe inlining but doesn't actually enable any inlining.
2017-04-03 23:20:26 +02:00
Greg King
01f5baf03d Fixed SGML typo. 2017-03-21 21:23:48 -04:00
Greg King
750a527100 Made C's sizeof operator work with initialized void variables.
Added regression tests that check cc65's handling of void variables.
2017-03-12 14:41:32 -04:00
jede
4f1d007fb4 Correcting typo 2017-02-25 21:32:42 +01:00
Irgendwer
f55d334435 Update atari.sgml 2017-02-24 11:19:33 +01:00
IrgendwerA8
ae7fa8f2ea Improved display list instruction definition for more comfortable use within void data definition. 2017-02-24 00:10:02 +01:00
Greg King
39d655278d Added "telestrat.html" to index. Sorted "gamate.html". 2017-02-15 16:10:16 -05:00
Christian Groessler
b858b0d623 Add joystick driver to documentation. 2017-02-15 15:37:06 +01:00
Christian Groessler
a5fba551d1 Merge remote-tracking branch 'upstream/master' into something_to_pull2 2017-02-13 21:38:38 +01:00
Oliver Schmidt
5bbf010029 Merge pull request #371 from jedeoric/master
Create an Oric Telestrat target library
2017-02-10 23:47:13 +01:00
jede
9cde534b23 Rollback for *.vcxproj, telestrat.sgml modified for "don't" instead of "did not" for telemon2.4 2017-02-09 18:46:56 +01:00
Christian Groessler
c33383e6de Add Creativision to README.md and html index 2017-02-06 21:06:08 +01:00
Christian Groessler
e6359ec019 Add initial creativision.sgml, contributed by Stefan Haubenthal. 2017-02-06 20:59:52 +01:00