]> git.sur5r.net Git - cc65/log
cc65
15 years agotgi_vectorchar takes now a char argument. Added tgi_install_vectorfont.
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

15 years agoAdded an include file for TGI vector fonts.
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

15 years agoAdded clipping for lines.
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

15 years agoChanged a comment.
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

15 years agoHold the maximum X and Y coordinate in variables instead of calculating them
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

15 years agoAdded a tgi_pieslice function.
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

15 years agoFixed a sign error.
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

15 years agoMoved fixed point multiplication and rounding into an asm module.
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

15 years agoAdded a tgi_arc function. Removed the old ellipse code and create a new
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

15 years agoAdded tgi_circle and tgi_ellipse functions. The latter works, but could be
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

15 years agoAdded prototypes for more mul/div functions. Some of the don't currently
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

15 years agoWorking on the division and multiplication routines.
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

15 years agoAdded a C callable entry point for the division routine.
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

15 years agoAdded division routine. Removed C callable entry points from mul routines,
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

15 years agoAdd C callable special multiplication routines.
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

15 years agoUse new multiplication routine.
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

15 years agoThe upper 16 bit differ between signed and unsigned multiplication, so while
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

15 years ago- Replaced font .byte's with font .incbin file
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

15 years agoAdded prototypes for C callable multiplication routines.
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

15 years agoAdded C callable entry point for the 16x16=32 multiplication.
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

15 years agoAdded 16*16=32 multiplication routine.
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

15 years agoDo not use a separate byte for an END opcode, instead place the bit into the
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

15 years agoWorking on the TGI API, adding vector fonts. Only roughly tested!
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

15 years agoAdded separate 8x8=>16 multiplication routine as start of the multiplication
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

15 years agoRemoved unintentionally added line.
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

15 years agoRemoved generic macpack
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

15 years ago- Adjusted TEXTSTYLE and OUTTEXT to TGI specs
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

15 years agoAdded macros for jumps after unsigned compares to the "generic" macro package.
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

15 years agoThe X register must be zero on return.
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

15 years agoAdded the new toascii function for the CBMs.
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

15 years agoAdded prototype for toascii(c);
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

15 years agoFixed an error in the color setting code which caused tgi_init to fail.
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

15 years agoAdded a typedef for tgi_vectorfont_header, because the name is so long.
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

15 years agoAdded tgi_load_vectorfont(). Fixed tgi_free_vectorfont().
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

15 years agoWhen initializing the driver, set white as the drawing color.
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

15 years agoAdded new constants from tgi.h
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

15 years agoAdditional error code.
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

15 years agoSmall changes in definitions. Additional error code.
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

15 years agoAdded tgi_free_vectorfont.s
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

15 years agoFixed a bug (wrong order of variables).
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

15 years agoPreparations for use of vectorfonts.
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

15 years agoSome small format changes. Output name is input name + '.tch'.
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

15 years agoReplaced obsolete 'codeseg' with 'code-name'.
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

15 years agoWrote the actual conversion. Still untested.
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

15 years agoFixed a problem introduced with the last change.
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

15 years agoFixed a problem with OptJumpTarget3. In a loop over all elements of a
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

15 years agoFile reading, verification and comments.
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

15 years agoChanges to the TGI driver API:
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

15 years agoAdded the chrcvt vector font converter to the top level makefile.
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

15 years agoCreated the skeleton of the vector font converter.
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

15 years agoStart of TGI changes. Untested, may not work.
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

15 years agoRewrote the sinus display using the new cc65_sin function.
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

15 years agoFixed the return types of the sine/cosine functions. Added comments.
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

15 years agoAdded new header file.
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

15 years agoMerged the sine/cosine routines into one file, because they're often used
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

15 years agoAdded fixpoint sine and cosine functions.
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

15 years agoChanges to the TGI driver API:
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

15 years agoAllow fully scoped labels and constants instead of normal ones. This breaks
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

15 years agoChanges to the TGI driver API:
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

15 years agoChanged 'Clear the screen' to 'Clear the drawpage'.
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

15 years agoLynx TGI driver update by Karri Kaksonen. Adds collision detection.
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

15 years agoAdded a first version of a Cohen Sutherland line clipper. This version
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

15 years agoAdded another optimization step.
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

15 years agoFixed a bug in the last change. For variables that have no initializer, no
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

15 years agoRemoved an unused table.
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

15 years agoRearranged/duplicated optimization steps to generate better code in a few
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

15 years agoRestructured parts of locals.c. This will also fix a problem where arrays with
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

15 years agoRemove 65C02 code, because in this case, the value of Y on return is always
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

15 years agoFixed a problem with bit-fields: Values spanning more than a byte must always
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

15 years agoThe CodeEntry buffer array was one entry to small.
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

15 years agoAdded another optimization step.
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

15 years agoAdded a makefile for cc65 for testing purposes.
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

15 years agoAdded missing definitions, fixed copy&paste errors. Formatting.
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

15 years agoRemove __CC65__ since it doesn't support all attributes gcc does.
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

15 years agoMark an unsed parameter as unused. __attribute__ also supported by cc65.
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

15 years agoRenamed attribute handling functions. Added SymHasAttr().
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

15 years agoMarked abort() and longjmp() with __attribute__((noreturn)).
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

15 years agoChanged handling of attributes to a more generic form (it's allowed in each
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

15 years agoFixed the existing but unused attribute parsing code. Added
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

15 years agoSome cleanup in the code generator. Added a g_drop function. g_drop and
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

15 years agoWarn when structs are passed by value to a function.
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

15 years agoExtend handling for "long branch to RTS" to "long branch to jump leaving
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

15 years agoIf a conditional branch as an unconditional jump as target, that doesn't jump
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

15 years agoAllow switching warnings about unused pragmas on or off.
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

15 years agoFixed a problem with SB_GetSym.
uz [Wed, 14 Oct 2009 13:03:47 +0000 (13:03 +0000)]
Fixed a problem with SB_GetSym.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4365 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoChanged names of the pragmas to be identical to the corresponding command line
uz [Wed, 14 Oct 2009 12:55:15 +0000 (12:55 +0000)]
Changed names of the pragmas to be identical to the corresponding command line
options. This should make use easier. The old names of the pragmas are still
available but will cause warnings.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4364 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed an error in the SB_SkipMultiple macro.
uz [Wed, 14 Oct 2009 10:04:20 +0000 (10:04 +0000)]
Fixed an error in the SB_SkipMultiple macro.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4363 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRewrote most of the #pragma parsing code. I'm still not satisfied, but at
uz [Tue, 13 Oct 2009 21:24:32 +0000 (21:24 +0000)]
Rewrote most of the #pragma parsing code. I'm still not satisfied, but at
least, it's a bit better than before. #pragma warn (...) is now used to switch
single warnings instead of a global on/off switch.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4362 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRemoved an unused function.
uz [Sun, 11 Oct 2009 15:10:55 +0000 (15:10 +0000)]
Removed an unused function.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4361 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoLeveraged new bit-field support.
ol.sc [Sun, 11 Oct 2009 11:14:35 +0000 (11:14 +0000)]
Leveraged new bit-field support.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4359 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoNew function SB_SkipMultiple().
uz [Sat, 10 Oct 2009 20:51:52 +0000 (20:51 +0000)]
New function SB_SkipMultiple().

git-svn-id: svn://svn.cc65.org/cc65/trunk@4358 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoCosmetic change. Formatting was lost because of cut&paste.
uz [Sat, 10 Oct 2009 20:50:15 +0000 (20:50 +0000)]
Cosmetic change. Formatting was lost because of cut&paste.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4357 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoOops - forgot to make these minor things identical to apple2.sgml.
ol.sc [Sat, 10 Oct 2009 11:38:34 +0000 (11:38 +0000)]
Oops - forgot to make these minor things identical to apple2.sgml.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4355 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoUpdated to the level of apple2.sgml
ol.sc [Sat, 10 Oct 2009 11:32:38 +0000 (11:32 +0000)]
Updated to the level of apple2.sgml

git-svn-id: svn://svn.cc65.org/cc65/trunk@4354 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoSome fixes to the recent change.
ol.sc [Sat, 10 Oct 2009 11:11:25 +0000 (11:11 +0000)]
Some fixes to the recent change.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4353 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded quite some info on the stuff in 'cfg' and 'obj'. Apple2enh needs to be adjusted...
ol.sc [Fri, 9 Oct 2009 22:19:35 +0000 (22:19 +0000)]
Added quite some info on the stuff in 'cfg' and 'obj'. Apple2enh needs to be adjusted too for sure, but check the result of the nightly build first.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4352 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded a simulated console (memory mapped screen device, inpout device will
uz [Thu, 8 Oct 2009 18:33:50 +0000 (18:33 +0000)]
Added a simulated console (memory mapped screen device, inpout device will
follow).

git-svn-id: svn://svn.cc65.org/cc65/trunk@4351 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a bug: Attribute numbers were not correctly read.
uz [Thu, 8 Oct 2009 17:54:23 +0000 (17:54 +0000)]
Fixed a bug: Attribute numbers were not correctly read.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4350 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded the __STDC_HOSTED__ macro.
uz [Thu, 8 Oct 2009 15:00:25 +0000 (15:00 +0000)]
Added the __STDC_HOSTED__ macro.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4349 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRewrote handling of the -W command line option. It is now used to enable or
uz [Thu, 8 Oct 2009 13:29:35 +0000 (13:29 +0000)]
Rewrote handling of the -W command line option. It is now used to enable or
disable warnings by name.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4348 b7a2c559-68d2-44c3-8de9-860c34a00d81