Re: #A0000
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Sep 11, 1998
- 620 views
>Say, I'm new to this whole thing. Perhaps someone can send me something >along the lines of "etiquette for the ignerent" or sumthin. Anyways. I >was trying to implement a virtual memory scheme using mem_copy and >mem_set, but when I write to addresses above #A0000 + 199680, it does >not display to the screen (mode 261). If I push it, it crashes. Could >someone please explain this to me. You can only do that in mode 19. Or you need to bank. Euphoria offers you flat memory, except, video cards, cant have flat memory. To acces the memory accros that border, you need to bank. By 'banking' you call an interrupt, which changes the offset of the video page. For example, you bank to 64000, from that point #A0000 contains the pixel value of what you expected to be saved at #A0000 + 199680 So, yes this does complicate stuff a bit. However, you're in luck. Ememcopy does handle banking. So if you would use ememcopy, you have no worries. Other than that there is a simple svga acces library by Pete Eberlein. It offers acces to the SVGA a bit faster than EUphoria does. Euphoria requires the banking to be restored after every pixel () call, so displaying an image accros the (199680) border, will make it bank for every line, instead of just once. So, remember, if you want to do the graphics of SVGA yourself, restore the banking to zero, before you use the standard Euphoria routines. Also check out Mighty.e (Pete Eberlein) which offeres SVGA mouse routines. I hope this helps.. Ralf N. nieuwen at xs4all.nl