1
0
mirror of https://github.com/cc65/cc65.git synced 2024-10-16 11:23:57 +00:00
Commit Graph

2361 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
d5cf83deba Fix output of segment sizes. It was broken after some changes to the format.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5670 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 13:39:28 +00:00
uz
4663245219 Change data generation for C output. The ident attribute is now optional.
Without it, just the data is output. With an identifier given, there will be
additional #defines for xxx_COLORS, xxx_WIDTH, xxx_HEIGHT, and the data is
places into an array with the given name.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-28 11:35:44 +00:00
uz
47c87eb335 Fixed an error: When guessing the address size of an expression used in an
instruction that contains undefined symbols, and the effective address allows
just one address size, use this size instead of the default data segment size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5658 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-25 16:28:46 +00:00
uz
7d62062bd2 Added an optimization for signed shift right.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5657 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-09 18:00:27 +00:00
uz
2ce084228f Fixed a comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-25 17:26:30 +00:00
uz
0ff4e5cf64 The program dumped core when read/write was used without a conversion of the
input to binary data.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5651 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 21:57:28 +00:00
uz
cd7e65f97e Fixed an uniniitalized variable which caused ranom error messages on static
local variables.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 21:38:31 +00:00
uz
7bf80a4d73 Reverted errorneously commited change to the makefile.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5649 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 18:09:17 +00:00
uz
faf58a8220 Fixed an error when parsing local variables: Variables must be inserted into
the symbol table *before* the optional initializer is parsed, because they
might be referenced in the intializer.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5648 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-22 18:08:45 +00:00
uz
b0c4678ad2 More cleanup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5647 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-11 12:23:33 +00:00
uz
b0ed819891 More preparations for loadable CPUs. Will still not compile.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5646 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-09 11:55:18 +00:00
uz
4858614605 Moving around stuff. Preparation for loadable CPUs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5645 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-06 11:35:56 +00:00
uz
74ee7a44a9 One more intermediate state - not compilable.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5644 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-05 19:55:04 +00:00
uz
10d58204b5 Intermediate state - doesn't run as is.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5643 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-05 13:30:21 +00:00
uz
032c16dda4 Reenable Break(), use a string buffer for safe formatting.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5642 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 17:35:34 +00:00
uz
b5d4321a4b Added support for several colors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5641 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 17:34:54 +00:00
uz
31e0666087 Use FileStat instead of stat.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5640 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:28:33 +00:00
uz
2cd0b5ae91 Fixed an error in the conversion function from Unix time to FILETIME.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5639 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:27:19 +00:00
uz
7287d86dd1 Use the replacement function to set file times.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:13:28 +00:00
uz
a0c6ae2c62 Added a replacement for utime(), because it has the same DST bug as stat().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 13:01:56 +00:00
uz
b833c6c8c5 Explicitly ignore the function result of CloseHandle().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5636 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-03 12:54:17 +00:00
uz
dd6475ac3d Fixed an invalid offset.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5635 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 19:29:04 +00:00
uz
a9550ade4c Added a missing #include.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5634 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 17:20:10 +00:00
uz
f9729fd0cf Use the new FileStat function to get correct file modification times under
Windows.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5633 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 17:01:05 +00:00
uz
65fe2ad0d3 Add a new module that works around a bug in the Microsoft version of stat. The
function is buggy since the first version of windows that supports something
else than FAT, and instead of fixing the problem, Microsoft has declared it
"works as designed". The problem has made it into .NET and is also visible in
the standard windows file explorer (modification times of untouched files will
change when entering or leaving DST).
Please note that the new FileStat function returns incorrect times for files
on FAT file systems. This is because I have currently no idea on how to
identify the file system for a given file. However, it should be correct in
quite some more cases than stat().


git-svn-id: svn://svn.cc65.org/cc65/trunk@5632 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 16:56:42 +00:00
uz
baa4774b08 Fixed a comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5631 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 15:48:53 +00:00
uz
35e1184901 Removed unneeded include files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5630 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-01 15:48:11 +00:00