Commit Graph

426 Commits

Author SHA1 Message Date
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
Christian Groessler c90c3c9133 stdio.inc,stdio.h: set CBM PATH_MAX/FILENAME_MAX value to 255
Some parts of the runtime library cannot handle larger paths.
2021-06-10 20:08:58 +02:00
Christian Groessler ae9101961e stdio.inc,stdio.h: increase CBM PATH_MAX/FILENAME_MAX value to 256+1 2021-06-10 20:08:58 +02:00
Christian Groessler 9a523abbfb limits.h: provide PATH_MAX
- stdio.h: define FILENAME_MAX to PATH_MAX
- stdio.h, stdio.inc: increase FILENAME_MAX/PATH_MAX for Atari
  (For DOSes with subdirectory support.)
2021-06-10 20:08:58 +02:00
IrgendwerA8 fe003eedd4 Fix Atari keyboard code for cursor up key 2021-05-31 11:19:24 +02:00
Olli Savia 0ae1aad3d3 Fix typo: VIAx_CR -> VIAx_ACR 2021-05-19 20:26:11 +02:00
Oliver Schmidt 5d84a4ba13 Removed non-ASCII chars. 2021-04-19 16:06:10 +02:00
Oliver Schmidt f272bc8f42 Removed non-ASCII chars. 2021-04-19 15:50:52 +02:00
Marco Aurelio da Costa 9941855dc6 mc: Removed original version comment, not relevant for assembler 2021-04-18 20:39:05 +02:00
Marco Aurelio da Costa f7613b529c mc: Added default charmap include files for assembler 2021-04-18 20:39:05 +02:00
Greg King edecbc86b8 Reverted "Second address" back to "Secondary address". 2021-03-27 13:34:39 -04: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
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
Olli Savia b22d8c7441 Added STATUS (0) definition 2020-12-03 12:13:23 +01:00
Oliver Schmidt 69c0363c7e Fixed CPU bitmask constants to match the CPU instruction set bitmasks computed in src/common/cpu.h. 2020-11-16 18:50:15 +01:00
Zsolt Branyiczky b33b053307 add c64dtv support 2020-11-15 16:35:55 +01:00
Greg King 0f66f7569e Updated the cx16 library to the upstream project's prerelease 38. 2020-10-17 14:48:01 -04: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 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 5b56c6e3a2 Disable potentially enabled double-width graphics. 2020-05-04 22:23:01 +02:00
Greg King cbf0c1d1dd Updated the cx16 library to the Commander X16's ROM prerelease 37. 2020-05-02 13:46:06 -04:00
Oliver Schmidt 0981c020b2 Shortened names and adjusted style. 2020-04-02 22:58:16 +02:00
IrgendwerA8 08705a3fdc Changes resulting from 2nd code review 2020-02-03 20:45:09 +01:00
IrgendwerA8 002d1801ec Changes resulting from code review. 2020-02-03 20:45:09 +01:00
IrgendwerA8 ce80624f62 ctype size optimization 2020-02-03 20:45:09 +01:00
Greg King b66f7272af Updated the cx16 library to the ROM's prerelease 36. 2020-01-11 02:20:52 -05:00
Greg King 3fa253d31f Updated the cx16 library to the Commander X16 Kernal's prerelease 35. 2019-12-25 10:56:32 -05:00
Greg King d78133e1f0 Updated cx16 to match the Commander X16 ROMs and emulator, release 34. 2019-11-16 13:11:40 -05:00
Curt J. Sampson 128991d868 libsrc/*/kplot.s: Use cbm_kernal.inc symbols, not hardcoded addrs
On C64, VIC-20 and Plus/4, the conio library PLOT routine uses direct
calls into the Kernal, including the Kernal PLOT routine that we're
replacing. These were previously hardcoded addresses; we change these
to use the symbols for those routines defined in cbm_kernal.inc. (This
changes no functionality.)

To do this, we need to import cbm_kernal.inc in a namespace so we
don't have a collision between the PLOT that we're defining and the
Kernal definition.

We also add a UPDCRAMPTR symbol (used by kplot for VIC-20 and C64) to
the direct entry kernal routines in in cbm_kernal.inc, and expand the
comments describing what the "direct entry" Kernal routines are.

<greg.king5@verizon.net> (GitHub: greg-king5) came up with this idea
and did initial testing of it.

This has been tested on VICE xvic, x64 and xplus4 emulators with a
program that does a cputs() call (github.com/0cjs/vic20cc65) to
confirm that it works the same way after as it did before.
2019-10-25 16:03:38 -04:00
Greg King f3d898d6a3 Added the GIF switch to the X16 emulator's control port. 2019-10-15 12:10:34 -04:00
Greg King 18afc7c703 Created a target and a library for the Commander X16 prototype computer. 2019-09-27 03:38:51 -04:00
jede 7f9e73a1ce Add textcolor and bgcolor.s 2019-07-21 14:11:51 -04:00
jede 76fe064e03 Add XSCROH & XSCROB value 2019-07-20 17:10:00 +02:00
jede 99de3cb6ea Add page 0 variables from Telemon 2.4 2019-07-20 17:10:00 +02:00
Christian Groessler 8590de5cf3 Revert "atari5200: fix COLOR defines' names"
This reverts commit 87e653f47b.
2019-04-12 12:49:38 +02:00
Christian Groessler dfb7c0f24d atari5200: fix COLOR defines' names
COLOR_RED -> COLOR_LIGHTRED and COLOR_GREEN -> COLOR_LIGHTGREEN
2019-04-12 12:49:38 +02:00
Christian Groessler be6bba66a9 atari5200: conio now uses just four colors altogether
See discussion in PR #870.
2019-04-12 12:49:38 +02:00
Christian Groessler ec5e38617a atari5200: implement bgcolor() and textcolor()
Includes some other small fixes/cleanups.
2019-04-12 12:49:38 +02:00
Greg King 13fa31a3bc Refactorred a CBM screen-code macro, so that we can use it as an operand.
For example: lda #scrbyte 'B'
2019-03-04 10:23:47 -05:00
Oliver Schmidt b9ea77b185
Merge pull request #834 from jedeoric/master
Update telestrat target doc, add tgi_clear support for telestrat target, stratsed & telemon 2.4 vars added
2019-02-12 17:51:24 +01:00
Christian Groessler 58484449b4 remove TABs 2019-02-05 23:27:52 +01:00
Christian Groessler 055c294ac0 Use Timer2 for mouse polling.
This follows a suggestion by Sijmen Schouten in issue #818.
Platoterm64 now works with mouse at 1200 baud.

Bump MOUSE_API_VERSION in asminc/mouse-kernel.inc.

Fix typo in testcode/lib/mouse-test.c.
2019-01-29 22:00:55 +01:00
jede bade791570 fix uppercase 2019-01-29 20:46:16 +01:00
jede b360a128f9 fix uppercase command 2019-01-26 11:39:24 +01:00
jedeoric 63e64f801a
Merge branch 'master' into master 2019-01-25 10:15:21 +01:00
jede 2848ddf8ab Telemon variables added 2019-01-24 23:07:49 +01:00
jede d707ef4c72 Now tgi_clear() works 2018-12-10 21:48:09 +01:00