shithub: riscv

ref: a029cb11d3d19b4064aa0c739707cd4b36742887
dir: /sys/lib/blit/rom3/

View raw version
146
056
057
000
057
101
000
057
000
057
000
140
000
056
000
057
000
057
000
057
000
116
000
054
117
000
112
146
046
000
140
060
260
154
056
000
057
000
077
000
077
057
057
000
057
116
000
037
117
000
070
060
000
260
000
154
056
000
057
000
077
000
077
000
057
057
000
057
116
000
037
117
000
071
000
000
060
000
260
000
157
056
000
057
000
057
000
077
000
077
000
057
000
057
116
000
037
117
000
071
000
000
060
000
260
000
157
056
000
057
000
057
000
077
000
077
057
000
057
116
000
037
117
000
071
000
000
056
057
000
057
000
057
000
057
000
057
040
000
116
117
000
114
074
377
116
116
116
377
110
004
377
044
000
101
000
056
000
057
000
110
000
116
000
056
120
112
147
056
000
110
000
101
000
057
000
057
000
057
000
057
116
000
037
117
000
114
004
377
116
116
116
377
110
014
377
044
000
040
147
000
056
116
000
042
112
146
160
140
000
116
000
016
101
000
056
000
057
000
116
000
044
130
116
000
016
140
056
000
151
116
000
042
112
147
040
000
151
261
146
046
000
140
056
000
116
000
051
056
116
000
053
046
000
040
146
043
000
000
151
040
000
151
261
146
102
000
151
112
000
147
040
000
102
000
056
116
000
053
160
114
014
377
116
116
116
377
110
074
377
044
000
040
147
112
000
146
140
001
116
000
016
046
000
140
000
101
000
056
000
057
000
101
000
057
000
057
000
116
000
054
117
000
112
147
000
050
000
140
000
052
000
040
000
261
146
000
056
000
057
000
057
000
057
000
057
000
116
000
057
117
000
112
000
147
040
000
041
000
000
140
045
000
000
112
000
147
040
000
041
000
000
051
000
000
102
000
051
000
112
000
147
040
000
041
000
047
000
050
040
146
377
046
000
040
146
377
040
000
151
261
147
040
000
151
261
146
043
000
000
151
112
000
147
040
000
041
000
000
040
000
041
000
000
040
000
151
041
000
045
000
151
000
102
000
043
000
151
046
000
151
140
050
000
140
101
000
056
000
057
000
057
000
057
000
116
000
054
117
000
112
147
051
000
050
000
040
146
046
000
267
146
377
116
000
016
160
114
074
377
116
116
116
377
110
014
377
044
000
064
000
101
000
056
000
057
000
057
000
116
000
052
120
112
147
000
046
000
140
056
000
057
000
057
000
116
000
052
120
112
147
076
057
000
057
000
116
000
051
120
140
046
000
040
146
076
057
000
057
116
000
051
120
114
014
377
116
116
116
377
110
004
377
044
000
116
000
016
102
101
000
057
000
057
000
057
116
000
026
117
000
076
000
077
000
101
000
057
000
057
000
116
000
075
117
000
057
000
057
000
057
116
000
026
117
000
116
000
016
114
004
377
116
116
116
377
102
057
000
107
101
000
057
000
057
000
057
000
000
116
000
067
117
000
116
116
116
377
110
034
377
044
000
046
056
116
000
066
066
164
140
056
116
000
066
076
077
116
000
051
124
066
122
112
146
160
326
160
320
065
000
112
000
156
065
000
000
060
342
062
000
222
076
102
116
000
051
124
075
377
060
000
220
000
076
102
116
000
051
124
075
377
060
003
220
076
077
377
116
000
051
124
075
377
160
301
000
062
004
222
125
076
077
377
116
000
051
124
075
377
040
377
055
377
055
377
327
377
160
301
000
124
321
377
101
377
056
000
057
000
116
000
051
130
050
045
000
116
000
016
040
147
102
057
377
057
101
377
057
000
057
000
057
000
000
116
000
060
117
000
076
000
101
377
057
000
057
000
057
000
000
116
000
056
117
000
076
000
077
000
101
377
057
000
057
000
116
000
075
117
000
057
000
057
000
057
000
000
116
000
056
117
000
124
377
046
140
076
000
077
377
057
116
000
066
130
062
222
342
322
377
077
057
000
000
057
057
000
116
116
000
060
117
000
160
321
377
130
112
146
116
000
016
101
377
042
000
130
042
043
000
000
040
000
130
114
034
377
116
116
116
377
110
014
377
044
000
164
066
000
056
000
145
057
116
000
044
130
103
377
042
043
000
000
170
140
000
101
377
056
000
057
000
040
000
145
055
377
057
116
000
052
120
112
147
000
060
377
220
377
066
110
201
000
064
154
164
264
000
155
060
000
123
064
264
147
112
157
160
301
136
062
222
076
116
000
106
014
000
157
064
140
164
264
147
076
101
377
057
000
057
000
116
000
050
120
076
101
377
057
000
057
000
116
000
050
120
070
076
000
116
000
021
060
000
162
340
302
000
145
146
377
046
000
040
147
116
000
016
101
000
056
000
057
000
101
000
057
000
057
000
057
116
000
057
117
000
116
000
016
056
116
000
051
102
000
065
000
060
114
014
377
116
116
116
377
110
000
377
064
000
155
160
301
122
321
000
160
320
000
075
000
122
000
123
000
076
000
101
000
057
000
057
000
057
000
000
116
000
056
117
000
114
000
377
116
116
116
377
110
004
377
064
000
066
000
070
000
072
000
056
000
077
000
116
000
052
124
044
040
146
221
140
000
160
300
074
160
076
062
302
147
216
122
060
220
350
065
000
065
000
065
000
065
000
065
000
056
000
057
060
220
110
162
062
000
322
057
040
116
000
105
130
057
116
000
054
120
040
147
377
102
000
076
000
101
000
057
000
057
000
057
116
000
056
117
000
040
114
004
377
116
116
116
377
221
056
101
000
057
000
057
000
116
000
050
120
116
116
116
377
110
004
377
044
000
040
147
056
116
000
055
056
116
000
053
114
004
377
116
116
116
377
110
000
377
064
000
066
000
264
154
060
140
060
114
000
377
116
116
116
377
110
000
377
064
000
066
000
264
157
060
140
060
114
000
377
116
116
116
377
110
014
377
044
000
056
000
057
116
000
074
130
046
101
000
056
000
057
000
057
000
116
000
052
120
112
147
000
160
300
000
162
222
160
343
064
060
000
112
147
014
000
147
014
000
147
014
000
146
265
140
205
140
060
106
301
114
014
377
116
116
116
377
060
000
260
000
155
260
000
154
060
000
260
000
155
260
000
154
160
140
160
116
116
116
377
043
000
000
151
043
000
000
151
040
000
151
131
042
000
151
042
040
000
151
122
042
000
151
131
042
043
000
151
000
151
116
116
116
377
110
034
377
160
320
000
002
000
377
200
000
064
044
000
151
050
102
000
151
160
300
147
140
044
050
046
040
162
302
147
060
110
347
101
010
267
145
060
110
347
101
010
261
144
000
046
160
300
040
044
265
142
265
000
151
147
221
140
000
122
000
151
060
000
151
014
000
156
140
377
140
060
110
347
111
010
267
143
050
160
042
202
040
044
107
000
140
102
102
000
120
060
110
347
101
010
267
145
045
000
000
101
000
114
034
377
116
116
116
377
221
056
077
000
116
000
052
124
116
116
116
377
110
004
377
040
000
121
044
160
300
040
044
102
000
114
004
377
116
116
116
377
110
034
377
044
000
046
000
151
140
040
000
261
146
110
000
116
000
053
130
046
160
300
040
050
261
142
056
116
000
055
114
034
377
116
116
116
377
060
000
260
000
154
060
000
260
000
154
060
000
260
000
154
060
000
260
000
154
160
140
160
116
116
116
377
110
004
377
044
000
166
112
000
151
146
043
000
130
000
151
160
300
000
147
221
140
000
126
344
130
140
043
000
152
040
000
151
220
000
151
056
000
000
116
000
106
043
000
152
060
122
112
146
116
000
055
040
000
151
220
000
151
056
000
000
116
000
106
260
145
040
000
151
105
377
045
000
000
044
000
040
131
045
000
040
345
221
000
151
040
042
000
151
042
040
000
151
130
042
042
114
004
377
116
116
116
377
221
056
057
000
057
000
116
000
054
120
116
116
116
377
110
004
377
044
000
265
000
151
143
265
000
130
144
044
377
265
000
151
143
265
000
130
144
160
201
114
004
377
116
116
116
377
110
004
377
044
000
130
140
160
225
040
000
261
000
146
160
201
160
320
000
345
225
265
000
151
142
114
004
377
116
116
116
377
110
034
377
076
000
040
000
107
057
000
057
000
057
000
000
116
000
056
117
000
044
000
130
046
140
000
160
320
000
345
227
140
000
111
377
160
300
146
044
000
040
045
045
000
045
160
227
050
040
345
042
223
040
040
112
147
045
123
146
131
040
045
267
000
151
142
377
043
000
151
076
000
040
000
107
057
000
057
000
057
000
000
116
000
056
117
000
114
034
377
116
116
116
377
076
000
057
000
107
101
000
057
000
057
000
116
000
056
117
000
116
116
116
377
076
000
057
000
107
101
000
057
000
057
000
057
000
116
000
067
117
000
116
116
116
377
076
000
057
000
101
000
057
000
057
000
057
000
000
116
000
067
117
000
116
116
116
377
110
014
377
044
000
107
000
060
260
000
154
060
260
000
154
060
000
260
000
154
060
000
260
000
154
160
140
160
014
000
146
160
140
060
260
154
064
060
000
260
000
154
065
000
000
060
000
260
000
157
065
000
000
060
000
260
000
157
065
000
000
160
114
014
377
116
116
116
377
110
004
377
044
000
076
000
057
000
057
101
000
057
000
057
000
057
000
000
116
000
060
117
000
076
000
057
000
057
000
000
101
000
057
000
057
000
057
116
000
060
117
000
076
000
057
000
057
101
000
057
000
057
000
057
000
000
116
000
060
117
000
114
004
377
116
116
116
377
110
034
377
044
000
046
000
112
000
146
160
140
160
075
377
112
147
102
377
020
000
110
075
377
140
000
060
301
000
103
000
111
010
112
377
146
060
000
020
000
075
377
060
000
020
000
075
377
075
377
075
000
377
076
000
060
000
320
377
077
020
000
110
320
000
077
057
101
377
057
000
057
000
057
000
116
000
060
117
000
060
000
020
000
321
000
040
000
122
000
020
110
064
146
377
040
000
114
034
377
116
116
110
077
114
000
000
050
052
074
000
114
000
000
114
000
000
101
000
076
236
157
062
330
264
157
064
076
236
157
070
322
076
336
236
264
157
064
076
236
123
155
116
117
000
120
114
174
116
110
110
110
110
110
110
110
110
101
000
140
042
054
060
062
322
166
164
304
344
172
164
304
122
344
106
110
072
350
350
222
123
170
066
000
326
064
000
324
271
146
040
060
263
154
040
102
323
334
104
104
014
000
155
274
157
040
320
042
334
170
110
040
110
057
057
160
101
000
276
157
101
001
057
334
334
076
314
042
300
234
110
057
057
107
000
074
116
044
120
116
170
070
110
310
147
052
110
110
115
340
112
154
104
124
334
116
000
000
000
000
000
000
000
000
040
042
354
263
300
263
040
324
320
121
377
140
376
040
042
355
263
300
263
040
324
320
121
377
140
376
040
354
300
201
324
320
121
377
140
376
040
355
300
201
324
320
121
377
140
376
040
354
300
106
301
324
320
121
377
140
376
040
355
300
106
301
324
320
121
377
140
376
040
354
300
261
324
320
121
377
140
376
040
355
300
261
324
320
121
377
140
376
060
000
201
000
301
106
261
000
115
340
112
152
010
000
060
146
010
000
122
062
122
320
112
152
104
124
226
070
110
014
377
147
010
000
014
377
127
147
010
000
112
146
122
040
110
110
342
343
020
000
152
122
320
152
123
110
261
010
000
146
010
000
147
110
153
110
106
140
202
004
002
104
110
236
160
120
314
121
062
154
104
343
302
341
006
340
066
162
106
354
060
300
147
106
302
147
122
140
123
010
000
110
153
110
106
110
060
300
147
106
302
147
122
140
121
000
102
140
010
000
110
153
110
106
112
000
146
010
000
060
320
112
152
104
124
224
117
377
052
110
110
262
000
156
000
060
040
112
152
120
072
162
064
360
066
000
103
000
160
112
152
104
355
140
354
010
000
147
010
000
146
110
153
110
106
010
000
146
110
153
110
106
310
052
122
147
002
123
300
272
147
072
110
112
146
001
140
072
072
042
300
270
127
104
110
006
110
072
103
000
140
300
062
002
102
102
103
000
140
001
300
140
000
112
146
010
000
146
162
302
345
141
000
300
014
000
157
010
000
147
072
074
050
342
155
144
147
072
140
122
122
147
162
141
000
060
104
010
000
147
320
030
162
141
000
123
157
072
121
231
072
010
000
147
162
141
300
112
157
010
000
146
072
074
110
112
147
062
072
320
110
112
147
066
072
324
072
121
050
014
000
146
020
000
110
111
000
231
072
072
116
070
074
110
113
373
116
042
040
020
112
147
062
002
110
102
102
112
152
120
112
146
010
000
062
146
010
000
147
162
302
347
200
006
360
072
116
000
110
060
110
062
064
360
066
000
320
162
140
000
342
145
010
000
146
140
062
147
342
145
006
360
072
040
042
110
102
263
112
126
220
052
040
000
200
112
152
342
112
152
344
010
000
147
350
064
360
066
000
342
152
124
340
152
012
000
340
152
125
040
110
052
124
124
110
140
010
000
147
064
360
066
000
112
133
275
152
110
052
110
060
342
145
060
042
263
072
140
112
153
010
000
147
112
152
125
140
072
377
060
263
072
060
147
010
000
146
010
000
147
320
320
220
010
000
147
110
060
074
320
112
152
006
000
072
060
275
320
320
110
052
110
072
060
320
162
140
072
060
000
147
320
320
072
010
000
147
060
320
162
320
112
152
320
072
116
000
060
102
320
162
140
116
377
056
000
057
000
116
116
000
066
130
116
116
116
377
110
014
377
044
000
164
040
000
107
000
140
020
110
110
056
000
000
116
000
105
062
000
022
010
324
122
112
146
060
114
014
377
116
116
116
377
110
034
377
114
004
000
046
114
000
000
260
157
074
276
157
076
164
304
324
236
157
110
110
110
110
260
157
074
276
157
076
062
222
157
000
050
040
110
057
057
116
000
074
120
042
160
300
170
340
106
147
160
300
166
340
123
350
350
236
156
306
062
000
020
020
110
140
024
020
123
060
000
300
131
104
320
162
062
000
222
123
322
046
344
072
110
062
000
345
111
020
042
330
322
322
123
221
321
060
040
124
002
000
062
302
074
116
000
000
000
000
000
000
000
000
263
116
261
261
261
261
121
377
300
261
121
377
140
062
261
302
263
116
060
060
060
060
121
377
062
261
302
263
121
377
114
034
377
116
116
106
106
134
106
062
202
303
116
301
301
301
301
121
377
200
301
121
377
140
203
116
201
201
201
201
121
377
300
201
121
377
140
116
377
043
000
000
151
116
116
116
377
076
000
057
000
057
000
151
116
000
071
120
043
000
000
151
116
116
116
377
060
000
321
000
151
060
000
321
000
151
116
116
116
377
056
000
057
000
151
116
000
074
130
055
377
076
000
057
377
057
000
151
116
000
071
120
043
377
000
151
116
116
116
377
076
000
057
000
057
000
057
000
000
116
000
071
117
000
043
000
000
151
116
116
116
377
060
000
260
000
146
060
000
260
000
147
056
000
057
000
116
000
073
130
055
000
076
000
057
000
057
000
040
000
134
057
000
057
000
057
000
116
000
076
117
000
116
116
116
377
110
000
377
044
000
066
000
156
112
146
040
140
060
104
066
040
104
044
112
154
060
123
110
224
040
201
114
000
377
116
116
116
377
110
000
377
044
000
066
000
156
112
146
040
140
060
104
066
040
104
044
112
157
060
123
110
324
040
201
114
000
377
116
116
116
377
110
000
377
064
000
060
000
151
320
076
060
000
151
110
062
222
000
152
110
322
057
040
116
000
105
130
062
000
151
110
320
057
116
000
071
130
320
000
152
066
112
000
151
147
060
104
140
060
114
000
377
116
116
116
377
110
000
377
064
000
060
000
151
320
076
112
000
151
147
060
104
140
060
220
000
152
110
320
062
000
151
110
057
116
000
105
130
062
000
151
110
220
057
116
000
071
130
320
000
152
066
112
000
151
146
140
123
060
123
076
116
000
072
260
147
060
114
000
377
116
116
116
377
110
000
377
102
377
063
000
000
151
102
000
151
060
000
220
000
064
060
000
220
000
066
076
116
000
106
075
377
076
116
000
106
260
377
157
102
000
151
070
000
075
000
000
075
000
070
000
075
000
000
075
000
070
064
066
112
154
122
377
070
000
075
000
000
075
000
070
000
075
000
000
075
000
060
104
064
060
104
066
112
154
122
000
151
060
104
066
060
000
104
075
000
060
000
104
075
000
063
000
151
063
000
151
063
000
000
152
063
000
000
152
112
377
147
160
320
000
140
060
000
123
075
377
076
116
000
072
075
377
112
000
151
146
070
377
075
377
075
377
040
377
114
000
377
116
116
116
377
110
000
377
064
000
076
116
000
072
066
112
000
151
147
060
104
066
060
220
000
152
320
122
301
000
151
062
222
000
152
322
124
303
000
151
222
040
114
000
377
116
116
042
000
040
162
202
222
000
350
322
220
060
000
220
110
301
320
321
116
116
377
110
014
377
105
000
107
000
060
321
060
321
040
000
114
014
377
116
116
116
377
110
014
377
105
000
107
000
060
221
060
221
040
000
114
014
377
116
116
116
377
110
004
377
064
000
105
000
325
325
225
225
101
000
042
000
130
042
043
000
000
040
000
130
114
004
377
116
116
116
377
110
004
377
064
000
105
000
060
110
201
064
060
110
201
064
040
000
114
004
377
116
116
116
377
110
004
377
064
000
105
000
060
301
064
060
301
064
040
000
114
004
377
116
116
116
377
110
014
377
105
000
107
000
060
221
040
125
060
221
060
221
060
221
101
000
042
000
130
042
043
000
000
040
000
130
114
014
377
116
116
116
377
110
014
377
105
000
107
000
060
321
040
125
060
321
060
321
060
321
101
000
042
000
130
042
043
000
000
040
000
130
114
014
377
116
116
116
377
110
014
377
105
000
107
000
040
260
146
160
140
160
114
014
377
116
116
116
377
110
014
377
105
000
107
000
040
260
146
040
260
146
160
140
160
114
014
377
116
116
116
377
060
000
260
000
154
160
140
060
000
260
000
155
160
140
160
075
377
060
000
260
000
154
160
140
060
000
260
000
155
160
140
160
201
377
060
377
116
116
116
377
110
004
377
044
000
102
377
112
000
151
146
064
000
075
000
000
075
000
064
000
075
000
000
075
000
064
000
075
000
000
075
000
064
000
075
000
000
075
000
122
377
070
000
072
000
074
000
076
000
101
000
056
000
057
000
057
000
116
000
076
120
064
101
000
056
000
057
000
057
000
116
000
076
120
066
140
000
060
300
146
001
112
146
055
000
377
055
000
000
055
377
000
075
377
064
066
377
112
147
000
160
300
147
075
000
060
076
116
000
072
075
000
140
000
160
300
147
060
123
075
000
076
116
000
072
075
000
140
000
160
300
147
112
000
151
147
075