1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-19 21:32:19 +00:00
Commit Graph

5195 Commits

Author SHA1 Message Date
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
uz
9d0a2c3007 Add comment about meaning of directory entry type.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5671 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-03 13:58:29 +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
ebca2991a3 Moved most of the file type detection from cbm_dir.c into a new function
called _cbm_filetype().
Added an assembler include file with the file type definitions from cbm.h.
Added a first implementation of readdir() for the CBMs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5669 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-02 22:56:14 +00:00
uz
eab5f250ad New function _dirskip that allows to skip an amount of bytes from the
directory with error check.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5668 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-01 19:23:34 +00:00
uz
8087959e18 New entry point to push something pointed to by ptr1 with index in Y.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5667 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-01 19:19:45 +00:00
uz
08b4ed1035 Added the POSIX functions opendir() and closedir().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5666 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-30 19:37:57 +00:00
uz
6952703d69 Added a header file for the internal representation of DIR.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5665 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-29 21:39:40 +00:00
uz
f6209f1344 Added a struct dirent for the CBMs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5664 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-29 21:19:50 +00:00
uz
64d3d9e41f Add provisions to open a disk directory using open().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5663 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-29 20:52:18 +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
808f86f49f Fixed a warning caused by an empty <itemize> section.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5661 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-28 11:14:10 +00:00
uz
293c279416 Tape load and save functions for the Oric Atmos. By Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5660 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-05-28 11:11:39 +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