]> git.sur5r.net Git - cc65/log
cc65
8 years agoUpdated the function reference document. 308/head
Greg King [Thu, 9 Jun 2016 01:05:00 +0000 (21:05 -0400)]
Updated the function reference document.

* Added doesclrscrafterexit() to cc65.h's list.
* Added header-file function lists for some new target platforms.

8 years agoMerge pull request #307 from groessler/something_to_pull2
Oliver Schmidt [Tue, 7 Jun 2016 13:13:28 +0000 (15:13 +0200)]
Merge pull request #307 from groessler/something_to_pull2

Add Atari version of of doesclrscrafterexit().

8 years agoUse 'return0' for default 'doesclrscrafterexit()' implementation in libsrc/common. 307/head
Christian Groessler [Tue, 7 Jun 2016 13:05:00 +0000 (15:05 +0200)]
Use 'return0' for default 'doesclrscrafterexit()' implementation in libsrc/common.
Fix include/atari.h formatting.

8 years agofix wrong header reference in doesclrscrafterexit() description
Christian Groessler [Tue, 7 Jun 2016 10:22:25 +0000 (12:22 +0200)]
fix wrong header reference in doesclrscrafterexit() description

8 years agoAdd issues from pull request #307.
Christian Groessler [Tue, 7 Jun 2016 10:05:28 +0000 (12:05 +0200)]
Add issues from pull request #307.

8 years agoMerge pull request #306 from groessler/something_to_pull
Oliver Schmidt [Tue, 7 Jun 2016 08:21:59 +0000 (10:21 +0200)]
Merge pull request #306 from groessler/something_to_pull

Some Atari runtime library fixes.

8 years agoAdd Atari version of of doesclrscrafterexit().
Christian Groessler [Mon, 6 Jun 2016 22:42:51 +0000 (00:42 +0200)]
Add Atari version of of doesclrscrafterexit().

- Update documentation.
- Update atari.h and apple2.h header files.
- Adapt Atari test/target programs.
- Fix a typo in "div" entry in funcref.sgml.

8 years agoSome Atari runtime library fixes. 306/head
Christian Groessler [Mon, 6 Jun 2016 20:45:20 +0000 (22:45 +0200)]
Some Atari runtime library fixes.

* libsrc/atari/ucase_fn.s: Fix handling if input parameter 'tmp2' is 0.
* libsrc/atari/open.s: Set 'tmp2' parameter for 'ucase_fn' if DEFAULT_DEVICE
  is not defined.

8 years agoIntroduced internal gotoxy that pops both parameters.
Oliver Schmidt [Sun, 5 Jun 2016 12:58:38 +0000 (14:58 +0200)]
Introduced internal gotoxy that pops both parameters.

About all CONIO functions offering a <...>xy variant call
  popa
  _gotoxy

By providing an internal gotoxy variant that starts with a popa all those CONIO function can be shortened by 3 bytes. As soon as program calls more than one CONIO function this means an overall code size reduction.

8 years agoAdded Apple II version of doesclrscrafterexit().
Oliver Schmidt [Sun, 5 Jun 2016 11:00:37 +0000 (13:00 +0200)]
Added Apple II version of doesclrscrafterexit().

The prototype and documentation is supposed to be provided together with the ATARI version.

8 years agoAdded full stop.
Oliver Schmidt [Fri, 3 Jun 2016 19:21:22 +0000 (21:21 +0200)]
Added full stop.

8 years agoAdded chrcvt65 to the Visual Studio project.
Oliver Schmidt [Fri, 3 Jun 2016 09:37:15 +0000 (11:37 +0200)]
Added chrcvt65 to the Visual Studio project.

8 years agoAdded --print-target-path option.
Oliver Schmidt [Fri, 3 Jun 2016 09:08:53 +0000 (11:08 +0200)]
Added --print-target-path option.

If cc65 is installed and used as designed there's no need whatsoever for CC65_HOME (both on *IX and Windows) from the perspective of the cc65 binaries. If the user however has to access files from the 'target' directory thenhe ends up with some assumption on the cc65 installation path nevertheless :-(

In order to avoid this I added the --print-target-path option. It "exports" the logic used by the cc65 binaries to locate their files to the user thus allowing him to leverage the same logic to locate the target files in his build scripts / Makefiles.

8 years agoWrite overlays to d64 image.
Oliver Schmidt [Thu, 2 Jun 2016 18:49:10 +0000 (20:49 +0200)]
Write overlays to d64 image.

8 years agoHarmonized goal name.
Oliver Schmidt [Wed, 1 Jun 2016 21:51:43 +0000 (23:51 +0200)]
Harmonized goal name.

8 years agoAllow usage of C1541 environment variable.
Oliver Schmidt [Wed, 1 Jun 2016 21:48:09 +0000 (23:48 +0200)]
Allow usage of C1541 environment variable.

8 years agoRemoved shell for-loop.
Oliver Schmidt [Wed, 1 Jun 2016 21:45:27 +0000 (23:45 +0200)]
Removed shell for-loop.

Just a few of the many reasons why shell for-loops have no place in (GNUmake) Makefiles:
* They don't conform to https://www.gnu.org/software/make/manual/html_node/Utilities-in-Makefiles.html
* They break Windows builds for sure
* They don't fit to make's approach of working with sets
* They break make parallelism

8 years agoDon't cleanup files "just in case".
Oliver Schmidt [Wed, 1 Jun 2016 21:04:46 +0000 (23:04 +0200)]
Don't cleanup files "just in case".

The build doesn't create *.lbl files so we're not deleting *.lbl files.

8 years agoDon't hide build commands.
Oliver Schmidt [Wed, 1 Jun 2016 21:00:37 +0000 (23:00 +0200)]
Don't hide build commands.

The samples Makefile serves educational purposes. From that perspective it's counterproductive to hide the actual build commands. Apart fom that it becomes visible if an installed cc65 is used to build the samples.

8 years agoCorrected cleanup semantics.
Oliver Schmidt [Wed, 1 Jun 2016 20:50:42 +0000 (22:50 +0200)]
Corrected cleanup semantics.

There's no zap goal in cc65 Makefiles.

8 years agoDon't ignore more than necessary.
Oliver Schmidt [Wed, 1 Jun 2016 20:36:38 +0000 (22:36 +0200)]
Don't ignore more than necessary.

We know that the one and only cc65.zip we want to ignore lives in the root directory.

8 years agoFixed clean goal on Windows.
Oliver Schmidt [Wed, 1 Jun 2016 20:14:30 +0000 (22:14 +0200)]
Fixed clean goal on Windows.

Now that the clean goal of the samples Makefile is part of the global clean goal it should work on Windows!

BTW: Ideally the whole samples Makefile should work on Windows ;-))

8 years agoAdjusted to the cc65 Makefile style.
Oliver Schmidt [Wed, 1 Jun 2016 19:08:47 +0000 (21:08 +0200)]
Adjusted to the cc65 Makefile style.

The cc65 Makefiles have a single .PHONY target. It serves as an overview of the "interesting" goals supported by the Makfile.

8 years agoRemoved tab characters.
Oliver Schmidt [Wed, 1 Jun 2016 18:59:33 +0000 (20:59 +0200)]
Removed tab characters.

The cc65 code base uses tab character only for make recipes.

8 years agoDon'r presume that the C64 is the only target.
Oliver Schmidt [Wed, 1 Jun 2016 17:46:02 +0000 (19:46 +0200)]
Don'r presume that the C64 is the only target.

Other targets have disks too and if at some point some one is interested enough to add support for disk creation for other targets too then 'disk' is no good goal name for a C64 disk.

8 years agoDon't fiddle with foreign files.
Oliver Schmidt [Wed, 1 Jun 2016 17:41:51 +0000 (19:41 +0200)]
Don't fiddle with foreign files.

No cc65 tool creates *~ files so we don't cleanup *~ files. If some other tool (like an editor) creates *~ files it's up to the user - and only him - to decide when those files are to be deleted !

8 years agoMerge pull request #305 from silverdr/target_goodies
Oliver Schmidt [Wed, 1 Jun 2016 14:44:57 +0000 (16:44 +0200)]
Merge pull request #305 from silverdr/target_goodies

corrected samples and samples.d64 targets

8 years agocorrected all samples and samples.d64 targets 305/head
Patrycjusz R. Łogiewa [Wed, 1 Jun 2016 14:37:05 +0000 (16:37 +0200)]
corrected all samples and samples.d64 targets

8 years agoMerge pull request #287 from silverdr/target_goodies
Oliver Schmidt [Wed, 1 Jun 2016 09:01:56 +0000 (11:01 +0200)]
Merge pull request #287 from silverdr/target_goodies

moved output of target utils and drivers to separate directory

8 years agoMerge pull request #303 from groessler/something_to_pull
Oliver Schmidt [Tue, 31 May 2016 10:47:11 +0000 (12:47 +0200)]
Merge pull request #303 from groessler/something_to_pull

Atari: get current drive on XDOS

8 years agoAtari, getdefdev.s: use mnemonics for 'crvec'. 303/head
Christian Groessler [Tue, 31 May 2016 10:24:21 +0000 (12:24 +0200)]
Atari, getdefdev.s: use mnemonics for 'crvec'.

8 years agoMerge pull request #304 from groessler/something_to_pull2
Oliver Schmidt [Tue, 31 May 2016 09:45:40 +0000 (11:45 +0200)]
Merge pull request #304 from groessler/something_to_pull2

w2cas: use atexit() to wait for key press at program ternination.

8 years agoUse atexit() to wait for key press at program ternination. 304/head
Christian Groessler [Tue, 31 May 2016 08:38:02 +0000 (10:38 +0200)]
Use atexit() to wait for key press at program ternination.

Idea by polluks.

8 years agoAtari: make __getdefdev function ROM-friendly
Christian Groessler [Tue, 31 May 2016 07:28:53 +0000 (09:28 +0200)]
Atari: make __getdefdev function ROM-friendly

8 years agoAtari: get current drive on XDOS
Christian Groessler [Tue, 31 May 2016 05:37:58 +0000 (07:37 +0200)]
Atari: get current drive on XDOS

8 years agosamples zip and install targets moved into samples/Makefile as agreed 287/head
Patrycjusz R. Łogiewa [Mon, 30 May 2016 15:42:01 +0000 (17:42 +0200)]
samples zip and install targets moved into samples/Makefile as agreed

8 years agoMinor adjustment to recent change.
Oliver Schmidt [Mon, 30 May 2016 12:31:53 +0000 (14:31 +0200)]
Minor adjustment to recent change.

8 years agoMerge pull request #302 from groessler/something_to_pull
Oliver Schmidt [Mon, 30 May 2016 12:29:56 +0000 (14:29 +0200)]
Merge pull request #302 from groessler/something_to_pull

Small optimization in apple2 exec.s.

8 years agoSmall optimization in apple2 exec.s. 302/head
Christian Groessler [Mon, 30 May 2016 12:16:37 +0000 (14:16 +0200)]
Small optimization in apple2 exec.s.

8 years agoIndenting optimised
Patrycjusz R. Łogiewa [Sun, 29 May 2016 14:34:22 +0000 (16:34 +0200)]
Indenting optimised

8 years agoPost-review changes
Patrycjusz R. Łogiewa [Sun, 29 May 2016 14:19:03 +0000 (16:19 +0200)]
Post-review changes

8 years agoMerge pull request #300 from clbr/ld65
Oliver Schmidt [Sat, 28 May 2016 10:02:22 +0000 (12:02 +0200)]
Merge pull request #300 from clbr/ld65

ld65: Be more verbose in token errors

8 years agold65: Be more verbose in token errors 300/head
Lauri Kasanen [Fri, 27 May 2016 17:03:58 +0000 (20:03 +0300)]
ld65: Be more verbose in token errors

8 years agoMerge pull request #297 from groessler/something_to_pull
Oliver Schmidt [Thu, 26 May 2016 21:36:22 +0000 (23:36 +0200)]
Merge pull request #297 from groessler/something_to_pull

Atari: add new function '_is_cmdline_dos()' and some other small changes

8 years agoMerge pull request #294 from greg-king5/standard-functions
Oliver Schmidt [Wed, 25 May 2016 08:36:57 +0000 (10:36 +0200)]
Merge pull request #294 from greg-king5/standard-functions

Make a small optimization to some library functions' inlined versions.

8 years agoMerge pull request #298 from groessler/something_to_pull2
Oliver Schmidt [Wed, 25 May 2016 08:31:41 +0000 (10:31 +0200)]
Merge pull request #298 from groessler/something_to_pull2

make BSS segment optional in atari-cassette.cfg

8 years agomake BSS segment optional in atari-cassette.cfg 298/head
Christian Groessler [Tue, 24 May 2016 23:29:00 +0000 (01:29 +0200)]
make BSS segment optional in atari-cassette.cfg

8 years agoforgot to add the new file atari/is_cmdline_dos.s in my last commit... 297/head
Christian Groessler [Tue, 24 May 2016 23:06:53 +0000 (01:06 +0200)]
forgot to add the new file atari/is_cmdline_dos.s in my last commit...

8 years agoAtari: add new function '_is_cmdline_dos()' and some other small changes.
Christian Groessler [Tue, 24 May 2016 22:51:40 +0000 (00:51 +0200)]
Atari: add new function '_is_cmdline_dos()' and some other small changes.

- use this function instead of directly looking at _dos_type in the included
  targetutil and test programs
- fixes/improvements to the Atari runtime library regarding the recently
  changed _dos_type values
- libsrc/atari/targetutil/w2cas.c: exit if no filename was entered
- add documentation for the new function

8 years agoSmall optimization of some cc65-generated loops. 294/head
Greg King [Tue, 24 May 2016 19:52:12 +0000 (15:52 -0400)]
Small optimization of some cc65-generated loops.

"bne" means also branch-on-not-zero.  Therefore, this optimization doesn't put a compare-to-zero between an increment and a "bne".

8 years agoMerge pull request #295 from groessler/something_to_pull
Oliver Schmidt [Tue, 24 May 2016 14:18:36 +0000 (16:18 +0200)]
Merge pull request #295 from groessler/something_to_pull

Atari: add command line support for XDOS

8 years agoFix style issue. 295/head
Christian Groessler [Tue, 24 May 2016 13:47:34 +0000 (15:47 +0200)]
Fix style issue.

8 years agoatari.h: update _dos_type values
Christian Groessler [Tue, 24 May 2016 02:37:35 +0000 (04:37 +0200)]
atari.h: update _dos_type values

8 years agoadd support for XDOS command lines
Christian Groessler [Tue, 24 May 2016 00:57:21 +0000 (02:57 +0200)]
add support for XDOS command lines

8 years agoatari.inc: add XDOS defines and remove trailing whitespace
Christian Groessler [Mon, 23 May 2016 22:10:47 +0000 (00:10 +0200)]
atari.inc: add XDOS defines and remove trailing whitespace

8 years agodocs for targets with target utilities adjusted
Patrycjusz R. Łogiewa [Wed, 18 May 2016 14:42:51 +0000 (16:42 +0200)]
docs for targets with target utilities adjusted

8 years agoremoved variable usage
Patrycjusz R. Łogiewa [Mon, 16 May 2016 20:35:24 +0000 (22:35 +0200)]
removed variable usage

8 years agoignoring zip target output
Patrycjusz R. Łogiewa [Mon, 16 May 2016 20:34:43 +0000 (22:34 +0200)]
ignoring zip target output

8 years agoadapted for zip/install targets
Patrycjusz R. Łogiewa [Mon, 16 May 2016 20:14:05 +0000 (22:14 +0200)]
adapted for zip/install targets

8 years agoIgnores adjusted
Patrycjusz R. Łogiewa [Mon, 16 May 2016 17:50:02 +0000 (19:50 +0200)]
Ignores adjusted

8 years agodirectory structure changed from driver-centric to target-centric
Patrycjusz R. Łogiewa [Mon, 16 May 2016 17:49:43 +0000 (19:49 +0200)]
directory structure changed from driver-centric to target-centric

8 years agoMerge pull request #289 from OzHawk/patch-1
greg-king5 [Mon, 16 May 2016 02:48:03 +0000 (22:48 -0400)]
Merge pull request #289 from OzHawk/patch-1

Update the missing entries in the kernel jump table for the Vic20 wit…

8 years agoUpdate kernal.s 289/head
OzHawk [Sun, 15 May 2016 23:11:13 +0000 (08:41 +0930)]
Update kernal.s

8 years agomoved output of target utils and drivers to separate directory
Patrycjusz R. Łogiewa [Fri, 13 May 2016 12:28:58 +0000 (14:28 +0200)]
moved output of target utils and drivers to separate directory

8 years agoUpdate the missing entries in the kernel jump table for the Vic20 with the actual...
OzHawk [Wed, 11 May 2016 09:54:16 +0000 (19:24 +0930)]
Update the missing entries in the kernel jump table for the Vic20 with the actual function addresses.

The Vic20 does not have kernal table entries for the following functions.

;-----------------------------------------------------------------------------
; Functions which are not in the kernal jump table for VIC-20 but are for C64

CINT        := $E518
IOINIT      := $FDF9
RAMTAS      := $FD8D

All other kernal entries are the same as the C64, however, without this change, the startup code fails.

Without this change the vic20.lib builds incorrectly.

8 years agoMerge pull request #285 from greg-king5/asm-volatile
Oliver Schmidt [Sun, 24 Apr 2016 19:40:46 +0000 (21:40 +0200)]
Merge pull request #285 from greg-king5/asm-volatile

Add the C keyword "volatile" to the __asm__ statement grammar.

8 years agoAdded the optional C keyword "volatile" to the __asm__ statement grammar. 285/head
Greg King [Fri, 22 Apr 2016 15:33:52 +0000 (11:33 -0400)]
Added the optional C keyword "volatile" to the __asm__ statement grammar.

It prevents the statement's Assembly code from being optimized (e.g., moved or removed).  Optimization is disabled for that statement's entire function (other functions aren't affected).

8 years agoMerge pull request #283 from polluks/sp65
Oliver Schmidt [Thu, 14 Apr 2016 09:28:25 +0000 (11:28 +0200)]
Merge pull request #283 from polluks/sp65

Fixed CPU definition of Lynx.

8 years agoFixed CPU definition of Lynx. Removed nonsense target vc20. 283/head
Polluks [Tue, 12 Apr 2016 21:58:30 +0000 (23:58 +0200)]
Fixed CPU definition of Lynx. Removed nonsense target vc20.

8 years agoMerge pull request #281 from polluks/sp65
Oliver Schmidt [Sun, 10 Apr 2016 19:13:02 +0000 (21:13 +0200)]
Merge pull request #281 from polluks/sp65

sp65: A forgotten option. Empty arguments are not silent anymore.

8 years agoA forgotten option. Empty arguments are not silent anymore. 281/head
KORISNIK [Sun, 10 Apr 2016 00:21:36 +0000 (02:21 +0200)]
A forgotten option. Empty arguments are not silent anymore.

8 years agoMerge pull request #280 from greg-king5/misaligned
Oliver Schmidt [Tue, 29 Mar 2016 10:19:24 +0000 (12:19 +0200)]
Merge pull request #280 from greg-king5/misaligned

Show a warning message about misaligned segments, for all badly-aligned segments.

8 years agoMoved a warning message, about misaligned segments, to a configuration function. 280/head
Greg King [Tue, 29 Mar 2016 09:40:12 +0000 (05:40 -0400)]
Moved a warning message, about misaligned segments, to a configuration function.

It used to be shown only if the segment was written into a binary file.  Now, it's shown for all badly-aligned segments.

8 years agoRenamed chrcvt to chrcvt65 and added it to the build.
Oliver Schmidt [Sun, 27 Mar 2016 17:09:00 +0000 (19:09 +0200)]
Renamed chrcvt to chrcvt65 and added it to the build.

The /Makefile presumes that all binaries are are named *65 so chrcvt had to be renamed in order to be added to the build.

8 years agoUpdated Protovision Shop URL.
Oliver Schmidt [Sun, 27 Mar 2016 16:50:54 +0000 (18:50 +0200)]
Updated Protovision Shop URL.

8 years agoUse .macpack to include macro package.
Oliver Schmidt [Sun, 27 Mar 2016 16:29:45 +0000 (18:29 +0200)]
Use .macpack to include macro package.

8 years agoMade use of recently added Apple scrcode macro.
Oliver Schmidt [Sun, 27 Mar 2016 16:27:53 +0000 (18:27 +0200)]
Made use of recently added Apple scrcode macro.

8 years agoAdded scrcode macro for the Apple II.
Oliver Schmidt [Sun, 27 Mar 2016 16:26:46 +0000 (18:26 +0200)]
Added scrcode macro for the Apple II.

Although the Apple II generally works with plain ASCII (i.e. in the ProDOS 8 MLI) the actual screen codes differ. This fixes #260.

8 years agoMerge pull request #279 from greg-king5/atmos-reconfig
Oliver Schmidt [Sat, 26 Mar 2016 23:36:05 +0000 (00:36 +0100)]
Merge pull request #279 from greg-king5/atmos-reconfig

Convert the Atmos configuration to the new constructor segment model.

8 years agoAllow _sys() to call ROM routines.
Oliver Schmidt [Fri, 25 Mar 2016 20:57:06 +0000 (21:57 +0100)]
Allow _sys() to call ROM routines.

_sys() is supposed to be (primarily) intended to call ROM routines. Leveraging the "file overlay" mechanism of the cc65 build system allows to provide a Apple II specific _sys() implementation that temporarily switches in the ROM.

8 years agoMinor fixes for recent doc change.
Oliver Schmidt [Fri, 25 Mar 2016 18:03:12 +0000 (19:03 +0100)]
Minor fixes for recent doc change.

8 years agoUpdated documentation to reflect the current linker configs.
Oliver Schmidt [Fri, 25 Mar 2016 17:48:23 +0000 (18:48 +0100)]
Updated documentation to reflect the current linker configs.

8 years agoConverted the Atmos configuration to the new constructor segment model. 279/head
Greg King [Fri, 18 Mar 2016 15:28:56 +0000 (11:28 -0400)]
Converted the Atmos configuration to the new constructor segment model.

8 years agoHarmonized asm linker configs.
Oliver Schmidt [Thu, 17 Mar 2016 20:51:20 +0000 (21:51 +0100)]
Harmonized asm linker configs.

- All segments but CODE are optional and CODE is R/W. Both together allow to "just" write code/data without ever explicitly using a segment.

- Symbols are defined for the BSS. This allows to use/implement zerobss.

- The ZP memory area isn't artificially limited.

8 years agoConsider the segment attributes 'define' and 'optional' mutually exclusive.
Oliver Schmidt [Thu, 17 Mar 2016 20:31:43 +0000 (21:31 +0100)]
Consider the segment attributes 'define' and 'optional' mutually exclusive.

In normal situations it isn't too useful to define symbols for optional segments as those symbols can't be presumed to be always present.

I in fact suspect that most currently present combinations of 'define' and 'optional' aren't useful - apart form the overlay configurations of course.

8 years agoMoved run location of ONCE segment.
Oliver Schmidt [Thu, 17 Mar 2016 20:07:19 +0000 (21:07 +0100)]
Moved run location of ONCE segment.

Make the same changes to the Apple II that were done with https://github.com/cc65/cc65/commit/0ee9b2e446198746c3a05b142ecd00784becf727 to the C64.

Notes:
- The startup code deliberately doesn't make use of symbols defined for the LC segment as that segment is optional.
- The <...>-asm.cfg configs move the segment BSS to an own memory area BSS although this doesn't seem necessary. However the benefit is that the size of the memeory area MAIN is identical to the number of bytes loaded from disk into RAM. To keep this an invariant for all Apple II configs allows to simplify the EXEHDR to just refer to the symbols defined for MAIN.

8 years agoAdjusted constructors.
Oliver Schmidt [Wed, 16 Mar 2016 15:28:32 +0000 (16:28 +0100)]
Adjusted constructors.

The constructors are _NOT_ allowed anymore to access the BSS. Rather they must use the DATA segment or the INIT 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 agoAdjust linker config to match startup code.
Oliver Schmidt [Wed, 16 Mar 2016 15:00:09 +0000 (16:00 +0100)]
Adjust linker config to match startup code.

Apply https://github.com/cc65/cc65/commit/aaf90c1252a09346deb1ccdab96546368afdbbdd to the Supervision default configuration.

8 years agoFixed segment properties.
Oliver Schmidt [Tue, 15 Mar 2016 20:48:44 +0000 (21:48 +0100)]
Fixed segment properties.

The CBMx10 targets don't use the INIT segment in the startup code. So it may turn out to be not necessary at all for certain programs.

The CBMx10 targets don't need symbols for the ONCE segment. Likely their definition was a C&P error in the first place.

8 years agoMoved things into ONCE.
Oliver Schmidt [Tue, 15 Mar 2016 20:36:38 +0000 (21:36 +0100)]
Moved things into ONCE.

Code and or data used only during initialization belongs into the ONCE segment.

8 years agoRemoved symbol definition for ONCE.
Oliver Schmidt [Tue, 15 Mar 2016 20:25:22 +0000 (21:25 +0100)]
Removed symbol definition for ONCE.

Almost all targets don't need symbols for the ONCE segment. Likely their definition was a C&P error in the first place.

8 years agoRemoved ONCE segment.
Oliver Schmidt [Tue, 15 Mar 2016 20:19:25 +0000 (21:19 +0100)]
Removed ONCE segment.

Pure assembler programs don't have constructors. Therefore constructor code ending up in an assembler program should trigger an error.

8 years agoFixed INIT properties.
Oliver Schmidt [Sun, 13 Mar 2016 21:18:51 +0000 (22:18 +0100)]
Fixed INIT properties.

The main chunk load header references __BSS_LOAD__ so BSS must be the first bss type segment. Subsequent changes will move ONCE to share its address with the BSS. Then it'll be necessary to load INIT from disk. Therefore we do it right now.

8 years agoFixed BSS properties.
Oliver Schmidt [Sun, 13 Mar 2016 21:13:41 +0000 (22:13 +0100)]
Fixed BSS properties.

The cassette boot file header references __BSS_RUN__ so BSS must be the first bss type segment (and for sure isn't optional).

8 years agoUse AX paradigm.
Oliver Schmidt [Sun, 13 Mar 2016 20:23:45 +0000 (21:23 +0100)]
Use AX paradigm.

8 years agoCleaned up C64 linker configs.
Oliver Schmidt [Sun, 13 Mar 2016 13:32:07 +0000 (14:32 +0100)]
Cleaned up C64 linker configs.

The BSS segment and the ONCE segment share the same start address. So they need to be placed in two different memory areas.

So far BSS was placed in the MAIN memory area and ONCE was placed in an additional memory area. Both memory areas were written to the output file. They just "happened" to be loadable and runnable at a stretch.

Now ONCE is placed in the MAIN memory area and BSS is placed in an additional memory area. Only MAIN is written to the output file. It becomes more obvious that BSS is "just" defined to share memory with ONCE.

8 years agoDon't presume the stack size to be a multiple of pages.
Oliver Schmidt [Thu, 10 Mar 2016 09:07:09 +0000 (10:07 +0100)]
Don't presume the stack size to be a multiple of pages.

8 years agoMerge pull request #274 from bbbradsmith/doc-cc65-intern
Oliver Schmidt [Tue, 8 Mar 2016 20:50:18 +0000 (21:50 +0100)]
Merge pull request #274 from bbbradsmith/doc-cc65-intern

New documentation: cc65-intern.sgml

8 years agoUse AX paradigm for stack initalization.
Oliver Schmidt [Mon, 7 Mar 2016 00:44:19 +0000 (01:44 +0100)]
Use AX paradigm for stack initalization.

8 years agoRenamed RAM to MAIN for all disk based targets.
Oliver Schmidt [Mon, 7 Mar 2016 00:28:55 +0000 (01:28 +0100)]
Renamed RAM to MAIN for all disk based targets.

The name RAM doesn't make much sense in general for a memeory area because i.e. the zero page is for sure RAM but is not part of the memory area named RAM.

For disk based targets it makes sense to put the disk file more into focus and here MAIN means the main part of the file - in contrast to some header.

Only for ROM based targets the name RAM is kept as it makes sense to focus on the difference between RAM and ROM.