mrdudz
4557e8d004
optimize charcode conversion, shorter and faster now :)
2015-10-12 18:53:55 +02:00
mrdudz
aed0549760
remove some commented out code
2015-10-12 18:09:50 +02:00
mrdudz
ead9950044
some code shuffling to get rid of long branches
2015-10-12 18:01:48 +02:00
mrdudz
cf8b21b27e
size optimization
2015-10-12 17:12:44 +02:00
mrdudz
bc85d90468
check for space bottom up, which is faster for the average case
2015-10-12 16:15:40 +02:00
mrdudz
a2b514a7cf
fix some style issues
2015-10-12 15:54:08 +02:00
mrdudz
21732e3c5b
maintain lsb of cursor x position internally, saves some bytes and some cycles too :)
2015-10-12 15:44:41 +02:00
mrdudz
2a0f6c420b
moved bordercolor function into a seperate file
2015-10-12 15:18:36 +02:00
mrdudz
7f2df8e8e6
move internal text/bgcolor variables into the file that also contains the init code for them. also rename them to avoid namespace pollution
2015-10-12 15:04:55 +02:00
mrdudz
07f1879f85
added some more comments and -headers
2015-10-12 14:40:12 +02:00
mrdudz
d8d7f53d1b
move charset to seperate file again, added comments on charset layout
2015-10-11 17:13:28 +02:00
mrdudz
03c6af3e15
rewrote color voodoo
2015-10-09 23:39:37 +02:00
Oliver Schmidt
326da85145
Consistently place constructors (and their exclusive subroutines) in "INIT".
2015-10-09 21:44:20 +02:00
Oliver Schmidt
575f859a03
Keep low level VIC sprite stuff out of user code.
2015-10-09 18:33:35 +02:00
Greg King
8c609dd931
Explained why two variables were moved out of the BSS segment.
2015-10-09 12:00:41 -04:00
mrdudz
0b9d67d8a8
use default prio for the constructor
2015-10-09 13:40:10 +02:00
mrdudz
f712e9448a
some cleanup/rework
2015-10-09 13:34:23 +02:00
mrdudz
e54ad81ce8
some more rework, second attempt on fixing the color issues. added ifdefs to disable the color voodoo alltogether for debugging purposes.
2015-10-08 20:43:25 +02:00
Greg King
ca70700a0b
Restored the old C-stack initiation code.
...
I had forgotten that the stack must be put below the CBM overlays.
2015-10-08 06:04:49 -04:00
Greg King
8a880580dc
Reduced the size of the moveinit subroutine.
...
Made other changes that were recommended by Oliver.
* Changed its name from move_init to moveinit.
* Used self-modifying code in the subroutine.
* The INIT segment doesn't need to be optional (it's used by the start-up file).
2015-10-07 14:56:14 -04:00
mrdudz
67dabb8489
attempted fix for the color problem noticed by oliver
2015-10-06 20:18:40 +02:00
mrdudz
ee54f7f40c
optimized clrscr for size
2015-10-06 19:33:43 +02:00
Greg King
074e10d288
Adapted, to the c64 target, the INIT-segment overlay scheme from the apple2 targets.
...
When a program starts running, INIT is moved from one place to another place. Then, INIT's code is executed; and, the first place is re-used for variables. After the INIT code has finished, the second place can be re-used by the heap and the C stack. That means that initiation code and data won't waste any RAM space after they stop being needed.
2015-10-05 05:47:43 -04:00
mrdudz
23473641f4
fix clrscr so it doesnt wipe sprite pointers
2015-10-01 17:16:02 +02:00
mrdudz
5ea842b88b
SCREEN->screensize
2015-10-01 15:03:11 +02:00
mrdudz
4949836d16
fixed kplot
2015-09-28 17:12:20 +02:00
mrdudz
841d764a83
some cleanup, checked usage of __bgcolor and __textcolor
2015-09-28 16:10:11 +02:00
mrdudz
7486923c17
dont use seperate file for charset data
2015-09-28 15:57:16 +02:00
mrdudz
6cc654cca8
added extra check for graphical chars
2015-09-28 15:10:57 +02:00
mrdudz
257183fa55
removed duplicate copy of charset and shift it at init time, saves 1k
2015-09-27 19:34:43 +02:00
mrdudz
c221fe22f6
prepend soft80_ to some more internally used functions
2015-09-27 19:10:06 +02:00
mrdudz
b5a6578dca
include bitmap and vram row tables directly rather than generating them (saves space)
2015-09-27 18:49:30 +02:00
mrdudz
fba28f46f6
fix initial text- and background colors
2015-09-27 18:36:53 +02:00
mrdudz
9e08c53b01
initial commit of soft80 implementation
2015-09-27 18:12:25 +02:00
Greg King
031bd2ebf0
Fixed the random-seed generators for the Commodore targets.
...
They use a byte from the time counter; but, it is stored in big-endian order.
2015-09-11 10:03:07 -04:00
Greg King
74c2415795
Changed literal zeroes of the style "#>0" into the style "#>$0000".
2014-09-10 19:15:07 -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
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
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
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
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
94eb2a2ed7
Some fine tuning of the mouse driver interface harmonization.
2014-01-17 21:09:15 +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
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
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
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
Greg King
078a1df2f6
Look for NULL pointer more efficiently.
2013-07-05 12:32:19 -04: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
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
Greg King
051c21726b
Added Inkwell lightpen drivers for the C64 and the C128.
...
They use the mouse driver programming interface.
Added a test program for lightpen drivers. Now, it knows about only those two drivers; it will need updating when others are added.
2013-05-29 20:02:29 -04:00
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
Oliver Schmidt
81e467cdc2
Replaced whole bunch for Makefiles with a single generic Makefile.
...
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:15:30 +02:00
Oliver Schmidt
008b4c4e1d
Replaced whole bunch for Makefiles with a single generic Makefile.
...
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:10:48 +02:00
ol.sc
2e5823d43d
Save some bytes by sharing the code doing the actual vector setting. Note: Jumping from segemnt INIT to segment CODE is okay while the other way wouldn't be.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-14 16:48:05 +00:00
ol.sc
7c9171ee87
Moved IRQ hooking / unhooking from startup code to constructor / destructor to avoid linking in the hooking / unhooking code (and callirq) for the majority of cc65 prorams not linking in interruptors.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 22:39:38 +00:00
ol.sc
6860ac7dfd
Introduced static standard drivers.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 19:53:47 +00:00
ol.sc
1bba8355da
Fixed typo.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5889 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-31 23:39:58 +00:00
ol.sc
a3c940e315
Convert dynamically loadable drivers into statically linkable drivers and add them to the target libraries.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5887 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-29 20:26:26 +00:00
ol.sc
59e96ef740
Turned the 'ST' status byte into a symbol resolved by the linker in order to allow to use it from code living in the 'cbm' directory.
...
Moved getdevice.s from 'c64'/'c128' to 'cbm' making use of the new 'ST' setup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5834 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-30 18:20:15 +00:00
ol.sc
b586d5ef69
Introduced mass-storage device enumaration - with implementation for C64 and C128.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5820 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 12:14:45 +00:00
uz
285aaf8933
Patch by Stefan Haubenthal: Remove __fastcall__ in comments and/or the
...
function description for functions that don't take any parameters.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-04 13:08:54 +00:00
uz
5b659547b8
Removed the jump to RESTOR on exit for all the CBM platforms.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5355 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-01 19:58:31 +00:00
uz
a9de1a9e89
Fixed an error: The LINE function mistakenly enabled the BASIC ROM. (Greg King)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5299 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-09-13 18:50:29 +00:00
uz
4026a28c60
Added a new flags byte to the TGI headers. Bumped the API version.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 11:23:27 +00:00
ol.sc
4aa00e84e1
Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 10:38:48 +00:00
ol.sc
14cfadbc75
Computed pixel aspect ratio (PAR) by presuming a display aspect ratio (DAR) of 4/3 for a classic CRT and using the given driver resolutions as storage aspect ratio (SAR).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5001 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-30 12:46:03 +00:00
ol.sc
5e37ed1a16
Target-specific black & white values for use by the target-shared TGI kernel
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4993 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 17:11:23 +00:00
uz
577247df58
As a test, remove the SYS header from the startup code and use the one
...
supplied by the new exehdr module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4862 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-14 11:51:05 +00:00
uz
9948b5acfe
Remove the load address since it's supplied in its own module now.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4856 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-13 16:57:23 +00:00
uz
fa1b5047dd
Fixed order of options in call to ld65, which became important after the
...
latest changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4843 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-09 21:33:14 +00:00
ol.sc
d1f5b74f01
Now that we reduce the size of the RAM memory area by the stacksize in the linker configuration we need to add the stacksize to end of the RAM area when setting the initial stack pointer in the startup code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-02 10:37:20 +00:00
uz
09adce2fec
Added patches to make systime work correctly with the different video systems
...
(Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4624 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-19 20:46:56 +00:00
ol.sc
8663ae5975
Fixed line endings I broke with recent change.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4618 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-07 21:00:42 +00:00
ol.sc
9ef9396b71
Added comment based on mailing list posting by Greg King.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4593 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-20 09:52:05 +00:00
uz
5f18ddbec9
Patches by Greg King to avoid crosstalk between mouse and keyboard.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4589 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-15 17:52:41 +00:00
ol.sc
d1aad57b98
Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a constructor with a very high priority to be called before DEVNUM gets overwritten by other constructors.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-14 23:12:54 +00:00
uz
d4592d1a7c
New EMD driver for the Double Quick Brown Box cartridge, written and
...
contributed by Marco van den Heuvel with quite some cleanup by me.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4587 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-12 11:09:23 +00:00
uz
49f6f3972b
Make PIA upper case for orthogonality.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4586 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-12 11:07:07 +00:00
uz
6a712d8b9e
More driver cleanup.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4585 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-12 10:46:57 +00:00
uz
8bae793f48
Use the .max function to calculate the backup space.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4584 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-11 18:56:47 +00:00
uz
e65f966d25
Added DTV detection code by Marco van den Heuvel.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4580 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-04 20:27:48 +00:00
uz
aa6a507991
Some more improvements (untested).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4579 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-04 20:08:50 +00:00
uz
37fbe08df2
New extended memory driver for the C256K memory extension. Written and
...
contributed by Marco van den Heuvel with several changes by me.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4577 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-04 19:19:17 +00:00
uz
4e18dad55a
New EMD driver for the ISEPIC cartridge written and contributed by
...
Marco van den Heuvel with some cleanup by me.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4574 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-02 18:32:34 +00:00
uz
31819685af
Fixes for joysticks 3+4 in the ptv joystick driver. Contributed by Marco van
...
den Heuvel.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-02 17:05:18 +00:00
uz
7d731dce02
Marco van den Heuvel contributed code to detect a C64 DTV.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4570 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-01 18:04:14 +00:00
uz
cf4d3d0a16
No need to save the Y register in INSTALL.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4567 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-01 07:19:47 +00:00
uz
3bf4afae50
Added size checking code contributed by Marco van den Heuvel.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4566 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-01 07:15:41 +00:00
uz
80b1dddb7f
Added size checking routine contributed by Marco van den Heuvel.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4565 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-01 07:07:24 +00:00
uz
7e2a24176f
Replaced $30 by literal '0' for better readability.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4513 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 22:12:24 +00:00
uz
13698871cb
Removed the call to CLRCH in the startup code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4512 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 21:22:17 +00:00
uz
60bc009991
* Moved the BASIC stub that calls the compiled program into it's own segment
...
named EXEHDR.
* Renamed BASICHDR to EXEHDR for the PET-II machines.
* Moved the call to CHRCH in front of the code that saves the zero page, since
open files are sometimes remembered in the zero page, so we need to close
them before we grab a copy.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4507 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-09 12:42:24 +00:00
uz
bfbf94404b
Squeezed bytes and cycles out of the kbhit functions for almost all platforms.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4480 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-24 18:31:16 +00:00
uz
c7a33334ba
Don't hardcode the address of the SYS call for the startup code of the
...
Commodore machines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4474 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 12:01:24 +00:00
uz
5304a8149e
Changes to the TGI driver API:
...
* Removed CIRCLE
* Aspect ratio is a new header variable
* Removed the reserved bytes - it's easier to bump the API version
* Clipping is done completely in the wrapper
git-svn-id: svn://svn.cc65.org/cc65/trunk@4396 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-29 20:13:56 +00:00
uz
d55fb5217e
Changed the solution for the PLOT problem with old -02 kernals to that used
...
for the VIC20: PLOT is not an kernal entry but a library function that will
do the right stuff. This makes it work with other stuff that calls PLOT, too.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4249 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-27 18:45:08 +00:00
uz
70cb60ef31
Fix the plot routine to work with the buggy -02 kernal.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4234 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-26 15:56:29 +00:00
uz
634e84f12a
Changed the existing Commodore mouse drivers for the new API. UNTESTED!
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4232 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-26 11:35:32 +00:00
uz
83be732983
The CIA TOD needs a write to the 1/10 sec register to start. Shortened the
...
code by using initialized data.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4224 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 19:40:36 +00:00
uz
5c5d01d84a
Moved most platform assembler includes into asminc, so they will be available
...
in the distribution.
Added --forget-inc-paths to the command line of the assembler in the
Makefiles, because the assembler does now have builtin paths and will find
include files from an installation first.
Hopefully fixed any problems that arose from the two changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4223 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 17:44:22 +00:00
uz
7de61e351c
Define a standard driver and mode for tgi graphics and use it in the sample
...
program. The standard driver and mode is the first one in the tgi_mode_table.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:59:37 +00:00
uz
7c2823e780
Added the mouse_stddrv variable for the C64 and C128.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4149 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:51:21 +00:00
uz
8216bf1d6a
Force an import of the special symbol __STARTUP__ in the C compiler when
...
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
uz
931add050e
Added a systime implementation by Stefan Haubenthal with a few changes. The
...
routine reads the TOD clock of CIA1 on the C64 and C128. Since systime was a
dummy routine common for all CBMs before, this change adds an individual dummy
routine for all other CBM systems. CBM510/610 do also have a TOD clock, so a
similar function as in the C64 could be used ...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:44:37 +00:00
uz
7e9b6e7311
Fixed problems with the startup code (Greg King): Interrupts must be hooked
...
before calling initlib because initlib calls contructors and may install
drivers, which enable hardware interrupts. Similar for donelib.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3897 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-31 18:22:51 +00:00
uz
2b098710d9
Added Koala Pad mouse drivers written by Stefan Haubenthal.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3877 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 20:54:35 +00:00
uz
4812feb44b
git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-02 22:02:54 +00:00
cuz
f257b2ee81
Moved the data that keeps a copy of the used zero page locations in its own
...
segment to reduce the executable size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-03 19:39:14 +00:00
cuz
4b8d90d2de
Changed the mouse API: Introduced a new flag byte that contains information
...
about the driver, the mouse kernel needs to know. Current supported: Two flags
to enable interrupts before or after calling the driver INSTALL routine.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3741 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-21 11:25:31 +00:00
cuz
60bb97e433
Optimized the code and allowed access to the ROM by using page numbers
...
higher than what em_pagecount() returns.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3676 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-29 17:21:52 +00:00
cuz
74d19eb5a3
Added an extended memory driver for the DTV.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3674 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-27 22:58:44 +00:00
cuz
f3c6fbc72a
Small optimzation by Stefan Haubenthal
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3594 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-28 20:57:16 +00:00
cuz
cbdcab4fdb
Change the sematics of callirq and the existing interruptors: The interrupts
...
must now return carry set if the interrupt has been handled, and carry clear
if not. The callirq routine will stop calling handlers with the first handler
that claims to have handled the interrupt. callirq will return the carry flag
to the caller as it came from the last interruptor called.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3491 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-25 20:10:10 +00:00
cuz
d0bee35728
Move constructor code into the INIT segment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:28:46 +00:00
cuz
a939b2b7e9
Added the IRQ entry
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3287 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-07 11:33:08 +00:00
cuz
dc781be7f9
Add the irq entry point
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3280 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:27:38 +00:00
cuz
16c81eb942
Add the irq entry point
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3279 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:12:57 +00:00
cuz
303304fe90
Add definitions for tools so the makefile is useful by itself.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:28:26 +00:00
cuz
7b13d79bde
Use get_tv.inc
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3259 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:05:19 +00:00
cuz
4233f92e9a
Removed an unused .import
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3227 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 19:56:29 +00:00
cuz
cfef8e1e0d
Renamed __IRQFUNC_xxx -> __INTERRUPTOR_xxx
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:24:59 +00:00
cuz
28eec78cad
Fixed a comment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2987 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 09:10:23 +00:00
cuz
35a099bb81
Rewrote argument parsing
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2984 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 08:43:35 +00:00
cuz
4ae1e7bbb7
Fixed a comment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2973 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 20:43:08 +00:00
cuz
b67169c979
Fixed NTSC/PAL issue
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2972 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 20:42:34 +00:00
cuz
0d7cf8ebce
Use new callirq function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 14:28:57 +00:00
cuz
663bce6cd7
Change MOVE routine calling conventions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2965 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-29 16:44:39 +00:00
cuz
cfe8c8d934
Removed the old mouse module
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2958 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-23 21:55:35 +00:00
cuz
31595342d6
Mouse driver implementation
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2957 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-23 21:54:24 +00:00
cuz
5f3ed8826f
Added an interrupt facility similar to that on the C128 and Plus/4
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2956 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-23 21:50:15 +00:00
cuz
3bfbaee6a6
Working on loadable mouse drivers
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2953 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-21 22:12:06 +00:00
cuz
7a5d4f3138
Fixed issues with the last change: The return code must be pulled from stack
...
before the stack pointer is reset.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2906 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-08 20:38:58 +00:00
cuz
220e5a3898
Place the return code into ST
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 17:08:07 +00:00
cuz
910f9277ac
Place the return code into ST
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 16:59:52 +00:00
cuz
be5adac693
Use the assembler version as BASIC line number, so the version of the
...
assembler (and probably compiler) can be determined from a compiled
executable. Nice idea from Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-02-02 13:34:12 +00:00
cuz
5ed647b99e
New joystick driver contributed by Stefan Haubenthal
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2878 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-02-02 12:23:45 +00:00
cuz
dbbc0032e8
Started to remove obsolete RS232 code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2840 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-26 21:44:52 +00:00
cuz
b15e4106dc
Use new joystick decls
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 22:38:12 +00:00
cuz
5010b8be45
Use changed EM decls
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2773 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 21:08:13 +00:00
cuz
422ebf76fb
Cosmetic changes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2764 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-15 23:06:05 +00:00
cuz
ba079ae6a1
Added an IRQ vector
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2753 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-14 17:39:22 +00:00