1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-04 13:29:35 +00:00
Commit Graph

268 Commits

Author SHA1 Message Date
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
Christian Groessler
7242ce8744 Merge remote-tracking branch 'upstream/master' 2013-08-06 19:48:07 +02:00
Greg King
bf160cae69 Added symbol names for useful Atmos addresses. 2013-08-06 10:13:48 -04:00
Christian Groessler
7a45a7b2eb Merge remote-tracking branch 'upstream/master' 2013-07-29 10:09:24 +02:00
Oliver Schmidt
1f36066946 Merge pull request #24 from greg-king5/oric
Atmos Symbol Names
2013-07-26 03:01:10 -07:00
Greg King
f02843f05d Replaced number literals in source code with meaningful symbol names. 2013-07-26 03:33:54 -04:00
Christian Groessler
b78bbb5be7 Merge remote-tracking branch 'upstream/master' 2013-07-25 23:34:50 +02:00
Oliver Schmidt
752141b026 Merge pull request #12 from greg-king5/lightpen
Added Inkwell lightpen drivers for the C64 and the C128.
2013-07-25 13:29:46 -07:00
Greg King
3574f3a742 Normalized some hexadecimal addresses. 2013-07-16 01:48:57 -04:00
Greg King
641a609cf3 Moved common symbol names out of sources, and into a global include file. 2013-07-16 00:30:56 -04:00
Christian Groessler
e0aaac0088 fix '_sysrmdir' for SpartaDOS 2013-07-16 01:31:15 +02:00
Christian Groessler
a3ad7d07a1 fix '_sysrmdir' for SpartaDOS 2013-07-16 01:29:49 +02:00
Greg King
a555b5f6a5 Merge branch 'master' into lightpen 2013-07-01 09:25:02 -04:00
Christian Groessler
c79b23e95b Merge remote-tracking branch 'upstream/master' 2013-06-17 23:54:49 +02:00
Oliver Schmidt
83280e1ee2 Have __APPLE2ENH__ imply __APPLE2__ and __ATARIXL__ imply __ATARI__. 2013-06-17 21:34:08 +02:00
Christian Groessler
0bf24103a6 Merge remote-tracking branch 'upstream/master'
Conflicts:
	asminc/atari.inc
2013-06-10 13:44:52 +02:00
Christian Groessler
a14d4c803d remove TABs 2013-06-10 13:26:56 +02:00
Christian Groessler
56e330a4d7 Use symbolic names for all CIO commands. 2013-06-10 12:45:51 +02:00
Christian Groessler
b03913370c Use symbolic names for all CIO commands. 2013-06-08 00:35:07 +02:00
Christian Groessler
2823bc1e66 Merge remote-tracking branch 'upstream/master' 2013-06-04 10:54:34 +02:00
Greg King
66ca781bb1 Added library reference address to lightpen driver header. 2013-06-03 06:09:22 -04:00
Oliver Schmidt
b0dd6c614f Added library reference tgi_libref to TGI interface. 2013-06-01 12:42:00 +02:00
Oliver Schmidt
ae409e4978 Added library reference ser_libref to SER interface. 2013-06-01 11:03:14 +02:00
Oliver Schmidt
744abda24f Added library reference mouse_libref to MOU interface. 2013-06-01 00:53:17 +02:00
Oliver Schmidt
23650cb946 Added library reference joy_libref to JOY interface. 2013-06-01 00:36:08 +02:00
Oliver Schmidt
619b215260 Added library reference em_libref to EMD interface.
Occasionally dynamically drivers suffer from not being to refer to
content in the C library. Therefore I added a mechanism to allow
a C library for a certian target to define a symbol that will be
handed over to dynamic drivers for that target. Then the drivers
can use their refernce to that symbol to access content in the C
library.
2013-06-01 00:11:31 +02:00
Christian Groessler
c1468f11b2 rename CIOV and SIOV to CIOV_org and SIOV_org for atarixl target 2013-05-31 01:37:40 +02:00
Greg King
051c21726b Added Inkwell lightpen drivers for the C64 and the C128.
They use the mouse driver programming interface.

Added a test program for lightpen drivers.  Now, it knows about only those two drivers; it will need updating when others are added.
2013-05-29 20:02:29 -04:00
Oliver Schmidt
98c47d1877 Introduced target 'atarixl'.
The target 'atarixl' is to be used for Atari XL (and better) machines.
It will disable the OS ROM and enable the Shadow RAM available on
those machine.

Note: This commit is only the inital step towards for this goal that just
replicates the target 'atari' as a starting point!
2013-05-28 21:56:37 +02:00
Oliver Schmidt
85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
Greg King
7d1d929391 Added two useful opcode mnemonic aliases.
bnz - jump if not zero.
bze - jump if zero.
2013-05-08 00:03:44 -04:00
Greg King
662aef4efa Made CBM scrcode assembly-macro properly handle all 256 codes.
And, made it smaller.
2013-04-25 14:28:01 -04:00
Oliver Schmidt
54299fae5a Replaced builtin macro packages with .mac files that are included like ordinary .inc files.
The benefits are:
- Independency of ca65 build from perl
- More transparent behaviour
2013-04-08 00:11:05 +02:00
uz
bf91be8790 Small fixes by Christian Krüger.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5960 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-07 20:25:45 +00:00
karri
b939a22f68 Define timer 7 for sound
git-svn-id: svn://svn.cc65.org/cc65/trunk@5945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-11 05:56:59 +00:00
uz
673b982b22 Change imports from "import" to "global", so the file can be used from
zeropage.s


git-svn-id: svn://svn.cc65.org/cc65/trunk@5908 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 13:54:06 +00:00
uz
c07f1ccde6 Add some more definitions for the zero page variables used by the compiler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5907 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 13:52:41 +00:00
ol.sc
50a884d530 Removed reference to old rs232 framework.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5896 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 20:43:28 +00:00
ol.sc
72f456536f Turned the 'ST' status byte into a symbol resolved by the linker in order to allow to use it from code living in the 'cbm' directory.
Moved getdevice.s from 'c64'/'c128' to 'cbm' making use of the new 'ST' setup.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5837 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-02 16:41:40 +00:00
ol.sc
58c8db7c75 Have _em_load_driver exported here now that it is an asm function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5799 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-31 21:37:07 +00:00
uz
dcff1d0774 An already loaded driver is an error in ser_load_driver, because the library
cannot know if it was dynamically loaded or statically linked.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 19:54:04 +00:00
uz
e7ed3b374f Rewrote em_load_driver in assembler fixing a possible memory leak.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:36:09 +00:00
uz
975a06c2ee Rewrote tgi_load_driver in assembler and fixed a possible memory leak when
doing so. Changed the behaviour in case a driver is already loaded: Since the
library cannot know if this driver was linked statically or loaded
dynamically, an already installed driver is considered an error. It must be
removed before calling tgi_load_driver.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5790 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:07:46 +00:00
uz
b7325f7abe According to Greg King, Vorpal files are regular files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5755 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 18:10:57 +00:00
uz
7aefd9b4e7 Added classification macros for file types from struct dirent.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5736 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 14:23:33 +00:00
uz
5bc67cdaee Move definitions for CBM file types into its own header file, since these
definitions are needed for file type macros in dirent.h. Unify names for the
include files.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5735 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 13:52:06 +00:00
uz
ebca2991a3 Moved most of the file type detection from cbm_dir.c into a new function
called _cbm_filetype().
Added an assembler include file with the file type definitions from cbm.h.
Added a first implementation of readdir() for the CBMs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5669 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-02 22:56:14 +00:00
uz
a0d3f0c180 Renamed smc.mac to smc.inc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5537 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-21 20:05:36 +00:00
uz
0d4b9c59f3 Added a macro package for writing self modyfying code. By Christian Krüger.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5536 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-21 20:02:20 +00:00
cpg
ae39e1c0af recognize XDOS -- patch from Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@5524 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-11 08:35:54 +00:00
uz
edca940a86 Declaration of tgi_settextdir() added.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5101 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 22:17:21 +00:00
uz
9c55586569 Renamed tgi_textheight -> tgi_gettextheight, tgi_textwidth -> tgi_gettextwidth
tgi_textstyle -> tgi_settextstyle and tgi_textscale -> tgi_settextscale.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5090 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 18:36:12 +00:00
uz
928f675e4b Small change in the vector font format.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5088 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 17:15:54 +00:00
uz
4026a28c60 Added a new flags byte to the TGI headers. Bumped the API version.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 11:23:27 +00:00
uz
f40c977623 Added (again) IRQ support for the Oric Atmos by Stefan Haubenthal. This time
with the correct patch for atmos.inc.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5039 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:22:02 +00:00
uz
bc9e55cbab _tgi_getaspectratio was declared global twice, while tgi_setaspectratio was
missing (Greg King).


git-svn-id: svn://svn.cc65.org/cc65/trunk@5018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 19:18:38 +00:00
ol.sc
4aa00e84e1 Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 10:38:48 +00:00
uz
a507605a89 New TGI routines tgi_getaspectratio/tgi_setaspectratio.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:40:38 +00:00
ol.sc
a27eee5718 Minimal source reformatting.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4998 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-28 13:05:12 +00:00
ol.sc
f9b25bad48 Added TGI mode tables for Atmos and Lynx
git-svn-id: svn://svn.cc65.org/cc65/trunk@4997 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 19:05:43 +00:00
ol.sc
5e37ed1a16 Target-specific black & white values for use by the target-shared TGI kernel
git-svn-id: svn://svn.cc65.org/cc65/trunk@4993 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 17:11:23 +00:00
cpg
bfb8dd8f95 add Antic opcodes (submitted by Christian Krueger)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4968 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-06 20:57:14 +00:00
uz
ce886f4c5e Removed the header files for the rs232 API since it has been replaced by
loadable serial drivers and serial.h a long time ago.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4744 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-11 16:43:31 +00:00
uz
131a5cad09 Renamed oserrcheck to __mappederrno. Added an additional function named
__directerrno and moved both to errno.s. Changed several sources to use these
functions. Needs testing.
                         


git-svn-id: svn://svn.cc65.org/cc65/trunk@4718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-10 18:10:53 +00:00
uz
a08b75c02b Remove __maperrno symbol, since the function is no longer used and has been
deleted.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4710 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-04 10:30:55 +00:00
uz
d877aac5f4 Added EBADF since this is required for fileno().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:12:23 +00:00
uz
28736e9a17 The C16 is not really a separate machine, but identical to the Plus/4, so
the include file must just include the file for the Plus/4.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4610 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-06 15:17:08 +00:00
uz
38a1690968 Replaced '=' by ':=' where applicable and moved the atmos specific assembler
include into the asminc directory.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4609 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 10:22:26 +00:00
uz
a284d8ffeb Moved the pet.inc file into the asminc subdirectory. Added definitions for the
6522 VIA and fixed the assignments for addresses to use ':=' instead of '='.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4603 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 09:55:12 +00:00
uz
4cf5b40849 Removed pet.inc, since the real file is still in the pet directory and this
one was added erronously.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4602 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 09:53:04 +00:00
uz
2469af49d7 Added definitions for the 6522 VIA.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4601 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 09:47:32 +00:00
uz
b256d6fb46 Made Olivers devnum patch (r4588) work with the PET-II models. On these
machines, the program runs in a separate 64K bank, and zeropage variables need
to be copied from the system bank into the execution bank to read by a simple
load operation. The change is currently untested!


git-svn-id: svn://svn.cc65.org/cc65/trunk@4597 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-20 19:46:51 +00:00
ol.sc
d1aad57b98 Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a constructor with a very high priority to be called before DEVNUM gets overwritten by other constructors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-14 23:12:54 +00:00
uz
972c3fd7ca Add MMU config registers 2+3 (Marco van den Heuvel).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4572 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-02 08:19:19 +00:00
ol.sc
e1b8fb85dd Added missing declaration ?!?
git-svn-id: svn://svn.cc65.org/cc65/trunk@4524 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-13 00:13:14 +00:00
uz
7ec8a5b6dc Added some definitions for version 1.3 of the o65 format.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4516 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 22:44:27 +00:00
uz
097b094fdd Replaced TGI_ERR_NO_MEM by TGI_ERR_NO_RES
git-svn-id: svn://svn.cc65.org/cc65/trunk@4467 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-13 15:53:01 +00:00
uz
e74ed31936 Fixed TGI error codes and messages. Removed the Atari specific ones.
tgi_load_vectorfont will now return TGI_ERR_NO_MEM and clear the error code if
the load was successful.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4466 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-13 12:57:10 +00:00
uz
d1e37cc241 The outcode constants from tgi_outcode went into this header file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4465 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-12 18:01:11 +00:00
cpg
b86ded5192 add some comments
git-svn-id: svn://svn.cc65.org/cc65/trunk@4458 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-10 22:00:41 +00:00
cpg
b18d6ad8db add Atari TGI drivers from Fatih Aygun
git-svn-id: svn://svn.cc65.org/cc65/trunk@4456 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-10 21:53:55 +00:00
uz
1154a11649 tgi_vectorchar takes now a char argument. Added tgi_install_vectorfont.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4454 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-06 16:18:13 +00:00
uz
ce02b5668c Added an include file for TGI vector fonts.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4453 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-06 16:00:43 +00:00