
Ȉ MonaSq/monapi Cu t@X


MonaOS  API ̃bp[CułB

ŉĂ̂́AMonaSq ォ monapi Ăяo߂
C^[tFCXɂĂłB
g̏ڍׂɂẮAMonaOS ̊֘A WikiAwb_t@CȂǂ
QƂĂB

ׂĂ monapi ֐pӂĂ킯ł͂܂B

̊֐͓ꂽ薼OύXĂꍇ܂B
Ⴆ΁Asyscall_set_ps_dump()  syscall_read_ps_dump() ́A
  ЂƂɂ܂Ƃ߂ monapi.ps() ƂȂĂ܂B



֐ꗗ

  monapi ̊֐ׂ͂ăe[u monapi ̉ɂ܂B


	function sleep(ms)
	function set_timer(ms)
	function kill_timer(id)
	function print(str)
	function kill()
	function exit(error)

	function syscall_test(iaddress)
	function syscall_sleep(tick)
	function syscall_set_timer(tick)
	function syscall_kill_timer(id)
	function syscall_print(str)
	function syscall_kill()

	function syscall_send(id, message)
		message ɂ͈ȉ̃CfbNXe[un܂B
		{
			header = 0,
			arg1 = 0,
			arg2 = 0,
			arg3 = 0,
			from = 0,
			str = "",
		}
	
	function syscall_receive()
		syscall_send() ɓn̂Ɠ\̃e[uA܂ null Ԃ܂B
	
	function syscall_exist_message()

	function syscall_mutex_create()
	function syscall_mutex_trylock(id)
	function syscall_mutex_lock(id)
	function syscall_mutex_trylock(id)
	function syscall_mutex_unlock(id)

	function syscall_get_vram_info()
		ȉ̃CfbNXe[uԂ܂B
		{
			vram = 0,
			bpp = 0,
			x = 0,
			y = 0,
		}
	function syscall_get_cursor()
		ȉ̃CfbNXe[uԂ܂B
		{
			x = 0,
			y = 0,
		}
	function syscall_set_cursor(x, y)

	function syscall_mutex_destroy(id)
	function syscall_lookup_main_thread(name)
	function syscall_get_pid()
	function syscall_get_tid()
	function syscall_get_arg()
		̔zԂ܂B

	function syscall_mthread_yield_message()
	function syscall_get_date()
		ȉ̃CfbNXe[uԂ܂B
		{
			year = 0,
			month = 0,
			day = 0,
			dayofweek = 0,
			min = 0,
			sec = 0,
		}
	
	function ps()
		ȉ̃CfbNXe[u̔zԂ܂B
		{
			name = "",
			state = 0,
			cr3 = 0,
			eip = 0,
			esp = 0,
			tid = 0,
		}

	function syscall_get_io()
	function syscall_kill_thread(tid)

	function syscall_lookup(name)
	function syscall_get_tick()
	function syscall_get_kernel_version()
	function syscall_clear_screen()
	function syscall_peek(index, flags)
		syscall_send() ɓn̂Ɠ\̃e[uA܂ null Ԃ܂B

	function syscall_set_irq_receiver(irq)
	function syscall_has_irq_receiver(irq)
	function syscall_remove_irq_receiver(irq)
	function syscall_get_memory_info()
		ȉ̃CfbNXe[uԂ܂B
		{
			totalMemoryH = 0,
			totalMemoryL = 0,
			freePageNum = 0,
			totalPageNum = 0,
			pageSize = 0,
		}
	function syscall_free_pages(address, size)
	function syscall_change_base_priority(priority)

	function syscall_set_dll_segment_writable()
	function syscall_set_dll_segment_notshared(index)

	function inp8(port)
	function outp8(port, value)
	function inp16(port)
	function outp16(port, value)
	function inp32(port)
	function outp32(port, value)
	function monapi_set_irq(irq, enabled, auto_ir2)
	function monapi_wait_interrupt(ms, irq, file, line)

	function monapi_get_server_thread_id(id)
	function monapi_call_dispose_handle(id, handle)
	function monapi_register_to_server(id, enabled)
	function monapi_call_mouse_set_cursor(enabled)
	function monapi_call_file_open(filename)
	function monapi_call_file_get_file_size(id)
	function monapi_call_file_seek(id, position, flag)
	function monapi_call_file_close(id)
	
	function monapi_call_file_read_data(filename, prompt)
		Liڍׂ SharedMemory NX̍QƁjԂ܂B

	function monapi_call_file_read_directory()
		ȉ̃CfbNXe[u̔zԂ܂B
		{
			name = "",
			size = 0,
			attr = 0,
		}

	function monapi_process_execute_file(command_line, prompt)
	function monapi_process_execute_file_get_tid(command_line, prompt, stdout_id)
	function monapi_call_change_drive(drive, prompt)
	function monapi_call_get_current_drive()
	function monapi_call_get_current_directory()
	function monapi_call_change_directory(dest)



SharedMemory NX

  SharedMemory NX́AMonaOS ̋LێNXłB
  ̃NXɂ̂ monapi ɂ݂͑܂񂪁A
  monapi_cmemoryinfo \̂ MemoryMap NX̋@\
  Squirrel WCu blob ̂悤ȋ@\킹Ă܂B


	constructor()
	  RXgN^
	  SharedMemory IuWFNg͐ł͎gpł܂B
	   create()  map() ֐Ăяo
	  L蓖ĂKv܂B

	create(size, prompt)
	  VLwTCYŊ蓖Ă

	function map(handle, size)
	  w̃nh̊L蓖Ă

	function dispose()
	  L
	  IɌĂяoȂĂAGC ɉꂽ_ŉ܂B
	
	function getHandle()
	function getOwner()
	function getSize()

	function getString(pos, size)
	  L pos Ŏw肳oCgʒu size oCg
	  ƂĎ擾

	function getInt8(pos)
	function getInt16(pos)
	function getInt32(pos)
	function getUInt8(pos)
	function getUInt16(pos)
	function getUInt32(pos)
	  L pos Ŏw肳oCgʒu琮l擾

	function getFloat32(pos)
	function getFloat64(pos)
	  L pos Ŏw肳oCgʒu畂_l擾

	function setString(str, pos)
	  L pos Ŏw肳oCgʒu֕ݒ肷

	function setInt8(val, pos)
	function setInt16(val, pos)
	function setInt32(val, pos)
	function setUInt8(val, pos)
	function setUInt16(val, pos)
	function setUInt32(val, pos)
	  L pos Ŏw肳oCgʒu֐lݒ肷

	function setFloat32(val, pos)
	function setFloat64(val, pos)
	  L pos Ŏw肳oCgʒu֕_lݒ肷



萔

  e[u monapi ̉ɒ`ꂽ萔ꗗłB


	VK_SPACE
	VK_BACKSPACE
	VK_ENTER
	VK_PERIOD
	VK_SLASH
	VK_A
	VK_B
	VK_C
	VK_D
	VK_E
	VK_F
	VK_G
	VK_H
	VK_I
	VK_J
	VK_K
	VK_L
	VK_M
	VK_N
	VK_O
	VK_P
	VK_Q
	VK_R
	VK_S
	VK_T
	VK_U
	VK_V
	VK_W
	VK_X
	VK_Y
	VK_Z
	VK_0
	VK_1
	VK_2
	VK_3
	VK_4
	VK_5
	VK_6
	VK_7
	VK_8
	VK_9
	VK_TEN_0
	VK_TEN_1
	VK_TEN_2
	VK_TEN_3
	VK_TEN_4
	VK_TEN_5
	VK_TEN_6
	VK_TEN_7
	VK_TEN_8
	VK_TEN_9
	VK_TEN_MINUS
	VK_TEN_PLUS
	VK_TEN_PERIOD
	
	MONA_SUCCESS
	MONA_FAILURE

	SEEK_SET
	SEEK_CUR
	SEEK_END

	FILE_OPEN_READ
	FILE_OPEN_NORMAL_WRITE
	FILE_OPEN_APPEND_WRITE

	WAIT_TIMER
	WAIT_NONE
	THREAD_UNKNOWN

	MSG_NONE
	MSG_MAP
	MSG_MEMORY_MAP_ID
	MSG_RESULT_OK
	MSG_RESULT_ERROR
	MSG_SERVER_START_OK
	MSG_INTERRUPTED
	MSG_MONES_REGIST
	MSG_MONES_IP_SEND
	MSG_MONES_IP_NOTICE
	MSG_MONES_ICMP_SEND
	MSG_MONES_ICMP_NOTICE
	MSG_MONES_FRAME_REQ
	MSG_MONES_ARPTBL_REQ
	MSG_MONES_WAKEUP_ARP_WAIT
	MSG_THREAD_KILLED
	MSG_TIMER

	ATTRIBUTE_DIRECTORY

	PEEK_REMOVE
	DRIVE_NONE
	DRIVE_FD0
	DRIVE_CD0
	SHARED_FDC_BUFFER

	FS_NO_ERROR
	FS_INIT_ERROR
	FS_GET_ROOT_ERROR
	FS_GET_DIR_ERROR
	FS_DIR_NOT_EXIST_ERROR
	FS_ALREADY_OPEN_ERROR
	FS_FILE_OPEN_ERROR
	FS_FILE_NOT_FOUND
	FS_FILE_IS_NOT_OPEN
	FS_FILE_EXIST
	FS_FILE_CREATE_ERROR

	IDM_OBJECT_NOT_FOUND
	IDM_SECURITY_ERROR

	ID_MOUSE_SERVER
	ID_KEYBOARD_SERVER
	ID_FILE_SERVER
	ID_GUI_SERVER
	ID_ELF_SERVER
	ID_PROCESS_SERVER
	ID_PE_SERVER
	ID_MONITOR_SERVER
	ID_NUMBER_OF_SERVERS
