1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-16 02:28:57 +00:00
Commit Graph

2848 Commits

Author SHA1 Message Date
Greg King
b82bb4f5ba Moved two errno helper functions into separate files.
Only the function that actually is needed will be linked.  It is very useful for targets that do not have file-system I/O.
2015-09-25 14:06:58 -04:00
Oliver Schmidt
b2657ecef5 Merge pull request #177 from mrdudz/pcenginetarget
new target: PC Engine (TurboGrafx16)
2015-09-24 09:58:28 +02:00
mrdudz
7d453a72fb use 'plot' instead of 'PLOT' 2015-09-20 12:18:41 +02:00
mrdudz
296489ba6c added interruptor support 2015-09-19 15:55:43 +02:00
mrdudz
859604407b fixed more flaws found by greg :) 2015-09-19 15:37:39 +02:00
Oliver Schmidt
45313075fe Merge pull request #208 from greg-king5/big-jump
Improve the longjmp() and setjmp() functions.
2015-09-11 21:06:50 +02:00
Greg King
dbf0adcec9 Improved longjmp() and setjmp(). 2015-09-11 14:18:22 -04:00
Greg King
031bd2ebf0 Fixed the random-seed generators for the Commodore targets.
They use a byte from the time counter; but, it is stored in big-endian order.
2015-09-11 10:03:07 -04:00
mrdudz
088a25437d fixed VDC register assignments 2015-09-07 12:55:36 +02:00
mrdudz
af2ba26c62 fix gregs complaints :) 2015-09-04 14:14:17 +02:00
mrdudz
d0a1dc73b8 Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-09-04 13:40:52 +02:00
mrdudz
57b8af1adc style fixes 2015-08-29 15:58:57 +02:00
Greg King
9c55bd1c96 Fixed bugs in the interface for C-level interrupt handlers.
* Added an important ".code" directive.

* Import a linker-created zero-page symbol as an absolute address; then, convert it to zero-page when it is used.

Fixes bug report #198.
2015-08-26 19:33:34 -04:00
Oliver Schmidt
657cc003be Merge pull request #184 from greg-king5/fastcall
Update some fastcall info.
2015-07-23 17:11:49 +02:00
Greg King
52eec1f236 Updated the fastcall information in a document and two Assembly files. 2015-07-22 13:31:14 -04:00
Oliver Schmidt
673b27cc1b Added empty IRQ backend.
The driver kernels all require IRQ handling even if the actual drivers don't make use of it. So in order to successfully link a NES program using the joystick and/or TGI driver there has to be at least a "dummy" IRQ backend.
2015-07-22 11:36:54 +02:00
mrdudz
0e29a0993f Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-07-20 18:42:04 +02:00
mrdudz
313d2dd210 added missing chline, cvline 2015-07-19 18:06:16 +02:00
Greg King
a9982de475 Added _directerrno() to the sim6502/sim65c02 libraries. 2015-07-18 18:23:08 -04:00
Greg King
0b6bcb565e Fixed a hardware-stack leak. 2015-07-17 20:36:56 -04:00
mrdudz
996c7b493e moved all notes into regular documentation 2015-07-16 21:39:13 +02:00
mrdudz
e77060458a fixed joypad bits 2015-07-16 20:15:05 +02:00
mrdudz
3119be2a1e added some cbm-like gfx chars to draw lines and boxes 2015-07-16 17:33:00 +02:00
mrdudz
d229d51be5 make sure clocktick starts at zero 2015-07-16 16:54:40 +02:00
mrdudz
21ef6b8510 fixed screensize, timertick, revers mode 2015-07-16 16:00:32 +02:00
mrdudz
1414411bba added waitvblank and fixed get_tv 2015-07-15 19:46:26 +02:00
mrdudz
c3d45e4c47 fixed issues found by gregg 2015-07-15 13:18:12 +02:00
mrdudz
ac27ed301a _tickcount -> tickcount 2015-07-14 19:55:41 +02:00
mrdudz
83391ab67c some more tweaking, added docs page 2015-07-14 17:22:47 +02:00
mrdudz
515a61a302 added imports for conio init to conio functions, so the constructor will get linked and called automatically 2015-07-13 12:10:09 +02:00
mrdudz
9e1d39a409 more cleanup and fixing 2015-07-12 16:40:52 +02:00
mrdudz
891cb97b2f more cleanup, joystick works again 2015-07-12 14:27:24 +02:00
mrdudz
21999b081f simple conio test works again 2015-07-12 10:32:55 +02:00
mrdudz
877fd532c2 Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-07-11 13:05:26 +02:00
Greg King
146daa1d0a Made some string output functions reject an invalid NULL buffer pointer. 2015-07-09 14:46:28 -04:00
Greg King
219905c6bc Fix two string output functions' handling of their buffer-size parameter.
That parameter's type is unsigned; but, the functions return an int.  If the size is too big for a signed integer, then return an error code.
If the size is zero, then don't write anything into a buffer (the buffer pointer may be NULL).  But, do format and count the arguments.
2015-07-09 10:43:45 -04:00
Greg King
08e18c93c5 Added explicit settings of calling conventions in pointer-to-function declarations in system and library headers. 2015-06-22 00:15:48 -04:00
Oliver Schmidt
fe023a1218 Merge pull request #151 from greg-king5/fastcall
Make __fastcall__ be the default calling convention.
2015-05-26 22:39:33 +02:00
Oliver Schmidt
0f1c3b0181 Fixed comment. 2015-04-27 09:39:50 +02:00
Oliver Schmidt
1748bb1ab6 Use well-known location BLTU2 for "memmove()". 2015-04-26 14:09:21 +02:00
Oliver Schmidt
3c1cd0d867 Added cmdline support to exec().
The starting point is the CALL2051:REM <cmdline> approach. It uses the BASIC input buffer at $200. ProDOS stores the name of the loaded program at $280 (which we want for argv[0]) leaving us with 128 char buffer. If we run the program via exec() we don't need the CALL2051 but only the REM token (which is just one char). So have a maximum cmdline length of 126 (plus a terminating zero).

There's no specification for ProDOS BIN file cmdline parameters so exec() just supports the CALL2051:REM <cmdline> approach. In contrast ProDOS SYS files allow for a 'startup filename'. A ProDOS filename is short than 126 chars so having exec() general cut the cmdline after 126 chars seems reasonable. If the SYS file we exec() allows for less we cut the cmdline further.

Our 'loader.system' SYS file however allows for an unusually 126 char long "startup filename" as it is targeted towards cc65 BIN porgrams with their 126 cmdline length.
2015-04-26 14:09:20 +02:00
Oliver Schmidt
ae4f9336b3 Behave more like BASIC.SYSTEM and allow for argv[0]. 2015-04-19 21:59:05 +02:00
Oliver Schmidt
24e902059c Allow up 127 chars of cmdline for programs started by the loader. 2015-04-19 21:17:46 +02:00
Stephan Mühlstrasser
7fb206e381 Macro-based implementation of screen layout configuration modules. 2015-03-23 19:02:45 +01:00
Stephan Mühlstrasser
8b10534429 Improved fix with suggestions by Greg King. 2015-03-15 00:40:42 +01:00
Stephan Mühlstrasser
4836cf9842 Fix bad tabbing 2015-03-14 00:06:00 +01:00
Stephan Mühlstrasser
72a9e331e3 Fixed uninitialized use of low byte of address "load". 2015-03-14 00:01:12 +01:00
Greg King
38231a5cc6 Made _afailed() and uncompress() be fastcall functions. 2015-03-13 07:35:47 -04:00
Greg King
66d79da3c2 Made cbm_load() be a fastcall function. 2015-03-13 05:46:40 -04:00
Greg King
a798b1d648 Made __fastcall__ be the default calling convention for non-variadic functions. 2015-03-10 05:53:52 -04:00
Greg King
9dbce378fe Described how to change the boot loader's actions. 2015-03-08 10:06:00 -04:00
Greg King
2d50267bd8 Added a second OSI C1P program file format.
Unlike the first format, the new format is already loadable; it doesn't need to be converted.
2015-03-07 16:39:44 -05:00
Stephan Mühlstrasser
981ab10fac Replaced magic numbers with symbolic constants. 2015-03-01 20:53:57 +01:00
Stephan Mühlstrasser
1d6aa84d9a Optimization by replacing absolute with relative jump. 2015-02-28 20:29:08 +01:00
Stephan Mühlstrasser
4737ad93d5 Temporarily undo the 25 line change.
This is not yet consistent with the first visible character on
the screen.
2015-02-25 23:50:02 +01:00
Stephan Mühlstrasser
52865410d2 Fix wrong expression for top of C stack.
Thanks to Greg King for this fix.
2015-02-25 23:48:57 +01:00
Stephan Mühlstrasser
8deeb2c59e Match screen dimensions as in BASIC.
Experiments show that under BASIC by default
25 rows by 24 columns are used. 24 columns is
also the width that is fully displayed on a real
C1P on the monitor. conio now matches that now.
2015-02-23 23:07:00 +01:00
Stephan Mühlstrasser
772a98d1ec Merge branch 'c1p_kbhit' into c1p_scrsize 2015-02-23 19:17:54 +01:00
Stephan Mühlstrasser
83f16425c9 Loading A once before the loop is sufficient. 2015-02-23 19:17:27 +01:00
Stephan Mühlstrasser
cc2dc578fe Merge branch 'c1p_kbhit' into c1p_scrsize 2015-02-23 19:11:50 +01:00
Stephan Mühlstrasser
73ae95bd1c Clear bottom line when scrolling.
Fix provided by Jeff Tranter.
2015-02-23 19:06:22 +01:00
Stephan Mühlstrasser
c3b014560e Consistent naming for screen dimension constants. 2015-02-22 19:55:19 +01:00
Stephan Mühlstrasser
a7dabcda47 Define the screen dimension defines in a more meaningful way. 2015-02-22 16:27:13 +01:00
Stephan Mühlstrasser
965aded1ba Merge branch 'c1p_kbhit' into c1p 2015-02-22 11:45:02 +01:00
Stephan Mühlstrasser
7a975fa182 Mask control keys from first keyboard scan row. 2015-02-21 22:52:01 +01:00
Stephan Mühlstrasser
1b9aa7c6f3 Use character constants where appropriate. 2015-02-21 20:53:16 +01:00
Stephan Mühlstrasser
222668c016 Implemented a one-character buffer for kbhit() and cgetc().
If kbhit() detects that a key is pressed, it fetches and
buffers the character. If cgetc() detects a buffered character,
this one is returned instead of fetching one with the PROM
routine.
2015-02-21 20:24:58 +01:00
Stephan Mühlstrasser
b1969ac16a kbhit() function and scrolling.
Patch provided by Jeff Tranter.
2015-02-19 22:19:21 +01:00
Oliver Schmidt
cbb6f82b99 Merge pull request #146 from smuehlst/c1p
Add target "osic1p" for Ohio Scientific Challenger 1P
2015-02-18 20:17:03 +01:00
Stephan Mühlstrasser
92e75e9df8 Incorporated another round of feedback for pull request.
Adjusted comment formatting in several assembler files.
Removed dummy kbhit() function, as it's better to get a linker
error than an implementation that does the wrong thing.
2015-02-18 18:38:42 +01:00
Oliver Schmidt
3ed3e98ec7 Moved interrupt enabling to the interrupt constructor. 2015-02-16 15:43:08 +01:00
Stephan Mühlstrasser
e178a33d29 Fix high byte of return value, optimized. 2015-02-13 19:53:02 +01:00
Stephan Mühlstrasser
88df129215 Add dummy kbhit(), remove redundant documentation for cgetc(). 2015-02-12 22:54:21 +01:00
Stephan Mühlstrasser
3601c3fb9b Include "extzp.inc" instead of using direct imports of symbols. 2015-02-12 22:12:51 +01:00
Stephan Mühlstrasser
5d2e748bd4 Don't use .byte in BSS segments, as value is lost anyway. 2015-02-12 21:44:00 +01:00
Stephan Mühlstrasser
94f83ea439 Replace zeropage variable with standard tmp variable. 2015-02-12 21:29:19 +01:00
Stephan Mühlstrasser
b1169cbb23 Remove unneeded commented code. 2015-02-12 21:12:24 +01:00
Stephan Mühlstrasser
679f5aa675 Use constants for screen width and height. 2015-02-12 20:54:47 +01:00
Stephan Mühlstrasser
5063e0ecca Incorporated feedback for initial pull request. 2015-02-11 19:21:17 +01:00
Stephan Mühlstrasser
498fbb7ed7 Fix formatting, replace tabs with spaces. 2015-02-08 17:35:40 +01:00
Stephan Mühlstrasser
fc237faba7 Add missing newline 2015-02-08 17:12:54 +01:00
Stephan Mühlstrasser
4e03d7448c Merge branch 'master' of https://github.com/cc65/cc65 into c1p 2015-02-08 15:58:42 +01:00
Stephan Mühlstrasser
7754c573d8 Jump to boot prompt after main program exits. 2015-02-05 23:21:59 +01:00
Stephan Mühlstrasser
072e5e71c2 Video RAM mapping table was off by two bytes.
Fix contributed by Jeff Tranter.
2015-02-05 23:01:19 +01:00
Stephan Mühlstrasser
14c7e9fd16 Rename c1p target to osic1p 2015-02-03 22:42:35 +01:00
Stephan Mühlstrasser
b1f764bdc9 Minor cleanup of unnecessary newlines. 2015-01-11 20:08:39 +01:00
Oliver Schmidt
6b3083053c Merge pull request #143 from greg-king5/basic-stub
Support Atmos command line
2015-01-10 23:46:43 +01:00
Greg King
fccd2bf66a Added more info to a comment. 2015-01-09 22:19:35 -05:00
Greg King
43342366ed Added comments that say why the ZPSAVE1 and ZPSAVE2 segments must be together. 2015-01-08 17:07:28 -05:00
Greg King
22e06c41d1 Fixed a bug that had padded Atmos binaries with 25 bytes too many. 2015-01-08 03:51:20 -05:00
Greg King
d61feae7f8 Added a comment. 2015-01-07 10:51:48 -05:00
Stephan Mühlstrasser
aedefb81ec Adapted to cc65 assembler coding conventions
Assembler statements are written in lowercase.
2015-01-05 21:28:39 +01:00
Stephan Mühlstrasser
91e21ae024 Merge branch 'master' of https://github.com/cc65/cc65 into c1p 2014-12-02 20:42:54 +01:00
Stephan Mühlstrasser
fd5dca08fb Removed unused constants
They were left-overs from early attempts to implement character output.
2014-12-02 18:20:54 +01:00
Stephan Mühlstrasser
e9a90940b1 Dummy implementation for osmapperrno
Copied from atmos implementation
2014-11-30 21:05:36 +01:00
Stephan Mühlstrasser
b47a1d99ec Added scrsize() function. 2014-11-30 16:01:43 +01:00
Stephan Mühlstrasser
945ad167df Undo accidental rename of wrong scrsize.s file. 2014-11-30 16:00:55 +01:00
Stephan Mühlstrasser
fa770bada8 Added scrsize() function. 2014-11-30 15:58:59 +01:00
Stephan Mühlstrasser
3867be7166 Added cclear() and cclearxy() implementations. 2014-11-30 14:25:16 +01:00
mrdudz
1365afa845 more hacking 2014-11-30 11:20:57 +01:00
Stephan Mühlstrasser
9b9622d09a Added chline and cvline implementation from CBM implementation. 2014-11-29 22:13:07 +01:00
Stephan Mühlstrasser
6dc8621fa5 Set cursor in top left corner in clrscr()
as documented in conio.h
2014-11-29 20:50:48 +01:00
Stephan Mühlstrasser
ac88639f4a Implemented cursor functionality. 2014-11-29 20:07:30 +01:00
Stephan Mühlstrasser
7dac57f60d Added gotox() and gotoy() implementations. 2014-11-29 15:52:42 +01:00
mrdudz
4275b82117 added compiler/assembler target, lib compiles 2014-11-29 15:35:20 +01:00
mrdudz
86e6abfcd9 added compiler/assembler target, lib compiles 2014-11-29 15:13:40 +01:00
mrdudz
faccc5a3d6 initial import, completely untested, does not compile yet 2014-11-29 14:18:48 +01:00
peterferrie
bbd419f365 assert parm count 2014-11-24 10:07:16 -08:00
Stephan Mühlstrasser
1e88032608 Copied wherex, wherey and ctype implementations from CBM 2014-11-23 15:56:38 +01:00
Stephan Mühlstrasser
0c62ddf123 Enhancements for cursor calculation
Fix handling of newlines.
Wrap around to top of screen when newline occurs
in last line.
Initialize screen width in crt0.s.
2014-11-23 15:32:48 +01:00
Stephan Mühlstrasser
12ca22c265 Remove unnecessary commented code. 2014-11-22 18:14:52 +01:00
Stephan Mühlstrasser
0a6afb59c0 Switch to assembler for cputc implementation. 2014-11-22 01:07:55 +01:00
peterferrie
0c204725bc implement ProDOS seek 2014-11-21 16:04:11 -08:00
Stephan Mühlstrasser
5c8cd00dd5 Started cputc and related functions implementation. 2014-11-18 23:18:51 +01:00
Stephan Mühlstrasser
a20bba0f1e Adapt to assembler coding conventions. 2014-11-16 21:57:59 +01:00
Stephan Mühlstrasser
14958949c2 Direct use of monitor function instead of subroutine call. 2014-11-16 21:13:18 +01:00
Greg King
09e50d433d * Changed the way that Atmos programs are started.
- Put a BASIC-language stub at the beginning.
  - Removed the Autostart flag.

  Those changes make it easy to give command-line arguments to a program.

* Made the Atmos configure file accept a special symbol definition on ld65's command line.  We can use "__RAMEND__" to increase the amount of RAM that's available to programs.
2014-11-09 06:32:11 -05:00
Stephan Mühlstrasser
4c46287928 Begin to implement C1P conio features. 2014-11-09 00:58:32 +01:00
Stephan Mühlstrasser
5d7a24241c Implemented clrscr routine for C1P 2014-11-08 01:14:46 +01:00
Stephan Mühlstrasser
0b186407f1 Merge https://github.com/cc65/cc65 into c1p 2014-11-02 16:17:16 +01:00
Greg King
74c2415795 Changed literal zeroes of the style "#>0" into the style "#>$0000". 2014-09-10 19:15:07 -04:00
Oliver Schmidt
e702832e80 Merge pull request #130 from greg-king5/caps-lock
Disable the Atmos keyboard's CAPS LOCK for stdio too.
2014-09-09 12:55:30 +02:00
Greg King
970af0cdb2 Swapped the locations of a constructor and a destructor in a source file.
The constructor now is first.

Used a more expressive literal zero.
2014-09-04 17:37:41 -04:00
Greg King
c7969a78b0 Refined the comments in the target start-up files.
Fixed typo errors.  Made the comments consistent across all those files.
2014-08-24 10:10:20 -04:00
Greg King
145a010e59 Moved the CAPS LOCK code out of the startup file, and into its own file. 2014-08-24 10:05:45 -04:00
Greg King
58b73a2842 Disable the Atmos keyboard's CAPS LOCK for both conio and stdio. 2014-08-21 11:04:23 -04:00
Greg King
8324221360 Improved some multiplication code. 2014-07-17 07:11:14 -04:00
Greg King
c6e7d835ef Fixed a buffer overrun bug. 2014-07-17 07:05:10 -04:00
Greg King
0390c34e88 Changed multi-line C comments into another style.
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Oliver Schmidt
2c975d3642 Create static drivers directly from source files.
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach:

The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory.

However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails.

Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
2014-06-04 23:50:18 +02:00
Oliver Schmidt
2bc4634860 Normalized style.
We don't use .ifndef .else .endif
2014-06-03 18:30:11 +02:00
Oliver Schmidt
99f0a56f63 Merge pull request #122 from groessler/a5200
new target: Atari 5200 console
2014-05-30 22:52:51 +02:00
Christian Groessler
a4fda71510 move atari5200 behind atari and atarixl in TARGETS list 2014-05-30 13:39:09 +02:00
Christian Groessler
fa7cdf0214 remove atari5200.mac 2014-05-30 13:38:29 +02:00
Christian Groessler
f54ef4efe4 provide CLK_TCK and CLOCKS_PER_SEC values for atari5200 2014-05-29 13:23:45 +02:00
Greg King
b8e65aca5a Used longer error text.
Added more codes and messages.
2014-05-28 23:01:48 -04:00
Christian Groessler
4286e55453 fix build error 2014-05-29 01:50:41 +02:00
Christian Groessler
245a69a043 don't use scrcode for numbers 2014-05-29 00:18:22 +02:00
Christian Groessler
0bcb615d33 remove TABs 2014-05-28 23:39:31 +02:00
Christian Groessler
8c5aebef81 cleanups and add comments 2014-05-28 23:38:22 +02:00
Christian Groessler
98195a516e check trigger button (TRIGx); correctly report joystick count depending
on 5200 console version
2014-05-28 00:35:49 +02:00
Christian Groessler
ef1e96aff0 small optimization 2014-05-27 01:50:22 +02:00
Christian Groessler
b6f712ef58 not a dummy implementation anymore... 2014-05-27 01:47:37 +02:00
Greg King
3d6f54b7a6 Updated the CBM error tables.
* Added more mappings between DOS and C codes.
* Changed generic error messages into specific ones.
2014-05-26 09:03:43 -04:00
Greg King
2cc26e6e23 More conforming to the cc65 project's apparent writing style. 2014-05-23 16:52:02 -04:00
Greg King
a92f51fea5 Conformed to the cc65 project's coding style. 2014-05-23 00:35:19 -04:00
Greg King
0ec8c8cea7 Added a quoted-token parsing function. 2014-05-20 16:33:16 -04:00
Christian Groessler
0f2f19ef5b some CONIO fixes 2014-05-16 02:10:19 +02:00
Christian Groessler
8cb68071cd clrscr for Atari 5200 default conio screen 2014-05-12 03:05:21 +02:00
Christian Groessler
82544b8678 add joystick driver -- trigger buttons are not queried yet 2014-05-12 03:03:44 +02:00
Christian Groessler
1532ad6792 add dummy irq.s 2014-05-12 03:02:17 +02:00
Greg King
f82a43b98d Fixed the comments to say where the actual Left-Hand Side and Right-Hand Side are put.
A description of positions [left, right] is appropriate more for C code than for Assembly code.  (A description of timing [first argument, second argument] is more appropriate for the way that Assembly code is written.)
2014-05-11 10:43:06 -04:00
Greg King
228b9d1718 Added a fast subroutine to multiply two signed 8-bit numbers. 2014-05-11 01:08:27 -04:00
Oliver Schmidt
63b5f75a7f Merge pull request #114 from greg-king5/phantom
Added the phantom-key exorcism code to the other C128 mouse drivers.
2014-05-09 19:30:51 +02:00
Greg King
a27e7562fd Added comments that explain why some instructions are implied. 2014-05-05 13:55:14 -04:00
Greg King
7d512ca238 Back-migrated some phantom-key rejection optimizations. 2014-05-05 06:28:19 -04:00
Greg King
667f8229c0 Migrated the phantom-key exorcism code to the other C128 mouse drivers. 2014-05-05 05:30:31 -04:00
Greg King
047d9abc68 Added the long-missing driver-flags byte to the potentiometer (mouse) drivers. 2014-05-05 04:16:04 -04:00
Oliver Schmidt
d6c3bd29ac Renamed JUMPTABLE and cleaned up module.cfg.
This change was suppsed to fix the issue that the former JUMPTABLE is merked as 'ro' while it is actually written to in several scenarios. When drivers are converted using co65 and then compiled into ROMs the JUMPTABLE isn't copied to RAM and therefore the write operations in question fail.

However unfortunately I didn't succeed in changing that :-( Just setting the former JUMPTABLE to 'rw' broke the drivers. So I placed the DATA segment directly after the former JUMPTABLE segment. This made the drivers converted with co65 work again - obviously after changing libsrc/Makefile:235 from '--code-label' to '--data-label'. But the actual dynamic drivers still didn't work as the former JUMPTABLE wasn't placed as the beginning of the loaded file anymore. That effect could be changed by exchanging src/ld65/o65.c:1391 with src/ld65/o65.c:1394 but doing so broke the drivers again :-((
2014-05-01 21:44:39 +02:00
Oliver Schmidt
2a3fbc6e36 Merge pull request #109 from groessler/something_to_pull2
Proposal: workaround for "phantom" key presses in the C128 "joystick" mouse driver...
2014-04-28 22:18:11 +02:00
Christian Groessler
6307815ada Correctly map out ROM when needed in the "phantom keys" workaround. 2014-04-26 11:58:13 +02:00
Christian Groessler
f290c1aa28 remove build warning 2014-04-25 13:21:54 +02:00
Christian Groessler
92b32d7d0e atari5200 update: simple conio "hello world" works now 2014-04-25 03:02:44 +02:00
Christian Groessler
ec417c0dc5 Merge remote-tracking branch 'upstream/master' into a5200 2014-04-25 02:07:44 +02:00
Christian Groessler
54be6de9bc Workaround for "phantom" key presses in the C128 "1351" mouse driver. 2014-04-25 00:22:23 +02:00
Christian Groessler
401e18d982 Put mouse cursor shape definition into .rodata. 2014-04-24 02:04:08 +02:00
Christian Groessler
4406307c2f Make the hooking and unhooking of the interrupt interrupt safe. 2014-04-24 00:28:33 +02:00
Oliver Schmidt
9e3154220c Merge pull request #106 from groessler/something_to_pull
add P/M (aka 'Sprite') mouse callback for Atari
2014-04-22 20:01:43 +02:00
Christian Groessler
608dbc2cec Workaround for "phantom" key presses in the C128 "joystick" mouse driver. 2014-04-22 15:49:48 +02:00
Christian Groessler
2059e34114 rename ser_libref.s to serref.s in order to be consistent with other targets 2014-04-22 13:42:17 +02:00
Christian Groessler
eefd33d309 Split libref.s into multiple files to prevent inclusion of unnecessary code. 2014-04-22 12:50:07 +02:00
Christian Groessler
7eaf721e7c Selection whether to use page 6 for mouse P/M data is not done in
Makefile.inc, like the other compile-time options. Small fix in the
P/M mouse "show" routine: adapt mouse cursor colors to current
screen colors.
2014-04-21 11:41:37 +02:00
Christian Groessler
88e3e60550 address issue raised in the pull request; add support to not use page 6
again
2014-04-15 11:37:34 +02:00
Christian Groessler
526b440b24 - always use page 6 for P/M mouse cursor
- make cursor character of text mode callback configurable
- change default cursor character of text mode callback from 'plus' to 'diamond'
- set P/M callback as default
2014-04-11 23:51:49 +02:00
Christian Groessler
661203a89a initial version of a P/M mouse callback 2014-04-11 23:51:49 +02:00
Oliver Schmidt
a0a4158bba Merge pull request #103 from greg-king5/typo
Fixed typo (Ilegal).
2014-04-04 09:56:04 +03:00
Greg King
449fceebdd Fixed typo (Ilegal). 2014-04-03 17:28:36 -04:00
Greg King
42595fbf13 Added command-line argument parsing to the CBM510 and CBM610 targets. 2014-04-03 08:23:28 -04:00
Oliver Schmidt
986c2248e2 Added cc65_umul8x8r16() based on umul8x8r16. 2014-03-27 21:22:02 +01:00
Christian Groessler
f266612697 Merge remote-tracking branch 'upstream/master' into a5200 2014-03-20 00:24:11 +01:00
Karri Kaksonen
100ecb0a45 Use LOWCODE segment 2014-03-19 11:32:44 +02:00
Greg King
3ef184bdd6 Corrected the default upper limits of some mouse drivers' bounding box.
The upper limits need to be one less than the screen sizes because the minimum co-ordinate is zero instead of one.
2014-03-18 05:17:44 -04:00
Oliver Schmidt
1d6000213c Removed references to $TRAVIS from Makefiles.
After all it seems much cleaner to explicitly control the behaviour from the .travis.yml file than to behave differently "under the hood" when detecting a Travis CI build.
2014-03-16 21:32:18 +01:00
Oliver Schmidt
4ea84c4843 Merge pull request #90 from greg-king5/c128-sprite
Added code that disables C128 BASIC's sprite-motion interrupt-handler.
2014-03-16 20:55:09 +01:00
Greg King
e335d2564d Added code that disables C128 BASIC's sprite-motion interrupt-handler.
That lets the mouse drivers control a sprite directly through the VIC's registers.
2014-03-15 16:41:03 -04:00
Oliver Schmidt
9da0e8e600 Moved LOADER.SYSTEM description.
The LOADER.SYSTEM description is now available in the cc65 Wiki (https://github.com/cc65/cc65/wiki/LOADER.SYSTEM).
2014-03-15 18:09:55 +01:00
Christian Groessler
30b418c734 add gotox, gotoy, and gotoxy 2014-03-13 02:38:35 +01:00
Christian Groessler
84c655a907 use __RESERVED_MEMORY__ to reserve memory for the default 20x24 text screen 2014-03-13 02:36:10 +01:00
Christian Groessler
889783bedb add some conio functions 2014-03-11 01:17:59 +01:00
Oliver Schmidt
efa50b0258 Several minor adjustments. 2014-03-09 13:56:32 +01:00
Oliver Schmidt
8236b0dd74 Upload zip file. 2014-03-09 01:20:39 +01:00
Oliver Schmidt
80ca7eb4e4 Create zip file. 2014-03-09 00:20:17 +01:00
Christian Groessler
73df73194a fix indentation 2014-03-07 23:15:57 +01:00
Christian Groessler
b40fe584d8 fix typo 2014-03-07 23:15:11 +01:00
Oliver Schmidt
1c73fa0a00 Moved .PHONY below definitions it refers to.
I must admit that I don't understand why but obviously it is necessary to place .PHONY below the definition of variables it refers to - although those variables are recursively expanded ones! Not doing so made libsrc/Makefile build only three target libraries.
2014-03-06 23:42:44 +01:00
Oliver Schmidt
30125afcc1 Moved from VS2013 to MinGW(-w64). 2014-03-06 22:32:24 +01:00
Oliver Schmidt
3f0af9b241 Have src/Makefile and libsrc/Make use disjoint work directories.
Building the clean target in src or libsrc should only delete stuff created by the make in those directories. Having both separated allows the Travis CI build to replace the native binaries with cross built binaries while keeping everything else.
2014-03-05 23:24:35 +01:00
Oliver Schmidt
44ccb27549 Changed Makefile.inc handling.
It seems more appropriate to trigger the inclusion of Makefile.inc via $TARGET (instead of $SRCDIR). This is btw. more consistent with extzp.s inclusion which is triggered via $TARGET too.
2014-03-04 21:46:25 +01:00
Christian Groessler
361da29e51 add get_tv() 2014-03-04 16:02:24 +01:00
Christian Groessler
bf8eb8c22e rename libsrc/atari/tvtype.s to libsrc/atari/get_tv.s 2014-03-04 15:44:10 +01:00
Oliver Schmidt
3f7cd3387f Optimize for size instead for speed. 2014-03-03 21:08:35 +01:00
Christian Groessler
7a9fa9d4cd rename W2CAS.COM to w2cas.com (lowercase) 2014-03-03 18:12:11 +01:00
Christian Groessler
c8f7f2f161 first changes for atari5200 target 2014-03-01 17:20:09 +01:00
Christian Groessler
69f81f6d67 make 'w2cas' a targetutil 2014-03-01 13:11:52 +01:00
Christian Groessler
81fe7a3805 cleanups; split 'header' and 'init' part into two source files 2014-02-21 22:43:44 +01:00
Christian Groessler
701c59900d Merge remote-tracking branch 'upstream/master' into cassette 2014-02-21 21:02:54 +01:00
Oliver Schmidt
d001a6f1a0 Have _heapmaxavail() work as advertised.
The cc65 doc explicitly states that the return value of _heapmaxavail() can be used as parameter of malloc(). To actually allow for that the size of HEAP_ADMIN_SPACE has to be substracted from the raw size of the largest free heap block.
2014-02-20 21:04:11 +01:00
Christian Groessler
65874d4604 Merge remote-tracking branch 'upstream/master' into cassette 2014-02-20 01:05:10 +01:00
Christian Groessler
b326a04b1e fix uninitialized use of 'buflen' 2014-02-19 22:39:39 +01:00
Christian Groessler
b496a400ec Merge remote-tracking branch 'upstream/master' into cassette
ecessary,
2014-02-18 21:36:53 +01:00
Christian Groessler
b477023783 Turn off mouse polling interrupt if the mouse hasn't been moved for
some time. Turn it back on when the mouse is moved again.
Since the polling interrupt runs at a rather high frequency (1kHz),
this saves many processor cycles when the mouse is inactive.
2014-02-14 01:44:00 +01:00
Christian Groessler
290da8d5ae Merge remote-tracking branch 'upstream/master' into cassette 2014-02-11 12:35:28 +01:00
Oliver Schmidt
3334082abf Avoid include subdirs on install cmdline. 2014-01-30 13:02:01 +01:00
Christian Groessler
3bd5d3f88b Merge remote-tracking branch 'upstream/master' into cassette
Conflicts:
	asminc/atari.inc
	libsrc/atari/mou/atrst.s
2014-01-30 10:48:13 +01:00
Oliver Schmidt
0a723fdb3d Merge pull request #78 from groessler/something_to_pull
change mouse drivers to be more "floppy access" friendly
2014-01-30 00:20:53 -08:00
Christian Groessler
0cf0ed5510 Disable the high frequency mouse polling IRQ while the system does
time critical things (CRITICAL flag set).
2014-01-29 23:40:48 +01:00
Oliver Schmidt
e320fe3db8 Added 'install' target.
The 'install' target primarily aims to support pacaking tools. Therefore...
- It just presumes a "capable" install program to be present.
- There's intentionally no 'uninstall' target.
2014-01-29 21:42:26 +01:00
Oliver Schmidt
4452156d1a Avoid indirect jmp with unknown vector address. 2014-01-26 18:10:01 +01:00
Christian Groessler
33bc340814 add missing stddrv defines for atarixl 2014-01-21 23:09:00 +01:00
Christian Groessler
63ce6e28fe Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-20 23:04:31 +01:00
Christian Groessler
9e155eb096 Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-20 23:04:31 +01:00
Christian Groessler
1fd7c2b318 fix bug where the high byte of X and Y positions were destroyed of
the user had lifted the pen
2014-01-20 23:04:31 +01:00
Christian Groessler
ecd10e632a some comment fixes 2014-01-20 23:04:31 +01:00
Christian Groessler
97d512a1e1 Detect pen button. If we read 228 for X or Y position, don't change cursor
position, since the pen was probably lifted from the pad.
2014-01-20 23:04:30 +01:00
Christian Groessler
6026776460 Trakball mouse driver 2014-01-20 23:04:30 +01:00
Christian Groessler
d61b8754fb Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-20 23:04:30 +01:00
Christian Groessler
09aa007191 Change display logic of mouse cursor (hide and show functions). 2014-01-20 23:04:30 +01:00
Christian Groessler
2be7c7c88d Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-20 23:04:30 +01:00
Christian Groessler
77ba5b7e1c Fix timer IRQ hooking for atarixl target. 2014-01-20 23:04:30 +01:00
Christian Groessler
597c4a6b89 add comment 2014-01-20 23:04:29 +01:00
Christian Groessler
c78d7a82fb use ST mouse as static standard driver, too 2014-01-20 23:04:29 +01:00
Christian Groessler
c22b91e3c3 align comment to the same column 2014-01-20 23:04:29 +01:00
Christian Groessler
09da71c5d9 another small cleanup 2014-01-20 23:04:29 +01:00
Christian Groessler
24198a9ebb small cleanup 2014-01-20 23:04:29 +01:00
Christian Groessler
d614fc4e64 When disabling interrupts, restore original interrupt flag afterwards. 2014-01-20 23:04:29 +01:00
Christian Groessler
d742eeca9f Add drivers for ST mouse, Amiga mouse, and Atari trakball. Access
routines taken from old mouse.s.
2014-01-20 23:04:29 +01:00
Christian Groessler
95c6063f90 Add "joystick mouse" driver and default mouse callback routine (not
using P/M graphics).
2014-01-20 23:04:28 +01:00
Christian Groessler
2ab89621a9 Use deferred VBI instead of immediate VBI. A deferred VBI won't be
called if the user program has interrupts disabled which makes it
easier to avoid race conditions.
2014-01-20 23:04:28 +01:00
Christian Groessler
7bfe4c60db Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-20 11:40:13 +01:00
Christian Groessler
ed9ec5a208 Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-20 11:40:13 +01:00
Christian Groessler
9eb79c5ee6 fix bug where the high byte of X and Y positions were destroyed of
the user had lifted the pen
2014-01-20 11:40:12 +01:00
Christian Groessler
c7c44adaff some comment fixes 2014-01-20 11:40:12 +01:00
Christian Groessler
77d23b9eba Detect pen button. If we read 228 for X or Y position, don't change cursor
position, since the pen was probably lifted from the pad.
2014-01-20 11:40:12 +01:00
Christian Groessler
f1646a3695 Trakball mouse driver 2014-01-20 11:40:12 +01:00
Christian Groessler
012268b8e8 Adapt to new mouse driver interface ('prep' and 'draw') 2014-01-18 00:11:18 +01:00
Christian Groessler
f091d0b3cd Merge branch 'master' of https://github.com/oliverschmidt/cc65 into cassette 2014-01-17 23:06:29 +01:00
Christian Groessler
f5e7e92a35 Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-17 22:33:29 +01:00
Oliver Schmidt
a0a5a66f9e Minor cleanup. 2014-01-17 21:20:53 +01:00
Oliver Schmidt
8304852521 Merge pull request #71 from groessler/something_to_pull2
Support to create cartridges for the Atari.
2014-01-17 12:14:18 -08:00
Oliver Schmidt
94eb2a2ed7 Some fine tuning of the mouse driver interface harmonization. 2014-01-17 21:09:15 +01:00
Christian Groessler
40e49074a4 add support for 16K cartridges 2014-01-17 20:10:28 +01:00
Christian Groessler
2e44abf928 remove segment directive since CODE is the default segment 2014-01-17 11:48:12 +01:00
Christian Groessler
e6ed335056 put code in CODE segment 2014-01-17 11:48:12 +01:00
Christian Groessler
b292597f1e use copydata instead of own routine 2014-01-16 23:56:32 +01:00
Christian Groessler
fd4d7d93ea put this module's code into CODE segment 2014-01-16 23:56:32 +01:00
Christian Groessler
dcbefb1018 fix indentation 2014-01-16 23:56:32 +01:00
Christian Groessler
6ab07261bc Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-16 23:34:56 +01:00
Oliver Schmidt
4065cb1983 Harmonized interface between mouse drivers and callbacks.
The Apple2 doesn't have sprites so the Apple2 mouse callbacks place a special character on the text screen to indicate the mouse position. In order to support the necessary character removing and redrawing the Apple2 mouse driver called the Apple2 mouse callbacks in an "unusual way". So far so (sort of) good.

However the upcoming Atari mouse driver aims to support both "sprite-type" mouse callbacks as well as "text-char-type" mouse callbacks. Therefore the interface between mouse drivers and callbacks needs to be extended to allow the mouse callbacks to hide their different types from the mouse driver.

The nature of this change can be seen best by looking at the Apple2 file modifications. The CBM drivers and callbacks (at least the current ones) don't benefit from this change.
2014-01-15 22:47:59 +01:00
Christian Groessler
692ec4a05b remove TABs 2014-01-14 23:13:01 +01:00
Christian Groessler
b237bb9d9a Add support to create cartridges. 2014-01-14 22:53:49 +01:00
Christian Groessler
ff2c44f565 Change display logic of mouse cursor (hide and show functions). 2014-01-14 14:03:06 +01:00
Christian Groessler
3baf01f531 Always print the mouse cursor, even if coordinates haven't changed.
This makes sure that the cursor is always visible, even if the program
has written text to the screen (only valid for non-P/M mouse callbacks).
2014-01-14 14:03:06 +01:00
Christian Groessler
e85a3f9762 Fix timer IRQ hooking for atarixl target. 2014-01-14 14:03:06 +01:00
Christian Groessler
9a642a529a Merge remote-tracking branch 'upstream/master' into something_to_pull 2014-01-14 14:01:49 +01:00
Oliver Schmidt
b1c8f8e714 Fixed recent "Minor comment harmonization". 2014-01-12 21:52:18 +01:00
Oliver Schmidt
8ae7ac73b3 Minor comment harmonization. 2014-01-11 23:35:21 +01:00
Christian Groessler
a3814da96f add comment 2014-01-11 01:37:49 +01:00
Christian Groessler
95ba42bb69 use ST mouse as static standard driver, too 2014-01-11 01:37:49 +01:00
Christian Groessler
f2d25348db align comment to the same column 2014-01-11 01:18:07 +01:00
Christian Groessler
a86133bb57 another small cleanup 2014-01-05 11:18:48 +01:00
Christian Groessler
231e597a4b small cleanup 2014-01-05 11:09:19 +01:00
Christian Groessler
f83c77bace When disabling interrupts, restore original interrupt flag afterwards. 2014-01-04 20:33:25 +01:00
Christian Groessler
be595b7304 Add drivers for ST mouse, Amiga mouse, and Atari trakball. Access
routines taken from old mouse.s.
2014-01-04 20:33:24 +01:00
Christian Groessler
a5dfce7c41 Add "joystick mouse" driver and default mouse callback routine (not
using P/M graphics).
2014-01-04 20:33:24 +01:00
Christian Groessler
6a17df69dd Use deferred VBI instead of immediate VBI. A deferred VBI won't be
called if the user program has interrupts disabled which makes it
easier to avoid race conditions.
2014-01-04 20:33:24 +01:00
Christian Groessler
057884ffa9 Atari: initial support to create cassette bootable programs -- unfinished 2014-01-02 19:28:22 +01:00
Oliver Schmidt
e267addb5b Merge pull request #67 from greg-king5/echo
CBM stdin Console RETURN-key Echo
2013-12-26 06:54:42 -08:00
Greg King
6f72758587 Reset the stdin console when a program starts. 2013-12-24 15:26:05 -05:00
Greg King
0dc8a278c7 Moved the command-line arguments out of BASIC's input buffer.
The stdin console re-uses that buffer.
2013-12-24 13:56:19 -05:00
Greg King
d56f5d65ab Added a simplistic read() that gives a stdin console on the Atmos. 2013-12-24 05:18:04 -05:00
Greg King
50c626d02b Avoided a reload by using a second register. 2013-12-23 12:20:28 -05:00
Greg King
263ae3ceb1 Made the CBM stdin consoles echo '\n' to the screen.
That fix makes Commodore platforms be consistent with other platforms' consoles.
2013-12-23 11:48:58 -05:00
Oliver Schmidt
e0262750ce Have %I yield values [1..12] instead of [0..11]. 2013-12-09 19:53:54 +01:00
Christian Groessler
9e91f74297 small optimzation (found by Greg King) 2013-12-07 01:24:05 +01:00
Christian Groessler
2461163f38 remove old (static) serial driver boilerplate 2013-12-06 21:16:10 +01:00
Christian Groessler
932748e6ca remove debug code 2013-12-06 20:53:49 +01:00
Christian Groessler
074136826a add serial driver for Atari, still contains much debug code 2013-12-06 20:53:49 +01:00
Oliver Schmidt
0a8efc9fc3 Revert "Added basic frame for new target 'creativision'."
This reverts commit 8e6b8dd0af.
2013-12-05 21:45:20 +01:00
kym
11be575b6d Initial Creativision Import 2013-12-05 11:40:44 +00:00
Greg King
42a09f0c23 Merged branch "master" into make. 2013-11-30 12:45:15 -05:00
Oliver Schmidt
8e6b8dd0af Added basic frame for new target 'creativision'.
Kym Greenshields <kym.greenshields@gmail.com> has expressed interest
in contributing and maintaining support for the VTech CreatiVision system.
2013-11-25 22:52:04 +01:00
Greg King
05ed164c36 Made a makefile show its progress consistently, by listing only the source file names.
That change avoids the confusion of seeing some names shown twice.
2013-11-24 19:12:27 -05:00
Stephan Mühlstrasser
9fd27d6ef6 Merge branch 'master' into c1p 2013-11-19 20:53:17 +01:00
Christian Groessler
478a7679a2 Force inclusion of 'shadow RAM preparation' load chunk in crt0.s and
not in the linker config file.
2013-10-18 22:08:26 +02:00
Christian Groessler
9f44d00d17 Put EXE header and main chunk load header into a single file --
it makes no sense to be able to include/exclude them separately.
2013-10-18 14:54:22 +02:00
Christian Groessler
b153ec8896 atari-asm.cfg linker config file 2013-10-18 03:08:26 +02:00
Christian Groessler
bf3a23c34c Rename 'syschk' symbol in the linker config file, which forces inclusion
of the 'system check' load chunki, to '__SYSTEM_CHECK__'.
2013-10-18 03:08:15 +02:00
Christian Groessler
90bac9d38c rename LOWDATA segment to LOWBSS 2013-10-16 18:20:57 +02:00
Christian Groessler
3ef1ef3357 comment and formatting fixes 2013-10-16 18:20:48 +02:00
Christian Groessler
e3b9e9a76e small optimization 2013-10-04 12:41:08 +02:00
Christian Groessler
700fd4f187 Enable "system check" load chunk for non-XL Atari target. 2013-10-04 00:54:24 +02:00
Oliver Schmidt
b727c075e9 Merge pull request #48 from efornara/time_fix
fixed timep handling in time()
2013-10-02 14:50:02 -07:00
Emanuele Fornara
35388418fd fixed timep handling in time() 2013-10-02 20:55:01 +01:00
Christian Groessler
7fb0cf4bb2 Some formatting and style fixes. 2013-10-01 11:36:37 +02:00
Christian Groessler
213f93cce4 disable DEBUG 2013-09-27 22:14:26 +02:00
Christian Groessler
39a98f250b untabify 2013-09-27 22:01:54 +02:00
Christian Groessler
34e75afec3 adapt to CHARGEN_RELOC 2013-09-20 18:09:53 +02:00
Christian Groessler
aa2167926a move CHARGEN_RELOC enabling to Makefile.inc 2013-09-20 00:26:49 +02:00
Christian Groessler
37ed72bc89 cleanup and document CHARGEN_RELOC change 2013-09-20 00:10:34 +02:00
Christian Groessler
fe75788015 add CHARGEN_RELOC knob to conditionally include the code to change CHBASE 2013-09-19 23:34:45 +02:00
Christian Groessler
60e97f4d96 move macros to enable and disable the ROM into a separate include file 2013-09-19 23:21:09 +02:00
Christian Groessler
47a6390753 adjust some variable names 2013-09-19 22:40:20 +02:00
Christian Groessler
0a7cb64d2e Use '.ifdef' and '.ifndef' instead of '.if .defined' and '.if .not .defined'. 2013-09-19 22:36:22 +02:00
Christian Groessler
2e10a55b51 use '.ifndef' instead of '.if .not .defined' 2013-09-18 16:36:24 +02:00
Christian Groessler
c210dfcb94 use '.ifndef' instead of '.if .not .defined' 2013-09-18 16:36:03 +02:00
Christian Groessler
ff18dcaa16 override _sys() function for Atari targets 2013-09-18 15:35:55 +02:00
Christian Groessler
7c0b049ef7 some cosmetic cleanups 2013-09-18 01:27:44 +02:00
Christian Groessler
b713706304 Get rid of SAVEAREA segment: fold it into LOWDATA. 2013-09-18 00:48:01 +02:00
Christian Groessler
678ffbdd4d add support for SHADOW_RAM2 segment 2013-09-18 00:25:18 +02:00
Christian Groessler
f679c9703c consider __STACKSIZE__ when initializing sp for atarixl 2013-09-17 23:03:33 +02:00
Christian Groessler
367bd368c0 override _sys() function for Atari targets 2013-09-17 22:52:18 +02:00
Christian Groessler
85170998ad more atarixl linker cfg file cleanups; adapt atarixl-overlay.cfg 2013-09-13 21:47:39 +02:00
Christian Groessler
5caf6c8854 atarixl linker cfg file cleanups; set default load address to 400 for atarixl 2013-09-13 20:29:24 +02:00
Christian Groessler
aac88eac53 Use labels instead of segment load addresses to specify entry points
in the EXE file.
2013-09-13 18:28:17 +02:00
Christian Groessler
3d0ebef0f5 Merge remote-tracking branch 'upstream/master'
Conflicts:
	testcode/lib/tinyshell.c
2013-09-12 13:24:35 +02:00
Christian Groessler
2051adeb4d Fix strtol 'endptr' return value. 2013-09-12 12:38:20 +02:00
Christian Groessler
5a1dcbbe4c Reduce flicker by waiting for horizontal retrace before switching ROM and
CHARGEN. Can be disabled by setting USEWSYNC to 0.
2013-09-11 23:59:24 +02:00
Christian Groessler
387f6e9b21 Check whether double buffering ('bounce buffering') is needed and only do
it if needed.
2013-09-11 22:45:41 +02:00
Christian Groessler
8bc4b4c636 add code to add free shadow memory to heap (currently disabled) 2013-09-11 22:43:35 +02:00
Christian Groessler
5a84da0d4e Fix strtoul 'endptr' return value: It should point to the first invalid character,
not to the last valid character.
2013-09-11 21:54:50 +02:00
Christian Groessler
ebfb4a0b52 Fix strtoul 'endptr' return value: It should point to the first invalid character,
not to the last valid character.
2013-09-11 21:53:13 +02:00
Christian Groessler
ac9f0d6a05 Merge remote-tracking branch 'upstream/master' 2013-09-10 13:36:28 +02:00
Oliver Schmidt
a32366b124 Merge pull request #37 from greg-king5/lightpen
CBM510 lightpen driver
2013-09-10 04:21:16 -07:00
Greg King
2b02a03e6c Renamed the CBM510 lightpen driver to include the 184-C pen. 2013-09-10 06:47:17 -04:00
Greg King
e0c8c7dcb1 Added a cbm510 lightpen driver.
It's similar to the current c64 and c128 lightpen drivers.
2013-09-09 17:03:40 -04:00
Christian Groessler
c48fbd8a2b remove ZP_CIOV_save and ZP_SIOV_save 2013-09-07 17:44:53 +02:00
Greg King
eb741e1396 Don't shift in an unknown carry bit.
If that bit happenned to be set, then it would defeat the fancy ADC shifter.
2013-09-05 11:32:50 -04:00
Christian Groessler
4a0bdf871b Remove screen flicker while mapping ROM out and in.
Some cleanups.
2013-09-04 22:10:36 +02:00
Greg King
875212a850 Added more details about how the CBM exec() works. 2013-09-04 09:16:00 -04:00
Christian Groessler
1e8e998991 Merge remote-tracking branch 'upstream/master' 2013-09-04 13:28:10 +02:00
Greg King
0684ab7ab9 Fixed some return pointers.
$1234 pointers were returned as $3434.
2013-08-28 02:58:41 -04:00
Christian Groessler
ae9ab59549 xlmemchk.inc: Fix wrong calculation if load address is at an exact 4K border. 2013-08-27 22:45:23 +02:00
Christian Groessler
20c9fe44b4 Merge remote-tracking branch 'upstream/master' 2013-08-27 10:22:41 +02:00
Christian Groessler
68fc4a1b15 rename KEYBDV_wrapper to KEYBDV_handler 2013-08-27 10:21:42 +02:00
Oliver Schmidt
bc992e0398 Merge pull request #31 from greg-king5/cbm-chain
Commodore exec() function
2013-08-26 23:50:34 -07:00
Christian Groessler
a3511ea93d changes for atarixl target 2013-08-26 10:36:40 +02:00
Christian Groessler
e4c934b6f5 Merge remote-tracking branch 'upstream/master' 2013-08-26 09:00:11 +02:00
Christian Groessler
d5f3e91cb8 Merge remote-tracking branch 'upstream/master' 2013-08-25 11:21:52 +02:00
Christian Groessler
4062cb6b6c atarixl target: add support for interruptors, adapt TGI drivers 2013-08-25 11:20:27 +02:00
Greg King
6a9ab1a69a Added a little more info about how CBM program-chaining works. 2013-08-25 00:58:27 -04:00
Greg King
d0fb1fe0ae Added the model-specific addresses that the CBM exec() needs. 2013-08-25 00:43:23 -04:00
Greg King
172ce14349 Made an exec() program-chaining function for the Commodore libraries. 2013-08-25 00:31:36 -04:00
Greg King
1a4d804a5f Added cursor-flags initiation.
The CBM510 runs programs in a non-system memory bank. It has its own zero page. Some things are copied from the system zero page; but, the cursor flags weren't copied. So, the cursor always blinked. That bug sometimes left cursor ghosts (reversed spaces) at the end of lines.
2013-08-23 18:19:49 -04:00
Oliver Schmidt
a49c1a5b6d Merge pull request #29 from greg-king5/mouseref
Removed commented-out "mouse_libref" lines.
2013-08-23 04:54:13 -07:00
Greg King
0159358934 Cleaned 2 source files by removing commented-out lines that are active in other files. 2013-08-23 07:36:11 -04:00
Oliver Schmidt
3671c7e19c Merge pull request #27 from greg-king5/cbm2
Added a joystick-mouse driver to the CBM510 library.
2013-08-23 04:28:49 -07:00
Greg King
1c83d8232b Added a driver to the CBM510 library that lets a joystick pretend to be a mouse. 2013-08-23 03:06:00 -04:00
Christian Groessler
5d7b5900f9 implement SIO handler 2013-08-22 14:47:50 +02:00
Christian Groessler
405a5df431 Merge remote-tracking branch 'upstream/master' 2013-08-21 16:38:13 +02:00
Oliver Schmidt
f5844e58d1 Merge pull request #25 from cybernesto/master
Promoted _auxtype to a struct to gain access to additional fields
2013-08-08 09:40:50 -07:00
Christian Groessler
7242ce8744 Merge remote-tracking branch 'upstream/master' 2013-08-06 19:48:07 +02:00
Greg King
6589288a04 Exposed, to C code, the names of the Atmos ROM's sound effect functions. 2013-08-06 11:12:30 -04:00
Mario Patiño
9b157a5b1e Defined a struct to contain the date and time data
To keep backward compatibility auxtype and the date/time are kept
separated.
A struct similar to the one used in dirent.h is used to access the
create_date and create_time fields.
2013-08-03 19:08:36 +02:00
Christian Groessler
bb9f1d031a disable GETCWD command until I have a proper way to test it 2013-07-30 00:52:58 +02:00
Christian Groessler
7a45a7b2eb Merge remote-tracking branch 'upstream/master' 2013-07-29 10:09:24 +02:00
Stephan Mühlstrasser
781656a451 Merge branch 'master' into c1p 2013-07-26 22:56:37 +02:00
Oliver Schmidt
1f36066946 Merge pull request #24 from greg-king5/oric
Atmos Symbol Names
2013-07-26 03:01:10 -07:00
Greg King
f02843f05d Replaced number literals in source code with meaningful symbol names. 2013-07-26 03:33:54 -04:00
Christian Groessler
b78bbb5be7 Merge remote-tracking branch 'upstream/master' 2013-07-25 23:34:50 +02:00
Oliver Schmidt
752141b026 Merge pull request #12 from greg-king5/lightpen
Added Inkwell lightpen drivers for the C64 and the C128.
2013-07-25 13:29:46 -07:00
Greg King
17333e4732 Fixed some line endings.
My Git and repositories are configured for POSIX; but sometimes, Windows line endings "sneak" into new files.
2013-07-25 13:53:15 -04:00
Greg King
3b544613d2 Moved the lightpen names from <mouse.h> to a new <pen.h>.
Renamed the adjuster pointer.
2013-07-25 13:32:40 -04:00
Stephan Mühlstrasser
5824f46244 Merge branch 'master' into c1p 2013-07-24 22:37:47 +02:00
Stephan Mühlstrasser
0b8c742bfc Remove unneeded import 2013-07-24 22:35:58 +02:00
Christian Groessler
56588aa26a fix cleanup of stack 2013-07-24 10:25:36 +02:00
Christian Groessler
d68307ee52 fix cleanup of stack 2013-07-24 10:24:47 +02:00
Christian Groessler
f30b74ddb4 Don't import tmp1, slipped in by mistake in last commit 2013-07-24 00:45:20 +02:00
Christian Groessler
f2807df4c2 Don't import tmp1, slipped in by mistake in last commit 2013-07-24 00:44:44 +02:00
Christian Groessler
bbc31f67da implement _sysrename for Atari 2013-07-24 00:41:49 +02:00
Christian Groessler
993555da94 implement _sysrename for Atari 2013-07-24 00:40:09 +02:00
Christian Groessler
8f23c1bac7 don't include errno.inc -- not necessary 2013-07-17 23:37:03 +02:00
Christian Groessler
0bd97f5445 remove unused import sreg 2013-07-17 23:33:12 +02:00
Stephan Mühlstrasser
c6f97e914c Merge branch 'master' into c1p 2013-07-16 18:16:36 +02:00
Greg King
641a609cf3 Moved common symbol names out of sources, and into a global include file. 2013-07-16 00:30:56 -04:00
Christian Groessler
e0aaac0088 fix '_sysrmdir' for SpartaDOS 2013-07-16 01:31:15 +02:00
Christian Groessler
a3ad7d07a1 fix '_sysrmdir' for SpartaDOS 2013-07-16 01:29:49 +02:00
Stephan Mühlstrasser
608e9875fb Suppress call to copydata routine, which seems to
be necessary only in very special cases that
are unclear at the moment.
2013-07-15 22:45:09 +02:00
Stephan Mühlstrasser
b3b3578f08 Nominal support for target Ohio Scientific Challenger 1P 2013-07-14 22:50:38 +02:00
Christian Groessler
1bfd39ee20 close IOCB if open failed -- otherwise is is still marked as "in use" 2013-07-09 23:59:27 +02:00
Christian Groessler
f04dc3570c close IOCB if open failed -- otherwise is is still marked as "in use" 2013-07-09 23:39:42 +02:00
Greg King
078a1df2f6 Look for NULL pointer more efficiently. 2013-07-05 12:32:19 -04:00
Christian Groessler
d3d7499faa Remove saving and restoring of zeropage variables.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	cfg/atarixl.cfg
	libsrc/atari/crt0.s
2013-07-03 11:38:28 +02:00
Christian Groessler
7ebaec1802 Don't save and restore the zero page locations used.
Saves 19 bytes code (in the exe file) and reduces memory footprint
of the program by 45 bytes (code & bss).
2013-07-02 19:55:00 +02:00
Greg King
a555b5f6a5 Merge branch 'master' into lightpen 2013-07-01 09:25:02 -04:00
Greg King
42301b78ce Included a header that defines NULL. 2013-06-28 06:36:32 -04:00
Christian Groessler
250e26c56e Don't save original IRQ, NMI, and RESET vectors -- it's not needed. 2013-06-28 01:08:07 +02:00
Christian Groessler
1e9823306a Merge remote-tracking branch 'upstream/master' 2013-06-28 00:49:12 +02:00
Oliver Schmidt
5edcd639e0 Made EXTZP segment option for modules.
This allows to remove the "add empty EXTZP segement to avoid warnings"
approach.
2013-06-28 00:30:24 +02:00
Oliver Schmidt
3af758ced5 Have __PLUS4__ imply __C16__. 2013-06-27 23:09:54 +02:00
Oliver Schmidt
460cea425f No delimiter comment between includes and first segment. 2013-06-27 13:04:52 +02:00
Christian Groessler
1bd902787b move findfreeiocb function into its own object file 2013-06-25 01:29:56 +02:00
Christian Groessler
a03b3574b6 use first free IOCB for "GRAPHICS 0" call instead of using a hard-coded one 2013-06-25 01:27:47 +02:00
Christian Groessler
df1165e0e0 move findfreeiocb function into its own object file 2013-06-25 01:12:11 +02:00
Christian Groessler
b31e0d3249 small memory optimization: appmsav not needed in the xl target 2013-06-25 00:53:21 +02:00
Christian Groessler
be880bd157 remove TABs 2013-06-25 00:48:43 +02:00
Christian Groessler
1347947f0d some nicer debug messages 2013-06-25 00:48:26 +02:00
Greg King
e63bf1cde1 Used a library-reference method to calibrate lightpen drivers.
The mouse reference is a pointer.  If it's NULL, the driver uses a default.  If it's non-NULL, then it points to a function that the driver can call.  That function will adjust the driver's calibration value.  It could ask the user to adjust the pen; or, it could read a file that holds a value from a previous calibration.

Application writers can choose how it's done: a function that's provided by the library, a custom function, or nothing.
2013-06-23 03:18:28 -04:00
Christian Groessler
e3fb1b3d3d Fix writing one byte beyond screen buffer. 2013-06-21 11:33:55 +02:00
Christian Groessler
73c4566ca7 Fix writing one byte beyond screen buffer. 2013-06-21 01:53:13 +02:00
Christian Groessler
f16516047a cleanups and add more comments 2013-06-21 00:01:07 +02:00
Christian Groessler
6ed1b07e59 Fix check whether there is enough memory btw. MEMLO and the program
load address to move screen buffer there.
2013-06-20 23:31:41 +02:00
Christian Groessler
96b0ca0524 Merge remote-tracking branch 'upstream/master' 2013-06-19 11:06:17 +02:00
Christian Groessler
2a525f8a48 some cleanups 2013-06-19 11:05:03 +02:00
Oliver Schmidt
93bd9a8e51 Simply define CH_DEL exactly then when there none yet. 2013-06-18 19:06:46 +02:00
Christian Groessler
47d16e86a4 Add indication on the screen of occurring IRQs and NMIs (only for debug version).
NMI handler: set I status bit to original value before interrupt before chaining
to ROM NMI handler.
2013-06-18 13:00:51 +02:00
Christian Groessler
c79b23e95b Merge remote-tracking branch 'upstream/master' 2013-06-17 23:54:49 +02:00
Oliver Schmidt
e22e32c63e Avoid macro redefinition of CH_DEL for apple2enh.
I'm wondering why MS VC++ didn't complain about this...
2013-06-17 21:41:25 +02:00
Oliver Schmidt
83280e1ee2 Have __APPLE2ENH__ imply __APPLE2__ and __ATARIXL__ imply __ATARI__. 2013-06-17 21:34:08 +02:00
Christian Groessler
b45c765969 make one more debug message ".ifdef DEBUG" 2013-06-17 18:56:58 +02:00
Christian Groessler
e621ca0cce Better cleanup on program exit on atarixl target 2013-06-13 01:17:53 +02:00
Christian Groessler
7eca62f8e4 Move scrdev into it's own file. On the atarixl target it will be referenced by crt0.s. 2013-06-13 01:16:35 +02:00
Christian Groessler
a6477c8caf better error message 2013-06-13 01:16:05 +02:00
Christian Groessler
ce1313b36c some debug messages ".ifdef DEBUG" 2013-06-13 01:07:40 +02:00
Christian Groessler
9f8b5668e1 Add handling of write requests 2013-06-13 00:54:03 +02:00
Christian Groessler
e5f409e357 intermediate check-in -- added handling of read requests 2013-06-12 13:27:28 +02:00
Christian Groessler
8e8a37c47b intermediate check-in 2013-06-10 14:22:30 +02:00
Christian Groessler
56e330a4d7 Use symbolic names for all CIO commands. 2013-06-10 12:45:51 +02:00
Christian Groessler
b03913370c Use symbolic names for all CIO commands. 2013-06-08 00:35:07 +02:00
Christian Groessler
393bf6da54 Merge remote-tracking branch 'upstream/master' 2013-06-05 23:09:32 +02:00
Oliver Schmidt
5ed1fac0d6 Use unique variables for cc65 toolchain.
Originally I used the usual variables (like $(CC) and $(CFLAGS) ) but after
all this doesn't make sense as any predefined values and/or user defined
settings can only be wrong.
2013-06-04 23:39:00 +02:00
Christian Groessler
2823bc1e66 Merge remote-tracking branch 'upstream/master' 2013-06-04 10:54:34 +02:00
Greg King
66ca781bb1 Added library reference address to lightpen driver header. 2013-06-03 06:09:22 -04:00
Oliver Schmidt
b0dd6c614f Added library reference tgi_libref to TGI interface. 2013-06-01 12:42:00 +02:00
Oliver Schmidt
ae409e4978 Added library reference ser_libref to SER interface. 2013-06-01 11:03:14 +02:00
Oliver Schmidt
744abda24f Added library reference mouse_libref to MOU interface. 2013-06-01 00:53:17 +02:00
Oliver Schmidt
23650cb946 Added library reference joy_libref to JOY interface. 2013-06-01 00:36:08 +02:00
Oliver Schmidt
619b215260 Added library reference em_libref to EMD interface.
Occasionally dynamically drivers suffer from not being to refer to
content in the C library. Therefore I added a mechanism to allow
a C library for a certian target to define a symbol that will be
handed over to dynamic drivers for that target. Then the drivers
can use their refernce to that symbol to access content in the C
library.
2013-06-01 00:11:31 +02:00
Oliver Schmidt
7024e2789d Explicitly set search paths for libraries build.
The libraries build is prepared to work with binaries not part of the current
working tree. But in this case the default search path surely points to some
other working tree. Even the binaries in this working tree might have been
compiled with non-standard builtin search paths.

Anyway when building the libraries we want always to use the headers from
the current working tree. Therefore we want to set them explicitly. Instead
of setting all in all five paths on the command lines of ca65, cc65 and ld65 I
opted to just set the single environment variable.
2013-05-31 21:30:14 +02:00
Christian Groessler
c1230b8af6 small cleanup 2013-05-31 14:49:46 +02:00
Christian Groessler
7f0dbde77f Take SHADOW_RAM size into account. 2013-05-31 14:49:25 +02:00
Christian Groessler
451b34bc75 When turning the ROM off and on, also change the chargen pointer. 2013-05-31 01:50:07 +02:00
Christian Groessler
8e632b2847 some more changes -- atarixl target basically works now 2013-05-31 01:47:25 +02:00
Christian Groessler
9228b002b0 Handlers which manage the banking in and out of the ROM. 2013-05-31 01:45:53 +02:00
Christian Groessler
9908561e80 add more saved content 2013-05-31 01:42:30 +02:00
Christian Groessler
00fca46d2a move ZPSAVE content into its own file (used by 2nd load chunk and crt0.s in atarixl target) 2013-05-31 01:40:45 +02:00
Christian Groessler
7aa2231702 adapt to atarixl target 2013-05-31 01:38:16 +02:00
Christian Groessler
c1468f11b2 rename CIOV and SIOV to CIOV_org and SIOV_org for atarixl target 2013-05-31 01:37:40 +02:00
Christian Groessler
79d150b626 Code & data for "shadow RAM preparation" load chunk in the atarixl target.
Intermediate check-in, unfinished...
2013-05-30 02:34:06 +02:00
Christian Groessler
480d2a9305 Code & data for "system check" load chunk in the atarixl target. 2013-05-30 02:33:09 +02:00
Christian Groessler
2f6e7874c6 "save area" is used to save modified system variables and ports. It's
shared between the second and main chunk.
2013-05-30 02:31:25 +02:00
Christian Groessler
06f441e90f Some small first changes for the 'atarixl' target. 2013-05-30 02:30:19 +02:00
Greg King
051c21726b Added Inkwell lightpen drivers for the C64 and the C128.
They use the mouse driver programming interface.

Added a test program for lightpen drivers.  Now, it knows about only those two drivers; it will need updating when others are added.
2013-05-29 20:02:29 -04:00
Oliver Schmidt
7572834ebf Use cbm_load() to load overlays on CBMs. 2013-05-29 01:12:24 +02:00
Oliver Schmidt
56b6dcf814 Brought back mouse driver source code.
The mouse driver source code in question was removed two years
ago with commit 6cbbe66c87.
It seems however desirable to have it around visible in the source
code tree for reference purposes.
2013-05-28 22:07:04 +02:00
Oliver Schmidt
98c47d1877 Introduced target 'atarixl'.
The target 'atarixl' is to be used for Atari XL (and better) machines.
It will disable the OS ROM and enable the Shadow RAM available on
those machine.

Note: This commit is only the inital step towards for this goal that just
replicates the target 'atari' as a starting point!
2013-05-28 21:56:37 +02:00
Oliver Schmidt
2e8a65bda4 Renamed Atari drivers.
As a preparation for the introduction of the 'atarixl' target it is
necessary that all drivers have a base name...
- no longer than 7 characters
- with a common prefix
2013-05-28 21:20:37 +02:00
Oliver Schmidt
5bd0a53ea2 Added support for cc65 program arguments. 2013-05-24 18:36:30 +02:00
Oliver Schmidt
1354e1265f No delimiter comment between includes and first segment. 2013-05-24 18:29:31 +02:00
Oliver Schmidt
80b3da1058 The paravirtualization hooks are called for JMP too so there's no need for JSR. 2013-05-24 18:25:16 +02:00
Oliver Schmidt
3cc3b39c89 Made lib build less verbose if run as Travis CI build.
Travis CI limits the real time build output to 10000 lines. We need to be less verbose in the lib build to stay below that threshold.
2013-05-21 21:46:03 +02:00
Oliver Schmidt
55f9e6ac25 Added 'sim6502' and 'sim65C02' targets.
The targets allow to run cc65 programs in the sim65 exection
einvironment. As there are no "real" i/o facilities there's no
need for header files. Paravirtualized entry points are mapped
to $FFF0 ff. There's a large cc65 progam area from $0200-$FFEF.

The binary format includes a one-byte header indicating the required
execution environment: The value 0 means 6502 and the value 1
means 65C02. The load adress for the binary is fixed to $0200.

Note: Running sim65C02 programs currently doesn't work bcause
sim65 doesn't actually implement 65C02 opcodes.
2013-05-20 20:35:42 +02:00
Oliver Schmidt
16b77658a7 Made dependency handling for C sources actually work. 2013-05-12 18:21:49 +02:00
Greg King
415279457b Made geos-apple's file-converter depend on apple2enh's library.
The geos-apple target will build that library if it doesn't exist.
2013-05-09 14:46:04 -04:00
Oliver Schmidt
9ecf20a56a Force warning-free build (and added missing clean target). 2013-05-09 14:25:25 +02:00
Oliver Schmidt
4d35517f79 Allow for warning-free build of libraries. 2013-05-09 14:24:13 +02:00
Oliver Schmidt
85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
Oliver Schmidt
54c54f8499 Include targetutil intermediates in dependency handling. 2013-05-09 09:27:36 +02:00
Oliver Schmidt
e4347b5c74 Removed unintentionally committed intermediate file. 2013-05-09 09:18:19 +02:00
Oliver Schmidt
443e336058 Search for "local" binaries only once. 2013-05-09 01:37:09 +02:00
Oliver Schmidt
00bb0f9704 Hack: Changed TARGET order to have apple2enh.lib available for convert.system.
There's a quite special case of a targetutil for the TARGET geos-apple having to be
built as TARGET apple2enh binary. We can't just add a dependency to ../lib/apple2enhlib
because the TARGETs are built in individual make instances (because of vpath).

Doing that the "right way" would be _very_ complicated and would turn the Makefiles way
less readable. Therefore I decided to solve that by just reordering the TARGETs. Surely
this won't work if i.e. 'make geos-apple' is entered on a clean system. But still I consider
it appropriate.

I ordered the TARGETs btw so that they are more in an alphabetical order...
2013-05-09 01:32:48 +02:00
Oliver Schmidt
092653cb5b Added support for building targetutils. 2013-05-09 01:12:26 +02:00
Oliver Schmidt
bf59515a9e Added support for building 'extra' object files. 2013-05-08 23:27:58 +02:00
Oliver Schmidt
717121a7cf Removed reference to CC65_HOME.
Now that we're pretty much independent from CC65_HOME
it doesn't make sense anymore to look for it in the Makefiles.

So rather dynamically check if there are "local" binaries in the
../bin directory. If there are "local" binaries use them - and
otherwise rely on "installed" binaries found in the path.
2013-05-07 19:05:43 +02:00
Oliver Schmidt
969c3b7488 Allow to build just the binaries or just the libraries from the top level Makefile. 2013-05-07 19:05:41 +02:00
Oliver Schmidt
1591871ba7 Added compatibility with cmd.exe (and reduced verbosity). 2013-05-05 22:33:25 +02:00
Oliver Schmidt
88648ce717 Avoid usage of cl65 for library build as it requires 'install'. 2013-05-04 23:38:05 +02:00
Oliver Schmidt
81e467cdc2 Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:15:30 +02:00
Oliver Schmidt
008b4c4e1d Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:10:48 +02:00
Oliver Schmidt
e1f9b188a0 Merge pull request #3 from greg-king5/ctype
Fixed two <ctype.h> functions.
2013-05-02 01:36:13 -07:00
Greg King
b225adaf03 Fixed isgraph() and ispunct() (macroes and library functions). 2013-05-01 16:23:47 -04:00
Oliver Schmidt
b1c38729d0 Exclude apple2enh-only functionality from apple2 biuld on source code level. 2013-05-01 22:02:47 +02:00
Oliver Schmidt
6891862bbe Adjusted include directive for local header. 2013-05-01 21:53:30 +02:00
Oliver Schmidt
42494c6323 Removed obsolete files. 2013-05-01 14:01:42 +02:00
Oliver Schmidt
4da29d157a Marked files to be excluded from build. 2013-05-01 14:00:01 +02:00
Oliver Schmidt
414a59ce65 Fixed typos. 2013-04-02 17:29:13 +03:00
Oliver Schmidt
2250698f81 Fixed typos. 2013-04-02 17:24:21 +03:00
Oliver Schmidt
cf0463efe3 Fixed typo. 2013-04-02 17:15:02 +03:00
ol.sc
2e5823d43d Save some bytes by sharing the code doing the actual vector setting. Note: Jumping from segemnt INIT to segment CODE is okay while the other way wouldn't be.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-14 16:48:05 +00:00
ol.sc
4a5bd362ac Removed unnecessary include.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-14 16:16:57 +00:00
ol.sc
9547f6f584 Fixed copy&paste bug.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5987 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-13 07:48:37 +00:00
uz
0205906707 Remove needless instruction to make the code assemble.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5986 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-13 07:31:04 +00:00
ol.sc
7c9171ee87 Moved IRQ hooking / unhooking from startup code to constructor / destructor to avoid linking in the hooking / unhooking code (and callirq) for the majority of cc65 prorams not linking in interruptors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 22:39:38 +00:00
karri
a658c56774 Add lynx_snd_stop_channel
git-svn-id: svn://svn.cc65.org/cc65/trunk@5977 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-28 19:42:02 +00:00
karri
dc0292d405 Export lynx_snd_active
git-svn-id: svn://svn.cc65.org/cc65/trunk@5976 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-28 17:52:38 +00:00
karri
0137681d77 Update sound driver
git-svn-id: svn://svn.cc65.org/cc65/trunk@5974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-28 17:42:18 +00:00
silverdr
deb18b8e1e typo in the doc corrected, tabs adjusted
git-svn-id: svn://svn.cc65.org/cc65/trunk@5964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-15 11:30:11 +00:00
uz
3f677208d4 Bugfix by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5961 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-07 20:28:59 +00:00
uz
a302df3cc1 Patch by Greg King: Added a TGI text translator and a palette graphics driver
to Atmos library.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5958 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-07 19:37:18 +00:00
uz
eadd7c7ade Patch by Greg King: The Oric Atmos graphics driver tries to be both a
black-and-white driver and a color-palette driver, at the same time.  That
cannot work on the Oric's architecture.  This patch makes it be only a
black-and-white driver.



git-svn-id: svn://svn.cc65.org/cc65/trunk@5955 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-07 19:30:55 +00:00
karri
4697cf255f Add __fastcall__ stuff
git-svn-id: svn://svn.cc65.org/cc65/trunk@5950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-17 17:31:07 +00:00
karri
1cfe0edee2 Add sound support
git-svn-id: svn://svn.cc65.org/cc65/trunk@5949 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-12 14:30:20 +00:00
karri
3ed3ff68c5 Work in progress
git-svn-id: svn://svn.cc65.org/cc65/trunk@5948 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-12 14:29:39 +00:00
karri
7e5149d7f5 Add basic sound support
git-svn-id: svn://svn.cc65.org/cc65/trunk@5947 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-11 12:33:50 +00:00
karri
a7bd8bbc62 Fix bug in cls
git-svn-id: svn://svn.cc65.org/cc65/trunk@5944 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-02 11:45:36 +00:00
karri
c7f6e87e10 Add collision indices to all sprites jsut in case
git-svn-id: svn://svn.cc65.org/cc65/trunk@5943 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-01 13:32:24 +00:00
uz
6eefd591c1 Moved the string that contains the ascii representation of LONG_MIN into its
own file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5941 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-26 16:28:46 +00:00
karri
7b3e3b99a3 Add collision screen erasure to tgi_clear
git-svn-id: svn://svn.cc65.org/cc65/trunk@5939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-21 13:11:18 +00:00
karri
8d545b2e17 Add erasure of collision buffer to tgi_clear
git-svn-id: svn://svn.cc65.org/cc65/trunk@5938 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-20 06:19:50 +00:00
uz
e04f1d8cb0 Fixed an error in calloc reported by Marc 'BlackJack' Rintsch.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-12 23:07:02 +00:00
ol.sc
3ba33a0205 Minor adjustment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5924 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-07 22:34:08 +00:00
uz
dc4e898abd Use the new declarations from the zeropage include file. In interrupt handlers
that call C code, we don't need to save the register bank, because the C code
will save it, when needed.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 15:23:05 +00:00
uz
7b34609930 Have the callirq module export __CALLIRQ__ and changed all config files so
this symbol is a forced import for all interruptors.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5902 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-03 21:59:15 +00:00
ol.sc
6860ac7dfd Introduced static standard drivers.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 19:53:47 +00:00
ol.sc
dbc66c247a Added missing standard driver definitions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5890 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 15:58:27 +00:00
ol.sc
1bba8355da Fixed typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5889 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-31 23:39:58 +00:00
ol.sc
635f22c058 Normalized coding style.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5888 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-29 20:28:10 +00:00
ol.sc
a3c940e315 Convert dynamically loadable drivers into statically linkable drivers and add them to the target libraries.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5887 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-29 20:26:26 +00:00
karri
e412d455b9 Palette updated
git-svn-id: svn://svn.cc65.org/cc65/trunk@5879 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-26 10:18:45 +00:00
karri
ff77d42188 Fine tune palette
git-svn-id: svn://svn.cc65.org/cc65/trunk@5878 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-26 09:05:27 +00:00
ol.sc
3aabd85bf4 Apply "improved" cursor-off handling for native GEOS API too.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5876 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-25 20:02:01 +00:00
ol.sc
46f1085e2d Fixed several aspects of the GEOS CONIO implementation:
- cputc was drawing at the wrong position, therefore one line had to be removed as a workaround.
- chline, cvline were drawing one pixel to large lines.
- cclear was drawing an in both directions one pixel to big rect.
- the cursor was drawn at wrong times at wrong places in a wrong size.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5874 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:42:57 +00:00
ol.sc
9930379665 Added (naive) implementation of dio_query_sectcount() and dio_query_sectsize() for GEOS 64/128.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5873 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:29:40 +00:00
ol.sc
d620c2dc7a Minor adjustment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5871 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:25:11 +00:00
ol.sc
6e829979d4 Normalized coding style.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5869 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:22:05 +00:00
karri
56ccd62087 Cammys optimized Lynx palette
git-svn-id: svn://svn.cc65.org/cc65/trunk@5866 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 10:07:17 +00:00
ol.sc
c91e9f4f06 On Cywin with its (too) expensive fork() this change cuts down minimal re-build times from nearly 2 minutes to approx. 6 seconds. Additionally it looks in all directories in the first list for "override" files, not just in one.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5865 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-22 17:37:10 +00:00
ol.sc
89d4f4a90c Introduced getcurrentdevice() and implemented it for CBM and Apple.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-21 14:35:17 +00:00
ol.sc
590e382a2b Removed revers as it doesn't influence clrscr, cclear, chline, cvline and does look pretty ugly on cputs because there's no opaque background.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5861 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-19 07:11:04 +00:00
ol.sc
17659555f8 Removed cpputs/cpputsxy as they don't work and as there's really very little use for proprietary extensions of a character API emulated on a graphics systems.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5860 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-19 06:53:55 +00:00
ol.sc
1a80cd1071 Added check for disk in drive on chdir().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5859 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-17 20:24:43 +00:00
ol.sc
8b26ed2a69 Implemented __syschdir on CBM. As getcwd returns a cached directory any direct access to __curunit would cause inconsistencies. Therefore __curunit was renamed to curunit to prohibit user access.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5857 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-16 21:39:40 +00:00
ol.sc
6618e08bc3 Minimal formatting adjustment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5856 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-16 21:29:14 +00:00
ol.sc
272b8e7185 I wasn't aware that the unit numbers in the ProDOS device list contain device type identifiers in the low nibble. So if we can't use the device list entries as-is we can as well present the high nibble as low nibble to the user thus providing more meaningful device numbers.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5852 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-15 21:59:51 +00:00
ol.sc
e0efad70bf Removed TABs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-14 12:51:02 +00:00
ol.sc
61d4b6b03f Removed DIO specific typedefs which were just aliases to basic types and replaced the term 'drive' with 'device' in order to harmonize with the recently added device.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5847 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-11 18:22:49 +00:00
ol.sc
d99d5f3337 Replaced Apple II specific solution with implementation of recently introduced devicedir().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5846 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 20:55:56 +00:00
ol.sc
3ca0ddb1b0 Better stick to the "high level" errno helpers as done everywhere else.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5845 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 20:51:10 +00:00
ol.sc
300817702f initcwd will be called from the upcoming __syschdir so it has to be moved out of the INIT segment - and so it doesn't make sense anymore to keep devicestr as separate module anymore as the integration with initcwd allows to omit the jmp from the latter to the former.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5844 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 19:32:30 +00:00
ol.sc
deb407ccb1 __syschdir calls initcwd so the latter must not be placed in the INIT segment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5843 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 19:18:09 +00:00
ol.sc
9ff0085f14 Removed TAB.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5842 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-10 19:12:29 +00:00
ol.sc
5d4a441dd8 Clear _oserror on success.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5841 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-07 20:20:54 +00:00
ol.sc
987c3066a3 Introduced getdevicedir() - with implementation for the CBMs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5840 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-07 19:18:56 +00:00
uz
3470f230ae Need to import ST since it is no longer declared in plus4.inc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5839 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-02 19:22:19 +00:00
uz
9324904535 Reverted r5835 because of Olivers changes to the asm includes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5838 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-02 18:15:39 +00:00
uz
d10c8cd5fc ST is already imported in plus4.inc, no need to import it separately.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5835 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-01 09:29:23 +00:00
ol.sc
59e96ef740 Turned the 'ST' status byte into a symbol resolved by the linker in order to allow to use it from code living in the 'cbm' directory.
Moved getdevice.s from 'c64'/'c128' to 'cbm' making use of the new 'ST' setup.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5834 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-30 18:20:15 +00:00
uz
f1d8210450 Fix calculation of text width for bitmap fonts.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5829 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-20 21:14:46 +00:00
karri
b9d9513f76 Change address of sec loader
git-svn-id: svn://svn.cc65.org/cc65/trunk@5825 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-15 12:57:37 +00:00
karri
2222df9143 Shring the bootloader by 20 bytes and remove restrictions on file size
git-svn-id: svn://svn.cc65.org/cc65/trunk@5824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-11 13:01:39 +00:00
ol.sc
0f1cd50883 Replaced Apple II specific solution with implementation of recently introduced mass-storage device enumaration.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5821 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 13:38:32 +00:00
ol.sc
b586d5ef69 Introduced mass-storage device enumaration - with implementation for C64 and C128.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5820 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 12:14:45 +00:00
ol.sc
093e83835d Have the internal function 'isdisk' set the carry for device 31. As the device id 31 doesn't really exist it is for sure no disk.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5818 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-05 19:07:34 +00:00
uz
c6f6a5de3f Generate and package a matching emd binary of the new driver for the target
platform.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5817 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-05 13:45:17 +00:00
uz
d617481be4 Added the first EMD driver for the atari, written and contributed by Shawn
Jefferson <sjefferson@shaw.ca>.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-05 11:25:28 +00:00
uz
942c0b6b2f Choose another way to fix the issue from r5804: When parsing the directory
name, add a file mask, so the result is "$0:*" or similar. When specified like
this, the drive accepts the r/o specifier ",R" so we don't have to complicate
the code in open().


git-svn-id: svn://svn.cc65.org/cc65/trunk@5805 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-06 18:45:26 +00:00
uz
55b56b2475 Fixed a bug: The floppies do not like ,R (for read mode) when opening the
directory.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5804 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-05 21:32:40 +00:00
uz
537b18d765 Fix invalid header offset (has been changed in opendir.c but checkin of
readdir.c was missing).
                     


git-svn-id: svn://svn.cc65.org/cc65/trunk@5800 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-08-01 08:49:09 +00:00
uz
fbdd6faff6 Fixed a comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-30 19:02:07 +00:00
uz
470a4abcf2 Include the CBM disk label in the returned directory entries.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5797 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-30 19:01:45 +00:00
uz
7ab3ede933 Forgot to add the new module that contains em_load_driver.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5795 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-23 06:18:58 +00:00
uz
dcff1d0774 An already loaded driver is an error in ser_load_driver, because the library
cannot know if it was dynamically loaded or statically linked.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 19:54:04 +00:00
uz
e7ed3b374f Rewrote em_load_driver in assembler fixing a possible memory leak.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:36:09 +00:00
uz
1f9f96d9b7 More comment fixes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5792 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:20:45 +00:00
uz
97060cc32e Fixed a few comments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:18:36 +00:00
uz
975a06c2ee Rewrote tgi_load_driver in assembler and fixed a possible memory leak when
doing so. Changed the behaviour in case a driver is already loaded: Since the
library cannot know if this driver was linked statically or loaded
dynamically, an already installed driver is considered an error. It must be
removed before calling tgi_load_driver.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5790 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:07:46 +00:00
uz
a62958764d Move the _filetype variable into its own module, so people who want to change
the default can replace exactly this module without interfering with other
stuff.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5785 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-15 12:34:35 +00:00
uz
f7f4d01e52 Do not add the file type to the name when using append mode. It causes more
problems than it helps.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5784 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-15 12:30:43 +00:00
uz
6cdd8e7281 Rewrite code for arithmetic right shift.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5779 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-11 20:57:02 +00:00
uz
7a0fa3ce67 Modifications for smaller code size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-10 20:45:16 +00:00
uz
c6db670be5 Rewrite to add an entry point for shraxy that doesn't need to pass values over
the stack.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5761 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 19:57:24 +00:00
uz
db8cac9501 Comment and tab fix. No code changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5760 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 19:56:42 +00:00
ol.sc
f9f660dd5d Added functional Atari directory classification macros for file types from struct dirent contributed by Stefan A. Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5759 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-03 20:10:52 +00:00
uz
511b826dfd Use 's' as default file type instead of 'u'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5756 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 18:24:01 +00:00
uz
e03feeefae Unified names of CBM kernal level functions and completed the list of
functions in the cbm.h header file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5750 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 12:36:44 +00:00
uz
af799c922f Fixed wrong filename for module c_getin.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@5748 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 11:32:59 +00:00
uz
49542644df Added missing function cbm_k_getin, which was in cbm.h but an implementation
was missing.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5747 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 11:30:41 +00:00
uz
b9ffe5de13 Add another entry point to the shift left routine, that shifts A/X by Y
without going over the stack.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5742 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 22:04:00 +00:00
uz
5bc67cdaee Move definitions for CBM file types into its own header file, since these
definitions are needed for file type macros in dirent.h. Unify names for the
include files.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5735 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 13:52:06 +00:00
ol.sc
dccb0c8dde We now don't define the memory area RAM anymore. So use the segment STARTUP - as done in crt0.s.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5729 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:58:03 +00:00
ol.sc
610bb14988 Avoid mixing of memory areas and segments in address computations (and made move of segment INIT somewhat more readable).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5726 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-16 22:13:58 +00:00
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
383157e743 Size optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5714 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-11 18:16:17 +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
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
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
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
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
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
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
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