[轉貼]BIOS函數(Exxx)

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

[轉貼]BIOS函數(Exxx)

文章 sppmg »

BIOS函數表{官方資料,QIQI整理}

BELOW IS AT BIOS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

E006 bin2digit ;轉1BYTE資料為字元模式
E009 enter_sleep ;進入休眠
E00C enter_sleepz
E00F start_4ch
E012 stop_4ch
E015 bell ;響鈴
E018 key_click_bell ;按鍵音
E01B mspeed4 ;延時
E01E speed5 ;關timer1
E021 speed5 ;關timer1
E024 cspeed
E027 mspeed
E02a delay_time ;延時
E02D delay_time1 ;延時
E030 wait_1_sec ;等待1秒
E033 wait_160_ms ;等待160毫秒
E036 isdigit ;判斷是否為數字
E039 enable_dac_out
E03C disable_dac_out
E03F start_sound ;打開聲音
E042 stop_sound ;關閉聲音
E045 out_celp_data
E048 TTS_Sleep
E04B TTS_Wakeup
E04E TTS_Reset
e051 Adj_Volume ;增加音量
E054 wait_dsp1_ready ;等待DSP1準備
e057 move_to_ram ;複製副程式至RAM
E05A get_8x8_font ;獲取8x8大小字體至$0280開始的位址
E05D ProcKey ;按鍵選擇
E060 Proc_Key ;按鍵選擇2
E063 case ;選擇
E066 TwoHz ;讀系統時間入時間映射位址
E069 gysdata ;跨頁讀取數據
E06C playdt ;pc喇叭播放音樂
E06F set_alarm_on ;設置鬧鈴開
E072 get_next_data ;no use
E075 getunicode ;獲取UNICODE碼(nand)
E078 log_to_ph
E07B oldmon ;系統debug
E07E ChargeManager ;電源管理
E081 spe_exe_file ;執行熱鍵檔
E084 move_rbuf_databuf ;移動讀nand緩衝入資料緩衝
E087 move_databuf_wbuf ;移動資料緩衝入寫nand緩衝
E08A phyWrite_512B ;寫入512B nand
E08D phyWrite_16B ;寫入16B nand
E090 phyRead_16B ;讀取16B nand
E093 phyRead_512B ;讀取512B nand
E096 phyRead_byte ;讀取1B nand
E099 NgffsMoveData
E09C disp_icon ;顯示符號
E09F downexec 執行bin file
E0A2 proc_menuI ;圖形化功能表程式



這應該適用於NC2000系列,NC3000能不能用就不知了
下面是一些我研究的資料,只在NC2000系列試過
------------------------
E015
會影響x寄存器,要注意。不過出來後x為定值。
-------------------------
E081
入:$08AC打上名稱,如:/sysdir/game (以00結尾)可能其他機型不同,應該就是0515中檔名的位址
行為:讀出檔到$4000後跳過去執行(可複製其程式,使其讀出後便退出執行。這樣就能檢視程式碼)
-------------------------
E02D
入:x
行為:x增1大約延遲4毫秒
E02A和E030和E033分別設定x=$94和x=$FA和x=$28之後跳到E02D(程式主體相同)
---------------------------

E05A
入:A
出:$0280~$0287
--------------------------
E07B
直接跳到BRK $CB01
---------------------------
E09C
入:A
就是資料發送時右上角的圖,只有兩種狀態。
-------------------------------
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
頭像
sppmg
一級會員
一級會員
文章: 260
註冊時間: 2004-01-10 12:41 PM
來自: 地球ㄉ台灣ㄉ台北
聯繫:

文章 sppmg »

有沒有人知道cspeed是什麼?
我猜應該是機械碼執行速度(c→慢、m→快),但是不確定。

還有TTS
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
頭像
sppmg
一級會員
一級會員
文章: 260
註冊時間: 2004-01-10 12:41 PM
來自: 地球ㄉ台灣ㄉ台北
聯繫:

文章 sppmg »

又找到一個的用法了

JSR $E0A2→圖型化功能表

入:
X→參數表低8位
Y→參數表高8位

參數表:
?
n
aaaa
bbbb
cccc
dddd
....
....
....

參數表說明
"?"為一個位元組,不知幹麻,也不固定
"n"為目錄個數
"aaaa"為第一選項程式入口
"bbbb"為第一選項幫助文字起始位址
"cccc"為第二選項程式入口
"dddd"為第二選項幫助文字起始位址
※最後不用加任何的位元組作結尾


有了以上資料,
各位就可以輕鬆反組譯系統程式了
例如找出BASIC助手程式、科學計算程式等等 8)


若想自己用這個寫程式似乎還要些研究。
我還不知圖形存在哪。 :oops:
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
gbwind
一級會員
一級會員
文章: 254
註冊時間: 2003-08-02 8:57 PM
來自: 亞爾-魯特大陸

文章 gbwind »

哪一個機型?3000?
伊瑟拉之劍 RM 版
伊瑟拉之劍 天神之兵
策劃中...
頭像
sppmg
一級會員
一級會員
文章: 260
註冊時間: 2004-01-10 12:41 PM
來自: 地球ㄉ台灣ㄉ台北
聯繫:

文章 sppmg »

2000和2010確定可用

其他的不知

可試著找找看
像目錄程式由$4000開始
接下來就是
LDX
LDY
JSR $XXXX

其中XXXX就是圖型化功能表(NC2000為E0A2)
如果自己找不到,我可以找關鍵點給你們
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
回覆文章