Commit Graph

262 Commits

Author SHA1 Message Date
Bob Andrews
25e6b42ef3 Merge pull request #2799 from kugelfuhr/kugelfuhr/fix-atari7800-cfg
Atari 7800: Make the EXTZP segment optional
2025-07-15 23:27:06 +02:00
Kugel Fuhr
9ac02f3282 Move constructors into the ONCE segment to fix linker warnings. 2025-07-14 19:52:07 +02:00
Kugel Fuhr
d54844c76b Make the EXTZP segment optional for Atari 7800. 2025-07-14 07:03:53 +02:00
mrdudz
fa6d72cae5 move zp range to a somewhat safer place 2025-06-25 00:14:19 +02:00
mrdudz
bfb16888d1 simple linker config for c65 and mega65 2025-06-24 21:20:31 +02:00
mrdudz
f6a3f66f0b asm configs 2025-06-22 21:42:36 +02:00
Bob Andrews
3486cd7830 Merge pull request #967 from rhalkyard/feature/plus4-tgi-driver
TGI driver and IRQ-handler fix for plus4
2025-06-17 20:49:09 +02:00
Konstantin
de524a6561 Initial Agat support 2025-06-04 22:51:17 +03:00
Bob Andrews
aa4a791cc3 Merge branch 'master' into feature/plus4-tgi-driver 2025-06-01 23:12:27 +02:00
Christian Groessler
5cb1bc60fc Add 'define=yes' for INIT segment to atari-asm.cfg and atari-asm-xex.cfg linker configs.
libsrc/atari/exehdr.s: Add (empty) INIT segment to cover assembler programs which link with
exehdr.s.
2025-04-09 22:51:11 +02:00
Christian Groessler
16224cdd36 atari5200: fix _clrscr to use correct screen size
Could be different than default when linking with atari5200-conioscreen-20x12.o.
2025-03-04 23:07:13 +01:00
Christian Groessler
0082473630 Atari: fix fallout of change of INIT segment to 'bss' type
The size of the load chunk was calculated incorrectly in exehdr.s
since the INIT segment is no longer being part of the file anymore.

While at it, change atari-cassette.cfg so that order of BSS and INIT
is the same as in the other configs. See 692f96409d why it was
in different order.
2025-02-23 00:35:23 +01:00
Oliver Schmidt
99b113de64 Make memory between the end of the text screen and the start of the loaded program available to the linker. 2025-01-19 18:17:11 +01:00
sidney
988260c699 sim65: add C/assembly support, docs, and samples for the new peripheral functionality.
This PR is the second of two PRs that replaces earlier PRs #2589 and #2590. Due to a git branching mishap it was decided to re-partition the new functionality in two sequential PRs that offer self-contained, new functionality to sim65.

The functionality in this second and last PR provides the following things in relation to the new "peripheral" support:

* C support: there is now an include/sim65.h that can be included from C. It provides access to the memory-mapped peripheral addresses.

* Asm support: there is now an asminc/sim65.inc that can be included from assembly. It provides symbolic labels for the memory-mapped peripheral addresses.

Note: the two items above are implemented by adding a "_peripherals" symbol to cfg/sim6502.cfg and cfg/sim65c02.cfg, with the fixed base address of the peripherals memory aperture (0xffc0).

* Updated the sim65 documentation to describe the peripherals in some detail, with examples that show to use the new features from within C.

* Some examples in the new samples/sim5/ directory. These are currently not integrated in the build system (in other words, there's no Makefile there), because I don't know how to do that. I will happily implement that after #2582 is taken care of.

If that is not acceptable, the next best thing will be for somebody else (who understands how the Makefiles are set up) to take care of this.

If that's not going to happen, and we don't want examples that are not properly integrated with the build system, there's always the option of removing these samples from the PR.
2025-01-05 15:58:05 +01:00
Sidney Cadot
6f9406bbe3 This adds timer functionality to sim65.
It provides access to a handful of 64-bit counters that count different things:
- clock cycles
- instructions
- number of IRQ processed
- number of NMIs processed
- nanoseconds since 1-1-1970.

This in not ready yet to be pushed as a merge request into the upstream CC65
repository. What's lacking:

- documentation
- tests

And to be discussed:

- do we agree on this implementation direction and interface in principe?
- can I include inttypes.h for printing a 64-bit unsigned value?
- will clock_gettime() work on a Windows build?
2024-12-17 23:24:35 +01:00
Olli Savia
64cfb322cc Added asm configs for C16 & Plus/4 2024-06-16 19:14:24 +03:00
Olli Savia
074ec82126 Added missing EXEHDR 2024-04-02 19:25:15 +03:00
Sven Michael Klose
1fe12f112e Merge branch 'cc65:master' into master 2024-03-08 17:41:06 +01:00
Sven Michael Klose
294b034920 Add configuration files for expanded VICs. 2024-02-15 17:32:44 +01:00
Sven Michael Klose
8173c850fd Fix size of MAIN to end at $1E00.
Caused negative size of MAIN in cc65-contrib/quikmans2k8.
2024-02-15 00:00:46 +01:00
mrdudz
934de685bc this is pr #2194 - removed ramfont.o 2024-02-03 01:34:21 +01:00
Alex Thissen
83691f30c1 Missed a tab in config 2024-01-19 10:52:42 +00:00
Alex Thissen
93f9cb6e48 Adjusted uploader configuration. Split into two MEMORY areas, so it can be just below video memory. 2024-01-18 18:06:10 +01:00
rumbledethumps
564c85235f style update and add rp6502 doc 2023-11-17 11:08:51 -08:00
rumbledethumps
b17c4d3434 add rp6502 target 2023-11-16 18:46:16 -08:00
bbbradsmith
d4c4786ff0 undo change of INIT to bss for configurations that were also using rw to reserve space, add a comment documenting the reason 2023-09-05 00:24:18 -04:00
bbbradsmith
2431fb7d85 correct INIT segment semantic is bss, make this consistent across all default cfg 2023-08-19 13:08:46 -04:00
Rutger van Bergen
2b07204952 Merge branch 'cc65:master' into kim1 2022-09-19 20:03:23 +02:00
Rutger van Bergen
cb8cb876ec Add documentation, make capitalization uniform 2022-09-19 19:56:57 +02:00
jede
e0718314b3 Telestrat cfg : fix space 2022-06-25 00:21:19 +02:00
jede
590de7566d Telestrat : change default start address 2022-06-25 00:19:21 +02:00
Dave Plummer
8f9777d9e0 Fix ushot overflow, capitalization 2022-06-06 15:14:01 -07:00
mrdudz
5aa75ae81f handle loadaddr the same as with the other CBM targets 2022-06-06 14:01:16 +02:00
Dave Plummer
799aec23a6 Add KIM-1 Support 2022-06-04 13:00:48 -07:00
Greg King
a5e69e7ea6 Upgraded the cx16 library to the Commander X16 Kernal ROM's prerelease 39. 2022-04-29 16:56:54 -04:00
Karri Kaksonen
45c4f7d46f Add mono conio files 2022-04-18 11:59:54 +03:00
Karri Kaksonen
7ba7c6f69a Add blinking cursor 2022-04-07 08:17:36 +03:00
Karri Kaksonen
9caf7cefd8 Allocate own zp pointer for conio implementation 2022-04-05 11:13:38 +03:00
Karri Kaksonen
37456219eb Add space to config 2022-04-04 10:52:04 +03:00
Karri Kaksonen
77b300682a Add basic conio buffer 2022-04-02 09:39:46 +03:00
Karri Kaksonen
4c3120b935 Make STARTUP segment larger 2022-03-22 21:41:12 +02:00
Karri Kaksonen
c577ec1383 Add more space to init segmen 2022-03-22 21:16:56 +02:00
Karri Kaksonen
38b330482d Make start of ROM depend on CARTSIZE 2022-03-13 13:31:11 +02:00
Karri Kaksonen
52d7991b9b Remove the EXEHDR from the default build 2022-03-13 12:32:13 +02:00
Karri Kaksonen
21c093476f Merge branch 'atari7800' of github.com:karrika/cc65 into atari7800 2022-03-07 08:49:29 +02:00
Karri Kaksonen
eb86bc33b9 Add CARTSIZE to cfg file for configuring the a78 header. Add descriptions of usage. 2022-03-07 08:48:59 +02:00
Karri Kaksonen
786b4310d0 Merge branch 'cc65:master' into atari7800 2022-03-05 19:09:05 +02:00
Wayne Parham
1cb18182ed Corrected size of BASROM definition 2022-03-03 12:06:15 -06:00
Karri Kaksonen
d679faaf22 Add exehdr 2022-03-01 09:28:15 +02:00
Karri Kaksonen
c293b299d8 Add segment ONCE 2022-03-01 07:44:47 +02:00