1
0
mirror of https://github.com/cc65/cc65.git synced 2026-03-11 08:41:58 +00:00
Commit Graph

894 Commits

Author SHA1 Message Date
Konstantin
5ff18c1ebc Updates 2025-06-04 23:11:13 +03:00
Konstantin
de524a6561 Initial Agat support 2025-06-04 22:51:17 +03:00
Colin Leroy-Mira
0122307399 Apple2: Dynamic IIe check on a2_lo_tgi 2025-06-01 12:53:36 +02:00
Colin Leroy-Mira
d3ef3e1b62 Apple2: Don't depend on apple2enh definition for characters
Up, Down and Del, as well as Open-Apple, exist on
non-enhanced Apple //e.
2025-05-31 19:43:53 +02:00
Colin Leroy-Mira
816666615b Apple2: Make 80-columns support dynamic on apple2 target
Add a machinetype identifier to help us quickly identify
Apple //e (bit 7) and //e enhanced (bit 6).

Use it in conio functions for 80-columns code instead of
relying entirely on the __APPLE2ENH__ target.

Move videomode() to the apple2 target, and have it return
an error if 80-columns hardware is not available - this
is a lie for now, it is considered available on //e enhanced,
which may not be true, and not available on //e, which
may also be not true. An ulterior patch will make that
check correctly.

Adapt the box/line drawing characters so that one can use
MouseText on the apple2 target if it is available, by
defining DYN_DRAW_BOX. No change by default: MouseText is
considered available on apple2enh and not available on
apple2.
2025-05-27 19:03:20 +02:00
mrdudz
8d42c4a8c5 fix cpeekc/cpeekcolor/cpeekrevers/cpeeks for atmos, replaces what is in #532 2025-05-24 20:03:44 +02:00
Colin Leroy-Mira
cfbfaa559c Add ZX02 and LZSA (1,2) decompressors 2025-05-13 21:26:47 +02:00
Jimmy Dansbo
d4a37f7777 Changed tabs to spaces 2025-05-06 09:16:12 +02:00
Jimmy Dansbo
c5a3dbdf38 Add additional video modes that were added in ROM Pre Release 43 2025-05-06 09:09:07 +02:00
Colin Leroy-Mira
2085646e57 Apple2: implement get_tv()
get_tv() will return TV_NTSC or TV_PAL for any Apple II model
with a way of checking vblank. For Apple ][ and ][+ it will
return TV_OTHER and let the user figure it out in another way.
2025-04-28 11:58:53 +02:00
Oliver Schmidt
fd4c1e193d Completely disable/enable 80 column firmware.
The //e 80 column firmware allows to switch between 80 and 40 clumns without clearing the screen. So far, I made that feature available via videomode(). However thinking about it once more, I don't see a C program making use of it. A C program rather benefits from the consistent behavior of videomode() always clearing the screen.
Apart from that, the (default) 40 column display and the 40 column display with 80 column firmware active, behave differently (CH vs. OURCH) which causes subtile issues. Those issues can be avoid altogether by simply always deactivating the 80 column firmware when switching from 80 column display to 40 column display.
Of course, those issues are also relevant, if the 40 column display with 80 column firmware is already active when the C program starts. However, I have reasons to believe that running the Apple II in that mode was/is very unpopular.
2025-03-13 22:22:28 +01:00
Sidney Cadot
9fd090ae8b Merge pull request #2593 from sidneycadot/sim65-add-peripheral-support-and-docs-and-samples
sim65: add C/assembly support, docs, and samples for the new peripheral functionality.
2025-01-11 08:50:28 +01:00
Sidney Cadot
e245ae655d Fixed typo in color symbol definition.
Fixes #2594.
2025-01-07 23:36:17 +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
Stefan
0e640877c2 Fixed colour #2540 2024-12-11 14:30:56 +01:00
Colin Leroy-Mira
700c01fa8b Rename dir_file_count to dir_entry_count 2024-11-15 19:25:40 +01:00
Colin Leroy-Mira
40d9f3eed5 Apple2: Provide a way to get directory file count
The information is available in the directory key block.
Providing it to the user as soon as opendir() is done
can save them costly code.
2024-11-15 19:25:40 +01:00
Alex Thissen
a945bedefc Replaced all C++ style comments from Lynx include files 2024-11-09 19:46:11 +01:00
Alex Thissen
4036912463 Fix to trailing whitespace 2024-11-09 12:06:37 +01:00
Alex Thissen
3dad6c76fa Changed to C style comments 2024-11-09 12:01:22 +01:00
Alex Thissen
0c018919fe Removed union and structures for Suzy math 2024-11-09 11:45:41 +01:00
Alex Thissen
1f1a004a05 Minor tweaks to Suzy struct types.
Named math union
2024-11-09 11:45:41 +01:00
Alex Thissen
7150fdf4b9 Enumerations and math structures for Suzy 2024-11-09 11:45:41 +01:00
Alex Thissen
3553975b02 Math improvements to Suzy include file 2024-11-09 11:45:41 +01:00
Alex Thissen
eb6003aaf7 Mikey enumeration values for cc65 include files and new bit definitions for ca65 2024-11-09 11:45:41 +01:00
rumbledethumps
e373aa2d3f Merge branch 'cc65:master' into master 2024-09-29 18:36:34 -07:00
Bob Andrews
e7c735ed8c Merge pull request #2513 from kugelfuhr/kugelfuhr/fix-2505
Remove casts from stdint.h
2024-09-14 01:38:46 +02:00
Kugel Fuhr
6113dc5995 Removed casts from stdint.h. Added a test. Fixes #2505. 2024-09-10 08:12:31 +02:00
Bob Andrews
0be5f8f9e1 Merge pull request #2508 from polluks/waitvsync
[ATMOS] waitvsync
2024-09-08 16:14:51 +02:00
Stefan
44aa5dca91 Update atari.h 2024-09-07 18:12:37 +02:00
Stefan
c9fa9f0002 Update atari5200.h 2024-09-07 18:08:18 +02:00
Stefan
ab4cdafacb Update atari7800.h 2024-09-07 18:07:35 +02:00
Stefan
f430341d5d Update atmos.h 2024-09-07 17:23:17 +02:00
Oliver Schmidt
feb5026823 Added option to disable the force-to-uppercase behavior of the apple2 target. (#2474)
* Added option to disable the force-to-uppercase behavior of the apple2 target.

* Fixed dangling spaces.
2024-08-07 18:27:09 +02:00
Sven Michael Klose
af3ac42373 Move stpcpy() to non-standard section. 2024-07-07 19:48:44 +02:00
Sven Michael Klose
581b79e0b9 Add stpcpy().
Like strcpy() but returning pointer to ending zero of copied string.
2024-07-07 14:04:49 +02:00
Colin Leroy-Mira
82165c1a77 Implement strcasestr 2024-03-18 19:51:50 +01:00
rumbledethumps
4d3153e10e add rp6502 xregn 2024-02-17 16:02:57 -08:00
rumbledethumps
9ffa2d05e6 rp6502 validate write_xstack count 2024-01-30 00:17:28 -08:00
rumbledethumps
dd95d20268 Merge branch 'cc65:master' into master 2024-01-29 08:45:56 -08:00
Colin Leroy-Mira
f7388cfb79 add fgets/fgetc test 2024-01-25 09:13:35 +01:00
Colin Leroy-Mira
2ba176372e Add beep for apple2 2024-01-23 23:04:50 +01:00
Colin Leroy-Mira
166a4b25f7 Apple2: implement sleep using MONWAIT
Also publish detect_iigs(), set_iigs_speed() and get_iigs_speed(). Refactor to only store one ostype variable.
2024-01-18 16:17:10 +01:00
rumbledethumps
2138f3c902 add clock() to RP6502 2024-01-10 21:24:55 -08:00
Colin Leroy-Mira
7ce982cc68 Remove non-standard (and useless) include
Fixes #2337
2024-01-07 10:21:05 +01:00
Stefan
075ece5faf Clean-up
void is always fast
2024-01-03 16:35:12 +01:00
Colin Leroy-Mira
75461e1319 Apple2: implement stat(2) and statvfs(3) 2024-01-01 19:12:51 +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
Colin Leroy-Mira
e16a5e0dbe Add Apple IIgs serial driver 2023-10-03 18:34:22 +02:00