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

6723 Commits

Author SHA1 Message Date
Oliver Schmidt
ced08a1f44 Merge pull request #226 from greg-king5/pce-memset
Add a PC-Engine version of memset().
2015-11-07 11:37:36 +01:00
Greg King
5e36315d05 Style changes. 2015-11-07 00:29:07 -05:00
Greg King
999d57401c Added a version of memset() that uses the HuC6280's TII instruction to get more speed. 2015-11-06 23:59:19 -05:00
Oliver Schmidt
d8174af7fb Merge pull request #225 from greg-king5/pce-memmove
Handle the special case of a zero-length move on the PC Engine.
2015-11-03 10:13:20 +01:00
Greg King
8180ac20d3 Added code to handle the special case of a zero-length move.
Added more tests of memcpy() and memmove().
2015-11-02 17:09:45 -05:00
Oliver Schmidt
281dc33e5a Made addr/size hex consts 4 digits wide. 2015-10-30 17:19:19 +01:00
Oliver Schmidt
202ad62419 Merge pull request #224 from greg-king5/ld65-segstart
Change the way that ld65 handles bad offset/start segment-attributes.
2015-10-24 17:12:49 +02:00
Oliver Schmidt
fdf71df3a1 Merge pull request #223 from greg-king5/pce-memmove
Add PC Engine-specific substitutes for memcpy() and memmove().
2015-10-24 17:10:25 +02:00
Greg King
8e8d112029 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.
2015-10-23 18:02:21 -04:00
Oliver Schmidt
43bda6928d Merge pull request #221 from undisbeliever/master
Added .asize and .isize pseudo variables in ca65
2015-10-23 20:41:28 +02:00
Marcus Rowe
25e0b157be Fixed code style 2015-10-24 01:07:47 +10:00
Greg King
8e9bf4d419 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.
2015-10-22 19:24:08 -04:00
Oliver Schmidt
2cbc8fbd64 Merge pull request #222 from mrdudz/pcedatacopy
use tii instead of copy loop to copy data section to ram
2015-10-22 21:17:50 +02:00
mrdudz
8f8f12ceab use tii instead of copy loop to copy data section to ram 2015-10-22 19:48:21 +02:00
Oliver Schmidt
a957f80204 Merge pull request #213 from mrdudz/soft80
soft80 implementation for C-64
2015-10-22 17:56:21 +02:00
mrdudz
ba901d2de7 removed apple2 specific note 2015-10-22 17:33:01 +02:00
Marcus Rowe
67cd0c2197 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
2015-10-20 09:30:25 +10:00
mrdudz
07a77d1259 updated docs 2015-10-19 03:12:19 +02:00
mrdudz
60334c40e6 added size optimized monochrom soft80 driver 2015-10-19 02:49:32 +02:00
mrdudz
d6d016bb80 updated comments 2015-10-19 02:47:40 +02:00
mrdudz
5099910b18 updated docs 2015-10-18 23:57:58 +02:00
Oliver Schmidt
f4335eca87 Merge pull request #220 from greg-king5/holes
Fix a samples/sieve.s typo.
2015-10-17 21:37:41 +02:00
Greg King
f94945308f Added missing parentheses.
A function call had looked like a function pointer (which caused an incompatible comparison).
2015-10-17 12:09:06 -04:00
mrdudz
8263083506 move variables into INITBSS 2015-10-15 15:11:05 +02:00
mrdudz
63d4c93006 Merge remote-tracking branch 'upstream/master' into soft80 2015-10-15 15:07:44 +02:00
Oliver Schmidt
76a5a72403 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.
2015-10-15 00:15:38 +02:00
Oliver Schmidt
0ee9b2e446 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.
2015-10-14 22:52:09 +02:00
mrdudz
b9c688d997 remove deleted function from comment 2015-10-14 17:52:14 +02:00
mrdudz
e6f5c7d8da some comments 2015-10-14 17:50:44 +02:00
mrdudz
795a1a1b87 fix bordercolor in test 2015-10-14 17:34:29 +02:00
mrdudz
f391c1c3d5 remove soft80_bordercolor override 2015-10-14 17:33:58 +02:00
mrdudz
59dd15aa55 split regular color.s into color.s and bordercolor.s 2015-10-14 17:25:35 +02:00
mrdudz
d4f88c8f71 update conio test 2015-10-14 17:24:42 +02:00
mrdudz
c708031374 use 'soft80_internal_cellcolor' for the current cell color, and CHARCOLOR for the actual textcolor 2015-10-14 17:24:16 +02:00
Oliver Schmidt
023b461bb8 According to the contributor the VGA data is accessed only by the constructor. 2015-10-14 11:50:54 +02:00
Oliver Schmidt
8f67dd5cc7 Merge pull request #215 from greg-king5/c64-init
Save space by using the apple2 target's INIT overlay scheme on the c64 target.
2015-10-14 10:43:11 +02:00
mrdudz
ffda2a3603 updated conio test 2015-10-13 04:14:23 +02:00
mrdudz
08d7eefdd7 another size optimization, make bgcolor() much more robust 2015-10-13 04:14:04 +02:00
mrdudz
f462c173fb move some stuff to init segment, saves roughly 1480 bytes :) 2015-10-12 23:39:47 +02:00
mrdudz
362a172477 remove chline/cvline dupes 2015-10-12 21:23:27 +02:00
mrdudz
f876ff4c09 Merge remote-tracking branch 'upstream/master' into soft80 2015-10-12 21:13:32 +02:00
Oliver Schmidt
5e960d106e Allow to override chars used for horizontal and vertical lines. 2015-10-12 21:04:06 +02:00
mrdudz
d6f48629ad export mouse driver related symbols 2015-10-12 21:02:48 +02:00
mrdudz
5840d1c08c increase conio constructor priority 2015-10-12 20:46:53 +02:00
mrdudz
df3549f502 Merge remote-tracking branch 'upstream/master' into soft80 2015-10-12 20:43:19 +02:00
mrdudz
57a43b6735 style issues 2015-10-12 20:38:06 +02:00
Oliver Schmidt
08efc299ff Allow to override mouse sprite location data. 2015-10-12 20:18:13 +02:00
mrdudz
e9f0b7943e some renaming, preparing plot table names 2015-10-12 19:57:33 +02:00
mrdudz
bf3ea5328f inverted result for checkchar, saving some bytes and cycles 2015-10-12 19:03:50 +02:00
mrdudz
4557e8d004 optimize charcode conversion, shorter and faster now :) 2015-10-12 18:53:55 +02:00