projects
/
bootcensus
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
malloc (untested)
[bootcensus]
/
src
/
startup.s
diff --git
a/src/startup.s
b/src/startup.s
index
82f548e
..
0a36b67
100644
(file)
--- a/
src/startup.s
+++ b/
src/startup.s
@@
-20,6
+20,11
@@
.extern _bss_start
.extern _bss_end
.extern pcboot_main
.extern _bss_start
.extern _bss_end
.extern pcboot_main
+ .extern wait_vsync
+ .extern kb_getkey
+
+ # move the stack to the top of the conventional memory
+ movl $0x80000, %esp
# zero the BSS section
xor %eax, %eax
# zero the BSS section
xor %eax, %eax
@@
-39,6
+44,8
@@
skip_bss_zero:
.global logohack
logohack:
.global logohack
logohack:
+ pusha
+
# copy palette
mov $logo_pal, %esi
xor %cl, %cl
# copy palette
mov $logo_pal, %esi
xor %cl, %cl
@@
-128,16
+135,18
@@
xloop:
incl frameno
incl frameno
- # wait vsync
- mov $0x3da, %dx
-0: in %dx, %al
- and $8, %al
- jnz 0b
-0: in %dx, %al
- and $8, %al
- jz 0b
+ call wait_vsync
+
+ # check for escape keypress
+ call kb_getkey
+ cmp $27, %eax
+ jz 0f
+
jmp frameloop
jmp frameloop
+0: popa
+ ret
+
xval: .long 0
yval: .long 0
frameno: .long 0
xval: .long 0
yval: .long 0
frameno: .long 0