Commit Graph

19 Commits

Author SHA1 Message Date
Philipp Oppermann
02b8078e1d Create a new print function and use it in the print macro
This fixes the deadlock problem, because the format_args is now evaluated before locking the screen writer. So `println!("{:?}", {println!("");})` no longer triggers a deadlock.

(cherry picked from commit d96df500a7)
2016-10-31 01:20:19 +01:00
Philipp Oppermann
351ae60205 Use volatile operations for accessing the VGA buffer
(cherry picked from commit d7a445b1bb)
2016-10-08 15:55:25 +02:00
Philipp Oppermann
b050b475f7 Add missing license headers and update copyright year (#232)
(cherry picked from commit a04924955a)
2016-10-02 18:31:18 +02:00
Philipp Oppermann
f58a6fe185 Add a print_error function, which works for exceptions inside println 2016-05-28 15:47:34 +02:00
Philipp Oppermann
e4b42b106f Reset source code to master again 2016-05-28 14:09:45 +02:00
Philipp Oppermann
08540eb602 Remove unneeded unsafe 2016-05-28 14:09:17 +02:00
Philipp Oppermann
59382699d0 wip 2016-05-28 14:09:17 +02:00
Philipp Oppermann
a9e5b7fd28 Update license headers 2015-12-29 12:31:25 +01:00
Philipp Oppermann
165e6ebff8 Run rustfmt 2015-12-20 15:05:08 +01:00
Philipp Oppermann
fa78bd82a8 Add missing license header 2015-11-03 19:53:28 +01:00
Philipp Oppermann
e439e9eb5d Use a byte char instead of casting 2015-10-27 20:48:14 +01:00
Philipp Oppermann
c36a3d19d2 Add and use a clear_screen function 2015-10-27 20:47:58 +01:00
Philipp Oppermann
34dd42a6fc Add #[repr(C)] to ScreenChar 2015-10-25 15:38:08 +01:00
Philipp Oppermann
4d29482952 Add custom print and println macros 2015-10-23 01:45:10 +02:00
Philipp Oppermann
e4a8c4c9fa Silence dead code warnings for unused colors 2015-10-23 01:45:10 +02:00
Philipp Oppermann
c547b128e5 Implement fmt::Write trait for Writer 2015-10-23 01:45:10 +02:00
Philipp Oppermann
4668acb09e Add a public static writer
Since `unsafe const` aren't allowed yet, we temorary add a custom version of Unique to make `Unique::new` const (instead of unsafe).
2015-10-23 01:45:10 +02:00
Philipp Oppermann
ab464b107d Add a basic writer type to print single bytes
It prints always to the last line and shifts lines up on newline or line wrap. To easily shift lines up, we make the ColorCode and ScreenChar types Copy.
2015-10-23 01:45:10 +02:00
Philipp Oppermann
49fd8926a5 Add a VGA buffer module skeleton
It contains basic types for colors, screen characters, and the buffer itself.
2015-10-23 01:45:10 +02:00