libMicrofx/microfx_src/src/syscall.S

195 lines
3.3 KiB
ArmAsm
Raw Normal View History

2023-01-14 12:14:19 +01:00
.text
2023-04-20 18:52:58 +02:00
/* Screen */
2023-01-14 12:14:19 +01:00
.global __Bdisp_PutDisp_DD
.global __Bdisp_DrawRectangle
.global __Bdisp_AllClr_VRAM
.global __Bdisp_SetPoint_VRAM
.global __Bdisp_GetPoint_VRAM
.global __PrintXY
.global __locate
.global __Print
.global __Bdisp_DrawLineVRAM
.global __Bdisp_ClearLineVRAM
.global __PrintMiniSd
.global __DisplayMessageBox
2023-04-20 18:52:58 +02:00
.global __GetVRAMAddress
2023-01-14 12:14:19 +01:00
/* Keyboard */
.global __Keyboard_KeyDown
.global __Keyboard_PRGM_GetKey
/* Time */
.global __Sleep
.global __RTC_GetTicks
.global __RTC_Elapsed_ms
2023-01-29 17:21:45 +01:00
.global __RTC_Reset
2023-02-03 19:47:07 +01:00
.global __Timer_Install
.global __Timer_Deinstall
.global __Timer_Start
.global __Timer_Stop
2023-04-20 18:52:58 +02:00
/* RTC */
.global __RTC_GetTime
2023-01-14 12:14:19 +01:00
/* Files */
.global __Bfile_DeleteEntry
.global __Bfile_Create
.global __Bfile_Write
.global __Bfile_Open
.global __Bfile_Read
.global __Bfile_Close
.global __Bfile_Size
2023-01-14 12:14:19 +01:00
/* Tools */
.global _itoa
2023-01-19 19:53:23 +01:00
.global _malloc
.global _calloc
.global _realloc
.global _free
.global __LongToAscHex
2023-01-20 23:05:33 +01:00
/* Tools - str/mem */
.global _memcmp
.global _memcpy
.global _memset
.global _strcat
.global _strcmp
.global _strlen
.global _strncat
.global _strncmp
.global _strncpy
.global _strrchr
.global _strchr
.global _strstr
.global _memmove
2023-01-19 19:53:23 +01:00
/* GUI */
.global __InputNumber
.global __InputString
.global __DisplayFKeyIcon
2023-04-20 18:52:58 +02:00
.global __PopupWin
2023-01-14 12:14:19 +01:00
#define syscall(syscall_number) \
mov.l 1f, r0 ;\
mov.l do_syscall, r2 ;\
jmp @r2 ;\
nop ;\
2023-01-14 12:14:19 +01:00
.align 4 ;\
1: .long syscall_number
2023-01-14 12:14:19 +01:00
/* Display */
__Bdisp_PutDisp_DD:
syscall(0x028)
2023-01-14 12:14:19 +01:00
__Bdisp_DrawRectangle:
syscall(0x0763)
2023-01-14 12:14:19 +01:00
__Bdisp_AllClr_VRAM:
syscall(0x143)
2023-01-14 12:14:19 +01:00
__Bdisp_SetPoint_VRAM:
syscall(0x146)
2023-01-14 12:14:19 +01:00
__Bdisp_GetPoint_VRAM:
syscall(0x149)
2023-01-14 12:14:19 +01:00
__PrintXY:
syscall(0x150)
2023-01-14 12:14:19 +01:00
__locate:
syscall(0x807)
2023-01-14 12:14:19 +01:00
__Print:
syscall(0x808)
__Bdisp_DrawLineVRAM:
syscall(0x030)
__Bdisp_ClearLineVRAM:
syscall(0x031)
__PrintMiniSd:
syscall(0xC4F)
__DisplayMessageBox:
syscall(0x0901)
2023-04-20 18:52:58 +02:00
__GetVRAMAddress:
syscall(0x135)
2023-01-14 12:14:19 +01:00
/* Keyboard */
__Keyboard_KeyDown:
syscall(0x24D)
2023-01-14 12:14:19 +01:00
__Keyboard_PRGM_GetKey:
syscall(0x6C4)
2023-01-14 12:14:19 +01:00
/* Time */
__Sleep:
syscall(0x0420)
2023-01-14 12:14:19 +01:00
__RTC_GetTicks:
syscall(0x03B)
2023-01-14 12:14:19 +01:00
__RTC_Elapsed_ms:
syscall(0x03C)
2023-01-29 17:21:45 +01:00
__RTC_Reset:
syscall(0x039)
2023-02-03 19:47:07 +01:00
__Timer_Install:
syscall(0x0118)
2023-02-03 19:47:07 +01:00
__Timer_Deinstall:
syscall(0x0119)
2023-02-03 19:47:07 +01:00
__Timer_Start:
syscall(0x011A)
2023-02-03 19:47:07 +01:00
__Timer_Stop:
syscall(0x011B)
2023-04-20 18:52:58 +02:00
/* RTC */
__RTC_GetTime:
syscall(0x03A)
2023-01-14 12:14:19 +01:00
/* Files */
__Bfile_DeleteEntry:
mov #0, r5
syscall(0x0439)
__Bfile_Create:
syscall(0x434)
__Bfile_Write:
syscall(0x435)
__Bfile_Open:
mov #0, r6
syscall(0x42C)
__Bfile_Read:
syscall(0x432)
__Bfile_Close:
syscall(0x042D)
__Bfile_Size:
syscall(0x042F)
2023-01-14 12:14:19 +01:00
/* Tools */
_itoa:
syscall(0x541)
2023-01-19 19:53:23 +01:00
_malloc:
syscall(0xACD)
2023-01-19 19:53:23 +01:00
_calloc:
syscall(0xE6B)
2023-01-19 19:53:23 +01:00
_realloc:
syscall(0xE6D)
2023-01-19 19:53:23 +01:00
_free:
syscall(0xACC)
__LongToAscHex:
syscall(0x467)
2023-01-20 23:05:33 +01:00
_memcmp:
syscall(0xACE)
2023-01-20 23:05:33 +01:00
_memcpy:
syscall(0xACF)
2023-01-20 23:05:33 +01:00
_memset:
syscall(0xAD0)
2023-01-20 23:05:33 +01:00
_strcat:
syscall(0xAD4)
2023-01-20 23:05:33 +01:00
_strcmp:
syscall(0xAD5)
2023-01-20 23:05:33 +01:00
_strlen:
syscall(0xAD6)
2023-01-20 23:05:33 +01:00
_strncat:
syscall(0xAD7)
2023-01-20 23:05:33 +01:00
_strncmp:
syscall(0xAD8)
2023-01-20 23:05:33 +01:00
_strncpy:
syscall(0xAD9)
2023-01-20 23:05:33 +01:00
_strrchr:
syscall(0xADA)
2023-01-20 23:05:33 +01:00
_strchr:
syscall(0xE6E)
2023-01-20 23:05:33 +01:00
_strstr:
syscall(0xE6F)
2023-01-20 23:05:33 +01:00
_memmove:
syscall(0xE6C)
2023-01-19 19:53:23 +01:00
/* GUI */
__InputNumber:
syscall(0x0CC4)
2023-01-19 19:53:23 +01:00
__InputString:
syscall(0x0CC5)
__DisplayFKeyIcon:
syscall(0x04D1)
2023-04-20 18:52:58 +02:00
__PopupWin:
syscall(0x08FE)
2023-01-14 12:14:19 +01:00
/* Menu */
/* Nothing here ... */
do_syscall: .long 0x80010070