]>
git.sur5r.net Git - cc65/log
cpg [Wed, 18 Nov 2009 22:16:13 +0000 (22:16 +0000)]
small space optimization -- 3 bytes reduced
git-svn-id: svn://svn.cc65.org/cc65/trunk@4470
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
cpg [Sun, 15 Nov 2009 14:55:14 +0000 (14:55 +0000)]
no TGI_ERR_NO_MEM or TGI_ERR_NO_IOCB anymore: replaced by TGI_ERR_NO_RES
git-svn-id: svn://svn.cc65.org/cc65/trunk@4469
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
cpg [Sun, 15 Nov 2009 14:46:09 +0000 (14:46 +0000)]
changes from Fatih
git-svn-id: svn://svn.cc65.org/cc65/trunk@4468
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 13 Nov 2009 15:53:01 +0000 (15:53 +0000)]
Replaced TGI_ERR_NO_MEM by TGI_ERR_NO_RES
git-svn-id: svn://svn.cc65.org/cc65/trunk@4467
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 13 Nov 2009 12:57:10 +0000 (12:57 +0000)]
Fixed TGI error codes and messages. Removed the Atari specific ones.
tgi_load_vectorfont will now return TGI_ERR_NO_MEM and clear the error code if
the load was successful.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4466
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 12 Nov 2009 18:01:11 +0000 (18:01 +0000)]
The outcode constants from tgi_outcode went into this header file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4465
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 12 Nov 2009 18:00:17 +0000 (18:00 +0000)]
Final touches to the first full version of the vector font output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4464
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 12 Nov 2009 15:48:11 +0000 (15:48 +0000)]
Rename the 8x8 multiplication using the same scheme as for the 16x16
multiplication.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4463
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 12 Nov 2009 15:10:45 +0000 (15:10 +0000)]
Moved outcode calculation in a separate module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4462
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 12 Nov 2009 11:19:44 +0000 (11:19 +0000)]
Prepare for reading keypresses from the X server.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4461
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
cpg [Wed, 11 Nov 2009 23:17:55 +0000 (23:17 +0000)]
remove superfluous ".code" line
git-svn-id: svn://svn.cc65.org/cc65/trunk@4460
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
cpg [Wed, 11 Nov 2009 23:15:42 +0000 (23:15 +0000)]
bugfix from Fatih
git-svn-id: svn://svn.cc65.org/cc65/trunk@4459
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
cpg [Tue, 10 Nov 2009 22:00:41 +0000 (22:00 +0000)]
add some comments
git-svn-id: svn://svn.cc65.org/cc65/trunk@4458
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
cpg [Tue, 10 Nov 2009 21:56:56 +0000 (21:56 +0000)]
fix comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@4457
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
cpg [Tue, 10 Nov 2009 21:53:55 +0000 (21:53 +0000)]
add Atari TGI drivers from Fatih Aygun
git-svn-id: svn://svn.cc65.org/cc65/trunk@4456
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 10 Nov 2009 18:50:33 +0000 (18:50 +0000)]
Working on stroked font output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4455
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 6 Nov 2009 16:18:13 +0000 (16:18 +0000)]
tgi_vectorchar takes now a char argument. Added tgi_install_vectorfont.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4454
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 6 Nov 2009 16:00:43 +0000 (16:00 +0000)]
Added an include file for TGI vector fonts.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4453
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 6 Nov 2009 15:26:46 +0000 (15:26 +0000)]
Added clipping for lines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4452
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 6 Nov 2009 12:08:25 +0000 (12:08 +0000)]
Changed a comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4451
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 6 Nov 2009 12:02:52 +0000 (12:02 +0000)]
Hold the maximum X and Y coordinate in variables instead of calculating them
when needed. The variables make signed compares in the line clipper easier.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4450
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 5 Nov 2009 20:32:17 +0000 (20:32 +0000)]
Added a tgi_pieslice function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4449
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 5 Nov 2009 20:26:23 +0000 (20:26 +0000)]
Fixed a sign error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4448
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 5 Nov 2009 20:16:43 +0000 (20:16 +0000)]
Moved fixed point multiplication and rounding into an asm module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4447
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 5 Nov 2009 19:52:18 +0000 (19:52 +0000)]
Added a tgi_arc function. Removed the old ellipse code and create a new
ellipse module that calls tgi_arc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4446
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 5 Nov 2009 17:14:29 +0000 (17:14 +0000)]
Added tgi_circle and tgi_ellipse functions. The latter works, but could be
optimized.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4445
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 5 Nov 2009 17:12:18 +0000 (17:12 +0000)]
Added prototypes for more mul/div functions. Some of the don't currently
exist.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4444
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 4 Nov 2009 19:41:54 +0000 (19:41 +0000)]
Working on the division and multiplication routines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4443
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 4 Nov 2009 18:25:29 +0000 (18:25 +0000)]
Added a C callable entry point for the division routine.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4442
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 4 Nov 2009 18:23:40 +0000 (18:23 +0000)]
Added division routine. Removed C callable entry points from mul routines,
they're now in common.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4441
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 4 Nov 2009 18:17:00 +0000 (18:17 +0000)]
Add C callable special multiplication routines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4440
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 4 Nov 2009 13:46:16 +0000 (13:46 +0000)]
Use new multiplication routine.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4439
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 4 Nov 2009 13:45:27 +0000 (13:45 +0000)]
The upper 16 bit differ between signed and unsigned multiplication, so while
for 16x16=16, the unsigned routine can be used, regardless of signedness, this
is not true for 16x16=32.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4438
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Tue, 3 Nov 2009 22:20:48 +0000 (22:20 +0000)]
- Replaced font .byte's with font .incbin file
- Adjusted font width declaration from 8 to 7
- Modified font using Beagle Bros Shape Mechanic font editor to look like Apple2 text mode glyphs (with the exception of '_' because OUTTEXT _always_ inserts 2 empty pixels between chars)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4437
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 3 Nov 2009 20:36:30 +0000 (20:36 +0000)]
Added prototypes for C callable multiplication routines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4436
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 3 Nov 2009 17:43:57 +0000 (17:43 +0000)]
Added C callable entry point for the 16x16=32 multiplication.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4435
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 3 Nov 2009 13:40:03 +0000 (13:40 +0000)]
Added 16*16=32 multiplication routine.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4434
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 22:31:32 +0000 (22:31 +0000)]
Do not use a separate byte for an END opcode, instead place the bit into the
previous opcode. This saves one byte per character with the exception of
characters without a vector representation, where we loose one byte, because
we need to add a dummy vector just to apply our END bit.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4433
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 22:29:49 +0000 (22:29 +0000)]
Working on the TGI API, adding vector fonts. Only roughly tested!
git-svn-id: svn://svn.cc65.org/cc65/trunk@4432
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 22:28:02 +0000 (22:28 +0000)]
Added separate 8x8=>16 multiplication routine as start of the multiplication
and division stuff cleanup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4431
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Mon, 2 Nov 2009 22:10:13 +0000 (22:10 +0000)]
Removed unintentionally added line.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4430
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Mon, 2 Nov 2009 21:54:51 +0000 (21:54 +0000)]
Removed generic macpack
git-svn-id: svn://svn.cc65.org/cc65/trunk@4429
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Mon, 2 Nov 2009 21:38:18 +0000 (21:38 +0000)]
- Adjusted TEXTSTYLE and OUTTEXT to TGI specs
- Removed defunct scaling support from TEXTSTYLE
- Optimized OUTTEXT
- Clarified font source and format
- Removed generic macpack
git-svn-id: svn://svn.cc65.org/cc65/trunk@4428
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 16:26:46 +0000 (16:26 +0000)]
Added macros for jumps after unsigned compares to the "generic" macro package.
Removed BGE/BLT as native instructions for the 65816.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4427
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 16:24:26 +0000 (16:24 +0000)]
The X register must be zero on return.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4426
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 16:23:32 +0000 (16:23 +0000)]
Added the new toascii function for the CBMs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4425
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 16:11:32 +0000 (16:11 +0000)]
Added prototype for toascii(c);
git-svn-id: svn://svn.cc65.org/cc65/trunk@4424
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 2 Nov 2009 15:36:13 +0000 (15:36 +0000)]
Fixed an error in the color setting code which caused tgi_init to fail.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4423
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 22:43:09 +0000 (22:43 +0000)]
Added a typedef for tgi_vectorfont_header, because the name is so long.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4422
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 22:35:22 +0000 (22:35 +0000)]
Added tgi_load_vectorfont(). Fixed tgi_free_vectorfont().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4421
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 22:33:27 +0000 (22:33 +0000)]
When initializing the driver, set white as the drawing color.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4420
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 22:32:14 +0000 (22:32 +0000)]
Added new constants from tgi.h
git-svn-id: svn://svn.cc65.org/cc65/trunk@4419
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 22:01:23 +0000 (22:01 +0000)]
Additional error code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4418
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 22:01:06 +0000 (22:01 +0000)]
Small changes in definitions. Additional error code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4417
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 21:53:34 +0000 (21:53 +0000)]
Added tgi_free_vectorfont.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@4416
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 21:53:22 +0000 (21:53 +0000)]
Fixed a bug (wrong order of variables).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4415
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 21:49:09 +0000 (21:49 +0000)]
Preparations for use of vectorfonts.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4414
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 1 Nov 2009 21:33:28 +0000 (21:33 +0000)]
Some small format changes. Output name is input name + '.tch'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4413
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Sun, 1 Nov 2009 10:48:43 +0000 (10:48 +0000)]
Replaced obsolete 'codeseg' with 'code-name'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4412
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 31 Oct 2009 15:42:59 +0000 (15:42 +0000)]
Wrote the actual conversion. Still untested.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4411
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 31 Oct 2009 14:01:22 +0000 (14:01 +0000)]
Fixed a problem introduced with the last change.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4410
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 31 Oct 2009 10:36:59 +0000 (10:36 +0000)]
Fixed a problem with OptJumpTarget3. In a loop over all elements of a
collection that may remove something from the collection, we may not use an
upcounting loop.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4409
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 22:34:08 +0000 (22:34 +0000)]
File reading, verification and comments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4408
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Fri, 30 Oct 2009 21:44:36 +0000 (21:44 +0000)]
Changes to the TGI driver API:
* Removed CIRCLE
* Aspect ratio is a new header variable
* Removed the reserved bytes - it's easier to bump the API version
* Clipping is done completely in the wrapper
git-svn-id: svn://svn.cc65.org/cc65/trunk@4407
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 21:35:25 +0000 (21:35 +0000)]
Added the chrcvt vector font converter to the top level makefile.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4406
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 21:34:40 +0000 (21:34 +0000)]
Created the skeleton of the vector font converter.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4405
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 21:26:35 +0000 (21:26 +0000)]
Start of TGI changes. Untested, may not work.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4404
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 14:03:21 +0000 (14:03 +0000)]
Rewrote the sinus display using the new cc65_sin function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4403
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 14:02:24 +0000 (14:02 +0000)]
Fixed the return types of the sine/cosine functions. Added comments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4402
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 10:01:31 +0000 (10:01 +0000)]
Added new header file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4401
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 30 Oct 2009 09:58:11 +0000 (09:58 +0000)]
Merged the sine/cosine routines into one file, because they're often used
together, we save some code in this case, and the sine table isn't of real use
for programs, because it contains some specialities.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4400
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 29 Oct 2009 23:19:00 +0000 (23:19 +0000)]
Added fixpoint sine and cosine functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4399
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Thu, 29 Oct 2009 23:11:46 +0000 (23:11 +0000)]
Changes to the TGI driver API:
* Removed CIRCLE
* Aspect ratio is a new header variable
* Removed the reserved bytes - it's easier to bump the API version
* Clipping is done completely in the wrapper
git-svn-id: svn://svn.cc65.org/cc65/trunk@4398
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 29 Oct 2009 20:30:41 +0000 (20:30 +0000)]
Allow fully scoped labels and constants instead of normal ones. This breaks
the barrier between scopes: It is now possible to introduce symbols into a
foreign scope, provided that it's name is known.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4397
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 29 Oct 2009 20:13:56 +0000 (20:13 +0000)]
Changes to the TGI driver API:
* Removed CIRCLE
* Aspect ratio is a new header variable
* Removed the reserved bytes - it's easier to bump the API version
* Clipping is done completely in the wrapper
git-svn-id: svn://svn.cc65.org/cc65/trunk@4396
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
ol.sc [Tue, 27 Oct 2009 21:20:06 +0000 (21:20 +0000)]
Changed 'Clear the screen' to 'Clear the drawpage'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4394
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 26 Oct 2009 19:28:11 +0000 (19:28 +0000)]
Lynx TGI driver update by Karri Kaksonen. Adds collision detection.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4393
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 26 Oct 2009 15:37:51 +0000 (15:37 +0000)]
Added a first version of a Cohen Sutherland line clipper. This version
basically works, but has rounding problems and an intermediate result overflow
in the multiplication, which causes for larger lines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4392
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 26 Oct 2009 10:17:53 +0000 (10:17 +0000)]
Added another optimization step.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4391
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 26 Oct 2009 10:17:17 +0000 (10:17 +0000)]
Fixed a bug in the last change. For variables that have no initializer, no
storage was allocated if -Cl (static locals) was in effect.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4390
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 24 Oct 2009 19:37:57 +0000 (19:37 +0000)]
Removed an unused table.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4389
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 23 Oct 2009 10:03:46 +0000 (10:03 +0000)]
Rearranged/duplicated optimization steps to generate better code in a few
cases.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4387
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 23 Oct 2009 09:22:17 +0000 (09:22 +0000)]
Restructured parts of locals.c. This will also fix a problem where arrays with
unspecified size but an initializer would cause an error when -Cl (static
locals) was in effect.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4385
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 20 Oct 2009 08:25:58 +0000 (08:25 +0000)]
Remove 65C02 code, because in this case, the value of Y on return is always
zero, which can be used by the optimizer.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4384
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 20 Oct 2009 08:21:12 +0000 (08:21 +0000)]
Fixed a problem with bit-fields: Values spanning more than a byte must always
be loaded as an int. This was not the case if the expression rhs was a char.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4382
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 19:37:28 +0000 (19:37 +0000)]
The CodeEntry buffer array was one entry to small.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4381
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 19:12:50 +0000 (19:12 +0000)]
Added another optimization step.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4380
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 18:02:40 +0000 (18:02 +0000)]
Added a makefile for cc65 for testing purposes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4379
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 18:00:25 +0000 (18:00 +0000)]
Added missing definitions, fixed copy&paste errors. Formatting.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4378
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 17:55:49 +0000 (17:55 +0000)]
Remove __CC65__ since it doesn't support all attributes gcc does.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4377
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 17:25:43 +0000 (17:25 +0000)]
Mark an unsed parameter as unused. __attribute__ also supported by cc65.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4376
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 10:19:26 +0000 (10:19 +0000)]
Renamed attribute handling functions. Added SymHasAttr().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4375
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 19 Oct 2009 09:29:09 +0000 (09:29 +0000)]
Marked abort() and longjmp() with __attribute__((noreturn)).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4374
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 18 Oct 2009 21:42:59 +0000 (21:42 +0000)]
Changed handling of attributes to a more generic form (it's allowed in each
declaration now) and added a new attribute "unused" to flag unused parameters,
variables or functions that shouldn't be warned about.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4373
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 18 Oct 2009 18:31:02 +0000 (18:31 +0000)]
Fixed the existing but unused attribute parsing code. Added
__attribute__((noexit)) that may be used to mark functions that won't return.
Added this attribute to the exit() function in stdlib.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4372
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 15 Oct 2009 21:08:03 +0000 (21:08 +0000)]
Some cleanup in the code generator. Added a g_drop function. g_drop and
g_space can now handle sizes > 255 bytes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4370
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 15 Oct 2009 19:18:34 +0000 (19:18 +0000)]
Warn when structs are passed by value to a function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4369
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 15 Oct 2009 11:11:20 +0000 (11:11 +0000)]
Extend handling for "long branch to RTS" to "long branch to jump leaving
function".
git-svn-id: svn://svn.cc65.org/cc65/trunk@4368
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 15 Oct 2009 10:21:50 +0000 (10:21 +0000)]
If a conditional branch as an unconditional jump as target, that doesn't jump
to a function-internal label, don't replace the jump target with the final
one, because this has no advantages and makes the code larger.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4367
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 14 Oct 2009 13:04:38 +0000 (13:04 +0000)]
Allow switching warnings about unused pragmas on or off.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4366
b7a2c559 -68d2-44c3-8de9-
860c34a00d81