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
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
Stephan Mühlstrasser
781656a451
Merge branch 'master' into c1p
2013-07-26 22:56:37 +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
Stephan Mühlstrasser
5824f46244
Merge branch 'master' into c1p
2013-07-24 22:37:47 +02:00
Stephan Mühlstrasser
0b8c742bfc
Remove unneeded import
2013-07-24 22:35:58 +02:00
Christian Groessler
56588aa26a
fix cleanup of stack
2013-07-24 10:25:36 +02:00
Christian Groessler
d68307ee52
fix cleanup of stack
2013-07-24 10:24:47 +02:00
Christian Groessler
f30b74ddb4
Don't import tmp1, slipped in by mistake in last commit
2013-07-24 00:45:20 +02:00
Christian Groessler
f2807df4c2
Don't import tmp1, slipped in by mistake in last commit
2013-07-24 00:44:44 +02:00
Christian Groessler
bbc31f67da
implement _sysrename for Atari
2013-07-24 00:41:49 +02:00
Christian Groessler
993555da94
implement _sysrename for Atari
2013-07-24 00:40:09 +02:00
Christian Groessler
8f23c1bac7
don't include errno.inc -- not necessary
2013-07-17 23:37:03 +02:00
Christian Groessler
0bd97f5445
remove unused import sreg
2013-07-17 23:33:12 +02:00
Stephan Mühlstrasser
c6f97e914c
Merge branch 'master' into c1p
2013-07-16 18:16:36 +02:00
Greg King
641a609cf3
Moved common symbol names out of sources, and into a global include file.
2013-07-16 00:30:56 -04:00
Christian Groessler
e0aaac0088
fix '_sysrmdir' for SpartaDOS
2013-07-16 01:31:15 +02:00
Christian Groessler
a3ad7d07a1
fix '_sysrmdir' for SpartaDOS
2013-07-16 01:29:49 +02:00
Stephan Mühlstrasser
608e9875fb
Suppress call to copydata routine, which seems to
...
be necessary only in very special cases that
are unclear at the moment.
2013-07-15 22:45:09 +02:00
Stephan Mühlstrasser
b3b3578f08
Nominal support for target Ohio Scientific Challenger 1P
2013-07-14 22:50:38 +02:00
Christian Groessler
1bfd39ee20
close IOCB if open failed -- otherwise is is still marked as "in use"
2013-07-09 23:59:27 +02:00
Christian Groessler
f04dc3570c
close IOCB if open failed -- otherwise is is still marked as "in use"
2013-07-09 23:39:42 +02:00
Greg King
078a1df2f6
Look for NULL pointer more efficiently.
2013-07-05 12:32:19 -04:00
Christian Groessler
d3d7499faa
Remove saving and restoring of zeropage variables.
...
Merge remote-tracking branch 'upstream/master'
Conflicts:
cfg/atarixl.cfg
libsrc/atari/crt0.s
2013-07-03 11:38:28 +02:00
Christian Groessler
7ebaec1802
Don't save and restore the zero page locations used.
...
Saves 19 bytes code (in the exe file) and reduces memory footprint
of the program by 45 bytes (code & bss).
2013-07-02 19:55:00 +02:00
Greg King
a555b5f6a5
Merge branch 'master' into lightpen
2013-07-01 09:25:02 -04:00
Greg King
42301b78ce
Included a header that defines NULL.
2013-06-28 06:36:32 -04:00
Christian Groessler
250e26c56e
Don't save original IRQ, NMI, and RESET vectors -- it's not needed.
2013-06-28 01:08:07 +02:00
Christian Groessler
1e9823306a
Merge remote-tracking branch 'upstream/master'
2013-06-28 00:49:12 +02:00
Oliver Schmidt
5edcd639e0
Made EXTZP segment option for modules.
...
This allows to remove the "add empty EXTZP segement to avoid warnings"
approach.
2013-06-28 00:30:24 +02:00
Oliver Schmidt
3af758ced5
Have __PLUS4__ imply __C16__.
2013-06-27 23:09:54 +02:00
Oliver Schmidt
460cea425f
No delimiter comment between includes and first segment.
2013-06-27 13:04:52 +02:00
Christian Groessler
1bd902787b
move findfreeiocb function into its own object file
2013-06-25 01:29:56 +02:00
Christian Groessler
a03b3574b6
use first free IOCB for "GRAPHICS 0" call instead of using a hard-coded one
2013-06-25 01:27:47 +02:00
Christian Groessler
df1165e0e0
move findfreeiocb function into its own object file
2013-06-25 01:12:11 +02:00
Christian Groessler
b31e0d3249
small memory optimization: appmsav not needed in the xl target
2013-06-25 00:53:21 +02:00
Christian Groessler
be880bd157
remove TABs
2013-06-25 00:48:43 +02:00
Christian Groessler
1347947f0d
some nicer debug messages
2013-06-25 00:48:26 +02:00
Greg King
e63bf1cde1
Used a library-reference method to calibrate lightpen drivers.
...
The mouse reference is a pointer. If it's NULL, the driver uses a default. If it's non-NULL, then it points to a function that the driver can call. That function will adjust the driver's calibration value. It could ask the user to adjust the pen; or, it could read a file that holds a value from a previous calibration.
Application writers can choose how it's done: a function that's provided by the library, a custom function, or nothing.
2013-06-23 03:18:28 -04:00
Christian Groessler
e3fb1b3d3d
Fix writing one byte beyond screen buffer.
2013-06-21 11:33:55 +02:00
Christian Groessler
73c4566ca7
Fix writing one byte beyond screen buffer.
2013-06-21 01:53:13 +02:00
Christian Groessler
f16516047a
cleanups and add more comments
2013-06-21 00:01:07 +02:00
Christian Groessler
6ed1b07e59
Fix check whether there is enough memory btw. MEMLO and the program
...
load address to move screen buffer there.
2013-06-20 23:31:41 +02:00
Christian Groessler
96b0ca0524
Merge remote-tracking branch 'upstream/master'
2013-06-19 11:06:17 +02:00
Christian Groessler
2a525f8a48
some cleanups
2013-06-19 11:05:03 +02:00
Oliver Schmidt
93bd9a8e51
Simply define CH_DEL exactly then when there none yet.
2013-06-18 19:06:46 +02:00
Christian Groessler
47d16e86a4
Add indication on the screen of occurring IRQs and NMIs (only for debug version).
...
NMI handler: set I status bit to original value before interrupt before chaining
to ROM NMI handler.
2013-06-18 13:00:51 +02:00
Christian Groessler
c79b23e95b
Merge remote-tracking branch 'upstream/master'
2013-06-17 23:54:49 +02:00
Oliver Schmidt
e22e32c63e
Avoid macro redefinition of CH_DEL for apple2enh.
...
I'm wondering why MS VC++ didn't complain about this...
2013-06-17 21:41:25 +02:00
Oliver Schmidt
83280e1ee2
Have __APPLE2ENH__ imply __APPLE2__ and __ATARIXL__ imply __ATARI__.
2013-06-17 21:34:08 +02:00
Christian Groessler
b45c765969
make one more debug message ".ifdef DEBUG"
2013-06-17 18:56:58 +02:00
Christian Groessler
e621ca0cce
Better cleanup on program exit on atarixl target
2013-06-13 01:17:53 +02:00
Christian Groessler
7eca62f8e4
Move scrdev into it's own file. On the atarixl target it will be referenced by crt0.s.
2013-06-13 01:16:35 +02:00
Christian Groessler
a6477c8caf
better error message
2013-06-13 01:16:05 +02:00
Christian Groessler
ce1313b36c
some debug messages ".ifdef DEBUG"
2013-06-13 01:07:40 +02:00
Christian Groessler
9f8b5668e1
Add handling of write requests
2013-06-13 00:54:03 +02:00
Christian Groessler
e5f409e357
intermediate check-in -- added handling of read requests
2013-06-12 13:27:28 +02:00
Christian Groessler
8e8a37c47b
intermediate check-in
2013-06-10 14:22:30 +02:00
Christian Groessler
56e330a4d7
Use symbolic names for all CIO commands.
2013-06-10 12:45:51 +02:00
Christian Groessler
b03913370c
Use symbolic names for all CIO commands.
2013-06-08 00:35:07 +02:00
Christian Groessler
393bf6da54
Merge remote-tracking branch 'upstream/master'
2013-06-05 23:09:32 +02:00
Oliver Schmidt
5ed1fac0d6
Use unique variables for cc65 toolchain.
...
Originally I used the usual variables (like $(CC) and $(CFLAGS) ) but after
all this doesn't make sense as any predefined values and/or user defined
settings can only be wrong.
2013-06-04 23:39:00 +02:00
Christian Groessler
2823bc1e66
Merge remote-tracking branch 'upstream/master'
2013-06-04 10:54:34 +02:00
Greg King
66ca781bb1
Added library reference address to lightpen driver header.
2013-06-03 06:09:22 -04:00
Oliver Schmidt
b0dd6c614f
Added library reference tgi_libref to TGI interface.
2013-06-01 12:42:00 +02:00
Oliver Schmidt
ae409e4978
Added library reference ser_libref to SER interface.
2013-06-01 11:03:14 +02:00
Oliver Schmidt
744abda24f
Added library reference mouse_libref to MOU interface.
2013-06-01 00:53:17 +02:00
Oliver Schmidt
23650cb946
Added library reference joy_libref to JOY interface.
2013-06-01 00:36:08 +02:00
Oliver Schmidt
619b215260
Added library reference em_libref to EMD interface.
...
Occasionally dynamically drivers suffer from not being to refer to
content in the C library. Therefore I added a mechanism to allow
a C library for a certian target to define a symbol that will be
handed over to dynamic drivers for that target. Then the drivers
can use their refernce to that symbol to access content in the C
library.
2013-06-01 00:11:31 +02:00
Oliver Schmidt
7024e2789d
Explicitly set search paths for libraries build.
...
The libraries build is prepared to work with binaries not part of the current
working tree. But in this case the default search path surely points to some
other working tree. Even the binaries in this working tree might have been
compiled with non-standard builtin search paths.
Anyway when building the libraries we want always to use the headers from
the current working tree. Therefore we want to set them explicitly. Instead
of setting all in all five paths on the command lines of ca65, cc65 and ld65 I
opted to just set the single environment variable.
2013-05-31 21:30:14 +02:00
Christian Groessler
c1230b8af6
small cleanup
2013-05-31 14:49:46 +02:00
Christian Groessler
7f0dbde77f
Take SHADOW_RAM size into account.
2013-05-31 14:49:25 +02:00