8位色320*200分辨率下的屏幕坐标与VRAM地址计算

在320*200分辨率的8位色模式中,屏幕由64k像素组成,起始于0x0a0000的VRAM地址。坐标(x,y)映射到VRAM,通过计算Address = 0x0a0000 + x + MAX_x*y来获取地址。每行200个连续段,每个段320个像素。此计算方法有助于理解和定位VRAM中的像素数据。" 84290804,7599252,EIS 2018 CTF Web 漏洞复盘与解题技巧,"['Web安全', '漏洞利用', 'CTF挑战', '数据包分析']
摘要由CSDN通过智能技术生成

在320*200的分辨率下,屏幕上共有64k个像素。在8位色320*200分辨率模式下,VRAM的起始地址是0x0a0000,从0x0a0000-0x0affff的地址空间都是可用来记录屏幕像素的。如果坐标系为(x,y),屏幕的左上角为(0,0),右下角为(319,219)。所有坐标可以用一个64k的数组表示:


{

(0,0),(1,0),(2,0),(3,0),...,(319,0),

(0,1),(1,1),(2,1),(3,1),...,(319,1),

...

(0,199),(1,199),(2,199),(3,199),...,(319,199)

}


按照屏幕从左至右,从上至下逐行的扫描方式,数组可以划分为200个连续的段(屏幕总行数),每个段的长度为320(屏幕总列数)。x和y的坐标值经过分段计算,可以得到VRAM地址偏移量的计算公式:


Address = 0x0a0000 + x + MAX_x*y


以下的表可以辅助理解这个计算过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值