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
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