1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-10 19:29:45 +00:00

2310 Commits

Author SHA1 Message Date
Oliver Schmidt
8f67dd5cc7 Merge pull request #215 from greg-king5/c64-init
Save space by using the apple2 target's INIT overlay scheme on the c64 target.
2015-10-14 10:43:11 +02:00
Oliver Schmidt
5e960d106e Allow to override chars used for horizontal and vertical lines. 2015-10-12 21:04:06 +02:00
Oliver Schmidt
08efc299ff Allow to override mouse sprite location data. 2015-10-12 20:18:13 +02:00
Oliver Schmidt
c4966ac6a6 Fixed stupid adressing mode bug.
Thanks Greg for pointing out :-)
2015-10-10 11:15:43 +02:00
Oliver Schmidt
ccc7c2b1f9 Minor style adjustment. 2015-10-09 22:18:51 +02:00
Oliver Schmidt
326da85145 Consistently place constructors (and their exclusive subroutines) in "INIT". 2015-10-09 21:44:20 +02:00
Oliver Schmidt
575f859a03 Keep low level VIC sprite stuff out of user code. 2015-10-09 18:33:35 +02:00
Greg King
8c609dd931 Explained why two variables were moved out of the BSS segment. 2015-10-09 12:00:41 -04:00
Oliver Schmidt
f21e3ae895 According to the contributor the prio wasn't intentionally set. 2015-10-09 13:42:25 +02:00
Greg King
ca70700a0b Restored the old C-stack initiation code.
I had forgotten that the stack must be put below the CBM overlays.
2015-10-08 06:04:49 -04:00
Greg King
8a880580dc Reduced the size of the moveinit subroutine.
Made other changes that were recommended by Oliver.
* Changed its name from move_init to moveinit.
* Used self-modifying code in the subroutine.
* The INIT segment doesn't need to be optional (it's used by the start-up file).
2015-10-07 14:56:14 -04:00
Greg King
074e10d288 Adapted, to the c64 target, the INIT-segment overlay scheme from the apple2 targets.
When a program starts running, INIT is moved from one place to another place.  Then, INIT's code is executed; and, the first place is re-used for variables.  After the INIT code has finished, the second place can be re-used by the heap and the C stack.  That means that initiation code and data won't waste any RAM space after they stop being needed.
2015-10-05 05:47:43 -04:00
Greg King
6217f8fa3a Made the Commodore version of exec() work in programs that are so big that they load into all of BASIC RAM.
The function won't cause an "out of memory" error.
2015-09-28 11:27:39 -04:00
Greg King
b82bb4f5ba Moved two errno helper functions into separate files.
Only the function that actually is needed will be linked.  It is very useful for targets that do not have file-system I/O.
2015-09-25 14:06:58 -04:00
Oliver Schmidt
b2657ecef5 Merge pull request #177 from mrdudz/pcenginetarget
new target: PC Engine (TurboGrafx16)
2015-09-24 09:58:28 +02:00
mrdudz
7d453a72fb use 'plot' instead of 'PLOT' 2015-09-20 12:18:41 +02:00
mrdudz
296489ba6c added interruptor support 2015-09-19 15:55:43 +02:00
mrdudz
859604407b fixed more flaws found by greg :) 2015-09-19 15:37:39 +02:00
Oliver Schmidt
45313075fe Merge pull request #208 from greg-king5/big-jump
Improve the longjmp() and setjmp() functions.
2015-09-11 21:06:50 +02:00
Greg King
dbf0adcec9 Improved longjmp() and setjmp(). 2015-09-11 14:18:22 -04:00
Greg King
031bd2ebf0 Fixed the random-seed generators for the Commodore targets.
They use a byte from the time counter; but, it is stored in big-endian order.
2015-09-11 10:03:07 -04:00
mrdudz
088a25437d fixed VDC register assignments 2015-09-07 12:55:36 +02:00
mrdudz
af2ba26c62 fix gregs complaints :) 2015-09-04 14:14:17 +02:00
mrdudz
d0a1dc73b8 Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-09-04 13:40:52 +02:00
mrdudz
57b8af1adc style fixes 2015-08-29 15:58:57 +02:00
Greg King
9c55bd1c96 Fixed bugs in the interface for C-level interrupt handlers.
* Added an important ".code" directive.

* Import a linker-created zero-page symbol as an absolute address; then, convert it to zero-page when it is used.

Fixes bug report #198.
2015-08-26 19:33:34 -04:00
Oliver Schmidt
657cc003be Merge pull request #184 from greg-king5/fastcall
Update some fastcall info.
2015-07-23 17:11:49 +02:00
Greg King
52eec1f236 Updated the fastcall information in a document and two Assembly files. 2015-07-22 13:31:14 -04:00
Oliver Schmidt
673b27cc1b Added empty IRQ backend.
The driver kernels all require IRQ handling even if the actual drivers don't make use of it. So in order to successfully link a NES program using the joystick and/or TGI driver there has to be at least a "dummy" IRQ backend.
2015-07-22 11:36:54 +02:00
mrdudz
0e29a0993f Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-07-20 18:42:04 +02:00
mrdudz
313d2dd210 added missing chline, cvline 2015-07-19 18:06:16 +02:00
Greg King
a9982de475 Added _directerrno() to the sim6502/sim65c02 libraries. 2015-07-18 18:23:08 -04:00
Greg King
0b6bcb565e Fixed a hardware-stack leak. 2015-07-17 20:36:56 -04:00
mrdudz
996c7b493e moved all notes into regular documentation 2015-07-16 21:39:13 +02:00
mrdudz
e77060458a fixed joypad bits 2015-07-16 20:15:05 +02:00
mrdudz
3119be2a1e added some cbm-like gfx chars to draw lines and boxes 2015-07-16 17:33:00 +02:00
mrdudz
d229d51be5 make sure clocktick starts at zero 2015-07-16 16:54:40 +02:00
mrdudz
21ef6b8510 fixed screensize, timertick, revers mode 2015-07-16 16:00:32 +02:00
mrdudz
1414411bba added waitvblank and fixed get_tv 2015-07-15 19:46:26 +02:00
mrdudz
c3d45e4c47 fixed issues found by gregg 2015-07-15 13:18:12 +02:00
mrdudz
ac27ed301a _tickcount -> tickcount 2015-07-14 19:55:41 +02:00
mrdudz
83391ab67c some more tweaking, added docs page 2015-07-14 17:22:47 +02:00
mrdudz
515a61a302 added imports for conio init to conio functions, so the constructor will get linked and called automatically 2015-07-13 12:10:09 +02:00
mrdudz
9e1d39a409 more cleanup and fixing 2015-07-12 16:40:52 +02:00
mrdudz
891cb97b2f more cleanup, joystick works again 2015-07-12 14:27:24 +02:00
mrdudz
21999b081f simple conio test works again 2015-07-12 10:32:55 +02:00
mrdudz
877fd532c2 Merge remote-tracking branch 'upstream/master' into pcenginetarget 2015-07-11 13:05:26 +02:00
Greg King
146daa1d0a Made some string output functions reject an invalid NULL buffer pointer. 2015-07-09 14:46:28 -04:00
Greg King
219905c6bc Fix two string output functions' handling of their buffer-size parameter.
That parameter's type is unsigned; but, the functions return an int.  If the size is too big for a signed integer, then return an error code.
If the size is zero, then don't write anything into a buffer (the buffer pointer may be NULL).  But, do format and count the arguments.
2015-07-09 10:43:45 -04:00
Greg King
08e18c93c5 Added explicit settings of calling conventions in pointer-to-function declarations in system and library headers. 2015-06-22 00:15:48 -04:00