]> git.sur5r.net Git - cc65/log
cc65
8 years agoFixed code style 221/head
Marcus Rowe [Fri, 23 Oct 2015 15:07:47 +0000 (01:07 +1000)]
Fixed code style

8 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

8 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.

8 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).

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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 :-)

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

8 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".

8 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.

8 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.

8 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.

8 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.

8 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.

8 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).

8 years agoFixed bogus formatting of recent contribution.
Oliver Schmidt [Mon, 5 Oct 2015 14:28:16 +0000 (16:28 +0200)]
Fixed bogus formatting of recent contribution.

I wasn't in the mood for discussion ;-)

8 years agoMerge pull request #217 from clbr/master
Oliver Schmidt [Mon, 5 Oct 2015 14:24:53 +0000 (16:24 +0200)]
Merge pull request #217 from clbr/master

Some nes documentation updates, joypad defines

8 years agones: Expose and document all joypad keys 217/head
Lauri Kasanen [Mon, 5 Oct 2015 14:19:36 +0000 (17:19 +0300)]
nes: Expose and document all joypad keys

8 years agones: Document whether waitvblank waits for the start or end of vblank
Lauri Kasanen [Mon, 5 Oct 2015 14:18:53 +0000 (17:18 +0300)]
nes: Document whether waitvblank waits for the start or end of vblank

8 years agoAdapted, to the c64 target, the INIT-segment overlay scheme from the apple2 targets.
Greg King [Mon, 5 Oct 2015 09:47:43 +0000 (05:47 -0400)]
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.

8 years agoMerge pull request #214 from greg-king5/cbm-exec
Oliver Schmidt [Wed, 30 Sep 2015 18:52:31 +0000 (20:52 +0200)]
Merge pull request #214 from greg-king5/cbm-exec

Make the CBM exec() work in gigantic programs.

8 years agoMade the Commodore version of exec() work in programs that are so big that they load... 214/head
Greg King [Mon, 28 Sep 2015 15:27:39 +0000 (11:27 -0400)]
Made the Commodore version of exec() work in programs that are so big that they load into all of BASIC RAM.

The function won't cause an "out of memory" error.

8 years agoMerge pull request #211 from greg-king5/errno-helpers
Oliver Schmidt [Fri, 25 Sep 2015 20:13:11 +0000 (22:13 +0200)]
Merge pull request #211 from greg-king5/errno-helpers

Move errno helper functions into separately linkable files.

8 years agoMoved two errno helper functions into separate files. 211/head
Greg King [Fri, 25 Sep 2015 18:06:58 +0000 (14:06 -0400)]
Moved two errno helper functions into separate files.

Only the function that actually is needed will be linked.  It is very useful for targets that do not have file-system I/O.

8 years agoMerge pull request #210 from greg-king5/archiver
Oliver Schmidt [Fri, 25 Sep 2015 14:21:47 +0000 (16:21 +0200)]
Merge pull request #210 from greg-king5/archiver

Make an ar65 warning show both object files' names.

8 years agoFixed a warning message. 210/head
Greg King [Fri, 25 Sep 2015 06:31:17 +0000 (02:31 -0400)]
Fixed a warning message.

8 years agoUpdate README.md
Oliver Schmidt [Thu, 24 Sep 2015 08:16:46 +0000 (10:16 +0200)]
Update README.md

8 years agoUpdate README.md
Oliver Schmidt [Thu, 24 Sep 2015 08:14:30 +0000 (10:14 +0200)]
Update README.md

8 years agoUse title case.
Oliver Schmidt [Thu, 24 Sep 2015 08:06:24 +0000 (10:06 +0200)]
Use title case.

8 years agoMerge pull request #177 from mrdudz/pcenginetarget
Oliver Schmidt [Thu, 24 Sep 2015 07:58:28 +0000 (09:58 +0200)]
Merge pull request #177 from mrdudz/pcenginetarget

new target: PC Engine (TurboGrafx16)

8 years agouse 'plot' instead of 'PLOT' 177/head
mrdudz [Sun, 20 Sep 2015 10:18:41 +0000 (12:18 +0200)]
use 'plot' instead of 'PLOT'

8 years agoadded interruptor support
mrdudz [Sat, 19 Sep 2015 13:55:43 +0000 (15:55 +0200)]
added interruptor support

8 years agofixed more flaws found by greg :)
mrdudz [Sat, 19 Sep 2015 13:37:39 +0000 (15:37 +0200)]
fixed more flaws found by greg :)

8 years agoMerge pull request #208 from greg-king5/big-jump
Oliver Schmidt [Fri, 11 Sep 2015 19:06:50 +0000 (21:06 +0200)]
Merge pull request #208 from greg-king5/big-jump

Improve the longjmp() and setjmp() functions.

8 years agoMerge pull request #207 from greg-king5/random-seed
Oliver Schmidt [Fri, 11 Sep 2015 19:02:40 +0000 (21:02 +0200)]
Merge pull request #207 from greg-king5/random-seed

Fix the CBM random-seed generators.

8 years agoImproved longjmp() and setjmp(). 208/head
Greg King [Fri, 11 Sep 2015 18:18:22 +0000 (14:18 -0400)]
Improved longjmp() and setjmp().

8 years agoFixed the random-seed generators for the Commodore targets. 207/head
Greg King [Fri, 11 Sep 2015 14:03:07 +0000 (10:03 -0400)]
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.

8 years agofixed VDC register assignments
mrdudz [Mon, 7 Sep 2015 10:55:36 +0000 (12:55 +0200)]
fixed VDC register assignments

8 years agoMerge pull request #205 from greg-king5/typo
Oliver Schmidt [Sun, 6 Sep 2015 19:35:32 +0000 (21:35 +0200)]
Merge pull request #205 from greg-king5/typo

Fix " til " typos.

8 years agoFixed the " til " typos. 205/head
Greg King [Sun, 6 Sep 2015 16:23:58 +0000 (12:23 -0400)]
Fixed the " til " typos.

8 years agofix gregs complaints :)
mrdudz [Fri, 4 Sep 2015 12:14:17 +0000 (14:14 +0200)]
fix gregs complaints :)

8 years agoMerge remote-tracking branch 'upstream/master' into pcenginetarget
mrdudz [Fri, 4 Sep 2015 11:40:52 +0000 (13:40 +0200)]
Merge remote-tracking branch 'upstream/master' into pcenginetarget

8 years agoupdated
mrdudz [Fri, 4 Sep 2015 11:38:17 +0000 (13:38 +0200)]
updated

8 years agofixed style issues
mrdudz [Thu, 3 Sep 2015 11:09:18 +0000 (13:09 +0200)]
fixed style issues

8 years agoMerge pull request #203 from greg-king5/multi-comments
Oliver Schmidt [Mon, 31 Aug 2015 15:36:02 +0000 (17:36 +0200)]
Merge pull request #203 from greg-king5/multi-comments

Change multi-line C comments in files that were missed by a previous pull request.

8 years agoMerge pull request #202 from greg-king5/argv-null
Oliver Schmidt [Mon, 31 Aug 2015 15:34:28 +0000 (17:34 +0200)]
Merge pull request #202 from greg-king5/argv-null

Fix the preparation of tool command lines.

8 years agoChanged multi-line C comments in files that I missed in commit 0390c34e88e9512b81ce35... 203/head
Greg King [Sun, 30 Aug 2015 12:43:54 +0000 (08:43 -0400)]
Changed multi-line C comments in files that I missed in commit 0390c34e88e9512b81ce35a9ba36d137d1c80c44.

8 years agoDon't count the NULL (doh!). 202/head
Greg King [Sun, 30 Aug 2015 11:55:07 +0000 (07:55 -0400)]
Don't count the NULL (doh!).

8 years agoFixed a comparison operator; so that the NULL at the end of argv[] is copied by InitC...
Greg King [Sun, 30 Aug 2015 09:16:38 +0000 (05:16 -0400)]
Fixed a comparison operator; so that the NULL at the end of argv[] is copied by InitCmdLine().

Most POSIX function libraries hid that long-time bug by putting zeroes in their dynamic RAM; but, MinGW's library doesn't do it.  Therefore, a command like
cl65 foo.c -l
would crash with a "Segmentation fault" -- it should give a nice error message about "-l"; and, quit neatly.

8 years agostyle fixes
mrdudz [Sat, 29 Aug 2015 13:58:57 +0000 (15:58 +0200)]
style fixes

8 years agoMerge pull request #199 from greg-king5/irq
Oliver Schmidt [Thu, 27 Aug 2015 09:35:48 +0000 (11:35 +0200)]
Merge pull request #199 from greg-king5/irq

Fix source-code bugs that cause linking problems when set_irq() is used in a program.

8 years agoFixed bugs in the interface for C-level interrupt handlers. 199/head
Greg King [Wed, 26 Aug 2015 23:29:39 +0000 (19:29 -0400)]
Fixed bugs in the interface for C-level interrupt handlers.

* Added an important ".code" directive.

* Import a linker-created zero-page symbol as an absolute address; then, convert it to zero-page when it is used.

Fixes bug report #198.

8 years agoDon't show (potentially failing) pull request builds.
Oliver Schmidt [Tue, 25 Aug 2015 11:57:21 +0000 (13:57 +0200)]
Don't show (potentially failing) pull request builds.

8 years agoMerge pull request #197 from greg-king5/static
Oliver Schmidt [Sat, 15 Aug 2015 04:53:40 +0000 (06:53 +0200)]
Merge pull request #197 from greg-king5/static

Handle almost-duplicate C declarations that have different linkages.

8 years agoMerge pull request #196 from greg-king5/tests
Oliver Schmidt [Fri, 14 Aug 2015 07:04:20 +0000 (09:04 +0200)]
Merge pull request #196 from greg-king5/tests

Remove pointless rules from a regression test makefile.

8 years agoRemoved redundant attempts to build uncompilable files. 196/head
Greg King [Thu, 13 Aug 2015 21:25:52 +0000 (17:25 -0400)]
Removed redundant attempts to build uncompilable files.

8 years agoAdded regression tests of diagnostics for conflicts between extern/public and static... 197/head
Greg King [Thu, 13 Aug 2015 07:39:35 +0000 (03:39 -0400)]
Added regression tests of diagnostics for conflicts between extern/public and static declarations.

8 years agoAdded warning diagnostics for conflicts between extern/public and static declarations.
Greg King [Mon, 10 Aug 2015 17:39:17 +0000 (13:39 -0400)]
Added warning diagnostics for conflicts between extern/public and static declarations.

8 years agoStopped extern declarations from changing previous static, but otherwise identical...
Greg King [Sun, 9 Aug 2015 10:27:05 +0000 (06:27 -0400)]
Stopped extern declarations from changing previous static, but otherwise identical, declarations.

8 years agoImproved the format of the global symbols' lists of flags, in cc65's debugging output.
Greg King [Sun, 9 Aug 2015 02:04:38 +0000 (22:04 -0400)]
Improved the format of the global symbols' lists of flags, in cc65's debugging output.

8 years agoMerge pull request #190 from greg-king5/zeropage-doc
Oliver Schmidt [Sat, 1 Aug 2015 11:28:42 +0000 (13:28 +0200)]
Merge pull request #190 from greg-king5/zeropage-doc

Fix an obsolete description of ca65's .ZEROPAGE directive.

8 years agoFixed the syntax in the shortcut expansion of ".ZEROPAGE". 190/head
Greg King [Sat, 1 Aug 2015 09:50:13 +0000 (05:50 -0400)]
Fixed the syntax in the shortcut expansion of ".ZEROPAGE".

Added a reference from ".SEGMENT" to ".ZEROPAGE".

8 years agoMerge pull request #188 from greg-king5/docs
Oliver Schmidt [Wed, 29 Jul 2015 12:48:38 +0000 (14:48 +0200)]
Merge pull request #188 from greg-king5/docs

65816 assembler document fix.

8 years agoRemoved obsolete lines from a list of 65816 mnemonic aliases. 188/head
Greg King [Wed, 29 Jul 2015 10:55:50 +0000 (06:55 -0400)]
Removed obsolete lines from a list of 65816 mnemonic aliases.

Described what the macroes in macro package "generic" do.

8 years agoMerge pull request #183 from Movax12/linecont-bug
Oliver Schmidt [Sat, 25 Jul 2015 15:52:49 +0000 (17:52 +0200)]
Merge pull request #183 from Movax12/linecont-bug

Fix bug #182

8 years agoMerge pull request #184 from greg-king5/fastcall
Oliver Schmidt [Thu, 23 Jul 2015 15:11:49 +0000 (17:11 +0200)]
Merge pull request #184 from greg-king5/fastcall

Update some fastcall info.

8 years agoUpdated the fastcall information in a document and two Assembly files. 184/head
Greg King [Wed, 22 Jul 2015 16:56:34 +0000 (12:56 -0400)]
Updated the fastcall information in a document and two Assembly files.

8 years agoAdded empty IRQ backend.
Oliver Schmidt [Wed, 22 Jul 2015 09:36:39 +0000 (11:36 +0200)]
Added empty IRQ backend.

The driver kernels all require IRQ handling even if the actual drivers don't make use of it. So in order to successfully link a NES program using the joystick and/or TGI driver there has to be at least a "dummy" IRQ backend.

8 years agoStyle again 183/head
JT [Mon, 20 Jul 2015 23:16:48 +0000 (19:16 -0400)]
Style again

8 years agoFix style
JT [Mon, 20 Jul 2015 23:12:30 +0000 (19:12 -0400)]
Fix style

8 years agoFix bug #182
JT [Mon, 20 Jul 2015 22:55:25 +0000 (18:55 -0400)]
Fix bug #182

8 years agoMerge remote-tracking branch 'upstream/master' into pcenginetarget
mrdudz [Mon, 20 Jul 2015 16:42:04 +0000 (18:42 +0200)]
Merge remote-tracking branch 'upstream/master' into pcenginetarget

8 years agoMerge pull request #181 from Movax12/base10bug
Oliver Schmidt [Mon, 20 Jul 2015 16:05:23 +0000 (18:05 +0200)]
Merge pull request #181 from Movax12/base10bug

Fix base 10 bug (ca65 allows 'a' or 'A' in base10 value)

8 years agoMerge pull request #180 from greg-king5/sprintf
Oliver Schmidt [Mon, 20 Jul 2015 16:02:14 +0000 (18:02 +0200)]
Merge pull request #180 from greg-king5/sprintf

Make the sprintf() family of functions handle special argument conditions.

8 years agoMerge pull request #179 from greg-king5/overlay
Oliver Schmidt [Mon, 20 Jul 2015 16:00:56 +0000 (18:00 +0200)]
Merge pull request #179 from greg-king5/overlay

Add overlay-samples make-rules.

8 years agofixed hello.c for pce
mrdudz [Mon, 20 Jul 2015 14:03:03 +0000 (16:03 +0200)]
fixed hello.c for pce

8 years agoMerge remote-tracking branch 'upstream/master' into pcenginetarget
mrdudz [Mon, 20 Jul 2015 13:59:05 +0000 (15:59 +0200)]
Merge remote-tracking branch 'upstream/master' into pcenginetarget

8 years agoMade hello program compatible with joystick-only target(s).
Oliver Schmidt [Mon, 20 Jul 2015 05:46:18 +0000 (07:46 +0200)]
Made hello program compatible with joystick-only target(s).

8 years agoFix base 10 bug (ca65 allows 'a' or 'A' in base10 value) 181/head
JT [Sun, 19 Jul 2015 22:56:42 +0000 (18:56 -0400)]
Fix base 10 bug (ca65 allows 'a' or 'A' in base10 value)

8 years agoadded missing chline, cvline
mrdudz [Sun, 19 Jul 2015 16:06:16 +0000 (18:06 +0200)]
added missing chline, cvline

8 years agofixed hline/vline
mrdudz [Sun, 19 Jul 2015 11:36:27 +0000 (13:36 +0200)]
fixed hline/vline

8 years agoAdded _directerrno() to the sim6502/sim65c02 libraries. 180/head
Greg King [Sat, 18 Jul 2015 22:23:08 +0000 (18:23 -0400)]
Added _directerrno() to the sim6502/sim65c02 libraries.

8 years agoFixed a hardware-stack leak.
Greg King [Sat, 18 Jul 2015 00:36:56 +0000 (20:36 -0400)]
Fixed a hardware-stack leak.

8 years agoAdded a test program for the special features of snprintf().
Greg King [Sat, 18 Jul 2015 00:33:17 +0000 (20:33 -0400)]
Added a test program for the special features of snprintf().

8 years agomoved all notes into regular documentation
mrdudz [Thu, 16 Jul 2015 19:39:13 +0000 (21:39 +0200)]
moved all notes into regular documentation

8 years agoAdded make rules that build the overlay sample programs. 179/head
Greg King [Thu, 16 Jul 2015 19:31:35 +0000 (15:31 -0400)]
Added make rules that build the overlay sample programs.

Fixes half of bug issue 178 (on GitHub).

8 years agofixed joypad bits
mrdudz [Thu, 16 Jul 2015 18:15:05 +0000 (20:15 +0200)]
fixed joypad bits

8 years agoadded some cbm-like gfx chars to draw lines and boxes
mrdudz [Thu, 16 Jul 2015 15:33:00 +0000 (17:33 +0200)]
added some cbm-like gfx chars to draw lines and boxes

8 years agomake sure clocktick starts at zero
mrdudz [Thu, 16 Jul 2015 14:54:40 +0000 (16:54 +0200)]
make sure clocktick starts at zero

8 years agoMerge remote-tracking branch 'upstream/master' into pcenginetarget
mrdudz [Thu, 16 Jul 2015 14:46:24 +0000 (16:46 +0200)]
Merge remote-tracking branch 'upstream/master' into pcenginetarget

8 years agoMerge branch 'mrdudz-pointer'
Oliver Schmidt [Thu, 16 Jul 2015 14:05:50 +0000 (16:05 +0200)]
Merge branch 'mrdudz-pointer'

8 years agofixed screensize, timertick, revers mode
mrdudz [Thu, 16 Jul 2015 14:00:32 +0000 (16:00 +0200)]
fixed screensize, timertick, revers mode

8 years agoadded waitvblank and fixed get_tv
mrdudz [Wed, 15 Jul 2015 17:46:26 +0000 (19:46 +0200)]
added waitvblank and fixed get_tv

8 years agofixed issues found by gregg
mrdudz [Wed, 15 Jul 2015 11:18:12 +0000 (13:18 +0200)]
fixed issues found by gregg

8 years agoMerge branch 'pointer' of https://github.com/mrdudz/cc65 into mrdudz-pointer
Oliver Schmidt [Wed, 15 Jul 2015 10:04:06 +0000 (12:04 +0200)]
Merge branch 'pointer' of https://github.com/mrdudz/cc65 into mrdudz-pointer

8 years ago_tickcount -> tickcount
mrdudz [Tue, 14 Jul 2015 17:55:41 +0000 (19:55 +0200)]
_tickcount -> tickcount