f36f6922f2
Fixed a typo.
uz
2011-07-10 15:00:37 +00:00
ca9d802d1e
Fix width calculation for bitmap font output. Use new 8x16 multiplication routines to save some cycles.
uz
2011-07-10 14:59:29 +00:00
655ffe5dcd
Make the 8x32 unsigned multiplication routine C callable.
uz
2011-07-10 14:52:35 +00:00
3806cd472d
Added new 8x16 unsigned multiplication routine.
uz
2011-07-10 14:51:03 +00:00
3812c5c854
Added labels for umul16x16r16 and umul16x16r16m.
uz
2011-07-10 14:50:18 +00:00
bf6b0b9eb7
Check for macros within .STRUCT/.ENUM.
uz
2011-07-08 09:55:17 +00:00
241afdc738
Don't search twice for a macro.
uz
2011-07-08 09:22:26 +00:00
49cdfcf5b0
The BASIC stub does encode the start address with only 4 digits. Add a check so the linker will not generate an invalid header for program files with larger start addresses.
uz
2011-07-08 08:58:41 +00:00
e531e5abd1
Removed __fastcall__ declarations for functions without parameters.
uz
2011-07-07 20:19:35 +00:00
d18fd210aa
The line counter got confused for lines with more than 256 chars. Removed the restriction alltogether, so lines with arbitrary length should be handled correctly. Not that it is of much use for an assembler, but this has really been a somewhat ancient limitation.
uz
2011-07-07 20:07:29 +00:00
9d7edad0cc
Fixes for program arguments and TAP header by Stefan Haubenthal.
uz
2011-07-03 13:23:07 +00:00
a08222048a
Initialize variables to avoid compiler warnings.
uz
2011-07-03 12:24:54 +00:00
a6ca0b2093
Fixed a bad styled sentence.
uz
2011-07-02 20:54:39 +00:00
ad1c31b049
Fixed order of rules, so not only the tgi driver gets built.
uz
2011-06-22 08:19:59 +00:00
eae262b7c3
NES character mode TGI driver. By Stefan Haubenthal.
uz
2011-06-21 20:34:18 +00:00
3f2f3baa27
Removed an unused function.
uz
2011-06-17 19:58:53 +00:00
70d5eb7456
Fix it's -> its where applicable. (Stefan Haubenthal).
uz
2011-06-17 18:56:55 +00:00
44b829cc01
Read and allow access to the segment for (segment based) symbols.
uz
2011-06-14 21:18:44 +00:00
c768fc7373
For segment based symbols, add information about the segment to the debug info.
uz
2011-06-14 19:25:50 +00:00
82bab7fb89
Merge duplicate file entries (same name, size and timestamp).
uz
2011-06-14 18:26:22 +00:00
57fb2571a1
Accept a file attribute for symbols but don't do anything with it for now.
uz
2011-06-14 16:45:48 +00:00
244ca4daf7
Allow to leave of the end address of a range if it is identical to the start address. Currently unused.
uz
2011-06-13 21:43:26 +00:00
51ccf2d576
Accept a segment attribute for symbols, but don't do anything with it for now.
uz
2011-06-13 21:16:40 +00:00
795d9e1a1c
Mark the symbol that is the name of a scope with the size of that scope (previously only the scope itself had that size). Pass the size of symbols through the object file to the linker. Bump the object file version and adjust object file reading tools (od65, ar65) to this change. Read the size in the linker and output it in the debug info. Bump the minor version number of the debug info. Read the size and allow to access it via the API. Do better version checking for the debug info and try to be smarter when encountering unknown keywords to improve support for newer minor versions.
uz
2011-06-13 18:43:50 +00:00
7c2104c3cb
Added docs for interruptor support. By Stefan Haubenthal.
uz
2011-06-13 17:25:36 +00:00
6d0db06931
interruptor support by Stefan Haubenthal
cpg
2011-06-13 16:42:45 +00:00
79fad36b41
Use slightly optimized character translation settings for the CBM machines. Suggested by Greg King.
uz
2011-06-13 12:13:08 +00:00
00f57bbc87
Fix/workaround for a problem with nested macros.
uz
2011-06-13 10:03:26 +00:00
4709e8251e
Fixed the same problem as in the last change for the final token of .define style macros.
uz
2011-06-13 08:55:48 +00:00
ff9841d7b5
Fix wrong line info sometimes output for macros: When macro parameters were expanded, the line info came from the parameter replacement list, but was marked as coming from the macro. Now parameter replacement lists don't change the line info.
uz
2011-06-13 08:53:41 +00:00
d1426aaa43
Finished implemenation of commands to delete macros. Added the new commands to the docs.
uz
2011-06-12 21:29:07 +00:00
eaa45269e7
First implementation of .UNDEF for deleting a macro.
uz
2011-06-11 22:18:48 +00:00
279ad05150
Added routines to remove an entry from the hash table.
uz
2011-06-11 18:17:54 +00:00
ce0d51d55a
Fixed an error: An .ELSE without an .IF caused a null pointer dereference.
uz
2011-06-09 11:27:33 +00:00
acb1699017
Improve the performance of the routine that determines the overall .IF condition.
uz
2011-06-09 11:23:37 +00:00
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.
uz
2011-06-08 21:09:40 +00:00
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.
uz
2011-06-08 20:53:29 +00:00
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.
uz
2011-06-08 18:33:34 +00:00
c17816fafd
Added more debug output.
uz
2011-06-08 18:28:21 +00:00
8cb4788e13
Fix a compile problem with the Watcom compiler.
uz
2011-06-08 06:51:05 +00:00
f40c977623
Added (again) IRQ support for the Oric Atmos by Stefan Haubenthal. This time with the correct patch for atmos.inc.
uz
2011-06-07 21:22:02 +00:00
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.
uz
2011-06-07 21:17:35 +00:00
f8089b98c1
Limit the number of additional line infos printed in case of an error or warning.
uz
2011-06-07 21:15:16 +00:00
7db7f34d91
Fix an error with .ELSEIF: The condition must only be evaluated if the .ELSEIF is inside an .IF which had a TRUE condition.
uz
2011-06-07 17:16:18 +00:00
f0a6653bd1
Added a comment about the fix explaining why the given order of calls is necessary.
uz
2011-06-05 14:47:28 +00:00
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
uz
2011-06-05 14:45:37 +00:00
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.
uz
2011-06-05 14:28:56 +00:00
6a56201046
Remove declarations for stuff that has never been there.
uz
2011-06-05 14:24:51 +00:00
9c53f8879c
Fixed a problem in GetSymParentScope, where an error in the assembler input somewhere before could lead to an invalid memory access.
uz
2011-05-31 14:51:21 +00:00
9c267dab89
The terminating zero was missing in several places where a string buffer was copied to CurTok.SVal.
uz
2011-05-30 21:56:27 +00:00
f2517269ad
Fix problem with output of sprintf when %s format spec is used.
uz
2011-05-30 21:37:34 +00:00
c4492130c4
Reverted the last change, because it doesn't compile.
uz
2011-05-24 06:48:02 +00:00
5df93d5561
Add support for interruptors (Stefan Haubenthal).
uz
2011-05-23 17:35:25 +00:00
9c17760227
Corrected screensize function by Stefan Haubenthal.
uz
2011-05-13 15:31:26 +00:00
d6ac067afc
Document the aspect ratio functions.
uz
2011-05-10 18:39:06 +00:00
611563f899
Fixed typoes in cl65's --help message. By Greg King.
uz
2011-05-09 16:33:38 +00:00
ba7b4d5e86
Back to revision 3818: The value of COLOR_WHITE changed back from 3 to 1.
ol.sc
2011-05-05 20:43:10 +00:00
b4fda77b6c
The TGI kernel will call SETVIEWPAGE(0) after calling INIT so there's no need to switch to the first page here.
ol.sc
2011-05-03 21:40:51 +00:00
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.
ol.sc
2011-05-03 21:28:20 +00:00
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.
uz
2011-05-02 19:29:05 +00:00
bc9e55cbab
_tgi_getaspectratio was declared global twice, while tgi_setaspectratio was missing (Greg King).
uz
2011-05-02 19:18:38 +00:00
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).
ol.sc
2011-05-02 11:23:30 +00:00
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.
ol.sc
2011-05-02 10:38:48 +00:00
23a5ea3ba5
Fixed typos in comments. No code changes.
uz
2011-05-01 21:40:00 +00:00
06fddaf11f
Improved the stub for __osmaperrno somewhat (Stefan Haubenthal).
uz
2011-05-01 21:39:04 +00:00
2552a7c117
Cache aspect ratio like already done with resolution.
ol.sc
2011-05-01 21:38:04 +00:00
b47113ad80
Removed recently added TGI mode tables for Atmos and Lynx as according to Greg King those targets don't load drivers dynamically.
ol.sc
2011-05-01 21:32:03 +00:00
80a5686bd9
The code for compares with a constant result may not be removed, because it may contain side effects.
uz
2011-05-01 18:48:06 +00:00
a507605a89
New TGI routines tgi_getaspectratio/tgi_setaspectratio.
uz
2011-05-01 18:40:38 +00:00
c142061ca5
Removed unnecessary \n's in calls to Error().
uz
2011-05-01 18:00:51 +00:00
845ad64633
Fixed an error in the last change: Arguments for option -W were not passed correctly to the compiler.
uz
2011-05-01 17:58:45 +00:00
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.
uz
2011-05-01 17:56:44 +00:00
928c76235f
Fix output of --help regarding -W. Added new option --list-warnings.
uz
2011-05-01 17:42:49 +00:00
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.
uz
2011-05-01 17:04:30 +00:00
9bf3446060
A first small step towards aspect ratio awareness.
ol.sc
2011-04-30 13:12:53 +00:00
a0d53cff6b
Documented the reason for having a pixel aspect ratio (PAR) of 1 on the Lynx.
ol.sc
2011-04-30 12:47:53 +00:00
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).
ol.sc
2011-04-30 12:46:03 +00:00
fd048a0125
Added a convertor from Latin1 to PetSCII. By Greg King.
uz
2011-04-29 15:39:28 +00:00
905c1252f5
No need to explicitly set two page in 40 column mode as two pages are the default anyway.
ol.sc
2011-04-28 13:06:37 +00:00
f9b25bad48
Added TGI mode tables for Atmos and Lynx
ol.sc
2011-04-25 19:05:43 +00:00
977c64ce01
Fixed comments. No code change.
uz
2011-04-25 18:49:24 +00:00
671a4a653f
Reverted the change by Stefan Haubenthal - order of segments is important for the heap to work correctly.
uz
2011-04-25 18:45:57 +00:00
cc3424a545
Access routines for different eeprom types. By Karri Kaksonen.
uz
2011-04-25 18:42:50 +00:00
5e37ed1a16
Target-specific black & white values for use by the target-shared TGI kernel
ol.sc
2011-04-25 17:11:23 +00:00
012e3e456a
Added TGI_COLOR_... macros to be used both for hires and lores. Introduced color mapping on lores to allow for common color macros.
ol.sc
2011-04-25 11:16:56 +00:00