1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-15 17:30:06 +00:00
Commit Graph

29 Commits

Author SHA1 Message Date
mrdudz
5fc9d3f048 change driver _install calls from taking "void*" to "const void*" 2021-05-16 22:57:28 +02:00
Oliver Schmidt
1976d6cd32 Removed IRQ support from joystick drivers.
All but one joystick drivers didn't use IRQs. Espsecially when the joystick driver kernel was the only .interruptor this meant quite some unnecessary overhead because it pulled in the whole IRQ infrastructure.

I was told that the one driver using IRQs (the DXS/HIT-4 Player joystick driver for the C64) can be reworked to not do it. Until this is done that driver is defunct.
2018-02-01 22:38:36 +01:00
Oliver Schmidt
7f52a770d9 Removed joy_masks array.
So far the joy_masks array allowed several joystick drivers for a single target to each have different joy_read return values. However this meant that every call to joy_read implied an additional joy_masks lookup to post-process the return value.

Given that almost all targets only come with a single joystick driver this seems an inappropriate overhead. Therefore now the target header files contain constants matching the return value of the joy_read of the joystick driver(s) on that target.

If there indeed are several joystick drivers for a single target they must agree on a common return value for joy_read. In some cases this was alredy the case as there's a "natural" return value for joy_read. However a few joystick drivers need to be adjusted. This may cause some overhead inside the driver. But that is for sure smaller than the overhead introduced by the joy_masks lookup before.

!!! ToDo !!!

The following three joystick drivers become broken with this commit and need to be adjusted:
- atrmj8.s
- c64-numpad.s
- vic20-stdjoy.s
2017-08-19 19:11:28 +02:00
mrdudz
4275b82117 added compiler/assembler target, lib compiles 2014-11-29 15:35:20 +01:00
Greg King
0390c34e88 Changed multi-line C comments into another style.
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04: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
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
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
c6831e936a Added --forget-inc-paths to the assembler command line to avoid problems if
more than one version of ca65 is installed on the machine (Spiro Trikaliotis).


git-svn-id: svn://svn.cc65.org/cc65/trunk@4530 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-18 11:58:50 +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
aa217e4535 Rewrote the xxx_load routines for the drivers in assembler to save some
space.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3756 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-06-05 16:59:29 +00:00
cuz
2e0b65887c joy_unload didn't return a valid error code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3755 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-06-04 10:33:51 +00:00
cuz
878dcf4aa7 Fixed a problem when loading joystick drivers: When an install error occurred,
the driver wasn't removed from memory.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3752 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-06-04 10:15:18 +00:00
cuz
dc569cad49 Unloading the joystick driver didn't reset the interrupts, so the program may
crash later.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3751 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-06-04 10:14:30 +00:00
cuz
9a98194dc5 Code goes into the CODE segment, not RODATA.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3713 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-03-31 20:07:43 +00:00
cuz
b17be7f2e8 Don't install the IRQ vector if joy_install returns an error
git-svn-id: svn://svn.cc65.org/cc65/trunk@3624 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-05 20:24:37 +00:00
cuz
5aee1c5397 Export the interrupt entry point
git-svn-id: svn://svn.cc65.org/cc65/trunk@3277 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:09:01 +00:00
cuz
116ade035c Added the IRQ entry point
git-svn-id: svn://svn.cc65.org/cc65/trunk@3276 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:05:26 +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
d237a9fa23 Remove an unused include
git-svn-id: svn://svn.cc65.org/cc65/trunk@2867 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-01-04 21:14:43 +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
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
a1d914d52d Restructured former fcntl.h, added new include files unistd.h and sys/types.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2214 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-06-12 18:08:23 +00:00
cuz
86c625ad47 Renamed joy_deinstall to joy_uninstall
git-svn-id: svn://svn.cc65.org/cc65/trunk@1954 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-10 22:29:19 +00:00
cuz
3aee15b6ce Make joy_install, joy_uninstall user callable functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@1950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-10 22:11:12 +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
6a79a3b2d8 New joystick API
git-svn-id: svn://svn.cc65.org/cc65/trunk@1800 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 21:41:40 +00:00
cuz
4157bba161 Joystick library, first version
git-svn-id: svn://svn.cc65.org/cc65/trunk@1796 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 20:59:11 +00:00