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