6502问题
如何在6502中实现控制屏幕上图像移动?[ 本帖最后由 tl2655600 于 2008-10-27 21:48 编辑 ] 自己操作显存。 这个会让人晕掉的 难道要先画图形,再读键,再清屏,在画图形。。。。。。
:L 好麻烦啊 如果LZ认为有更好的方法,那就好好研究,争取把它搞出来。:D 问一下,NCTOOLS808到底能不能制作BIN程序啊?
我做出来的BIN一打开就关机
开头要打个AE EE EA 00 1000 20 AC XX YY 70 03 31 03 FF FF什么的,我已经打了啊?
程序就NCTOOLS808上测试很正常啊 AC XX YY 打错了。
应为4C xx yy
最好是AA A5 5A 00 10 00 20 4C XX YY 70 03 31 03 FF FF
不过我从来不用NcTools808制作程序。
[ 本帖最后由 dragon_ 于 2008-10-27 17:35 编辑 ] 汗:L ,我两个都试过了!
都不行
LS顺便问一下,你觉得什么编程最方便?要在808平台上哦:lol 还有一个问题,控制屏幕上图像的方法我已经想到了,可怎么也运行不起来:'(
有可能是我写错了,可就是不知道错在哪里
:L :L
下面是我编的,还请高手指点迷津
2000 ldx#$00
2002 stx$2100
2005 lda#$28
2007 sta$03c4(808 x轴地址)
200a lda#$05
200c sta$03d6(808 圆半径地址)
200f lda$2100
2012 sta$03c3(808 y轴地址)
2015 int$c737 (808 清屏中断)
2018 int$ca0e (808 画圆中断)
201b pha
201c int$c006(808 读键地址,键值放在a)
201f cmp#$16(“16” 为808 键盘“→”键值)
2021 bne$2025
2024 inx
2025 cmp#$17(“17” 为808 键盘“←”键值)
2027 bne$202b
202a dex
202b cmp#$19
202d beq$2039
2030 pla
2031 cmp#$a0
2033 beq$2000
2036 jmp$200f
2039 rts
[ 本帖最后由 tl2655600 于 2008-11-3 22:53 编辑 ] 注:“808 ”是机型tc808简称 原帖由 tl2655600 于 2008-10-27 21:41 发表 http://bbs.emsky.net/images/common/back.gif
汗:L ,我两个都试过了!
都不行
LS顺便问一下,你觉得什么编程最方便?要在808平台上哦:lol
我写那个就是可以的,不行那是你自己的程序有问题。注意bin程序执行是从$4000开始的,不是$2000。
WQX端的汇编编译器有很多……
[ 本帖最后由 dragon_ 于 2008-10-27 22:17 编辑 ] 原帖由 tl2655600 于 2008-10-27 21:46 发表 http://bbs.emsky.net/images/common/back.gif
还有一个问题,控制屏幕上图像的方法我已经想到了,可怎么也运行不起来:'(
有可能是我写错了,可就是不知道错在哪里
:L :L
下面是我编的,还请高手指点迷津
2000 ldx#$00
2002 stx$2100
2005 lda#$28
2007 sta$03c4(80 ...
你的$2100是用来干什么的?inx和dex又有什么意义?这里应该有问题。
仔细看看lda $2000,x的含义。 哦,我知道了,运行不起来关键在200F!! 我改了一下,还不行,汗
2000 ldx#$00
2002 lda#$28
2005 sta$03c4(808 x轴地址)
2007 lda#$05
200a sta$03d6
200cstx$2100
200f lda$2100
2012 sta$03c3(808 y轴地址)
2015 int$c737 (808 清屏中断)
2018 int$ca0e (808 画圆中断)
201b pha
201c int$c006(808 读键地址,键值放在a)
201f cmp#$16(“16” 为808 键盘“→”键值)
2021 bne$2025
2024 inx
2025 cmp#$17(“17” 为808 键盘“←”键值)
2027 bne$202b
202a dex
202b cmp#$19
202d beq$2039
2030 pla
2031 cmp#$a0
2033 beq$2000
2036 jmp$200c
2039 rts 运行之后有何反应?
第一句先改成
2000 ldx#$10
看看圆画出来没。
[ 本帖最后由 dragon_ 于 2008-10-29 12:41 编辑 ] 运行后按→时会越进一大步,后来就不行了,只有按“目录”退出 圆一开始就出来了 按你写的来看,是正常的。
有QQ上QQ,这里不好发挥。
[ 本帖最后由 dragon_ 于 2008-10-29 12:56 编辑 ] NCTOOL写的程序从$2000执行,应用程序里的BIN从$4000执行,假如用了JSR和JMP等跳转就不行。 寫program當要執行一些副程式,應先要了解它會否影響當前的a x y值, 很明顯在這裡當你執行int後的a與x值已改變了,之後的pha與inx,dex已沒意義.另外你程序中有檢測x-coor(cmp #$a0), 但缺乏檢測x-coor為#$00, 這樣若一開始按左時, 下一個圓會畫在哪裡呢? 最後,在運用pha pla是需要小心一點, 你在$201b上pha後若檢測到按鍵值是#$19, 在$202d處會跳到$2039結束, 但是你沒注意到你並未pla而跳出, 這樣永遠也不能正常跳出!
页:
[1]