1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00
Commit Graph

6760 Commits

Author SHA1 Message Date
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
Oliver Schmidt
60958f005a Merge pull request #273 from mrdudz/emddocs
updated docs with recently added extended memory drivers
2016-02-28 21:53:46 +01: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
Oliver Schmidt
3d08abcfa8 Load INITBSS segment from disk.
Conceptually the INITBSS segment is not initialized in any way. Therefore it makes sense to not load it from disk. However the INIT segment has to be loaded from disk and therefore moved to its run location above the INITBSS segment. The necessary move routine increases runtime RAM usage :-(

Therefore we now "unnecessarily" load the INITBSS segment from disk too meaning that the INIT segment is loaded at its run location. Therefore there's no need for the move routine anymore.

After all we trade disk space for (runtime) RAM space - an easy decision ;-)

Notes:

- The code allowing to re-run a program without re-load present so far could not have worked as far as I can see as it only avoided to re-run the move routine but still tried to re-run the code in the INIT segment that was clobbered by zeroing the BSS. Therefore I removed the code in question altogether. I'm personally not into this "dirty re-run" but if someone wants to add an actually working solution I won't block that.

- INITBSS is intentionally not just merged with the DATA segment as ROM-based targets can't reuse the INIT segment for the BSS and therefore have no reason to place the INIT segment above INITBSS.

- Because ROM-based targets don't copy INITBSS from the ROM (like it is done with the DATA segment) all users of INITBSS _MUST_NOT_ presume INITBSS to be initialized with zeros!
2016-02-28 19:45:36 +01:00
Bob Andrews
25f4482641 Merge pull request #238 from mrdudz/gamate
Bit Corporation 'Gamate' support
2016-02-27 18:44:26 +01:00
Bob Andrews
3f72e59e93 Merge pull request #241 from blackystardust/c128-function-ram-emd
C128 function ram emd
2016-02-27 18:08:55 +01:00
Oliver Schmidt
669205600f Merge pull request #271 from silverdr/blackystardust_pr_post_review
Blackystardust pr post review
2016-02-27 00:55:11 +01:00
Patrycjusz R. Łogiewa
01d9d3d151 Merge branch 'blackystardust_pr_post_review' of github.com:silverdr/cc65 into blackystardust_pr_post_review 2016-02-26 23:56:22 +01:00
silverdr
2bcdf32458 blackystardust pull request with post-review changes 2016-02-26 23:55:55 +01:00
Patrycjusz R. Łogiewa
8a3a0e95ad blackystardust pull request with post-review changes 2016-02-26 23:51:37 +01:00
silverdr
2abd077dfd Merge pull request #1 from cc65/master
sync
2016-02-26 23:42:50 +01: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
Oliver Schmidt
f7cdfbf5cb Minor fix 2016-01-21 20:51:17 +01:00
Oliver Schmidt
5c3e09685f Added Watara. 2016-01-21 20:49:21 +01:00
Oliver Schmidt
0535075856 Fixed #258. 2016-01-16 22:41:14 +01:00
Oliver Schmidt
2f61c5433e Merge pull request #257 from greg-king5/actor-lineinfo
Make ca65's CONDES-type pseudo-instructions save line numbers correctly.
2016-01-16 13:39:11 +01:00
Greg King
7a39b85e30 Fixed how ca65's CONDES-type pseudo-instructions save line numbers (for error messages). 2016-01-15 17:18:09 -05:00
Oliver Schmidt
8e297aacd1 Merge pull request #256 from polluks/master
Changed stdout to stderr to separate sim65's output streams. Suggeste…
2016-01-05 21:13:12 +01:00
polluks
cb3700ef66 Changed stdout to stderr to separate sim65's output streams. Suggested doc edit. 2016-01-05 17:45:18 +01:00
Oliver Schmidt
22348e2f07 Merge pull request #255 from polluks/master
Some missing docu.
2016-01-05 17:26:31 +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
d34edf8b1f Merge pull request #254 from greg-king5/offset-pointer
Fix an unbalanced C stack that happens when a pointer is added to a 32-bit offset.
2016-01-02 13:55:42 +01:00
Greg King
e050655757 Added a cc65 regression test for pointer and offset addition operations. 2016-01-01 11:39:55 -05:00
Greg King
7e14dde07b Fixed the cc65 code that handled an addition of a pointer to a 32-bit offset.
It didn't demote the offset to int because it looked at the pointer (instead of the offset) which already was 16 bits.
2015-12-31 17:41:48 -05:00
Oliver Schmidt
104f898260 Merge pull request #253 from greg-king5/pointer-compares
Make cc65 accept comparisons between pointers with different qualifiers.
2015-12-29 12:11:33 +01:00
Greg King
3b303396bf Made cc65 accept comparisons between pointers with different qualifiers (similarly to subtractions between pointers). 2015-12-29 04:18:17 -05: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
polluks
11786b198e Amiga support #192 2015-12-27 01:26:28 +01:00
mrdudz
5d3e7eeae3 tweaked soft env 2015-12-25 00:59:22 +01:00
Oliver Schmidt
51bcf28a87 Update package index (as recommended by Travis CI). 2015-12-16 12:24:47 +01:00
Oliver Schmidt
8a2ba97c60 Merge pull request #248 from greg-king5/nes-registers
Remove a const qualifier from <nes.h>.
2015-12-16 10:40:41 +01:00
Greg King
abfc36ec9c Programs need to reset NES input controllers by writing to them. 2015-12-15 11:26:04 -05:00
Oliver Schmidt
82860423f3 Merge pull request #247 from clbr/master
nes: Fix reading the second controller
2015-12-15 16:01:54 +01:00
Lauri Kasanen
a954e713ad nes: Fix reading the second controller
See
http://wiki.nesdev.com/w/index.php/Controller_port_registers
2015-12-14 19:28:53 +02:00
Oliver Schmidt
a7793bcf65 Merge pull request #246 from greg-king5/shift-signed-char
Fix a signed char right-shift compiler optimization.
2015-12-14 18:25:57 +01:00
Greg King
bdbf75372c Added another op-code to the test pattern for a right-shift optimizer in cc65. 2015-12-14 11:50:43 -05:00
Greg King
5e7c7d78fc Added a regression test program for the changes in the right-shift optimizer. 2015-12-14 11:46:30 -05:00
Greg King
651b1b40ec Extended a signed char shift optimization, to handle shifts that are longer than 4 bits. 2015-12-13 17:10:31 -05:00
Greg King
4716083f3f Fixed a signed char shift optimization so that it won't be used on signed int also.
(It would lose significant bits from the high byte.)
2015-12-13 17:04:43 -05:00
Oliver Schmidt
377f31d085 Fixed soft80 shutdown.
A call to $FDA3 cannot be used because it re-enables the BASIC ROM. If a large program (such as Contiki's webbrowser80) has destructor code or data "behind" that ROM, then the program might crash when it tries to quit gracefully. Changing that code to set CIA2_PRA works well enough.
2015-12-02 21:34:08 +01:00
Oliver Schmidt
d403c1e7f0 Merge pull request #240 from blackystardust/fix-c128-ram-rts
Fixed the c128 bank 1 emd.
2015-12-02 10:40:06 +01:00
Marco van den Heuvel
433eeb1bc7 Renamed MMU_CFG_INT_FROM -> MMU_CFG_IFROM and MMU_CFG_EXT_FROM -> MMU_CFG_EFROM 2015-12-02 00:30:30 -08:00
Marco van den Heuvel
7cd80e7450 optimized the sei/cli pairing a bit. 2015-12-02 00:21:55 -08:00