DEBRO Posted October 8, 2001 Share Posted October 8, 2001 I've been playing around with a few things trying to refresh my memory on the 5200/8-bits and had a question about the display list. Lets say you're running out of RAM could you not store your display list in ROM? Why do we (all the code I've seen does this) copy the display list into RAM if the display list doesn't change during the program? Could you not do: code: lda #<DisplayList sta SDLSTL lda #>DiplsayList sta SDLSTH . . . org $<some ROM location> DisplayList .byte $70,$70,$70 ; 24 blank lines for overscan . . . .byte $41 ; Wait for VBlank to finish .byte $<some ROM location low> .byte $<some ROM location high> Quote Link to comment Share on other sites More sharing options...
DanBoris Posted October 8, 2001 Share Posted October 8, 2001 This should work ok. There is only one reason I can think of that this might not work. On the 7800 Display Lists cannot be in ROM due to access time requirments. I don't know if this is the same on the 5200. Dan Quote Link to comment Share on other sites More sharing options...
AlanD Posted October 8, 2001 Share Posted October 8, 2001 My first demo left everything in ROM except for the player missile data which was copied into RAM so the 5200 won't gripe about it. It should work fine provided you don't need to change the display list for any reason. AlanD Quote Link to comment Share on other sites More sharing options...
+Cafeman Posted October 8, 2001 Share Posted October 8, 2001 I'm a bit unsure of where RAM ends and ROM begins. Could one of you help to explain it to me? For example, RAM seems to start at $0000. I use Zero Page for many variables; $1800 starts my Player area; $2000 starts my screen RAM , which extends beyond the 4K boundary at $3000. So where does RAM end? Speaking of ROM memory, I have stmts like "ORG A000" in my code -- this must be ROM. So at which memory address does RAM end and ROM begin, for 16k and 32k roms? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted October 8, 2001 Share Posted October 8, 2001 At $3FFF. The area of memory used by Pokey, Antic, and GTIA is ram also, but naturally you can't build a program there. It doesn't really matter whether the DL is in ram or rom, unless you want the program to alter it as it is running. Quote Link to comment Share on other sites More sharing options...
DanBoris Posted October 9, 2001 Share Posted October 9, 2001 RAM runs from $0000-$3FFF. The cartridge ROM space runs from $4000-$BFFF. A 32K cartridge will take up the whole space. With 16K carts it depends on how the cart is constructed. If the cart uses a single 16K ROM chip, it will appear at locations $4000-$BFFF. If it uses two 8K ROM chips (which was very common in 5200 carts) the first 8K will appear at $4000-$5FFF and repeat at $6000-$7FFF, the second 8K will appear at $8000-$9FFF and repeat at $A000-$BFFF. Dan Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.