]> git.sur5r.net Git - cc65/log
cc65
8 years agoAdded another op-code to the test pattern for a right-shift optimizer in cc65. 246/head
Greg King [Mon, 14 Dec 2015 16:50:43 +0000 (11:50 -0500)]
Added another op-code to the test pattern for a right-shift optimizer in cc65.

8 years agoAdded a regression test program for the changes in the right-shift optimizer.
Greg King [Mon, 14 Dec 2015 16:46:30 +0000 (11:46 -0500)]
Added a regression test program for the changes in the right-shift optimizer.

8 years agoExtended a signed char shift optimization, to handle shifts that are longer than...
Greg King [Sun, 13 Dec 2015 22:10:31 +0000 (17:10 -0500)]
Extended a signed char shift optimization, to handle shifts that are longer than 4 bits.

8 years agoFixed a signed char shift optimization so that it won't be used on signed int also.
Greg King [Sun, 13 Dec 2015 12:17:41 +0000 (07:17 -0500)]
Fixed a signed char shift optimization so that it won't be used on signed int also.

(It would lose significant bits from the high byte.)

8 years agoFixed soft80 shutdown.
Oliver Schmidt [Wed, 2 Dec 2015 20:34:08 +0000 (21:34 +0100)]
Fixed soft80 shutdown.

A call to $FDA3 cannot be used because it re-enables the BASIC ROM. If a large program (such as Contiki's webbrowser80) has destructor code or data "behind" that ROM, then the program might crash when it tries to quit gracefully. Changing that code to set CIA2_PRA works well enough.

8 years agoMerge pull request #240 from blackystardust/fix-c128-ram-rts
Oliver Schmidt [Wed, 2 Dec 2015 09:40:06 +0000 (10:40 +0100)]
Merge pull request #240 from blackystardust/fix-c128-ram-rts

Fixed the c128 bank 1 emd.

8 years agooptimized the sei/cli pairing a bit. 240/head
Marco van den Heuvel [Wed, 2 Dec 2015 08:21:55 +0000 (00:21 -0800)]
optimized the sei/cli pairing a bit.

8 years agoMade conio program compatible with joystick-only target(s).
Oliver Schmidt [Tue, 1 Dec 2015 22:06:51 +0000 (23:06 +0100)]
Made conio program compatible with joystick-only target(s).

8 years agoMerge pull request #237 from blackystardust/master
Oliver Schmidt [Tue, 1 Dec 2015 15:18:31 +0000 (16:18 +0100)]
Merge pull request #237 from blackystardust/master

Added a menu to em-test.c and a struct that holds the available emd's…

8 years agoFixed emd driver names for atari-xl and apple2e. 237/head
Marco van den Heuvel [Mon, 30 Nov 2015 18:15:28 +0000 (10:15 -0800)]
Fixed emd driver names for atari-xl and apple2e.

8 years agoFixed the c128 ram (bank 1) emd.
Marco van den Heuvel [Mon, 30 Nov 2015 07:04:23 +0000 (23:04 -0800)]
Fixed the c128 ram (bank 1) emd.

8 years agoRemoved an 'rts'.
Marco van den Heuvel [Sun, 29 Nov 2015 19:35:25 +0000 (11:35 -0800)]
Removed an 'rts'.

8 years agoChanged according to suggestions.
Marco van den Heuvel [Sun, 29 Nov 2015 18:50:22 +0000 (10:50 -0800)]
Changed according to suggestions.

8 years agoAdded a menu to em-test.c and a struct that holds the available emd's, this way the...
Marco van den Heuvel [Sun, 29 Nov 2015 06:06:32 +0000 (22:06 -0800)]
Added a menu to em-test.c and a struct that holds the available emd's, this way the user that wants to test an emd can use the menu to select which one to test.

8 years agoMerge pull request #236 from fo-fo/master
Oliver Schmidt [Thu, 26 Nov 2015 19:19:14 +0000 (20:19 +0100)]
Merge pull request #236 from fo-fo/master

Escaping of spaces in ca65 dependency files

8 years agoImplemented escaping of spaces in ca65 dependency files. Largely based on input.c... 236/head
f [Thu, 26 Nov 2015 17:00:47 +0000 (19:00 +0200)]
Implemented escaping of spaces in ca65 dependency files. Largely based on input.c from cc65 (WriteEscaped was copied verbatim).

8 years agoMerge pull request #233 from mrdudz/soft80shutdown
Oliver Schmidt [Mon, 23 Nov 2015 09:24:03 +0000 (10:24 +0100)]
Merge pull request #233 from mrdudz/soft80shutdown

reset screen editor at shutdown

8 years agoreset screen editor at shutdown 233/head
mrdudz [Sun, 22 Nov 2015 18:20:58 +0000 (19:20 +0100)]
reset screen editor at shutdown

8 years agoMerge pull request #232 from greg-king5/arg-count
Oliver Schmidt [Tue, 17 Nov 2015 20:23:30 +0000 (21:23 +0100)]
Merge pull request #232 from greg-king5/arg-count

Fix ca65's ".paramcount" Assembly-code read-only variable.

8 years agoFixed the ca65 Assembly-code variable ".paramcount". 232/head
Greg King [Tue, 17 Nov 2015 19:11:30 +0000 (14:11 -0500)]
Fixed the ca65 Assembly-code variable ".paramcount".

Fixed how it's described in the ca65 document.

9 years agoMerge pull request #229 from greg-king5/nes-registers
Oliver Schmidt [Thu, 12 Nov 2015 12:20:45 +0000 (13:20 +0100)]
Merge pull request #229 from greg-king5/nes-registers

Update the <nes.h> include file.

9 years agoAdded C declarations of the NES's I/O registers to <nes.h>. 229/head
Greg King [Thu, 12 Nov 2015 10:40:47 +0000 (05:40 -0500)]
Added C declarations of the NES's I/O registers to <nes.h>.

9 years agoMerge pull request #227 from mrdudz/soft80syms
Oliver Schmidt [Sat, 7 Nov 2015 12:37:46 +0000 (13:37 +0100)]
Merge pull request #227 from mrdudz/soft80syms

remove unneeded exports

9 years agoremove unneeded exports 227/head
mrdudz [Sat, 7 Nov 2015 10:45:38 +0000 (11:45 +0100)]
remove unneeded exports

9 years agoMerge pull request #226 from greg-king5/pce-memset
Oliver Schmidt [Sat, 7 Nov 2015 10:37:36 +0000 (11:37 +0100)]
Merge pull request #226 from greg-king5/pce-memset

Add a PC-Engine version of memset().

9 years agoStyle changes. 226/head
Greg King [Sat, 7 Nov 2015 05:29:07 +0000 (00:29 -0500)]
Style changes.

9 years agoAdded a version of memset() that uses the HuC6280's TII instruction to get more speed.
Greg King [Sat, 7 Nov 2015 04:59:19 +0000 (23:59 -0500)]
Added a version of memset() that uses the HuC6280's TII instruction to get more speed.

9 years agoMerge pull request #225 from greg-king5/pce-memmove
Oliver Schmidt [Tue, 3 Nov 2015 09:13:20 +0000 (10:13 +0100)]
Merge pull request #225 from greg-king5/pce-memmove

Handle the special case of a zero-length move on the PC Engine.

9 years agoAdded code to handle the special case of a zero-length move. 225/head
Greg King [Mon, 2 Nov 2015 22:04:46 +0000 (17:04 -0500)]
Added code to handle the special case of a zero-length move.

Added more tests of memcpy() and memmove().

9 years agoMade addr/size hex consts 4 digits wide.
Oliver Schmidt [Fri, 30 Oct 2015 16:18:55 +0000 (17:18 +0100)]
Made addr/size hex consts 4 digits wide.

9 years agoMerge pull request #224 from greg-king5/ld65-segstart
Oliver Schmidt [Sat, 24 Oct 2015 15:12:49 +0000 (17:12 +0200)]
Merge pull request #224 from greg-king5/ld65-segstart

Change the way that ld65 handles bad offset/start segment-attributes.

9 years agoMerge pull request #223 from greg-king5/pce-memmove
Oliver Schmidt [Sat, 24 Oct 2015 15:10:25 +0000 (17:10 +0200)]
Merge pull request #223 from greg-king5/pce-memmove

Add PC Engine-specific substitutes for memcpy() and memmove().

9 years agoAdded pce-specific substitutes for memcpy() and memmove(). 223/head
Greg King [Fri, 23 Oct 2015 22:02:21 +0000 (18:02 -0400)]
Added pce-specific substitutes for memcpy() and memmove().

They are smaller and faster because they take advantage of the pce CPU's block-copy instructions.

Also, made a small improvement to the common memmove(), so that it is similar to the pce version.

9 years agoMerge pull request #221 from undisbeliever/master
Oliver Schmidt [Fri, 23 Oct 2015 18:41:28 +0000 (20:41 +0200)]
Merge pull request #221 from undisbeliever/master

Added .asize and .isize pseudo variables in ca65

9 years agoFixed code style 221/head
Marcus Rowe [Fri, 23 Oct 2015 15:07:47 +0000 (01:07 +1000)]
Fixed code style

9 years agoChanged the way that ld65 handles bad offset/start segment attributes, and reports... 224/head
Greg King [Thu, 22 Oct 2015 23:24:08 +0000 (19:24 -0400)]
Changed the way that ld65 handles bad offset/start segment attributes, and reports memory area overflows.

1. Offset/start attributes within a memory area are ignored after an overflow.
2. If a previous segment ends past an offset/start address, then that address is not used.
3. Short map files were generated for memory overflows; now, they are generated for bad offset/start addresses, too.

9 years agoMerge pull request #222 from mrdudz/pcedatacopy
Oliver Schmidt [Thu, 22 Oct 2015 19:17:50 +0000 (21:17 +0200)]
Merge pull request #222 from mrdudz/pcedatacopy

use tii instead of copy loop to copy data section to ram

9 years agouse tii instead of copy loop to copy data section to ram 222/head
mrdudz [Thu, 22 Oct 2015 17:48:21 +0000 (19:48 +0200)]
use tii instead of copy loop to copy data section to ram

9 years agoMerge pull request #213 from mrdudz/soft80
Oliver Schmidt [Thu, 22 Oct 2015 15:56:21 +0000 (17:56 +0200)]
Merge pull request #213 from mrdudz/soft80

soft80 implementation for C-64

9 years agoremoved apple2 specific note 213/head
mrdudz [Thu, 22 Oct 2015 15:33:01 +0000 (17:33 +0200)]
removed apple2 specific note

9 years agoAdded .asize and .isize pseudo variables
Marcus Rowe [Mon, 19 Oct 2015 23:30:25 +0000 (09:30 +1000)]
Added .asize and .isize pseudo variables

These pseudo variables will return the size of the accumulator/index
in bits.

For the 65816 instruction set .ASIZE/.ISIZE will return either 8 or 16,
depending on the current size of the operand in immediate addressing
mode.

For all other CPU instruction sets, .ASIZE/.ISIZE will always return 8.

For example:

; Reverse Subtract with Accumulator
; A = memory - A
.macro rsb param
.if .asize = 8
eor #$ff
.else
eor #$ffff
.endif
sec
adc param
.endmacro

9 years agoupdated docs
mrdudz [Mon, 19 Oct 2015 01:12:19 +0000 (03:12 +0200)]
updated docs

9 years agoadded size optimized monochrom soft80 driver
mrdudz [Mon, 19 Oct 2015 00:49:32 +0000 (02:49 +0200)]
added size optimized monochrom soft80 driver

9 years agoupdated comments
mrdudz [Mon, 19 Oct 2015 00:47:40 +0000 (02:47 +0200)]
updated comments

9 years agoupdated docs
mrdudz [Sun, 18 Oct 2015 21:57:58 +0000 (23:57 +0200)]
updated docs

9 years agoMerge pull request #220 from greg-king5/holes
Oliver Schmidt [Sat, 17 Oct 2015 19:37:41 +0000 (21:37 +0200)]
Merge pull request #220 from greg-king5/holes

Fix a samples/sieve.s typo.

9 years agoAdded missing parentheses. 220/head
Greg King [Sat, 17 Oct 2015 15:53:16 +0000 (11:53 -0400)]
Added missing parentheses.

A function call had looked like a function pointer (which caused an incompatible comparison).

9 years agomove variables into INITBSS
mrdudz [Thu, 15 Oct 2015 13:11:05 +0000 (15:11 +0200)]
move variables into INITBSS

9 years agoMerge remote-tracking branch 'upstream/master' into soft80
mrdudz [Thu, 15 Oct 2015 13:07:44 +0000 (15:07 +0200)]
Merge remote-tracking branch 'upstream/master' into soft80

9 years agoAdjusted current working directory initialization on Apple and Atari.
Oliver Schmidt [Wed, 14 Oct 2015 22:15:38 +0000 (00:15 +0200)]
Adjusted current working directory initialization on Apple and Atari.

Moving __cwd from BSS into INITBSS does of course ;-) not only impact the CBM targets but all targets with disk I/O support.

Note: Code using `__cwd-1` may trigger an ld65 range error because __cwd may end up at the very begining of a segment. As far as I see this is an ld65 bug which I'm not try to fix - at least here.

9 years agoChanged run location of INIT segment.
Oliver Schmidt [Wed, 14 Oct 2015 20:52:09 +0000 (22:52 +0200)]
Changed run location of INIT segment.

So far the INIT segment was run from the later heap+stack. Now the INIT segment is run from the later BSS. The background is that so far the INIT segment was pretty small (from $80 to $180 bytes). But upcoming changes will increase the INIT segment in certain scenarios up to ~ $1000 bytes. So programs with very limited heap+stack might just not been able to move the INIT segment to its run location. But moving the INIT segment to the later BSS allows it to occupy the later BSS+heap+stack.

In order to allow that the constructors are _NOT_ allowed anymore to access the BSS. Rather they must use the DATA segment or the new INITBSS segment. The latter isn't cleared at any point so the constructors may use it to expose values to the main program. However they must make sure to always write the values as they are not pre-initialized.

9 years agoremove deleted function from comment
mrdudz [Wed, 14 Oct 2015 15:52:14 +0000 (17:52 +0200)]
remove deleted function from comment

9 years agosome comments
mrdudz [Wed, 14 Oct 2015 15:50:44 +0000 (17:50 +0200)]
some comments

9 years agofix bordercolor in test
mrdudz [Wed, 14 Oct 2015 15:34:29 +0000 (17:34 +0200)]
fix bordercolor in test

9 years agoremove soft80_bordercolor override
mrdudz [Wed, 14 Oct 2015 15:33:58 +0000 (17:33 +0200)]
remove soft80_bordercolor override

9 years agosplit regular color.s into color.s and bordercolor.s
mrdudz [Wed, 14 Oct 2015 15:25:35 +0000 (17:25 +0200)]
split regular color.s into color.s and bordercolor.s

9 years agoupdate conio test
mrdudz [Wed, 14 Oct 2015 15:24:42 +0000 (17:24 +0200)]
update conio test

9 years agouse 'soft80_internal_cellcolor' for the current cell color, and CHARCOLOR for the...
mrdudz [Wed, 14 Oct 2015 15:24:16 +0000 (17:24 +0200)]
use 'soft80_internal_cellcolor' for the current cell color, and CHARCOLOR for the actual textcolor

9 years agoAccording to the contributor the VGA data is accessed only by the constructor.
Oliver Schmidt [Wed, 14 Oct 2015 09:50:54 +0000 (11:50 +0200)]
According to the contributor the VGA data is accessed only by the constructor.

9 years agoMerge pull request #215 from greg-king5/c64-init
Oliver Schmidt [Wed, 14 Oct 2015 08:43:11 +0000 (10:43 +0200)]
Merge pull request #215 from greg-king5/c64-init

Save space by using the apple2 target's INIT overlay scheme on the c64 target.

9 years agoupdated conio test
mrdudz [Tue, 13 Oct 2015 02:14:23 +0000 (04:14 +0200)]
updated conio test

9 years agoanother size optimization, make bgcolor() much more robust
mrdudz [Tue, 13 Oct 2015 02:14:04 +0000 (04:14 +0200)]
another size optimization, make bgcolor() much more robust

9 years agomove some stuff to init segment, saves roughly 1480 bytes :)
mrdudz [Mon, 12 Oct 2015 21:39:47 +0000 (23:39 +0200)]
move some stuff to init segment, saves roughly 1480 bytes :)

9 years agoremove chline/cvline dupes
mrdudz [Mon, 12 Oct 2015 19:23:27 +0000 (21:23 +0200)]
remove chline/cvline dupes

9 years agoMerge remote-tracking branch 'upstream/master' into soft80
mrdudz [Mon, 12 Oct 2015 19:13:32 +0000 (21:13 +0200)]
Merge remote-tracking branch 'upstream/master' into soft80

9 years agoAllow to override chars used for horizontal and vertical lines.
Oliver Schmidt [Mon, 12 Oct 2015 19:04:06 +0000 (21:04 +0200)]
Allow to override chars used for horizontal and vertical lines.

9 years agoexport mouse driver related symbols
mrdudz [Mon, 12 Oct 2015 19:02:48 +0000 (21:02 +0200)]
export mouse driver related symbols

9 years agoincrease conio constructor priority
mrdudz [Mon, 12 Oct 2015 18:46:53 +0000 (20:46 +0200)]
increase conio constructor priority

9 years agoMerge remote-tracking branch 'upstream/master' into soft80
mrdudz [Mon, 12 Oct 2015 18:43:19 +0000 (20:43 +0200)]
Merge remote-tracking branch 'upstream/master' into soft80

9 years agostyle issues
mrdudz [Mon, 12 Oct 2015 18:38:06 +0000 (20:38 +0200)]
style issues

9 years agoAllow to override mouse sprite location data.
Oliver Schmidt [Mon, 12 Oct 2015 18:18:13 +0000 (20:18 +0200)]
Allow to override mouse sprite location data.

9 years agosome renaming, preparing plot table names
mrdudz [Mon, 12 Oct 2015 17:57:33 +0000 (19:57 +0200)]
some renaming, preparing plot table names

9 years agoinverted result for checkchar, saving some bytes and cycles
mrdudz [Mon, 12 Oct 2015 17:03:50 +0000 (19:03 +0200)]
inverted result for checkchar, saving some bytes and cycles

9 years agooptimize charcode conversion, shorter and faster now :)
mrdudz [Mon, 12 Oct 2015 16:53:55 +0000 (18:53 +0200)]
optimize charcode conversion, shorter and faster now :)

9 years agoremove some commented out code
mrdudz [Mon, 12 Oct 2015 16:09:50 +0000 (18:09 +0200)]
remove some commented out code

9 years agosome code shuffling to get rid of long branches
mrdudz [Mon, 12 Oct 2015 16:01:48 +0000 (18:01 +0200)]
some code shuffling to get rid of long branches

9 years agosize optimization
mrdudz [Mon, 12 Oct 2015 15:12:44 +0000 (17:12 +0200)]
size optimization

9 years agocheck for space bottom up, which is faster for the average case
mrdudz [Mon, 12 Oct 2015 14:15:40 +0000 (16:15 +0200)]
check for space bottom up, which is faster for the average case

9 years agofix some style issues
mrdudz [Mon, 12 Oct 2015 13:54:08 +0000 (15:54 +0200)]
fix some style issues

9 years agomaintain lsb of cursor x position internally, saves some bytes and some cycles too :)
mrdudz [Mon, 12 Oct 2015 13:44:41 +0000 (15:44 +0200)]
maintain lsb of cursor x position internally, saves some bytes and some cycles too :)

9 years agomoved bordercolor function into a seperate file
mrdudz [Mon, 12 Oct 2015 13:18:36 +0000 (15:18 +0200)]
moved bordercolor function into a seperate file

9 years agomove internal text/bgcolor variables into the file that also contains the init code...
mrdudz [Mon, 12 Oct 2015 13:04:55 +0000 (15:04 +0200)]
move internal text/bgcolor variables into the file that also contains the init code for them. also rename them to avoid namespace pollution

9 years agoadded some more comments and -headers
mrdudz [Mon, 12 Oct 2015 12:40:12 +0000 (14:40 +0200)]
added some more comments and -headers

9 years agomove charset to seperate file again, added comments on charset layout
mrdudz [Sun, 11 Oct 2015 15:13:28 +0000 (17:13 +0200)]
move charset to seperate file again, added comments on charset layout

9 years agoprint a space for 0x0a and 0x0d in the char matrix
mrdudz [Sun, 11 Oct 2015 15:07:48 +0000 (17:07 +0200)]
print a space for 0x0a and 0x0d in the char matrix

9 years agoFixed stupid adressing mode bug.
Oliver Schmidt [Sat, 10 Oct 2015 09:15:43 +0000 (11:15 +0200)]
Fixed stupid adressing mode bug.

Thanks Greg for pointing out :-)

9 years agoupdated conio test
mrdudz [Fri, 9 Oct 2015 21:39:55 +0000 (23:39 +0200)]
updated conio test

9 years agorewrote color voodoo
mrdudz [Fri, 9 Oct 2015 21:39:37 +0000 (23:39 +0200)]
rewrote color voodoo

9 years agoMinor style adjustment.
Oliver Schmidt [Fri, 9 Oct 2015 20:18:51 +0000 (22:18 +0200)]
Minor style adjustment.

9 years agoConsistently place constructors (and their exclusive subroutines) in "INIT".
Oliver Schmidt [Fri, 9 Oct 2015 19:44:20 +0000 (21:44 +0200)]
Consistently place constructors (and their exclusive subroutines) in "INIT".

9 years agoKeep low level VIC sprite stuff out of user code.
Oliver Schmidt [Fri, 9 Oct 2015 16:33:35 +0000 (18:33 +0200)]
Keep low level VIC sprite stuff out of user code.

9 years agoExplained why two variables were moved out of the BSS segment. 215/head
Greg King [Fri, 9 Oct 2015 16:00:41 +0000 (12:00 -0400)]
Explained why two variables were moved out of the BSS segment.

9 years agoAccording to the contributor the prio wasn't intentionally set.
Oliver Schmidt [Fri, 9 Oct 2015 11:42:25 +0000 (13:42 +0200)]
According to the contributor the prio wasn't intentionally set.

9 years agouse default prio for the constructor
mrdudz [Fri, 9 Oct 2015 11:40:10 +0000 (13:40 +0200)]
use default prio for the constructor

9 years agosome cleanup/rework
mrdudz [Fri, 9 Oct 2015 11:34:23 +0000 (13:34 +0200)]
some cleanup/rework

9 years agosome more rework, second attempt on fixing the color issues. added ifdefs to disable...
mrdudz [Thu, 8 Oct 2015 18:43:25 +0000 (20:43 +0200)]
some more rework, second attempt on fixing the color issues. added ifdefs to disable the color voodoo alltogether for debugging purposes.

9 years agoReduced c64-overlay.cfg's size by factoring out a different common expression.
Greg King [Thu, 8 Oct 2015 10:11:37 +0000 (06:11 -0400)]
Reduced c64-overlay.cfg's size by factoring out a different common expression.

9 years agoRestored the old C-stack initiation code.
Greg King [Thu, 8 Oct 2015 09:05:48 +0000 (05:05 -0400)]
Restored the old C-stack initiation code.

I had forgotten that the stack must be put below the CBM overlays.

9 years agoReduced the size of the moveinit subroutine.
Greg King [Wed, 7 Oct 2015 18:56:14 +0000 (14:56 -0400)]
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).

9 years agoattempted fix for the color problem noticed by oliver
mrdudz [Tue, 6 Oct 2015 18:18:40 +0000 (20:18 +0200)]
attempted fix for the color problem noticed by oliver