Commit Graph

3529 Commits

Author SHA1 Message Date
Colin Leroy-Mira dfe7562f76 Add ntohs, htons, ntohl, htons. 2023-09-07 07:03:34 +02:00
Bob Andrews 870581a4d4
Merge pull request #2174 from colinleroy/conio-65c02-optimisations
Conio: 65c02 optimisations
2023-09-04 18:00:23 +02:00
Bob Andrews 16e90187e8
Merge pull request #2163 from bbbradsmith/init-bss
INIT segment definitions should be consistent, and bss is the appropriate semantic type
2023-09-03 00:30:44 +02:00
Colin Leroy-Mira 8a140e6503 Conio: 65c02 optimisations
cputc: -2 cycles per char, -2 cycles per carriage return
cputs: -5 cycles per char, -3 cycles on cputsxy
vcprintf: -6 cycles per char
2023-09-02 12:44:53 +02:00
Colin Leroy-Mira a2c115fc3e Build libs with debug symbols 2023-08-26 15:35:28 +02:00
bbbradsmith 2431fb7d85 correct INIT segment semantic is bss, make this consistent across all default cfg 2023-08-19 13:08:46 -04:00
Colin Leroy-Mira 148be69f97 Optimize and fix comments (thanks to Oliver Schmidt) 2023-08-19 14:11:36 +02:00
Colin Leroy-Mira 1f68846116 Avoid using mli.s to initcwd 2023-08-19 14:11:36 +02:00
jede 480600093c fix pla/pha instead of tmp1 2023-05-25 18:09:03 +02:00
jede 1ca9d7e9e7 fix tab 2023-05-23 23:15:23 +02:00
jede 1377ba0d36 fix compute length for read and write for telestrat target 2023-05-23 23:08:56 +02:00
bbbradsmith 76328da682 librsc/Makefile: ../lib directory must be created globally before make lib targets in parallel
prevents conflict of individual targets each trying to create ../lib
enable -j2 in make lib windows action
2023-05-08 20:57:50 -04:00
Bob Andrews c9857d9962
Merge pull request #2069 from jefftranter/bootstrap-fix
Source listing in bootstrap.s is incorrect.
2023-05-07 13:49:12 +02:00
Bob Andrews 0d0369983a
Merge pull request #2100 from bbbradsmith/split2092-libtest
libtest target alternative to lib
2023-05-06 11:30:05 +02:00
bbbradsmith df749abbfb libtest target alternative to libs
saves me about 20 minutes if I only want to run tests
2023-05-05 21:56:52 -04:00
Jeff Tranter 17706208e8 Add support for 48x12 video mode on Challenger 1P.
Tested on real C1P hardware.
2023-05-05 18:02:42 -04:00
Jeff Tranter 387d455cb4 Revised patch.
Uses code in source listing. Tested on a real OSI C1P machine.
2023-05-03 11:16:22 -04:00
Jeff Tranter 4d97e30b55 Source listing in bootstrap.s is incorrect.
The OSI C1P alternative boot file format works, but the code in the
source listing does not match the ASCII-coded hex translation (which
is actually used). This is confusing to anyone trying to maintain the
code.

Also, the source code did not assemble when ASM is defined.

Also removed use of branch macros and an unnecessary "<" operator.

With these changes the source file should correctly match what
is used at run time.
2023-05-01 09:49:41 -04:00
Jeff Tranter 3a5fbd34da Add KIM-1 functions to write to the 7-segment LED display and get
keypresses from the keypad.
Includes sample program illustrating how to use them.
Tested on real KIM-1 hardware.
2023-03-29 18:40:10 -04:00
Jeff Tranter 806ffe5675 Fixes and improvements to KIM-1 i/o routines.
Tested on real KIM-1 hardware.

read.s:
- Remove commented out line.
- Remove unused check for bell character.
- Remove echo of newline (hardware always echoes entered characters).
- This fixes gets() and fgets() so they return when CR is entered.

write.s:
- Fix check for adding return after linefeed (failed to work because OUTCHR changes A)
- Remove unused check for bell character.

kim1.inc:
- Add symbol for monitor entry

crt0.s:
- Jump to KIM-1 monitor by address rather than using BRK (which relies on vector being set in RAM)
2023-03-27 17:56:25 -04:00
jede c8c6fc6a40 add xfseek 2023-03-17 23:10:15 +01:00
Bob Andrews c226e58a3c
Merge pull request #2007 from groessler/something_to_pull
fix for issue #1973 (printf("%c", '\0') doesn't _write '\0' to fd 0)
2023-03-04 13:30:18 +01:00
mrdudz ffa83c32a4 clean-up of driver return codes 2023-02-26 20:03:41 +01:00
Christian Groessler fedfc3443d fix for issue #1973 (printf("%c", '\0') doesn't _write '\0' to fd 0) 2023-02-24 02:12:19 +01:00
mrdudz 8ac5e2f7b6 fix devicestr call, so related posix function work on cbm targets 2023-01-28 15:08:14 +01:00
Christian Groessler 60f56c43c7 some documentation fixes 2023-01-18 11:55:52 +01:00
Christian Groessler 67564d83c8 libsrc/atari/sound.s: fix indentation 2023-01-16 18:01:11 +01:00
Mariano Dominguez 40656ffb6e more style 2023-01-15 17:05:24 -08:00
Mariano Dominguez 6236e82850 change storage to pager zero
fix bug that kills keyboard.
2023-01-15 17:00:05 -08:00
Mariano Dominguez 27ecb555ea
Rename sound to _sound.
remove extra comments.
2023-01-10 11:16:36 -08:00
Mariano Dominguez 196962adac remove lasy pesky space 2023-01-06 10:54:16 -08:00
Mariano Dominguez c3e1ae3478 last trailing space 2023-01-05 21:36:44 -08:00
Mariano Dominguez 8c97b54f5d more trailing spaces :( 2023-01-05 21:34:43 -08:00
Mariano Dominguez 658c1ad711 only missing space 2023-01-05 21:33:40 -08:00
Mariano Dominguez 85f657b35e missing space 2023-01-05 21:30:31 -08:00
Mariano Dominguez 4e8b18c035 missing tab 2023-01-05 21:29:33 -08:00
Mariano Dominguez 29a80065cc fix tab indentation 2023-01-05 21:27:54 -08:00
Mariano Dominguez 30df733c31 remove dangling spaces 2023-01-05 21:20:16 -08:00
Mariano Dominguez fa05294054 add newline for style 2023-01-05 21:16:58 -08:00
Mariano Dominguez f9024d132a add sound command
this behives the same as BASIC

sound(voice, pitch, distortion, volume)
2023-01-05 21:12:58 -08:00
Rutger van Bergen ae23e47eb5
Merge branch 'cc65:master' into master 2022-12-26 13:57:10 +01:00
Oliver Schmidt 1daa445310 Fixed recently introduced addressing mode bug. 2022-12-22 22:09:23 +01:00
Oliver Schmidt d90c7e9853 Introduced the notion of a standard serial driver.
There's no target with more than one serial driver (and I don't see that change anytime soon) so it's a no-brainer to apply the standard driver concept to serial drivers.
2022-12-22 18:13:24 +01:00
mrdudz d6c37a757d Merge branch 'master' into underscores 2022-11-19 17:11:11 +01: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
Oliver Schmidt 5493c9e7c2
Don't empty the Receive Data Register on filling the Transmit Data Register
The Receive Data Register and the Transmit Data Register share share a single address. Accessing that address with STA abs,X in order to fill the Transmit Data Register causes a 6502 false read which causes the Receive Data Register to be emptied.

The simplest way to work around that issue - which I chose here - is to move the base address for all ACIA accesses from page $C0 to page $BF. However, that adds an additional cycle to all read accesses. An alternative approach would be to only modify the single line `sta ACIA_DATA,x`.
2022-09-08 17:11:30 +02:00
polluks2 446a785f95
Don't hide errors in error handling
You don't want the low byte, see grep _ERR_ libsrc/tgi/*
2022-09-02 11:55:54 +02:00
mrdudz 5bda57de87 add extra underscore to _bzero, add a test for bzero/memset 2022-08-29 23:20:48 +02:00
mrdudz 3b03a96375 add underscores to _poserror and _stroserror 2022-08-29 21:06:48 +02:00
mrdudz 89c08dc6d4 extra underscores for _randomize and _swap 2022-08-29 20:52:35 +02:00
mrdudz b09024aa32 add extra underscore to heap stuff 2022-08-29 19:55:48 +02:00
mrdudz df4b6f9d14 remove extra spaces 2022-08-28 22:37:33 +02:00
mrdudz 54aff47513 fix some errno related stuff, "make all" works again 2022-08-28 22:09:44 +02:00
mrdudz 2dabb65ee0 fix errno related underscores in all libsrc/*.s files 2022-08-28 21:52:53 +02:00
mrdudz 6ba3deffa4 use __clocks_per_sec instead of _clocks_per_sec 2022-08-28 20:22:25 +02:00
mrdudz f70020a2b8 use __sig_ign and __sig_dft instead of _sig_ign and _sig_dft 2022-08-28 20:18:34 +02:00
mrdudz 9246775ebe use __afailed instead of _afailed 2022-08-28 20:08:13 +02:00
mrdudz 8e5f6b822d fix setjmp.h 2022-08-28 20:05:11 +02:00
Bob Andrews 623f047397
Merge pull request #1509 from mrdudz/rremd
C64 Retro Replay EMD driver
2022-08-11 01:11:16 +02:00
ZeroByteOrg 582e43931d import RDTIM symbol instead of hard-wiring it here 2022-08-08 15:21:30 -05:00
ZeroByteOrg 9b3b652fa5 Switched to using tmp1 instead of self-mod to store the jiffies value 2022-08-08 15:17:28 -05:00
ZeroByteOrg 78870219a4 CX16 waitvsync uses Kernal API to retreive jiffies 2022-08-05 17:44:18 -05:00
polluks2 7a93d3c707
Shorter isascii 2022-08-04 00:25:04 +02:00
Bob Andrews 6239fbe18c
Revert "rename '_poserror' to '__poserror'" 2022-07-24 18:14:21 +02:00
Bob Andrews c642c07ea0
Merge pull request #1808 from acqn/LibFix
[Lib] Removed an extra colon from libsrc/dbg/dbg.c
2022-07-24 17:59:57 +02:00
acqn 8485d59aa6 Removed an extra colon from libsrc/dbg/dbg/c. 2022-07-24 20:58:10 +08:00
mrdudz 8e19d84cb4 detect number of RAM pages 2022-07-24 02:47:02 +02:00
Christian Groessler 758d9466c0 rename '_poserror' to '__poserror'
The old name could be non-conforming to the C standard. The new name
is definitely in the "implementation name space".

See issue #1796.
2022-07-24 00:33:56 +02:00
mrdudz 3cb3d5dad3 cleanup 2022-07-21 03:45:40 +02:00
mrdudz 86091ac6bf some cleanup 2022-07-21 03:43:54 +02:00
mrdudz a55807f682 cleanup 2022-07-21 03:30:47 +02:00
mrdudz f614f3b9e2 reserve enough space for the longest string we can expect 2022-07-21 03:24:17 +02:00
Stephan Mühlstrasser 8ec1f76b9c Fix switched meaning of '\n' and '\r'
When conio was implemented for the osic1p target, the cbm
target was used as a blueprint. But it was overlooked that the
cbm target encodes CR as 0x0A and LF as 0x0D, while the
osic1p target uses the ASCII encoding of CR and LF. Therefore
conio output of '\n' moved the active position to the start of the
line and '\r' moved the active position to the next line.

This change implements the correct semantics of '\n' and '\r'
in conio for the osic1p target.

Fixes #1747.
2022-07-21 03:22:52 +02:00
mrdudz 8e787c0c0a remove +x flag 2022-07-21 03:22:52 +02:00
polluks2 133d703964 smarter manufacturer
some kind of promotion
2022-07-21 03:22:52 +02:00
mrdudz db2dfc9226 must include stdarg.h to use varargs 2022-07-21 03:22:52 +02:00
rofl0r 6eeaf7485c build: allow empty prefix
there was some concern that this will break windows' way of doing
file lookups relatively from the binary, rather than via hardcoded
locations, but so far each occurence adding e.g. "CA65_INC" to
the pathsearch is already shielded with an #ifndef _WIN32.

addressing #1726
2022-07-21 03:22:52 +02:00
jede e9bf0dd64f fix space 2022-07-21 03:22:52 +02:00
jede 16d896b73f fix mkdir 2022-07-21 03:22:52 +02:00
jede e1fbb8465b fix spaces 2022-07-21 03:22:52 +02:00
jede 244da9c911 missing fd_management and cleaning 2022-07-21 03:22:52 +02:00
Greg King 55ea831e2d Upgraded the cx16 library to the Commander X16 Kernal ROM's prerelease 39. 2022-07-21 03:22:52 +02:00
jede 84e2fee9a4 fix bss 2022-07-21 03:20:45 +02:00
jede 164acad6cb fix space 2022-07-21 03:20:45 +02:00
jede ebcf6ec52d FIX space 2022-07-21 03:20:45 +02:00
jede c38504b06d cgetc export data now 2022-07-21 03:20:45 +02:00
Karri Kaksonen 3922cccafb Speed up the cursor a bit 2022-07-21 03:20:45 +02:00
Karri Kaksonen 249a04dbde Move cursor IRQ processing to when the screen is being drawn 2022-07-21 03:20:45 +02:00
Karri Kaksonen 7684918112 Too much time in irq fix 2022-07-21 03:20:45 +02:00
Karri Kaksonen 4ee3e59f19 Fix race condition 2022-07-21 03:20:45 +02:00
Bob Andrews 7f9909ef81 use jmp instead of jsr/rts 2022-07-21 03:20:45 +02:00
Karri Kaksonen d8b8368e4e Add documentation 2022-07-21 03:20:45 +02:00
Karri Kaksonen 9ad2eea146 Add color setup 2022-07-21 03:20:45 +02:00
Karri Kaksonen 29b9a9f615 Rename font 2022-07-21 03:20:45 +02:00
Karri Kaksonen 5d0f064edc Not sharing umula0 and fix cursor bug 2022-07-21 03:20:45 +02:00
Karri Kaksonen 627ec17b14 Fix typo 2022-07-21 03:20:45 +02:00
Karri Kaksonen 4f195d46f9 Use consisten line lenght values 2022-07-21 03:20:45 +02:00
Karri Kaksonen 3954e9bccb Fix wrong screen in 2022-07-21 03:20:45 +02:00
Karri Kaksonen 9fab67761f Fix tabs 2022-07-21 03:20:45 +02:00
Karri Kaksonen 2e51b2b17c Fix tabs 2022-07-21 03:20:45 +02:00
Karri Kaksonen f2f358262e Add mono conio files 2022-07-21 03:20:45 +02:00
Karri Kaksonen b8c450cb46 Add mono conio files 2022-07-21 03:20:45 +02:00
Karri Kaksonen bb20af1695 Add info 2022-07-21 03:20:45 +02:00
Karri Kaksonen 2db4592029 Add info 2022-07-21 03:20:45 +02:00
Karri Kaksonen 190911e26f Add x=0 to textcolor 2022-07-21 03:20:45 +02:00
Karri Kaksonen a2aaeb0d1d Fix tabs 2022-07-21 03:20:45 +02:00
Karri Kaksonen 057fd866da Remove obsolete file and fix tabs 2022-07-21 03:20:45 +02:00
Karri Kaksonen 02fbcad697 Split files 2022-07-21 03:20:45 +02:00
Karri Kaksonen f0e16514e0 Split files 2022-07-21 03:20:45 +02:00
Karri Kaksonen e0c7880e34 Split files 2022-07-21 03:20:45 +02:00
Karri Kaksonen 6a6581815d Import conio automatically 2022-07-21 03:20:45 +02:00
Karri Kaksonen 0f404280a1 Change attributes on gotoxy 2022-07-21 03:20:45 +02:00
Karri Kaksonen 141b887d4d Change order of gotox gotoy for correct x after newline 2022-07-21 03:20:45 +02:00
Karri Kaksonen 770b22e14d Remove duplicate code 2022-07-21 03:20:45 +02:00
Karri Kaksonen 7e7f9ffa58 Add blinking cursor 2022-07-21 03:20:45 +02:00
Karri Kaksonen ff8d2e84bf Fix screen index bug 2022-07-21 03:20:45 +02:00
Karri Kaksonen 1d7bcb9348 Cleanup 2022-07-21 03:20:45 +02:00
Karri Kaksonen 3ba6dd0a4a Use local multiply for cursorzone calculations 2022-07-21 03:20:45 +02:00
Karri Kaksonen 9d4f1a0415 Add local multiply routine 2022-07-21 03:20:45 +02:00
Karri Kaksonen c6b9a012c8 Allocate own zp pointer for conio implementation 2022-07-21 03:20:45 +02:00
Karri Kaksonen 60fffb289a Allocate own zp pointer for conio implementation 2022-07-21 03:20:45 +02:00
Karri Kaksonen 0eaf3eef6d Align font to 256 bytes 2022-07-21 03:20:45 +02:00
Karri Kaksonen 0f250d06b9 Fix conflicts with some conio routines 2022-07-21 03:20:45 +02:00
Karri Kaksonen b8dbe0254a Add cputc method 2022-07-21 03:20:45 +02:00
Karri Kaksonen 1a2207ffc9 Add setcursor method 2022-07-21 03:20:45 +02:00
Karri Kaksonen ebd2e5085a Remove export 2022-07-21 03:20:45 +02:00
Karri Kaksonen 7f1e69f5e0 Add cursor processing 2022-07-21 03:20:45 +02:00
Karri Kaksonen f576764214 Remove cursor from conio init 2022-07-21 03:20:45 +02:00
Karri Kaksonen 8b06ff18c0 Don't set cursor in clrscr 2022-07-21 03:20:45 +02:00
Karri Kaksonen fce4bc0c58 Change order to make decoding easier 2022-07-21 03:20:45 +02:00
Karri Kaksonen 9775a71433 Use question mark instead of exclamation mark 2022-07-21 03:20:45 +02:00
Karri Kaksonen 8f86d5533b Remove clrscr from init 2022-07-21 03:20:45 +02:00
Karri Kaksonen 7fc69a34ac Change blue to white 2022-07-21 03:20:45 +02:00
Karri Kaksonen ce313922d1 Change blue to white 2022-07-21 03:20:45 +02:00
Karri Kaksonen 646997ed43 Add the build tools for the font 2022-07-21 03:20:45 +02:00
Karri Kaksonen f5c24be572 Fix cursor character 2022-07-21 03:20:45 +02:00
Karri Kaksonen ff0ddcb52b Add the font160.png 2022-07-21 03:20:45 +02:00
Karri Kaksonen e4c1bf15da Add basic conio buffer 2022-07-21 03:20:45 +02:00
mrdudz c6f23eefc8 remove dangling spaces 2022-07-21 03:20:44 +02:00
mrdudz 2cc46e11d3 add comment explaining what the empty file is about 2022-07-21 03:20:44 +02:00
mrdudz be22b8ad4d add missing newline to a bunch of files 2022-07-21 03:20:44 +02:00
mrdudz cbbdd3d9cf remove a bunch of TABs 2022-07-21 03:20:44 +02:00
Karri Kaksonen f92e1f2e3c Change polarity for 2600 buttons 2022-07-21 03:20:44 +02:00
Karri Kaksonen 851c65344c Add comments 2022-07-21 03:20:44 +02:00
Karri Kaksonen 3ceae59857 Add stdjoy driver 2022-07-21 03:20:44 +02:00
Karri Kaksonen cdf83d2a26 Fixed logic flaw 2022-07-21 03:20:44 +02:00
Karri Kaksonen 14956f3b15 Add atari7800-stdjoy 2022-07-21 03:20:44 +02:00
Fabrizio Caruso 1effa5944b Optimize delete cycles 2022-07-21 03:20:44 +02:00
Fabrizio Caruso 3050e3afcd Use lsr 2022-07-21 03:20:44 +02:00