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

131 Commits

Author SHA1 Message Date
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
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
42494c6323 Removed obsolete files. 2013-05-01 14:01:42 +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
3ba33a0205 Minor adjustment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5924 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-07 22:34:08 +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
uz
285aaf8933 Patch by Stefan Haubenthal: Remove __fastcall__ in comments and/or the
function description for functions that don't take any parameters.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-04 13:08:54 +00:00
uz
3677e722cc An export has been missing for BRKVec (Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5393 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-06 15:53:07 +00:00
ol.sc
97b950b8d8 Removed unused TGI mode tables.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5015 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 10:30:49 +00:00
uz
e907b57e9c Added kernal replacement routines for RDTIM and SETTIM.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-25 20:39:46 +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
uz
b256d6fb46 Made Olivers devnum patch (r4588) work with the PET-II models. On these
machines, the program runs in a separate 64K bank, and zeropage variables need
to be copied from the system bank into the execution bank to read by a simple
load operation. The change is currently untested!


git-svn-id: svn://svn.cc65.org/cc65/trunk@4597 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-20 19:46:51 +00:00
ol.sc
d1aad57b98 Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a constructor with a very high priority to be called before DEVNUM gets overwritten by other constructors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-14 23:12:54 +00:00
uz
60bc009991 * Moved the BASIC stub that calls the compiled program into it's own segment
named EXEHDR.
* Renamed BASICHDR to EXEHDR for the PET-II machines.
* Moved the call to CHRCH in front of the code that saves the zero page, since
  open files are sometimes remembered in the zero page, so we need to close
  them before we grab a copy.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4507 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-09 12:42:24 +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
uz
019dbb7b1d Systime implementation derived from the cbm610.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4227 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 21:09:45 +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
uz
7de61e351c Define a standard driver and mode for tgi graphics and use it in the sample
program. The standard driver and mode is the first one in the tgi_mode_table.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:59:37 +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
uz
931add050e Added a systime implementation by Stefan Haubenthal with a few changes. The
routine reads the TOD clock of CIA1 on the C64 and C128. Since systime was a
dummy routine common for all CBMs before, this change adds an individual dummy
routine for all other CBM systems. CBM510/610 do also have a TOD clock, so a
similar function as in the C64 could be used ...


git-svn-id: svn://svn.cc65.org/cc65/trunk@3974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:44:37 +00:00
uz
d352b85c87 Fixed problems with the startup code (Greg King): Interrupts must be hooked
before calling initlib because initlib calls contructors and may install
drivers, which enable hardware interrupts. Similar for donelib.

See also R3897 and R3951 where this change was done for other platforms.
                         


git-svn-id: svn://svn.cc65.org/cc65/trunk@3954 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 18:23:31 +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
cuz
8eef418197 Add kernal replacement function
git-svn-id: svn://svn.cc65.org/cc65/trunk@3549 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-25 18:15:11 +00:00
cuz
0fcc998024 Inline InitBuffers
git-svn-id: svn://svn.cc65.org/cc65/trunk@3503 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:32:06 +00:00
cuz
a170b50687 CLOSE is actually the same as INSTALL/UNINSTALL
git-svn-id: svn://svn.cc65.org/cc65/trunk@3502 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:25:27 +00:00
cuz
f096dc95ae Carry is clear on IRQ entry
git-svn-id: svn://svn.cc65.org/cc65/trunk@3500 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:11:23 +00:00
cuz
107ead3211 Adjusted IRQ handler for new callirq semantics
git-svn-id: svn://svn.cc65.org/cc65/trunk@3498 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-05 10:00:17 +00:00
cuz
d30fbca7c8 Removed mouse.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@3493 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-28 20:11:08 +00:00
cuz
d0bee35728 Move constructor code into the INIT segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:28:46 +00:00
cuz
dc781be7f9 Add the irq entry point
git-svn-id: svn://svn.cc65.org/cc65/trunk@3280 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:27:38 +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
cfef8e1e0d Renamed __IRQFUNC_xxx -> __INTERRUPTOR_xxx
git-svn-id: svn://svn.cc65.org/cc65/trunk@3189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:24:59 +00:00
cuz
01f864bcf1 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@2974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-05 12:46:51 +00:00
cuz
0d7cf8ebce Use new callirq function
git-svn-id: svn://svn.cc65.org/cc65/trunk@2970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 14:28:57 +00:00
cuz
af461406cb Fix: No ST constant available
git-svn-id: svn://svn.cc65.org/cc65/trunk@2885 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 17:10:43 +00:00
cuz
220e5a3898 Place the return code into ST
git-svn-id: svn://svn.cc65.org/cc65/trunk@2884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 17:08:07 +00:00
cuz
96ef6d828f PET-II improvements
git-svn-id: svn://svn.cc65.org/cc65/trunk@2849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-28 18:35:00 +00:00
cuz
7c609c4e8e Fix an incomplete statement
git-svn-id: svn://svn.cc65.org/cc65/trunk@2848 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-27 19:31:23 +00:00
cuz
dada43f570 More cbm510 changes to make file I/O and kernal access work
git-svn-id: svn://svn.cc65.org/cc65/trunk@2846 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-27 16:11:14 +00:00
cuz
1af46f9998 The RAM driver operates of course in bank #1 (not #2)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2843 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-27 15:46:23 +00:00
cuz
8636914964 Cleanup and preparation for the new design
git-svn-id: svn://svn.cc65.org/cc65/trunk@2839 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-26 21:43:18 +00:00
cuz
018a68a2fe Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2792 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-20 23:11:30 +00:00
cuz
b15e4106dc Use new joystick decls
git-svn-id: svn://svn.cc65.org/cc65/trunk@2777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 22:38:12 +00:00
cuz
5010b8be45 Use changed EM decls
git-svn-id: svn://svn.cc65.org/cc65/trunk@2773 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 21:08:13 +00:00
cuz
4698646a64 Use new assembler syntax
git-svn-id: svn://svn.cc65.org/cc65/trunk@2631 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-10 10:00:15 +00:00
cuz
86a2019c50 Fixed sprite expand registers
git-svn-id: svn://svn.cc65.org/cc65/trunk@2451 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-09-25 18:50:14 +00:00
cuz
a3109620ab Changed rm -f to $(RM)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2385 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-20 11:59:27 +00:00
cuz
4e76d0155d New uname function
git-svn-id: svn://svn.cc65.org/cc65/trunk@2286 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-12 17:24:02 +00:00
cuz
37178d5141 Make screensize() fetch the values dynamically instead of using variables
that are set on startup. This is needed to support the C128, which can switch
the screen size at runtime.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-04-09 19:34:57 +00:00
cuz
467d8ad9c5 Added routines to handle command line params
git-svn-id: svn://svn.cc65.org/cc65/trunk@2012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-10 21:21:46 +00:00
cuz
a077259d2e cbm510zp -> extzp
git-svn-id: svn://svn.cc65.org/cc65/trunk@1992 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-16 15:39:32 +00:00
cuz
397c068cfb Moved additional zero page locations into EXTZP segment so they are usable
inside modules.
Removed readjoy.s and added a loadable joystick driver instead.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-16 14:41:12 +00:00
cuz
993f6a5a16 Renamed DEINSTALL to UNINSTALL
git-svn-id: svn://svn.cc65.org/cc65/trunk@1960 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-10 22:59:45 +00:00
cuz
a8810a464d Make sure the zap target is available
git-svn-id: svn://svn.cc65.org/cc65/trunk@1932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-06 15:35:30 +00:00
cuz
36fe6284a8 For the CBM platforms, make revers() machine dependent and use the RVS flag
of the different machines instead of a separate one.
For the C128, make the textcolor() function work in 40 and 80 column mode.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-19 20:29:27 +00:00
cuz
b3ed17f575 Added EMD drivers for the Commodore B machines.
Note: These drivers are currently untested because I didn't realize that
using the drivers would need file routines, which are not available right
now. So in fact the drivers are not only untested, they are also unusable
on the target platforms, because they cannot be loaded.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1732 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-10 10:30:01 +00:00
cuz
0cfca414a0 Fixed a wrong name (see last change)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1570 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 00:52:11 +00:00
cuz
6d498d8187 Use external symbols for the CBM kernal jump table functions. This allows
to emulate these functions on platforms where one or more of these functions
are not available (PET, CBM-II).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1544 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-19 23:02:47 +00:00
cuz
163c421db0 Renamed randomize to _randomize
git-svn-id: svn://svn.cc65.org/cc65/trunk@1489 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-05 20:17:38 +00:00
cuz
3fae969b5b New randomize() function for nearly all platforms
git-svn-id: svn://svn.cc65.org/cc65/trunk@1487 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-05 10:48:20 +00:00
cuz
fc774b3006 Last change introduced a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1436 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 19:18:06 +00:00
cuz
91e26f573c Added the TGI mode table
git-svn-id: svn://svn.cc65.org/cc65/trunk@1435 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 18:19:25 +00:00
cuz
3aadd7f62b Combine the existing include files, move zp space out of crt0.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@1290 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-26 09:08:52 +00:00
cuz
edcc015a48 Color RAM initialization was missing
git-svn-id: svn://svn.cc65.org/cc65/trunk@959 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 12:55:27 +00:00
cuz
9d926289e1 We need to have the character data in the VIC bank to make sprites work.
git-svn-id: svn://svn.cc65.org/cc65/trunk@954 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-20 09:53:12 +00:00
cuz
e12444824f Added condes IRQ routines and a README file.
Made k_blncur a condes IRQ routine and moved it to cgetc.s.
Added mouse and joystick routines.


git-svn-id: svn://svn.cc65.org/cc65/trunk@951 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-19 10:01:52 +00:00
cuz
5723cfed0c Add blinking cursor on input
git-svn-id: svn://svn.cc65.org/cc65/trunk@944 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-18 12:23:28 +00:00
cuz
6d97fa1383 Added the rs232 module
git-svn-id: svn://svn.cc65.org/cc65/trunk@926 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 20:52:54 +00:00
cuz
4bfc8bc554 Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@925 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 20:39:05 +00:00
cuz
f46c46abe1 Video RAM location is now defined in the linker config
git-svn-id: svn://svn.cc65.org/cc65/trunk@924 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 17:09:22 +00:00
cuz
e1a9115fd4 More P500 support
git-svn-id: svn://svn.cc65.org/cc65/trunk@920 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 14:37:08 +00:00
cuz
c4a49faf48 Working in P500 code
git-svn-id: svn://svn.cc65.org/cc65/trunk@919 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 09:52:30 +00:00
cuz
3e5adc0926 Added support for the CBM510
git-svn-id: svn://svn.cc65.org/cc65/trunk@915 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 21:47:10 +00:00
cuz
14f2349ea1 Adding CBM510 support
git-svn-id: svn://svn.cc65.org/cc65/trunk@913 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 21:37:59 +00:00
cuz
259967895f Started to add support for the P500 aka CBM510
git-svn-id: svn://svn.cc65.org/cc65/trunk@911 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 21:09:19 +00:00