Beispiel #1
0
        public static void MovePage(int value)
        {
            uint move_count, move_src, move_dst;
            uint fill_count, fill_dst;

            if (value > 0)
            {
                fill_count = (uint)(value * scanline);
                move_count = bufferSize - fill_count;
                move_src   = fill_count;
                move_dst   = 0;
                fill_dst   = move_count;
            }
            else
            {
                fill_count = (uint)((-value) * scanline);
                move_count = bufferSize - fill_count;
                move_src   = 0;
                move_dst   = fill_count;
                fill_dst   = 0;
            }

            videoMemory.Move((uint)videoMemory.address + move_src, (uint)videoMemory.address + move_dst, move_count);
            videoMemory.Fill(fill, fill_dst, fill_count);
        }