90 lines
3.3 KiB
HTML
90 lines
3.3 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<title>NES Scrolling 2</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta name="generator" content="HelpNDoc Personal Edition 3.6.0.345">
|
|
<link type="text/css" rel="stylesheet" media="all" href="css/reset.css" />
|
|
<link type="text/css" rel="stylesheet" media="all" href="css/base.css" />
|
|
<link type="text/css" rel="stylesheet" media="all" href="css/hnd.css" />
|
|
<!--[if lte IE 8]>
|
|
<link type="text/css" rel="stylesheet" media="all" href="css/ielte8.css" />
|
|
<![endif]-->
|
|
<style type="text/css">
|
|
#topic_header
|
|
{
|
|
background-color: #EFEFEF;
|
|
}
|
|
</style>
|
|
<script type="text/javascript" src="js/jquery.min.js"></script>
|
|
<script type="text/javascript" src="js/hnd.js"></script>
|
|
<script type="text/javascript">
|
|
if (top.frames.length == 0)
|
|
{
|
|
var sTopicUrl = top.location.href.substring(top.location.href.lastIndexOf("/") + 1, top.location.href.length);
|
|
top.location.href = "fceux.html?" + sTopicUrl;
|
|
}
|
|
else if (top && top.FrameTOC && top.FrameTOC.SelectTocItem)
|
|
{
|
|
top.FrameTOC.SelectTocItem("NESScrolling2");
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="topic_header">
|
|
<div id="topic_header_content">
|
|
<h1>NES Scrolling 2</h1>
|
|
|
|
<div id="topic_breadcrumb">
|
|
<a href="Technicalinformation.html">Technical Information</a> ›› <a href="NESProcessor.html">NES Processing</a> ›› </div>
|
|
</div>
|
|
<div id="topic_header_nav">
|
|
<a href="NESProcessor.html"><img src="img/arrow_up.png" alt="Parent"/></a>
|
|
|
|
<a href="NESScrolling1.html"><img src="img/arrow_left.png" alt="Previous"/></a>
|
|
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div id="topic_content">
|
|
|
|
<p>nes scrolling</p>
|
|
<p><br/></p>
|
|
<p>Date: Tue, 13 Apr 1999 17:48:54 -0600</p>
|
|
<p>From: loopy <zxcvzxcv@netzero.net></p>
|
|
<p>Reply-To: nesdev@onelist.com</p>
|
|
<p>To: nesdev@onelist.com</p>
|
|
<p><br/></p>
|
|
<p>From: loopy <zxcvzxcv@netzero.net></p>
|
|
<p><br/></p>
|
|
<p>(more notes on ppu logic)</p>
|
|
<p><br/></p>
|
|
<p>you can think of bits 0,1,2,3,4 of the vram address as the "x scroll"(*8)</p>
|
|
<p>that the ppu increments as it draws. as it wraps from 31 to 0, bit 10 is</p>
|
|
<p>switched. you should see how this causes horizontal wrapping between name</p>
|
|
<p>tables (0,1) and (2,3).</p>
|
|
<p><br/></p>
|
|
<p>you can think of bits 5,6,7,8,9 as the "y scroll"(*8). this functions</p>
|
|
<p>slightly different from the X. it wraps to 0 and bit 11 is switched when</p>
|
|
<p>it's incremented from _29_ instead of 31. there are some odd side effects</p>
|
|
<p>from this.. if you manually set the value above 29 (from either 2005 or</p>
|
|
<p>2006), the wrapping from 29 obviously won't happen, and attrib data will be</p>
|
|
<p>used as name table data. the "y scroll" still wraps to 0 from 31, but</p>
|
|
<p>without switching bit 11. this explains why writing 240+ to 'Y' in 2005</p>
|
|
<p>appeared as a negative scroll value.</p>
|
|
<p><br/></p>
|
|
<p class="rvps2"><span class="rvts13">Created with the Personal Edition of HelpNDoc: </span><a class="rvts14" href="http://www.helpndoc.com/help-authoring-tool">Free help authoring tool</a></p>
|
|
</div>
|
|
|
|
<div id="topic_footer">
|
|
|
|
<div id="topic_footer_content">
|
|
2012</div>
|
|
</div>
|
|
</body>
|
|
|
|
</html>
|
|
|