1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00
Commit Graph

275 Commits

Author SHA1 Message Date
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
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
85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
Oliver Schmidt
81e467cdc2 Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:15:30 +02:00
Oliver Schmidt
008b4c4e1d Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:10:48 +02:00
Oliver Schmidt
42494c6323 Removed obsolete files. 2013-05-01 14:01:42 +02:00
Oliver Schmidt
4da29d157a Marked files to be excluded from build. 2013-05-01 14:00:01 +02:00
ol.sc
2e5823d43d Save some bytes by sharing the code doing the actual vector setting. Note: Jumping from segemnt INIT to segment CODE is okay while the other way wouldn't be.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-14 16:48:05 +00:00
ol.sc
7c9171ee87 Moved IRQ hooking / unhooking from startup code to constructor / destructor to avoid linking in the hooking / unhooking code (and callirq) for the majority of cc65 prorams not linking in interruptors.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-02-12 22:39:38 +00:00
ol.sc
6860ac7dfd Introduced static standard drivers.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-11-01 19:53:47 +00:00
ol.sc
1bba8355da Fixed typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5889 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-31 23:39:58 +00:00
ol.sc
a3c940e315 Convert dynamically loadable drivers into statically linkable drivers and add them to the target libraries.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5887 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-29 20:26:26 +00:00
ol.sc
59e96ef740 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@5834 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-30 18:20:15 +00:00
ol.sc
b586d5ef69 Introduced mass-storage device enumaration - with implementation for C64 and C128.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5820 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-09 12:14:45 +00:00
uz
285aaf8933 Patch by Stefan Haubenthal: Remove __fastcall__ in comments and/or the
function description for functions that don't take any parameters.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-04 13:08:54 +00:00
uz
5b659547b8 Removed the jump to RESTOR on exit for all the CBM platforms.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5355 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-01 19:58:31 +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
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
ol.sc
14cfadbc75 Computed pixel aspect ratio (PAR) by presuming a display aspect ratio (DAR) of 4/3 for a classic CRT and using the given driver resolutions as storage aspect ratio (SAR).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5001 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-30 12:46:03 +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
uz
7252f071a2 Changed the startup module and the linker config for the C128 to use the
common loadaddr and exehdr modules.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4872 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-17 13:00:34 +00:00
uz
fa1b5047dd Fixed order of options in call to ld65, which became important after the
latest changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4843 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-09 21:33:14 +00:00
ol.sc
d1f5b74f01 Now that we reduce the size of the RAM memory area by the stacksize in the linker configuration we need to add the stacksize to end of the RAM area when setting the initial stack pointer in the startup code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-02 10:37:20 +00:00
uz
09adce2fec Added patches to make systime work correctly with the different video systems
(Stefan Haubenthal).


git-svn-id: svn://svn.cc65.org/cc65/trunk@4624 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-19 20:46:56 +00:00
uz
21c38fa7db Removed a forgotten ScrollSave variable (Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4623 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-17 17:09:24 +00:00
uz
44852e317e Shortened the code
git-svn-id: svn://svn.cc65.org/cc65/trunk@4620 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-08 18:40:55 +00:00
uz
9656dde9e3 Fix scrolling (again). The old code switched off scrolling completely, as a
consequence it didn't work when write(FILENO_STDOUT, ...) was used. So we will
have to disable scrolling on a per character basis in cputc.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4617 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-07 13:37:58 +00:00
uz
2bd1f2f69f Fixed a problem with a disabled cursor: Switching off the cursor using the
kernal routine does not work, when the cursor is not at the same position
where it was switched on, because when switching it on, the kernal remembers
the character attribute and restores this when switching it off. So characters
may get the wrong attribute. The solution is to always switch the cursor on,
before switching it off.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4592 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-18 20:31:50 +00:00
uz
4bf888aa62 Fixed a video problem: When switching the display, the SCROLL flag gets
cleared, which in turn causes the display to scroll when a character is output
in the lower right corner.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4590 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-15 18:32:15 +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
7d03059240 Fixes for the ptvjoy drivers by Marco van den Heuvel.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4581 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-04 21:02:00 +00:00
uz
44bb5c62e6 Moved the extended RAM driver to c128-ram2.emd and restored the old one.
Machines with RAM in pages 2+3 are quite rare, so it's better to have the
additional code+features in a separate driver.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4575 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-04 18:28:56 +00:00
uz
1524b0c13f Added code to the driver to use also banks 2 and 3 if present. Contributed by
Marco van den Heuvel.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4569 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-01 17:56:37 +00:00
uz
6c2fb80084 Added size checking code contributed by Marco van den Heuvel.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4568 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-01 07:20:06 +00:00
ol.sc
e9f69ad123 Factored out generic LINE implementation based on SETPIXEL from the three drivers previously containing the identical code.
Note: Originally I planned to create a module to be linked to the driver. However this turned out to cause quite some issues with the Makefiles - especially on the Apple2 where one driver uses to generic LINE implementation and the other doesn't. The final Makefile was so ugly that I rather opted for including the code in question on source level. In order to avoid to unwanted cross dependencies the whole .inc file content is wrapped in its own scope.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4553 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-24 11:21:44 +00:00
ol.sc
16129b2724 Quite some minor changes to have the two C128 TGI driver source files only differ where they are semantically different.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4552 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-23 08:55:37 +00:00
uz
7e2a24176f Replaced $30 by literal '0' for better readability.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4513 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 22:12:24 +00:00
uz
13698871cb Removed the call to CLRCH in the startup code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4512 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-10 21:22:17 +00:00
uz
60bc009991 * Moved the BASIC stub that calls the compiled program into it's own segment
named EXEHDR.
* Renamed BASICHDR to EXEHDR for the PET-II machines.
* Moved the call to CHRCH in front of the code that saves the zero page, since
  open files are sometimes remembered in the zero page, so we need to close
  them before we grab a copy.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4507 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-09 12:42:24 +00:00
uz
bfbf94404b Squeezed bytes and cycles out of the kbhit functions for almost all platforms.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4480 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-24 18:31:16 +00:00
uz
c7a33334ba Don't hardcode the address of the SYS call for the startup code of the
Commodore machines.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4474 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-23 12:01:24 +00:00
uz
5304a8149e Changes to the TGI driver API:
* Removed CIRCLE
  * Aspect ratio is a new header variable
  * Removed the reserved bytes - it's easier to bump the API version
  * Clipping is done completely in the wrapper



git-svn-id: svn://svn.cc65.org/cc65/trunk@4396 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-29 20:13:56 +00:00
uz
ed15f337d9 Use a simple expression now that ldwarning is available as an assert action.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4324 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-04 13:04:53 +00:00
uz
7ecdaf3d6e Use the new ldwarning assert action.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4322 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-04 12:42:32 +00:00
uz
634e84f12a Changed the existing Commodore mouse drivers for the new API. UNTESTED!
git-svn-id: svn://svn.cc65.org/cc65/trunk@4232 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-26 11:35:32 +00:00
uz
83be732983 The CIA TOD needs a write to the 1/10 sec register to start. Shortened the
code by using initialized data.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4224 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 19:40:36 +00:00
uz
5c5d01d84a Moved most platform assembler includes into asminc, so they will be available
in the distribution. 
Added --forget-inc-paths to the command line of the assembler in the
Makefiles, because the assembler does now have builtin paths and will find
include files from an installation first.
Hopefully fixed any problems that arose from the two changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4223 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 17:44:22 +00:00
uz
80fc3a0b48 Replaced the condition for the assertion in toggle_videomode by something that
is still always false, but will be evaluated by the linker instead of the
assembler. The assembler will otherwise emit a warning when just translating
the module.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4190 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 17:39:23 +00:00
uz
7de61e351c Define a standard driver and mode for tgi graphics and use it in the sample
program. The standard driver and mode is the first one in the tgi_mode_table.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:59:37 +00:00
uz
7c2823e780 Added the mouse_stddrv variable for the C64 and C128.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4149 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:51:21 +00:00
uz
931b6418bf Changed the prototype of videomode() to take and return an unsigned instead of
an unsigned char. Two more video mode constants as discussed on the list.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4133 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 16:25:12 +00:00
uz
74bfd6ee31 New function videomode() for the C128. Marked toggle_videomode as deprecated.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4126 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-07 13:21:04 +00:00
uz
8216bf1d6a Force an import of the special symbol __STARTUP__ in the C compiler when
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
uz
931add050e Added a systime implementation by Stefan Haubenthal with a few changes. The
routine reads the TOD clock of CIA1 on the C64 and C128. Since systime was a
dummy routine common for all CBMs before, this change adds an individual dummy
routine for all other CBM systems. CBM510/610 do also have a TOD clock, so a
similar function as in the C64 could be used ...


git-svn-id: svn://svn.cc65.org/cc65/trunk@3974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-27 18:44:37 +00:00
uz
7e9b6e7311 Fixed problems with the startup code (Greg King): Interrupts must be hooked
before calling initlib because initlib calls contructors and may install
drivers, which enable hardware interrupts. Similar for donelib.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3897 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-31 18:22:51 +00:00
uz
2b098710d9 Added Koala Pad mouse drivers written by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3877 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 20:54:35 +00:00
uz
4812feb44b git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81 2008-08-02 22:02:54 +00:00
cuz
f257b2ee81 Moved the data that keeps a copy of the used zero page locations in its own
segment to reduce the executable size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-03 19:39:14 +00:00
cuz
263b7863a3 Oliver Schmidt fixed errors in the LINE and SETPIXELCLIP routines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3812 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-02-25 07:47:04 +00:00
cuz
4b8d90d2de Changed the mouse API: Introduced a new flag byte that contains information
about the driver, the mouse kernel needs to know. Current supported: Two flags
to enable interrupts before or after calling the driver INSTALL routine.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3741 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-21 11:25:31 +00:00
cuz
cbdcab4fdb Change the sematics of callirq and the existing interruptors: The interrupts
must now return carry set if the interrupt has been handled, and carry clear
if not. The callirq routine will stop calling handlers with the first handler
that claims to have handled the interrupt. callirq will return the carry flag
to the caller as it came from the last interruptor called.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3491 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-25 20:10:10 +00:00
cuz
d0bee35728 Move constructor code into the INIT segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:28:46 +00:00
cuz
a939b2b7e9 Added the IRQ entry
git-svn-id: svn://svn.cc65.org/cc65/trunk@3287 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-07 11:33:08 +00:00
cuz
16c81eb942 Add the irq entry point
git-svn-id: svn://svn.cc65.org/cc65/trunk@3279 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-06 13:12:57 +00:00
cuz
303304fe90 Add definitions for tools so the makefile is useful by itself.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:28:26 +00:00
cuz
7b13d79bde Use get_tv.inc
git-svn-id: svn://svn.cc65.org/cc65/trunk@3259 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:05:19 +00:00
cuz
cfef8e1e0d Renamed __IRQFUNC_xxx -> __INTERRUPTOR_xxx
git-svn-id: svn://svn.cc65.org/cc65/trunk@3189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:24:59 +00:00
cuz
5fc98bd69a Comment fixes by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3061 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-31 19:35:30 +00:00
cuz
6211fe8205 New command line parsing routine
git-svn-id: svn://svn.cc65.org/cc65/trunk@2990 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 09:48:06 +00:00
cuz
6aae136a00 Set FNAM_BANK *after* calling constructors
git-svn-id: svn://svn.cc65.org/cc65/trunk@2989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 09:47:57 +00:00
cuz
657f495500 Use new := operator, added a few addresses
git-svn-id: svn://svn.cc65.org/cc65/trunk@2988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 09:47:33 +00:00
cuz
2b57b0e4f4 Small speed improvement
git-svn-id: svn://svn.cc65.org/cc65/trunk@2979 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-19 11:38:51 +00:00
cuz
0d7cf8ebce Use new callirq function
git-svn-id: svn://svn.cc65.org/cc65/trunk@2970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 14:28:57 +00:00
cuz
5e50355f2a Ignore mouse drivers
git-svn-id: svn://svn.cc65.org/cc65/trunk@2969 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 14:28:26 +00:00
cuz
71cdffebdd Applied a graphics driver bugfix sent by Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@2967 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-04 12:30:50 +00:00
cuz
e4de88958e Loadable mouse driver for the C128
git-svn-id: svn://svn.cc65.org/cc65/trunk@2966 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-29 17:27:48 +00:00
cuz
7a5d4f3138 Fixed issues with the last change: The return code must be pulled from stack
before the stack pointer is reset.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2906 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-08 20:38:58 +00:00
cuz
220e5a3898 Place the return code into ST
git-svn-id: svn://svn.cc65.org/cc65/trunk@2884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 17:08:07 +00:00
cuz
910f9277ac Place the return code into ST
git-svn-id: svn://svn.cc65.org/cc65/trunk@2883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 16:59:52 +00:00
cuz
be5adac693 Use the assembler version as BASIC line number, so the version of the
assembler (and probably compiler) can be determined from a compiled
executable. Nice idea from Stefan Haubenthal.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-02-02 13:34:12 +00:00
cuz
dbbc0032e8 Started to remove obsolete RS232 code
git-svn-id: svn://svn.cc65.org/cc65/trunk@2840 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-26 21:44:52 +00:00
cuz
b15e4106dc Use new joystick decls
git-svn-id: svn://svn.cc65.org/cc65/trunk@2777 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 22:38:12 +00:00
cuz
5010b8be45 Use changed EM decls
git-svn-id: svn://svn.cc65.org/cc65/trunk@2773 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-16 21:08:13 +00:00
cuz
ba079ae6a1 Added an IRQ vector
git-svn-id: svn://svn.cc65.org/cc65/trunk@2753 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-14 17:39:22 +00:00
cuz
042c63f278 Squeezed one precious byte out of the code
git-svn-id: svn://svn.cc65.org/cc65/trunk@2749 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-13 20:55:37 +00:00
cuz
3b69c2fd21 Small size optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@2746 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-13 15:16:11 +00:00
cuz
aa030c8e6c Ignore serial binary drivers
git-svn-id: svn://svn.cc65.org/cc65/trunk@2739 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-13 11:03:10 +00:00
cuz
fb09db833e Added C128 swiftlink driver
git-svn-id: svn://svn.cc65.org/cc65/trunk@2738 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-13 11:02:48 +00:00
cuz
ad2c6a0e18 Removed the HORLINE entry point
git-svn-id: svn://svn.cc65.org/cc65/trunk@2648 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-12 16:07:08 +00:00
cuz
ca72fb45b4 DONE, GETPALETTE and GETDEFPALETTE will no longer return errors.
Use TGI_API_VERSION.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2568 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-23 09:29:12 +00:00
cuz
ed6a2f5c86 New joystick driver, converted from c64 one
git-svn-id: svn://svn.cc65.org/cc65/trunk@2458 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-09-28 21:41:15 +00:00
cuz
86a2019c50 Fixed sprite expand registers
git-svn-id: svn://svn.cc65.org/cc65/trunk@2451 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-09-25 18:50:14 +00:00
cuz
a3109620ab Changed rm -f to $(RM)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2385 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-20 11:59:27 +00:00
cuz
4e76d0155d New uname function
git-svn-id: svn://svn.cc65.org/cc65/trunk@2286 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-12 17:24:02 +00:00
izydorst
7cc6ab0c16 fixed line drawing routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@2282 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-12 15:39:39 +00:00
cuz
37178d5141 Make screensize() fetch the values dynamically instead of using variables
that are set on startup. This is needed to support the C128, which can switch
the screen size at runtime.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-04-09 19:34:57 +00:00
cuz
e7136de262 Fix toggle_videomode, move kernal entries to kernal.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@2034 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-18 11:27:49 +00:00
cuz
39a436c466 Switch to lower case chars in toggle_videomode
git-svn-id: svn://svn.cc65.org/cc65/trunk@2031 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-17 21:09:27 +00:00
cuz
467d8ad9c5 Added routines to handle command line params
git-svn-id: svn://svn.cc65.org/cc65/trunk@2012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-10 21:21:46 +00:00
cuz
8c7400c26e Added fast(), slow() and c64mode()
git-svn-id: svn://svn.cc65.org/cc65/trunk@1982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-13 21:29:12 +00:00
cuz
85f51dc89a New function toggle_videomode
git-svn-id: svn://svn.cc65.org/cc65/trunk@1980 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-13 21:12:11 +00:00
cuz
11e16317b3 Renamed DEINSTALL -> UNINSTALL, fixed a comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@1969 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-11 12:43:00 +00:00
cuz
749298f340 Renamed the DEINSTALL vector to UNINSTALL.
Checked/fixed compatibility when linked statically.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1959 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-10 22:57:05 +00:00
cuz
ee155a8553 Renamed the DEINSTALL vector to UNINSTALL.
Added a comment regarding usage of the driver when it is linked statically
to the application.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1952 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-10 22:19:53 +00:00
cuz
a8810a464d Make sure the zap target is available
git-svn-id: svn://svn.cc65.org/cc65/trunk@1932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-06 15:35:30 +00:00
izydorst
b22030dbc7 DONE must set an error code
git-svn-id: svn://svn.cc65.org/cc65/trunk@1876 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-01-03 12:56:38 +00:00
izydorst
a6888c5e46 TGI drivers updated for current API (INIT call has changed)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1873 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-01-02 22:18:30 +00:00
cuz
92d9a7cb40 readjoy() is no longer available
git-svn-id: svn://svn.cc65.org/cc65/trunk@1849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-26 15:59:49 +00:00
izydorst
17a99e2709 fixed addressing problems seen on the Real Machine (tm)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1831 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-23 14:52:51 +00:00
izydorst
578443610d new TGI driver for interlaced VDC 640x480 mode
git-svn-id: svn://svn.cc65.org/cc65/trunk@1830 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-23 14:15:46 +00:00
izydorst
e2e2b02c3d fixes in comments
git-svn-id: svn://svn.cc65.org/cc65/trunk@1829 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-23 00:46:52 +00:00
izydorst
58cd139c6e emd drivers for RamCart 64/128KB
git-svn-id: svn://svn.cc65.org/cc65/trunk@1828 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-23 00:13:53 +00:00
izydorst
8397a1d8aa tgi driver for C128 VDC, changed order of things in libsrc/tgi/tgi-kernel.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@1826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-22 22:50:17 +00:00
cuz
ea4d2f4e6f Fixed several problems with the new output routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@1823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-21 14:11:32 +00:00
cuz
69ac0ce1fc Added joy_stddrv modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@1821 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-21 09:32:14 +00:00
cuz
6b0073145d Joystick code conversion for C128
git-svn-id: svn://svn.cc65.org/cc65/trunk@1810 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 23:30:14 +00:00
izydorst
6b1d62a281 some bytes saved
git-svn-id: svn://svn.cc65.org/cc65/trunk@1805 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 23:04:00 +00:00
izydorst
46773e5e9b em drivers for VDC (both C128 native and C128 in C64 mode)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 17:01:02 +00:00
cuz
0824475804 Return 0 if color not found
git-svn-id: svn://svn.cc65.org/cc65/trunk@1792 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 13:40:44 +00:00
cuz
67890598ac Disable scrolling
git-svn-id: svn://svn.cc65.org/cc65/trunk@1791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-19 23:16:51 +00:00
cuz
181748bf03 Move the initialization code from conio.s as constructor/destructor code
into the cgetc and cputc modules.
Fix color routines using additional snippets from MagerValp.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1789 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-19 22:53:13 +00:00
cuz
8775a9da8a Add 80 column mode
git-svn-id: svn://svn.cc65.org/cc65/trunk@1788 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-19 21:22:22 +00:00
cuz
36fe6284a8 For the CBM platforms, make revers() machine dependent and use the RVS flag
of the different machines instead of a separate one.
For the C128, make the textcolor() function work in 40 and 80 column mode.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-19 20:29:27 +00:00
cuz
fb8984c73b Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1725 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-06 21:54:49 +00:00
cuz
f7244c4e19 Added em_use
git-svn-id: svn://svn.cc65.org/cc65/trunk@1719 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-05 18:57:53 +00:00
cuz
87531388f9 Added C128 extended memory driver for memory in bank #1
git-svn-id: svn://svn.cc65.org/cc65/trunk@1715 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-04 22:29:45 +00:00
cuz
df956f4628 Added get_tv for several platforms
git-svn-id: svn://svn.cc65.org/cc65/trunk@1709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-03 22:19:21 +00:00
cuz
dcc294da5f Fixed a comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@1700 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-02 21:27:06 +00:00
cuz
45cae51628 C64 -> C128 conversion
git-svn-id: svn://svn.cc65.org/cc65/trunk@1698 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-02 14:12:34 +00:00
cuz
57e7ce7eb2 Renamed CC65_MMU_CFG to MMU_CFG_CC65
git-svn-id: svn://svn.cc65.org/cc65/trunk@1697 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-02 14:12:25 +00:00
cuz
dc3b6ecbfe Ignore drivers
git-svn-id: svn://svn.cc65.org/cc65/trunk@1696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-02 06:17:00 +00:00
cuz
508af1ca21 Added emd drivers
git-svn-id: svn://svn.cc65.org/cc65/trunk@1693 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-02 06:14:46 +00:00
cuz
5d720cb6e3 Changed a comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@1594 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 23:41:39 +00:00
cuz
6cb572104a Use the new LOWCODE segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@1589 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 22:34:46 +00:00
cuz
4b8a20fee6 Rename segment named NMI to LOWCODE
git-svn-id: svn://svn.cc65.org/cc65/trunk@1571 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 00:52:49 +00:00
cuz
6d498d8187 Use external symbols for the CBM kernal jump table functions. This allows
to emulate these functions on platforms where one or more of these functions
are not available (PET, CBM-II).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1544 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-19 23:02:47 +00:00
cuz
22047d8086 Removed duplicate line
git-svn-id: svn://svn.cc65.org/cc65/trunk@1537 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-18 17:37:49 +00:00
cuz
911d5c0703 Store directly into zeropage
git-svn-id: svn://svn.cc65.org/cc65/trunk@1536 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-18 17:37:13 +00:00
cuz
fd2b108cd0 Set the file name bank to bank zero on startup to make our file routines
work.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1535 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-18 11:16:18 +00:00
cuz
751aaee63d Finally: Commodore file I/O
git-svn-id: svn://svn.cc65.org/cc65/trunk@1531 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-16 23:45:15 +00:00
cuz
163c421db0 Renamed randomize to _randomize
git-svn-id: svn://svn.cc65.org/cc65/trunk@1489 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-05 20:17:38 +00:00
cuz
3fae969b5b New randomize() function for nearly all platforms
git-svn-id: svn://svn.cc65.org/cc65/trunk@1487 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-05 10:48:20 +00:00
cuz
91e26f573c Added the TGI mode table
git-svn-id: svn://svn.cc65.org/cc65/trunk@1435 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 18:19:25 +00:00
cuz
33c1e82bda Move zp space out of crt0.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@1291 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-26 09:09:10 +00:00
cuz
d0599a24fe Move include files into /asminc, changed include file paths
git-svn-id: svn://svn.cc65.org/cc65/trunk@1249 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-21 14:19:16 +00:00