1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-07 04:29:01 +00:00
Commit Graph

5298 Commits

Author SHA1 Message Date
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
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