N$=EMUMACHINENAME$()
CPUの名前文字列
レジスタ数
EMUCPUINFO OUT N$,RC
・FM-7専用。他機種では常に0が返る
CPU番号
V=EMUCPUNO()
・IDが使用可能CPU数以上の場合 Out of rangeエラー
・FM-7専用。他機種では0以外設定できない
0 | 停止中 |
1 | 実行中 |
2 | プロテクト動作中 |
V=EMUSTATUS()
・既に実行中の場合、ADDRがあれば設定だけ行う
&H0000~&HFFFF:ブレークするアドレス
EMUBPの ID 0番にブレークポイントを設定
EMURUN &HA000
・すでに停止中の場合は何もしない
EMUSTOP
&H0000~&HFFFF:CPU上のアドレス
EMUJUMP &HC000
・エミュレータ実行中の呼び出しはIllegal function callエラー
EMUTRACE
・エミュレータ実行中の呼び出しはIllegal function callエラー
EMUSTEP
・ADDRが範囲外の場合はOut of rangeエラー
&H0000~&HFFFF:CPU上のアドレス
0~255:取得したメモリー内容
V=EMUMEM( &HD000 )
・ADDRが範囲外の場合はOut of rangeエラー
&H0000~&HFFFF:CPU上のアドレス
0~255:取得したメモリー内容
TRUE:ROM領域の書き込みを禁止
EMUMEM &HD000,&HA3
・ADDRが範囲外の場合はOut of rangeエラー
&H0000~&HFFFF:CPU上のアドレス
逆アセンブルした命令文字列
命令の長さ
EMUDISASM &HAC00 OUT ASM$, LENGTH
取得できるレジスタの総数
V=EMUREGCNT()
レジスタ番号( EMUREGCNT()で取得した数-1まで指定可能 )
・IDが範囲外の場合Out of rangeエラー
レジスタの名前文字列
N$=EMUREGNAME$(0)
レジスタ番号( EMUREGCNT()で取得した数-1まで指定可能 )
・IDが範囲外の場合Out of rangeエラー
レジスタのビット幅
V=EMUREGSIZE(0)
レジスタ名文字列(レジスタ名でない場合Illegal function callエラー)
レジスタのビット幅
V=EMUREGSIZE("A")
0 | 表 |
1 | 裏 |
V=EMUREGSIDE()
レジスタ情報を受け取る配列名
DIM REG[10] EMUREG REG
レジスタ番号( EMUREGCNT()で取得した数-1まで指定可能)
・IDが範囲外の場合Out of rangeエラー
レジスタの内容
V=EMUREG(0)
レジスタ名文字列
・レジスタ名でない場合Illegal function callエラー
レジスタの内容
V=EMUREG("A")
レジスタ番号( EMUREGCNT()で取得した数-1まで指定可能)
・IDが範囲外の場合Out of rangeエラー
レジスタに書き込む値
レジスタの内容
EMUREG 0,56
レジスタ名文字列
・レジスタ名でない場合Illegal function callエラー
レジスタに書き込む値
レジスタの内容
EMUREG "A",&HCC
種類
0 | 何も無かった | #EMUIO_NONE |
1 | PCブレークに引っかかった | #EMUIO_PCBREAK |
2 | リードブレークに引っかかった | #EMUIO_READBREAK |
3 | ライトブレークに引っかかった | #EMUIO_WRITEBREAK |
4 | ステップ実行完了 | #EMUIO_STEP |
5 | トレース実行完了 | #EMUIO_TRACE |
ブレークした時のTYPE内ID番号
PCブレーク、リードブレーク、ライトブレークは、0〜3が返ります。
ステップ、トレースの場合はIDが無いので、-1が返ります。
EMUBKST OUT TYPE, NUMBER
&H0000~&HFFFF:ブレークするアドレス
EMUBP &HFF00
ブレークポインタの管理ID(0~3、省略時0)
&H0000~&HFFFF:ブレークするアドレス
EMUBP 0,&HFF00
ブレークポインタの管理ID
0 | 設定されていない |
1 | 設定されている |
&H0000~&HFFFF:読み込むアドレス
EMUBP 0 OUT FLAG,ADDR
ブレークポインタの管理ID
EMUBC 0
&H0000~&HE008:読み込むアドレス
EMURP &H56AF
リードポインタの管理ID
&H0000~&HE008:読み込むアドレス
-1、1~255:読み込まれた回数(省略もしくは-1の場合は、毎回)
EMURP 0,&H56AF,&HAA
リードポインタの管理ID
0 | 設定されていない |
1 | 設定されている |
&H0000~&HE008:読み込むアドレス
0~255:読み込まれた回数(省略または-1の時、毎回)
EMURP 0 OUT FLAG,ADD,CNT
リードポインタの管理ID
EMURC 0
&H0000~&HE012:書き込むアドレス
EMUWP &H56AF
ライトポインタの管理ID
&H0000~&HE012:書き込むアドレス
-1、1~255:書き込まれた回数(省略もしくは-1の場合は、毎回)
-1、1~255:書き込まれる値(省略は-1)
EMUWP 0,&H56AF,&HAA,&H40
ライトポインタの管理ID
0 | 設定されていない |
1 | 設定されている |
&H0000~&HE012:書き込むアドレス
0~255:書き込まれた回数(省略または-1の時、毎回)
書き込まれる値
EMUWP 0 OUT FLAG,ADDR,NUM,VALUE
ライトポインタの管理ID
EMUWC 0
EMURESET
0~255
EMUVOLUME 128
0~255
V=EMUVOLUME()
SmileBASIC上の画面座標 (-32768~32767)
ウィンドウの表示サイズ (0~32768)
(全画面表示指定 0,0,0,0 以外で幅/高さが0の場合はエラーとなります。)
EMUWINDOW 16,16,320,200
0 | 非表示 |
1 | 画面左上 |
2 | 画面右上 |
3 | 画面左下 |
4 | 画面右下 |
5 | 全画面 |
EMUWINDOW 5
文字色(24ビットRGBカラー)
背景色(24ビットRGBカラー)
ボーダー色(24ビットRGBカラー)
EMUCOLOR OUT TX,BK,BD
0 | MZ-80配列(デフォルト) |
1 | USBキーボード配列 |
EMUKBDTYPE 1
&H00~&HFF:ディスプレイコード
0~7:行の位置
&H00~&HFF:ビットデータ
'アルファベットのAを変更する場合 EMUCG &H01,0,&HFE EMUCG &H01,1,&H82 EMUCG &H01,2,&H82 EMUCG &H01,3,&HFE EMUCG &H01,4,&H82 EMUCG &H01,5,&H82 EMUCG &H01,6,&H82 EMUCG &H01,7,&H00
&H00~&HFF:ディスプレイコード
0~7:行の位置
&H00~&HFF:指定行のビットデータ
V=EMUCG( &H01,0 )
EMUCGRESET
#JOYPAD_ではじまる定数でジョイパッド側のボタンを指定
対応するキーボード入力情報
対応するキーボード入力情報
EMUJOY BTNID, KEYPA, KEYPB
#JOYPAD_ではじまる定数でジョイパッド側のボタンを取得
TRUE | アサイン有り |
FALSE | アサインなし |
対応するキーボード入力情報
対応するキーボード入力情報
EMUJOY BTNID OUT SW, KEYPA, KEYPB
#JOYPAD_ではじまる定数でジョイパッド側のボタンを指定
・ボタンIDを省略した場合、全ボタンのアサインをクリア
EMUJOYCLR