1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-16 02:10:52 +00:00
Commit Graph

88 Commits

Author SHA1 Message Date
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
d6c3bd29ac Renamed JUMPTABLE and cleaned up module.cfg.
This change was suppsed to fix the issue that the former JUMPTABLE is merked as 'ro' while it is actually written to in several scenarios. When drivers are converted using co65 and then compiled into ROMs the JUMPTABLE isn't copied to RAM and therefore the write operations in question fail.

However unfortunately I didn't succeed in changing that :-( Just setting the former JUMPTABLE to 'rw' broke the drivers. So I placed the DATA segment directly after the former JUMPTABLE segment. This made the drivers converted with co65 work again - obviously after changing libsrc/Makefile:235 from '--code-label' to '--data-label'. But the actual dynamic drivers still didn't work as the former JUMPTABLE wasn't placed as the beginning of the loaded file anymore. That effect could be changed by exchanging src/ld65/o65.c:1391 with src/ld65/o65.c:1394 but doing so broke the drivers again :-((
2014-05-01 21:44:39 +02:00
Karri Kaksonen
100ecb0a45 Use LOWCODE segment 2014-03-19 11:32:44 +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
23650cb946 Added library reference joy_libref to JOY interface. 2013-06-01 00:36:08 +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
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
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
karri
a658c56774 Add lynx_snd_stop_channel
git-svn-id: svn://svn.cc65.org/cc65/trunk@5977 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-28 19:42:02 +00:00
karri
dc0292d405 Export lynx_snd_active
git-svn-id: svn://svn.cc65.org/cc65/trunk@5976 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-28 17:52:38 +00:00
karri
0137681d77 Update sound driver
git-svn-id: svn://svn.cc65.org/cc65/trunk@5974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-28 17:42:18 +00:00
karri
4697cf255f Add __fastcall__ stuff
git-svn-id: svn://svn.cc65.org/cc65/trunk@5950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-17 17:31:07 +00:00
karri
1cfe0edee2 Add sound support
git-svn-id: svn://svn.cc65.org/cc65/trunk@5949 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-12 14:30:20 +00:00
karri
3ed3ff68c5 Work in progress
git-svn-id: svn://svn.cc65.org/cc65/trunk@5948 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-12 14:29:39 +00:00
karri
7e5149d7f5 Add basic sound support
git-svn-id: svn://svn.cc65.org/cc65/trunk@5947 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-11 12:33:50 +00:00
karri
a7bd8bbc62 Fix bug in cls
git-svn-id: svn://svn.cc65.org/cc65/trunk@5944 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-02 11:45:36 +00:00
karri
c7f6e87e10 Add collision indices to all sprites jsut in case
git-svn-id: svn://svn.cc65.org/cc65/trunk@5943 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-01 13:32:24 +00:00
karri
7b3e3b99a3 Add collision screen erasure to tgi_clear
git-svn-id: svn://svn.cc65.org/cc65/trunk@5939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-21 13:11:18 +00:00
karri
8d545b2e17 Add erasure of collision buffer to tgi_clear
git-svn-id: svn://svn.cc65.org/cc65/trunk@5938 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-20 06:19:50 +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
dbc66c247a Added missing standard driver definitions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5890 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 15:58:27 +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
karri
e412d455b9 Palette updated
git-svn-id: svn://svn.cc65.org/cc65/trunk@5879 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-26 10:18:45 +00:00
karri
ff77d42188 Fine tune palette
git-svn-id: svn://svn.cc65.org/cc65/trunk@5878 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-26 09:05:27 +00:00
karri
56ccd62087 Cammys optimized Lynx palette
git-svn-id: svn://svn.cc65.org/cc65/trunk@5866 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 10:07:17 +00:00
karri
b9d9513f76 Change address of sec loader
git-svn-id: svn://svn.cc65.org/cc65/trunk@5825 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-15 12:57:37 +00:00
karri
2222df9143 Shring the bootloader by 20 bytes and remove restrictions on file size
git-svn-id: svn://svn.cc65.org/cc65/trunk@5824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-11 13:01:39 +00:00
uz
c03a5caf19 Added an implementation of clock() for the Lynx console. By Greg King.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5477 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-06 20:17:54 +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
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
b47113ad80 Removed recently added TGI mode tables for Atmos and Lynx as according to Greg King those targets don't load drivers dynamically.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5011 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 21:32:03 +00:00
ol.sc
a0d53cff6b Documented the reason for having a pixel aspect ratio (PAR) of 1 on the Lynx.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5002 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-30 12:47:53 +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
uz
cc3424a545 Access routines for different eeprom types. By Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4994 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 18:42:50 +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
d78e52fd40 New uploader that can be hiding in top of memory waiting for a BLL-kind of
loadable application over the ComLynx serial port. By Karri Kaksonen.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-06 19:54:55 +00:00
uz
3eccb74a0a Missing files added by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-06 19:51:15 +00:00
uz
00a11e642c Lynx boot stuff split up into several files. Changes by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4979 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-03-21 17:49:03 +00:00
uz
9528aae744 Improved and much smaller bootloader by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4978 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-03-17 22:36:09 +00:00
uz
fe92bc9c68 Bug correction by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-06 14:34:02 +00:00
uz
1dcba5c24e Bugfix by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4949 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 17:53:58 +00:00
uz
e654ad49eb Allow different output formats using additional linker configs. Contributed by
Karri Kaksonen.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4925 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-26 22:14:42 +00:00
uz
a2ec97ac13 More changes by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4899 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-04 19:39:07 +00:00
uz
38ebc6618d Bug fixes by Karri Kaksonen.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4893 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-30 19:05:33 +00:00
uz
d993b332a4 Lynx update including file routines that access a file system on a cartridge
by Karri Kaksonen.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4892 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-29 10:37:57 +00:00
uz
f11067e260 Latest versions of startup code and config by Karri Kaksonen. Citing: The new
header contains an encrypted loader, a small directory structure and a single
pixel black title screen. This is directly bootable on a real Lynx.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4890 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-12-22 15:37:20 +00:00