RE: [cc65] Atari Extended Memory Driver Anybody?

From: Shawn Jefferson <sjefferson1shaw.ca>
Date: 2012-09-05 03:00:33
> From: owner-cc65@musoftware.de [mailto:owner-cc65@musoftware.de] 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
> TAX
> INX
> STX $4000
> LDY $FF
> 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 majordomo@musoftware.de 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