ol.sc
094ffa1984
Renamed segment 'HIGHCODE' to 'LC because:
...
1. Its use isn't limited to code. It may as well be used for rodata.
2. This fits better to the new __LCADDR__ / __LCSIZE__ parameters.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5723 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 20:57:49 +00:00
ol.sc
c9555b328a
The Apple2 linker configs basically cover two dimension of settings:
...
1. BIN vs. SYS vs. Loader
2. With Quit code vs. w/o Quit code vs. full LC
Up two now these two dimensions were sort of folded into a number of useful combinations. However with the new asm config and the upcominger overlay config we end up with just to many configs.
Therefore now the second dimension isn't expressed anymore as distinct config. Rather the user has to override __LCADDR__ and __LCSIZE__ in order use the Quite code area or the full LC.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5722 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 20:36:34 +00:00
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