File tree 1 file changed +4
-4
lines changed
1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -11,7 +11,8 @@ enum ModeName {
11
11
G640x480x16 ,
12
12
}
13
13
14
- const FRAMEBUFFER : usize = 0xA0000 ;
14
+ const FRAME_BUFFER_ADDR : usize = 0xA0000 ;
15
+ const DOUBLE_BUFFER : [ u8 ; 640 * 480 ] = [ 0 ; 640 * 480 ] ;
15
16
16
17
static MODE : Mutex < Option < ModeName > > = Mutex :: new ( None ) ;
17
18
@@ -174,14 +175,13 @@ fn set_640x480_mode() {
174
175
175
176
fn clear_screen ( ) {
176
177
// Clear screen
177
- let screen = [ 0 ; 640 * 480 ] ;
178
178
let size = match * MODE . lock ( ) {
179
179
Some ( ModeName :: G320x200x256 ) => 320 * 200 ,
180
180
Some ( ModeName :: G640x480x16 ) => 640 * 480 ,
181
181
_ => return ,
182
182
} ;
183
- let src = screen . as_ptr ( ) ;
184
- let dst = FRAMEBUFFER as * mut u8 ;
183
+ let src = DOUBLE_BUFFER . as_ptr ( ) ;
184
+ let dst = FRAME_BUFFER_ADDR as * mut u8 ;
185
185
unsafe {
186
186
core:: ptr:: copy_nonoverlapping ( src, dst, size) ;
187
187
}
You can’t perform that action at this time.
0 commit comments