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

7081 Commits

Author SHA1 Message Date
Christian Groessler
ec7751332f Fix exec() for atarixl target.
The final part of exec() called 'excexit' and only then restored the
stack pointer to its value at program entry.  'excexit' does all
cleanup (the same as '_exit()'), which means that on the atarixl
target the ROM is banked in again.  On big programs the 'SP_save'
variable might reside at a high memory address which is no longer
accessible after the ROM has been banked in.
The change just moves the restoration of the stack pointer before
the call to 'excexit'.

Another change lets exec.s compile if UCASE_FILENAME is not defined.
And some other small cleanups, also in open.s.
2016-06-15 23:52:16 +02:00
Oliver Schmidt
2c8b8d90bf Merge pull request #311 from groessler/something_to_pull
Fix doesclrscrafterexit() function on atarixl target.
2016-06-15 08:59:50 +02:00
Oliver Schmidt
d8dfc29297 Merge pull request #310 from groessler/atari-exec-devel
Implement exec() for Atari XDOS.
2016-06-15 08:58:23 +02:00
Christian Groessler
d0faf471b8 Some improvements to Atari exec() after review. 2016-06-14 20:44:57 +02:00
Christian Groessler
4aa9a414c6 Fix doesclrscrafterexit() function on atarixl target.
On atarixl, the screen is always cleared, regardless of the running DOS.
2016-06-13 21:16:27 +02:00
Christian Groessler
94ba9575ec Implement exec() for Atari XDOS.
- Adds new ENOEXEC error code, also used by Apple2 targets.
- Maximum command line length is 40, incl. program name. This is
  an XDOS restriction.
- testcode/lib/tinyshell.c has been extended to be able to run
  programs.
2016-06-13 20:40:01 +02:00
Oliver Schmidt
271b65aa70 Added hint on how to quit program. 2016-06-12 23:48:19 +02:00
Oliver Schmidt
98973ee901 Avoid warnings on monochrom targets (and remove unnecessary code). 2016-06-12 23:30:29 +02:00
Oliver Schmidt
524813ff60 Allow to build samples from the main Makefile. 2016-06-12 23:30:29 +02:00
Oliver Schmidt
4fc27ffc98 Merge pull request #309 from greg-king5/map-zero
Allow character code 0x00 to be remapped with other character codes.
2016-06-11 16:13:24 +02:00
Greg King
573381a340 Allowed character code zero to be remapped with other character codes. 2016-06-11 06:43:19 -04:00
Oliver Schmidt
e95d07aa97 Merge pull request #308 from greg-king5/funcref
Update the function reference document.
2016-06-09 08:57:03 +02:00
Greg King
0835985999 Updated the function reference document.
* Added doesclrscrafterexit() to cc65.h's list.
* Added header-file function lists for some new target platforms.
2016-06-08 21:05:56 -04:00
Oliver Schmidt
2f486b6201 Merge pull request #307 from groessler/something_to_pull2
Add Atari version of of doesclrscrafterexit().
2016-06-07 15:13:28 +02:00
Christian Groessler
5705d0b55b Use 'return0' for default 'doesclrscrafterexit()' implementation in libsrc/common.
Fix include/atari.h formatting.
2016-06-07 15:05:00 +02:00
Christian Groessler
308767cbae fix wrong header reference in doesclrscrafterexit() description 2016-06-07 12:22:25 +02:00
Christian Groessler
346d88a6a7 Add issues from pull request #307. 2016-06-07 12:07:38 +02:00
Oliver Schmidt
effdc58d88 Merge pull request #306 from groessler/something_to_pull
Some Atari runtime library fixes.
2016-06-07 10:21:59 +02:00
Christian Groessler
c7874b9f60 Add Atari version of of doesclrscrafterexit().
- Update documentation.
- Update atari.h and apple2.h header files.
- Adapt Atari test/target programs.
- Fix a typo in "div" entry in funcref.sgml.
2016-06-07 00:42:51 +02:00
Christian Groessler
27841c7b40 Some Atari runtime library fixes.
* libsrc/atari/ucase_fn.s: Fix handling if input parameter 'tmp2' is 0.
* libsrc/atari/open.s: Set 'tmp2' parameter for 'ucase_fn' if DEFAULT_DEVICE
  is not defined.
2016-06-06 22:45:20 +02:00
Oliver Schmidt
13482984ca Introduced internal gotoxy that pops both parameters.
About all CONIO functions offering a <...>xy variant call
  popa
  _gotoxy

By providing an internal gotoxy variant that starts with a popa all those CONIO function can be shortened by 3 bytes. As soon as program calls more than one CONIO function this means an overall code size reduction.
2016-06-05 14:58:38 +02:00
Oliver Schmidt
d670998814 Added Apple II version of doesclrscrafterexit().
The prototype and documentation is supposed to be provided together with the ATARI version.
2016-06-05 13:01:42 +02:00
Oliver Schmidt
02b8469875 Added full stop. 2016-06-03 21:21:22 +02:00
Oliver Schmidt
6f0b57fe51 Added chrcvt65 to the Visual Studio project. 2016-06-03 11:37:15 +02:00
Oliver Schmidt
8dd003d2b3 Added --print-target-path option.
If cc65 is installed and used as designed there's no need whatsoever for CC65_HOME (both on *IX and Windows) from the perspective of the cc65 binaries. If the user however has to access files from the 'target' directory thenhe ends up with some assumption on the cc65 installation path nevertheless :-(

In order to avoid this I added the --print-target-path option. It "exports" the logic used by the cc65 binaries to locate their files to the user thus allowing him to leverage the same logic to locate the target files in his build scripts / Makefiles.
2016-06-03 11:08:53 +02:00
Oliver Schmidt
9f01392922 Write overlays to d64 image. 2016-06-02 20:49:10 +02:00
Oliver Schmidt
ce45f75987 Harmonized goal name. 2016-06-01 23:51:43 +02:00
Oliver Schmidt
d653054d98 Allow usage of C1541 environment variable. 2016-06-01 23:48:09 +02:00
Oliver Schmidt
24256256fb Removed shell for-loop.
Just a few of the many reasons why shell for-loops have no place in (GNUmake) Makefiles:
* They don't conform to https://www.gnu.org/software/make/manual/html_node/Utilities-in-Makefiles.html
* They break Windows builds for sure
* They don't fit to make's approach of working with sets
* They break make parallelism
2016-06-01 23:47:02 +02:00
Oliver Schmidt
38778cdeb6 Don't cleanup files "just in case".
The build doesn't create *.lbl files so we're not deleting *.lbl files.
2016-06-01 23:04:46 +02:00
Oliver Schmidt
1ab725e526 Don't hide build commands.
The samples Makefile serves educational purposes. From that perspective it's counterproductive to hide the actual build commands. Apart fom that it becomes visible if an installed cc65 is used to build the samples.
2016-06-01 23:00:37 +02:00
Oliver Schmidt
506e44fb5d Corrected cleanup semantics.
There's no zap goal in cc65 Makefiles.
2016-06-01 22:50:42 +02:00
Oliver Schmidt
b75e36bba1 Don't ignore more than necessary.
We know that the one and only cc65.zip we want to ignore lives in the root directory.
2016-06-01 22:36:38 +02:00
Oliver Schmidt
ec06d162bd Fixed clean goal on Windows.
Now that the clean goal of the samples Makefile is part of the global clean goal it should work on Windows!

BTW: Ideally the whole samples Makefile should work on Windows ;-))
2016-06-01 22:14:30 +02:00
Oliver Schmidt
d78b44f8c6 Adjusted to the cc65 Makefile style.
The cc65 Makefiles have a single .PHONY target. It serves as an overview of the "interesting" goals supported by the Makfile.
2016-06-01 21:08:47 +02:00
Oliver Schmidt
6fca6897cd Removed tab characters.
The cc65 code base uses tab character only for make recipes.
2016-06-01 20:59:33 +02:00
Oliver Schmidt
d455263e66 Don'r presume that the C64 is the only target.
Other targets have disks too and if at some point some one is interested enough to add support for disk creation for other targets too then 'disk' is no good goal name for a C64 disk.
2016-06-01 19:46:02 +02:00
Oliver Schmidt
3c8fd588f6 Don't fiddle with foreign files.
No cc65 tool creates *~ files so we don't cleanup *~ files. If some other tool (like an editor) creates *~ files it's up to the user - and only him - to decide when those files are to be deleted !
2016-06-01 19:41:51 +02:00
Oliver Schmidt
04dc8e340c Merge pull request #305 from silverdr/target_goodies
corrected samples and samples.d64 targets
2016-06-01 16:44:57 +02:00
Patrycjusz R. Łogiewa
b7e7d1496b corrected all samples and samples.d64 targets 2016-06-01 16:37:05 +02:00
Oliver Schmidt
89329f1519 Merge pull request #287 from silverdr/target_goodies
moved output of target utils and drivers to separate directory
2016-06-01 11:01:56 +02:00
Oliver Schmidt
f1a052f259 Merge pull request #303 from groessler/something_to_pull
Atari: get current drive on XDOS
2016-05-31 12:47:11 +02:00
Christian Groessler
0114a850d9 Atari, getdefdev.s: use mnemonics for 'crvec'. 2016-05-31 12:24:21 +02:00
Oliver Schmidt
1a436d897e Merge pull request #304 from groessler/something_to_pull2
w2cas: use atexit() to wait for key press at program ternination.
2016-05-31 11:45:40 +02:00
Christian Groessler
4d02d47832 Use atexit() to wait for key press at program ternination.
Idea by polluks.
2016-05-31 10:38:02 +02:00
Christian Groessler
c1f17e9c18 Atari: make __getdefdev function ROM-friendly 2016-05-31 09:28:53 +02:00
Christian Groessler
9523fa2d33 Atari: get current drive on XDOS 2016-05-31 07:37:58 +02:00
Patrycjusz R. Łogiewa
4dcfc036c8 samples zip and install targets moved into samples/Makefile as agreed 2016-05-30 17:42:01 +02:00
Oliver Schmidt
b979fb5763 Minor adjustment to recent change. 2016-05-30 14:31:53 +02:00
Oliver Schmidt
37ad190820 Merge pull request #302 from groessler/something_to_pull
Small optimization in apple2 exec.s.
2016-05-30 14:29:56 +02:00