Lendy 发表于 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编辑过]

星星abc 发表于 2004-12-3 15:53:00

屏幕缓存怎么半

bailiang 发表于 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编辑过]

Anson 发表于 2004-12-11 10:11:00

左右滚屏用循环移位的话就不必判断是否溢出了~

bailiang 发表于 2004-12-11 10:59:00

为什么?

Lendy 发表于 2004-12-11 12:16:00

“向左移”如果换一种思路去想,算法会简单很多:

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

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

Anson 发表于 2004-12-11 13:46:00

就是这样~因为用循环位移~就是ROL ROR 的话~C会先移入而本来会溢出的位会移进C~这样就不必要判断了~一行全部循环移动一下就可以了~

bailiang 发表于 2004-12-13 09:58:00

我就是这个意思
只是很久没有用了
快忘了
呵呵

Anson 发表于 2004-12-14 11:57:00

因为你说判断~其实不必~

bailiang 发表于 2004-12-17 10:47:00

呵呵
不好意思了
哈哈

xiaoyong 发表于 2006-1-22 19:42:00

我看不明

Isword 发表于 2006-1-23 18:38:00

    2600应该也可以用上面的代码吧.呵呵,昨天还在想怎么写象英雄坛说的开头那样的效果呢,看来不用自己写了!!

George 发表于 2006-1-27 19:50:00

英雄坛说开头那个滚屏中的文字是图像还是字符数据呢??

qyfcool 发表于 2006-1-29 14:17:00

应该是字符,如果是图片该有多大啊。

George 发表于 2006-1-29 18:05:00

若是字符该如何做到那样的效果呢

为此郁闷了N久了

Anson 发表于 2006-2-12 13:31:00

字符可以通过字符读取中断将点阵数据读取出来。当然2K的中断地址我不知道……



P.S.很久没来了……WQX已经报废了~以后……

Isword 发表于 2006-2-12 15:12:00

   露一次脸,真是不容易啊!!

116205035 发表于 2006-2-12 17:28:00

有一个中断能定位到Y轴的任意坐标·!



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

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

PS:WOW几级了?

George 发表于 2006-2-12 18:52:00

哪一个中断啊,

3K的。

谁能说一下。
我对系统很不了解啊,查也无从下手……

Isword 发表于 2006-3-6 15:08:00

    白金的序幕的那段滚屏程序貌似是是用图片的.


页: [1] 2
查看完整版本: [求助]滚屏