This commit is contained in:
flo66 2017-01-07 21:20:14 +01:00
parent df9c703659
commit e84dadb5f3
4 changed files with 2 additions and 233 deletions

View File

@ -32,9 +32,9 @@ WRAPR = g1a-wrapper
SENDR = p7
# SOURCES
SRC = crt0 Sound4Calc syscall
SRC = Sound4Calc\
# INCLUDES
INC = syscall Sound4Calc addresses\
INC = Sound4Calc addresses\
# END OF FILE

View File

@ -1,12 +0,0 @@
#ifndef _SYSCALL_H
#define _SYSCALL_H
int Keyboard_GetKey(int*column, int*row, int type_of_waiting, int timeout_period, int menu, unsigned short*keycode);
int Keyboard_GetPressedKey(short *matrixcode);
int Keyboard_IsKeyPressed(short *matrixcode);
int Keyboard_KeyDown(void);
int Keyboard_ClrBuffer(void);
#endif

View File

@ -1,172 +0,0 @@
.section .pretext
.global initialize
initialize:
sts.l pr, @-r15
! set up TLB
mov.l Hmem_SetMMU, r3
mov.l address_one, r4 ! 0x8102000
mov.l address_two, r5 ! 0x8801E000
jsr @r3 ! _Hmem_SetMMU
mov #108, r6
! clear the BSS
mov.l bbss, r4 ! start
mov.l ebss, r5 ! end
bra L_check_bss
mov #0, r6
L_zero_bss:
mov.l r6, @r4 ! zero and advance
add #4, r4
L_check_bss:
cmp/hs r5, r4
bf L_zero_bss
! Copy the .data
mov.l bdata, r4 ! dest
mov.l edata, r5 ! dest limit
mov.l romdata, r6 ! source
bra L_check_data
nop
L_copy_data:
mov.l @r6+, r3
mov.l r3, @r4
add #4, r4
L_check_data:
cmp/hs r5, r4
bf L_copy_data
mov.l bbss, r4
mov.l edata, r5
sub r4, r5 ! size of .bss and .data sections
add #4, r5
mov.l bssdatasize, r4
mov.l r5, @r4
mov.l GLibAddinAplExecutionCheck, r2
mov #0, r4
mov #1, r5
jsr @r2 ! _GLibAddinAplExecutionCheck(0,1,1);
mov r5, r6
mov.l CallbackAtQuitMainFunction, r3
mov.l exit_handler, r4
jsr @r3 ! _CallbackAtQuitMainFunction(&exit_handler)
nop
mov.l main, r3
jmp @r3 ! _main()
lds.l @r15+, pr
_exit_handler:
mov.l r14, @-r15
mov.l r13, @-r15
mov.l r12, @-r15
sts.l pr, @-r15
mov.l Bdel_cychdr, r14
jsr @r14 ! _Bdel_cychdr
mov #6, r4
jsr @r14 ! _Bdel_cychdr
mov #7, r4
jsr @r14 ! _Bdel_cychdr
mov #8, r4
jsr @r14 ! _Bdel_cychdr
mov #9, r4
jsr @r14 ! _Bdel_cychdr
mov #10, r4
mov.l BfileFLS_CloseFile, r12
mov #4, r14
mov #0, r13
L_close_files:
jsr @r12 ! _BfileFLS_CloseFile
mov r13, r4
add #1, r13
cmp/ge r14, r13
bf L_close_files
mov.l flsFindClose, r12
mov #0, r13
L_close_finds:
jsr @r12 ! _flsFindClose
mov r13, r4
add #1, r13
cmp/ge r14, r13
bf L_close_finds
lds.l @r15+, pr
mov.l @r15+, r12
mov.l @r15+, r13
mov.l Bkey_Set_RepeatTime_Default, r2
jmp @r2 ! _Bkey_Set_RepeatTime_Default
mov.l @r15+, r14
.align 4
address_two: .long 0x8801E000
address_one: .long 0x8102000
Hmem_SetMMU: .long _Hmem_SetMMU
GLibAddinAplExecutionCheck: .long _GLibAddinAplExecutionCheck
CallbackAtQuitMainFunction: .long _CallbackAtQuitMainFunction
Bdel_cychdr: .long _Bdel_cychdr
BfileFLS_CloseFile: .long _BfileFLS_CloseFile
flsFindClose: .long _flsFindClose
Bkey_Set_RepeatTime_Default: .long _Bkey_Set_RepeatTime_Default
bbss: .long _bbss
ebss: .long _ebss
edata: .long _edata
bdata: .long _bdata
romdata: .long _romdata
bssdatasize: .long _bssdatasize
exit_handler: .long _exit_handler
main: .long _main
_Hmem_SetMMU:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x3FA
_Bdel_cychdr:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x119
_BfileFLS_CloseFile:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x1E7
_Bkey_Set_RepeatTime_Default:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x244
_CallbackAtQuitMainFunction:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x494
_flsFindClose:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x218
_GLibAddinAplExecutionCheck:
mov.l sc_addr, r2
mov #0x13, r0
jmp @r2
nop
sc_addr: .long 0x80010070
.end

View File

@ -1,47 +0,0 @@
.global _Keyboard_GetKey
.type _Keyboard_GetKey, @function
_Keyboard_GetKey:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x247
.global _Keyboard_GetPressedKey
.type _Keyboard_GetPressedKey, @function
_Keyboard_GetPressedKey:
mov.l sc_addr, r2
mov.l 2f, r0
jmp @r2
nop
2: .long 0x24A
.global _Keyboard_IsKeyPressed
.type _Keyboard_IsKeyPressed, @function
_Keyboard_IsKeyPressed:
mov.l sc_addr, r2
mov.l 3f, r0
jmp @r2
nop
3: .long 0x24B
.global _Keyboard_KeyDown
.type _Keyboard_KeyDown, @function
_Keyboard_KeyDown:
mov.l sc_addr, r2
mov.l 4f, r0
jmp @r2
nop
4: .long 0x24D
.global _Keyboard_ClrBuffer
.type _Keyboard_ClrBuffer, @function
_Keyboard_ClrBuffer:
mov.l sc_addr, r2
mov.l 5f, r0
jmp @r2
nop
5: .long 0x241
sc_addr:
.long 0x80010070