misc/include/doswork.equ
	.nlist
  .ifndef __doswork_equ__
__doswork_equ__	equ	1

;----------------------------------------------------------------
;
;	DOSワークエリア
;
;----------------------------------------------------------------

DOS_MEMORY_LIMIT	equ	$1C00		;.l _MALLOCできるメモリ空間の末尾アドレス+1
DOS_MEMORY_START	equ	$1C04		;.l _MALLOCできるメモリ空間の先頭アドレス[[302]$00008372]
DOS_CALL_LEVEL		equ	$1C08		;.w DOSコールのレベル(ここから_INDOSFLG)
DOS_CALL_NUMBER		equ	$1C0A		;.b レベル0で入ったDOSコール番号
DOS_NEWFAT_MODE		equ	$1C0B		;.b newfatのモード(0または2)[0]
DOS_RETRY_COUNT		equ	$1C0C		;.w リトライ回数[3]
DOS_RETRY_INTERVAL	equ	$1C0E		;.w リトライ待ち時間[100]
DOS_VERIFY_MODE		equ	$1C10		;.w verifyのモード(0=off,1=on)[0]
DOS_BREAK_MODE		equ	$1C12		;.b breakのモード(0=off,1=on,2=kill)[2]
DOS_CTRL_P_MODE		equ	$1C13		;.b CTRL+Pのモード(0=off,-1=on)[0]
DOS_CHANGE_PR_PENDING	equ	$1C14		;.b DOSコール終了時にスレッドを切り替えるか(0=no,1=yes)[0]
DOS_CURRENT_DRIVE	equ	$1C15		;.b カレントドライブ番号(0=A:)
DOS_TRAP_11_FLAG	equ	$1C16		;.b TRAP#11(BREAK)処理フラグ(処理中|------|BREAK(CTRL+C)/SHIFT+BREAK(CTRL+S))[0]
DOS_TRAP_10_FLAG	equ	$1C17		;.b TRAP#10発生フラグ(0=off,1=on)
DOS_TRAP_10_D0		equ	$1C18		;.l TRAP#10に渡されたD0.L
DOS_LAST_DEVICE_HEAD	equ	$1C1C		;.l 最後のデバイスドライバのデバイスヘッダ
DOS_HUMAN_MEMORY	equ	$1C20		;.l Humanのメモリ管理テーブルの先頭アドレス[[302]$00008372]
DOS_FREE_AREA		equ	$1C24		;.l 空きエリアの先頭アドレス
DOS_PROCESS_HANDLE	equ	$1C28		;.l:実行中のプロセスのメモリ管理テーブルのハンドル[[302]$00013D0A]
DOS_HANDLER_FCB_START	equ	$1C2C		;.l ハンドラFCB変換テーブルの先頭(1個2バイト)[0]
DOS_FCB_START		equ	$1C30		;.l FCBテーブルの先頭(1個96バイト)[0]
DOS_BUFFER_START	equ	$1C34		;.l buffersのバッファを初期化する直前の空きエリアの先頭アドレス
DOS_DRIVE_START		equ	$1C38		;.l ドライブ管理テーブルの先頭アドレス
DOS_INNER_DPB_START	equ	$1C3C		;.l 内部DPBテーブルの先頭アドレス
DOS_SHARE_START		equ	$1C40		;.l share管理領域の先頭アドレス
DOS_COMMON_START	equ	$1C44		;.l common管理領域の先頭アドレス
DOS_COMMON_USED		equ	$1C48		;.l common管理領域の使用している末尾のアドレス+1
DOS_COMMON_END		equ	$1C4C		;.l common管理領域の末尾のアドレス+1
DOS_MAIN_THREAD		equ	$1C50		;.l メインスレッドのスレッド管理テーブルの先頭アドレス
DOS_CURRENT_THREAD	equ	$1C54		;.l 現在のスレッドのスレッド管理テーブルの先頭アドレス
DOS_MAX_THREADS_1	equ	$1C58		;.w processのスレッド数-1
DOS_CURRENT_THREADS_1	equ	$1C5A		;.w 現在動作中のスレッド数-1
DOS_LEVEL_0_SSP		equ	$1C5C		;.l DOSコールにレベル0で入ったときのSSP。$0000:D1-D7/A0-A6,$0038:SR,$003A:PC
DOS_ABORT_SR		equ	$1C60		;.w アボート時のSR
DOS_ABORT_SSP		equ	$1C62		;.l アボート時のSSP
DOS_PREV_TRAP_11	equ	$1C66		;.l 元のTRAP#11ベクタ
DOS_PREV_TRAP_10	equ	$1C6A		;.l 元のTRAP#10ベクタ
DOS_FILES_MAX_2		equ	$1C6E		;.w filesのファイル数+2
DOS_BUFFERS_SIZE	equ	$1C70		;.w buffersのバッファ容量[$0400]
DOS_BUFFERS_COUNT	equ	$1C72		;.b buffersのバッファ数
DOS_LASTDRIVE_NUMBER	equ	$1C73		;.b lastdriveのドライブ番号(0=A:)
DOS_DRIVES_MAX_1	equ	$1C74		;.b ドライブ管理テーブルの個数-1[$19]
DOS_LAST_DRIVE		equ	$1C75		;.b 組み込まれた最後のドライブの内部ドライブ番号(0=A:)
DOS_SHARE_FILES		equ	$1C76		;.w shareのファイル数
DOS_SHARE_LOCKS		equ	$1C78		;.w shareのロック数
DOS_SHARE_SIZE		equ	$1C7A		;.l share管理領域の1個のサイズ(ロック数*12+92)
DOS_TO_INNER_DRIVE	equ	$1C7E		;.b[26] ドライブ番号→内部ドライブ番号変換テーブル
DOS_ACTIVE_FCB		equ	$1C98		;.l DOSコールに入ってからオープンしたFCBテーブル
DOS_ACTIVE_HANDLER	equ	$1C9C		;.l DOSコールに入ってからオープンしたハンドラ番号
DOS_EXEC_STATUS		equ	$1CA0		;.b _EXECの状態(-1=アロケート中,-2=ファイルロード中,-3=プロセス管理テーブル設定中)
DOS_EXEC_MODULE		equ	$1CA1		;.b _EXECで起動するモジュール番号
DOS_CON_INS_MODE	equ	$1CA2		;.b CONのINSモード(0=上書き,-1=挿入)
DOS_DEVICE_ERROR_FLAG	equ	$1CA3		;.b デバイスエラー表示中フラグ(0=表示中,-1=表示中ではない)
DOS_STDIN_POINTER	equ	$1CA4		;.l 標準入力バッファの読み出し位置
DOS_STDIN_REMAINING	equ	$1CA8		;.w 標準入力バッファの残りバイト数
DOS_EXEC_MEMORY		equ	$1CAA		;.l _EXECで起動するプロセスのメモリ管理テーブル
DOS_EXIT_CODE		equ	$1CAE		;.l _EXIT,_KEEPPR,_EXIT2の終了コード(上位ワードは0=非常駐,1=常駐)
DOS_EXEC_FILE_NAME	equ	$1CB2		;.l _EXECで起動するファイル名
DOS_CLOCK_DEVICE	equ	$1CB6		;.l CLOCKデバイスヘッダ
DOS_FFLUSH_MODE		equ	$1CBA		;.b fflushのモード(0=off,1=on)
DOS_CTRL_C_CODE		equ	$1CBC		;.w CTRL+Cのコード(通常は$0003,off=cのとき$0103)
DOS_CTRL_N_CODE		equ	$1CBE		;.w CTRL+Nのコード(通常は$000E,off=nのとき$010E)
DOS_CTRL_P_CODE		equ	$1CC0		;.w CTRL+Pのコード(通常は$0010,off=pのとき$0110)
DOS_CTRL_Q_CODE		equ	$1CC2		;.w CTRL+Qのコード(通常は$0011,off=qのとき$0111)
DOS_CTRL_S_CODE		equ	$1CC4		;.w CTRL+Sのコード(通常は$0013,off=sのとき$0113)

  .endif  ;__doswork_equ__
	.list