Jump to content
IGNORED

Accessing the drive?


Recommended Posts

?

Then in that case your new program doesn't need to worry about memory under the OS as presumably it not going to be 'just that' it is more targeted at the banked memory at $4000-$7FFF and you wouldn't mix the two.

So CC65 users already have the 'hidden' memory catered for by using the xl target, so again, don't worry about this.

Link to comment
Share on other sites

Wrathchild, I thank you for your input.  The library is to make available unused sections of "low" memory as well as aux memory.  That's why I was using the MEMSAVM section.  Again, I got the program to run a little better.  I disabled a Low memory stub.  Now, the problem seems to be in the call to the loadauxmem() function.  BTW, I still want the extra memory.  I'm currently building a program called AdvSkel.  It is a program for cc65 that provides the basic code to build a text adventure.  So far, it is being built for CBM models, but I want it to be available for other cc6 targets as well.

Link to comment
Share on other sites

Good grief, what is the minimum mem for running your app? If > 47K then I'd forget about hidden memory as you'll be using banked memory.

Your question asks about data and not code, so presumably that is data not needed in regard to I/O, e.g. saving?

Go and read about PORTB and simply you disable the OS write/read memory in those areas ($C000->$CFFF, $D800->$FFFF) and then enable the OS again.

Your cfg has the three memory areas HIDDEN_RAM, HIDDEN_RAM2 & CHARGEN and so if you associate segments with them then you can use the associated defines in your code.

BUT, you can't load direct to them from the binary executable, you'll need to load it fist to lower area and then call some code to relocate it (making the load area free for other things).

 

Link to comment
Share on other sites

2 hours ago, Wrathchild said:

As said, to do that you need a transitioning buffer area below $C000 to which you'll load the data and then move it under the OS, so seems counter-productive?!

The typical use for the hidden area is either code or static data needed by the app.

 

Loading into "high memory"/"hidden memory" is already handled by the "atarixl" cc65 runtime lib.

 

In case you are using the "atarixl" target I don't recommend to fiddle with PORTB unless you really know what you are doing!

Link to comment
Share on other sites

I have the e-book Mapping the Atari, which identifies certain Low RAM positions as used for special features that might not be used by most cc65 programs.  That's where I got my information.  Again, are the config memory areas mentioned actually usable?

Edited by Harry Potter
Forgot the e- in e-book.
Link to comment
Share on other sites

1 hour ago, Harry Potter said:

it appears that there is an error while writing to aux memory.

What makes you think that?

Your test code is presumably reading the aux1.bin file and taking the first byte and writing that to aux-memory?

From what I see there is a store to $4000 and so maybe set a breakpoint in Altirra of 'ba w $4000'.

The bin file in the distro uploaded earlier had no content (zero length).

Edited by Wrathchild
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...