1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00
Commit Graph

6682 Commits

Author SHA1 Message Date
mrdudz
c636675521 moved cart header into seperate file, moved nmi stub into several file, tweaked linker config 2015-11-29 16:01:36 +01:00
mrdudz
1893e24da9 updated 2015-11-29 01:24:01 +01:00
mrdudz
9fbf8a4299 conio and most other stuff working now 2015-11-29 01:14:59 +01:00
mrdudz
88e7b5776a some more fiddling 2015-11-22 19:02:47 +01:00
mrdudz
60285097e3 initial import of the gamate stuff 2015-11-14 13:15:29 +01:00
Oliver Schmidt
b6f429f934 Merge pull request #229 from greg-king5/nes-registers
Update the <nes.h> include file.
2015-11-12 13:20:45 +01:00
Greg King
c5d624c941 Added C declarations of the NES's I/O registers to <nes.h>. 2015-11-12 05:40:47 -05:00
Oliver Schmidt
f70acd9f51 Merge pull request #227 from mrdudz/soft80syms
remove unneeded exports
2015-11-07 13:37:46 +01:00
mrdudz
54de8ac031 remove unneeded exports 2015-11-07 11:45:38 +01:00
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