1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 02:29:52 +00:00
Commit Graph

378 Commits

Author SHA1 Message Date
Christian Groessler
e3fb1b3d3d Fix writing one byte beyond screen buffer. 2013-06-21 11:33:55 +02:00
Christian Groessler
73c4566ca7 Fix writing one byte beyond screen buffer. 2013-06-21 01:53:13 +02:00
Christian Groessler
f16516047a cleanups and add more comments 2013-06-21 00:01:07 +02:00
Christian Groessler
6ed1b07e59 Fix check whether there is enough memory btw. MEMLO and the program
load address to move screen buffer there.
2013-06-20 23:31:41 +02:00
Christian Groessler
2a525f8a48 some cleanups 2013-06-19 11:05:03 +02:00
Christian Groessler
47d16e86a4 Add indication on the screen of occurring IRQs and NMIs (only for debug version).
NMI handler: set I status bit to original value before interrupt before chaining
to ROM NMI handler.
2013-06-18 13:00:51 +02:00
Christian Groessler
b45c765969 make one more debug message ".ifdef DEBUG" 2013-06-17 18:56:58 +02:00
Christian Groessler
e621ca0cce Better cleanup on program exit on atarixl target 2013-06-13 01:17:53 +02:00
Christian Groessler
7eca62f8e4 Move scrdev into it's own file. On the atarixl target it will be referenced by crt0.s. 2013-06-13 01:16:35 +02:00
Christian Groessler
a6477c8caf better error message 2013-06-13 01:16:05 +02:00
Christian Groessler
ce1313b36c some debug messages ".ifdef DEBUG" 2013-06-13 01:07:40 +02:00
Christian Groessler
9f8b5668e1 Add handling of write requests 2013-06-13 00:54:03 +02:00
Christian Groessler
e5f409e357 intermediate check-in -- added handling of read requests 2013-06-12 13:27:28 +02:00
Christian Groessler
8e8a37c47b intermediate check-in 2013-06-10 14:22:30 +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
393bf6da54 Merge remote-tracking branch 'upstream/master' 2013-06-05 23:09:32 +02:00
Oliver Schmidt
5ed1fac0d6 Use unique variables for cc65 toolchain.
Originally I used the usual variables (like $(CC) and $(CFLAGS) ) but after
all this doesn't make sense as any predefined values and/or user defined
settings can only be wrong.
2013-06-04 23:39:00 +02:00
Christian Groessler
2823bc1e66 Merge remote-tracking branch 'upstream/master' 2013-06-04 10:54:34 +02:00
Oliver Schmidt
b0dd6c614f Added library reference tgi_libref to TGI interface. 2013-06-01 12:42:00 +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
c1230b8af6 small cleanup 2013-05-31 14:49:46 +02:00
Christian Groessler
7f0dbde77f Take SHADOW_RAM size into account. 2013-05-31 14:49:25 +02:00
Christian Groessler
451b34bc75 When turning the ROM off and on, also change the chargen pointer. 2013-05-31 01:50:07 +02:00
Christian Groessler
8e632b2847 some more changes -- atarixl target basically works now 2013-05-31 01:47:25 +02:00
Christian Groessler
9228b002b0 Handlers which manage the banking in and out of the ROM. 2013-05-31 01:45:53 +02:00
Christian Groessler
9908561e80 add more saved content 2013-05-31 01:42:30 +02:00
Christian Groessler
00fca46d2a move ZPSAVE content into its own file (used by 2nd load chunk and crt0.s in atarixl target) 2013-05-31 01:40:45 +02:00
Christian Groessler
7aa2231702 adapt to atarixl target 2013-05-31 01:38:16 +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
Christian Groessler
79d150b626 Code & data for "shadow RAM preparation" load chunk in the atarixl target.
Intermediate check-in, unfinished...
2013-05-30 02:34:06 +02:00
Christian Groessler
480d2a9305 Code & data for "system check" load chunk in the atarixl target. 2013-05-30 02:33:09 +02:00
Christian Groessler
2f6e7874c6 "save area" is used to save modified system variables and ports. It's
shared between the second and main chunk.
2013-05-30 02:31:25 +02:00
Christian Groessler
06f441e90f Some small first changes for the 'atarixl' target. 2013-05-30 02:30:19 +02:00
Oliver Schmidt
56b6dcf814 Brought back mouse driver source code.
The mouse driver source code in question was removed two years
ago with commit 6cbbe66c87.
It seems however desirable to have it around visible in the source
code tree for reference purposes.
2013-05-28 22:07:04 +02:00
Oliver Schmidt
2e8a65bda4 Renamed Atari drivers.
As a preparation for the introduction of the 'atarixl' target it is
necessary that all drivers have a base name...
- no longer than 7 characters
- with a common prefix
2013-05-28 21:20:37 +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
88648ce717 Avoid usage of cl65 for library build as it requires 'install'. 2013-05-04 23:38:05 +02:00
Oliver Schmidt
81e467cdc2 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:15:30 +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
Oliver Schmidt
4da29d157a Marked files to be excluded from build. 2013-05-01 14:00:01 +02:00
ol.sc
7c9171ee87 Moved IRQ hooking / unhooking from startup code to constructor / destructor to avoid linking in the hooking / unhooking code (and callirq) for the majority of cc65 prorams not linking in interruptors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 22:39:38 +00:00
ol.sc
6860ac7dfd Introduced static standard drivers.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 19:53:47 +00:00
ol.sc
1bba8355da Fixed typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5889 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-31 23:39:58 +00:00
ol.sc
a3c940e315 Convert dynamically loadable drivers into statically linkable drivers and add them to the target libraries.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5887 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-29 20:26:26 +00:00
ol.sc
61d4b6b03f Removed DIO specific typedefs which were just aliases to basic types and replaced the term 'drive' with 'device' in order to harmonize with the recently added device.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5847 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-11 18:22:49 +00:00
ol.sc
deb407ccb1 __syschdir calls initcwd so the latter must not be placed in the INIT segment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5843 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 19:18:09 +00:00
uz
d617481be4 Added the first EMD driver for the atari, written and contributed by Shawn
Jefferson <sjefferson@shaw.ca>.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-05 11:25:28 +00:00
ol.sc
f9f660dd5d Added functional Atari directory classification macros for file types from struct dirent contributed by Stefan A. Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5759 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-03 20:10:52 +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
cpg
7f3ef943bd small comment change
git-svn-id: svn://svn.cc65.org/cc65/trunk@5427 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-26 12:25:20 +00:00
cpg
0a6412b147 add "invalid parameter" error code -- contributed by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@5426 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-26 12:12:34 +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
cpg
6d0db06931 interruptor support by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@5055 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-13 16:42:45 +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
ol.sc
14cfadbc75 Computed pixel aspect ratio (PAR) by presuming a display aspect ratio (DAR) of 4/3 for a classic CRT and using the given driver resolutions as storage aspect ratio (SAR).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5001 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-30 12:46:03 +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
uz
6cbbe66c87 Removed the obsolete mouse module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4960 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-31 16:44:12 +00:00
uz
a9990fbcf3 Changed priorities of destructors so atexit will be called before open files
are closed on exit, so atexit handlers may close the files themselves or
whatever is necessary for a clean shutdown.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 10:55:03 +00:00
uz
fa1b5047dd Fixed order of options in call to ld65, which became important after the
latest changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4843 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-09 21:33:14 +00:00
cpg
f0d0e4e543 really use default drive
git-svn-id: svn://svn.cc65.org/cc65/trunk@4834 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-29 19:53:45 +00:00
cpg
3386876fd3 __defdev is not dependent on DYNAMIC_DD
git-svn-id: svn://svn.cc65.org/cc65/trunk@4833 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-29 19:52:31 +00:00
cpg
50becf541b fix for files with no extension
git-svn-id: svn://svn.cc65.org/cc65/trunk@4832 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-29 19:25:01 +00:00
cpg
5f006333bf add posixdirent.s by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@4830 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-28 21:03:05 +00:00
cpg
03ed1b3a6a some fixes
git-svn-id: svn://svn.cc65.org/cc65/trunk@4829 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-28 21:02:09 +00:00
cpg
1aeb5651f5 initial version by Stefan A. Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@4828 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-28 20:55:18 +00:00
uz
3a88860d8b Removed the rs232 module from the makefile, since it will no longer compile.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4746 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-15 20:58:46 +00:00
uz
54cd9a17dd Removed useless high byte loads of the error code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4734 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-08 15:00:15 +00:00
cpg
e673b53850 adapt to new oserror/errno handling
git-svn-id: svn://svn.cc65.org/cc65/trunk@4732 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-06 22:43:19 +00:00
uz
ba0562c9f0 Save two bytes by a small code change.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-04 10:15:44 +00:00
cpg
84b1e343b5 syschdir by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@4658 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 22:33:25 +00:00
cpg
2bca737f57 more space improvements by Daniel Serpell
git-svn-id: svn://svn.cc65.org/cc65/trunk@4503 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-07 18:58:32 +00:00
cpg
e65719bf98 don't hardcode 'D' as device name, use __defdev
git-svn-id: svn://svn.cc65.org/cc65/trunk@4495 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-26 18:47:14 +00:00
cpg
20e9cf6d85 remove check for ATEOL
git-svn-id: svn://svn.cc65.org/cc65/trunk@4492 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 18:21:26 +00:00
cpg
b0afb15402 save 2 bytes -- patch by Uz
git-svn-id: svn://svn.cc65.org/cc65/trunk@4491 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 18:08:56 +00:00
cpg
0b28cda7b0 put _revflag into .bss
git-svn-id: svn://svn.cc65.org/cc65/trunk@4489 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 17:44:54 +00:00
cpg
94f7ce4978 fix comments
git-svn-id: svn://svn.cc65.org/cc65/trunk@4488 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 17:41:00 +00:00
cpg
7fb08aa749 move __do_oserror and __inviocb into their own source files
git-svn-id: svn://svn.cc65.org/cc65/trunk@4487 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 17:35:21 +00:00
cpg
9b058add4a remove not longer needed import of __errno
git-svn-id: svn://svn.cc65.org/cc65/trunk@4486 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 17:08:24 +00:00
cpg
daa41d41d6 remove not longer needed import of tmp2 and tmp3
git-svn-id: svn://svn.cc65.org/cc65/trunk@4485 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 17:06:47 +00:00
cpg
d17e0f7c02 space improvements by Daniel Serpell
git-svn-id: svn://svn.cc65.org/cc65/trunk@4484 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-25 17:03:18 +00:00
uz
bfbf94404b Squeezed bytes and cycles out of the kbhit functions for almost all platforms.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4480 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-24 18:31:16 +00:00
cpg
7357b44104 don't use constructor to setup runtime stack
git-svn-id: svn://svn.cc65.org/cc65/trunk@4479 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 22:06:32 +00:00
cpg
fa25cc732f move fdtoiocb function into its own file -- idea by Daniel Serpell
git-svn-id: svn://svn.cc65.org/cc65/trunk@4478 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 21:59:29 +00:00
cpg
5a593b8105 poor man's _toascii routine, contributed by Fatih Aygun
git-svn-id: svn://svn.cc65.org/cc65/trunk@4477 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 21:35:33 +00:00
cpg
314984aae4 save 3 bytes, patch by Daniel Serpell
git-svn-id: svn://svn.cc65.org/cc65/trunk@4476 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 21:21:49 +00:00
cpg
2011f92c3a save a byte (idea by Uz, done by Daniel Serpell)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4475 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 21:17:56 +00:00
cpg
61b2834508 don't call __getdevdef in crt0.s, but make it a constructor of getdefdev.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@4473 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-19 22:12:51 +00:00
cpg
38901e1614 move setup of stdin/stdout/stderr from crt0.s to getfd.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@4472 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-19 20:57:23 +00:00
cpg
429c3888bc add a comment describing why this file is really included despite an obvious reference to it
git-svn-id: svn://svn.cc65.org/cc65/trunk@4471 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-18 23:52:54 +00:00
cpg
4ee7121ba2 small space optimization -- 3 bytes reduced
git-svn-id: svn://svn.cc65.org/cc65/trunk@4470 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-18 22:16:13 +00:00
cpg
cce24a2c9a no TGI_ERR_NO_MEM or TGI_ERR_NO_IOCB anymore: replaced by TGI_ERR_NO_RES
git-svn-id: svn://svn.cc65.org/cc65/trunk@4469 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-15 14:55:14 +00:00
cpg
b739a2d335 changes from Fatih
git-svn-id: svn://svn.cc65.org/cc65/trunk@4468 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-15 14:46:09 +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
cpg
b30d834772 remove superfluous ".code" line
git-svn-id: svn://svn.cc65.org/cc65/trunk@4460 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-11 23:17:55 +00:00
cpg
ab6ff06e76 bugfix from Fatih
git-svn-id: svn://svn.cc65.org/cc65/trunk@4459 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-11 23:15:42 +00:00
cpg
7b42fd028a fix comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@4457 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-10 21:56:56 +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
5c5d01d84a Moved most platform assembler includes into asminc, so they will be available
in the distribution. 
Added --forget-inc-paths to the command line of the assembler in the
Makefiles, because the assembler does now have builtin paths and will find
include files from an installation first.
Hopefully fixed any problems that arose from the two changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4223 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 17:44:22 +00:00