CC65 PCE How to use more than 8K?

hu, cd, scd, acd, supergrafx discussions.
Post Reply
Fabrizio Caruso
Posts: 2
Joined: Mon Sep 25, 2017 11:48 am

CC65 PCE How to use more than 8K?

Post by Fabrizio Caruso »

Hi!

I have developed in ANSI C a multi-system 8 bit game that runs on nearly all 8 bit computers and some consoles.
To do this, I have use multiple C cross-compilers (currently CC65's compiler and the two Z88DK's compilers).

You can follow my project and get binaries and source code at:
https://github.com/Fabrizio-Caruso/CROSS-CHASE/releases

I am trying to compile the game with CC65 to target the PCE platform but I do not know how to create a bigger than 8k PCE rom.

My game comes in two versions:
- minimal (about 12k required)
- full (about 20k required)

I will then need 16k at least.

Has anyone here done any experience with CC65 cross compiler?

Regards
Fabrizio
User avatar
MooZ
Site Admin
Posts: 407
Joined: Sun Jun 22, 2008 3:19 pm
Location: Lvl 3
Contact:

Re: CC65 PCE How to use more than 8K?

Post by MooZ »

For what I understood you need to specify a similar configuration file to the linker. Here's an example:
https://github.com/BlockoS/HuDK/blob/ma ... /dummy.cfg
Fabrizio Caruso
Posts: 2
Joined: Mon Sep 25, 2017 11:48 am

Re: CC65 PCE How to use more than 8K?

Post by Fabrizio Caruso »

Hi!

I am still struggling to use CC65 to build a functional rom bigger than 16k.
The link above points to a non-working or incomplete CFG.
I am missing some point on how the banks work. I am writing my game in C.
Do I have to write some Assembly code to activate more memory banks? And how?

I can build roms of any size, but they won't start if anything different from

...
MEMORY {
ZP: file = "", start = $0003, size = $00FD, type = rw, define = yes;
# reset-bank and hardware vectors
ROM0: file = %O, start = $E000, size = $1FF6, fill = yes, define = yes;
ROMV: file = %O, start = $FFF6, size = $000A, fill = yes;

# first RAM page (also contains stack and zeropage)
RAM: file = "", start = $2200, size = $1e00, define = yes;
}
...

Has anyone managed to configure the linker for something bigger than 8k?
Post Reply