1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-02 18:06:48 +00:00
Commit Graph

2438 Commits

Author SHA1 Message Date
Stephan Mühlstrasser
cc2dc578fe Merge branch 'c1p_kbhit' into c1p_scrsize 2015-02-23 19:11:50 +01:00
Stephan Mühlstrasser
73ae95bd1c Clear bottom line when scrolling.
Fix provided by Jeff Tranter.
2015-02-23 19:06:22 +01:00
Stephan Mühlstrasser
c3b014560e Consistent naming for screen dimension constants. 2015-02-22 19:55:19 +01:00
Stephan Mühlstrasser
a7dabcda47 Define the screen dimension defines in a more meaningful way. 2015-02-22 16:27:13 +01:00
Stephan Mühlstrasser
965aded1ba Merge branch 'c1p_kbhit' into c1p 2015-02-22 11:45:02 +01:00
Stephan Mühlstrasser
7a975fa182 Mask control keys from first keyboard scan row. 2015-02-21 22:52:01 +01:00
Stephan Mühlstrasser
1b9aa7c6f3 Use character constants where appropriate. 2015-02-21 20:53:16 +01:00
Stephan Mühlstrasser
222668c016 Implemented a one-character buffer for kbhit() and cgetc().
If kbhit() detects that a key is pressed, it fetches and
buffers the character. If cgetc() detects a buffered character,
this one is returned instead of fetching one with the PROM
routine.
2015-02-21 20:24:58 +01:00
Stephan Mühlstrasser
b1969ac16a kbhit() function and scrolling.
Patch provided by Jeff Tranter.
2015-02-19 22:19:21 +01:00
Oliver Schmidt
cbb6f82b99 Merge pull request #146 from smuehlst/c1p
Add target "osic1p" for Ohio Scientific Challenger 1P
2015-02-18 20:17:03 +01:00
Stephan Mühlstrasser
92e75e9df8 Incorporated another round of feedback for pull request.
Adjusted comment formatting in several assembler files.
Removed dummy kbhit() function, as it's better to get a linker
error than an implementation that does the wrong thing.
2015-02-18 18:38:42 +01:00
Oliver Schmidt
3ed3e98ec7 Moved interrupt enabling to the interrupt constructor. 2015-02-16 15:43:08 +01:00
Stephan Mühlstrasser
e178a33d29 Fix high byte of return value, optimized. 2015-02-13 19:53:02 +01:00
Stephan Mühlstrasser
88df129215 Add dummy kbhit(), remove redundant documentation for cgetc(). 2015-02-12 22:54:21 +01:00
Stephan Mühlstrasser
3601c3fb9b Include "extzp.inc" instead of using direct imports of symbols. 2015-02-12 22:12:51 +01:00
Stephan Mühlstrasser
5d2e748bd4 Don't use .byte in BSS segments, as value is lost anyway. 2015-02-12 21:44:00 +01:00
Stephan Mühlstrasser
94f83ea439 Replace zeropage variable with standard tmp variable. 2015-02-12 21:29:19 +01:00
Stephan Mühlstrasser
b1169cbb23 Remove unneeded commented code. 2015-02-12 21:12:24 +01:00
Stephan Mühlstrasser
679f5aa675 Use constants for screen width and height. 2015-02-12 20:54:47 +01:00
Stephan Mühlstrasser
5063e0ecca Incorporated feedback for initial pull request. 2015-02-11 19:21:17 +01:00
Stephan Mühlstrasser
498fbb7ed7 Fix formatting, replace tabs with spaces. 2015-02-08 17:35:40 +01:00
Stephan Mühlstrasser
fc237faba7 Add missing newline 2015-02-08 17:12:54 +01:00
Stephan Mühlstrasser
4e03d7448c Merge branch 'master' of https://github.com/cc65/cc65 into c1p 2015-02-08 15:58:42 +01:00
Stephan Mühlstrasser
7754c573d8 Jump to boot prompt after main program exits. 2015-02-05 23:21:59 +01:00
Stephan Mühlstrasser
072e5e71c2 Video RAM mapping table was off by two bytes.
Fix contributed by Jeff Tranter.
2015-02-05 23:01:19 +01:00
Stephan Mühlstrasser
14c7e9fd16 Rename c1p target to osic1p 2015-02-03 22:42:35 +01:00
Stephan Mühlstrasser
b1f764bdc9 Minor cleanup of unnecessary newlines. 2015-01-11 20:08:39 +01:00
Oliver Schmidt
6b3083053c Merge pull request #143 from greg-king5/basic-stub
Support Atmos command line
2015-01-10 23:46:43 +01:00
Greg King
fccd2bf66a Added more info to a comment. 2015-01-09 22:19:35 -05:00
Greg King
43342366ed Added comments that say why the ZPSAVE1 and ZPSAVE2 segments must be together. 2015-01-08 17:07:28 -05:00
Greg King
22e06c41d1 Fixed a bug that had padded Atmos binaries with 25 bytes too many. 2015-01-08 03:51:20 -05:00
Greg King
d61feae7f8 Added a comment. 2015-01-07 10:51:48 -05:00
Stephan Mühlstrasser
aedefb81ec Adapted to cc65 assembler coding conventions
Assembler statements are written in lowercase.
2015-01-05 21:28:39 +01:00
Stephan Mühlstrasser
91e21ae024 Merge branch 'master' of https://github.com/cc65/cc65 into c1p 2014-12-02 20:42:54 +01:00
Stephan Mühlstrasser
fd5dca08fb Removed unused constants
They were left-overs from early attempts to implement character output.
2014-12-02 18:20:54 +01:00
Stephan Mühlstrasser
e9a90940b1 Dummy implementation for osmapperrno
Copied from atmos implementation
2014-11-30 21:05:36 +01:00
Stephan Mühlstrasser
b47a1d99ec Added scrsize() function. 2014-11-30 16:01:43 +01:00
Stephan Mühlstrasser
945ad167df Undo accidental rename of wrong scrsize.s file. 2014-11-30 16:00:55 +01:00
Stephan Mühlstrasser
fa770bada8 Added scrsize() function. 2014-11-30 15:58:59 +01:00
Stephan Mühlstrasser
3867be7166 Added cclear() and cclearxy() implementations. 2014-11-30 14:25:16 +01:00
mrdudz
1365afa845 more hacking 2014-11-30 11:20:57 +01:00
Stephan Mühlstrasser
9b9622d09a Added chline and cvline implementation from CBM implementation. 2014-11-29 22:13:07 +01:00
Stephan Mühlstrasser
6dc8621fa5 Set cursor in top left corner in clrscr()
as documented in conio.h
2014-11-29 20:50:48 +01:00
Stephan Mühlstrasser
ac88639f4a Implemented cursor functionality. 2014-11-29 20:07:30 +01:00
Stephan Mühlstrasser
7dac57f60d Added gotox() and gotoy() implementations. 2014-11-29 15:52:42 +01:00
mrdudz
4275b82117 added compiler/assembler target, lib compiles 2014-11-29 15:35:20 +01:00
mrdudz
86e6abfcd9 added compiler/assembler target, lib compiles 2014-11-29 15:13:40 +01:00
mrdudz
faccc5a3d6 initial import, completely untested, does not compile yet 2014-11-29 14:18:48 +01:00
peterferrie
bbd419f365 assert parm count 2014-11-24 10:07:16 -08:00
Stephan Mühlstrasser
1e88032608 Copied wherex, wherey and ctype implementations from CBM 2014-11-23 15:56:38 +01:00
Stephan Mühlstrasser
0c62ddf123 Enhancements for cursor calculation
Fix handling of newlines.
Wrap around to top of screen when newline occurs
in last line.
Initialize screen width in crt0.s.
2014-11-23 15:32:48 +01:00
Stephan Mühlstrasser
12ca22c265 Remove unnecessary commented code. 2014-11-22 18:14:52 +01:00
Stephan Mühlstrasser
0a6afb59c0 Switch to assembler for cputc implementation. 2014-11-22 01:07:55 +01:00
peterferrie
0c204725bc implement ProDOS seek 2014-11-21 16:04:11 -08:00
Stephan Mühlstrasser
5c8cd00dd5 Started cputc and related functions implementation. 2014-11-18 23:18:51 +01:00
Stephan Mühlstrasser
a20bba0f1e Adapt to assembler coding conventions. 2014-11-16 21:57:59 +01:00
Stephan Mühlstrasser
14958949c2 Direct use of monitor function instead of subroutine call. 2014-11-16 21:13:18 +01:00
Greg King
09e50d433d * Changed the way that Atmos programs are started.
- Put a BASIC-language stub at the beginning.
  - Removed the Autostart flag.

  Those changes make it easy to give command-line arguments to a program.

* Made the Atmos configure file accept a special symbol definition on ld65's command line.  We can use "__RAMEND__" to increase the amount of RAM that's available to programs.
2014-11-09 06:32:11 -05:00
Stephan Mühlstrasser
4c46287928 Begin to implement C1P conio features. 2014-11-09 00:58:32 +01:00
Stephan Mühlstrasser
5d7a24241c Implemented clrscr routine for C1P 2014-11-08 01:14:46 +01:00
Stephan Mühlstrasser
0b186407f1 Merge https://github.com/cc65/cc65 into c1p 2014-11-02 16:17:16 +01:00
Greg King
74c2415795 Changed literal zeroes of the style "#>0" into the style "#>$0000". 2014-09-10 19:15:07 -04:00
Oliver Schmidt
e702832e80 Merge pull request #130 from greg-king5/caps-lock
Disable the Atmos keyboard's CAPS LOCK for stdio too.
2014-09-09 12:55:30 +02:00
Greg King
970af0cdb2 Swapped the locations of a constructor and a destructor in a source file.
The constructor now is first.

Used a more expressive literal zero.
2014-09-04 17:37:41 -04:00
Greg King
c7969a78b0 Refined the comments in the target start-up files.
Fixed typo errors.  Made the comments consistent across all those files.
2014-08-24 10:10:20 -04:00
Greg King
145a010e59 Moved the CAPS LOCK code out of the startup file, and into its own file. 2014-08-24 10:05:45 -04:00
Greg King
58b73a2842 Disable the Atmos keyboard's CAPS LOCK for both conio and stdio. 2014-08-21 11:04:23 -04:00
Greg King
8324221360 Improved some multiplication code. 2014-07-17 07:11:14 -04:00
Greg King
c6e7d835ef Fixed a buffer overrun bug. 2014-07-17 07:05:10 -04: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
2c975d3642 Create static drivers directly from source files.
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach:

The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory.

However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails.

Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
2014-06-04 23:50:18 +02:00
Oliver Schmidt
2bc4634860 Normalized style.
We don't use .ifndef .else .endif
2014-06-03 18:30:11 +02:00
Oliver Schmidt
99f0a56f63 Merge pull request #122 from groessler/a5200
new target: Atari 5200 console
2014-05-30 22:52:51 +02:00
Christian Groessler
a4fda71510 move atari5200 behind atari and atarixl in TARGETS list 2014-05-30 13:39:09 +02:00
Christian Groessler
fa7cdf0214 remove atari5200.mac 2014-05-30 13:38:29 +02:00
Christian Groessler
f54ef4efe4 provide CLK_TCK and CLOCKS_PER_SEC values for atari5200 2014-05-29 13:23:45 +02:00
Greg King
b8e65aca5a Used longer error text.
Added more codes and messages.
2014-05-28 23:01:48 -04:00
Christian Groessler
4286e55453 fix build error 2014-05-29 01:50:41 +02:00
Christian Groessler
245a69a043 don't use scrcode for numbers 2014-05-29 00:18:22 +02:00
Christian Groessler
0bcb615d33 remove TABs 2014-05-28 23:39:31 +02:00
Christian Groessler
8c5aebef81 cleanups and add comments 2014-05-28 23:38:22 +02:00
Christian Groessler
98195a516e check trigger button (TRIGx); correctly report joystick count depending
on 5200 console version
2014-05-28 00:35:49 +02:00
Christian Groessler
ef1e96aff0 small optimization 2014-05-27 01:50:22 +02:00
Christian Groessler
b6f712ef58 not a dummy implementation anymore... 2014-05-27 01:47:37 +02:00
Greg King
3d6f54b7a6 Updated the CBM error tables.
* Added more mappings between DOS and C codes.
* Changed generic error messages into specific ones.
2014-05-26 09:03:43 -04:00
Greg King
2cc26e6e23 More conforming to the cc65 project's apparent writing style. 2014-05-23 16:52:02 -04:00
Greg King
a92f51fea5 Conformed to the cc65 project's coding style. 2014-05-23 00:35:19 -04:00
Greg King
0ec8c8cea7 Added a quoted-token parsing function. 2014-05-20 16:33:16 -04:00
Christian Groessler
0f2f19ef5b some CONIO fixes 2014-05-16 02:10:19 +02:00
Christian Groessler
8cb68071cd clrscr for Atari 5200 default conio screen 2014-05-12 03:05:21 +02:00
Christian Groessler
82544b8678 add joystick driver -- trigger buttons are not queried yet 2014-05-12 03:03:44 +02:00
Christian Groessler
1532ad6792 add dummy irq.s 2014-05-12 03:02:17 +02:00
Greg King
f82a43b98d Fixed the comments to say where the actual Left-Hand Side and Right-Hand Side are put.
A description of positions [left, right] is appropriate more for C code than for Assembly code.  (A description of timing [first argument, second argument] is more appropriate for the way that Assembly code is written.)
2014-05-11 10:43:06 -04:00
Greg King
228b9d1718 Added a fast subroutine to multiply two signed 8-bit numbers. 2014-05-11 01:08:27 -04:00
Oliver Schmidt
63b5f75a7f Merge pull request #114 from greg-king5/phantom
Added the phantom-key exorcism code to the other C128 mouse drivers.
2014-05-09 19:30:51 +02:00
Greg King
a27e7562fd Added comments that explain why some instructions are implied. 2014-05-05 13:55:14 -04:00
Greg King
7d512ca238 Back-migrated some phantom-key rejection optimizations. 2014-05-05 06:28:19 -04:00
Greg King
667f8229c0 Migrated the phantom-key exorcism code to the other C128 mouse drivers. 2014-05-05 05:30:31 -04:00
Greg King
047d9abc68 Added the long-missing driver-flags byte to the potentiometer (mouse) drivers. 2014-05-05 04:16:04 -04:00
Oliver Schmidt
d6c3bd29ac Renamed JUMPTABLE and cleaned up module.cfg.
This change was suppsed to fix the issue that the former JUMPTABLE is merked as 'ro' while it is actually written to in several scenarios. When drivers are converted using co65 and then compiled into ROMs the JUMPTABLE isn't copied to RAM and therefore the write operations in question fail.

However unfortunately I didn't succeed in changing that :-( Just setting the former JUMPTABLE to 'rw' broke the drivers. So I placed the DATA segment directly after the former JUMPTABLE segment. This made the drivers converted with co65 work again - obviously after changing libsrc/Makefile:235 from '--code-label' to '--data-label'. But the actual dynamic drivers still didn't work as the former JUMPTABLE wasn't placed as the beginning of the loaded file anymore. That effect could be changed by exchanging src/ld65/o65.c:1391 with src/ld65/o65.c:1394 but doing so broke the drivers again :-((
2014-05-01 21:44:39 +02:00
Oliver Schmidt
2a3fbc6e36 Merge pull request #109 from groessler/something_to_pull2
Proposal: workaround for "phantom" key presses in the C128 "joystick" mouse driver...
2014-04-28 22:18:11 +02:00
Christian Groessler
6307815ada Correctly map out ROM when needed in the "phantom keys" workaround. 2014-04-26 11:58:13 +02:00
Christian Groessler
f290c1aa28 remove build warning 2014-04-25 13:21:54 +02:00
Christian Groessler
92b32d7d0e atari5200 update: simple conio "hello world" works now 2014-04-25 03:02:44 +02:00
Christian Groessler
ec417c0dc5 Merge remote-tracking branch 'upstream/master' into a5200 2014-04-25 02:07:44 +02:00
Christian Groessler
54be6de9bc Workaround for "phantom" key presses in the C128 "1351" mouse driver. 2014-04-25 00:22:23 +02:00
Christian Groessler
401e18d982 Put mouse cursor shape definition into .rodata. 2014-04-24 02:04:08 +02:00
Christian Groessler
4406307c2f Make the hooking and unhooking of the interrupt interrupt safe. 2014-04-24 00:28:33 +02:00
Oliver Schmidt
9e3154220c Merge pull request #106 from groessler/something_to_pull
add P/M (aka 'Sprite') mouse callback for Atari
2014-04-22 20:01:43 +02:00
Christian Groessler
608dbc2cec Workaround for "phantom" key presses in the C128 "joystick" mouse driver. 2014-04-22 15:49:48 +02:00
Christian Groessler
2059e34114 rename ser_libref.s to serref.s in order to be consistent with other targets 2014-04-22 13:42:17 +02:00
Christian Groessler
eefd33d309 Split libref.s into multiple files to prevent inclusion of unnecessary code. 2014-04-22 12:50:07 +02:00
Christian Groessler
7eaf721e7c Selection whether to use page 6 for mouse P/M data is not done in
Makefile.inc, like the other compile-time options. Small fix in the
P/M mouse "show" routine: adapt mouse cursor colors to current
screen colors.
2014-04-21 11:41:37 +02:00
Christian Groessler
88e3e60550 address issue raised in the pull request; add support to not use page 6
again
2014-04-15 11:37:34 +02:00
Christian Groessler
526b440b24 - always use page 6 for P/M mouse cursor
- make cursor character of text mode callback configurable
- change default cursor character of text mode callback from 'plus' to 'diamond'
- set P/M callback as default
2014-04-11 23:51:49 +02:00
Christian Groessler
661203a89a initial version of a P/M mouse callback 2014-04-11 23:51:49 +02:00
Oliver Schmidt
a0a4158bba Merge pull request #103 from greg-king5/typo
Fixed typo (Ilegal).
2014-04-04 09:56:04 +03:00
Greg King
449fceebdd Fixed typo (Ilegal). 2014-04-03 17:28:36 -04:00
Greg King
42595fbf13 Added command-line argument parsing to the CBM510 and CBM610 targets. 2014-04-03 08:23:28 -04:00
Oliver Schmidt
986c2248e2 Added cc65_umul8x8r16() based on umul8x8r16. 2014-03-27 21:22:02 +01:00
Christian Groessler
f266612697 Merge remote-tracking branch 'upstream/master' into a5200 2014-03-20 00:24:11 +01:00
Karri Kaksonen
100ecb0a45 Use LOWCODE segment 2014-03-19 11:32:44 +02:00
Greg King
3ef184bdd6 Corrected the default upper limits of some mouse drivers' bounding box.
The upper limits need to be one less than the screen sizes because the minimum co-ordinate is zero instead of one.
2014-03-18 05:17:44 -04:00
Oliver Schmidt
1d6000213c Removed references to $TRAVIS from Makefiles.
After all it seems much cleaner to explicitly control the behaviour from the .travis.yml file than to behave differently "under the hood" when detecting a Travis CI build.
2014-03-16 21:32:18 +01:00
Oliver Schmidt
4ea84c4843 Merge pull request #90 from greg-king5/c128-sprite
Added code that disables C128 BASIC's sprite-motion interrupt-handler.
2014-03-16 20:55:09 +01:00
Greg King
e335d2564d Added code that disables C128 BASIC's sprite-motion interrupt-handler.
That lets the mouse drivers control a sprite directly through the VIC's registers.
2014-03-15 16:41:03 -04:00
Oliver Schmidt
9da0e8e600 Moved LOADER.SYSTEM description.
The LOADER.SYSTEM description is now available in the cc65 Wiki (https://github.com/cc65/cc65/wiki/LOADER.SYSTEM).
2014-03-15 18:09:55 +01:00
Christian Groessler
30b418c734 add gotox, gotoy, and gotoxy 2014-03-13 02:38:35 +01:00
Christian Groessler
84c655a907 use __RESERVED_MEMORY__ to reserve memory for the default 20x24 text screen 2014-03-13 02:36:10 +01:00
Christian Groessler
889783bedb add some conio functions 2014-03-11 01:17:59 +01:00
Oliver Schmidt
efa50b0258 Several minor adjustments. 2014-03-09 13:56:32 +01:00
Oliver Schmidt
8236b0dd74 Upload zip file. 2014-03-09 01:20:39 +01:00
Oliver Schmidt
80ca7eb4e4 Create zip file. 2014-03-09 00:20:17 +01:00
Christian Groessler
73df73194a fix indentation 2014-03-07 23:15:57 +01:00
Christian Groessler
b40fe584d8 fix typo 2014-03-07 23:15:11 +01:00
Oliver Schmidt
1c73fa0a00 Moved .PHONY below definitions it refers to.
I must admit that I don't understand why but obviously it is necessary to place .PHONY below the definition of variables it refers to - although those variables are recursively expanded ones! Not doing so made libsrc/Makefile build only three target libraries.
2014-03-06 23:42:44 +01:00
Oliver Schmidt
30125afcc1 Moved from VS2013 to MinGW(-w64). 2014-03-06 22:32:24 +01:00
Oliver Schmidt
3f0af9b241 Have src/Makefile and libsrc/Make use disjoint work directories.
Building the clean target in src or libsrc should only delete stuff created by the make in those directories. Having both separated allows the Travis CI build to replace the native binaries with cross built binaries while keeping everything else.
2014-03-05 23:24:35 +01:00
Oliver Schmidt
44ccb27549 Changed Makefile.inc handling.
It seems more appropriate to trigger the inclusion of Makefile.inc via $TARGET (instead of $SRCDIR). This is btw. more consistent with extzp.s inclusion which is triggered via $TARGET too.
2014-03-04 21:46:25 +01:00
Christian Groessler
361da29e51 add get_tv() 2014-03-04 16:02:24 +01:00
Christian Groessler
bf8eb8c22e rename libsrc/atari/tvtype.s to libsrc/atari/get_tv.s 2014-03-04 15:44:10 +01:00
Oliver Schmidt
3f7cd3387f Optimize for size instead for speed. 2014-03-03 21:08:35 +01:00
Christian Groessler
7a9fa9d4cd rename W2CAS.COM to w2cas.com (lowercase) 2014-03-03 18:12:11 +01:00
Christian Groessler
c8f7f2f161 first changes for atari5200 target 2014-03-01 17:20:09 +01:00
Christian Groessler
69f81f6d67 make 'w2cas' a targetutil 2014-03-01 13:11:52 +01:00
Christian Groessler
81fe7a3805 cleanups; split 'header' and 'init' part into two source files 2014-02-21 22:43:44 +01:00
Christian Groessler
701c59900d Merge remote-tracking branch 'upstream/master' into cassette 2014-02-21 21:02:54 +01:00
Oliver Schmidt
d001a6f1a0 Have _heapmaxavail() work as advertised.
The cc65 doc explicitly states that the return value of _heapmaxavail() can be used as parameter of malloc(). To actually allow for that the size of HEAP_ADMIN_SPACE has to be substracted from the raw size of the largest free heap block.
2014-02-20 21:04:11 +01:00
Christian Groessler
65874d4604 Merge remote-tracking branch 'upstream/master' into cassette 2014-02-20 01:05:10 +01:00
Christian Groessler
b326a04b1e fix uninitialized use of 'buflen' 2014-02-19 22:39:39 +01:00
Christian Groessler
b496a400ec Merge remote-tracking branch 'upstream/master' into cassette
ecessary,
2014-02-18 21:36:53 +01:00
Christian Groessler
b477023783 Turn off mouse polling interrupt if the mouse hasn't been moved for
some time. Turn it back on when the mouse is moved again.
Since the polling interrupt runs at a rather high frequency (1kHz),
this saves many processor cycles when the mouse is inactive.
2014-02-14 01:44:00 +01:00
Christian Groessler
290da8d5ae Merge remote-tracking branch 'upstream/master' into cassette 2014-02-11 12:35:28 +01:00
Oliver Schmidt
3334082abf Avoid include subdirs on install cmdline. 2014-01-30 13:02:01 +01:00
Christian Groessler
3bd5d3f88b Merge remote-tracking branch 'upstream/master' into cassette
Conflicts:
	asminc/atari.inc
	libsrc/atari/mou/atrst.s
2014-01-30 10:48:13 +01:00
Oliver Schmidt
0a723fdb3d Merge pull request #78 from groessler/something_to_pull
change mouse drivers to be more "floppy access" friendly
2014-01-30 00:20:53 -08:00
Christian Groessler
0cf0ed5510 Disable the high frequency mouse polling IRQ while the system does
time critical things (CRITICAL flag set).
2014-01-29 23:40:48 +01:00
Oliver Schmidt
e320fe3db8 Added 'install' target.
The 'install' target primarily aims to support pacaking tools. Therefore...
- It just presumes a "capable" install program to be present.
- There's intentionally no 'uninstall' target.
2014-01-29 21:42:26 +01:00
Oliver Schmidt
4452156d1a Avoid indirect jmp with unknown vector address. 2014-01-26 18:10:01 +01:00
Christian Groessler
33bc340814 add missing stddrv defines for atarixl 2014-01-21 23:09:00 +01:00
Christian Groessler
63ce6e28fe Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-20 23:04:31 +01:00
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
Stephan Mühlstrasser
9fd27d6ef6 Merge branch 'master' into c1p 2013-11-19 20:53:17 +01: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