1
0
mirror of https://github.com/cc65/cc65.git synced 2025-04-09 10:39:40 +00:00

246 Commits

Author SHA1 Message Date
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
Karri Kaksonen
328781bf8a Add target atari7800 2022-03-01 06:44:26 +02:00
Oliver Schmidt
8b0de8a931
Merge branch 'master' into master 2021-11-23 22:56:51 +01:00
Gerhard Gruber
a7e6f9840c VIC-20 and C128 cfg added for ASM programming 2021-11-23 21:51:57 +01:00
Wayne Parham
11d81b1f43 Stylistic changes 2021-06-15 16:39:28 -05:00
Wayne Parham
2635655e8c sym1.cfg cosmetic changes 2021-06-07 19:07:36 -05:00
Wayne Parham
69e2313a63 First round of requested code changes 2021-06-06 23:20:54 +01:00
Wayne Parham
321bac4178 Remove TAB characters 2021-05-13 14:43:16 -05:00
Wayne Parham
f81aefe8bd Synertek Systems Sym-1 config files 2021-05-09 17:13:24 -05:00
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 d8c31cf1d3b724b83bd411736472e1c16fb1b0c0
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