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

190 Commits

Author SHA1 Message Date
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
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
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
33926dee54 Fixed an error: The write routine didn't detect write errors correctly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5653 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-04-25 20:00:09 +00:00
uz
285aaf8933 Patch by Stefan Haubenthal: Remove __fastcall__ in comments and/or the
function description for functions that don't take any parameters.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-04 13:08:54 +00:00
uz
4127923ad1 Code optimization contributed by Kajtar Zsolt, soci@c64.rulez.org
git-svn-id: svn://svn.cc65.org/cc65/trunk@5356 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-01 20:03:33 +00:00
uz
49cdfcf5b0 The BASIC stub does encode the start address with only 4 digits. Add a check
so the linker will not generate an invalid header for program files with
larger start addresses.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5074 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-08 08:58:41 +00:00
uz
ba2a945417 Changes by Greg King:
Made cbm_readdir() report a disk's format-code and more file-access modes.
Added more definitions to <cbm.h> for cbm_readdir().  And, improved the
header's comments.  Added some ASCII-to-PetSCII character-mappings.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4986 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-16 12:28:06 +00:00
uz
c7528d6e3e Patch by groepaz to fix the problem that DEL files would appear as type DIR.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4983 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-07 20:58:03 +00:00
uz
a9990fbcf3 Changed priorities of destructors so atexit will be called before open files
are closed on exit, so atexit handlers may close the files themselves or
whatever is necessary for a clean shutdown.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-28 10:55:03 +00:00
uz
85c157f8fa Removed the code that checks for valid/invalid chars in a filename. Actually
most characters are valid, and even the remaining ones do something more or
less useful.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4867 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-15 21:50:58 +00:00
uz
62e39780bc Added a module that contains a small basic stub (SYS header) that starts
machine language code following it. Using this header, machine language
programs linked to this stub can be started using RUN.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4861 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-14 11:50:38 +00:00
uz
ae922930a1 New module that contains the load address expected by the Commodore machines
in the first two bytes of a file loaded with LOAD.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4855 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-13 16:56:42 +00:00
uz
ae98a6db40 Fixed sources to use the new __mappederrno and __directerrno functions, and
made handling of _oserror and errno consistent.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-26 11:28:44 +00:00
uz
8806c31e4a No need to import __oserror.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4719 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-10 19:14:42 +00:00
uz
131a5cad09 Renamed oserrcheck to __mappederrno. Added an additional function named
__directerrno and moved both to errno.s. Changed several sources to use these
functions. Needs testing.
                         


git-svn-id: svn://svn.cc65.org/cc65/trunk@4718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-10 18:10:53 +00:00
uz
e0c00d2054 Fix errno/oserror handling.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4711 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-04 10:50:58 +00:00
uz
a86d23a63c Change calling convention of cbm_save() to __fastcall__.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-04 10:25:53 +00:00
uz
d7aaac7e71 Return EUNKNOWN instead of EINVAL if the error code cannot be mapped.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4695 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:10:22 +00:00
ol.sc
d1aad57b98 Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a constructor with a very high priority to be called before DEVNUM gets overwritten by other constructors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-14 23:12:54 +00:00
uz
c6831e936a Added --forget-inc-paths to the assembler command line to avoid problems if
more than one version of ca65 is installed on the machine (Spiro Trikaliotis).


git-svn-id: svn://svn.cc65.org/cc65/trunk@4530 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-18 11:58:50 +00:00
uz
1518a4813c The X register must be zero on return.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4426 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 16:24:26 +00:00
uz
3b06aaaf85 Added the new toascii function for the CBMs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4425 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 16:23:32 +00:00
uz
30586e95e8 Cosmetic change. Formatting was lost because of cut&paste.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4357 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-10 20:50:15 +00:00
uz
a3529cd048 Ignore start address in cbm_opendir. Rearrange the code somewhat to make it
shorter.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4319 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-03 18:38:39 +00:00
uz
d54a1ba3d2 Improved cbm_dir routines by Thomas Giesel.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4264 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 22:01:58 +00:00
uz
23dae5a04b Fixed two more function that didn't clear the high byte of the function result.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4049 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-23 21:40:36 +00:00
uz
4c4071b34a Fixed an error in cbm_k_save (on which cbm_save is based): The X register was
not cleared on return.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4048 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-23 21:38:11 +00:00
uz
931add050e Added a systime implementation by Stefan Haubenthal with a few changes. The
routine reads the TOD clock of CIA1 on the C64 and C128. Since systime was a
dummy routine common for all CBMs before, this change adds an individual dummy
routine for all other CBM systems. CBM510/610 do also have a TOD clock, so a
similar function as in the C64 could be used ...


git-svn-id: svn://svn.cc65.org/cc65/trunk@3974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:44:37 +00:00
uz
087ae8173a Be sure to read disk errors after sending the command on the command channel.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3973 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:42:37 +00:00
uz
37e08cac59 Re-added cbm_dir which was acidently removed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-05-07 18:31:57 +00:00
uz
89951068dd writefndiskcmd gets its arguments in ptr1 and Y.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 15:40:06 +00:00
uz
a0cd736adb Must open the command channel before writing to it.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3943 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:43:02 +00:00
uz
828b4226cf Comment additions and changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3942 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:42:32 +00:00
uz
9c193743a0 Added missing .export statements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3941 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:11:34 +00:00
uz
ef18b567f0 Added a new sysrename module to make the high level function rename work. Code
is untested!


git-svn-id: svn://svn.cc65.org/cc65/trunk@3940 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:06:12 +00:00
uz
30237d3c36 Moved some code from scratch.s into a new subroutine named writefndiskcmd in
the diskcmd.s module.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 14:02:52 +00:00
uz
770d230178 fnparse will return zero flag according to error (ZF=1 means no error).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3938 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 13:54:03 +00:00
uz
0cc2bf015e Reverted a change that should not have been commited.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3896 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-31 18:21:17 +00:00
uz
4812feb44b git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81 2008-08-02 22:02:54 +00:00
cuz
8440c13edd New function fndefunit.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3834 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-04-13 14:49:16 +00:00
cuz
8334d54622 Added initcwd.s from Stefan Haubenthal which initializes _cwd on startup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3540 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 13:20:49 +00:00
cuz
533e8eb9b7 getenv is now in common
git-svn-id: svn://svn.cc65.org/cc65/trunk@3485 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-21 21:31:16 +00:00
cuz
c81dc42f93 Squeezed a few bytes out of open()
git-svn-id: svn://svn.cc65.org/cc65/trunk@3452 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-03 18:04:53 +00:00
cuz
d0bee35728 Move constructor code into the INIT segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:28:46 +00:00
cuz
b74f658b93 Add definitions for tools so the makefile is useful by itself.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3263 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:35:40 +00:00
cuz
5681334d52 Fixed a bug: Closing all files on exit did not work
git-svn-id: svn://svn.cc65.org/cc65/trunk@3175 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-09 10:38:12 +00:00
cuz
e717b44d4d Fixes/improvements from Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@2873 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-01-09 17:39:55 +00:00
cuz
63437207a1 Use direct access to the position variables, since gotoxy uses them also.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2844 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-27 15:51:11 +00:00
cuz
a3109620ab Changed rm -f to $(RM)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2385 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-20 11:59:27 +00:00
cuz
7b4d3b9a9f Improved ctype.s from Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@2148 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-05-05 09:04:36 +00:00
cuz
e39b1c963e Don't add a mode when opening files for reading
git-svn-id: svn://svn.cc65.org/cc65/trunk@2014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-13 23:09:53 +00:00
cuz
a8810a464d Make sure the zap target is available
git-svn-id: svn://svn.cc65.org/cc65/trunk@1932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-06 15:35:30 +00:00
cuz
90f47ed007 CBM directory routines by Josef Soucek
git-svn-id: svn://svn.cc65.org/cc65/trunk@1920 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-02 13:18:40 +00:00
cuz
38dcb86552 Fixed int promotion problem in wherex and wherey.
Moved wherex and wherey into separate modules.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1867 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-01-01 21:33:49 +00:00
cuz
9227123e16 Allow file names up to 16 chars
git-svn-id: svn://svn.cc65.org/cc65/trunk@1814 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-21 00:06:41 +00:00
cuz
36fe6284a8 For the CBM platforms, make revers() machine dependent and use the RVS flag
of the different machines instead of a separate one.
For the C128, make the textcolor() function work in 40 and 80 column mode.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-19 20:29:27 +00:00
cuz
41f6d32cfd Fix parameters to cbm_load and cbm_save
git-svn-id: svn://svn.cc65.org/cc65/trunk@1757 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-13 00:30:40 +00:00
cuz
ebba65b0b3 Make read and write __fastcall__
git-svn-id: svn://svn.cc65.org/cc65/trunk@1711 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-03 22:31:06 +00:00
cuz
6ad3b3078f Close all open files on exit
git-svn-id: svn://svn.cc65.org/cc65/trunk@1707 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-03 21:44:58 +00:00
cuz
d7a5fbeb1a Removed __cdiff. Since the assembler does character set translation for
some time now, it is no longer needed.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 00:53:46 +00:00
cuz
cd552515fb Move more common code into rwcommon.s.
Move declaration of __errno into errno.inc.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1552 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-20 18:14:35 +00:00
cuz
6d498d8187 Use external symbols for the CBM kernal jump table functions. This allows
to emulate these functions on platforms where one or more of these functions
are not available (PET, CBM-II).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1544 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-19 23:02:47 +00:00
cuz
b2a06ab041 Add support for append mode
git-svn-id: svn://svn.cc65.org/cc65/trunk@1542 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-19 14:27:06 +00:00
cuz
ca905a8705 Allow more chars in filenames
git-svn-id: svn://svn.cc65.org/cc65/trunk@1541 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-18 19:37:02 +00:00
cuz
ad1a4c370d Don't check the IEEE status
git-svn-id: svn://svn.cc65.org/cc65/trunk@1539 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-18 18:22:26 +00:00
cuz
544ff5b900 Working on the CBM file functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@1533 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-17 22:45:55 +00:00
cuz
751aaee63d Finally: Commodore file I/O
git-svn-id: svn://svn.cc65.org/cc65/trunk@1531 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-16 23:45:15 +00:00
cuz
fc81b379d8 cbm_write is not __fastcall__
git-svn-id: svn://svn.cc65.org/cc65/trunk@1525 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-15 18:42:06 +00:00
cuz
ef9edbe357 Rewrite cbm_write() in assembler
git-svn-id: svn://svn.cc65.org/cc65/trunk@1524 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-15 18:21:32 +00:00
cuz
704ce5ae22 Added _systime for all platforms
git-svn-id: svn://svn.cc65.org/cc65/trunk@1510 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-12 22:49:38 +00:00
cuz
fcd582e3cb Added _stroserror
git-svn-id: svn://svn.cc65.org/cc65/trunk@1365 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-18 13:29:04 +00:00
cuz
574ac2393b Rewrote cbm_open and cbm_read in assembler saving about 80 bytes total.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1318 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-06-22 10:58:24 +00:00
cuz
d0599a24fe Move include files into /asminc, changed include file paths
git-svn-id: svn://svn.cc65.org/cc65/trunk@1249 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-21 14:19:16 +00:00
cuz
37f7bc4c83 Removed an old comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@1070 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-23 19:00:15 +00:00
mrintsch
babcf84f17 Changed the parameters of cbm_load and cbm_save to a more "C-like" way.
The API should be stable now.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-10 20:35:07 +00:00
mrintsch
308785487f included errno.h instead of declaring _oserrno as external
git-svn-id: svn://svn.cc65.org/cc65/trunk@940 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 23:39:47 +00:00
cuz
dd0cdd42b6 Ignore more intermediate files
git-svn-id: svn://svn.cc65.org/cc65/trunk@781 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 14:42:20 +00:00
mrintsch
b2e0ed603e cbm_write() added
changed/added some comments
all cbm_* IO functions are using _oserror now


git-svn-id: svn://svn.cc65.org/cc65/trunk@682 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-30 18:18:40 +00:00
mrintsch
787ca6a9dd completed and testet cbm_read()
git-svn-id: svn://svn.cc65.org/cc65/trunk@639 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-21 20:59:27 +00:00
mrintsch
fb76e97575 Added comments to cbm.h.
load/save returns oserror code.
Added open/close and read (which is not tested yet).


git-svn-id: svn://svn.cc65.org/cc65/trunk@637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-20 21:06:04 +00:00
cuz
dce87b81db Ignore intermediate files
git-svn-id: svn://svn.cc65.org/cc65/trunk@628 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-19 22:59:38 +00:00
mrintsch
16fded6d0c Loading and saving memory areas on cbm platforms
git-svn-id: svn://svn.cc65.org/cc65/trunk@625 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-13 22:48:19 +00:00
cuz
023d649490 Remove global namespace operator
git-svn-id: svn://svn.cc65.org/cc65/trunk@562 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-12-06 20:08:19 +00:00
cuz
f3b93741ab Use the condes feature
git-svn-id: svn://svn.cc65.org/cc65/trunk@470 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-11-22 22:19:09 +00:00
cuz
2ff5069436 Place data into RODATA, not CODE
git-svn-id: svn://svn.cc65.org/cc65/trunk@264 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-08-03 10:46:57 +00:00
cpg
0c85406f52 replaced multiple lines of "rm" commands with a single "rm" line in the
clean target. on some rm lines the argument was empty which caused the
NetBSD rm command to complain...


git-svn-id: svn://svn.cc65.org/cc65/trunk@135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-07-03 21:03:41 +00:00
uz
53dd513176 This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-05-28 13:40:48 +00:00