易码技术论坛

 找回密码
 加入易码
搜索
查看: 464239|回复: 20

[求助]滚屏

[复制链接]
发表于 2004-11-29 12:46:00 | 显示全部楼层
LDA #$50
STA $44

loop1:  ;Move the screen up a line;
LDA #$C0 ;$19C0 The first line of the screen.
STA $40
LDA #$19
STA $41
LDA #$D4 ;$19D4 The second line of the screen.
STA $42
LDA #$19
STA $43

LDX #$00
loop2:  ;Move a line up.
LDY #$00
LDA ($42),Y
STA ($40),Y
INY
CPY #$14
BCC loop2 ;If y<#$14 then goto loop2.

CLC  ;$40+#$14 Next line.
LDA $40
ADC #$14
STA $40
LDA $41
ADC #$00
STA $41

CLC  ;$42+#$14 Next line.
LDA $42
ADC #$14
STA $42
LDA $43
ADC #$00
STA $43

INX
CPX #$50
BCC loop2 ;If x<#$50 then goto loop1

DEC $44
BNE loop1
RTS


[此贴子已经被作者于2004-11-29 13:06:07编辑过]

 楼主| 发表于 2004-12-3 15:53:00 | 显示全部楼层
屏幕缓存怎么半

3725_4694_1536.rar

100 KB, 下载次数: 263

3725_4694_1537.rar

70 KB, 下载次数: 292

发表于 2004-12-4 14:35:00 | 显示全部楼层
如果是左右移动的话:  <左移>

  1.设置控制屏幕每行的变量,放入堆栈

  2.对每行进行操作:

         a。将本行前8个点对应的地址值左移1位

         b。将下8个点对应的地址值左移1位

         c。检查状态标志,如果溢出的话,前一个地址的最后1位加上1

               b。判断是否退出循环

         d。行中每个地址循环

   3.行循环

[此贴子已经被作者于2004-12-4 14:39:18编辑过]

发表于 2004-12-11 10:11:00 | 显示全部楼层
左右滚屏用循环移位的话就不必判断是否溢出了~
发表于 2004-12-11 10:59:00 | 显示全部楼层
为什么?

14801_5266_6131.rar

11 KB, 下载次数: 255

发表于 2004-12-11 12:16:00 | 显示全部楼层
“向左移”如果换一种思路去想,算法会简单很多:

每一行都从最后一个字节(8个像素)开始,往左位移(ROL),这时倒数第8个像素会存入C中,然后再ROL倒数第二个字节(8个像素),这时C标志会自动添加到这个字节的第0位。依此类推,即可实现向左位移。

[此贴子已经被作者于2004-12-11 12:16:42编辑过]

1693_5281_686.zip

275 KB, 下载次数: 3

发表于 2004-12-11 13:46:00 | 显示全部楼层
就是这样~因为用循环位移~就是ROL ROR 的话~C会先移入而本来会溢出的位会移进C~这样就不必要判断了~一行全部循环移动一下就可以了~
发表于 2004-12-13 09:58:00 | 显示全部楼层
我就是这个意思
只是很久没有用了
快忘了
呵呵
发表于 2004-12-14 11:57:00 | 显示全部楼层
因为你说判断~其实不必~
发表于 2004-12-17 10:47:00 | 显示全部楼层
呵呵
不好意思了
哈哈
发表于 2006-1-22 19:42:00 | 显示全部楼层
我看不明

3914_28597_5204.rar

9 KB, 下载次数: 236

发表于 2006-1-23 18:38:00 | 显示全部楼层
    2600应该也可以用上面的代码吧.呵呵,昨天还在想怎么写象英雄坛说的开头那样的效果呢,看来不用自己写了!!
发表于 2006-1-27 19:50:00 | 显示全部楼层
英雄坛说开头那个滚屏中的文字是图像还是字符数据呢??
发表于 2006-1-29 14:17:00 | 显示全部楼层
应该是字符,如果是图片该有多大啊。
发表于 2006-1-29 18:05:00 | 显示全部楼层
若是字符该如何做到那样的效果呢

为此郁闷了N久了
发表于 2006-2-12 13:31:00 | 显示全部楼层
字符可以通过字符读取中断将点阵数据读取出来。当然2K的中断地址我不知道……



P.S.很久没来了……WQX已经报废了~以后……
发表于 2006-2-12 15:12:00 | 显示全部楼层
     露一次脸,真是不容易啊!!
[em02][em02][em01][em01]
发表于 2006-2-12 17:28:00 | 显示全部楼层
有一个中断能定位到Y轴的任意坐标·!



--------------------------------------------------------------------------------------

混乱,上了大学也不要玩这么疯!~~~~

PS:WOW几级了?
发表于 2006-2-12 18:52:00 | 显示全部楼层
哪一个中断啊,

3K的。

谁能说一下。
[em06] 我对系统很不了解啊,查也无从下手……
发表于 2006-3-6 15:08:00 | 显示全部楼层
    白金的序幕的那段滚屏程序貌似是是用图片的.


[em01][em01][em01][em01]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-20 08:51 , Processed in 0.013210 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表