]> git.sur5r.net Git - cc65/log
cc65
6 years agoSmall typo 597/head
Stefan [Sun, 25 Feb 2018 22:38:58 +0000 (22:38 +0000)]
Small typo

6 years agoMerge pull request #594 from greg-king5/pce-32k-rom
Oliver Schmidt [Sat, 24 Feb 2018 11:00:57 +0000 (11:00 +0000)]
Merge pull request #594 from greg-king5/pce-32k-rom

Change the PC-Engine's config., so that we can make 8K, 16K, and 32K carts.

6 years agoMerge pull request #595 from greg-king5/geo-dio
Oliver Schmidt [Sat, 24 Feb 2018 10:54:26 +0000 (10:54 +0000)]
Merge pull request #595 from greg-king5/geo-dio

Fix sector-number conversions in the CBM GEOS DIO code.

6 years agoMade dio_read(), dio_write(), and dio_write_verify() catch sector number conversion... 595/head
Greg King [Thu, 27 Aug 2015 09:10:01 +0000 (05:10 -0400)]
Made dio_read(), dio_write(), and dio_write_verify() catch sector number conversion errors.

6 years agoFixed bugs in the geos-cbm DIO sector-number converter functions.
Greg King [Thu, 27 Aug 2015 08:02:26 +0000 (04:02 -0400)]
Fixed bugs in the geos-cbm DIO sector-number converter functions.

* The 16-bit comparison code actually didn't compare the high byte.
* This implementation supports only the 1541, 1571, and 1581; but, it didn't exclude the other drive types that GEOS supports.
* Two error code numbers were swapped.
* A 1571 converter didn't catch sector numbers that are too high.
* A 1581 converter didn't catch sector numbers that are too high.

6 years agoFixed bugs in geos-cbm's dio_open().
Greg King [Mon, 24 Aug 2015 06:53:47 +0000 (02:53 -0400)]
Fixed bugs in geos-cbm's dio_open().

* Trying to open an unused drive would leave a byte on the hardware stack.

* Too high device numbers weren't caught.

6 years agoChanged the PC-Engine's configuration file, so that the command line can build 8K... 594/head
Greg King [Fri, 23 Feb 2018 21:06:49 +0000 (16:06 -0500)]
Changed the PC-Engine's configuration file, so that the command line can build 8K, 16K, and 32K carts.

Adjusted the PCE's document, the start-up code, and the PCE library test makefile.  That makefile shows how to post-process the linker's output file.

6 years agoUpdate dio.sgml
Oliver Schmidt [Thu, 22 Feb 2018 12:30:50 +0000 (13:30 +0100)]
Update dio.sgml

6 years agoMerge pull request #593 from blackystardust/master
Bob Andrews [Fri, 16 Feb 2018 16:35:18 +0000 (17:35 +0100)]
Merge pull request #593 from blackystardust/master

Added GEOS 1.3 and 1.5 detection.

6 years agoAdded GEOS 1.3 and 1.5 detection. 593/head
Marco van den Heuvel [Thu, 15 Feb 2018 23:24:58 +0000 (15:24 -0800)]
Added GEOS 1.3 and 1.5 detection.

6 years agoMerge pull request #592 from blackystardust/master
Bob Andrews [Wed, 14 Feb 2018 18:36:43 +0000 (19:36 +0100)]
Merge pull request #592 from blackystardust/master

Improved GeOS version detection.

6 years agoFixed GeOS -> GEOS and added newline to geossym2.inc. 592/head
Marco van den Heuvel [Wed, 14 Feb 2018 18:22:10 +0000 (10:22 -0800)]
Fixed GeOS -> GEOS and added newline to geossym2.inc.

6 years agoImproved GeOS version detection.
Marco van den Heuvel [Wed, 14 Feb 2018 03:19:40 +0000 (19:19 -0800)]
Improved GeOS version detection.

6 years agoAdded a definition for the CBM610's first CIA chip.
Greg King [Sat, 10 Feb 2018 21:14:53 +0000 (16:14 -0500)]
Added a definition for the CBM610's first CIA chip.

6 years agoAdded size_t.
Oliver Schmidt [Sat, 10 Feb 2018 10:45:50 +0000 (11:45 +0100)]
Added size_t.

6 years agoReduced default stack size to a reasonable value.
Oliver Schmidt [Sat, 10 Feb 2018 10:29:50 +0000 (11:29 +0100)]
Reduced default stack size to a reasonable value.

The unexpanded Creativision has only $206 bytes of RAM available to cc65 programs. So it's a bad idea(tm) to reserve $180 bytes for the software stack. $40 bytes seems a much better default (aka guess).

6 years agoMerge pull request #588 from polluks/master
Oliver Schmidt [Sat, 10 Feb 2018 00:35:14 +0000 (00:35 +0000)]
Merge pull request #588 from polluks/master

Cleanup notes

6 years agoMore notes 588/head
Stefan [Fri, 9 Feb 2018 23:08:28 +0000 (00:08 +0100)]
More notes

6 years agoRemoved empty notes
Stefan [Wed, 7 Feb 2018 17:08:40 +0000 (18:08 +0100)]
Removed empty notes

6 years agoAdded note
Stefan [Wed, 7 Feb 2018 16:23:23 +0000 (17:23 +0100)]
Added note

6 years agoMerge pull request #587 from polluks/master
Oliver Schmidt [Wed, 7 Feb 2018 15:45:36 +0000 (15:45 +0000)]
Merge pull request #587 from polluks/master

 Added missing documentation of header

6 years agoRequested changes 587/head
Stefan [Wed, 7 Feb 2018 15:23:49 +0000 (16:23 +0100)]
Requested changes

6 years agoSorted
Stefan [Wed, 7 Feb 2018 02:07:30 +0000 (03:07 +0100)]
Sorted

6 years agoAdded missing function
Stefan [Wed, 7 Feb 2018 00:55:56 +0000 (01:55 +0100)]
Added missing function

6 years agoAdded missing documentation of header
Stefan [Tue, 6 Feb 2018 23:11:55 +0000 (00:11 +0100)]
Added missing documentation of header

6 years agoNormalized the definitions of structs in <supervision.h>.
Greg King [Tue, 6 Feb 2018 13:52:36 +0000 (08:52 -0500)]
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".

6 years agoAtari: CONSOL port of GTIA is readable and writable.
Christian Groessler [Fri, 2 Feb 2018 17:28:52 +0000 (18:28 +0100)]
Atari: CONSOL port of GTIA is readable and writable.

Adjust include/_gtia.h accordingly.

6 years agoRemoved IRQ support from TGI drivers.
Oliver Schmidt [Fri, 2 Feb 2018 17:15:45 +0000 (18:15 +0100)]
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.

6 years agoMarked Apple II EXEHDR segment as optional.
Oliver Schmidt [Fri, 2 Feb 2018 13:46:57 +0000 (14:46 +0100)]
Marked Apple II EXEHDR segment as optional.

The docs say "Use -D __EXEHDR__=0 to omit the header." so it should work without generating a linker warning.

6 years agoFactored out target specific inclusion of target header.
Oliver Schmidt [Fri, 2 Feb 2018 11:59:05 +0000 (12:59 +0100)]
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.

6 years agoRemoved ACE header.
Oliver Schmidt [Fri, 2 Feb 2018 11:35:40 +0000 (12:35 +0100)]
Removed ACE header.

There's no code in the tool chain to set __ACE__ nor is there an ace.lib C library.

6 years agoHarmonized the style of including headers from headers.
Oliver Schmidt [Fri, 2 Feb 2018 11:28:22 +0000 (12:28 +0100)]
Harmonized the style of including headers from headers.

We surely don't care about some file I/O on host machines in 2018 ;-)

6 years agoRemoved IRQ support from joystick drivers.
Oliver Schmidt [Fri, 2 Feb 2018 11:02:52 +0000 (12:02 +0100)]
Removed IRQ support from joystick drivers.

6 years agoRemoved IRQ support from joystick drivers.
Oliver Schmidt [Thu, 1 Feb 2018 21:38:36 +0000 (22:38 +0100)]
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.

6 years agoAdded missing dummy libref.
Oliver Schmidt [Thu, 1 Feb 2018 21:06:59 +0000 (22:06 +0100)]
Added missing dummy libref.

6 years agoAdded Makefile for recently added linker config test program.
Oliver Schmidt [Thu, 1 Feb 2018 20:50:54 +0000 (21:50 +0100)]
Added Makefile for recently added linker config test program.

6 years agoUpdated AppleCommander URL.
Oliver Schmidt [Thu, 1 Feb 2018 20:46:56 +0000 (21:46 +0100)]
Updated AppleCommander URL.

6 years agoMention the recently added linker configs.
Oliver Schmidt [Wed, 31 Jan 2018 23:18:07 +0000 (00:18 +0100)]
Mention the recently added linker configs.

6 years agoUpdated AppleCommander URL.
Oliver Schmidt [Wed, 31 Jan 2018 22:52:08 +0000 (23:52 +0100)]
Updated AppleCommander URL.

6 years agoMerge pull request #5 from cc65/master
Stefan [Wed, 31 Jan 2018 19:40:49 +0000 (20:40 +0100)]
Merge pull request #5 from cc65/master

Update

6 years agoAdjust alternative ProDOS 8 I/O buffer allocation module to linker configs.
Oliver Schmidt [Wed, 31 Jan 2018 14:06:37 +0000 (15:06 +0100)]
Adjust alternative ProDOS 8 I/O buffer allocation module to linker configs.

The Apple II linker configs don't define symbols for the STARTP segment anymore. There refer to the load/start address in the same way the executable file header does.

6 years agoProvide symbole for RAM memory area.
Oliver Schmidt [Wed, 31 Jan 2018 13:53:31 +0000 (14:53 +0100)]
Provide symbole for RAM memory area.

The RAM memory area symbols are referred by the startup code. The 64k and 128k variant say "for assembler" so it may be not necessary to do that there. However given the "limited" state of documentation for the target I don't assign too much value to those statements.

Additionally it's unclear to me why two variants provide symbols for the ROM memory.

6 years agoSignificantly simplified recently added linker config files.
Oliver Schmidt [Wed, 31 Jan 2018 07:54:48 +0000 (08:54 +0100)]
Significantly simplified recently added linker config files.

I just forgot about the 'start' segment attribute - which makes the scenario at hand dead easy.

6 years agoAdded Apple II linker configs for programs including a hires screen.
Oliver Schmidt [Mon, 29 Jan 2018 16:46:36 +0000 (17:46 +0100)]
Added Apple II linker configs for programs including a hires screen.

The Apple II hires screen buffer is located at $2000 (and can't be moved). The usual way to get along with this is to load the cc65 program above the hires screen buffer at $4000. However, that means that it becomes difficult to make good use of the memory below the hires screen buffer. The simplest approach is to add that memory to the heap. But there are programs containing just lots of code and not much data. One could think of moving the code to the area below the hires screen after loading (like it is done with the code for the language card). But if the program is really large (and already contains code to be moved to the language card) it won't just fit into memory in the first place.

The alternative is to load the program at the usual $803 and have it "cover" the hires screen buffer. Of course the part of the program that actually "covers" the hires screen buffer mustn't contain anything necessary for the program. The downside of this approach is that the program file on disk contains 8kB that can't be used by the program. But instead of just containing zeros the program can as well contain a hires screen picture that can be displayed right after startup.

Now the user can have code loaded below the hires screen buffer by setting the code-name to LOWCODE. However, he needs to explicitly do so. Otherwise the memory below the hires screen is totally wasted.

Trivia: Allowing to do this hires screen buffer "covering" was the very reason to change tgi_init() to not clear the hires screen anymore.

6 years agoMerge pull request #577 from polluks/master
Oliver Schmidt [Thu, 25 Jan 2018 12:35:21 +0000 (12:35 +0000)]
Merge pull request #577 from polluks/master

Moved initcgetc to initcputc

6 years agoMoved initcgetc to initcputc 577/head
Stefan [Tue, 23 Jan 2018 12:02:47 +0000 (13:02 +0100)]
Moved initcgetc to initcputc

6 years agoMerge pull request #575 from groessler/something_to_pull
Oliver Schmidt [Mon, 22 Jan 2018 15:03:58 +0000 (15:03 +0000)]
Merge pull request #575 from groessler/something_to_pull

atari5200: put default display list into its own memory area

6 years agoatari5200.cfg: fix formatting 575/head
Christian Groessler [Sun, 21 Jan 2018 14:42:12 +0000 (15:42 +0100)]
atari5200.cfg: fix formatting

6 years agoFix last change, put display list at beginning of ROM.
Christian Groessler [Sun, 21 Jan 2018 14:40:22 +0000 (15:40 +0100)]
Fix last change, put display list at beginning of ROM.

6 years agoatari5200: put default display list into its own memory area
Christian Groessler [Fri, 19 Jan 2018 14:18:43 +0000 (15:18 +0100)]
atari5200: put default display list into its own memory area

This avoids 1K boundary crossing of the display list. Fix for issue #560.

6 years agoAdded recently published ProDOS version.
Oliver Schmidt [Thu, 18 Jan 2018 11:37:21 +0000 (12:37 +0100)]
Added recently published ProDOS version.

6 years agoMerge pull request #574 from prandeamus/paravirt-fix
Oliver Schmidt [Mon, 15 Jan 2018 08:37:32 +0000 (08:37 +0000)]
Merge pull request #574 from prandeamus/paravirt-fix

Call ParaVirtHooks on JMP (indirect)

6 years ago65C02 JMP (ind,x) opcode 7C 574/head
prandeamus [Sun, 14 Jan 2018 19:42:29 +0000 (19:42 +0000)]
65C02 JMP (ind,x) opcode  7C

6 years ago65C02 version too.
prandeamus [Sat, 13 Jan 2018 22:42:39 +0000 (22:42 +0000)]
65C02 version too.

6 years agoCall ParaVirtHooks on JMP (indirect)
prandeamus [Sat, 13 Jan 2018 18:30:53 +0000 (18:30 +0000)]
Call ParaVirtHooks on JMP (indirect)

6 years agocrt0.s ("none" target): fix initialization of sp variable.
Christian Groessler [Thu, 11 Jan 2018 12:15:19 +0000 (13:15 +0100)]
crt0.s ("none" target): fix initialization of sp variable.

6 years agoMerge pull request #571 from greg-king5/win64
Oliver Schmidt [Wed, 10 Jan 2018 12:48:28 +0000 (12:48 +0000)]
Merge pull request #571 from greg-king5/win64

Change the type of a cc65 variable that holds both integers and pointers.

6 years agoMerge pull request #570 from prandeamus/compiler-optimizer-check
Oliver Schmidt [Wed, 10 Jan 2018 12:21:09 +0000 (12:21 +0000)]
Merge pull request #570 from prandeamus/compiler-optimizer-check

Complain if unsupported flags are provided after -O

6 years agoChanged the type of a compiler variable that holds either integers or pointers. 571/head
Greg King [Mon, 8 Jan 2018 17:47:00 +0000 (12:47 -0500)]
Changed the type of a compiler variable that holds either integers or pointers.

The change allows cc65 to be compiled on 64-bit Windows, without getting warnings.  That OS is actually 32 bits with 64-bit pointers.  Its pointers are "long long" instead of "long".  The change uses type-names that are configured for the actual pointer width.

6 years agoShrank Telestrat initcwd.s by 3 bytes.
Greg King [Tue, 9 Jan 2018 09:48:39 +0000 (04:48 -0500)]
Shrank Telestrat initcwd.s by 3 bytes.

Changing when a loop test is done allowed the removal of an extra STA instruction.

6 years agoComplain if unsupported flags are provided after -O 570/head
prandeamus [Sun, 7 Jan 2018 18:57:48 +0000 (18:57 +0000)]
Complain if unsupported flags are provided after -O

6 years agoMerge pull request #564 from bauen1/none-library
Oliver Schmidt [Fri, 5 Jan 2018 11:05:30 +0000 (11:05 +0000)]
Merge pull request #564 from bauen1/none-library

Add none.lib

6 years agoAdded ctype.s to none.lib as suggested by oliverschmidt 564/head
bauen1 [Fri, 5 Jan 2018 09:39:23 +0000 (10:39 +0100)]
Added ctype.s to none.lib as suggested by oliverschmidt

6 years agoFixed unused import and export of none.cfg and none/crt0.s
bauen1 [Thu, 4 Jan 2018 21:27:39 +0000 (22:27 +0100)]
Fixed unused import and export of none.cfg and none/crt0.s

6 years agoFixed none/crt0.s to respect none.cfg
bauen1 [Thu, 4 Jan 2018 21:14:01 +0000 (22:14 +0100)]
Fixed none/crt0.s to respect none.cfg

6 years agoFixed none.cfg
bauen1 [Thu, 4 Jan 2018 21:01:44 +0000 (22:01 +0100)]
Fixed none.cfg

6 years agonone.cfg consistency changes
bauen1 [Thu, 4 Jan 2018 20:29:58 +0000 (21:29 +0100)]
none.cfg consistency changes

6 years agocl65 now links against none.lib when using --target none
bauen1 [Thu, 4 Jan 2018 16:11:44 +0000 (17:11 +0100)]
cl65 now links against none.lib when using --target none

6 years agoRemoved initialization of the stack from none.lib
bauen1 [Thu, 4 Jan 2018 12:54:00 +0000 (13:54 +0100)]
Removed initialization of the stack from none.lib

6 years agoFixed none.lib missing symbols
bauen1 [Thu, 4 Jan 2018 11:22:42 +0000 (12:22 +0100)]
Fixed none.lib missing symbols

6 years agoAdded crt0 to none.lib
bauen1 [Thu, 4 Jan 2018 11:07:35 +0000 (12:07 +0100)]
Added crt0 to none.lib

6 years agoImplemented the requested changes.
bauen1 [Thu, 4 Jan 2018 10:17:20 +0000 (11:17 +0100)]
Implemented the requested changes.
Moved none to its alphabetic place in the Makefile
Reverted all changes to doc/customizing.sgml

6 years agoRevert "Renamed none.lib to no-platform.lib"
bauen1 [Tue, 2 Jan 2018 14:32:27 +0000 (15:32 +0100)]
Revert "Renamed none.lib to no-platform.lib"

This reverts commit 26350714ee3a78771061b77b6d20a472f1e40585.

It breaks the build

6 years agoRenamed none.lib to no-platform.lib
bauen1 [Tue, 2 Jan 2018 14:15:27 +0000 (15:15 +0100)]
Renamed none.lib to no-platform.lib

6 years agoFixed typo.
Oliver Schmidt [Tue, 2 Jan 2018 12:48:30 +0000 (13:48 +0100)]
Fixed typo.

6 years agoMerge pull request #561 from mrdudz/soft80peek
Oliver Schmidt [Mon, 1 Jan 2018 16:13:04 +0000 (16:13 +0000)]
Merge pull request #561 from mrdudz/soft80peek

C64 soft80 cpeek stuff

6 years agofix spelling 561/head
mrdudz [Mon, 1 Jan 2018 13:01:25 +0000 (14:01 +0100)]
fix spelling

6 years agoFixed a typo in doc/customizing.sqml
bauen1 [Mon, 1 Jan 2018 00:34:53 +0000 (01:34 +0100)]
Fixed a typo in doc/customizing.sqml

6 years agoAdded libray to none target
bauen1 [Sun, 31 Dec 2017 14:49:17 +0000 (15:49 +0100)]
Added libray to none target

6 years agoMerge pull request #562 from groessler/something_to_pull
Oliver Schmidt [Fri, 29 Dec 2017 12:39:06 +0000 (12:39 +0000)]
Merge pull request #562 from groessler/something_to_pull

Implementation of getfirstdevice/getnextdevice for Atari.

6 years agoconvert to petscii
mrdudz [Thu, 28 Dec 2017 16:52:27 +0000 (17:52 +0100)]
convert to petscii

6 years agoImplementation of getfirstdevice/getnextdevice for Atari. 562/head
Christian Groessler [Thu, 28 Dec 2017 03:54:18 +0000 (04:54 +0100)]
Implementation of getfirstdevice/getnextdevice for Atari.

6 years agosome cleanup
mrdudz [Thu, 28 Dec 2017 01:26:23 +0000 (02:26 +0100)]
some cleanup

6 years agoupdated testprog
mrdudz [Thu, 28 Dec 2017 00:58:58 +0000 (01:58 +0100)]
updated testprog

6 years agoadded peek functions for soft80
mrdudz [Thu, 28 Dec 2017 00:58:03 +0000 (01:58 +0100)]
added peek functions for soft80

6 years agoMerge pull request #557 from polluks/master
Oliver Schmidt [Tue, 19 Dec 2017 11:51:18 +0000 (11:51 +0000)]
Merge pull request #557 from polluks/master

Optimizing the stack size

6 years agoAdded missing "break;" statements to a "switch" statement.
greg-king5 [Mon, 18 Dec 2017 22:09:06 +0000 (17:09 -0500)]
Added missing "break;" statements to a "switch" statement.

6 years agoOptimizing the stack size 557/head
Stefan [Mon, 18 Dec 2017 18:19:59 +0000 (19:19 +0100)]
Optimizing the stack size

6 years agoMerge pull request #4 from cc65/master
Stefan [Mon, 18 Dec 2017 10:21:00 +0000 (11:21 +0100)]
Merge pull request #4 from cc65/master

Update

6 years agoMerge pull request #554 from polluks/patch-3
Oliver Schmidt [Mon, 18 Dec 2017 09:40:45 +0000 (09:40 +0000)]
Merge pull request #554 from polluks/patch-3

oops #550 again

6 years agooops 554/head
Stefan [Sun, 17 Dec 2017 17:45:57 +0000 (18:45 +0100)]
oops

I made a mistake.

6 years agoMerge pull request #553 from polluks/patch-1
Oliver Schmidt [Sat, 16 Dec 2017 18:29:27 +0000 (18:29 +0000)]
Merge pull request #553 from polluks/patch-1

Fixed memory config #551

6 years agoMerge pull request #552 from polluks/master
Oliver Schmidt [Sat, 16 Dec 2017 18:26:34 +0000 (18:26 +0000)]
Merge pull request #552 from polluks/master

Added Oric-1 compatibility #550

6 years agoUpdate c16.cfg 553/head
Stefan [Sat, 16 Dec 2017 01:36:31 +0000 (02:36 +0100)]
Update c16.cfg

6 years agoUpdate c16-32k.cfg 552/head
Stefan [Sat, 16 Dec 2017 01:35:00 +0000 (02:35 +0100)]
Update c16-32k.cfg

6 years agoAdded new config #551
Stefan [Sat, 16 Dec 2017 00:04:05 +0000 (01:04 +0100)]
Added new config #551

6 years agoFixed memory config #551
Stefan [Fri, 15 Dec 2017 23:41:00 +0000 (00:41 +0100)]
Fixed memory config #551

6 years agoFixed Oric-1 compatibility #550
Stefan [Fri, 15 Dec 2017 22:51:39 +0000 (23:51 +0100)]
Fixed Oric-1 compatibility #550

6 years agoMerge pull request #545 from mrdudz/cbmpeek
Oliver Schmidt [Fri, 15 Dec 2017 19:42:02 +0000 (19:42 +0000)]
Merge pull request #545 from mrdudz/cbmpeek

cbm stuff from greggs pull request

6 years agosome tweaks to testprog 545/head
mrdudz [Tue, 12 Dec 2017 16:05:52 +0000 (17:05 +0100)]
some tweaks to testprog