520 Commits

Author SHA1 Message Date
rumbledethumps
f06acc993a code_page 2025-10-20 23:06:32 -07:00
rumbledethumps
69149c65ec remove blank line 2025-10-16 18:14:44 -07:00
rumbledethumps
e6c138dc03 directory ops 2025-10-14 23:11:23 -07:00
rumbledethumps
fdcb890bfd remove oserror from rp6502 2025-09-26 17:19:50 -07:00
mrdudz
48924cc9d5 remove .macpack cpu, fixes #2779 2025-07-06 19:14:48 +02:00
Bob Andrews
b24560c083 Merge pull request #2759 from mrdudz/test1972
Fixed #1970 (Missing definition for ST on cbm610 with getdevice) (was #1972)
2025-07-04 17:03:47 +02:00
Bob Andrews
29f7ab3809 Merge pull request #2760 from kugelfuhr/kugelfuhr/fix-2753
Add ".CAPABILITY" to ca65, remove ".MACPACK cpu"
2025-07-03 18:43:05 +02:00
Kugel Fuhr
12bc6ff99e Make the scrcode macros handle identifiers. 2025-07-01 20:14:34 +02:00
Kugel Fuhr
59e7158512 Make the CPU_xxx constants from cpu.mac internal to the assembler and replace
cpu.mac by a file that just emits a warning when used.
2025-07-01 08:29:42 +02:00
mrdudz
26cf19642c initial patch from #1972 2025-06-30 18:39:33 +02:00
mrdudz
3f3039192f adjust comments 2025-06-29 21:06:17 +02:00
mrdudz
bf1dbc54fc fix instruction bitfields. 65CE02 derivates can not use 65SC02, because of the zp-ind-z clash 2025-06-28 18:17:13 +02:00
mrdudz
76aa7cbc40 add names and bit(field)s for WDC65C02 and 65CE02 2025-06-27 19:40:41 +02:00
mrdudz
74a2262157 hotfix 2025-06-27 17:26:11 +02:00
Bob Andrews
270552af48 Merge pull request #2734 from mrdudz/mega65c
C65 and Mega65 initial C support
2025-06-27 16:41:28 +02:00
Kugel Fuhr
5db2aed129 Allow "sp" as an alias for "c_sp" for backwards compatibility. Using it will
work but generates a linker warning. Added a test to check for this warning.
2025-06-26 07:40:04 +02:00
mrdudz
a7e509cd43 better handling of the cursor, use kernal function to read key, not the UART directly 2025-06-25 21:39:03 +02:00
mrdudz
ef1b101538 fix cursor() 2025-06-25 20:38:58 +02:00
mrdudz
79b2d25840 name the SIDs 1 and 2 just like the CIAs 2025-06-25 02:32:46 +02:00
mrdudz
23336420b1 a bunch of simple conio fixes, makes a few more samples work 2025-06-25 00:23:58 +02:00
mrdudz
f787e0857a remove non existing kernal export 2025-06-24 21:52:48 +02:00
mrdudz
450c8f7c55 startup code and minimalist kernal support for c65 and mega65 2025-06-24 21:23:04 +02:00
mrdudz
7be14a951c initial asm includes for c65 and mega65 2025-06-24 19:33:49 +02:00
mrdudz
5fc15a7a60 test #2674 2025-06-23 17:09:06 +02:00
Gorilla Sapiens
a7af49a763 Merge branch 'master' into c_sp 2025-06-22 19:02:24 +00:00
mrdudz
9344d87b05 part of #1792 - 48GS02 assembler support 2025-06-21 00:56:34 +02:00
mrdudz
2be28d2d64 add some comments 2025-06-19 01:32:43 +02:00
Gorilla Sapiens
5a4b11e7ff Merge branch 'master' into c_sp 2025-06-18 06:14:39 +00:00
mrdudz
f45d25cfaf merge master 2025-06-17 22:51:25 +02:00
mrdudz
0b74ae8c2d add m740 to macpack cpu, add .ifpm740, add regression test for those 2025-06-16 21:59:38 +02:00
Colin Leroy-Mira
990d65e4e4 Apple2: Setup IRQ/RST vectors in LC if needed
Programs running under DOS3.3 need to setup correct
reset and IRQ vectors in the language card.
2025-06-15 14:12:01 -04:00
GorillaSapiens
ae54171b8a Merge branch 'master' into c_sp 2025-06-13 17:43:06 -07:00
Konstantin
5ff18c1ebc Updates 2025-06-04 23:11:13 +03:00
Konstantin
de524a6561 Initial Agat support 2025-06-04 22:51:17 +03:00
Gorilla Sapiens
b6f42f9ab2 changed "spc" to "c_sp" 2025-06-04 06:37:59 +00:00
Gorilla Sapiens
3d118dc6e5 rename "sp" to "spc", avoid conflict with 4510 opcodes 2025-06-04 02:06:40 +00:00
Oliver Schmidt
3edb959298 Finally made CONIO and STDIO fully interoperable in 80 column mode.
In order to avoid undefined behaviour of programs not aware of 80 column mode, the 80 column firmware deliberately doesn't use CH but OURCH. So in order to be fully interoperable, CONIO needs to do the same. This changes introduces that behavior. So far so good.
But the 80 column firmware can also be active in 40 column mode. This scenario is not detectable with reasonable effort. Therefore the behaviour of CONIO in this scenario is _not_ improved. However, this scenario is supposed to be very uncommon - and a recent update to videomode() makes sure to not activate it anymore ourselves.
Notes:
* If a program wants to be 100% sure to not run in 40 column mode with 80 column firmware active it can call videomode(VIDEOMODE_40COL) to explicitly deactivate a potentially active 80 column firmware. However, this always implicitly clears the screen.
* In 40 column mode (contrast to 80 column mode) the 80 column firmware updates CH to reflect OURCH. So as long as CONIO only reads CH, but doesn't update it, everything works as expected. Interestingly this makes a rather useful scenario of STDIO/CONIO interoperation work: Using STDIO for screen output and CONIO for keyboard input. When cgetc() is called after cursor(1), it has to write to the screen as there's no hardware cursor on the Apple II. Those writes work as expected even in 40 column mode with active 80 column firmware as CH is only read but not written.
2025-03-13 22:22:28 +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
Alex Thissen
489989f4c8 Changed 0x hex values to % binary values 2024-11-09 11:45:41 +01:00
Alex Thissen
336c4287c5 Missed some dangles spaces 2024-11-09 11:45:41 +01:00
Alex Thissen
abcb073a5a Bit definitions for Suzy 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
coronax
838c8b48b7 Set the clock id to CLOCK_REALTIME when calling clock_gettime.
Previously, time() allocated stack space for the clock id argument, but didn't actually set a value.
2024-09-07 23:27:54 -05:00
Bob Andrews
a372ead4de Merge pull request #2334 from carlo-bramini/fix-sim65-1
[SIM65] Support undocumented opcodes for 6502
2024-03-10 00:37:18 +01:00
rumbledethumps
b8b263b38c Merge branch 'cc65:master' into master 2024-02-17 14:54:12 -08:00
Alex Thissen
acff429eb8 Added redeye check for SER_HS_SW handshake 2024-02-11 15:33:22 +00:00
Alex Thissen
788ae82d30 Fixes to serial driver implementation 2024-02-10 23:19:02 +00:00
Carlo Bramini
b04d79b1da [SIM65] Support undocumented opcodes for 6502
This PR is mostly a complete rewrite of the emulator for 6502/65c02 opcodes.
It provides an easier to maintain implementation of the instructions, by using few macros rather than having hand-written code for each function.
All undocumented, previously missing opcodes for 6502 are also implemented.
The patch also includes a detailed documentation of those opcodes, for reference to developers.
This PR should fix one of the milestones listed here for the next version of CC65:

https://github.com/cc65/wiki/wiki/Before-the-next-release
2024-02-08 12:13:17 +01:00
rumbledethumps
7b790cf883 add RIA_OP_CLOCK to asm inc 2024-02-04 23:38:44 -08:00