1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-07 19:29:18 +00:00
Commit Graph

4673 Commits

Author SHA1 Message Date
uz
ce0d51d55a Fixed an error: An .ELSE without an .IF caused a null pointer dereference.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5047 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-09 11:27:33 +00:00
uz
acb1699017 Improve the performance of the routine that determines the overall .IF
condition.
            


git-svn-id: svn://svn.cc65.org/cc65/trunk@5046 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-09 11:23:37 +00:00
uz
15fc094c7a Add recursive scanning for .define style macros: Replacement using .define is
done not only when the macro is parsed, but also when it is expanded.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5045 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 21:09:40 +00:00
uz
7c926ada70 Fixed a problem: Removing duplicate file entries (entries with the same name)
isn't allowed, since these entries may be referenced. Since we must be able to
handle duplicate names anyway (they may be old/new versions of one file), we
can also have duplicates in general. Cleanup the list using time stamps and
sizes before returning it to the caller.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5044 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 20:53:29 +00:00
uz
c65292b78d Fixed an error: The amount of fill bytes for a section was declared as an
unsigned char, so larger values got truncated making alignments larger than
$100 unreliable.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 18:33:34 +00:00
uz
c17816fafd Added more debug output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5041 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 18:28:21 +00:00
uz
8cb4788e13 Fix a compile problem with the Watcom compiler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5040 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 06:51:05 +00:00
uz
f40c977623 Added (again) IRQ support for the Oric Atmos by Stefan Haubenthal. This time
with the correct patch for atmos.inc.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5039 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:22:02 +00:00
uz
5db7604eff Don't allow too many nested macro expansions. Until now, it was possible to
send the assembler in an endless loop by a recursive macro without end
condition or a set of macros that called each other.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5038 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:17:35 +00:00
uz
f8089b98c1 Limit the number of additional line infos printed in case of an error or
warning.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5037 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:15:16 +00:00
uz
7db7f34d91 Fix an error with .ELSEIF: The condition must only be evaluated if the .ELSEIF
is inside an .IF which had a TRUE condition.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5036 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 17:16:18 +00:00
uz
f0a6653bd1 Added a comment about the fix explaining why the given order of calls is necessary.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5035 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:47:28 +00:00
uz
46f1285208 Fixed an error in macro expansion: If the first token after the macro name was
a .define style macro, the assembler run into an internal error, because the
expansion of the second macro was started before the first one


git-svn-id: svn://svn.cc65.org/cc65/trunk@5034 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:45:37 +00:00
uz
6a48359d23 Fix a problem with conditional assembly: The scanner has to be switched into
raw token mode when skipping a section of input because otherwise pseudo
functions may trigger errors.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5033 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:28:56 +00:00
uz
6a56201046 Remove declarations for stuff that has never been there.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5032 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:24:51 +00:00
uz
9c53f8879c Fixed a problem in GetSymParentScope, where an error in the assembler input
somewhere before could lead to an invalid memory access.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5031 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-31 14:51:21 +00:00
uz
9c267dab89 The terminating zero was missing in several places where a string buffer was
copied to CurTok.SVal.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5030 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-30 21:56:27 +00:00
uz
f2517269ad Fix problem with output of sprintf when %s format spec is used.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5029 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-30 21:37:34 +00:00
uz
c4492130c4 Reverted the last change, because it doesn't compile.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5028 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-24 06:48:02 +00:00
uz
5df93d5561 Add support for interruptors (Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5027 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-23 17:35:25 +00:00
uz
9c17760227 Corrected screensize function by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5026 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-13 15:31:26 +00:00
uz
d6ac067afc Document the aspect ratio functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5025 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-10 18:39:06 +00:00
uz
611563f899 Fixed typoes in cl65's --help message. By Greg King.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5024 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-09 16:33:38 +00:00
ol.sc
ba7b4d5e86 Back to revision 3818: The value of COLOR_WHITE changed back from 3 to 1.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5023 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-05 20:43:10 +00:00
ol.sc
b4fda77b6c The TGI kernel will call SETVIEWPAGE(0) after calling INIT so there's no need to switch to the first page here.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5022 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-03 21:40:51 +00:00
ol.sc
a4b6b6004a Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5021 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-03 21:28:20 +00:00
ol.sc
a7a41f9415 Fixed comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5020 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-03 20:22:32 +00:00
uz
73a7cf8c8c Added commands to copy the extra-object modules for all targets.
These two patches speed up library building:
Do the "runtime" directory before doing the platform directory, because
platform drivers need a file from the runtime directory (the old code
ran "runtime/Makefile" three times for each target!!!).
Clean only the shared directories -- the target directories don't need
cleaning.
Changes by Greg King.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5019 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 19:29:05 +00:00
uz
bc9e55cbab _tgi_getaspectratio was declared global twice, while tgi_setaspectratio was
missing (Greg King).


git-svn-id: svn://svn.cc65.org/cc65/trunk@5018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 19:18:38 +00:00
ol.sc
d72d373e83 Computed pixel aspect ratio (PAR) by presuming a display aspect ratio (DAR) of 4/3 for a classic CRT and using the given driver resolutions as storage aspect ratio (SAR).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5017 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 11:23:30 +00:00
ol.sc
4aa00e84e1 Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 10:38:48 +00:00
ol.sc
97b950b8d8 Removed unused TGI mode tables.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5015 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 10:30:49 +00:00
uz
23a5ea3ba5 Fixed typos in comments. No code changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 21:40:00 +00:00
uz
06fddaf11f Improved the stub for __osmaperrno somewhat (Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5013 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 21:39:04 +00:00
ol.sc
2552a7c117 Cache aspect ratio like already done with resolution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 21:38:04 +00:00
ol.sc
b47113ad80 Removed recently added TGI mode tables for Atmos and Lynx as according to Greg King those targets don't load drivers dynamically.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5011 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 21:32:03 +00:00
uz
80a5686bd9 The code for compares with a constant result may not be removed, because it
may contain side effects.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5010 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:48:06 +00:00
uz
a507605a89 New TGI routines tgi_getaspectratio/tgi_setaspectratio.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:40:38 +00:00
uz
c142061ca5 Removed unnecessary \n's in calls to Error().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5008 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:00:51 +00:00
uz
845ad64633 Fixed an error in the last change: Arguments for option -W were not passed
correctly to the compiler.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5007 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:58:45 +00:00
uz
417b14432c Fix problem with changed syntax of option -W for the compiler: -W will now
only be passed to the compiler together with all warning names.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5006 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:56:44 +00:00
uz
928c76235f Fix output of --help regarding -W. Added new option --list-warnings.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5005 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:42:49 +00:00
uz
ea32400df4 Removed two extra bytes from the TGI driver's header.
Added "tgi_colors.s" and a missing mouse-driver support file.
Added driver-module rules to the make-file.
All changes by Greg King.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5004 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:04:30 +00:00
ol.sc
9bf3446060 A first small step towards aspect ratio awareness.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5003 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-30 13:12:53 +00:00
ol.sc
a0d53cff6b Documented the reason for having a pixel aspect ratio (PAR) of 1 on the Lynx.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5002 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-30 12:47:53 +00:00
ol.sc
14cfadbc75 Computed pixel aspect ratio (PAR) by presuming a display aspect ratio (DAR) of 4/3 for a classic CRT and using the given driver resolutions as storage aspect ratio (SAR).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5001 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-30 12:46:03 +00:00
uz
fd048a0125 Added a convertor from Latin1 to PetSCII. By Greg King.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5000 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-29 15:39:28 +00:00
ol.sc
905c1252f5 No need to explicitly set two page in 40 column mode as two pages are the default anyway.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4999 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-28 13:06:37 +00:00
ol.sc
a27eee5718 Minimal source reformatting.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4998 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-28 13:05:12 +00:00
ol.sc
f9b25bad48 Added TGI mode tables for Atmos and Lynx
git-svn-id: svn://svn.cc65.org/cc65/trunk@4997 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 19:05:43 +00:00