655ba3e6eeAdded a C callable entry point for the division routine.
uz
2009-11-04 18:25:29 +00:00
c200e0ec94Added division routine. Removed C callable entry points from mul routines, they're now in common.
uz
2009-11-04 18:23:40 +00:00
851926b301Add C callable special multiplication routines.
uz
2009-11-04 18:17:00 +00:00
56e035635bUse new multiplication routine.
uz
2009-11-04 13:46:16 +00:00
7c804513faThe 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.
uz
2009-11-04 13:45:27 +00:00
1bec071755- 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)
ol.sc
2009-11-03 22:20:48 +00:00
2135bd1543Added prototypes for C callable multiplication routines.
uz
2009-11-03 20:36:30 +00:00
100c470727Added C callable entry point for the 16x16=32 multiplication.
uz
2009-11-03 17:43:57 +00:00
0c1703f8fdAdded 16*16=32 multiplication routine.
uz
2009-11-03 13:40:03 +00:00
6078953baaDo 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.
uz
2009-11-02 22:31:32 +00:00
87866e3099Working on the TGI API, adding vector fonts. Only roughly tested!
uz
2009-11-02 22:29:49 +00:00
fdc7604d8fAdded separate 8x8=>16 multiplication routine as start of the multiplication and division stuff cleanup.
uz
2009-11-02 22:28:02 +00:00
4b601bea40- Adjusted TEXTSTYLE and OUTTEXT to TGI specs - Removed defunct scaling support from TEXTSTYLE - Optimized OUTTEXT - Clarified font source and format - Removed generic macpack
ol.sc
2009-11-02 21:38:18 +00:00
0787e45aeeAdded macros for jumps after unsigned compares to the "generic" macro package. Removed BGE/BLT as native instructions for the 65816.
uz
2009-11-02 16:26:46 +00:00
1518a4813cThe X register must be zero on return.
uz
2009-11-02 16:24:26 +00:00
3b06aaaf85Added the new toascii function for the CBMs.
uz
2009-11-02 16:23:32 +00:00
38641d9af8Added prototype for toascii(c);
uz
2009-11-02 16:11:32 +00:00
7f865046f3Fixed an error in the color setting code which caused tgi_init to fail.
uz
2009-11-02 15:36:13 +00:00
1e777d9406Added a typedef for tgi_vectorfont_header, because the name is so long.
uz
2009-11-01 22:43:09 +00:00
2e5281fa2dAdded tgi_load_vectorfont(). Fixed tgi_free_vectorfont().
uz
2009-11-01 22:35:22 +00:00
25ccbeeaa8When initializing the driver, set white as the drawing color.
uz
2009-11-01 22:33:27 +00:00
912cf89702Added new constants from tgi.h
uz
2009-11-01 22:32:14 +00:00
57c9a8f796Additional error code.
uz
2009-11-01 22:01:23 +00:00
5bfe33e4b7Small changes in definitions. Additional error code.
uz
2009-11-01 22:01:06 +00:00
5a2a741cdeAdded tgi_free_vectorfont.s
uz
2009-11-01 21:53:34 +00:00
97ef7df9f5Fixed a bug (wrong order of variables).
uz
2009-11-01 21:53:22 +00:00
944749e07fPreparations for use of vectorfonts.
uz
2009-11-01 21:49:09 +00:00
23c96f81c0Some small format changes. Output name is input name + '.tch'.
uz
2009-11-01 21:33:28 +00:00
45777792eeReplaced obsolete 'codeseg' with 'code-name'.
ol.sc
2009-11-01 10:48:43 +00:00
784c709f97Wrote the actual conversion. Still untested.
uz
2009-10-31 15:42:59 +00:00
b8b3dcce74Fixed a problem introduced with the last change.
uz
2009-10-31 14:01:22 +00:00
00a1121d8cFixed 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.
uz
2009-10-31 10:36:59 +00:00
b86682d29dFile reading, verification and comments.
uz
2009-10-30 22:34:08 +00:00
6da8c5639cChanges to the TGI driver API:
ol.sc
2009-10-30 21:44:36 +00:00
e60544452eAdded the chrcvt vector font converter to the top level makefile.
uz
2009-10-30 21:35:25 +00:00
3a9d29d5e2Created the skeleton of the vector font converter.
uz
2009-10-30 21:34:40 +00:00
763fe0b802Start of TGI changes. Untested, may not work.
uz
2009-10-30 21:26:35 +00:00
7b8fbb31daRewrote the sinus display using the new cc65_sin function.
uz
2009-10-30 14:03:21 +00:00
4e4beef8b7Fixed the return types of the sine/cosine functions. Added comments.
uz
2009-10-30 14:02:24 +00:00
4d93094936Added new header file.
uz
2009-10-30 10:01:31 +00:00
c65925b0b9Merged 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.
uz
2009-10-30 09:58:11 +00:00
7d453f5e11Added fixpoint sine and cosine functions.
uz
2009-10-29 23:19:00 +00:00
50c1db0331Changes to the TGI driver API:
ol.sc
2009-10-29 23:11:46 +00:00
07e629a342Allow 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.
uz
2009-10-29 20:30:41 +00:00
5304a8149eChanges to the TGI driver API:
uz
2009-10-29 20:13:56 +00:00
1d9fc5f655Changed 'Clear the screen' to 'Clear the drawpage'.
ol.sc
2009-10-27 21:20:06 +00:00
33af076cfcLynx TGI driver update by Karri Kaksonen. Adds collision detection.
uz
2009-10-26 19:28:11 +00:00
f24adadb9cAdded 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.
uz
2009-10-26 15:37:51 +00:00
c437afd62bAdded another optimization step.
uz
2009-10-26 10:17:53 +00:00
7687489a08Fixed a bug in the last change. For variables that have no initializer, no storage was allocated if -Cl (static locals) was in effect.
uz
2009-10-26 10:17:17 +00:00
f4b4a812edRemoved an unused table.
uz
2009-10-24 19:37:57 +00:00
bd45df7cadRearranged/duplicated optimization steps to generate better code in a few cases.
uz
2009-10-23 10:03:46 +00:00
814be2524bRestructured 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.
uz
2009-10-23 09:22:17 +00:00
54a8a778ebRemove 65C02 code, because in this case, the value of Y on return is always zero, which can be used by the optimizer.
uz
2009-10-20 08:25:58 +00:00
96b46beee0Fixed 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.
uz
2009-10-20 08:21:12 +00:00
4372d111a2The CodeEntry buffer array was one entry to small.
uz
2009-10-19 19:37:28 +00:00
3b079c0947Added another optimization step.
uz
2009-10-19 19:12:50 +00:00
f4acd3eb4fAdded a makefile for cc65 for testing purposes.
uz
2009-10-19 18:02:40 +00:00
1ccb6f916dRemove __CC65__ since it doesn't support all attributes gcc does.
uz
2009-10-19 17:55:49 +00:00
399c37273dMark an unsed parameter as unused. __attribute__ also supported by cc65.
uz
2009-10-19 17:25:43 +00:00
548336a7bdRenamed attribute handling functions. Added SymHasAttr().
uz
2009-10-19 10:19:26 +00:00
918171231cMarked abort() and longjmp() with __attribute__((noreturn)).
uz
2009-10-19 09:29:09 +00:00
a5a9700d19Changed 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.
uz
2009-10-18 21:42:59 +00:00
5a00b38aabFixed 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.
uz
2009-10-18 18:31:02 +00:00
0ce362a69bSome cleanup in the code generator. Added a g_drop function. g_drop and g_space can now handle sizes > 255 bytes.
uz
2009-10-15 21:08:03 +00:00
1f92d6bfa2Warn when structs are passed by value to a function.
uz
2009-10-15 19:18:34 +00:00
1f489fd9e1Extend handling for "long branch to RTS" to "long branch to jump leaving function".
uz
2009-10-15 11:11:20 +00:00
635fae97fbIf 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.
uz
2009-10-15 10:21:50 +00:00
d9753c2eb7Allow switching warnings about unused pragmas on or off.
uz
2009-10-14 13:04:38 +00:00
62fdd55feeFixed a problem with SB_GetSym.
uz
2009-10-14 13:03:47 +00:00
ed2767e65fChanged 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.
uz
2009-10-14 12:55:15 +00:00
869a1369c4Fixed an error in the SB_SkipMultiple macro.
uz
2009-10-14 10:04:20 +00:00
a1fb355a9aRewrote 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.
uz
2009-10-13 21:24:32 +00:00
583b9f8fccRemoved an unused function.
uz
2009-10-11 15:10:55 +00:00
c221b3c8cfLeveraged new bit-field support.
ol.sc
2009-10-11 11:14:35 +00:00
e623c87d63New function SB_SkipMultiple().
uz
2009-10-10 20:51:52 +00:00
30586e95e8Cosmetic change. Formatting was lost because of cut&paste.
uz
2009-10-10 20:50:15 +00:00
161cf913e3Oops - forgot to make these minor things identical to apple2.sgml.
ol.sc
2009-10-10 11:38:34 +00:00
90a3e1fa8bUpdated to the level of apple2.sgml
ol.sc
2009-10-10 11:32:38 +00:00
6a72d53355Some fixes to the recent change.
ol.sc
2009-10-10 11:11:25 +00:00
b7071c05a2Added 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.
ol.sc
2009-10-09 22:19:35 +00:00
f2d1ea10d9Added a simulated console (memory mapped screen device, inpout device will follow).
uz
2009-10-08 18:33:50 +00:00
1122ddb05aFixed a bug: Attribute numbers were not correctly read.
uz
2009-10-08 17:54:23 +00:00
07c25db768Added the __STDC_HOSTED__ macro.
uz
2009-10-08 15:00:25 +00:00
b55419af59Rewrote handling of the -W command line option. It is now used to enable or disable warnings by name.
uz
2009-10-08 13:29:35 +00:00
58e8826da2Fixed some sloopy StrBuf coding.
uz
2009-10-08 12:11:51 +00:00
b19a29f80bUse the new InvArg function.
uz
2009-10-08 11:35:34 +00:00
45b469c786Use the new InvArg() function.
uz
2009-10-08 11:34:36 +00:00
b7c8c651f6New function InvArg().
uz
2009-10-08 11:31:55 +00:00
9971b645a5Fixed some sloopy StrBuf coding.
uz
2009-10-08 10:51:45 +00:00
4b4a9b444bMake AUTO_STRBUF_INITIALIZER identical to STATIC_STRBUF_INITIALIZER.
uz
2009-10-08 10:50:15 +00:00
17d592352cFixed an error with r4329: In case of a struct pointer the qualifiers of the pointers had been used, not the qualifiers of the struct.
uz
2009-10-08 09:54:46 +00:00
b208b7e3b1Merge calls to decsp. The implemented routine is not perfect and will miss some pieces of code, but it's better than nothing.
uz
2009-10-07 15:28:35 +00:00
2ae20c3b61Get rid of ldaconst/ldxconst/ldyconst in many places.
uz
2009-10-07 15:27:26 +00:00
3be976189bBumped the version number
uz
2009-10-06 12:24:15 +00:00
9c5224165fFixed a bug: A similar problem as that with structs does also exist for arrays. An array element has all qualifiers from itself and from the array declaration.
uz
2009-10-05 18:46:39 +00:00
8dd3cc35dcWhen using GetQualifier, pass correct params :-)
uz
2009-10-05 18:38:01 +00:00