[cc65] Addressing resident code question

From: Karri Kaksonen <karri1sipo.fi>
Date: 2004-09-06 11:03:28
Hi,

I am a bit new to the cc65 and currently I play around with the Atari
Lynx.

One thing that looks nice is the ability to specify several named segments
for the code.

What I would like to do is to create a small set of resident functions in
a segment and be able to access these routines from my code in another
segment that gets switched in and out during the play.

Like:

resident_code segment:
  - vertical_blanking_interrupt
  - play_tune
  - read_file_from_cart

swapped_code segment:
level_one (starts just behind resident_code):
  - game

level_two (overwrites level one)
  - game

How do I tell the compiler what the starting address of level_one will be?
Do I have to do it manually in the lynx.cfg file or is there a way to find
out this from the compilation of the resident_code part.

How do I find the entry addresses of my resident routines (play_tune,
read_file_from_cart) when I link my game at level_one or level_two?
Or do I have to write a jump table at the start of the module to all
routines I want to access in another code segment?

By the way. I like this new cc65 version a lot already. The old Lynx
compiler (newcc65) has a lot more embedded runtime overhead. The assembly
language files (*.s) are much easier to understand in this compiler.

--
Cheers,

Karri

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Mon Sep 6 10:56:05 2004

This archive was generated by hypermail 2.1.8 : 2004-09-06 10:56:14 CEST