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

16 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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