1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-04 23:33:05 +00:00
cc65/libsrc/apple2
Oliver Schmidt 20a9c0c336 Replaced call to paddle read ROM routine with custom code.
As described e.g. in the Apple IIe Technote #6: 'The Apple II Paddle Circuits' it doesn't work to call PREAD several times in immediate succession. However, so far the Apple II joystick driver did just that in order to read the two joystick axis.

Therefore the driver now uses a custom routine that reads both paddles _at_the_same_time_. The code doing so requires nearly twice the cycles meaning that the overall time for a joy_read() stays roughly the same. However, twice the cycles in the read loop means half the resolution. But for the cc65 joystick driver use case that doesn't hurt at all as the driver is supposed to only detect neutral vs. left/right and up/down.

CPU accelerators are supposed to detect access to $C070 and slow down for some time automatically. However, the IIgs rather comes with a modified ROM routine. Therefore it is necessary to manually slow down the IIgs when replacing the ROM routine.
2020-06-06 15:15:13 +02:00
..
emd Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
extra Resolved conflict and removed adaptation for strpbrk for time being. 2018-05-21 13:30:27 +02:00
joy Replaced call to paddle read ROM routine with custom code. 2020-06-06 15:15:13 +02:00
mou Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
ser Added SER_ prefix. Whitespace cleanup 2018-11-26 22:14:31 +01:00
targetutil directory structure changed from driver-centric to target-centric 2016-05-16 19:49:43 +02:00
tgi Disable potentially enabled double-width graphics. 2020-05-04 22:23:01 +02:00
_scrsize.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
_sys.s Allow _sys() to call ROM routines. 2016-03-25 21:57:06 +01:00
break.s Adjusted comments to match actual prototypes. 2018-11-06 11:13:23 +01:00
cclear.s Introduced internal gotoxy that pops both parameters. 2016-06-05 14:58:38 +02:00
cgetc.s Support randomize(). 2018-09-08 18:45:20 +02:00
chline.s Made Apple II CONIO more flexible. 2018-08-20 00:30:17 +02:00
close.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
closedir.c Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
clrscr.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
color.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
cout.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
cputc.s Implemented line wrap. 2018-08-20 00:30:17 +02:00
crt0.s Moved run location of ONCE segment. 2016-03-17 21:07:19 +01:00
curdevice.s Introduced getcurrentdevice() and implemented it for CBM and Apple. 2012-10-21 14:35:17 +00:00
cvline.s Made Apple II CONIO more flexible. 2018-08-20 00:30:17 +02:00
devicedir.s Fixed regression introduced by https://github.com/cc65/cc65/pull/652. 2018-07-26 14:31:17 +02:00
dioclose.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
diocommon.s Just removed some trailing spaces. 2018-09-08 23:14:54 +02:00
dioopen.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
dioread.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
diosectcount.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
diosectsize.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
diowrite.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
dir.h Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
doesclrscr.s Added Apple II version of doesclrscrafterexit(). 2016-06-05 13:01:42 +02:00
dosdetect.s Matched comment to the one in the C header file. 2020-04-02 09:45:11 +02:00
exec.s Minor adjustment to recent change. 2016-05-30 14:31:53 +02:00
exehdr.s Switched Apple II output format to AppleSingle. 2018-03-07 23:05:21 +01:00
filedes.inc Cosmetic changes from Oliver Schmidt 2005-04-15 08:27:09 +00:00
filedes.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
filename.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
get_ostype.s Adjusted comments due to recent change. 2020-03-26 12:29:56 +01:00
getdevice.s Just a minor comment improvement. 2018-09-02 23:07:26 +02:00
getres.s Use MACHID to check for realtime clock. 2019-09-10 09:49:06 +02:00
gettime.s Adjusted comments to match actual prototypes. 2018-11-06 11:13:23 +01:00
gotoxy.s Introduced internal gotoxy that pops both parameters. 2016-06-05 14:58:38 +02:00
gotoy.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
home.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
initcwd.s Just removed some trailing spaces. 2018-09-08 23:14:54 +02:00
iobuf.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
irq.s Made use of recently added Apple scrcode macro. 2016-03-27 18:27:53 +02:00
isdevice.s I wasn't aware that the unit numbers in the ProDOS device list contain device type identifiers in the low nibble. So if we can't use the device list entries as-is we can as well present the high nibble as low nibble to the user thus providing more meaningful device numbers. 2012-10-15 21:59:51 +00:00
joy_stat_stddrv.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
joy_stddrv.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
joyref.s Reflect that the Apple //c supports only one joystick. 2020-06-04 23:24:24 +02:00
kbhit.s Cosmetic changes requested by Oliver Schmidt 2005-03-30 18:17:57 +00:00
libref.s Reflect that the Apple //c supports only one joystick. 2020-06-04 23:24:24 +02:00
lseek.s lseek: Return EINVAL if new position is less than 0 or greater than 2^24 - 1. 2018-08-20 22:24:48 +02:00
mainargs.s Adjusted constructors. 2016-03-16 16:28:32 +01:00
mcbdefault.s Made Apple II CONIO more flexible. 2018-08-20 00:30:17 +02:00
mli.inc Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
mli.s Protect random counter against ProDOS. 2018-09-08 23:29:59 +02:00
mouse_stat_stddrv.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
mouse_stddrv.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
open.s Renamed INITBSS to INIT and INIT to ONCE. 2016-03-06 21:27:19 +01:00
opendir.c Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
oserrlist.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
oserror.s Implement exec() for Atari XDOS. 2016-06-13 20:40:01 +02:00
randomize.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
rdkey.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
read.s Renamed INITBSS to INIT and INIT to ONCE. 2016-03-06 21:27:19 +01:00
readdir.c Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
reboot.s Renamed INITBSS to INIT and INIT to ONCE. 2016-03-06 21:27:19 +01:00
revers.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
rewinddir.c Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
rwcommon.s Added "popptr1" which is of common use to save some bytes. 2018-05-20 15:30:18 +02:00
settime.s Use MACHID to check for realtime clock. 2019-09-10 09:49:06 +02:00
syschdir.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
sysmkdir.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
sysremove.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
sysrename.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
sysrmdir.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
sysuname.s New uname function 2003-08-12 17:24:02 +00:00
tgi_colors.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
tgi_stat_stddrv.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
tgi_stddrv.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
videomode.s Made use of 65C02 opcode (thx to polluks). 2020-03-05 14:38:36 +01:00
vtabz.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
wherex.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
wherey.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
write.s Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00