1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-03 22:29:31 +00:00
Commit Graph

538 Commits

Author SHA1 Message Date
Christian Groessler
6a17df69dd Use deferred VBI instead of immediate VBI. A deferred VBI won't be
called if the user program has interrupts disabled which makes it
easier to avoid race conditions.
2014-01-04 20:33:24 +01:00
Christian Groessler
057884ffa9 Atari: initial support to create cassette bootable programs -- unfinished 2014-01-02 19:28:22 +01:00
Christian Groessler
9e91f74297 small optimzation (found by Greg King) 2013-12-07 01:24:05 +01:00
Christian Groessler
2461163f38 remove old (static) serial driver boilerplate 2013-12-06 21:16:10 +01:00
Christian Groessler
932748e6ca remove debug code 2013-12-06 20:53:49 +01:00
Christian Groessler
074136826a add serial driver for Atari, still contains much debug code 2013-12-06 20:53:49 +01:00
Christian Groessler
478a7679a2 Force inclusion of 'shadow RAM preparation' load chunk in crt0.s and
not in the linker config file.
2013-10-18 22:08:26 +02:00
Christian Groessler
9f44d00d17 Put EXE header and main chunk load header into a single file --
it makes no sense to be able to include/exclude them separately.
2013-10-18 14:54:22 +02:00
Christian Groessler
b153ec8896 atari-asm.cfg linker config file 2013-10-18 03:08:26 +02:00
Christian Groessler
bf3a23c34c Rename 'syschk' symbol in the linker config file, which forces inclusion
of the 'system check' load chunki, to '__SYSTEM_CHECK__'.
2013-10-18 03:08:15 +02:00
Christian Groessler
90bac9d38c rename LOWDATA segment to LOWBSS 2013-10-16 18:20:57 +02:00
Christian Groessler
3ef1ef3357 comment and formatting fixes 2013-10-16 18:20:48 +02:00
Christian Groessler
e3b9e9a76e small optimization 2013-10-04 12:41:08 +02:00
Christian Groessler
700fd4f187 Enable "system check" load chunk for non-XL Atari target. 2013-10-04 00:54:24 +02:00
Christian Groessler
7fb0cf4bb2 Some formatting and style fixes. 2013-10-01 11:36:37 +02:00
Christian Groessler
213f93cce4 disable DEBUG 2013-09-27 22:14:26 +02:00
Christian Groessler
39a98f250b untabify 2013-09-27 22:01:54 +02:00
Christian Groessler
34e75afec3 adapt to CHARGEN_RELOC 2013-09-20 18:09:53 +02:00
Christian Groessler
aa2167926a move CHARGEN_RELOC enabling to Makefile.inc 2013-09-20 00:26:49 +02:00
Christian Groessler
37ed72bc89 cleanup and document CHARGEN_RELOC change 2013-09-20 00:10:34 +02:00
Christian Groessler
fe75788015 add CHARGEN_RELOC knob to conditionally include the code to change CHBASE 2013-09-19 23:34:45 +02:00
Christian Groessler
60e97f4d96 move macros to enable and disable the ROM into a separate include file 2013-09-19 23:21:09 +02:00
Christian Groessler
47a6390753 adjust some variable names 2013-09-19 22:40:20 +02:00
Christian Groessler
0a7cb64d2e Use '.ifdef' and '.ifndef' instead of '.if .defined' and '.if .not .defined'. 2013-09-19 22:36:22 +02:00
Christian Groessler
c210dfcb94 use '.ifndef' instead of '.if .not .defined' 2013-09-18 16:36:03 +02:00
Christian Groessler
7c0b049ef7 some cosmetic cleanups 2013-09-18 01:27:44 +02:00
Christian Groessler
b713706304 Get rid of SAVEAREA segment: fold it into LOWDATA. 2013-09-18 00:48:01 +02:00
Christian Groessler
678ffbdd4d add support for SHADOW_RAM2 segment 2013-09-18 00:25:18 +02:00
Christian Groessler
f679c9703c consider __STACKSIZE__ when initializing sp for atarixl 2013-09-17 23:03:33 +02:00
Christian Groessler
367bd368c0 override _sys() function for Atari targets 2013-09-17 22:52:18 +02:00
Christian Groessler
85170998ad more atarixl linker cfg file cleanups; adapt atarixl-overlay.cfg 2013-09-13 21:47:39 +02:00
Christian Groessler
5caf6c8854 atarixl linker cfg file cleanups; set default load address to 400 for atarixl 2013-09-13 20:29:24 +02:00
Christian Groessler
aac88eac53 Use labels instead of segment load addresses to specify entry points
in the EXE file.
2013-09-13 18:28:17 +02:00
Christian Groessler
5a1dcbbe4c Reduce flicker by waiting for horizontal retrace before switching ROM and
CHARGEN. Can be disabled by setting USEWSYNC to 0.
2013-09-11 23:59:24 +02:00
Christian Groessler
387f6e9b21 Check whether double buffering ('bounce buffering') is needed and only do
it if needed.
2013-09-11 22:45:41 +02:00
Christian Groessler
8bc4b4c636 add code to add free shadow memory to heap (currently disabled) 2013-09-11 22:43:35 +02:00
Christian Groessler
c48fbd8a2b remove ZP_CIOV_save and ZP_SIOV_save 2013-09-07 17:44:53 +02:00
Christian Groessler
4a0bdf871b Remove screen flicker while mapping ROM out and in.
Some cleanups.
2013-09-04 22:10:36 +02:00
Christian Groessler
ae9ab59549 xlmemchk.inc: Fix wrong calculation if load address is at an exact 4K border. 2013-08-27 22:45:23 +02:00
Christian Groessler
68fc4a1b15 rename KEYBDV_wrapper to KEYBDV_handler 2013-08-27 10:21:42 +02:00
Christian Groessler
a3511ea93d changes for atarixl target 2013-08-26 10:36:40 +02:00
Christian Groessler
4062cb6b6c atarixl target: add support for interruptors, adapt TGI drivers 2013-08-25 11:20:27 +02:00
Christian Groessler
5d7b5900f9 implement SIO handler 2013-08-22 14:47:50 +02:00
Christian Groessler
bb9f1d031a disable GETCWD command until I have a proper way to test it 2013-07-30 00:52:58 +02:00
Christian Groessler
d68307ee52 fix cleanup of stack 2013-07-24 10:24:47 +02:00
Christian Groessler
f2807df4c2 Don't import tmp1, slipped in by mistake in last commit 2013-07-24 00:44:44 +02:00
Christian Groessler
993555da94 implement _sysrename for Atari 2013-07-24 00:40:09 +02:00
Christian Groessler
8f23c1bac7 don't include errno.inc -- not necessary 2013-07-17 23:37:03 +02:00
Christian Groessler
0bd97f5445 remove unused import sreg 2013-07-17 23:33:12 +02:00
Christian Groessler
a3ad7d07a1 fix '_sysrmdir' for SpartaDOS 2013-07-16 01:29:49 +02:00
Christian Groessler
f04dc3570c close IOCB if open failed -- otherwise is is still marked as "in use" 2013-07-09 23:39:42 +02:00
Christian Groessler
d3d7499faa Remove saving and restoring of zeropage variables.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	cfg/atarixl.cfg
	libsrc/atari/crt0.s
2013-07-03 11:38:28 +02:00
Christian Groessler
7ebaec1802 Don't save and restore the zero page locations used.
Saves 19 bytes code (in the exe file) and reduces memory footprint
of the program by 45 bytes (code & bss).
2013-07-02 19:55:00 +02:00
Christian Groessler
250e26c56e Don't save original IRQ, NMI, and RESET vectors -- it's not needed. 2013-06-28 01:08:07 +02:00
Christian Groessler
1bd902787b move findfreeiocb function into its own object file 2013-06-25 01:29:56 +02:00
Christian Groessler
a03b3574b6 use first free IOCB for "GRAPHICS 0" call instead of using a hard-coded one 2013-06-25 01:27:47 +02:00
Christian Groessler
df1165e0e0 move findfreeiocb function into its own object file 2013-06-25 01:12:11 +02:00
Christian Groessler
b31e0d3249 small memory optimization: appmsav not needed in the xl target 2013-06-25 00:53:21 +02:00
Christian Groessler
be880bd157 remove TABs 2013-06-25 00:48:43 +02:00
Christian Groessler
1347947f0d some nicer debug messages 2013-06-25 00:48:26 +02:00
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
cpg
9cafacaf6d introduce STARTUP segment to Atari platform
git-svn-id: svn://svn.cc65.org/cc65/trunk@3995 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 20:04:41 +00:00
uz
8216bf1d6a Force an import of the special symbol __STARTUP__ in the C compiler when
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
cpg
2f39754838 use RUNAD (from atari.inc) instead of /bin/bash2E0
git-svn-id: svn://svn.cc65.org/cc65/trunk@3963 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-04-29 21:37:10 +00:00
cpg
482b3da7d8 add Atari MultiJoy driver from Stefan A. Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3962 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-04-11 18:10:44 +00:00
cpg
f94ee2c20e small optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@3920 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-30 19:17:14 +00:00
cpg
8008a980bb now it really works (tested w/MYDOS only)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3918 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-28 22:01:28 +00:00
cpg
46cb2548c1 fix comments
git-svn-id: svn://svn.cc65.org/cc65/trunk@3917 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-28 21:54:02 +00:00
uz
4812feb44b git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81 2008-08-02 22:02:54 +00:00
cpg
e64672acc7 use __ZPSAVE_LOAD__ instead of __BSS_LOAD__ to create EXEHDR
git-svn-id: svn://svn.cc65.org/cc65/trunk@3851 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-04 17:32:00 +00:00
cuz
f257b2ee81 Moved the data that keeps a copy of the used zero page locations in its own
segment to reduce the executable size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-03 19:39:14 +00:00
cpg
baf1e77645 Use RMARGN instead of a hard coded value for compatibility with XEP80.
Patch by Stefan Haubenthal.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3847 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-01 20:58:03 +00:00
cpg
b66b04f289 space optimization by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-03-28 19:34:48 +00:00
cuz
06e00f9343 Declare zero page variables before use. Otherwise they aren't used in zero
page addressing mode, if the assembler has a choice.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3725 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-09 11:43:03 +00:00
cpg
f981dd35ad fix INSTALL return value (Stefan Haubenthal)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3695 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-05 15:11:33 +00:00
cpg
48c3702315 add sysmkdir.o and sysrmdir.o
git-svn-id: svn://svn.cc65.org/cc65/trunk@3694 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-04 09:58:11 +00:00
cpg
c249515d48 initial version from Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3693 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-04 09:56:04 +00:00
cpg
67cd3d8d76 error code 172 -> EEXIST (Stefan Haubenthal)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-03 20:12:58 +00:00
cpg
017be4c23b TAB fixes from Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3688 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-03 19:57:16 +00:00
cpg
be31ff1fe4 take __RESERVED_MEMORY__ from linker script into account when setting
upper memory limit


git-svn-id: svn://svn.cc65.org/cc65/trunk@3569 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-07 15:48:32 +00:00
cpg
9fbc99eb6d remove initscrmem and grmemusage:
git-svn-id: svn://svn.cc65.org/cc65/trunk@3568 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-07 15:44:01 +00:00
cpg
2efd1c79df _graphmode_used isn't used anymore
git-svn-id: svn://svn.cc65.org/cc65/trunk@3567 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-07 15:42:59 +00:00
cpg
044de2eaca remove graphuse.o
git-svn-id: svn://svn.cc65.org/cc65/trunk@3566 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-07 15:42:20 +00:00
cpg
b5604af456 put zeropage variables into EXTZP segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3535 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-22 22:48:43 +00:00
cpg
0093a8f388 startup code now resides in LOWCODE segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3444 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-31 21:53:12 +00:00
cuz
54240ffad3 Move constructor code into the INIT segment. Note: Didn't change any
obsolete modules.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3407 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:38:46 +00:00
cpg
50319e2a4f clean up
git-svn-id: svn://svn.cc65.org/cc65/trunk@3396 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-20 00:39:46 +00:00
cpg
fcf1a05454 add query_sectorsize: query sector size of disk by reading sector #4
and making a status command ($53) to the drive: initial check-in,
needs cleanup


git-svn-id: svn://svn.cc65.org/cc65/trunk@3394 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-19 01:04:41 +00:00
cpg
03a0c61768 dioqsize.o: new object file
git-svn-id: svn://svn.cc65.org/cc65/trunk@3392 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-19 00:58:26 +00:00
cpg
15d7996bfc initial check-in
git-svn-id: svn://svn.cc65.org/cc65/trunk@3391 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-19 00:57:26 +00:00
cpg
ad8a481a9e fix tmp3 return value if DEFAULT_DEVICE is enabled
git-svn-id: svn://svn.cc65.org/cc65/trunk@3337 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-17 14:33:32 +00:00
cpg
47054d90d3 rename defdev to __defdev and export it; add support for
DEFAULT_DEVICE and DYNAMIC_DD


git-svn-id: svn://svn.cc65.org/cc65/trunk@3336 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:46:28 +00:00
cpg
1727d49c8d DYNAMIC_DD support
git-svn-id: svn://svn.cc65.org/cc65/trunk@3334 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:43:47 +00:00
cpg
1cb6868ddd DYNAMIC_DD
git-svn-id: svn://svn.cc65.org/cc65/trunk@3333 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:41:14 +00:00
cpg
d27b06ecd2 use DEFAULT_DEVICE definition for the default drive
git-svn-id: svn://svn.cc65.org/cc65/trunk@3330 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:19:46 +00:00
cuz
16c81eb942 Add the irq entry point
git-svn-id: svn://svn.cc65.org/cc65/trunk@3279 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:12:57 +00:00
cuz
303304fe90 Add definitions for tools so the makefile is useful by itself.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:28:26 +00:00
cuz
44197d3708 Use get_tv.inc. Fix high byte of returned value.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3261 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:15:23 +00:00
cpg
3925f0cac9 fix a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@3181 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-15 19:33:52 +00:00
cpg
bb9d07430f revert last change
git-svn-id: svn://svn.cc65.org/cc65/trunk@3148 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-09 19:23:13 +00:00
cpg
aeadc056c7 one byte space optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@3116 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 19:53:13 +00:00