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

201 Commits

Author SHA1 Message Date
Greg King
acb5af539f Fixed the ld65 configure files for the cx16 platform.
* Added ONCE and INIT segments to the Assembly configuration.
* Made more segments optional in the standard and the banked configurations.  That will make them a little easier to use with Assembly-source programs.
2021-02-21 14:02:49 -05:00
Christian Groessler
6c90f3e2d2 atarixl configs: RAM memory area was renamed to MAIN in d8c31cf1d3
adjust comments accordingly
2021-02-09 11:22:58 +01:00
Polluks
c663f64542 Added features; changed FFF0 segments 2020-11-28 20:56:12 +01:00
Polluks
a538188d90 Fixed some config mistakes 2020-11-28 20:56:12 +01:00
Polluks
9538ca29b2 Unified #1345 2020-11-28 20:56:12 +01:00
Christian Groessler
77da8d5490 vic20.cfg: add missing comma 2020-11-11 17:20:25 +01:00
Sven Michael Klose
53f055fb1d Reduce stack size to 256B for unexpanded VICs. 2020-11-11 12:42:35 +01:00
Christian Groessler
944ebbc23c atarixl configs: make size of CHARGEN configurable
If text mode is not used, its space can be reclaimed by setting __CHARGENSIZE__
to 0.
Following a suggestion from issue #1314.
2020-10-29 17:43:49 +01:00
Oliver Schmidt
2fcd8b934a Made HGR segment obligatory.
Requiring the HGR segment makes the configs a little less flexible, but for the intended use case the HGR segment actually is necessary. And as we learned now, making the HGR segment obligatory helps users to not shoot themselves in the foot.
2020-10-24 13:57:35 +02:00
Greg King
a25b28a972 Added files to the pet library that support the overlay demo sample program.
cbm_load() is needed because the Pet/CBM Kernals don't have a LOAD function that can be used by machine code programs.
2020-10-15 21:22:04 -04:00
Greg King
e682f7c8c3 Protect the C stack from overlays on the c64 target. 2020-10-15 14:00:25 -04:00
Greg King
41bd8d909b Added ld65's bank attribute to the cx16 library's bank (overlay) configuration file.
That attribute makes it easier for Assembly code to know which bank holds a label.
2020-09-20 19:55:25 -04:00
Greg King
0b64ca0d7d Fixed the ld65 cx16 Assembly configuration file.
The CODE segment immediately follows the EXEHDR segment.  Added a segment for the zero-page area that's free when the BASIC ROM isn't used.
2020-09-20 16:09:58 -04:00
Greg King
410e4502ee Added a 160x192x2 TGI (graphics) driver to the VIC-20 library.
The driver requires a special linker configuration: "vic20-tgi.cfg".
The VIC-20 computer needs at least 8K of expansion RAM!

"tgidemo.c" needed to be adjusted because the VIC-20's vertical (y) range is greater than its horizontal (x) range -- the opposite of most other platforms.  Also, the circle demo would jam on the VIC-20.
2020-07-08 05:55:30 -04:00
Greg King
3fa253d31f Updated the cx16 library to the Commander X16 Kernal's prerelease 35. 2019-12-25 10:56:32 -05:00
Oliver Schmidt
d5c804f851 Expanded Sim65 zero page. 2019-11-26 22:18:12 +01:00
Greg King
d78133e1f0 Updated cx16 to match the Commander X16 ROMs and emulator, release 34. 2019-11-16 13:11:40 -05:00
Fabrizio Caruso
fb260ef17f Init is no longer in crt0.s 2019-10-09 17:01:02 +02:00
Fabrizio Caruso
915836b3ec Improve init code readability 2019-10-09 17:01:02 +02:00
Fabrizio Caruso
cdb8035cf0 Move screen init into crt0.s 2019-10-09 17:01:02 +02:00
Greg King
18afc7c703 Created a target and a library for the Commander X16 prototype computer. 2019-09-27 03:38:51 -04:00
bbbradsmith
fb7d4acd5c versionable header for sim65
load and run address now configured from header
fix error codes not to conflict with test
fix test/misc/endless.c which is supposed to fail if an endless loop does not occur
2019-05-29 22:56:51 +02:00
bbbradsmith
2f3cae0d2e movable sp for sim65 2019-05-29 22:56:51 +02:00
Christian Groessler
14d8f3d81d cfg/atari-xex.cfg: fix typo in comment 2019-04-24 13:17:11 +02:00
Daniel Serpell
824e30934e Change XEX configuration file names to better reflect original names.
Also, updates documentation with the new files.
2019-02-21 19:00:17 -03:00
Daniel Serpell
0e33a653d7 Add sample linker configurations for Atari binary output in C. 2019-02-21 19:00:17 -03:00
Christian Groessler
58484449b4 remove TABs 2019-02-05 23:27:52 +01:00
Daniel Serpell
e767c8990d Adds documentation and a sample config file for the ATARI format. 2019-02-03 18:16:46 -03:00
Greg King
2959ade6e6 Added, to Plus4 and GEOS linker configure files, the ability to set the start and end addresses of the program region. 2019-01-03 10:49:56 -05:00
jede
a22b10e72b Correct grab default value 2018-10-19 23:43:40 +02:00
jede
5585396532 By default, we get the memory reserved for hires mode 2018-10-19 23:43:40 +02:00
jede
ff182f9498 Cleaning telestrat.cfg (no need to have bashead segment). Some primitives added 2018-10-19 23:43:40 +02:00
jede
ee7514fea2 Remove BASHEAD segment which is not useful 2018-10-19 23:43:40 +02:00
Christian Groessler
af50b5e516 Atari: atarixl config files already had a LOWBSS segment. 2018-09-05 11:28:15 +02:00
Christian Groessler
a104c289da Atari: atari-cart.cfg: There's a simpler way to discard the contents of the LOWBSS segment.
Thanks to Greg King for the hint.
2018-09-05 11:28:15 +02:00
Christian Groessler
1cc4fa9356 Atari: fix interrupt handling if extended memory is banked in
Extendend memory is mapped over the main memory in the 0x4000..0x7FFF
area. Many DOSes disable interrupts while extended memory is banked in,
but not all (e.g. SpartaDOS-X).
This change modifies the initial interrupt handler to map in main memory
before chaining to the "worker" handlers.
Since the initial interrupt handler uses a data segment to store the
trampoline to chain to the original handler, introduce a new "LOWBSS"
segment to hold this trampoline. Otherwise the trampoline may end up
inside the 0x4000..0x7FFF area.

Add a link time warning if "LOWCODE" segment lays within the extended
memory window.
2018-09-05 11:28:15 +02:00
Greg King
959eff34a3 Fixed and improved some pce comments. 2018-08-30 11:48:46 +02:00
Greg King
b5d939c858 Style changes. 2018-08-30 11:48:46 +02:00
Oliver Schmidt
8e75906737 Switched Apple II output format to AppleSingle.
Although the primary target OS for the Apple II for sure isn't DOS 3.3 but ProDOS 8 the Apple II binary files contained a DOS 3.3 4-byte header. Recently I was made aware of the AppleSingle file format. That format is a much better way to transport Apple II meta data from the cc65 toolchain to the ProDOS 8 file system. Therefore I asked AppleCommander to support the AppleSingle file format. Now that there's an AppleCommander BETA with AppleSingle support it's the right time for this change.

I bumped version to 2.17 because of this from the perspective of Apple II users of course incompatible change.
2018-03-07 23:05:21 +01:00
Greg King
3a0506ccb3 Changed the PC-Engine's configuration file, so that the command line can build 8K, 16K, and 32K carts.
Adjusted the PCE's document, the start-up code, and the PCE library test makefile.  That makefile shows how to post-process the linker's output file.
2018-02-23 16:06:49 -05:00
Oliver Schmidt
b65981fc3a Reduced default stack size to a reasonable value.
The unexpanded Creativision has only $206 bytes of RAM available to cc65 programs. So it's a bad idea(tm) to reserve $180 bytes for the software stack. $40 bytes seems a much better default (aka guess).
2018-02-10 11:30:10 +01:00
Oliver Schmidt
7521ae888a Marked Apple II EXEHDR segment as optional.
The docs say "Use -D __EXEHDR__=0 to omit the header." so it should work without generating a linker warning.
2018-02-02 14:46:57 +01:00
Oliver Schmidt
38049d22ba Provide symbole for RAM memory area.
The RAM memory area symbols are referred by the startup code. The 64k and 128k variant say "for assembler" so it may be not necessary to do that there. However given the "limited" state of documentation for the target I don't assign too much value to those statements.

Additionally it's unclear to me why two variants provide symbols for the ROM memory.
2018-01-31 14:53:31 +01:00
Oliver Schmidt
80b09ba9fc Significantly simplified recently added linker config files.
I just forgot about the 'start' segment attribute - which makes the scenario at hand dead easy.
2018-01-31 08:54:48 +01:00
Oliver Schmidt
855aceaba8 Added Apple II linker configs for programs including a hires screen.
The Apple II hires screen buffer is located at $2000 (and can't be moved). The usual way to get along with this is to load the cc65 program above the hires screen buffer at $4000. However, that means that it becomes difficult to make good use of the memory below the hires screen buffer. The simplest approach is to add that memory to the heap. But there are programs containing just lots of code and not much data. One could think of moving the code to the area below the hires screen after loading (like it is done with the code for the language card). But if the program is really large (and already contains code to be moved to the language card) it won't just fit into memory in the first place.

The alternative is to load the program at the usual $803 and have it "cover" the hires screen buffer. Of course the part of the program that actually "covers" the hires screen buffer mustn't contain anything necessary for the program. The downside of this approach is that the program file on disk contains 8kB that can't be used by the program. But instead of just containing zeros the program can as well contain a hires screen picture that can be displayed right after startup.

Now the user can have code loaded below the hires screen buffer by setting the code-name to LOWCODE. However, he needs to explicitly do so. Otherwise the memory below the hires screen is totally wasted.

Trivia: Allowing to do this hires screen buffer "covering" was the very reason to change tgi_init() to not clear the hires screen anymore.
2018-01-29 17:46:36 +01:00
Christian Groessler
356c73f2cf atari5200.cfg: fix formatting 2018-01-21 15:42:12 +01:00
Christian Groessler
643152fb38 Fix last change, put display list at beginning of ROM. 2018-01-21 15:40:22 +01:00
Christian Groessler
2ef6514e47 atari5200: put default display list into its own memory area
This avoids 1K boundary crossing of the display list. Fix for issue #560.
2018-01-19 15:18:43 +01:00
bauen1
aa34aed7dd
Fixed unused import and export of none.cfg and none/crt0.s 2018-01-04 22:27:39 +01:00
bauen1
cea8332084
Fixed none.cfg 2018-01-04 22:01:44 +01:00