diff options
Diffstat (limited to 'apps/plugins/sdl/src/video/riscos/SDL_riscosASM.S')
-rw-r--r-- | apps/plugins/sdl/src/video/riscos/SDL_riscosASM.S | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/apps/plugins/sdl/src/video/riscos/SDL_riscosASM.S b/apps/plugins/sdl/src/video/riscos/SDL_riscosASM.S deleted file mode 100644 index fae32f84d6..0000000000 --- a/apps/plugins/sdl/src/video/riscos/SDL_riscosASM.S +++ /dev/null | |||
@@ -1,116 +0,0 @@ | |||
1 | ; | ||
2 | ; SDL - Simple DirectMedia Layer | ||
3 | ; Copyright (C) 1997-2012 Sam Lantinga | ||
4 | ; | ||
5 | ; This library is free software; you can redistribute it and/or | ||
6 | ; modify it under the terms of the GNU Library General Public | ||
7 | ; License as published by the Free Software Foundation; either | ||
8 | ; version 2 of the License, or (at your option) any later version. | ||
9 | ; | ||
10 | ; This library is distributed in the hope that it will be useful, | ||
11 | ; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | ; Library General Public License for more details. | ||
14 | ; | ||
15 | ; You should have received a copy of the GNU Library General Public | ||
16 | ; License along with this library; if not, write to the Free | ||
17 | ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | ; | ||
19 | ; Sam Lantinga | ||
20 | ; slouken@libsdl.org | ||
21 | ; | ||
22 | ; Assembler routines for RISC OS display | ||
23 | ; | ||
24 | |||
25 | AREA |C$$CODE| | ||
26 | |||
27 | EXPORT |RISCOS_Put32| | ||
28 | |||
29 | ; Display 32bpp to 32bpp, 1:1 | ||
30 | ; | ||
31 | ; Code provided by Adrain Lees | ||
32 | ; | ||
33 | ; entry a1 -> destination | ||
34 | ; a2 = dest width in pixels | ||
35 | ; a3 = dest line length in bytes | ||
36 | ; a4 = dest height in scanlines | ||
37 | ; arg5 -> source | ||
38 | ; arg6 = byte offset from end of source line to start of next | ||
39 | |||
40 | Arg5 * 10*4 | ||
41 | Arg6 * Arg5+4 | ||
42 | |||
43 | RISCOS_Put32 ROUT | ||
44 | STMFD sp!,{a2,v1-v6,sl,fp,lr} | ||
45 | LDR ip,[sp,#Arg5] | ||
46 | MOV lr,a1 | ||
47 | B ucp64lp | ||
48 | |||
49 | 00 ;tail strip of 1-15 pixels | ||
50 | |||
51 | LDR v1,[ip],#4 | ||
52 | 01 SUBS a2,a2,#1 | ||
53 | STR v1,[lr],#4 | ||
54 | LDRHI v1,[ip],#4 | ||
55 | BHI %01 | ||
56 | B %02 | ||
57 | |||
58 | ucp64end ADDS a2,a2,#16 | ||
59 | BNE %00 | ||
60 | |||
61 | 02 SUBS a4,a4,#1 ;height-- | ||
62 | LDRHI v1,[sp,#Arg6] | ||
63 | LDRHI a2,[sp] ;reload width | ||
64 | BLS %03 | ||
65 | |||
66 | ;move to start of next scanline | ||
67 | |||
68 | ADD lr,a1,a3 | ||
69 | ADD a1,a1,a3 | ||
70 | ADD ip,ip,v1 | ||
71 | |||
72 | ucp64lp SUBS a2,a2,#16 | ||
73 | BLO ucp64end | ||
74 | |||
75 | PLD [ip,#64] | ||
76 | |||
77 | LDR v1,[ip],#4 | ||
78 | LDR v2,[ip],#4 | ||
79 | LDR v3,[ip],#4 | ||
80 | LDR v4,[ip],#4 | ||
81 | LDR v5,[ip],#4 | ||
82 | LDR v6,[ip],#4 | ||
83 | LDR sl,[ip],#4 | ||
84 | LDR fp,[ip],#4 | ||
85 | STR v1,[lr],#4 | ||
86 | STR v2,[lr],#4 | ||
87 | STR v3,[lr],#4 | ||
88 | STR v4,[lr],#4 | ||
89 | STR v5,[lr],#4 | ||
90 | STR v6,[lr],#4 | ||
91 | STR sl,[lr],#4 | ||
92 | STR fp,[lr],#4 | ||
93 | |||
94 | PLD [ip,#64] | ||
95 | |||
96 | LDR v1,[ip],#4 | ||
97 | LDR v2,[ip],#4 | ||
98 | LDR v3,[ip],#4 | ||
99 | LDR v4,[ip],#4 | ||
100 | LDR v5,[ip],#4 | ||
101 | LDR v6,[ip],#4 | ||
102 | LDR sl,[ip],#4 | ||
103 | LDR fp,[ip],#4 | ||
104 | STR v1,[lr],#4 | ||
105 | STR v2,[lr],#4 | ||
106 | STR v3,[lr],#4 | ||
107 | STR v4,[lr],#4 | ||
108 | STR v5,[lr],#4 | ||
109 | STR v6,[lr],#4 | ||
110 | STR sl,[lr],#4 | ||
111 | STR fp,[lr],#4 | ||
112 | |||
113 | B ucp64lp | ||
114 | |||
115 | 03 LDMFD sp!,{a2,v1-v6,sl,fp,pc} | ||
116 | |||