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
kym
11be575b6d
Initial Creativision Import
2013-12-05 11:40:44 +00: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