1
0
mirror of https://github.com/cc65/cc65.git synced 2026-04-19 09:28:25 +00:00
Commit Graph

168 Commits

Author SHA1 Message Date
Christian Groessler df3c43bede Atari: implement clock_getres() 2018-09-28 09:47:20 +02:00
Oliver Schmidt 59a8149556 Added clock_getres() for CBMs.
All CBMs have a clock (CIA TOD) resolution of 1/10 second.
2018-08-15 19:40:27 +02:00
Olli Savia fdce8fb34d Added a blank line between .include statements and .import/.export statements 2018-07-04 17:40:28 +03:00
Olli Savia f7636fe8f2 Removed .import for std kernal entries. Added .include "cbm.inc" 2018-07-03 22:47:42 +03:00
Olli Savia 032a3877e0 Added .import for std kernal entries 2018-07-03 22:44:59 +03:00
compyx 8ffe623e74 Add CBM kernal call SECOND to CBM library (see issue #525) 2018-05-23 17:32:02 +02:00
Oliver Schmidt 746e3d1454 Merge pull request #656 from Compyx/master
Add CBM kernal call TKSA to CBM library (see issue #525)
2018-05-23 09:47:41 +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
IrgendwerA8 95b4a6f881 Beautified comment. 2018-05-22 11:25:26 +02:00
IrgendwerA8 c40ae4d774 Saved 6 bytes by using popptr1. 2018-05-21 16:21:45 +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
Oliver Schmidt a795a27689 There's no 'closeallstreams' (anymore ?). 2018-05-17 11:11:40 +02:00
Greg King 33f602f9ad Shortenned the CBM close() by a byte and a cycle. 2018-02-26 15:07:13 -05:00
mrdudz 8902730756 cbm stuff from greggs pull request 2017-12-11 19:52:11 +01:00
Oliver Schmidt 06794b221d Made cbm_k_untlk() available. 2017-11-13 20:38:41 +01:00
Greg King 2c03b9a1bc Added C-code interfaces for the CBM Kernal functions SCNKEY and UDTIM. 2016-08-07 15:50:10 -04: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 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 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
Oliver Schmidt 5e960d106e Allow to override chars used for horizontal and vertical lines. 2015-10-12 21:04:06 +02:00
Oliver Schmidt 575f859a03 Keep low level VIC sprite stuff out of user code. 2015-10-09 18:33:35 +02:00
Greg King 6217f8fa3a Made the Commodore version of exec() work in programs that are so big that they load into all of BASIC RAM.
The function won't cause an "out of memory" error.
2015-09-28 11:27:39 -04:00
Greg King 38231a5cc6 Made _afailed() and uncompress() be fastcall functions. 2015-03-13 07:35:47 -04:00
Greg King 66d79da3c2 Made cbm_load() be a fastcall function. 2015-03-13 05:46:40 -04:00
Greg King a798b1d648 Made __fastcall__ be the default calling convention for non-variadic functions. 2015-03-10 05:53:52 -04:00
Greg King 8324221360 Improved some multiplication code. 2014-07-17 07:11:14 -04:00
Greg King c6e7d835ef Fixed a buffer overrun bug. 2014-07-17 07:05:10 -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 b8e65aca5a Used longer error text.
Added more codes and messages.
2014-05-28 23:01:48 -04:00
Greg King 3d6f54b7a6 Updated the CBM error tables.
* Added more mappings between DOS and C codes.
* Changed generic error messages into specific ones.
2014-05-26 09:03:43 -04:00
Greg King 449fceebdd Fixed typo (Ilegal). 2014-04-03 17:28:36 -04:00
Greg King 50c626d02b Avoided a reload by using a second register. 2013-12-23 12:20:28 -05:00
Greg King 263ae3ceb1 Made the CBM stdin consoles echo '\n' to the screen.
That fix makes Commodore platforms be consistent with other platforms' consoles.
2013-12-23 11:48:58 -05:00
Greg King 875212a850 Added more details about how the CBM exec() works. 2013-09-04 09:16:00 -04:00
Greg King 6a9ab1a69a Added a little more info about how CBM program-chaining works. 2013-08-25 00:58:27 -04:00
Greg King d0fb1fe0ae Added the model-specific addresses that the CBM exec() needs. 2013-08-25 00:43:23 -04:00
Greg King 172ce14349 Made an exec() program-chaining function for the Commodore libraries. 2013-08-25 00:31:36 -04:00
Greg King 17333e4732 Fixed some line endings.
My Git and repositories are configured for POSIX; but sometimes, Windows line endings "sneak" into new files.
2013-07-25 13:53:15 -04:00
Greg King 3b544613d2 Moved the lightpen names from <mouse.h> to a new <pen.h>.
Renamed the adjuster pointer.
2013-07-25 13:32:40 -04:00
Greg King 42301b78ce Included a header that defines NULL. 2013-06-28 06:36:32 -04:00
Greg King e63bf1cde1 Used a library-reference method to calibrate lightpen drivers.
The mouse reference is a pointer.  If it's NULL, the driver uses a default.  If it's non-NULL, then it points to a function that the driver can call.  That function will adjust the driver's calibration value.  It could ask the user to adjust the pen; or, it could read a file that holds a value from a previous calibration.

Application writers can choose how it's done: a function that's provided by the library, a custom function, or nothing.
2013-06-23 03:18:28 -04:00
Oliver Schmidt 7572834ebf Use cbm_load() to load overlays on CBMs. 2013-05-29 01:12:24 +02: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
ol.sc 89d4f4a90c Introduced getcurrentdevice() and implemented it for CBM and Apple.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-21 14:35:17 +00:00
ol.sc 1a80cd1071 Added check for disk in drive on chdir().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5859 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-17 20:24:43 +00:00
ol.sc 8b26ed2a69 Implemented __syschdir on CBM. As getcwd returns a cached directory any direct access to __curunit would cause inconsistencies. Therefore __curunit was renamed to curunit to prohibit user access.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5857 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-16 21:39:40 +00:00
ol.sc 6618e08bc3 Minimal formatting adjustment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5856 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-16 21:29:14 +00:00
ol.sc 3ca0ddb1b0 Better stick to the "high level" errno helpers as done everywhere else.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5845 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 20:51:10 +00:00