mrdalliard wrote:Hi, just a quick question.
I'm trying to set "logic" to be a particular address. I know the address is on a 256 byte boundary (as per what it says in the manual). However, when I try and set it I get error 43, which is "bad screen address". This doesn't make sense as the address is divisible by 256 with no remainders. Anyone else had this problem?
Mikefulton wrote:1) How are you trying to set it? If using XBIOS SetScreen() function, note that it is a VOID function that doesn't return a value.
2) Where you getting "error 43" and how are you interpreting that as "bad screen address". All regular system error codes are negative, so that sounds like it's coming from STOS.
If you are using STOS, I imagine that it is on a ST/E.
So the screen uses 32k.
Are you sure that start+X+32k fits all in memory? Maybe it's not the starting address that is a problem, but indirectly the end address that bypasses the top of RAM.
exxos wrote:"bad screen address" is normally as the memory bank hasn't been reserved as screen.
reserve as screen 10
I have done a scroller based on a 64K screen but its been some 20 years..
I think you would reserve a work bank (or data bank) and load in pi1 images, so first image loaded at zero start, the second image loaded at 32k start. Then you should be able to just change the logic screen to somewhere in that data bank and it should work ( I think )
I'm pretty sure at some point I did a 4 screen sized image (640x400) and scrolled around the ram locations to created a moving background. Though it might have been a extension in the missing link extension or similar.
mrdalliard wrote:This is exactly what I'm doing, funnily enough - reserving a 64K bank as work and changing the logic address. I'm using a tesselated image, so that the scrolling looks seamless. Well, it would if my screen address was right.
Users browsing this forum: No registered users and 8 guests