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

14 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
6034b68f06 Bumped API version.
Removal of the joy_masks array with 7f52a770d9 was exactly the very type of change asking for a new API version.
2017-11-21 22:42:43 +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
Oliver Schmidt
3969d920fa Bumped driver api versions due to recent intoduction of library references. 2013-09-01 09:46:07 +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
cuz
feae688346 Oliver Schmidt updated the graphics drivers and part of the C library for the
Apple machines.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-16 09:37:22 +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
59d2e4e1f4 Make _joy_masks global
git-svn-id: svn://svn.cc65.org/cc65/trunk@3278 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:09:17 +00:00
cuz
0ad0a2e138 Added IRQ entry point, bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@3275 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:01:15 +00:00
cuz
5e79761321 Added a missing export statement
git-svn-id: svn://svn.cc65.org/cc65/trunk@2977 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-08 17:48:55 +00:00
cuz
bfc4e54c41 Use structs
git-svn-id: svn://svn.cc65.org/cc65/trunk@2778 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 22:38:28 +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
a143f26061 New joystick API
git-svn-id: svn://svn.cc65.org/cc65/trunk@1798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 21:02:35 +00:00