Jump to content
IGNORED

Putting 22kb of char data into a 64kb machine?


Recommended Posts

On 4/1/2024 at 7:58 PM, Steril707 said:

Do I have to imagine this like some kind of "char sequencer" that counts down when to copy data from the char ram to the charsets?

That would work only linearly into one direction though, wouldn't it?

Linear, one way - yes. If you code it like that ;)

 

I've never done realtime "smart" virtual chars replacement, but I've seen people do it in demos etc.
For example you can keep an 256 byte long array with tags for "is char on screen currently" and in this way know if charcode is free or not. Would need to be updated when you scroll in each new char column or row.

Don't know now in 1minute of thinking about this how you could mark "char is no longer on screen" but I bet something can be figured out :)

 

Link to comment
Share on other sites

Rather than the tag being a yes/no, could be a count that is inc'd / dec'd but then the problem simply becomes "you can't have it appearing more than 255 times" 😄 (but seeing at there are only 128 characters you you put hi/lo counter bytes into a single page)

Edited by Wrathchild
  • Like 1
Link to comment
Share on other sites

If you're not using a DOS, you can use some of the beginning of memory that is normally used by the OS but not needed during your game as extra data.  I asked about that here before and got an answer.  I don't remember who replied, but I have a copy of the information on my computer.  Also the Mapping the Atari pdf has a lot of areas of memory you should be able to use.  I also recommend compression.  I will come back later with more, but I have to leave for my day program now.  :(

Link to comment
Share on other sites

I'm sorry for not replying yesterday evening.  :(  Again, I have some information on extra free memory you can use from another user here, and I'm asking for permission to publish here.  Also, the Atari memory map mentions the usable memory.  It mentions the DUP.SYS file, whose memory area you should be able to use if you're either resetting on program exit or not exiting your program.  You can also use things such as the cassette buffer, memory reserved by BASIC or input areas for the editor.  Finally, different DOSes have different setups and use different areas of memory.  If you're writing for a specific DOS, you may have extra memory unused by the DOS.  If you want to compress your data, I have ideas which should better a compression technique.  Does this help?

Link to comment
Share on other sites

Yes, still very interesting to read about free memory... :)

 

And the rest of the discussion is also quite interesting and fun...

 

My current idea is to do an interleaved screen with four char sets, and tiles with four lines.

And checking plus alerting in the build script process if chars will get overwritten while still being on screen. Easier to handle this in that step than in the 6502 I guess... :)

 

It's still a lot of experimenting here though. Fun times...

  • Like 1
Link to comment
Share on other sites

If anybody here has cc65 and wants more memory for AtariXL programs, I have a library called MemXAtari.  It provides sections of the OS's memory that are not needed by most cc65 programs and has an option to provide 128k extra memory--I think the chip that handles that is Freddie.  Its memory layout assumes you are using DOS 2.0, so, if you're using another DOS, you will probably have to change the memory layout.  It uses AtaDisk65 to load in the stubs and the contents of the extra memory, so you may need that.  You can find MemXAtari at c65 additions - Manage /memory cfgs at SourceForge.net and AtaDisk65 at c65 additions - Manage /ui at SourceForge.net.  BTW, I am attaching a config file for the OP in hopes that he can use it to determine which memory areas might be usable.

atarixl_small.cfg

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...