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

250 Commits

Author SHA1 Message Date
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
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
mrdudz
859604407b fixed more flaws found by greg :) 2015-09-19 15:37:39 +02:00
mrdudz
088a25437d fixed VDC register assignments 2015-09-07 12:55:36 +02:00
mrdudz
af2ba26c62 fix gregs complaints :) 2015-09-04 14:14:17 +02:00
mrdudz
57b8af1adc style fixes 2015-08-29 15:58:57 +02:00
mrdudz
1e2d9f1796 fixed hline/vline 2015-07-19 13:36:27 +02:00
mrdudz
21ef6b8510 fixed screensize, timertick, revers mode 2015-07-16 16:00:32 +02:00
mrdudz
c3d45e4c47 fixed issues found by gregg 2015-07-15 13:18:12 +02:00
mrdudz
ac27ed301a _tickcount -> tickcount 2015-07-14 19:55:41 +02:00
mrdudz
83391ab67c some more tweaking, added docs page 2015-07-14 17:22:47 +02:00
mrdudz
9e1d39a409 more cleanup and fixing 2015-07-12 16:40:52 +02:00
mrdudz
891cb97b2f more cleanup, joystick works again 2015-07-12 14:27:24 +02:00
Oliver Schmidt
2c975d3642 Create static drivers directly from source files.
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach:

The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory.

However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails.

Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
2014-06-04 23:50:18 +02:00
Oliver Schmidt
99f0a56f63 Merge pull request #122 from groessler/a5200
new target: Atari 5200 console
2014-05-30 22:52:51 +02:00
Christian Groessler
df782e9500 rename _antic.inc, _pokey.inc, _gtia.inc to atari_antic.inc, atari_pokey.inc, atari_gtia.inc 2014-05-30 22:00:18 +02:00
Christian Groessler
fa7cdf0214 remove atari5200.mac 2014-05-30 13:38:29 +02:00
Christian Groessler
2bf580fb89 remove unneeded ATASCII defs; add header 2014-05-29 00:42:30 +02:00
Christian Groessler
8f2c9f0d8e use atari target scrcode macro for atari5200 target, too 2014-05-29 00:18:55 +02:00
Christian Groessler
b8e5a66f29 changed version, startup screen now not fine anymore 2014-05-16 02:12:01 +02:00
Christian Groessler
0f2f19ef5b some CONIO fixes 2014-05-16 02:10:19 +02:00
Greg King
667f8229c0 Migrated the phantom-key exorcism code to the other C128 mouse drivers. 2014-05-05 05:30:31 -04:00
Christian Groessler
92b32d7d0e atari5200 update: simple conio "hello world" works now 2014-04-25 03:02:44 +02:00
Christian Groessler
ec417c0dc5 Merge remote-tracking branch 'upstream/master' into a5200 2014-04-25 02:07:44 +02:00
Greg King
42595fbf13 Added command-line argument parsing to the CBM510 and CBM610 targets. 2014-04-03 08:23:28 -04:00
Christian Groessler
30b418c734 add gotox, gotoy, and gotoxy 2014-03-13 02:38:35 +01:00
Christian Groessler
c8f7f2f161 first changes for atari5200 target 2014-03-01 17:20:09 +01:00
Oliver Schmidt
a7b84bb618 Removed references to SunPlus. 2014-02-08 22:48:49 +01:00
Christian Groessler
1f64a13559 small comment change 2014-01-29 23:40:48 +01:00
Christian Groessler
f5e7e92a35 Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-17 22:33:29 +01:00
Oliver Schmidt
94eb2a2ed7 Some fine tuning of the mouse driver interface harmonization. 2014-01-17 21:09:15 +01:00
Christian Groessler
6ab07261bc Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-16 23:34:56 +01:00
Oliver Schmidt
4065cb1983 Harmonized interface between mouse drivers and callbacks.
The Apple2 doesn't have sprites so the Apple2 mouse callbacks place a special character on the text screen to indicate the mouse position. In order to support the necessary character removing and redrawing the Apple2 mouse driver called the Apple2 mouse callbacks in an "unusual way". So far so (sort of) good.

However the upcoming Atari mouse driver aims to support both "sprite-type" mouse callbacks as well as "text-char-type" mouse callbacks. Therefore the interface between mouse drivers and callbacks needs to be extended to allow the mouse callbacks to hide their different types from the mouse driver.

The nature of this change can be seen best by looking at the Apple2 file modifications. The CBM drivers and callbacks (at least the current ones) don't benefit from this change.
2014-01-15 22:47:59 +01:00
Christian Groessler
86fe20fb14 fix some typos 2014-01-14 14:03:06 +01:00
Christian Groessler
f4b86394b0 fix typo 2014-01-04 20:33:24 +01:00
Greg King
d56f5d65ab Added a simplistic read() that gives a stdin console on the Atmos. 2013-12-24 05:18:04 -05:00
Christian Groessler
9124d0f051 add SER_BAUD_56_875 2013-12-06 20:53:49 +01:00
Christian Groessler
367ab2d531 add SER_ERR_NOT_OPEN status code 2013-12-06 20:53:49 +01:00
Christian Groessler
7fb0cf4bb2 Some formatting and style fixes. 2013-10-01 11:36:37 +02:00
Christian Groessler
ac9f0d6a05 Merge remote-tracking branch 'upstream/master' 2013-09-10 13:36:28 +02:00
Greg King
e0c8c7dcb1 Added a cbm510 lightpen driver.
It's similar to the current c64 and c128 lightpen drivers.
2013-09-09 17:03:40 -04:00
Christian Groessler
1e8e998991 Merge remote-tracking branch 'upstream/master' 2013-09-04 13:28:10 +02:00
Oliver Schmidt
3969d920fa Bumped driver api versions due to recent intoduction of library references. 2013-09-01 09:46:07 +02:00
Christian Groessler
20c9fe44b4 Merge remote-tracking branch 'upstream/master' 2013-08-27 10:22:41 +02:00
Oliver Schmidt
bc992e0398 Merge pull request #31 from greg-king5/cbm-chain
Commodore exec() function
2013-08-26 23:50:34 -07:00
Greg King
67571d4f5f Changed some CPU memory-mapped register definitions from expression mode into label mode. 2013-08-26 22:02:00 -04:00
Christian Groessler
13a7812cf5 add some more SIO information 2013-08-26 12:18:11 +02:00
Christian Groessler
4062cb6b6c atarixl target: add support for interruptors, adapt TGI drivers 2013-08-25 11:20:27 +02:00
Greg King
d0fb1fe0ae Added the model-specific addresses that the CBM exec() needs. 2013-08-25 00:43:23 -04:00
Christian Groessler
b1f69e0696 add some more SIO information 2013-08-22 13:08:48 +02:00