Marco van den Heuvel
97e69952c4
Removed extern keyword from function prototypes.
2018-04-27 09:16:25 -07:00
Marco van den Heuvel
f2e46f0fdf
Added C64 Chameleon accelerator code and documentation.
2018-04-25 12:53:29 -07:00
Marco van den Heuvel
cc2bcb8a4d
Changed c128 accelerator code and documention to include both C64 and C128 support.
2018-04-23 19:25:11 -07:00
Marco van den Heuvel
3f5683b391
Added C128 in C64 mode accelerator code and documentation.
2018-04-20 12:08:28 -07:00
Marco van den Heuvel
6076316f38
Added c64dtv accelerator code and documentation.
2018-04-14 10:40:13 -07:00
Marco van den Heuvel
89c3ed6d7f
Added C64/C128 SuperCPU accelerator functions and started on a generic framework for accelerators.
2018-04-09 19:36:53 -07:00
Greg King
098a30725f
Moved declarations that are common to the C16 and the Plus4 libraries over to their common header.
2018-04-01 15:47:48 -04:00
Marco van den Heuvel
03ba3f7473
Added c16/plus4 fast(), isfast() and slow() functions, and updated the documentation accordingly.
2018-03-23 14:27:15 -07:00
Marco van den Heuvel
5d4116f05f
Added isfast function which returns a 1 when the C128 is in 2MHz mode.
2018-03-20 13:11:24 -07:00
Marco van den Heuvel
2533cc8d75
Added the vic20 georam emd.
2018-03-19 11:34:41 -07:00
Marco van den Heuvel
0c7496f08b
Added vic20 - ram emd.
2018-03-16 14:23:52 -07:00
Marco van den Heuvel
0eb1eb625f
Undo my previous commit.
2018-03-09 10:46:02 -08:00
Marco van den Heuvel
22d4b0d497
Improved tv timing detection for the c64.
2018-03-08 16:06:33 -08:00
Marco van den Heuvel
5a9d908007
Added 2a03/2a07 and HuC6280 detection.
2018-03-01 14:57:42 -08:00
Marco van den Heuvel
e3779978b2
Added proper 65sc02, 65ce02 and 4510 detection.
2018-02-26 19:22:54 -08:00
Marco van den Heuvel
b0ef67d14c
Added GEOS 1.3 and 1.5 detection.
2018-02-15 15:24:58 -08:00
Marco van den Heuvel
d93f84f4bc
Improved GeOS version detection.
2018-02-13 19:19:40 -08:00
Greg King
33f05d1162
Added a definition for the CBM610's first CIA chip.
2018-02-10 16:14:53 -05:00
Oliver Schmidt
6f6fd33cae
Added size_t.
2018-02-10 11:45:50 +01:00
Greg King
e9cbd42b18
Normalized the definitions of structs in <supervision.h>.
...
The change matches the way that I/O register structures are defined in other headers. The names are defined as "struct", instead of as "pointer to struct".
2018-02-06 08:52:36 -05:00
Christian Groessler
ae4e9fab8c
Atari: CONSOL port of GTIA is readable and writable.
...
Adjust include/_gtia.h accordingly.
2018-02-02 18:28:52 +01:00
Oliver Schmidt
d7afadb2fe
Factored out target specific inclusion of target header.
...
So far conio.h included the target header to get the CH_... and COLOR_... macros. However tgi.h never did the same to get the TGI_COLOR_... macros. And some time ago the JOY_..._MASK macros moved from joystick.h into the target header yet joystick.h didn't include the target header.
Why wasn't that issue detected so far? Because about every program using TGI and/or the joystick uses CONIO too and therefore includes the target header that way.
However, conceptually it's clean to factor out the target header inclusion and have tgi.h and joystick.h do it like conio.h.
Apart from that user code may make direct use of target.h too.
2018-02-02 12:59:05 +01:00
Oliver Schmidt
2cf1bb89be
Removed ACE header.
...
There's no code in the tool chain to set __ACE__ nor is there an ace.lib C library.
2018-02-02 12:35:40 +01:00
Oliver Schmidt
935f68f686
Harmonized the style of including headers from headers.
...
We surely don't care about some file I/O on host machines in 2018 ;-)
2018-02-02 12:28:22 +01:00
Oliver Schmidt
f15cd3e468
Removed IRQ support from joystick drivers.
2018-02-02 12:02:52 +01:00
Oliver Schmidt
811424cc1b
Added recently published ProDOS version.
2018-01-18 12:37:21 +01:00
mrdudz
8902730756
cbm stuff from greggs pull request
2017-12-11 19:52:11 +01:00
Stefan
f2e12b4715
defined DYN_DRV
2017-11-21 10:56:35 +01:00
Stefan
e49744ecd0
New API
2017-11-21 10:22:53 +01:00
Stefan
f9b4e0b574
Update supervision.h
2017-11-21 10:12:35 +01:00
Oliver Schmidt
06794b221d
Made cbm_k_untlk() available.
2017-11-13 20:38:41 +01:00
Stefan
2fd99e9dec
Missing declaration
2017-11-09 17:36:21 +01:00
Oliver Schmidt
afcfba9355
Use macro actually defined in cbm_filetype.h.
2017-11-06 21:02:14 +01:00
Oliver Schmidt
4da1d3232f
Merge pull request #504 from jedeoric/master
...
[Telestrat] TGI initialization, some bugs (clrscr) correction, cgetc optimization, irq management
2017-10-22 11:14:55 +00:00
jede
351a5ab20a
Now setPixel works in TGI.
2017-10-20 21:03:30 +02:00
Oliver Schmidt
3a6430b13d
Merge pull request #494 from jedeoric/master
...
[telestrat] Adding some vars, adding getcwd management, changing ZP address and ZP length
2017-09-27 09:52:19 +02:00
jede
d8904c550b
Fixing buffer overflow with cwd command (FILENAME_MAX must be at 50 +1 bytes)
2017-09-25 21:39:57 +02:00
Christian Groessler
7623d4ea83
conio.h: include 'creativision.h' when compiling for this target.
2017-09-12 21:57:16 +02:00
Greg King
5802b0963f
Made <conio.h> include <atari5200.h> when we compile for the Atari 5200 console.
...
atari5200.lib has some conio functions.
2017-09-10 12:27:57 -04:00
Oliver Schmidt
0deeccebf8
Added JOY_FIRE.
...
According to https://en.wikipedia.org/wiki/Atari_8-bit_computer_peripherals it seems appropriate to add a JOY_FIRE definition for the ATARI.
2017-09-04 09:41:19 +02:00
Oliver Schmidt
4aa19494f5
Removed dysfunctional kbrepeatdelay() and kbrepeatrate().
...
As discussed in https://github.com/cc65/cc65/pull/452 after my premature merge the two functions in question don't work as expected.
Additionally I adjusted several style deviations in the pull request in question.
2017-08-30 16:37:59 +02:00
Greg King
7a1f5358df
Fixed missing name and semicolon in two device structs.
2017-08-23 01:46:57 -04:00
Oliver Schmidt
b5a4e5667a
Merge pull request #452 from mrdudz/kbrepeat
...
kbrepeatdelay and kbrepeatrate for cbm targets
2017-08-20 14:15:37 +02:00
mrdudz
960957075f
use fastcall
2017-08-19 19:14:24 +02:00
Oliver Schmidt
7f52a770d9
Removed joy_masks array.
...
So far the joy_masks array allowed several joystick drivers for a single target to each have different joy_read return values. However this meant that every call to joy_read implied an additional joy_masks lookup to post-process the return value.
Given that almost all targets only come with a single joystick driver this seems an inappropriate overhead. Therefore now the target header files contain constants matching the return value of the joy_read of the joystick driver(s) on that target.
If there indeed are several joystick drivers for a single target they must agree on a common return value for joy_read. In some cases this was alredy the case as there's a "natural" return value for joy_read. However a few joystick drivers need to be adjusted. This may cause some overhead inside the driver. But that is for sure smaller than the overhead introduced by the joy_masks lookup before.
!!! ToDo !!!
The following three joystick drivers become broken with this commit and need to be adjusted:
- atrmj8.s
- c64-numpad.s
- vic20-stdjoy.s
2017-08-19 19:11:28 +02:00
Bob Andrews
5dcebbccb6
Merge branch 'master' into kbrepeat
2017-08-06 20:22:52 +02:00
mrdudz
99e6dd18d6
resolve conflict
2017-08-06 20:20:22 +02:00
mrdudz
bd9208879e
added prototypes and proposed constants
2017-08-06 18:09:40 +02:00
Oliver Schmidt
375ee571c2
Removed 'fire'.
2017-07-28 19:19:11 +02:00
Oliver Schmidt
ef17e65c1b
Merge pull request #467 from pmjdebruijn/joy
...
joy: refactor generic joy_masks array indices and macros
2017-07-28 19:17:50 +02:00
Bill Chatfield
80c1c94a87
Corrected comment formatting
2017-07-28 12:16:55 -04:00
Bill Chatfield
f40bb93677
Added Variables section comment per convention
2017-07-28 12:12:18 -04:00
Bill Chatfield
abb2e8034b
Moved file type variables to apple2_filetype.h
2017-07-28 12:09:58 -04:00
Bill Chatfield
9459f11688
Corrected copyright and moved file type globals
...
The file type globals., _filetype and _auxtype, were moved from apple2.h to this file.
2017-07-28 12:01:57 -04:00
Bill Chatfield
e64e11d2c5
Finished adding all types and comments
2017-07-27 14:44:02 -04:00
Bill Chatfield
a623169477
Added ProDOS file type definitions
2017-07-26 11:15:49 -04:00
Pascal de Bruijn
c802c9c946
joy: refactor generic joy_masks array indices and macros
2017-07-23 23:45:52 +02:00
Pascal de Bruijn
8ad72fc9ca
pce: add system specific joy_masks array indices and macros
2017-07-19 18:29:35 +02:00
Pascal de Bruijn
d277055b5a
nes: add system specific joy_masks array indices and macros
2017-07-19 18:14:44 +02:00
Pascal de Bruijn
2d9922a46e
nes: remove semiredundant KEY_ defines
...
There are already JOY_ defines for most of these, and this should
be expanded upon instead.
2017-07-19 18:02:13 +02:00
Oliver Schmidt
6002e59c28
Merge pull request #453 from mrdudz/waitvsync
...
waitvblank for cbm targets
2017-07-18 15:38:27 +02:00
mrdudz
fe850fece8
implement waitvsync for plus4/c16
2017-07-17 23:55:18 +02:00
mrdudz
33791c6efd
added prototype to cbm.h
2017-07-17 23:43:08 +02:00
mrdudz
1abce3a2a1
rename all waitvblank() to waitvsync()
2017-07-17 23:15:05 +02:00
Lauri Kasanen
e85796e028
Edit comment style, add second const
2017-06-09 10:35:16 +03:00
Lauri Kasanen
e75a59d7a8
Add LZ4 decompression support
2017-06-06 18:48:25 +03:00
Oliver Schmidt
02daf9f8b5
So far the built-in inlining of several known standard function was always (!) enabled and the option -Os enabled additional, potentially unsafe inlining of some of those functions.
...
There were two aspects of this behavior that were considered undesirable:
- Although the safe inlining is in general desirable it should only be enabled if asked for it - like any other optimization.
- The option name -Os implies that it is a safe option, the potentially unsafe inlining should have a more explicit name.
So now:
- The option -Os enables the safe inlining.
- The new option --eagerly-inline-funcs enables the potentially unsafe inlining (including the safe inlining).
Additionally was added:
- The option --inline-stdfuncs that does like -Os enable the safe inlining but doesn't enable optimizations.
- The pragma inline-stdfuncs that works identical to --inline-stdfuncs.
- The pragma allow-eager-inline that enables the potentially unsafe inlining but doesn't include the safe inlining. That means that by itself it only marks code as safe for potentially unsafe inlining but doesn't actually enable any inlining.
2017-04-03 23:20:26 +02:00
Christian Groessler
8a81f9c0c8
Fix line endings (CRLF -> LF) on all affected files.
2017-03-10 11:21:14 +01:00
IrgendwerA8
ae7fa8f2ea
Improved display list instruction definition for more comfortable use within void data definition.
2017-02-24 00:10:02 +01:00
Christian Groessler
e6530d68dd
Fix joystick driver. Add interruptor support.
...
Note that the joystick driver doesn't support combined movements (like
left/up or right/down). This should be fixed.
2017-02-15 15:45:49 +01:00
Christian Groessler
a5fba551d1
Merge remote-tracking branch 'upstream/master' into something_to_pull2
2017-02-13 21:38:38 +01:00
Oliver Schmidt
5bbf010029
Merge pull request #371 from jedeoric/master
...
Create an Oric Telestrat target library
2017-02-10 23:47:13 +01:00
jede
d76911d38a
Fixing telestrat.h
2017-02-02 22:53:28 +01:00
jede
0e649f24ea
Correcting some code from github comments
2017-02-01 23:58:33 +01:00
Christian Groessler
07f840f11c
Merge remote-tracking branch 'upstream/master' into creativision
2017-02-01 18:15:05 +01:00
jede
b5fef66f37
Merge telemon24 and telemon30 into telestrat target.
...
Cleaning, and replace tab to spaces
Converting hex lowercase value into uppercase char.
Changing := and = when it was needed
2017-01-31 22:09:14 +01:00
jede
6ed57af9fd
removing ch376.h
2017-01-29 22:14:56 +01:00
jede
d1b5a6632d
Adding telemon30 and telemon24 primitives
2017-01-29 21:18:49 +01:00
Florent Flament
c1aac0de0e
Add C support for Atari 2600 (VCS)
2017-01-13 21:12:22 +01:00
jede
d5ba063602
Correcting some bugs
2017-01-04 20:03:19 +01:00
jede
15ac85b50c
Adding ch376.h header, correcting some bugs
2016-12-14 23:45:20 +01:00
Sven Oliver Moll
c0d2643952
added 4510 cpu detection to getcpu.s
2016-09-07 19:44:11 +02:00
IrgendwerA8
d65f587f69
Internal/screen character mapping: Supressed warnings for re-map and added documentation.
2016-08-27 22:02:08 +02:00
IrgendwerA8
024f66a84f
Allow use of different charmaps on Atari target
2016-08-19 17:27:41 +02:00
Greg King
2c03b9a1bc
Added C-code interfaces for the CBM Kernal functions SCNKEY and UDTIM.
2016-08-07 15:50:10 -04:00
Christian Groessler
94ba9575ec
Implement exec() for Atari XDOS.
...
- Adds new ENOEXEC error code, also used by Apple2 targets.
- Maximum command line length is 40, incl. program name. This is
an XDOS restriction.
- testcode/lib/tinyshell.c has been extended to be able to run
programs.
2016-06-13 20:40:01 +02:00
Christian Groessler
5705d0b55b
Use 'return0' for default 'doesclrscrafterexit()' implementation in libsrc/common.
...
Fix include/atari.h formatting.
2016-06-07 15:05:00 +02:00
Christian Groessler
346d88a6a7
Add issues from pull request #307 .
2016-06-07 12:07:38 +02:00
Christian Groessler
c7874b9f60
Add Atari version of of doesclrscrafterexit().
...
- Update documentation.
- Update atari.h and apple2.h header files.
- Adapt Atari test/target programs.
- Fix a typo in "div" entry in funcref.sgml.
2016-06-07 00:42:51 +02:00
Christian Groessler
da65866e24
Atari: add new function '_is_cmdline_dos()' and some other small changes.
...
- use this function instead of directly looking at _dos_type in the included
targetutil and test programs
- fixes/improvements to the Atari runtime library regarding the recently
changed _dos_type values
- libsrc/atari/targetutil/w2cas.c: exit if no filename was entered
- add documentation for the new function
2016-05-25 00:57:43 +02:00
Christian Groessler
2dd8f9f5ef
atari.h: update _dos_type values
2016-05-24 04:37:35 +02:00
Bob Andrews
a8d3b83c43
Merge pull request #7 from cvemu/master
...
Initial Creativision Import
2016-02-28 18:25:01 +01:00
Bob Andrews
25f4482641
Merge pull request #238 from mrdudz/gamate
...
Bit Corporation 'Gamate' support
2016-02-27 18:44:26 +01:00
Greg King
abfc36ec9c
Programs need to reset NES input controllers by writing to them.
2015-12-15 11:26:04 -05:00
mrdudz
d86397fd7d
fix grammar
2015-12-01 16:38:00 +01:00
mrdudz
7496e669be
fixed stuff according to Olivers review
2015-11-30 18:44:04 +01:00
mrdudz
b39a8b7a61
more cleanup
2015-11-29 20:04:10 +01:00
mrdudz
1893e24da9
updated
2015-11-29 01:24:01 +01:00
mrdudz
9fbf8a4299
conio and most other stuff working now
2015-11-29 01:14:59 +01:00
mrdudz
60285097e3
initial import of the gamate stuff
2015-11-14 13:15:29 +01:00
Greg King
c5d624c941
Added C declarations of the NES's I/O registers to <nes.h>.
2015-11-12 05:40:47 -05:00
Oliver Schmidt
575f859a03
Keep low level VIC sprite stuff out of user code.
2015-10-09 18:33:35 +02:00
Oliver Schmidt
e6008026aa
Fixed bogus formatting of recent contribution.
...
I wasn't in the mood for discussion ;-)
2015-10-05 16:28:16 +02:00
Lauri Kasanen
7f409c3edb
nes: Expose and document all joypad keys
2015-10-05 17:19:36 +03:00
mrdudz
57b8af1adc
style fixes
2015-08-29 15:58:57 +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
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
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
877fd532c2
Merge remote-tracking branch 'upstream/master' into pcenginetarget
2015-07-11 13:05:26 +02: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
Greg King
38231a5cc6
Made _afailed() and uncompress() be fastcall functions.
2015-03-13 07:35:47 -04:00
Greg King
66d79da3c2
Made cbm_load() be a fastcall function.
2015-03-13 05:46:40 -04:00
Greg King
a798b1d648
Made __fastcall__ be the default calling convention for non-variadic functions.
2015-03-10 05:53:52 -04:00
Stephan Mühlstrasser
14c7e9fd16
Rename c1p target to osic1p
2015-02-03 22:42:35 +01:00
mrdudz
1365afa845
more hacking
2014-11-30 11:20:57 +01:00
Stephan Mühlstrasser
d9f764aa07
Implement macros that shortcut color function calls.
2014-11-18 23:05:50 +01:00
Stephan Mühlstrasser
4c46287928
Begin to implement C1P conio features.
2014-11-09 00:58:32 +01:00
Greg King
0390c34e88
Changed multi-line C comments into another style.
...
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Christian Groessler
3508b90ee8
set DYN_DRV to 0; define atr5200std_joy
2014-05-31 19:44:10 +02:00
Oliver Schmidt
99f0a56f63
Merge pull request #122 from groessler/a5200
...
new target: Atari 5200 console
2014-05-30 22:52:51 +02:00
Christian Groessler
f54ef4efe4
provide CLK_TCK and CLOCKS_PER_SEC values for atari5200
2014-05-29 13:23:45 +02:00
Christian Groessler
ff31fa3e3f
add atari5200.h
2014-05-29 00:42:54 +02:00
Greg King
0ec8c8cea7
Added a quoted-token parsing function.
2014-05-20 16:33:16 -04:00
Oliver Schmidt
c6ee9ac034
Classified tgi_imulround() as part of TGI API.
2014-03-27 19:31:18 +01:00
Christian Groessler
8492a4eb71
fix typo
2014-03-08 00:24:43 +01:00
Christian Groessler
d481557541
add addresses of static drivers of the runtime
2014-01-21 22:58:50 +01:00
Oliver Schmidt
94eb2a2ed7
Some fine tuning of the mouse driver interface harmonization.
2014-01-17 21:09:15 +01:00
Christian Groessler
9124d0f051
add SER_BAUD_56_875
2013-12-06 20:53:49 +01:00
Christian Groessler
367ab2d531
add SER_ERR_NOT_OPEN status code
2013-12-06 20:53:49 +01:00
kym
11be575b6d
Initial Creativision Import
2013-12-05 11:40:44 +00:00
Christian Groessler
1135bc2acd
add IOCB command codes to atari.h
2013-09-17 22:35:17 +02:00
Greg King
2b02a03e6c
Renamed the CBM510 lightpen driver to include the 184-C pen.
2013-09-10 06:47:17 -04:00
Greg King
e0c8c7dcb1
Added a cbm510 lightpen driver.
...
It's similar to the current c64 and c128 lightpen drivers.
2013-09-09 17:03:40 -04:00
Oliver Schmidt
3671c7e19c
Merge pull request #27 from greg-king5/cbm2
...
Added a joystick-mouse driver to the CBM510 library.
2013-08-23 04:28:49 -07:00
Greg King
1c83d8232b
Added a driver to the CBM510 library that lets a joystick pretend to be a mouse.
2013-08-23 03:06:00 -04:00
Oliver Schmidt
177e967629
Added TGI color defines.
2013-08-22 16:33:30 +02:00
Oliver Schmidt
5602cf742f
Adjusted comment.
2013-08-08 18:46:21 +02:00
Oliver Schmidt
f5844e58d1
Merge pull request #25 from cybernesto/master
...
Promoted _auxtype to a struct to gain access to additional fields
2013-08-08 09:40:50 -07:00
Mario Patiño
7d9bba213b
Comments added
2013-08-08 18:23:48 +02:00
Greg King
6589288a04
Exposed, to C code, the names of the Atmos ROM's sound effect functions.
2013-08-06 11:12:30 -04:00
Mario Patiño
9b157a5b1e
Defined a struct to contain the date and time data
...
To keep backward compatibility auxtype and the date/time are kept
separated.
A struct similar to the one used in dirent.h is used to access the
create_date and create_time fields.
2013-08-03 19:08:36 +02:00
Mario Patiño
be7c24177c
Promoted _auxtype to a struct to gain access to additional fields
...
While creating files there was no possibility to explicitly set the
time or date.
This is necessary for example while copying files since the original
time and date should be kept.
2013-08-03 15:42:16 +02:00
Greg King
3b544613d2
Moved the lightpen names from <mouse.h> to a new <pen.h>.
...
Renamed the adjuster pointer.
2013-07-25 13:32:40 -04:00
Greg King
a555b5f6a5
Merge branch 'master' into lightpen
2013-07-01 09:25:02 -04:00
Oliver Schmidt
3af758ced5
Have __PLUS4__ imply __C16__.
2013-06-27 23:09:54 +02:00
Greg King
e63bf1cde1
Used a library-reference method to calibrate lightpen drivers.
...
The mouse reference is a pointer. If it's NULL, the driver uses a default. If it's non-NULL, then it points to a function that the driver can call. That function will adjust the driver's calibration value. It could ask the user to adjust the pen; or, it could read a file that holds a value from a previous calibration.
Application writers can choose how it's done: a function that's provided by the library, a custom function, or nothing.
2013-06-23 03:18:28 -04:00