Oliver Schmidt
4452156d1a
Avoid indirect jmp with unknown vector address.
2014-01-26 18:10:01 +01:00
Oliver Schmidt
94eb2a2ed7
Some fine tuning of the mouse driver interface harmonization.
2014-01-17 21:09:15 +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
Mario Patiño
9b157a5b1e
Defined a struct to contain the date and time data
...
To keep backward compatibility auxtype and the date/time are kept
separated.
A struct similar to the one used in dirent.h is used to access the
create_date and create_time fields.
2013-08-03 19:08:36 +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
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
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
Oliver Schmidt
54c54f8499
Include targetutil intermediates in dependency handling.
2013-05-09 09:27:36 +02:00
Oliver Schmidt
e4347b5c74
Removed unintentionally committed intermediate file.
2013-05-09 09:18:19 +02:00
Oliver Schmidt
092653cb5b
Added support for building targetutils.
2013-05-09 01:12:26 +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
b1c38729d0
Exclude apple2enh-only functionality from apple2 biuld on source code level.
2013-05-01 22:02:47 +02:00
Oliver Schmidt
6891862bbe
Adjusted include directive for local header.
2013-05-01 21:53:30 +02:00
ol.sc
4a5bd362ac
Removed unnecessary include.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-14 16:16:57 +00: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
89d4f4a90c
Introduced getcurrentdevice() and implemented it for CBM and Apple.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-21 14:35:17 +00:00
ol.sc
272b8e7185
I wasn't aware that the unit numbers in the ProDOS device list contain device type identifiers in the low nibble. So if we can't use the device list entries as-is we can as well present the high nibble as low nibble to the user thus providing more meaningful device numbers.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5852 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-15 21:59:51 +00:00
ol.sc
e0efad70bf
Removed TABs.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-14 12:51:02 +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
d99d5f3337
Replaced Apple II specific solution with implementation of recently introduced devicedir().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5846 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 20:55:56 +00:00
ol.sc
0f1cd50883
Replaced Apple II specific solution with implementation of recently introduced mass-storage device enumaration.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5821 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 13:38:32 +00:00
ol.sc
dccb0c8dde
We now don't define the memory area RAM anymore. So use the segment STARTUP - as done in crt0.s.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5729 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:58:03 +00:00
ol.sc
610bb14988
Avoid mixing of memory areas and segments in address computations (and made move of segment INIT somewhat more readable).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5726 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:13:58 +00:00
ol.sc
95686b169e
Moved actual computation of DOS 3.3 header to linker configurations:
...
- This will allow for different "formulas".
- This brings things together in one place.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5716 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-14 20:44:35 +00:00
ol.sc
9cc99876b2
Moved Apple EXEHDR to separate module (similiar to CBMs).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 21:05:51 +00:00
ol.sc
80a7a8df00
Moving the quit-hook towards the end of page 3 as far as possible slightly increases the compatibility with BIN programs making use of page 3 themselves.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5358 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-02 11:09:25 +00:00
uz
7ed3fdc803
Fixed range errors when negative numbers where used as bytes. This wasn't
...
flagged by older ca65 versions because of errors in the range checks.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5166 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-15 15:23:31 +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
ol.sc
ba7b4d5e86
Back to revision 3818: The value of COLOR_WHITE changed back from 3 to 1.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5023 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-05 20:43:10 +00:00
ol.sc
b4fda77b6c
The TGI kernel will call SETVIEWPAGE(0) after calling INIT so there's no need to switch to the first page here.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5022 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-03 21:40:51 +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
905c1252f5
No need to explicitly set two page in 40 column mode as two pages are the default anyway.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4999 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-28 13:06:37 +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
ol.sc
012e3e456a
Added TGI_COLOR_... macros to be used both for hires and lores. Introduced color mapping on lores to allow for common color macros.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4992 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 11:16:56 +00:00
ol.sc
98fdd6f792
Added toascii().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4991 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-22 12:14:28 +00:00
ol.sc
a25d9bdf4b
Improved exec():
...
- Copy the pathname to $280 for SYS programs
- Make sure 80 column firmware is off (which btw. switches to the normal character set) which should increase program compatibility
Now "only" cmdline support should be left to do.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4976 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-11 23:22:26 +00:00
ol.sc
e4aa2a549b
Added MACHID - we'll need it sooner or later...
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4975 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-11 23:15:20 +00:00
ol.sc
56d04f523f
Added first implementation of exec(). No support for commandline parameters so far.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4969 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-06 22:27:31 +00:00
ol.sc
110f911ccb
Introduced constructor to raise the ProDOS 8 file level - and extended the destructor to restore the file level again. This is a prerequisite to allow the upcoming exec() to open a file before the destructors run and continue reading from of it after the destructors have run.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4955 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 21:43:26 +00:00
ol.sc
9e31f7fb63
Set the priority of the main() args constructor to 24 simply be cause most other targets do - and adjust the priority of the dos detection constructor to stay higher than the main() args constructor.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4954 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 21:39:17 +00:00
ol.sc
d2f59fb8b0
The constructor doesn't have any interaction with other constructors so there seems to be no need for a priority at all.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4953 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 21:36:18 +00:00