- 注册时间
- 2004-11-14
- 最后登录
- 1970-1-1
|
看了某人写的滚屏代码,感觉不大好用,于是自己写了一个,大家看看怎样,如果可以,我将会用在XX上.
这是我写的
地址加:
Z1:INC$80
BNE L1
INC$81
L1DA$81
RTS
地址减:
Z2EC$80
BNE L2
DEC$81
L2DA$80
CMP#$BF
BNE L3
LDA$81
CMP#$19
L3:RTS
下滚屏:
LDA#$EB
STA$80
LDA#$1F
STA$81
L4DY#$00
LDA($80),Y
LDY#$14
STA($80),Y
JSR Z2
BNE L4
RTS
上滚屏:
LDA#$C0
STA$80
LDA#$19
STA$81
L5:LDY#$14
LDA($80),Y
LDY#$00
STA($80),Y
JSR Z1
CMP#$1F
BNE$L5
LDA$80
CMP#$EB
BNE L5
RTS
左滚屏:
LDA#$FF
STA$80
LDA#$1F
STA$81
LDX#$14
L6:CPX#$14
BEQ L7
LDX#$00
CLC
L7:LDA($80),Y
ROL
STA($80),Y
JSR Z2
BNE L6
RTS
右滚屏:
LDA#$19
STA$80
LDA#$C0
STA$81
LDX#$14
L8:CPX#$14
BEQ L9
LDX#$00
CLC
L9:LDA($80),Y
ROR
STA($80),Y
JSR Z1
CMP#$20
BNE L8
RTS
这是别人写的:
560 下滚屏:
570 LDA #$FF
580 STA $80
590 LDA #$1F
600 STA $81
610 LDA #$EB
620 STA $82
630 LDA #$1F
640 STA $83
650 LDY #$00
660 L1:LDA ($82),Y
670 STA ($80),Y
680 DEC $80
690 LDA $80
700 CMP #$FF
710 BNE L2
720 DEC $81
730 L2EC $82
740 LDA $82
750 CMP #$FF
760 BNE L3
770 DEC $83
780 L3:LDA $82
790 CMP #$BF
800 BNE L1
810 LDA $83
820 CMP $19
830 BNE L1
840 RTS
850 上滚屏
860 LDA #$C0
870 STA $80
880 LDA #$19
890 STA $81
900 LDA #$D4
910 STA $82
920 LDA #$19
930 STA $83
940 LDY #$00
950 L1:LDA ($82),Y
960 STA ($82),Y
970 INC $80
980 BNE L2
990 INC $81
1000 L2:INC $82
1010 BNE L3
1020 INC $83
1030 L3:LDA $83
1040 CMP #$20
1050 BNE L1
1060 RTS
1070 左滚屏
1080 LDX #$36
1090 LDA #$8C
1100 STA $80
1110 LDA #$1B
1120 STA $81
1130 L1:CLC
1140 LDY #$13
1150 L2:LDA ($80),Y
1160 ROL
1170 STA ($80),Y
1180 DEY
1190 BNE L2
1200 LDA ($80),Y
1210 ROL
1220 AND #$7F
1230 STA ($80),Y
1240 CLC
1250 LDA $80
1260 ADC #$14
1270 STA $80
1280 BCC L3
1290 INC $81
1300 L3EX
1310 BNE L1
1320 RTS
1330 右滚屏
1340 LDX #$50
1350 LDA #$D4
1360 STA $80
1370 LDA #$18
1380 STA $81
1390 L1:CLC
1400 LDY #$EC
1410 L2:LDA ($80),Y
1420 ROR
1430 STA ($80),Y
1440 INY
1450 BNE L2
1460 CLC
1470 LDA $80
1480 ADC #$14
1490 STA $80
1500 BCC L3
1510 INC $81
1520 L3:DEX
1530 BNE L1
1540 RTS
|
|