Olli Savia
7292b571de
Added missing VIA register names.
2018-04-20 21:24:37 +03:00
Oliver Schmidt
305c6e7ae4
Merge pull request #626 from blackystardust/master
...
Added c64dtv accelerator code and documentation.
2018-04-20 20:01:16 +02:00
Oliver Schmidt
53df4da8e8
Merge pull request #625 from ops/VIAFIX
...
VIC-20: Add missing VIA register names
2018-04-18 17:09:35 +02:00
Oliver Schmidt
d314a27e76
Merge pull request #627 from jedeoric/master
...
[Telestrat target] fix fwrite bug, cputc, chline, remove & mkdir added
2018-04-16 22:46:56 +02:00
jede
e34ef0fc17
add cputc & remove
2018-04-14 21:52:11 +02:00
Marco van den Heuvel
6076316f38
Added c64dtv accelerator code and documentation.
2018-04-14 10:40:13 -07:00
Olli Savia
7b1db91d36
Changed register addresses relative to the base address
2018-04-14 18:45:15 +03:00
Olli Savia
59cb7da334
VIA1 and VIA2 no longer marked deprecated
2018-04-14 08:39:30 +03:00
Marco van den Heuvel
859422f357
Fixed non-address constants.
2018-04-12 09:35:02 -07:00
Olli Savia
165b98bba5
Added missing VIA registers. Register names from the COMPUTE!'s book 'Mapping the VIC'
2018-04-11 22:38:23 +03: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
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
Oliver Schmidt
dacee3b9ed
Removed IRQ support from TGI drivers.
...
All but one TGI drivers didn't use IRQs. Especially when the TGI driver kernel was the only .interruptor this meant quite some unnecessary overhead because it pulled in the whole IRQ infrastructure.
The one driver using IRQs (the graphics driver for the 160x102x16 mode on the Lynx) now uses a library reference to set up a JMP to its IRQ handler.
2018-02-02 18:15:45 +01:00
Oliver Schmidt
1976d6cd32
Removed IRQ support from joystick drivers.
...
All but one joystick drivers didn't use IRQs. Espsecially when the joystick driver kernel was the only .interruptor this meant quite some unnecessary overhead because it pulled in the whole IRQ infrastructure.
I was told that the one driver using IRQs (the DXS/HIT-4 Player joystick driver for the C64) can be reworked to not do it. Until this is done that driver is defunct.
2018-02-01 22:38:36 +01:00
Oliver Schmidt
fb193933cb
Merge pull request #552 from polluks/master
...
Added Oric-1 compatibility #550
2017-12-16 18:26:34 +00:00
Stefan
6faef87b49
Fixed Oric-1 compatibility #550
2017-12-15 23:51:39 +01:00
mrdudz
8902730756
cbm stuff from greggs pull request
2017-12-11 19:52:11 +01:00
Oliver Schmidt
947b09ad96
Removed OPC_EOR_abx duplicate.
2017-12-07 20:39:28 +01:00
Greg King
1912287231
Added missing names for the CIA registers in the C64/C128.
2017-11-25 13:29:50 -05:00
Oliver Schmidt
6034b68f06
Bumped API version.
...
Removal of the joy_masks array with 7f52a770d9
was exactly the very type of change asking for a new API version.
2017-11-21 22:42:43 +01:00
jede
807b55862d
Now mkdir is working
2017-10-28 00:37:47 +02:00
jede
aaf8863de5
Merge branch 'master' of https://github.com/jedeoric/cc65
2017-10-23 23:04:22 +02:00
jede
ebfd218f62
Comment correction
2017-10-23 23:02:54 +02:00
jede
ed4458c162
Comment correction
2017-10-23 23:00:43 +02:00
jedeoric
af1c7f0c8b
Merge branch 'master' into master
2017-10-22 23:11:18 +02:00
jede
93f202850a
toascii.s added, doc updated, tgi_line & tgi_outtext are available
2017-10-22 23:06:56 +02: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
2b7d4fff5a
comment correction
2017-10-20 21:29:16 +02:00
jede
351a5ab20a
Now setPixel works in TGI.
2017-10-20 21:03:30 +02:00
jede
7107019d6f
Adding IRQVec
2017-10-16 17:33:10 +02:00
jede
2ee7cf0377
I/O identifiers added
2017-10-16 16:11:37 +02:00
jede
256ba6bddf
Adding XSOUT : Send A register to RS232
2017-10-16 16:06:18 +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
95a88a787d
remove FILENAME_MAX
2017-09-25 21:47:05 +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
jede
60e41e3110
Adding XVARS primitive
2017-09-24 19:22:43 +02:00
jede
1c7c44e12c
adding some vars
2017-09-24 11:46:52 +02:00
Greg King
3c0b8c4e86
Made the CBM Pet kbrepeat() work on both 40-column and 80-column machines.
...
Put the kbrepeat() description in an alphabetical position in the function document.
2017-09-05 09:19:01 -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
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
Christian Groessler
f9c59a0976
atari5200.inc: fix formatting
2017-08-02 23:59:32 +02:00
mrdudz
e985e0beb4
fixed zp locations provided by polluks :)
2017-06-22 00:04:42 +02:00
mrdudz
a42feca228
fixed some stuff, compiles again :)
2017-06-17 02:37:34 +02:00
Christian Groessler
a3d8829be9
Creativison changes.
...
This change includes some cleanups, removal of mainargs.s (game console
programs never have arguments), and a workaround for a problem I'm seeing.
The problem is that sometimes (in fact, more often than not) the clrscr()
call in testcode/lib/joy-test.c writes some garbage chars on the screen (most
often a "P"). Could be my hardware (I haven't seen it on MAME), but to
me the root cause is still unknown.
2017-03-17 21:42:51 +01:00
Christian Groessler
8a81f9c0c8
Fix line endings (CRLF -> LF) on all affected files.
2017-03-10 11:21:14 +01:00
Christian Groessler
97e3472c87
creativision.inc: add symbolic names for joystick direction values
2017-03-08 13:16:40 +01:00
jede
1497330cc0
adding clrscr.s
2017-02-25 22:10:13 +01:00
jede
f6002a149c
adding gotoxy.s
2017-02-25 21:32:06 +01:00
Christian Groessler
aeee5610e1
atari_antic.inc: use "or" instead of "plus" in the usage example
2017-02-24 19:06:32 +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
Christian Groessler
38451fa8a4
intermediate check-in -- creativision joystick driver
2017-02-08 14:34:35 +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
6f58b9a22d
Correcting comments alignment
...
Correcting an address error in telestrat.inc when cleaning files which broke read.s primitive
2017-01-31 22:20:19 +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
d1b5a6632d
Adding telemon30 and telemon24 primitives
2017-01-29 21:18:49 +01:00
Florent Flament
3d52856dd2
Add Atari2600 ASM header (.inc) files
2017-01-15 12:09:38 +01:00
Christian Groessler
6198e10f67
Atari: fix lookup of default device on XDOS.
...
Stefan Dorndorf, author of XDOS, pointed out that retrieving the
default device by looking at an undocumented memory location won't
work in future XDOS versions.
He also showed a way to get the default device in a compatible
manner.
This change implements his method and adds a version check (XDOS
versions below 2.4 don't support this -- for them the behaviour
will be the same as, for example, AtariDOS: no notion of a default
drive).
2016-09-12 23:40:25 +02:00
Oliver Schmidt
896b7c1116
Added comment about commented-out value.
2016-09-04 12:22:11 +02:00
greg-king5
a982e434f2
Added commented placeholder for future Mitsubishi 740 CPU in "cpu.mac".
2016-09-02 17:55:39 -04:00
Greg King
579b89ad98
Skipped the bit flag for the (not implemented) Mitsubishi 740 in "cpu.mac".
2016-08-31 20:41:17 -04:00
Sven Oliver Moll
48f64de720
4510 support: yet another round up little updates
2016-08-31 20:18:54 +02:00
Irgendwer
aea312746b
Update smc.inc
2016-08-14 19:35:35 +02:00
IrgendwerA8
7f4b14ee49
SMC macro fixes for changed .paramcount and byte overflow behavior
2016-08-14 19:33:09 +02: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
9523fa2d33
Atari: get current drive on XDOS
2016-05-31 07:37:58 +02:00
Christian Groessler
2abbd94492
Fix style issue.
2016-05-24 15:47:34 +02:00
Christian Groessler
6d7dfad80b
add support for XDOS command lines
2016-05-24 03:06:00 +02:00
Christian Groessler
03cb0bd2fd
atari.inc: add XDOS defines and remove trailing whitespace
2016-05-24 03:06:00 +02:00
Oliver Schmidt
62c2177599
Merge pull request #283 from polluks/sp65
...
Fixed CPU definition of Lynx.
2016-04-14 11:28:25 +02:00
Polluks
b14021e9ac
Fixed CPU definition of Lynx. Removed nonsense target vc20.
2016-04-12 23:58:30 +02:00
Oliver Schmidt
e2419ece0b
Added scrcode macro for the Apple II.
...
Although the Apple II generally works with plain ASCII (i.e. in the ProDOS 8 MLI) the actual screen codes differ. This fixes #260 .
2016-03-27 18:26:46 +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
Marco van den Heuvel
433eeb1bc7
Renamed MMU_CFG_INT_FROM -> MMU_CFG_IFROM and MMU_CFG_EXT_FROM -> MMU_CFG_EFROM
2015-12-02 00:30:30 -08:00
Marco van den Heuvel
2e2f19ba79
Finished adding c128 internal/external function ram emd's.
2015-11-30 20:14:45 -08:00
Marco van den Heuvel
7df35cac94
Started on making c128 function ram emd's.
2015-11-30 09:53:30 -08:00
mrdudz
b39a8b7a61
more cleanup
2015-11-29 20:04:10 +01:00
mrdudz
9fbf8a4299
conio and most other stuff working now
2015-11-29 01:14:59 +01:00
mrdudz
88e7b5776a
some more fiddling
2015-11-22 19:02:47 +01:00
mrdudz
60285097e3
initial import of the gamate stuff
2015-11-14 13:15:29 +01: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
mrdudz
859604407b
fixed more flaws found by greg :)
2015-09-19 15:37:39 +02: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
57b8af1adc
style fixes
2015-08-29 15:58:57 +02:00
mrdudz
1e2d9f1796
fixed hline/vline
2015-07-19 13:36:27 +02:00
mrdudz
21ef6b8510
fixed screensize, timertick, revers mode
2015-07-16 16:00:32 +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
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
Oliver Schmidt
2c975d3642
Create static drivers directly from source files.
...
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach:
The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory.
However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails.
Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
2014-06-04 23:50:18 +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
df782e9500
rename _antic.inc, _pokey.inc, _gtia.inc to atari_antic.inc, atari_pokey.inc, atari_gtia.inc
2014-05-30 22:00:18 +02:00
Christian Groessler
fa7cdf0214
remove atari5200.mac
2014-05-30 13:38:29 +02:00
Christian Groessler
2bf580fb89
remove unneeded ATASCII defs; add header
2014-05-29 00:42:30 +02:00
Christian Groessler
8f2c9f0d8e
use atari target scrcode macro for atari5200 target, too
2014-05-29 00:18:55 +02:00
Christian Groessler
b8e5a66f29
changed version, startup screen now not fine anymore
2014-05-16 02:12:01 +02:00
Christian Groessler
0f2f19ef5b
some CONIO fixes
2014-05-16 02:10:19 +02:00
Greg King
667f8229c0
Migrated the phantom-key exorcism code to the other C128 mouse drivers.
2014-05-05 05:30:31 -04:00
Christian Groessler
92b32d7d0e
atari5200 update: simple conio "hello world" works now
2014-04-25 03:02:44 +02:00
Christian Groessler
ec417c0dc5
Merge remote-tracking branch 'upstream/master' into a5200
2014-04-25 02:07:44 +02:00
Greg King
42595fbf13
Added command-line argument parsing to the CBM510 and CBM610 targets.
2014-04-03 08:23:28 -04:00
Christian Groessler
30b418c734
add gotox, gotoy, and gotoxy
2014-03-13 02:38:35 +01:00
Christian Groessler
c8f7f2f161
first changes for atari5200 target
2014-03-01 17:20:09 +01:00
Oliver Schmidt
a7b84bb618
Removed references to SunPlus.
2014-02-08 22:48:49 +01:00
Christian Groessler
1f64a13559
small comment change
2014-01-29 23:40:48 +01:00
Christian Groessler
f5e7e92a35
Merge remote-tracking branch 'upstream/master' into something_to_pull
2014-01-17 22:33:29 +01:00
Oliver Schmidt
94eb2a2ed7
Some fine tuning of the mouse driver interface harmonization.
2014-01-17 21:09:15 +01:00
Christian Groessler
6ab07261bc
Merge remote-tracking branch 'upstream/master' into something_to_pull
2014-01-16 23:34:56 +01:00
Oliver Schmidt
4065cb1983
Harmonized interface between mouse drivers and callbacks.
...
The Apple2 doesn't have sprites so the Apple2 mouse callbacks place a special character on the text screen to indicate the mouse position. In order to support the necessary character removing and redrawing the Apple2 mouse driver called the Apple2 mouse callbacks in an "unusual way". So far so (sort of) good.
However the upcoming Atari mouse driver aims to support both "sprite-type" mouse callbacks as well as "text-char-type" mouse callbacks. Therefore the interface between mouse drivers and callbacks needs to be extended to allow the mouse callbacks to hide their different types from the mouse driver.
The nature of this change can be seen best by looking at the Apple2 file modifications. The CBM drivers and callbacks (at least the current ones) don't benefit from this change.
2014-01-15 22:47:59 +01:00
Christian Groessler
86fe20fb14
fix some typos
2014-01-14 14:03:06 +01:00
Christian Groessler
f4b86394b0
fix typo
2014-01-04 20:33:24 +01:00
Greg King
d56f5d65ab
Added a simplistic read() that gives a stdin console on the Atmos.
2013-12-24 05:18:04 -05: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
7fb0cf4bb2
Some formatting and style fixes.
2013-10-01 11:36:37 +02:00
Christian Groessler
ac9f0d6a05
Merge remote-tracking branch 'upstream/master'
2013-09-10 13:36:28 +02: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
Christian Groessler
1e8e998991
Merge remote-tracking branch 'upstream/master'
2013-09-04 13:28:10 +02:00
Oliver Schmidt
3969d920fa
Bumped driver api versions due to recent intoduction of library references.
2013-09-01 09:46:07 +02:00
Christian Groessler
20c9fe44b4
Merge remote-tracking branch 'upstream/master'
2013-08-27 10:22:41 +02:00
Oliver Schmidt
bc992e0398
Merge pull request #31 from greg-king5/cbm-chain
...
Commodore exec() function
2013-08-26 23:50:34 -07:00
Greg King
67571d4f5f
Changed some CPU memory-mapped register definitions from expression mode into label mode.
2013-08-26 22:02:00 -04:00
Christian Groessler
13a7812cf5
add some more SIO information
2013-08-26 12:18:11 +02:00
Christian Groessler
4062cb6b6c
atarixl target: add support for interruptors, adapt TGI drivers
2013-08-25 11:20:27 +02:00
Greg King
d0fb1fe0ae
Added the model-specific addresses that the CBM exec() needs.
2013-08-25 00:43:23 -04:00
Christian Groessler
b1f69e0696
add some more SIO information
2013-08-22 13:08:48 +02:00
Christian Groessler
7242ce8744
Merge remote-tracking branch 'upstream/master'
2013-08-06 19:48:07 +02:00
Greg King
bf160cae69
Added symbol names for useful Atmos addresses.
2013-08-06 10:13:48 -04:00
Christian Groessler
7a45a7b2eb
Merge remote-tracking branch 'upstream/master'
2013-07-29 10:09:24 +02:00
Oliver Schmidt
1f36066946
Merge pull request #24 from greg-king5/oric
...
Atmos Symbol Names
2013-07-26 03:01:10 -07:00
Greg King
f02843f05d
Replaced number literals in source code with meaningful symbol names.
2013-07-26 03:33:54 -04:00
Christian Groessler
b78bbb5be7
Merge remote-tracking branch 'upstream/master'
2013-07-25 23:34:50 +02:00
Oliver Schmidt
752141b026
Merge pull request #12 from greg-king5/lightpen
...
Added Inkwell lightpen drivers for the C64 and the C128.
2013-07-25 13:29:46 -07:00
Greg King
3574f3a742
Normalized some hexadecimal addresses.
2013-07-16 01:48:57 -04:00
Greg King
641a609cf3
Moved common symbol names out of sources, and into a global include file.
2013-07-16 00:30:56 -04:00
Christian Groessler
e0aaac0088
fix '_sysrmdir' for SpartaDOS
2013-07-16 01:31:15 +02:00
Christian Groessler
a3ad7d07a1
fix '_sysrmdir' for SpartaDOS
2013-07-16 01:29:49 +02:00
Greg King
a555b5f6a5
Merge branch 'master' into lightpen
2013-07-01 09:25:02 -04:00
Christian Groessler
c79b23e95b
Merge remote-tracking branch 'upstream/master'
2013-06-17 23:54:49 +02:00
Oliver Schmidt
83280e1ee2
Have __APPLE2ENH__ imply __APPLE2__ and __ATARIXL__ imply __ATARI__.
2013-06-17 21:34:08 +02:00
Christian Groessler
0bf24103a6
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
asminc/atari.inc
2013-06-10 13:44:52 +02:00