Commit Graph

34 Commits

Author SHA1 Message Date
Philipp Oppermann
8b5be6ebc0 Implement code for integration test post 2018-06-12 19:25:53 +02:00
Philipp Oppermann
ba266f31c5 ColorCode::new does not need to be a const fn 2018-05-01 17:28:16 +02:00
Philipp Oppermann
44ffa1d046 Create new post about unit testing 2018-04-25 20:39:16 +02:00
Philipp Oppermann
6d0f103c16 Handle non-printable characters in vga buffer module (#425) 2018-04-07 19:45:28 +02:00
Philipp Oppermann
21fb890328 Run rustfmt 2018-04-02 17:34:37 +02:00
SomeAnotherDude
e1338bb53e Add an empty branch to println!() macro to be consistent with std (#423) 2018-03-31 10:44:59 +02:00
Philipp Oppermann
78bd186003 Separate Writer::write_string and fmt::Write::write_str methods 2018-03-13 21:16:22 +01:00
Philipp Oppermann
557b869aa4 Update the VGA buffer post for the second edition 2018-03-04 23:19:07 +01:00
Philipp Oppermann
2629945c72 Delete code from first edition 2018-02-10 16:42:51 +01:00
Tim Crawford
2ebd4ed954 Use new Unique API (#346)
Change Unique to use `new_unchecked`. Fixes #345.
2017-08-05 12:47:15 +08:00
Philipp Oppermann
559a90ad8b Format using rustfmt-nightly 2017-06-20 18:09:09 +02:00
Philipp Oppermann
f3829346bc Unique::get/get_mut were renamed to as_ref/as_mut (#325) 2017-05-12 21:32:38 +02:00
Philipp Oppermann
68dc7447f4 Run rustfmt 2017-03-09 17:50:44 +01:00
Philipp Oppermann
9b83b2853e Remove print_error and use normal println in exception handlers 2016-10-30 16:51:59 +01:00
Philipp Oppermann
212dcfa592 Make print_error safe by using the global writer
This is now possible since we fixed the deadlock problem.
2016-10-30 16:51:59 +01:00
Philipp Oppermann
d96df500a7 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.
2016-10-30 16:51:59 +01:00
Philipp Oppermann
d7a445b1bb Use volatile operations for accessing the VGA buffer 2016-10-06 23:57:26 +02:00
Philipp Oppermann
a04924955a Add missing license headers and update copyright year (#232) 2016-10-02 18:20:48 +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