[轉貼]NC2000的debug

6502 組合語言,是哈電族裡使用的程式語言,也是目前設計 Bin 的唯一方法,有興趣的就進來吧
回覆文章
頭像
sppmg
一級會員
一級會員
文章: 260
註冊時間: 2004-01-10 12:41 PM
來自: 地球ㄉ台灣ㄉ台北
聯繫:

[轉貼]NC2000的debug

文章 sppmg »

在時鐘介面輸入
qhlixpfh
即可(注意進入後可不要亂按
不然會出現 THE FLASH IS ERROR
-----------------------------------------------------

DEBUG的使用 原作者LEE
作者:LEE

說明:debug是組合語言工具。如果你對6502組合語言不熟悉,那它對你沒有幫助(或許還有副作用)。本文的物件是有一定組合語言基礎的讀者。
名詞:快閃記憶體--記憶體的一種,掉電後內容不易失,但可以通過軟體修改。文曲星共有快閃記憶體512K,劃分為16個頁,每頁32k,映射於cpu位址空間的$4000-$BFFF.
RAM記憶體--記憶體的一種,掉電後內容將消失。位於cpu位址空間的$0000-$3FFF.容量為16K.
ROM記憶體--記憶體的一種,掉電後內容不會消失,而且不可修改。映射於cpu位址空間的$4000-$BFFF及$C000-$FFFF.容量暫時不清楚。
debug的每個命令都以一個字母開頭。參數採用16進制。參數之間以空格隔開。輸入時“中英數”切換英文和數位狀態,除e z及e x命令外不能輸入中文,也不能輸入大寫字母。每個命令行以“輸入”結束,按“跳出”表示放棄該命令。按“求助”鍵可輸入字母“b”。
[]中的內容為可省略項
d [位址] [快閃記憶體頁碼]--以16進制字元顯示指定位址的內容。位址省略時接著上一次的位址。快閃記憶體頁碼省略時採用上一次的頁碼。下同。
d s [位址] [快閃記憶體頁碼]--以英文字元顯示指定位址的內容。
d z [位址] [快閃記憶體頁碼]--以中文GB碼顯示指定位址的內容。
d x [位址] [快閃記憶體頁碼]--以中文BIG5碼顯示指定位址的內容。
c 起始位址 結束位址 快閃記憶體頁碼 位址2--從起始位址到結束位址與位址2處的一段資料逐位元組比較,找出不同之處。
e [位址]--以16進制字元修改指定位址的內容。
e s [位址]--以英文字元修改指定位址的內容。
e z [位址]--以中文GB碼修改指定位址的內容。
e x [位址]--以中文BIG5碼修改指定位址的內容。
g 位址 [快閃記憶體頁碼]--從指定位址開始執行程式。
m 起始位址 結束位址 快閃記憶體頁碼 目標位址--把從起始位址到結束位址的內容移動到目標位址處。
r 顯示g命令執行後的寄存器狀態。
r a 數值--修改a寄存器.
r x 數值--修改x寄存器.
r y 數值--修改y寄存器.
s 起始位址 結束位址 [快閃記憶體頁碼]--從起始位址到結束位址進行數值搜索。
s s 起始位址 結束位址 [快閃記憶體頁碼]--從起始位址到結束位址進行字串搜索。
u [位址] [快閃記憶體頁碼]--從指定位址開始反組合語言程式。
f 位址 快閃記憶體頁碼--格式化指定快閃記憶體頁指定位址所在的4k內容。警告:會清除該處內容的。例如:f bxxx 2將清除第2快閃記憶體頁$b000-$bfff的4k內容。
f l 位址 快閃記憶體頁碼--把指定快閃記憶體頁指定位址所在的4k內容移到記憶體的$3000-$3fff處。
f w 位址 快閃記憶體頁碼--把記憶體的$3000-$3fff處的4k內容寫到指定快閃記憶體頁指定位址。
注意:如果你不知道你在幹什麼,請一定不要用f命令,f命令是最危險的命令(也是最強大的命令),它會改寫你的快閃記憶體的內容,誤用的話後果很嚴重的。

COM檔結構:
$0000:43 4f 4d ("COM")
$0003:?? (COM檔入口地址的高8位,必須是偶數且在1A-3E之間,低8位恒為10)
$0004:?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? (檔案名,如用漢字必須使用BIG5碼)
$0010:?? ?? ... (檔內容)

附:“河南體育彩票”根源程式
org $1e00
db "COM",$1e,"猠玭砰▅眒布";big5碼,即gb碼“河南體育彩票”
Secret: lda Ds03
bpl Ls17;第一次使用本軟體嗎?不是,則轉Ls17
lda #0
sta Ds03
lda #$20
sta Ds04
sta Ds04+7
sta Ds04+9
lda #0
sta Ds04+10
lda $46a
sta $80
lda $46b
sta $81
jsr $e153
lda $83
sta Ds04+1
lda $84
sta Ds04+2
lda $85
sta Ds04+3
lda $86
sta Ds04+4
lda $05
sta $80
lda $07
sta $81
jsr $e153
lda $84
sta Ds04+5
lda $85
sta Ds04+6
lda $86
cmp #'5'
bcc Ls01
sbc #5
Ls01: sta Ds04+8;以上代碼隨機產生一個號碼
Ls17: lda #0
ldx #<Ds01
ldy #>Ds01
jsr $e1b9;打開一個視窗,顯示號碼
jsr $e09c;等待按任意鍵
Ls16: ldy #7
tya
Ls02: sta $61,y
dey
bpl Ls02
Ls12: ldx #7
Ls03: cpx #6
beq Ls04
lda $61,x
beq Ls04
inc Ds04+1,x
lda Ds04+1,x
cmp #$3a
bcc Ls04
lda #'0'
sta Ds04+1,x
Ls04: dex
bpl Ls03
lda Ds04+8
cmp #'5'
bcc Ls14
sbc #5
sta Ds04+8
Ls14: inx
lda $cc
cmp #$ef;按“1”嗎
bne Ls05
stx $61
Ls05: cmp #$df;按“2”嗎
bne Ls06
stx $62
Ls06: cmp #$bf;按“3”嗎
bne Ls07
stx $63
Ls07: lda $cb
cmp #$ef;按“4”嗎
bne Ls08
stx $64
Ls08: cmp #$df;按“5”嗎
bne Ls09
stx $65
Ls09: cmp #$bf;按“6”嗎
bne Ls10
stx $66
Ls10: lda $ca
cmp #$ef;按“7”嗎
bne Ls11
stx $68
Ls11: lda #0
sta $468
ldx #<Ds01
ldy #>Ds01
jsr $e1b9;在視窗中顯示變化的號碼
lda $61
ora $62
ora $63
ora $64
ora $65
ora $66
ora $68
bne Ls12;如果1-7未全部按下,則轉Ls12
Ls13: jsr $e09c;等待按鍵
cmp #13;“輸入”嗎
bne Ls15;
jmp Ls16
Ls15: cmp #27“跳出”嗎
bne Ls13
jmp $402b;存儲進度並返回pctools(注:jsr $402b將把ram中改變了的com程式寫回檔)
Ds01: db $80,<Ds04,>Ds04,32,18,10,2,<Ds02,>Ds02
Ds02: db 2
Ds03: db $ff
Ds04: db 0,1,2,3,4,5,6,7
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
Mowd
系統管理員
系統管理員
文章: 1828
註冊時間: 2003-07-16 6:31 PM
來自: 台灣台北
聯繫:

文章 Mowd »

哇,這真是古董啊...
不過前後文不對,
qhlixpfh進入的debug功能並不像後文寫的那麼多,後面的debug是LEE在PC1000上PC-TOOLS的內建debug。
另外,進入系統內建的debug的話,按下F2就是刪除所有NAND記憶體,此時你的哈電族就掛了,要找一台機器修或是送回公司了。
有膽量的就試吧!
Mowd 與你的交流天地
歡迎您的到來
頭像
大地旅法師
三級會員
三級會員
文章: 579
註冊時間: 2003-07-17 4:10 PM
來自: 大地 卯族

文章 大地旅法師 »

除了讓哈哈掛掉
這有實際用途嗎
Mowd
系統管理員
系統管理員
文章: 1828
註冊時間: 2003-07-16 6:31 PM
來自: 台灣台北
聯繫:

文章 Mowd »

就像電腦的格式化一樣吧,可以給維修人員使用
Mowd 與你的交流天地
歡迎您的到來
頭像
sppmg
一級會員
一級會員
文章: 260
註冊時間: 2004-01-10 12:41 PM
來自: 地球ㄉ台灣ㄉ台北
聯繫:

文章 sppmg »

Mowd 寫:哇,這真是古董啊...
不過前後文不對,
qhlixpfh進入的debug功能並不像後文寫的那麼多,後面的debug是LEE在PC1000上PC-TOOLS的內建debug。
另外,進入系統內建的debug的話,按下F2就是刪除所有NAND記憶體,此時你的哈電族就掛了,要找一台機器修或是送回公司了。
有膽量的就試吧!
:D 我是從大陸網站找來的,現在沒有wqxnet只好到一些小站晃了。

至於debug功能我只試過r而已 :oops:
能說一下debug少了哪些功能嗎?
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
Mowd
系統管理員
系統管理員
文章: 1828
註冊時間: 2003-07-16 6:31 PM
來自: 台灣台北
聯繫:

文章 Mowd »

忘記了,不過內建的真的很難用,功能少的可憐。曾經也在大陸網站上看到過文章。
Mowd 與你的交流天地
歡迎您的到來
gbwind
一級會員
一級會員
文章: 254
註冊時間: 2003-08-02 8:57 PM
來自: 亞爾-魯特大陸

文章 gbwind »

我以前好像有貼過這方面的文章說...
有控去改改...
伊瑟拉之劍 RM 版
伊瑟拉之劍 天神之兵
策劃中...
頭像
sppmg
一級會員
一級會員
文章: 260
註冊時間: 2004-01-10 12:41 PM
來自: 地球ㄉ台灣ㄉ台北
聯繫:

文章 sppmg »

仔細看看,似乎大多的功能用wqxhex就行ㄌ :oops:
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
回覆文章