Jump to content
IGNORED

plotchars with RAM vs BANKRAM


fultonbot

Recommended Posts

I'm seeing an issue that only appears when I change my code from using 128KBANKRAM to 128KRAM

 

With 128KBANKRAM my plotchars look like this:

 

regulattitlescreen.thumb.png.e5fca2a76565dcf328a586d316c2d91a.png



But with 128KRAM they don't display

 

titlescreen_bug.thumb.png.c04871392c30566f928d1769f9aa3eab.png

 

Obviously there there are myriad reasons why this might be happening.

 

The config for the game looks like this:

 

set zoneheight 16
 displaymode 160A
 set plotvalueonscreen on
 set romsize 128kBANKRAM
 set dlmemory $4000 $7FFF
 
 BACKGRND=$00
 changecontrol 0 2buttonjoy
 characterset font
 alphachars '0123456789abcdefghijklmnopqrstuvwxyz>`?!/.,-_()[]&AB '

 

This is defined outside of ROM bank1, 
I was pretty sure these settings are independent of the ROM bank after they have been set in RAM, but maybe not?  

 

The title screen code is inside ROM bank1.

 

font.png loaded is loaded into ROM bank8

 

moving font.png to bank1 doesn't appear to make a difference.

 

When compiled, the only difference I can see from the output is some tine from free-ROM soace chagnes in several banks:

working:
 

stack allowance: 19 nested subroutines.
   the canary is situated at: $1c3
   7067 bytes of ROM space left in the main area of bank 1.
   2628 bytes of ROM space left in the main area of bank 2.
   15504 bytes of ROM space left in the main area of bank 5.
   16166 bytes of ROM space left in the main area of bank 6.
   hiscore assembly:  1670  bytes
   5035 bytes of ROM space left in the main area of bank 7.
   8029 bytes of ROM space left in the main area of bank 8.
     $4000 to $7fff used as zone memory, allowing 136 display objects per zone.
     1680 bytes left in the 7800basic reserved area.

 

Not working:

 

stack allowance: 19 nested subroutines.
   the canary is situated at: $1c3
   7091 bytes of ROM space left in the main area of bank 1.
   2682 bytes of ROM space left in the main area of bank 2.
   15504 bytes of ROM space left in the main area of bank 5.
   16166 bytes of ROM space left in the main area of bank 6.
   hiscore assembly:  1670  bytes
   5059 bytes of ROM space left in the main area of bank 7.
   8029 bytes of ROM space left in the main area of bank 8.
     $4000 to $7fff used as zone memory, allowing 136 display objects per zone.
     1686 bytes left in the 7800basic reserved area.

 

That's all I can find.
Any pointers in the right direction would be helpful.

128kbankram_working.log

 

128kram_notworking.log

 

 

Edited by fultonbot
Link to comment
Share on other sites

In which bank is the plotchar called to create that text?

 

I'm a bit hard pressed to come up with a theory as to why 128kbankram would differ from 128kram, outside of you actually bank-switching ram, or emulation issues. Which emulator are the above results in?

Link to comment
Share on other sites

5 minutes ago, RevEng said:

In which bank is the plotchar called to create that text?

 

I'm a bit hard pressed to come up with a theory as to why 128kbankram would differ from 128kram, outside of you actually bank-switching ram, or emulation issues. Which emulator are the above results in?

bank1
A7800 is the emulator launched directly from Atari Dev Studio. 

Link to comment
Share on other sites

3 minutes ago, RevEng said:

Ok, and it looks like your display loop for the titlescreen is also in bank 1, based on the other graphics imports I see in the log.

 

I'm not sure what's going on... if you could PM me the source it would make it easier to troubleshoot.

Yes, titlescreen loop is in bank1.
OK, only if you have time or figure this will help find a bug in the compiler.
I don't want to waste your time if you don't have it, as I can still build the game with BANKRAM right now.
PMing code zip.

Link to comment
Share on other sites

2 minutes ago, RevEng said:

Yeah, there's something unusual and exceptional happening here, and adding characterset statements shouldn't be required by other programs. Even in this case, it's enough to add one extra characterset command - one in every bank isn't required.

Fixed in message.  Thanks for the help!!!!

 

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