RE: [cc65] Atari Extended Memory Driver Anybody?

From: Shawn Jefferson <>
Date: 2012-09-05 03:00:33
> From: [] On Behalf
> Of Oliver Schmidt
> > Overlaydemo needs to be altered slightly though, since the
> > Atari 8-bit only allows 8 character filenames (call the overlays
> overdemo.1,
> > overdemo.2, overdemo.3 for example).
> I can't follow you here. Are we talking about the current cc65
> snapshot? There in overlaydemo.c the files are named "ovrldemo.1" etc
> explicitly because of the Atari - and I had that program already
> running successfully as-is...

Yea, sorry, my mistake.  I must have an old version in my cc65 tree.  I
notice this is as you say in the source package. I also found the
overlay-atari.cfg... didn't see that in \cc65\cfg.  I see you took a
different approach and put the overlay in low memory instead.
> The idea of multidemo.c is to fall back to "ordinary" file based
> overlays if there's no emd driver found that initializes successfully.
> From that perspective it would be great if you could find the time to
> add that feature.
> I presume if the banks don't exist then writes to memory in that area
> just end up written to main memory. In that (usual) case the usual
> approach would be something like:
> LDA $4000
> LDY $<??>
> STY $D301
> STX $4000
> STY $D301
> CMP $4000
> STA $4000
> BNE <Error>
> <ExtMem present>

Yes, basically, but overly complicated because of the jumps through the
stack that are required.  Still, for completeness I should add a check to
make sure that expanded memory exists. Maybe something similar to what you
have, but located in the stack... probably will take less space than trying
to re-use the code I already have for the stack transfers.
> I added a cgetc() to the end of both overlaydemo.c and multidemo.c
> explicitly for the Atari - they seemed to work for me. Does that
> depend on other "things" like EXE type and/or DOS used?

It looks like I was working with old versions... yes, cgetc should be fine,
in any DOS. Only command-line DOSes like SpartaDOS and DOS II+ would show
you the screen output without some sort of pause in place.  The menu-driven
DOSes (AtariDOS, MyDOS) will clear all output immediately.

To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Wed Sep 5 03:00:55 2012

This archive was generated by hypermail 2.1.8 : 2012-09-05 03:00:59 CEST