uz
ec1f955a6e
For commutative operators processed by hie_internal, if the left side is a
...
constant, exchange the order of the operands so that better code can be
generated.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5721 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 18:12:24 +00:00
uz
b5d88fdedd
Mark commutative operators as such (no change in code until now).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5720 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 15:49:53 +00:00
uz
c1d7ed26e8
Unified the "store via pointer" optimization routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5719 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 15:46:45 +00:00
uz
7c9b27c048
Be more flexible when detecting a special sequence that can be optimized.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-15 20:51:14 +00:00
ol.sc
b014bd8196
Added basic Apple linker config for assembler programs (similiar to C64).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5717 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-14 20:59:08 +00:00
ol.sc
95686b169e
Moved actual computation of DOS 3.3 header to linker configurations:
...
- This will allow for different "formulas".
- This brings things together in one place.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5716 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-14 20:44:35 +00:00
uz
9142a300c1
Another optimization for array stores.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5715 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-12 18:11:53 +00:00
uz
383157e743
Size optimizations.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5714 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 18:16:17 +00:00
uz
c66185259b
Extend OPtShift3 to shift counts larger than 1.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5713 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 17:58:32 +00:00
uz
22078ba924
The new module was missing from the Watcom makefile.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5712 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 07:45:47 +00:00
uz
cb9ef2f96a
Added a forgotten header file.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5711 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 07:06:24 +00:00
uz
8dc74f33da
Another optimization for right shift of the sum of two bytes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5710 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 22:15:00 +00:00
uz
878f469fc8
Removed a unnecessary duplicate call to one routine.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 21:47:52 +00:00
ol.sc
9cc99876b2
Moved Apple EXEHDR to separate module (similiar to CBMs).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 21:05:51 +00:00
uz
cf509a775d
Moved "store through pointers" optimizations into its own file and added
...
another one.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5707 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 20:09:40 +00:00
uz
4b80a3b9cd
Added new pushl0 runtime function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 19:23:15 +00:00
uz
85b25b3d22
Added an entry point to push a 32 bit long value.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5705 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 19:15:52 +00:00
uz
efb4cc9e37
Rearrangements for smaller size of generated code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5704 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 19:02:54 +00:00
uz
c03fd881e3
Changes for better code generation.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5703 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 18:55:22 +00:00
uz
130e8fd090
Changed the code so that it better suits the code generation of the compiler
...
(which means, the resulting code is shorter).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5702 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 18:32:38 +00:00
uz
bfd0f58686
Shortened the code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5701 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 18:25:22 +00:00
ol.sc
cc5fd1dd72
Replaced (broken) assert() with #error and added a source bitmap.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5700 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 17:52:23 +00:00
ol.sc
a9d1d51f56
Added demo applicaion showcasing sp65 in combination with GEOS.
...
TODO: Fix the assert() calls.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5699 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 14:49:13 +00:00
ol.sc
45bf954fbe
Better define 'EXTBSS' to allow developer to memset() set it to zero on startup.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5698 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 12:37:32 +00:00
ol.sc
f3cc7a4a32
Minor change.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5697 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 12:20:50 +00:00
ol.sc
ffc06fcea3
Apple GEOS reserves beside the main app area at $4000-$C000 a secondary app area at $0C00-$2000. While it was an elegant idea to use that secondary area for overlays at the end of the day those 5 kB are just too small. So now overlays go at the end of the main area (as with GEOS 64/128).
...
However the stack (usually 1 kB) can be securely placed in the secondary area without effort from the side of the developer. The rest of the secondary area (usually 4 kB) is made available to the developer as (uninitialized) 'EXTBSS'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-08 21:46:51 +00:00
uz
5cf9f585a6
In error or warning messages, output the name of the library if this is
...
relevant. It's otherwise difficult to know what happens when ar65 is called
from within a makefile or similar.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5695 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-07 19:59:51 +00:00
uz
4e0cbcf33f
Reorder variables to take advangate of improved code generation.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5694 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-07 13:31:32 +00:00
uz
b916fae1cc
Generate special memcpy code if the target is less than 256 bytes in size and
...
located at the stack bottom.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5693 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-07 13:30:21 +00:00
uz
0f7f7796b1
Added info about the subysp function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-07 13:14:49 +00:00
uz
cff1a6ffdb
Be sure to check the availability of code entries before accessing them.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5691 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-06 22:01:04 +00:00
uz
61c1f6b270
Added more to the list of "harmless" calls that do not interrupt a
...
pushax/stackop sequence.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5690 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-06 21:52:54 +00:00
uz
fa69f31982
Don't emit special code because it doesn't work well with the optimizer.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5689 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-06 21:52:09 +00:00
uz
fe1c4cd46b
Detect an additional sequence that is used with pointers in register
...
variables.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5688 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-06 21:51:10 +00:00
uz
279dc29b45
Output the optimization steps that had changes when debugging is enabled.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5687 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-06 21:50:10 +00:00
uz
e92356cb36
Added the test program for the POSIX directory routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5686 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-06 18:31:58 +00:00
uz
e219190e39
Document changed behaviour of the output processors for sp65.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5685 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-04 22:09:03 +00:00
uz
e416092f70
Similar changes as for the C output target: If the attribute "ident" is given,
...
place the data into a .PROC with this name. Add additional constants named
COLORS, WIDTH and HEIGHT within this .PROC.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5684 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-04 19:29:39 +00:00
uz
2f87dbc27e
Allow a third, optional filename argument for cbm_opendir.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5683 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-04 18:32:38 +00:00
uz
e5cdab4544
Fixed a C99ism.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5682 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-04 07:48:37 +00:00
uz
95413d0350
Small optimization for shorter code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5681 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 16:49:23 +00:00
uz
ed7db04ca5
Added descriptions for all functions in dirent.h.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5680 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 16:45:37 +00:00
ol.sc
3cb0cce00d
Added secondary linker config for C64 overlays (incl. demo program).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5679 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 16:16:11 +00:00
uz
ea51c5a4e2
Parse the name passed to opendir().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5678 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 15:48:32 +00:00
uz
2a53124b15
Don't set errno when the regular end of directory is reached. Plus minor code
...
cleanup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5677 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 15:31:19 +00:00
uz
c40b54ee6c
Implemented rewinddir/seekdir.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5676 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 15:11:32 +00:00
uz
5f43589885
Fix two place where the directory offset wasn't tracked correctly.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5675 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 15:01:32 +00:00
uz
55463bbf91
Removed unnecessary include files.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5674 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 14:32:15 +00:00
uz
3a8365c445
Added the telldir() function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5673 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 14:03:22 +00:00
uz
a83bf3dc04
Implement special read function that sets errno in case of a short read. Drop
...
_dirskip in favour of the new function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5672 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 13:59:31 +00:00