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

906 Commits

Author SHA1 Message Date
Christian Groessler
97b517a892 sim65: add command line parameter to print number of CPU cycles at exit 2016-07-05 17:07:39 +02:00
Oliver Schmidt
c9e9679a06 Improved doc and samples default target.
The 'all' target deliberately doesn't build the doc nor the samples. But that doesn't mean that the Makefiles in the 'doc' and 'samples' directories must default to the (empty) 'all' target.
2016-06-19 18:55:00 +02:00
Oliver Schmidt
e47485f925 Added CONIO cursor support.
For quite some time I deliberately didn't add cursor support to the Apple II CONIO imöplementation. I consider it inappropriate to increase the size of cgetc() unduly for a rather seldom used feature.

There's no hardware cursor on the Apple II so displaying a cursor during keyboard input means reading the character stored at the cursor location, writing the cursor character, reading the keyboard and finally writing back the character read initially.

The naive approach is to reuse the part of cputc() that determines the memory location of the character at the cursor position in order to read the character stored there. However that means to add at least one additional JSR / RTS pair to cputc() adding 4 bytes and 12 cycles :-( Apart from that this approach means still a "too" large cgetc().

The approach implemented instead is to include all functionality required by cgetc() into cputc() - which is to read the current character before writing a new one. This may seem surprising at first glance but an LDA(),Y / TAX sequence adds only 3 bytes and 7 cycles so it cheaper than the JSR / RTS pair and allows to brings down the code increase in cgetc() down to a reasonable value.

However so far the internal cputc() code in question saved the X register. Now it uses the X register to return the old character present before writing the new character for cgetc(). This requires some rather small adjustments in other functions using that internal cputc() code.
2016-06-19 15:03:20 +02:00
Greg King
573381a340 Allowed character code zero to be remapped with other character codes. 2016-06-11 06:43:19 -04: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
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
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
Oliver Schmidt
02b8469875 Added full stop. 2016-06-03 21:21:22 +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
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
Patrycjusz R. Łogiewa
ac5bb6707d Post-review changes 2016-05-29 16:19:03 +02:00
Christian Groessler
da65866e24 Atari: add new function '_is_cmdline_dos()' and some other small changes.
- use this function instead of directly looking at _dos_type in the included
  targetutil and test programs
- fixes/improvements to the Atari runtime library regarding the recently
  changed _dos_type values
- libsrc/atari/targetutil/w2cas.c: exit if no filename was entered
- add documentation for the new function
2016-05-25 00:57:43 +02:00
Patrycjusz R. Łogiewa
759f5f5f48 docs for targets with target utilities adjusted 2016-05-18 16:42:51 +02:00
Patrycjusz R. Łogiewa
93f55c274b moved output of target utils and drivers to separate directory 2016-05-13 14:28:58 +02:00
Greg King
2c7ccca210 Added the optional C keyword "volatile" to the __asm__ statement grammar.
It prevents the statement's Assembly code from being optimized (e.g., moved or removed).  Optimization is disabled for that statement's entire function (other functions aren't affected).
2016-04-22 11:33:52 -04:00
Oliver Schmidt
e809d6bf0d Merge pull request #281 from polluks/sp65
sp65: A forgotten option. Empty arguments are not silent anymore.
2016-04-10 21:13:02 +02:00
KORISNIK
7f06405bdb A forgotten option. Empty arguments are not silent anymore. 2016-04-10 02:21:36 +02:00
Oliver Schmidt
8b685763d4 Renamed chrcvt to chrcvt65 and added it to the build.
The /Makefile presumes that all binaries are are named *65 so chrcvt had to be renamed in order to be added to the build.
2016-03-27 19:09:00 +02:00
Oliver Schmidt
d2f012e414 Updated Protovision Shop URL. 2016-03-27 18:50:54 +02:00
Oliver Schmidt
e2419ece0b Added scrcode macro for the Apple II.
Although the Apple II generally works with plain ASCII (i.e. in the ProDOS 8 MLI) the actual screen codes differ. This fixes #260.
2016-03-27 18:26:46 +02:00
Oliver Schmidt
c9734004ee Minor fixes for recent doc change. 2016-03-25 19:03:12 +01:00
Oliver Schmidt
9aac382afb Updated documentation to reflect the current linker configs. 2016-03-25 18:48:23 +01:00
Oliver Schmidt
aac0b1cbbb Merge pull request #274 from bbbradsmith/doc-cc65-intern
New documentation: cc65-intern.sgml
2016-03-08 21:50:18 +01:00
Oliver Schmidt
d8c31cf1d3 Renamed RAM to MAIN for all disk based targets.
The name RAM doesn't make much sense in general for a memeory area because i.e. the zero page is for sure RAM but is not part of the memory area named RAM.

For disk based targets it makes sense to put the disk file more into focus and here MAIN means the main part of the file - in contrast to some header.

Only for ROM based targets the name RAM is kept as it makes sense to focus on the difference between RAM and ROM.
2016-03-07 01:28:55 +01:00
Oliver Schmidt
419eb700b5 Renamed INITBSS to INIT and INIT to ONCE.
The way we want to use the INITBSS segment - and especially the fact that it won't have the type bss on all ROM based targets - means that the name INITBSS is misleading. After all INIT is the best name from my perspective as it serves several purposes and therefore needs a rather generic name.

Unfortunately this means that the current INIT segment needs to be renamed too. Looking for a short (ideally 4 letter) name I came up with ONCE as it contains all code (and data) accessed only once during initialization.
2016-03-06 21:27:19 +01:00
Oliver Schmidt
ab1600b346 Merge pull request #269 from jbrandwood/squarebracket
New ".feature" to use brackets instead of parens for 6502 indirect addressing.
2016-03-03 09:07:21 +01:00
Brad Smith
97e6a8c569 cc65-intern update minor change notes from greg-king5 2016-03-02 21:01:46 -05:00
Brad Smith
fa5b0d88c5 Merge remote-tracking branch 'refs/remotes/cc65/master' into doc-cc65-intern 2016-03-02 21:01:04 -05:00
Brad Smith
85a58453cb cc65-intern adjusting mailing address 2016-03-02 02:03:23 -05:00
Brad Smith
18dec35312 cc65-intern sgml fixes 2016-03-02 01:58:44 -05:00
mrdudz
7d2969d5ac fixed copypaste errors 2016-02-28 21:39:49 +01:00
mrdudz
f328532030 updated docs with recently added extended memory drivers 2016-02-28 20:12:28 +01:00
Bob Andrews
25f4482641 Merge pull request #238 from mrdudz/gamate
Bit Corporation 'Gamate' support
2016-02-27 18:44:26 +01:00
Brad Smith
222ab93026 revise note on prototypes/K&R conventions 2016-02-26 17:33:46 -05:00
Brad Smith
fd708d30ec draft of cc65-intern document 2016-02-26 17:11:11 -05:00
John Brandwood
ef153364ea Add indirect JMP examples and fix typos in the documentation. 2016-02-26 08:10:11 -08:00
John Brandwood
d23db09f7f Add optional feature to use brackets instead of parens for 6502 indirect addressing. 2016-02-25 12:40:31 -08:00
polluks
cb3700ef66 Changed stdout to stderr to separate sim65's output streams. Suggested doc edit. 2016-01-05 17:45:18 +01:00
polluks
f69f8add17 Updated index. 2016-01-05 15:57:18 +01:00
polluks
231150bc3c Added sim65 documentation. 2016-01-05 15:45:51 +01:00
polluks
804f1fded6 Fixed typos. 2016-01-05 15:38:05 +01:00
Oliver Schmidt
02e4b5bfe3 Merge pull request #249 from polluks/master
My first PR
2015-12-27 13:40:20 +01:00
polluks
a8a6e9df5b Added chrcvt documentation 2015-12-27 02:09:12 +01:00
mrdudz
8a499fdf4e fixup conio.c some more. also includes merge of upstream/master because git is retarded. 2015-12-02 00:13:32 +01:00
mrdudz
3bc1375c90 fix typo 2015-11-29 22:00:59 +01:00
mrdudz
aff2d95cb9 fix docs 2015-11-29 21:15:28 +01:00
Greg King
3c8c62c6ab Fixed the ca65 Assembly-code variable ".paramcount".
Fixed how it's described in the ca65 document.
2015-11-17 14:21:40 -05:00
mrdudz
60285097e3 initial import of the gamate stuff 2015-11-14 13:15:29 +01:00
Oliver Schmidt
281dc33e5a Made addr/size hex consts 4 digits wide. 2015-10-30 17:19:19 +01:00
Oliver Schmidt
43bda6928d Merge pull request #221 from undisbeliever/master
Added .asize and .isize pseudo variables in ca65
2015-10-23 20:41:28 +02:00
mrdudz
ba901d2de7 removed apple2 specific note 2015-10-22 17:33:01 +02:00
Marcus Rowe
67cd0c2197 Added .asize and .isize pseudo variables
These pseudo variables will return the size of the accumulator/index
in bits.

For the 65816 instruction set .ASIZE/.ISIZE will return either 8 or 16,
depending on the current size of the operand in immediate addressing
mode.

For all other CPU instruction sets, .ASIZE/.ISIZE will always return 8.

For example:

	; Reverse Subtract with Accumulator
	; A = memory - A
	.macro rsb param
		.if .asize = 8
			eor	#$ff
		.else
			eor	#$ffff
		.endif
		sec
		adc	param
	.endmacro
2015-10-20 09:30:25 +10:00
mrdudz
07a77d1259 updated docs 2015-10-19 03:12:19 +02:00
mrdudz
5099910b18 updated docs 2015-10-18 23:57:58 +02:00
Lauri Kasanen
7f409c3edb nes: Expose and document all joypad keys 2015-10-05 17:19:36 +03:00
Lauri Kasanen
04be8020b6 nes: Document whether waitvblank waits for the start or end of vblank 2015-10-05 17:18:53 +03:00
mrdudz
d0a1dc73b8 Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-09-04 13:40:52 +02:00
mrdudz
01baf36fa8 fixed style issues 2015-09-03 13:09:18 +02:00
Greg King
05df907114 Fixed the syntax in the shortcut expansion of ".ZEROPAGE".
Added a reference from ".SEGMENT" to ".ZEROPAGE".
2015-08-01 05:50:13 -04:00
Greg King
a55b6ef3db Removed obsolete lines from a list of 65816 mnemonic aliases.
Described what the macroes in macro package "generic" do.
2015-07-29 06:55:50 -04:00
Greg King
52eec1f236 Updated the fastcall information in a document and two Assembly files. 2015-07-22 13:31:14 -04:00
mrdudz
996c7b493e moved all notes into regular documentation 2015-07-16 21:39:13 +02:00
mrdudz
21d7729ad1 Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-07-16 16:46:24 +02:00
mrdudz
1414411bba added waitvblank and fixed get_tv 2015-07-15 19:46:26 +02:00
mrdudz
83391ab67c some more tweaking, added docs page 2015-07-14 17:22:47 +02:00
JT
e7fca18798 Added .DEFINEDMACRO psuedo function
Fixed typo/fomatting

Formatting fix

Refactor the code to test for a macro

Remove .FEATURE requirement for .DEFINEDMACRO
2015-06-27 01:39:11 -04:00
Oliver Schmidt
a13284a792 Merge pull request #160 from Movax12/definedinstr
.DEFINEDINSTR
2015-06-04 22:05:00 +02: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
Greg King
b49fd26d16 Improved the compiler documentation, a little bit. 2015-05-26 11:23:54 -04:00
JT
c30d87f0b7 Update documentation to .ISMNEMONIC 2015-05-22 20:33:42 -04:00
JT
9ee5adc190 Remove .FEATURE requirement and add documentation 2015-05-19 00:06:12 -04:00
Oliver Schmidt
893af97ccd Fixed isblank() availability atttribute. 2015-05-13 14:54:12 +02:00
Oliver Schmidt
1e6629de8d Removed 'gh-pages'.
The 'gh-pages' goal has been moved to another Makefile. This reference was just a leftover.
2015-05-05 13:46:26 +02:00
Greg King
8743e9911d Added a command-line option to compile a program, with __cdecl__ as the default calling convention. 2015-04-22 09:59:23 -04:00
JT
0d765abd6c Fix typo in documentation for .ADDRSIZE 2015-04-21 16:24:27 -04:00
JT
ffa52863b3 Small changes to coding style and to ca65 documentation for .ADDRSIZE 2015-04-21 16:09:01 -04:00
JT
2d3cf98bc8 2nd Small change to .ADDRSIZE documentation 2015-04-20 19:40:41 -04:00
JT
9e9884764e Small change to .ADDRSIZE documentation 2015-04-20 19:09:18 -04:00
JT
499eab65f1 Updated documentation for .ADDRSIZE and .FEATURE addrsize 2015-04-20 18:56:34 -04:00
Stephan Mühlstrasser
810fe229e9 Document osic1p-specific constants. 2015-03-23 19:31:46 +01:00
Stephan Mühlstrasser
7fb206e381 Macro-based implementation of screen layout configuration modules. 2015-03-23 19:02:45 +01:00
Greg King
52f5854813 Fixed a typo. 2015-03-14 16:50:08 -04:00
Oliver Schmidt
a7ecab38bd Improved vector (re)setting function docs. 2015-03-14 18:53:56 +01:00
Oliver Schmidt
15c64c3926 Replaced 'Limits' with 'Notes'.
Quite some items in the 'Limits' sections aren't actual limitations so it seems appropriate to just use a more neutral term.
2015-03-14 18:41:57 +01:00
Greg King
604a5b4447 Changed the documentation to reflect the new fastcall/cdecl reality. 2015-03-13 05:40:55 -04:00
Greg King
2ac615e27e Mentioned in the documentation how we can make the new format be the default. 2015-03-08 10:43:03 -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
Oliver Schmidt
088c76e678 Merge pull request #148 from smuehlst/c1p
kbhit() implementation, fixed C data stack pointer initialization
2015-03-02 13:02:17 +01:00
Greg King
f5ac6b0dbf Updated the introduction to the Atmos target because I changed how its programs are started. 2015-02-28 00:17:07 -05:00
Stephan Mühlstrasser
7c4f96de81 kbhit implemented, note about limitation removed. 2015-02-23 20:28:05 +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
Stephan Mühlstrasser
88df129215 Add dummy kbhit(), remove redundant documentation for cgetc(). 2015-02-12 22:54:21 +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
a1cc85768e Minor corrections. 2015-02-08 15:46:33 +01:00
Stephan Mühlstrasser
da8ec4f7b1 Completing OSI documentation. 2015-02-08 15:06:55 +01:00
Stephan Mühlstrasser
88249a2125 Fixed URL for SRecord. 2015-02-07 01:19:03 +01:00
Stephan Mühlstrasser
04469be331 Minor corrections to documentation. 2015-02-07 00:22:16 +01:00
Stephan Mühlstrasser
680c62d589 Start documentation for Ohio Scientific targets. 2015-02-06 22:53:36 +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