1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-08 15:29:37 +00:00
Commit Graph

474 Commits

Author SHA1 Message Date
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
Christian Groessler
a14d4c803d remove TABs 2013-06-10 13:26:56 +02:00
Christian Groessler
56e330a4d7 Use symbolic names for all CIO commands. 2013-06-10 12:45:51 +02:00
Christian Groessler
b03913370c Use symbolic names for all CIO commands. 2013-06-08 00:35:07 +02:00
Christian Groessler
2823bc1e66 Merge remote-tracking branch 'upstream/master' 2013-06-04 10:54:34 +02:00
Greg King
66ca781bb1 Added library reference address to lightpen driver header. 2013-06-03 06:09:22 -04:00
Oliver Schmidt
b0dd6c614f Added library reference tgi_libref to TGI interface. 2013-06-01 12:42:00 +02:00
Oliver Schmidt
ae409e4978 Added library reference ser_libref to SER interface. 2013-06-01 11:03:14 +02:00
Oliver Schmidt
744abda24f Added library reference mouse_libref to MOU interface. 2013-06-01 00:53:17 +02:00
Oliver Schmidt
23650cb946 Added library reference joy_libref to JOY interface. 2013-06-01 00:36:08 +02:00
Oliver Schmidt
619b215260 Added library reference em_libref to EMD interface.
Occasionally dynamically drivers suffer from not being to refer to
content in the C library. Therefore I added a mechanism to allow
a C library for a certian target to define a symbol that will be
handed over to dynamic drivers for that target. Then the drivers
can use their refernce to that symbol to access content in the C
library.
2013-06-01 00:11:31 +02:00
Christian Groessler
c1468f11b2 rename CIOV and SIOV to CIOV_org and SIOV_org for atarixl target 2013-05-31 01:37:40 +02:00
Greg King
051c21726b Added Inkwell lightpen drivers for the C64 and the C128.
They use the mouse driver programming interface.

Added a test program for lightpen drivers.  Now, it knows about only those two drivers; it will need updating when others are added.
2013-05-29 20:02:29 -04:00
Oliver Schmidt
98c47d1877 Introduced target 'atarixl'.
The target 'atarixl' is to be used for Atari XL (and better) machines.
It will disable the OS ROM and enable the Shadow RAM available on
those machine.

Note: This commit is only the inital step towards for this goal that just
replicates the target 'atari' as a starting point!
2013-05-28 21:56:37 +02:00
Oliver Schmidt
85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
Greg King
7d1d929391 Added two useful opcode mnemonic aliases.
bnz - jump if not zero.
bze - jump if zero.
2013-05-08 00:03:44 -04:00
Greg King
662aef4efa Made CBM scrcode assembly-macro properly handle all 256 codes.
And, made it smaller.
2013-04-25 14:28:01 -04:00
Oliver Schmidt
54299fae5a Replaced builtin macro packages with .mac files that are included like ordinary .inc files.
The benefits are:
- Independency of ca65 build from perl
- More transparent behaviour
2013-04-08 00:11:05 +02:00
uz
bf91be8790 Small fixes by Christian Krüger.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5960 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-07 20:25:45 +00:00
karri
b939a22f68 Define timer 7 for sound
git-svn-id: svn://svn.cc65.org/cc65/trunk@5945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-12-11 05:56:59 +00:00
uz
673b982b22 Change imports from "import" to "global", so the file can be used from
zeropage.s


git-svn-id: svn://svn.cc65.org/cc65/trunk@5908 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 13:54:06 +00:00
uz
c07f1ccde6 Add some more definitions for the zero page variables used by the compiler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5907 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-04 13:52:41 +00:00
ol.sc
50a884d530 Removed reference to old rs232 framework.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5896 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 20:43:28 +00:00
ol.sc
72f456536f Turned the 'ST' status byte into a symbol resolved by the linker in order to allow to use it from code living in the 'cbm' directory.
Moved getdevice.s from 'c64'/'c128' to 'cbm' making use of the new 'ST' setup.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5837 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-02 16:41:40 +00:00
ol.sc
58c8db7c75 Have _em_load_driver exported here now that it is an asm function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5799 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-31 21:37:07 +00:00
uz
dcff1d0774 An already loaded driver is an error in ser_load_driver, because the library
cannot know if it was dynamically loaded or statically linked.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 19:54:04 +00:00
uz
e7ed3b374f Rewrote em_load_driver in assembler fixing a possible memory leak.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:36:09 +00:00
uz
975a06c2ee Rewrote tgi_load_driver in assembler and fixed a possible memory leak when
doing so. Changed the behaviour in case a driver is already loaded: Since the
library cannot know if this driver was linked statically or loaded
dynamically, an already installed driver is considered an error. It must be
removed before calling tgi_load_driver.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5790 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:07:46 +00:00
uz
b7325f7abe According to Greg King, Vorpal files are regular files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5755 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-01 18:10:57 +00:00
uz
7aefd9b4e7 Added classification macros for file types from struct dirent.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5736 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 14:23:33 +00:00
uz
5bc67cdaee Move definitions for CBM file types into its own header file, since these
definitions are needed for file type macros in dirent.h. Unify names for the
include files.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5735 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 13:52:06 +00:00
uz
ebca2991a3 Moved most of the file type detection from cbm_dir.c into a new function
called _cbm_filetype().
Added an assembler include file with the file type definitions from cbm.h.
Added a first implementation of readdir() for the CBMs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5669 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-02 22:56:14 +00:00
uz
a0d3f0c180 Renamed smc.mac to smc.inc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5537 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-21 20:05:36 +00:00
uz
0d4b9c59f3 Added a macro package for writing self modyfying code. By Christian Krüger.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5536 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-21 20:02:20 +00:00
cpg
ae39e1c0af recognize XDOS -- patch from Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@5524 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-11 08:35:54 +00:00
uz
edca940a86 Declaration of tgi_settextdir() added.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5101 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-31 22:17:21 +00:00
uz
9c55586569 Renamed tgi_textheight -> tgi_gettextheight, tgi_textwidth -> tgi_gettextwidth
tgi_textstyle -> tgi_settextstyle and tgi_textscale -> tgi_settextscale.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5090 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 18:36:12 +00:00
uz
928f675e4b Small change in the vector font format.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5088 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 17:15:54 +00:00
uz
4026a28c60 Added a new flags byte to the TGI headers. Bumped the API version.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 11:23:27 +00:00
uz
f40c977623 Added (again) IRQ support for the Oric Atmos by Stefan Haubenthal. This time
with the correct patch for atmos.inc.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5039 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:22:02 +00:00
uz
bc9e55cbab _tgi_getaspectratio was declared global twice, while tgi_setaspectratio was
missing (Greg King).


git-svn-id: svn://svn.cc65.org/cc65/trunk@5018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 19:18:38 +00:00
ol.sc
4aa00e84e1 Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 10:38:48 +00:00
uz
a507605a89 New TGI routines tgi_getaspectratio/tgi_setaspectratio.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:40:38 +00:00
ol.sc
a27eee5718 Minimal source reformatting.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4998 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-28 13:05:12 +00:00
ol.sc
f9b25bad48 Added TGI mode tables for Atmos and Lynx
git-svn-id: svn://svn.cc65.org/cc65/trunk@4997 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 19:05:43 +00:00
ol.sc
5e37ed1a16 Target-specific black & white values for use by the target-shared TGI kernel
git-svn-id: svn://svn.cc65.org/cc65/trunk@4993 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 17:11:23 +00:00
cpg
bfb8dd8f95 add Antic opcodes (submitted by Christian Krueger)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4968 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-02-06 20:57:14 +00:00
uz
ce886f4c5e Removed the header files for the rs232 API since it has been replaced by
loadable serial drivers and serial.h a long time ago.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4744 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-07-11 16:43:31 +00:00
uz
131a5cad09 Renamed oserrcheck to __mappederrno. Added an additional function named
__directerrno and moved both to errno.s. Changed several sources to use these
functions. Needs testing.
                         


git-svn-id: svn://svn.cc65.org/cc65/trunk@4718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-10 18:10:53 +00:00
uz
a08b75c02b Remove __maperrno symbol, since the function is no longer used and has been
deleted.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4710 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-04 10:30:55 +00:00
uz
d877aac5f4 Added EBADF since this is required for fileno().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-03 21:12:23 +00:00
uz
28736e9a17 The C16 is not really a separate machine, but identical to the Plus/4, so
the include file must just include the file for the Plus/4.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4610 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-06 15:17:08 +00:00
uz
38a1690968 Replaced '=' by ':=' where applicable and moved the atmos specific assembler
include into the asminc directory.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4609 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 10:22:26 +00:00
uz
a284d8ffeb Moved the pet.inc file into the asminc subdirectory. Added definitions for the
6522 VIA and fixed the assignments for addresses to use ':=' instead of '='.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4603 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 09:55:12 +00:00
uz
4cf5b40849 Removed pet.inc, since the real file is still in the pet directory and this
one was added erronously.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4602 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 09:53:04 +00:00
uz
2469af49d7 Added definitions for the 6522 VIA.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4601 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-28 09:47:32 +00:00
uz
b256d6fb46 Made Olivers devnum patch (r4588) work with the PET-II models. On these
machines, the program runs in a separate 64K bank, and zeropage variables need
to be copied from the system bank into the execution bank to read by a simple
load operation. The change is currently untested!


git-svn-id: svn://svn.cc65.org/cc65/trunk@4597 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-20 19:46:51 +00:00
ol.sc
d1aad57b98 Initialize _curunit from the zeropage value DEVNUM (aka First Address) in a constructor with a very high priority to be called before DEVNUM gets overwritten by other constructors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-14 23:12:54 +00:00
uz
972c3fd7ca Add MMU config registers 2+3 (Marco van den Heuvel).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4572 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-02 08:19:19 +00:00
ol.sc
e1b8fb85dd Added missing declaration ?!?
git-svn-id: svn://svn.cc65.org/cc65/trunk@4524 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-13 00:13:14 +00:00
uz
7ec8a5b6dc Added some definitions for version 1.3 of the o65 format.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4516 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 22:44:27 +00:00
uz
097b094fdd Replaced TGI_ERR_NO_MEM by TGI_ERR_NO_RES
git-svn-id: svn://svn.cc65.org/cc65/trunk@4467 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-13 15:53:01 +00:00