1
0
mirror of https://github.com/cc65/cc65.git synced 2024-10-31 20:06:11 +00:00
Commit Graph

3421 Commits

Author SHA1 Message Date
Karri Kaksonen
6a9eeeb5b0 Rename font 2022-04-19 10:31:51 +03:00
Bob Andrews
47366cbbf6
use jmp instead of jsr/rts 2022-04-18 17:49:12 +02:00
Karri Kaksonen
6671a92a8e Not sharing umula0 and fix cursor bug 2022-04-18 13:49:29 +03:00
Karri Kaksonen
6a6aa094fa
Merge branch 'cc65:master' into atari7800conio 2022-04-18 12:40:18 +03:00
Karri Kaksonen
33f12acbc9 Fix typo 2022-04-18 12:26:21 +03:00
Karri Kaksonen
20ce50e8db Use consisten line lenght values 2022-04-18 12:21:12 +03:00
Karri Kaksonen
53337f8171 Fix wrong screen in 2022-04-18 12:12:30 +03:00
Karri Kaksonen
b195c10a4c Fix tabs 2022-04-18 12:09:19 +03:00
Karri Kaksonen
dbd39c63a9 Fix tabs 2022-04-18 12:05:36 +03:00
Karri Kaksonen
45c4f7d46f Add mono conio files 2022-04-18 11:59:54 +03:00
Karri Kaksonen
4fc1270110 Add mono conio files 2022-04-18 11:59:06 +03:00
mrdudz
f8f901b05e remove dangling spaces 2022-04-17 16:06:22 +02:00
Karri Kaksonen
9fecf0b2cc Add info 2022-04-16 21:54:52 +03:00
Karri Kaksonen
1486886e13 Add info 2022-04-16 21:48:57 +03:00
Karri Kaksonen
1585a0532a Add x=0 to textcolor 2022-04-16 21:32:22 +03:00
Karri Kaksonen
702045cce1 Fix tabs 2022-04-16 21:22:44 +03:00
Karri Kaksonen
ecd1040e07 Remove obsolete file and fix tabs 2022-04-16 21:21:35 +03:00
Karri Kaksonen
422d245cab Split files 2022-04-16 21:13:51 +03:00
mrdudz
c977afe0b8 add comment explaining what the empty file is about 2022-04-16 19:59:25 +02:00
mrdudz
8cacfa70d5 add missing newline to a bunch of files 2022-04-16 19:51:48 +02:00
mrdudz
2eb20b3e8a remove a bunch of TABs 2022-04-16 18:16:14 +02:00
Karri Kaksonen
cdc6e1c61f Split files 2022-04-16 19:15:19 +03:00
Karri Kaksonen
81e804ed7f Split files 2022-04-16 19:15:06 +03:00
Karri Kaksonen
5c648d545d Import conio automatically 2022-04-14 21:52:57 +03:00
Karri Kaksonen
18e27d6162 Change attributes on gotoxy 2022-04-10 19:35:29 +03:00
Karri Kaksonen
d287a0afa1 Change order of gotox gotoy for correct x after newline 2022-04-10 14:43:18 +03:00
Karri Kaksonen
a05f513779 Remove duplicate code 2022-04-09 07:37:07 +03:00
Karri Kaksonen
7ba7c6f69a Add blinking cursor 2022-04-07 08:17:36 +03:00
Karri Kaksonen
2fb0f6b47d Fix screen index bug 2022-04-07 07:46:28 +03:00
Karri Kaksonen
6b5c858b20 Cleanup 2022-04-07 07:22:19 +03:00
Karri Kaksonen
3f8c29d303 Use local multiply for cursorzone calculations 2022-04-06 14:08:03 +03:00
Karri Kaksonen
b6e18e14d5 Add local multiply routine 2022-04-06 13:27:47 +03:00
Karri Kaksonen
9caf7cefd8 Allocate own zp pointer for conio implementation 2022-04-05 11:13:38 +03:00
Karri Kaksonen
d5dcea65b7 Allocate own zp pointer for conio implementation 2022-04-05 11:13:18 +03:00
Karri Kaksonen
97fd42063b Align font to 256 bytes 2022-04-05 10:42:58 +03:00
Karri Kaksonen
6b16b99192 Fix conflicts with some conio routines 2022-04-05 10:35:59 +03:00
Karri Kaksonen
4c7c3d8f2f
Merge branch 'cc65:master' into atari7800conio 2022-04-04 23:27:21 +03:00
Bob Andrews
06d423d503
Merge pull request #1713 from karrika/atari7800stdjoy
[atari7800] Atari7800stdjoy
2022-04-04 22:23:02 +02:00
Karri Kaksonen
222693e3a3
Merge branch 'cc65:master' into atari7800conio 2022-04-04 15:32:40 +03:00
Karri Kaksonen
90fc16ff1c Add cputc method 2022-04-04 15:18:40 +03:00
Karri Kaksonen
43a1c24784 Add setcursor method 2022-04-04 15:18:13 +03:00
Karri Kaksonen
c7cb201070 Remove export 2022-04-04 15:17:26 +03:00
Karri Kaksonen
04a13cf949 Add cursor processing 2022-04-04 10:51:43 +03:00
Karri Kaksonen
0e6b490c8b Remove cursor from conio init 2022-04-04 10:51:13 +03:00
Karri Kaksonen
6017671fd9 Don't set cursor in clrscr 2022-04-04 10:50:38 +03:00
Fabrizio Caruso
412fd70404 Optimize delete cycles 2022-04-03 17:23:36 +02:00
Fabrizio Caruso
b65084b459 Use lsr 2022-04-03 15:28:37 +02:00
Fabrizio Caruso
885b360a41 Fix color 1 and 2 (grey/green levels) 2022-04-02 23:09:05 +02:00
Karri Kaksonen
b3d28dd517 Change order to make decoding easier 2022-04-02 22:49:28 +03:00
Karri Kaksonen
5040a4b2a1 Use question mark instead of exclamation mark 2022-04-02 21:28:34 +03:00
Fabrizio Caruso
426e93b4bf Fix Gamate CONIO: non-solid characters bug 2022-04-02 12:44:27 +02:00
Karri Kaksonen
2e33185dcb Remove clrscr from init 2022-04-02 13:01:05 +03:00
Karri Kaksonen
19dab6bbab Change blue to white 2022-04-02 12:09:15 +03:00
Karri Kaksonen
c44557665c Change blue to white 2022-04-02 11:48:05 +03:00
Karri Kaksonen
2388d022aa Add the build tools for the font 2022-04-02 11:47:37 +03:00
Karri Kaksonen
3a21734c68 Fix cursor character 2022-04-02 10:51:45 +03:00
Karri Kaksonen
f8b53e91fa Add the font160.png 2022-04-02 10:04:53 +03:00
Karri Kaksonen
c31c7d2782 Add basic conio buffer 2022-04-02 09:39:55 +03:00
Karri Kaksonen
26ab64f207 Change polarity for 2600 buttons 2022-03-31 11:04:10 +03:00
Karri Kaksonen
e4193451d4 Add comments 2022-03-31 09:09:11 +03:00
Karri Kaksonen
4e8f62fb96 Add stdjoy driver 2022-03-31 09:08:40 +03:00
Karri Kaksonen
67def0ca0d Fixed logic flaw 2022-03-31 08:05:41 +03:00
Karri Kaksonen
2c00f1e898 Add atari7800-stdjoy 2022-03-31 07:44:26 +03:00
Karri Kaksonen
5115a1b50f Export paldetected 2022-03-25 15:08:14 +02:00
Karri Kaksonen
4a71a1fbb2 Use proper mnemonics 2022-03-25 15:02:43 +02:00
Karri Kaksonen
8d0b0e6ffc Separate machine detection from crt0 and put it in get_tv 2022-03-25 14:44:54 +02:00
Karri Kaksonen
865be55e66 Split clock file to components 2022-03-22 21:29:06 +02:00
Karri Kaksonen
d0d0941a64 Add get_tv.s 2022-03-22 21:28:35 +02:00
Karri Kaksonen
d6009721d4 Add irq handling, PAL/NTSC detection and clock() 2022-03-22 20:02:54 +02:00
Karri Kaksonen
220171d0da Add irq handling, PAL/NTSC detection and clock() 2022-03-22 20:02:46 +02:00
Karri Kaksonen
79c243ccef Clear hw palette and set AUDIN low at startup 2022-03-21 08:37:49 +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
Karri Kaksonen
d679faaf22 Add exehdr 2022-03-01 09:28:15 +02:00
Karri Kaksonen
b861f6df8f Add exehdr 2022-03-01 09:28:06 +02:00
Karri Kaksonen
d059682692 Add crt0.s and ctype.s 2022-03-01 07:37:07 +02:00
Karri Kaksonen
3266e70de4 Add target atari7800 2022-03-01 06:44:55 +02:00
Karri Kaksonen
b74de2319f Fix black index in tgi_colors.s 2022-02-25 16:00:03 +02:00
Karri Kaksonen
4e406b744c Mark index 0 as TRANSPARENT. Let palette start from index 1 2022-02-24 08:50:36 +02:00
Jeff Tranter
2bf8be5b3b Fix some commonly made spelling errors in comments. 2022-02-21 15:44:31 -05:00
polluks2
246814e63b
smarter manufacturer
some kind of promotion
2022-02-18 00:43:49 +01:00
Greg King
f64ee3370d Added to the telestrat library the name of the standard dynamic TGI driver. 2022-02-03 18:23:23 -05:00
Bob Andrews
24227482ea
Merge pull request #1648 from polluks2/tco
Added tail call optimization
2022-02-03 14:42:41 +01:00
polluks
a26778744a Added tail call optimization 2022-02-02 23:02:01 +01:00
polluks
8e60102e8e Removed the colour purple
This commit may break compatibility.
2022-02-02 00:58:50 +01:00
Greg King
7118c9236b Fixed the cart directory build code to handle even simple programs.
Carts can be built containing programs that don't link some segments.
2022-01-31 08:14:26 -05:00
polluks
e327071615 Save a few bytes 2022-01-30 03:26:32 +01:00
polluks
e66a54ac14 Revert commits 2022-01-30 03:15:28 +01:00
polluks2
97c83de37b
Merge branch 'cc65:master' into master 2022-01-30 02:40:27 +01:00
polluks2
06725c166e
Merge branch 'cc65:master' into master 2021-12-31 17:21:20 +01:00
polluks
1bcf93d010 Merge branch 'master' of http://github.com/polluks2/cc65 2021-12-30 00:42:29 +01:00
polluks
4920ffa23a Save a few bytes 2021-12-30 00:04:57 +01:00
Sven Michael Klose
0b84465276 Fix strnlen(). 2021-12-25 09:11:58 +01:00
Sven Michael Klose
921e549172 Add standard C library function strnlen(). 2021-12-24 23:44:57 +01:00
Greg King
6ac4aa4e20 Made cbm_open() be more efficient.
The fastcall argument doesn't need to be put on a stack.  SETNAM can be called before SETLFS.
2021-12-24 00:10:04 -05:00
Greg King
884f72637b Put the alignment decrement code back into posix_memalign().
Without that code, the function returns a very broken pointer.
2021-12-19 21:08:46 -05:00
Oliver Schmidt
2235830e31 Don't rely on (actually changed) unspecified compiler behavior. 2021-12-19 16:55:32 +01:00
Bob Andrews
c0c89a81e4
Merge branch 'master' into rremd 2021-12-11 22:36:12 +01:00
Oliver Schmidt
8b0de8a931
Merge branch 'master' into master 2021-11-23 22:56:51 +01:00
Gabriele Gorla
6637e28831 saves 2 bytes in the standard c64 joystick driver
remove redundant code and add jmp to the common sequence
two more bytes could be saved at the expense of longer sequence with interrupts disabled by moving sei/cli
2021-11-23 21:34:49 +01:00
Wayne Parham
5f4605c4fc Remove trailing blank lines from read.s, write.s and tapeio.s 2021-06-16 17:28:19 -05:00
Wayne Parham
d6ef8326f9 Remove trailing blank line from libsrc/sym1/display.s 2021-06-16 17:24:18 -05:00
Wayne Parham
85d345088d Remove trailing two blank lines from libsrc/sym1/crt0.s 2021-06-16 17:21:57 -05:00
Wayne Parham
a93542e80c Added __fastcall__ to comments 2021-06-16 16:24:26 -05:00
Wayne Parham
faf6266cde typo in comment 2021-06-12 06:28:53 -05:00
Wayne Parham
c9bb1483ac Add BEL->beep functionality 2021-06-12 06:17:03 -05:00
Wayne Parham
9e6c1d1303 tapeio and symNotepad updates 2021-06-11 19:55:13 -05:00
Greg King
14d05c61b6 Made Creativision's joystick driver more efficient. 2021-06-11 07:43:25 -04:00
Greg King
af3d4581d3 Moved Creativision's playsound() into a separate file.
It won't waste space in a cartridge if it isn't used.
2021-06-11 07:43:25 -04:00
Greg King
f636d4e634 Fixed the Creativision library's bios_playsound().
It was disabling interrupts permanently.
2021-06-11 07:43:24 -04:00
Wayne Parham
24f5bac899 Added BEL -> beep() functionality 2021-06-10 16:07:39 -05:00
Wayne Parham
7d6541274d Changes to I/O access 2021-06-09 10:23:42 -05:00
Wayne Parham
886e9e83b2 Removed stdin->stdout echo from read.s 2021-06-07 12:33:29 -05:00
Wayne Parham
88ee45e9ef tapeio.s updates 2021-06-07 00:35:20 -05:00
Wayne Parham
dc9333a3bb tapeio.s updates 2021-06-07 00:18:26 -05:00
Wayne Parham
c961782192 Removed libref.s 2021-06-07 00:07:09 -05:00
Wayne Parham
0bbff54378 return val updates 2021-06-07 00:03:44 -05:00
Wayne Parham
9d509735a8 Makefile changes 2021-06-06 21:56:23 -05:00
Wayne Parham
64afb50d5a Makefile changes 2021-06-06 21:45:58 -05:00
Wayne Parham
6c4c959141 Sym-1 lib changes 2021-06-06 21:28:03 -05:00
Wayne Parham
69e2313a63 First round of requested code changes 2021-06-06 23:20:54 +01:00
Greg King
6bedade593 Fixed the creativision function prototypes.
Added const to a pointer parameter.
2021-05-29 08:37:38 -04:00
Greg King
663268dca9 Syncronize the Supervision crt0.s with its ld65 config files.
.segment "VECTOR" -> "VECTORS". Fixes #1506.
2021-05-21 03:32:43 -04:00
Christian Groessler
681c9594cc libsrc/atari5200/crt0.s: fix formatting 2021-05-21 01:45:55 +02:00
mrdudz
6d560f4236 change prototype for GraphicsString() to void __fastcall__ GraphicsString(const void *myGfxString); 2021-05-18 15:16:14 +02:00
mrdudz
5fc9d3f048 change driver _install calls from taking "void*" to "const void*" 2021-05-16 22:57:28 +02:00
WayneParham
e9fd87d07a
Merge branch 'master' into master 2021-05-16 10:02:37 -05:00
Christian Groessler
09e0e74124 (again) remove TABs 2021-05-13 18:12:12 +02:00
Andrea Odetti
05f545e189 More line number related changes. 2021-05-11 17:41:59 +02:00
Wayne Parham
044a0838a3 Changes to existing cc65 source to support Synertek Systems Sym-1 2021-05-09 16:52:48 -05:00
Wayne Parham
6e79379405 Synertek Systems Sym-1 machine-specific files 2021-05-09 16:34:53 -05:00
polluks2
b1f81d5e21 Optimised code 2021-05-08 19:48:31 +02:00
Polluks
4c37f12a4d Optimised strlen 2021-05-08 19:36:37 +02:00
Greg King
216bb22b20 Added a special version of a function which uses an absolute addressing mode to access the zero page.
The PCEngine needs such operands to be redirected to RAM page $20 explicitly.  Fixes #1482; fixes #1483.
2021-05-04 12:10:43 -04:00
Oliver Schmidt
5d84a4ba13 Removed non-ASCII chars. 2021-04-19 16:06:10 +02:00
Christian Groessler
200b420562 Export LMARGN_save to C. People might want to preserve this setting in their program.
In turn rearrange startup code in order that LMARGN can be set by a 'constructor' (Do
"initlib" later.)
2021-04-01 15:19:06 +02:00
acqn
31c1172a3a zlib: Use correct (un)signedness of char in prototypes and functions.
Also ensure we are using the same constness qualifiers.
2021-03-30 19:41:20 +02:00
Greg King
710c6c6f2f Fixed cbm_k_readst() to work around a VIC-20 Kernal bug.
It properly returns the RS-232 device's status.
2021-03-25 15:22:18 -04:00
jede
b9fd318985 fix space/column 2021-03-13 00:15:05 +01:00
jede
c0d638a26d add clock for Telestrat target and add some Telemon primitives 2021-03-13 00:15:05 +01:00
jedeoric
4f26650228
[Telestrat] chdir management (#1419)
* add syschdir

* revert read.s

* remove extra line

* Now we update __cwd

* Fix tab

* Fix another tab

* Fix tab

* Fix tab and jmp

* fix xgetcwd

* Fix comments
2021-03-11 09:42:14 +01:00
greg-king5
23fba6cc37
Merge pull request #1412 from jedeoric/master
[Telestrat] Fix many bugs in conio Telestrat target
2021-03-09 18:44:20 -05:00
jede
a05dddd0d6 Fix next column 2021-03-09 22:02:26 +01:00
jede
facc1b4914 Fix cputdirect 2021-03-08 21:16:44 +01:00
jede
df64fd859c Fix cvline bug 2021-03-07 23:00:15 +01:00
jede
48badc0816 Fix import return0 2021-03-06 21:40:26 +01:00
Oliver Schmidt
bc8cca9fc4 Revert "Now getchar works"
This reverts commit 1fc16cb9ed.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
f122837955 Revert "add syschdir"
This reverts commit d83e8a3f0e.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
d6f2fda575 Revert "revert read.s"
This reverts commit 65d5786da5.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
8ae5a4a134 Revert "remove extra line"
This reverts commit 973a5337ac.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
ab4ca51848 Revert "Now we update __cwd"
This reverts commit d417baf826.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
558dfa285e Revert "Fix tab"
This reverts commit 17ca09ba9a.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
24d63a96b1 Revert "Fix another tab"
This reverts commit 9b36565485.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
f9ca091bd0 Revert "Fix tab"
This reverts commit 2ae41e0a55.
2021-03-06 12:03:05 +01:00
Oliver Schmidt
1d8479b411 Revert "Fix tab and jmp"
This reverts commit bf9d4ac3bb.
2021-03-06 12:03:05 +01:00
jede
bf9d4ac3bb Fix tab and jmp 2021-03-04 18:02:26 +01:00
jede
2ae41e0a55 Fix tab 2021-03-04 18:02:26 +01:00
jede
9b36565485 Fix another tab 2021-03-04 18:02:26 +01:00
jede
17ca09ba9a Fix tab 2021-03-04 18:02:26 +01:00
jede
d417baf826 Now we update __cwd 2021-03-04 18:02:26 +01:00
jede
973a5337ac remove extra line 2021-03-04 18:02:26 +01:00
jede
65d5786da5 revert read.s 2021-03-04 18:02:26 +01:00
jede
d83e8a3f0e add syschdir 2021-03-04 18:02:26 +01:00
jede
1fc16cb9ed Now getchar works 2021-03-04 18:02:26 +01:00
Greg King
5f145542b0 Exported the Commodore CHRIN and CHROUT Kernal functions, in the CBM libraries.
This commit complements commit 98f8064b83.
2021-03-03 17:39:53 -05:00
jede
872739b5f4 Fix comments, return line and bordercolor return 2021-03-03 22:14:29 +01:00
jede
cdbe23c351 Fix missing new line in bordercolr 2021-03-01 23:21:58 +01:00
jede
3adddf5825 Merge branch 'master' of https://github.com/jedeoric/cc65 2021-03-01 23:20:37 +01:00
jede
185c451000 Fix cputdirect 2021-03-01 23:19:30 +01:00
jedeoric
ba4310f589
Merge branch 'master' into master 2021-03-01 23:03:34 +01:00
jede
abef6566e7 Add revers.s 2021-03-01 22:45:05 +01:00
jede
8ec6d28f92 Revert read.s 2021-03-01 22:44:06 +01:00
jede
256b22f1c7 Add bordercolor and cvline 2021-03-01 22:36:09 +01:00
jede
02e52fe24d Fix many bugs 2021-03-01 22:33:12 +01:00
Oliver Schmidt
3a7282544e Moved convert.system from geos-apple to apple2[enh].
The target util convert.system is to be used in conjunction with GEOS on the Apple II but has to be built as an "ordinary" Apple II program. The way the cc65 library build system is designed there's no way to define dependencies between targets. The solution used so far was to explicitly trigger a build of the target 'apple2enh' from the target 'geos-apple'. However, that approach tends to break parallel builds which may be in the middle of building 'appple2enh' at the time it is triggered by 'geos-apple'.

There might be ways to get this fixed - but the the cc65 library build systrem is already (more than) complex enough, so I really don't want to add anything special to it.

On the other hand there are easier ways (outside the scope of cc65) to archive what convert.system does so I don't presume convert.system to be actually used - it's more a reference type of thing.

Putting all facts together the decision was easy: Just move convert.system from the target it is used with to the target(s) it is built with.
2021-02-17 10:50:22 +01:00
Greg King
98f8064b83 Made the directory functions compatible with the Commander X16's DOS.
It's directory listing's last line says, "mb free."
2021-02-15 08:56:31 -05:00
Oliver Schmidt
8551431233 Optimized based on https://github.com/cc65/cc65/pull/1393. 2021-02-05 11:54:07 +01:00
jede
a9dac3b1ef Fix X register for kbhit 2021-02-02 14:09:57 +01:00
jede
b52ee25385 Rollback read.s 2021-02-02 14:09:57 +01:00
jede
f622783ae1 kbhit added for telestrat target 2021-02-02 14:09:57 +01:00
jede
6c59a6254f Now getchar works 2021-02-02 14:09:57 +01:00
Greg King
d90cd11212 Fixed outdated comments. 2020-12-27 18:22:12 -05:00
Sven Michael Klose
9800555bbb Remove stale comments. 2020-12-27 17:54:49 -05:00
Sven Michael Klose
9d62abb7ac Fix comment. 2020-12-27 17:54:49 -05:00
Sven Michael Klose
db31204950 Remove stale comment. 2020-12-27 17:54:49 -05:00
Sven Michael Klose
6201300816 Fold constant calculation. 2020-12-27 17:54:49 -05:00
Sven Michael Klose
f59cb9af06 Use more compact loops. 2020-12-27 17:54:49 -05:00
Sven Michael Klose
99c0815cdb Clear up comments a bit. 2020-12-27 17:54:49 -05:00
Sven Michael Klose
3957310950 Knock off two bytes from getcwd(), cbm_read() and cbm_write(). 2020-12-27 17:54:49 -05:00
Oliver Schmidt
0f4cb443b4 Improved device I/O under DOS 3.3
Certain scenarios (e.g. not running any Applesoft program at all since booting DOS 3.3) can make DOS 3.3 consider cc65 device input (e.g. getchar()) that reads a CR interpreting the command in the keyboard buffer. Setting the hibyte of the Applesoft currently executed line number to some value <> $FF (beside setting the input prompt to some value <> ']') makes DOS 3.3 understand that we're not in intermediate mode and that therefore I/O not preceded with ctrl-d mustn't be fiddled with (see DOS 3.3 routine at $A65E).
2020-12-19 19:54:12 +01:00
Polluks
9563541870 crt0 clean-up 2020-11-29 18:08:33 +01:00
Greg King
a0d986faf8 Fixed the horizontal movement of the mouse pointer on platforms with the VIC-II display chip.
ca65's logical (Boolean) NOT operator was used where bitwise NOT should be used.  The effect was that all sprites were shifted to the left side of a screen when the mouse sprite was put on the left side.
2020-11-27 21:22:22 -05:00
Oliver Schmidt
79bdc2d51f Set correct prerequisite.
See https://github.com/cc65/cc65/issues/1318
2020-11-20 19:19:55 +01:00
Polluks
a0596eae6e Added waitvsync for PET 2020-11-18 10:28:19 +01:00
Oliver Schmidt
0cd8d37613
Fixed comment. 2020-11-17 08:53:48 +01:00
Greg King
5f65252fa6 Added the cputdirect entry point to the cputc() functions in the two Oric libraries.
It now is available in all libraries that have cputc().
2020-11-15 11:44:12 -05:00
Greg King
81edc3f582 Updated a comment about Kernal's STATUS variable. 2020-11-08 17:45:54 -05:00
Christian Groessler
39c0abed54 atarixl: fix compilation problem when CHARGEN_RELOC is defined 2020-10-30 15:01:47 +01:00
Greg King
aad17a6f05 Made two GEOS directory functions return NULL if they can't give a valid entry. 2020-10-29 18:06:01 -04:00
Oliver Schmidt
d8e6fa61bb Return NULL on error (or end of directory). 2020-10-29 17:44:19 +01:00
Christian Groessler
3537210674 add waitvsync() for atari and atari5200 2020-10-28 21:12:32 +01:00
Oliver Schmidt
f723147f04 Streamlined clock rate handling.
* Docs say that CLK_TCK is an obsolete alias of CLOCKS_PER_SEC so there's no point in individual definitions.
* All targets determining the clock rate at runtime can use a common handling.
2020-10-25 14:06:44 +01:00
jede
b8889bf37e Now getchar works 2020-10-23 23:47:30 +02:00
Greg King
0f66f7569e Updated the cx16 library to the upstream project's prerelease 38. 2020-10-17 14:48:01 -04:00
Greg King
a25b28a972 Added files to the pet library that support the overlay demo sample program.
cbm_load() is needed because the Pet/CBM Kernals don't have a LOAD function that can be used by machine code programs.
2020-10-15 21:22:04 -04:00
Greg King
e72e44d14f Shortenned the VIC-20's cputc() by 17 bytes.
Changed to a modified table look-up method to convert PetSCII to screen-codes.
2020-10-13 07:55:20 -04:00
Fabrizio Caruso
61ebe2c34b Indentation in vga.s for gamate 2020-09-24 19:42:34 +02:00
Fabrizio Caruso
6fdb356db7 Simplify Gamate tile redefinition (as already done for PCE) 2020-09-24 19:42:34 +02:00
Greg King
d906204e84 Allowed UPDCRAMPTR to be exported as a constuctor in the VIC-20 library. 2020-09-22 12:31:27 -04:00
Greg King
dc14751954 Exported the direct Kernal entries that were moved from target headers to "cbm_kernal.inc". 2020-09-22 00:04:24 -04:00
Jesse Rosenstock
0482e4d6e4 Fix CRLFs introduced by fe3f267 2020-09-18 08:57:28 +02:00
acqn
fe3f267233 Added new runtime sub bcasta/bcastax/bcasteax opposing to bnega/bnegax/bnegeax. 2020-09-11 13:33:54 +02:00
IrgendwerA8
f54e01781b Tiny optimizations for multiplication. 2020-08-29 16:34:20 +02:00
acqn
63fa9a5a42 Fixed usage of "lvalue-cast" in _scanf implementation. 2020-08-24 17:16:37 +02:00
compyx
81d3dedb41 Move comment block as requested 2020-07-24 15:24:28 -04:00
compyx
294b5d1cf1 C64 soft80 conio: shave off a few bytes and cycles 2020-07-24 15:24:28 -04:00
Oliver Schmidt
77674352f6
Minor style change. 2020-07-21 23:44:36 +02:00
Brad Smith
041f981960
rand() use XOR to break up unwanted pair correlation (#1107)
* rand() use XOR to break up unwanted pair correlation

This form of rand() cannot return the same value twice in a row.
Two additonal EOR instructions produce a more even distribution of successive pairs.
see comments on #951

* rand.s document purpose of XOR

* suggested srand() optimization: zero fill unnecessary

* test to validate implementation of rand()

* srand() improving behaviour and adding startup test

* srand() with a tail call to rand() for better initial shuffle

* srand() can fall through to rand() instead of tail call
2020-07-21 23:38:18 +02:00
Greg King
4296cbaf82 Added a 320x200x256 TGI driver to the Commander X16 library.
Made the mandelbrot sample program handle the X16's 256 colors.
2020-07-15 17:30:58 -04:00
Greg King
ba0ef5938d Moved the font into a separate module in the library.
The font can be replaced, at link-time, by a custom file.
2020-07-15 04:58:32 -04:00
Olli Savia
a02bec11e9 Another code style fix 2020-07-14 22:54:03 -04:00
Olli Savia
b3703de983 Code style fixes 2020-07-14 22:54:03 -04:00
Olli Savia
de5678af5d Added optimizations by dmsc 2020-07-14 22:54:03 -04:00
Olli Savia
e2ec517aae Save another 3 bytes 2020-07-14 22:54:03 -04:00
mrdudz
306f421aa9 Merge branch 'master' of https://github.com/cc65/cc65 2020-07-15 00:17:41 +02:00
mrdudz
6035f1cb75 added missing gotox/gotoy functions 2020-07-15 00:17:11 +02:00
Greg King
9023e975df Stopped the C128 mouse drivers from blocking certain keys such as '1', '2', and 'Q'.
This extra fix is needed because the C128 keyboard scanner works a little differently than the C64 scanner works.
Fixes #696. Fixes #853.
2020-07-14 16:06:21 -04:00
mrdudz
1f2fdbd9b1 implemented conio peek functions for PCE target 2020-07-14 14:23:58 +02:00
Olli Savia
a43cac580e Tiny optimization 2020-07-13 10:14:21 +02:00
Oliver Schmidt
bcb8b49907 Removed executable bit. 2020-07-12 23:11:43 +02:00
Oliver Schmidt
04cc463452 Implemented some CONIO peek functions.
Please refer to https://github.com/cc65/cc65/pull/532 for background info.

I wrote in https://sourceforge.net/p/cc65/mailman/message/35873183/

===
cputs() wraps to the next line if the strings is too long to fit in the current line. I don't know if it's worth the effort to allow cpeeks() to continue reading from the next line. I'd like to discuss this aspect with the actual implementers.
===

This is still as unclear today as it was when I wrote the above. Therefore this change just doesn't add cpeeks() at all.

Since f8c6c58373 the Apple II CONIO implementation doesn't "need" revers() anymore - meaning that (nearly) every possible value can be placed in VRAM with a straight cputc() (without the need for a previous revers(1)).

The implementation of cpeekc() leverages that cputc() ability by always returning the value that can be fed into cputc() without a previous revers(1). Accordingly, cpeekrevers() always returns 0.

So after the sequence revers(1); cputc(x); a cpeekc() will return a value different from x! However, I don't see this behavior braking the cpeekc() contract. I see the cpeekc() contract being defined by the sequence textcolor(cpeekcolor()); revers(cpeekrevers()); cputc(cpeekc()); placing the very same value in VRAM that there was before. And that contract is fulfilled.
2020-07-12 22:19:55 +02:00
compyx
381a32d9aa C64 soft80-conio cgetc: save 14 cycles in invertcursor
By 'inverting' the loop, we can save 16 cycles by removing the `cpy #8`,
saving 16 cycles. But we need an extra `ldy #7` at the start of the
loop, so the total cycles saved is 14. Code size doesn't increase due to
the addition of the `ldy #7` negating the removal of the `cpy #xx`.
2020-07-11 17:46:29 +02:00
compyx
2c4dd5decf Shorten comment as requested 2020-07-11 11:59:45 +02:00
compyx
e45e57d7ce C64 soft80 conio: save 4 bytes in firstinit
Also save 6 cycles as a very small bonus.
2020-07-11 11:59:45 +02:00
compyx
fb7996b0ce Revert "C64 soft80 conio: save 6 bytes in firstinit"
This reverts commit 943e68be6a.
2020-07-11 11:59:45 +02:00
compyx
695b1b01d8 C64 soft80 conio: save 6 bytes in firstinit
As a bonus, save 6 cycles.
2020-07-11 11:59:45 +02:00
Greg King
410e4502ee Added a 160x192x2 TGI (graphics) driver to the VIC-20 library.
The driver requires a special linker configuration: "vic20-tgi.cfg".
The VIC-20 computer needs at least 8K of expansion RAM!

"tgidemo.c" needed to be adjusted because the VIC-20's vertical (y) range is greater than its horizontal (x) range -- the opposite of most other platforms.  Also, the circle demo would jam on the VIC-20.
2020-07-08 05:55:30 -04:00
mrdudz
d1833cc441 Fix handling of charcodes 254 and 255, fixes issue #988 2020-07-08 00:48:39 +02:00
Dirk Jagdmann
aaecf3cfec replace JMP with BEQ to save 1 byte. 2020-06-22 23:55:45 +02:00
Dirk Jagdmann
070264acc4 remove tab characters. 2020-06-22 23:55:45 +02:00
Dirk Jagdmann
76091b96d4 C64 Kerberos extended memory driver 2020-06-22 23:55:45 +02:00
Oliver Schmidt
37107174c6 Added waitvsync() for the Enhanced Apple //e.
The implementation is a bit tricky as it requires to take different code paths for the //e, the //c and the IIgs. Additionally the //c only provides a VBL IRQ flag supposed to be used by an IRQ handler to determine what triggered the IRQ. However, masking IRQs on the CPU, activating the VBL IRQ, clearing any pending VBL IRQs and then polling for the IRQ flag does the trick.
2020-06-18 21:44:57 +02:00
Oliver Schmidt
e0a0b2dc25 Streamlined machine detection. 2020-06-15 19:31:18 +02:00
Oliver Schmidt
6adf175691 Optimized get_ostype() return values for asm usage.
Making sure that all but //c machines have bit 6 clear allows to use BIT/BVS to detect the //c machines.
2020-06-15 19:31:18 +02:00
Oliver Schmidt
20a9c0c336 Replaced call to paddle read ROM routine with custom code.
As described e.g. in the Apple IIe Technote #6: 'The Apple II Paddle Circuits' it doesn't work to call PREAD several times in immediate succession. However, so far the Apple II joystick driver did just that in order to read the two joystick axis.

Therefore the driver now uses a custom routine that reads both paddles _at_the_same_time_. The code doing so requires nearly twice the cycles meaning that the overall time for a joy_read() stays roughly the same. However, twice the cycles in the read loop means half the resolution. But for the cc65 joystick driver use case that doesn't hurt at all as the driver is supposed to only detect neutral vs. left/right and up/down.

CPU accelerators are supposed to detect access to $C070 and slow down for some time automatically. However, the IIgs rather comes with a modified ROM routine. Therefore it is necessary to manually slow down the IIgs when replacing the ROM routine.
2020-06-06 15:15:13 +02:00
Oliver Schmidt
7b2e4d0c7f Reflect that the Apple //c supports only one joystick. 2020-06-04 23:24:24 +02:00
Oliver Schmidt
15e2afcdf3 Split libref.s into multiple files to prevent inclusion of unnecessary code. 2020-06-04 23:24:24 +02:00
Greg King
14c62f1368 Allowed the TGI API to support 256 colors. 2020-06-04 12:58:05 -04:00
jede
6521930880 Fixed the name of the driver 2020-05-28 08:50:20 -04:00