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

2170 Commits

Author SHA1 Message Date
Christian Groessler
9e155eb096 Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-20 23:04:31 +01:00
Christian Groessler
1fd7c2b318 fix bug where the high byte of X and Y positions were destroyed of
the user had lifted the pen
2014-01-20 23:04:31 +01:00
Christian Groessler
ecd10e632a some comment fixes 2014-01-20 23:04:31 +01:00
Christian Groessler
97d512a1e1 Detect pen button. If we read 228 for X or Y position, don't change cursor
position, since the pen was probably lifted from the pad.
2014-01-20 23:04:30 +01:00
Christian Groessler
6026776460 Trakball mouse driver 2014-01-20 23:04:30 +01:00
Christian Groessler
d61b8754fb Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-20 23:04:30 +01:00
Christian Groessler
09aa007191 Change display logic of mouse cursor (hide and show functions). 2014-01-20 23:04:30 +01:00
Christian Groessler
2be7c7c88d Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-20 23:04:30 +01:00
Christian Groessler
77ba5b7e1c Fix timer IRQ hooking for atarixl target. 2014-01-20 23:04:30 +01:00
Christian Groessler
597c4a6b89 add comment 2014-01-20 23:04:29 +01:00
Christian Groessler
c78d7a82fb use ST mouse as static standard driver, too 2014-01-20 23:04:29 +01:00
Christian Groessler
c22b91e3c3 align comment to the same column 2014-01-20 23:04:29 +01:00
Christian Groessler
09da71c5d9 another small cleanup 2014-01-20 23:04:29 +01:00
Christian Groessler
24198a9ebb small cleanup 2014-01-20 23:04:29 +01:00
Christian Groessler
d614fc4e64 When disabling interrupts, restore original interrupt flag afterwards. 2014-01-20 23:04:29 +01:00
Christian Groessler
d742eeca9f Add drivers for ST mouse, Amiga mouse, and Atari trakball. Access
routines taken from old mouse.s.
2014-01-20 23:04:29 +01:00
Christian Groessler
95c6063f90 Add "joystick mouse" driver and default mouse callback routine (not
using P/M graphics).
2014-01-20 23:04:28 +01:00
Christian Groessler
2ab89621a9 Use deferred VBI instead of immediate VBI. A deferred VBI won't be
called if the user program has interrupts disabled which makes it
easier to avoid race conditions.
2014-01-20 23:04:28 +01:00
Christian Groessler
7bfe4c60db Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-20 11:40:13 +01:00
Christian Groessler
ed9ec5a208 Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-20 11:40:13 +01:00
Christian Groessler
9eb79c5ee6 fix bug where the high byte of X and Y positions were destroyed of
the user had lifted the pen
2014-01-20 11:40:12 +01:00
Christian Groessler
c7c44adaff some comment fixes 2014-01-20 11:40:12 +01:00
Christian Groessler
77d23b9eba Detect pen button. If we read 228 for X or Y position, don't change cursor
position, since the pen was probably lifted from the pad.
2014-01-20 11:40:12 +01:00
Christian Groessler
f1646a3695 Trakball mouse driver 2014-01-20 11:40:12 +01:00
Christian Groessler
012268b8e8 Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-18 00:11:18 +01:00
Christian Groessler
f091d0b3cd Merge branch 'master' of https://github.com/oliverschmidt/cc65 into cassette 2014-01-17 23:06:29 +01:00
Christian Groessler
f5e7e92a35 Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-17 22:33:29 +01:00
Oliver Schmidt
a0a5a66f9e Minor cleanup. 2014-01-17 21:20:53 +01:00
Oliver Schmidt
8304852521 Merge pull request #71 from groessler/something_to_pull2
Support to create cartridges for the Atari.
2014-01-17 12:14:18 -08:00
Oliver Schmidt
94eb2a2ed7 Some fine tuning of the mouse driver interface harmonization. 2014-01-17 21:09:15 +01:00
Christian Groessler
40e49074a4 add support for 16K cartridges 2014-01-17 20:10:28 +01:00
Christian Groessler
2e44abf928 remove segment directive since CODE is the default segment 2014-01-17 11:48:12 +01:00
Christian Groessler
e6ed335056 put code in CODE segment 2014-01-17 11:48:12 +01:00
Christian Groessler
b292597f1e use copydata instead of own routine 2014-01-16 23:56:32 +01:00
Christian Groessler
fd4d7d93ea put this module's code into CODE segment 2014-01-16 23:56:32 +01:00
Christian Groessler
dcbefb1018 fix indentation 2014-01-16 23:56:32 +01:00
Christian Groessler
6ab07261bc Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-16 23:34:56 +01:00
Oliver Schmidt
4065cb1983 Harmonized interface between mouse drivers and callbacks.
The Apple2 doesn't have sprites so the Apple2 mouse callbacks place a special character on the text screen to indicate the mouse position. In order to support the necessary character removing and redrawing the Apple2 mouse driver called the Apple2 mouse callbacks in an "unusual way". So far so (sort of) good.

However the upcoming Atari mouse driver aims to support both "sprite-type" mouse callbacks as well as "text-char-type" mouse callbacks. Therefore the interface between mouse drivers and callbacks needs to be extended to allow the mouse callbacks to hide their different types from the mouse driver.

The nature of this change can be seen best by looking at the Apple2 file modifications. The CBM drivers and callbacks (at least the current ones) don't benefit from this change.
2014-01-15 22:47:59 +01:00
Christian Groessler
692ec4a05b remove TABs 2014-01-14 23:13:01 +01:00
Christian Groessler
b237bb9d9a Add support to create cartridges. 2014-01-14 22:53:49 +01:00
Christian Groessler
ff2c44f565 Change display logic of mouse cursor (hide and show functions). 2014-01-14 14:03:06 +01:00
Christian Groessler
3baf01f531 Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-14 14:03:06 +01:00
Christian Groessler
e85a3f9762 Fix timer IRQ hooking for atarixl target. 2014-01-14 14:03:06 +01:00
Christian Groessler
9a642a529a Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-14 14:01:49 +01:00
Oliver Schmidt
b1c8f8e714 Fixed recent "Minor comment harmonization". 2014-01-12 21:52:18 +01:00
Oliver Schmidt
8ae7ac73b3 Minor comment harmonization. 2014-01-11 23:35:21 +01:00
Christian Groessler
a3814da96f add comment 2014-01-11 01:37:49 +01:00
Christian Groessler
95ba42bb69 use ST mouse as static standard driver, too 2014-01-11 01:37:49 +01:00
Christian Groessler
f2d25348db align comment to the same column 2014-01-11 01:18:07 +01:00
Christian Groessler
a86133bb57 another small cleanup 2014-01-05 11:18:48 +01:00
Christian Groessler
231e597a4b small cleanup 2014-01-05 11:09:19 +01:00
Christian Groessler
f83c77bace When disabling interrupts, restore original interrupt flag afterwards. 2014-01-04 20:33:25 +01:00
Christian Groessler
be595b7304 Add drivers for ST mouse, Amiga mouse, and Atari trakball. Access
routines taken from old mouse.s.
2014-01-04 20:33:24 +01:00
Christian Groessler
a5dfce7c41 Add "joystick mouse" driver and default mouse callback routine (not
using P/M graphics).
2014-01-04 20:33:24 +01:00
Christian Groessler
6a17df69dd Use deferred VBI instead of immediate VBI. A deferred VBI won't be
called if the user program has interrupts disabled which makes it
easier to avoid race conditions.
2014-01-04 20:33:24 +01:00
Christian Groessler
057884ffa9 Atari: initial support to create cassette bootable programs -- unfinished 2014-01-02 19:28:22 +01:00
Oliver Schmidt
e267addb5b Merge pull request #67 from greg-king5/echo
CBM stdin Console RETURN-key Echo
2013-12-26 06:54:42 -08:00
Greg King
6f72758587 Reset the stdin console when a program starts. 2013-12-24 15:26:05 -05:00
Greg King
0dc8a278c7 Moved the command-line arguments out of BASIC's input buffer.
The stdin console re-uses that buffer.
2013-12-24 13:56:19 -05:00
Greg King
d56f5d65ab Added a simplistic read() that gives a stdin console on the Atmos. 2013-12-24 05:18:04 -05:00
Greg King
50c626d02b Avoided a reload by using a second register. 2013-12-23 12:20:28 -05:00
Greg King
263ae3ceb1 Made the CBM stdin consoles echo '\n' to the screen.
That fix makes Commodore platforms be consistent with other platforms' consoles.
2013-12-23 11:48:58 -05:00
Oliver Schmidt
e0262750ce Have %I yield values [1..12] instead of [0..11]. 2013-12-09 19:53:54 +01:00
Christian Groessler
9e91f74297 small optimzation (found by Greg King) 2013-12-07 01:24:05 +01:00
Christian Groessler
2461163f38 remove old (static) serial driver boilerplate 2013-12-06 21:16:10 +01:00
Christian Groessler
932748e6ca remove debug code 2013-12-06 20:53:49 +01:00
Christian Groessler
074136826a add serial driver for Atari, still contains much debug code 2013-12-06 20:53:49 +01:00
Oliver Schmidt
0a8efc9fc3 Revert "Added basic frame for new target 'creativision'."
This reverts commit 8e6b8dd0af.
2013-12-05 21:45:20 +01:00
Greg King
42a09f0c23 Merged branch "master" into make. 2013-11-30 12:45:15 -05:00
Oliver Schmidt
8e6b8dd0af Added basic frame for new target 'creativision'.
Kym Greenshields <kym.greenshields@gmail.com> has expressed interest
in contributing and maintaining support for the VTech CreatiVision system.
2013-11-25 22:52:04 +01:00
Greg King
05ed164c36 Made a makefile show its progress consistently, by listing only the source file names.
That change avoids the confusion of seeing some names shown twice.
2013-11-24 19:12:27 -05:00
Christian Groessler
478a7679a2 Force inclusion of 'shadow RAM preparation' load chunk in crt0.s and
not in the linker config file.
2013-10-18 22:08:26 +02:00
Christian Groessler
9f44d00d17 Put EXE header and main chunk load header into a single file --
it makes no sense to be able to include/exclude them separately.
2013-10-18 14:54:22 +02:00
Christian Groessler
b153ec8896 atari-asm.cfg linker config file 2013-10-18 03:08:26 +02:00
Christian Groessler
bf3a23c34c Rename 'syschk' symbol in the linker config file, which forces inclusion
of the 'system check' load chunki, to '__SYSTEM_CHECK__'.
2013-10-18 03:08:15 +02:00
Christian Groessler
90bac9d38c rename LOWDATA segment to LOWBSS 2013-10-16 18:20:57 +02:00
Christian Groessler
3ef1ef3357 comment and formatting fixes 2013-10-16 18:20:48 +02:00
Christian Groessler
e3b9e9a76e small optimization 2013-10-04 12:41:08 +02:00
Christian Groessler
700fd4f187 Enable "system check" load chunk for non-XL Atari target. 2013-10-04 00:54:24 +02:00
Oliver Schmidt
b727c075e9 Merge pull request #48 from efornara/time_fix
fixed timep handling in time()
2013-10-02 14:50:02 -07:00
Emanuele Fornara
35388418fd fixed timep handling in time() 2013-10-02 20:55:01 +01:00
Christian Groessler
7fb0cf4bb2 Some formatting and style fixes. 2013-10-01 11:36:37 +02:00
Christian Groessler
213f93cce4 disable DEBUG 2013-09-27 22:14:26 +02:00
Christian Groessler
39a98f250b untabify 2013-09-27 22:01:54 +02:00
Christian Groessler
34e75afec3 adapt to CHARGEN_RELOC 2013-09-20 18:09:53 +02:00
Christian Groessler
aa2167926a move CHARGEN_RELOC enabling to Makefile.inc 2013-09-20 00:26:49 +02:00
Christian Groessler
37ed72bc89 cleanup and document CHARGEN_RELOC change 2013-09-20 00:10:34 +02:00
Christian Groessler
fe75788015 add CHARGEN_RELOC knob to conditionally include the code to change CHBASE 2013-09-19 23:34:45 +02:00
Christian Groessler
60e97f4d96 move macros to enable and disable the ROM into a separate include file 2013-09-19 23:21:09 +02:00
Christian Groessler
47a6390753 adjust some variable names 2013-09-19 22:40:20 +02:00
Christian Groessler
0a7cb64d2e Use '.ifdef' and '.ifndef' instead of '.if .defined' and '.if .not .defined'. 2013-09-19 22:36:22 +02:00
Christian Groessler
2e10a55b51 use '.ifndef' instead of '.if .not .defined' 2013-09-18 16:36:24 +02:00
Christian Groessler
c210dfcb94 use '.ifndef' instead of '.if .not .defined' 2013-09-18 16:36:03 +02:00
Christian Groessler
ff18dcaa16 override _sys() function for Atari targets 2013-09-18 15:35:55 +02:00
Christian Groessler
7c0b049ef7 some cosmetic cleanups 2013-09-18 01:27:44 +02:00
Christian Groessler
b713706304 Get rid of SAVEAREA segment: fold it into LOWDATA. 2013-09-18 00:48:01 +02:00
Christian Groessler
678ffbdd4d add support for SHADOW_RAM2 segment 2013-09-18 00:25:18 +02:00
Christian Groessler
f679c9703c consider __STACKSIZE__ when initializing sp for atarixl 2013-09-17 23:03:33 +02:00
Christian Groessler
367bd368c0 override _sys() function for Atari targets 2013-09-17 22:52:18 +02:00
Christian Groessler
85170998ad more atarixl linker cfg file cleanups; adapt atarixl-overlay.cfg 2013-09-13 21:47:39 +02:00
Christian Groessler
5caf6c8854 atarixl linker cfg file cleanups; set default load address to 400 for atarixl 2013-09-13 20:29:24 +02:00
Christian Groessler
aac88eac53 Use labels instead of segment load addresses to specify entry points
in the EXE file.
2013-09-13 18:28:17 +02:00
Christian Groessler
3d0ebef0f5 Merge remote-tracking branch 'upstream/master'
Conflicts:
	testcode/lib/tinyshell.c
2013-09-12 13:24:35 +02:00
Christian Groessler
2051adeb4d Fix strtol 'endptr' return value. 2013-09-12 12:38:20 +02:00
Christian Groessler
5a1dcbbe4c Reduce flicker by waiting for horizontal retrace before switching ROM and
CHARGEN. Can be disabled by setting USEWSYNC to 0.
2013-09-11 23:59:24 +02:00
Christian Groessler
387f6e9b21 Check whether double buffering ('bounce buffering') is needed and only do
it if needed.
2013-09-11 22:45:41 +02:00
Christian Groessler
8bc4b4c636 add code to add free shadow memory to heap (currently disabled) 2013-09-11 22:43:35 +02:00
Christian Groessler
5a84da0d4e Fix strtoul 'endptr' return value: It should point to the first invalid character,
not to the last valid character.
2013-09-11 21:54:50 +02:00
Christian Groessler
ebfb4a0b52 Fix strtoul 'endptr' return value: It should point to the first invalid character,
not to the last valid character.
2013-09-11 21:53:13 +02:00
Christian Groessler
ac9f0d6a05 Merge remote-tracking branch 'upstream/master' 2013-09-10 13:36:28 +02:00
Oliver Schmidt
a32366b124 Merge pull request #37 from greg-king5/lightpen
CBM510 lightpen driver
2013-09-10 04:21:16 -07:00
Greg King
2b02a03e6c Renamed the CBM510 lightpen driver to include the 184-C pen. 2013-09-10 06:47:17 -04:00
Greg King
e0c8c7dcb1 Added a cbm510 lightpen driver.
It's similar to the current c64 and c128 lightpen drivers.
2013-09-09 17:03:40 -04:00
Christian Groessler
c48fbd8a2b remove ZP_CIOV_save and ZP_SIOV_save 2013-09-07 17:44:53 +02:00
Greg King
eb741e1396 Don't shift in an unknown carry bit.
If that bit happenned to be set, then it would defeat the fancy ADC shifter.
2013-09-05 11:32:50 -04:00
Christian Groessler
4a0bdf871b Remove screen flicker while mapping ROM out and in.
Some cleanups.
2013-09-04 22:10:36 +02:00
Greg King
875212a850 Added more details about how the CBM exec() works. 2013-09-04 09:16:00 -04:00
Christian Groessler
1e8e998991 Merge remote-tracking branch 'upstream/master' 2013-09-04 13:28:10 +02:00
Greg King
0684ab7ab9 Fixed some return pointers.
$1234 pointers were returned as $3434.
2013-08-28 02:58:41 -04:00
Christian Groessler
ae9ab59549 xlmemchk.inc: Fix wrong calculation if load address is at an exact 4K border. 2013-08-27 22:45:23 +02:00
Christian Groessler
20c9fe44b4 Merge remote-tracking branch 'upstream/master' 2013-08-27 10:22:41 +02:00
Christian Groessler
68fc4a1b15 rename KEYBDV_wrapper to KEYBDV_handler 2013-08-27 10:21:42 +02:00
Oliver Schmidt
bc992e0398 Merge pull request #31 from greg-king5/cbm-chain
Commodore exec() function
2013-08-26 23:50:34 -07:00
Christian Groessler
a3511ea93d changes for atarixl target 2013-08-26 10:36:40 +02:00
Christian Groessler
e4c934b6f5 Merge remote-tracking branch 'upstream/master' 2013-08-26 09:00:11 +02:00
Christian Groessler
d5f3e91cb8 Merge remote-tracking branch 'upstream/master' 2013-08-25 11:21:52 +02:00
Christian Groessler
4062cb6b6c atarixl target: add support for interruptors, adapt TGI drivers 2013-08-25 11:20:27 +02:00
Greg King
6a9ab1a69a Added a little more info about how CBM program-chaining works. 2013-08-25 00:58:27 -04:00
Greg King
d0fb1fe0ae Added the model-specific addresses that the CBM exec() needs. 2013-08-25 00:43:23 -04:00
Greg King
172ce14349 Made an exec() program-chaining function for the Commodore libraries. 2013-08-25 00:31:36 -04:00
Greg King
1a4d804a5f Added cursor-flags initiation.
The CBM510 runs programs in a non-system memory bank. It has its own zero page. Some things are copied from the system zero page; but, the cursor flags weren't copied. So, the cursor always blinked. That bug sometimes left cursor ghosts (reversed spaces) at the end of lines.
2013-08-23 18:19:49 -04:00
Oliver Schmidt
a49c1a5b6d Merge pull request #29 from greg-king5/mouseref
Removed commented-out "mouse_libref" lines.
2013-08-23 04:54:13 -07:00
Greg King
0159358934 Cleaned 2 source files by removing commented-out lines that are active in other files. 2013-08-23 07:36:11 -04:00
Oliver Schmidt
3671c7e19c Merge pull request #27 from greg-king5/cbm2
Added a joystick-mouse driver to the CBM510 library.
2013-08-23 04:28:49 -07:00
Greg King
1c83d8232b Added a driver to the CBM510 library that lets a joystick pretend to be a mouse. 2013-08-23 03:06:00 -04:00
Christian Groessler
5d7b5900f9 implement SIO handler 2013-08-22 14:47:50 +02:00
Christian Groessler
405a5df431 Merge remote-tracking branch 'upstream/master' 2013-08-21 16:38:13 +02:00
Oliver Schmidt
f5844e58d1 Merge pull request #25 from cybernesto/master
Promoted _auxtype to a struct to gain access to additional fields
2013-08-08 09:40:50 -07:00
Christian Groessler
7242ce8744 Merge remote-tracking branch 'upstream/master' 2013-08-06 19:48:07 +02:00
Greg King
6589288a04 Exposed, to C code, the names of the Atmos ROM's sound effect functions. 2013-08-06 11:12:30 -04:00
Mario Patiño
9b157a5b1e Defined a struct to contain the date and time data
To keep backward compatibility auxtype and the date/time are kept
separated.
A struct similar to the one used in dirent.h is used to access the
create_date and create_time fields.
2013-08-03 19:08:36 +02:00
Christian Groessler
bb9f1d031a disable GETCWD command until I have a proper way to test it 2013-07-30 00:52:58 +02:00
Christian Groessler
7a45a7b2eb Merge remote-tracking branch 'upstream/master' 2013-07-29 10:09:24 +02:00
Oliver Schmidt
1f36066946 Merge pull request #24 from greg-king5/oric
Atmos Symbol Names
2013-07-26 03:01:10 -07:00
Greg King
f02843f05d Replaced number literals in source code with meaningful symbol names. 2013-07-26 03:33:54 -04:00
Christian Groessler
b78bbb5be7 Merge remote-tracking branch 'upstream/master' 2013-07-25 23:34:50 +02:00
Oliver Schmidt
752141b026 Merge pull request #12 from greg-king5/lightpen
Added Inkwell lightpen drivers for the C64 and the C128.
2013-07-25 13:29:46 -07:00
Greg King
17333e4732 Fixed some line endings.
My Git and repositories are configured for POSIX; but sometimes, Windows line endings "sneak" into new files.
2013-07-25 13:53:15 -04:00
Greg King
3b544613d2 Moved the lightpen names from <mouse.h> to a new <pen.h>.
Renamed the adjuster pointer.
2013-07-25 13:32:40 -04:00
Christian Groessler
56588aa26a fix cleanup of stack 2013-07-24 10:25:36 +02:00