Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
9536b9d
init: apps
Mrgoblings Feb 1, 2025
6197113
add: draw functionallity with 2 buffers. Breaks the multiboot header …
Mrgoblings Feb 7, 2025
b7e84d0
add: valid back buffer
Mrgoblings Feb 8, 2025
c66c466
add: framebuffer linked to static instance
Mrgoblings Feb 8, 2025
805106b
add: setup static mutex framebuffer
Mrgoblings Feb 8, 2025
d33c089
fix: working double framebuffer
Mrgoblings Feb 8, 2025
2d0002c
chore: comments
Mrgoblings Feb 8, 2025
07cc8fc
fix: inconsistancy on frambuffer.
Mrgoblings Feb 8, 2025
34081f9
fix: wrong physical address allocation
Mrgoblings Feb 8, 2025
206c99d
add: outsourced drawing into its own function
Mrgoblings Feb 8, 2025
2d0fdad
add: a non working implementation of the terminal app
Mrgoblings Feb 9, 2025
fa0fddc
add: scope to drawing for framebuffer
Mrgoblings Feb 9, 2025
e8530c4
chore: remap how the AppList struct uses the static vector
Mrgoblings Feb 9, 2025
9f265d5
add: application support
Mrgoblings Feb 10, 2025
4dec9ec
chore: clean up code and set up for imidiat update when feasible
Mrgoblings Feb 10, 2025
c2be80b
fix: framebuffer deadlocking from interrupts
Mrgoblings Feb 10, 2025
6c63528
fix: updating the screen accordingly
Mrgoblings Feb 10, 2025
037818f
fic: draw only necessary char and optimize framebufferbuffer.fill()
Mrgoblings Feb 10, 2025
2e5dcd0
refactor: app lifecycle and terminal input handling
Mrgoblings Feb 10, 2025
b52a476
init: shell
Mrgoblings Feb 16, 2025
8374172
add: working interface for commands, backspace and a start on complet…
Mrgoblings Feb 17, 2025
4007da7
add: better buffer retrieval and improvements on disabling updates f…
Mrgoblings Feb 17, 2025
db53ec7
refactor: data structures and queue sizes
Mrgoblings Feb 17, 2025
3dbb127
add: updating apps changed and description for logs
Mrgoblings Feb 17, 2025
c818528
fix: tesk queue overflow in first 10 sek
Mrgoblings Feb 18, 2025
1c9908b
add: shell stdin and stdout
Mrgoblings Feb 20, 2025
f72d47d
add: working shell
Mrgoblings Feb 21, 2025
ba1ac19
osfetch.rs
Mrgoblings Feb 21, 2025
3e10702
add: handle arguments to commands
Mrgoblings Feb 21, 2025
97f0a6d
add: implement history for shell
Mrgoblings Feb 21, 2025
4d55af1
add: completions with tab button
Mrgoblings Feb 21, 2025
4262ad7
Merge branch 'main' into feat/terminal-app
Mrgoblings Feb 21, 2025
922eb31
add: presentation files
Mrgoblings May 23, 2025
314f54a
Merge branch 'main' into feat/terminal-app
Mrgoblings May 23, 2025
1e6674c
fix: build
Mrgoblings May 23, 2025
6d12abb
fix: build
Mrgoblings May 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions anasos-kernel/src/apps/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ pub static APPS_UPDATE_WAKER: AtomicWaker = AtomicWaker::new();
pub static APPS_CURRENTLY_UPDATING: AtomicBool = AtomicBool::new(false);

pub mod terminal;
pub mod presentation;

pub static APPS_QUEUE: OnceCell<Arc<ArrayQueue<Box<(dyn App + 'static)>>>> = OnceCell::uninit();
pub static APPS_SCANNCODE_QUEUE: OnceCell<Arc<ArrayQueue<u8>>> = OnceCell::uninit();
Expand Down Expand Up @@ -87,9 +88,10 @@ pub trait App: Send + Sync {
fn scancode_push(&self, scancode: u8) -> Result<(), ()>;

// lifecycle methods
fn init(&self);
fn init(&mut self);
unsafe fn draw(&mut self);
fn update(&mut self);
fn log(&self, message: &str);
}

pub struct AppList {
Expand Down Expand Up @@ -170,7 +172,8 @@ impl AppList {
}

let app_queue = app_queue.unwrap();
while let Some(app) = app_queue.pop() {
while let Some(mut app) = app_queue.pop() {

app.init(); // NOTE: this may not be the right place to call init
self.push(app);
}
Expand Down
64 changes: 64 additions & 0 deletions anasos-kernel/src/apps/presentation/data/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
pub mod slide0_data;
pub mod slide1_data;
pub mod slide2_data;
pub mod slide3_data;
pub mod slide4_data;
pub mod slide5_data;
pub mod slide6_data;
pub mod slide7_data;
pub mod slide8_data;
pub mod slide9_data;
pub mod slide10_data;
pub mod slide11_data;
pub mod slide12_data;
pub mod slide13_data;
pub mod slide14_data;
pub mod slide15_data;
pub mod slide16_data;
pub mod slide17_data;
pub mod slide18_data;
pub mod slide19_data;
pub mod slide20_data;
pub mod slide21_data;
pub mod slide22_data;
pub mod slide23_data;
pub mod slide24_data;
pub mod slide25_data;
pub mod slide26_data;
pub mod slide27_data;
pub mod slide28_data;
// pub mod slide29_data;

// Aggregated slice of all slides
pub const SLIDES: &[&[u8]] = &[
&slide0_data::SLIDE_0_PPM,
&slide1_data::SLIDE_1_PPM,
&slide2_data::SLIDE_2_PPM,
&slide3_data::SLIDE_3_PPM,
&slide4_data::SLIDE_4_PPM,
&slide5_data::SLIDE_5_PPM,
&slide6_data::SLIDE_6_PPM,
&slide7_data::SLIDE_7_PPM,
&slide8_data::SLIDE_8_PPM,
&slide9_data::SLIDE_9_PPM,
&slide10_data::SLIDE_10_PPM,
&slide11_data::SLIDE_11_PPM,
&slide12_data::SLIDE_12_PPM,
&slide13_data::SLIDE_13_PPM,
&slide14_data::SLIDE_14_PPM,
&slide15_data::SLIDE_15_PPM,
&slide16_data::SLIDE_16_PPM,
&slide17_data::SLIDE_17_PPM,
&slide18_data::SLIDE_18_PPM,
&slide19_data::SLIDE_19_PPM,
&slide20_data::SLIDE_20_PPM,
&slide21_data::SLIDE_21_PPM,
&slide22_data::SLIDE_22_PPM,
&slide23_data::SLIDE_23_PPM,
&slide24_data::SLIDE_24_PPM,
&slide25_data::SLIDE_25_PPM,
&slide26_data::SLIDE_26_PPM,
&slide27_data::SLIDE_27_PPM,
&slide28_data::SLIDE_28_PPM,
// &slide29_data::SLIDE29,
];
129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide0_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide10_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide11_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide12_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide13_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide14_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide15_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide16_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide17_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide18_data.rs

Large diffs are not rendered by default.

129,609 changes: 129,609 additions & 0 deletions anasos-kernel/src/apps/presentation/data/slide19_data.rs

Large diffs are not rendered by default.

Loading
Loading