Jump to content
IGNORED

Atari 800 cartridge for cc65?


Recommended Posts

I am working on projects called MemXAtari and AtaDisk65.  MemXAtari provides access to the 1200XL's extra memory more directly than cc65's em drivers, and AtaDisk65 provides more direct access to the CIOV and disk access.  Both are in their alpha stages and have yet no significant functionality.  I have a project for Vic20 and C64 programmers to help create cartridge images using cc65, and I want to do the same for the Atari 800.  Is this support already available?  If so, where can I get it?  If not, where can I go for information on creating an Atari 800 cartridge image?

Link to comment
Share on other sites

Save yourself some time as cc65 caters for this already which kinda indicates that, despite being ask to, you don't read the docs.

https://cc65.github.io/doc/atari.html

Support for which would have been derived from knowing what the cartridge vectors and flags do which can be learnt from other docs you've been directed to, e.g. De Re Atari, Mapping the Atari etc.

  • Like 2
Link to comment
Share on other sites

Joseph,

 

please read the link in @Wrathchild's post from top to bottom. In chapter 4.1 there is one linker config file called "atari-cart.cfg", which is exactly what you want (create a cartridge image).

 

In general, considering your other posts, it appears to me that you are pursuing solutions for problems which don't exist (at least for the rest of us). And you seem to be immune against good advice.

 

I guess the best way forward would be to find a small, simple problem where you could implement a solution.

 

regards,
chris

Link to comment
Share on other sites

I will try to explain my driver, but, considering TmpCreat, I probably will not be able to do a good job.  MemXAtari provides functions to access any byte or word in memory.  It also provides versions of the standard string and memory functions to access the extra memory.  For example, aux_memcpyto() would copy a memory block from main memory to the extra memory, while aux_memcpyfrom() will copy in the opposite direction and aux_memcpyin() will copy from one location in the extra memory to another.  Does this help?

 

BTW, What's the proper term for the Atari8's extra memory?

Link to comment
Share on other sites

3 minutes ago, Harry Potter said:

I will try to explain my driver, but, considering TmpCreat, I probably will not be able to do a good job.  MemXAtari provides functions to access any byte or word in memory.  It also provides versions of the standard string and memory functions to access the extra memory.  For example, aux_memcpyto() would copy a memory block from main memory to the extra memory, while aux_memcpyfrom() will copy in the opposite direction and aux_memcpyin() will copy from one location in the extra memory to another.  Does this help?

 

Not really. How is it better than the existing cc65 driver?

 

3 minutes ago, Harry Potter said:

BTW, What's the proper term for the Atari8's extra memory?

 

Honestly, I don't know. Can somebody chime in?

Edited by sanny
Link to comment
Share on other sites

15 minutes ago, Harry Potter said:

sanny: It is better in that it provides near direct access to the memory, almost as if it were regular memory.  The em drivers simply copy the memory to a buffer and copy it back.

Hmm. What is "near direct"? "Completely direct" would be "*pointer=value". "Near direct" could be something like "em_copy(void *dest, void *src, int len)". You didn't answer my question.

Link to comment
Share on other sites

From what I can tell, I think it's best to just help him along as we can, and not worry about whether he's doing something particularly productive or effective. That's just my 2 cents on the matter. What he's doing sounds duplicative to the em driver to me, but who cares.

 

Harry -

"Extra" memory-

1. Under the OS. Only on certain machines. This is just part of the 64k RAM address space.

2. Banked (or extended) RAM. This is any one of a variety of memory expansions, including the 130XE. 16K blocks mapped into $4000 by fiddling with PORTB. Axlon might be different, not sure, but same idea.

3. Unused memory. Regular RAM locations that are unused under certain circumstances. Printer buffer, cassette buffer, various FP bits and pieces, some ZP locations, etc., even under the stack if you are adventurous. Well documented over the years, but subject to a lot of variability depending on machine config.

 

 

  • Like 2
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...