diff --git a/config.dhall b/config.dhall
index 280685c..ceb46a9 100644
--- a/config.dhall
+++ b/config.dhall
@@ -19,151 +19,7 @@ in λ ( _
, resources = { caps = 96, ram = Genode.units.MiB 1 }
, provides = [ "ROM", "Report" ]
, config =
- Some
- ( Genode.Prelude.XML.text
- ''
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ''
- )
- }
- , report_logger =
- Genode.Init.Start::{
- , binary = "report_rom"
- , resources = { caps = 96, ram = Genode.units.MiB 1 }
- , provides = [ "ROM", "Report" ]
- , config =
- Some (Genode.Prelude.XML.text "")
- }
- , config_fs =
- Genode.Init.Start::{
- , binary = "vfs"
- , resources = { caps = 128, ram = Genode.units.MiB 12 }
- , provides = [ "File_system" ]
- , config =
- Some
- ( Genode.Prelude.XML.text
- ''
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- } [config_system_content] {
-
-
-
-
-
-
- ''
- )
- }
- , config_fs_rom =
- Genode.Init.Start::{
- , binary = "fs_rom"
- , resources = { caps = 128, ram = Genode.units.MiB 10 }
- , provides = [ "ROM" ]
- , routes =
- [ Genode.ServiceRoute.child "File_system" "config_fs" ]
- }
- , report_fs_rom =
- Genode.Init.Start::{
- , binary = "fs_rom"
- , resources = { caps = 128, ram = Genode.units.MiB 3 }
- , provides = [ "ROM" ]
- , routes =
- [ Genode.ServiceRoute.child "File_system" "report_fs" ]
- }
- , report_fs =
- Genode.Init.Start::{
- , binary = "ram_fs"
- , resources = { caps = 128, ram = Genode.units.MiB 16 }
- , provides = [ "File_system" ]
- , config =
- Some
- ( Genode.Prelude.XML.text
- ''
-
-
- ### start ###
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ''
- )
- }
- , fs_report =
- Genode.Init.Start::{
- , binary = "fs_report"
- , provides = [ "Report" ]
- , config =
- Some
- ( Genode.Prelude.XML.text
- " "
- )
- , routes =
- [ Genode.ServiceRoute.child "File_system" "report_fs" ]
+ Some (Genode.Prelude.XML.text "")
}
, drivers =
Genode.Init.Start::{
@@ -181,22 +37,7 @@ in λ ( _
(Some "config")
(Some "drivers.config")
, Genode.ServiceRoute.child "Timer" "timer"
- , Genode.ServiceRoute.child "Report" "fs_report"
- , Genode.ServiceRoute.childLabel
- "ROM"
- "config_fs_rom"
- (Some "usb_policy")
- (Some "usb_policy")
- , Genode.ServiceRoute.childLabel
- "ROM"
- "report_rom"
- (Some "capslock")
- (Some "capslock")
- , Genode.ServiceRoute.childLabel
- "ROM"
- "report_rom"
- (Some "numlock")
- (Some "numlock")
+ , Genode.ServiceRoute.child "Report" "report_rom"
]
}
, nitpicker =
@@ -206,25 +47,26 @@ in λ ( _
, provides = [ "Nitpicker" ]
, routes =
[ Genode.ServiceRoute.childLabel
- "ROM"
- "config_fs_rom"
- (Some "config")
- (Some "nitpicker")
- , Genode.ServiceRoute.childLabel
"ROM"
"nit_focus"
(Some "focus")
(Some "focus")
- , Genode.ServiceRoute.childLabel
- "Report"
- "report_logger"
- (Some "keystate")
- (Some "keystate")
, Genode.ServiceRoute.child "Report" "report_rom"
, Genode.ServiceRoute.child "Framebuffer" "drivers"
, Genode.ServiceRoute.child "Input" "drivers"
, Genode.ServiceRoute.child "Timer" "timer"
]
+ , config =
+ Some
+ ( Genode.Prelude.XML.text
+ ''
+
+
+
+
+
+ ''
+ )
}
, nit_focus =
Genode.Init.Start::{
@@ -234,108 +76,43 @@ in λ ( _
Some
( Genode.Prelude.XML.text
''
-
-
-
-
-
-
-
- ''
+
+
+
+ ''
)
- , routes =
- [ Genode.ServiceRoute.childLabel
- "ROM"
- "report_rom"
- (Some "hover")
- (None Text)
- , Genode.ServiceRoute.childLabel
- "ROM"
- "report_rom"
- (Some "leitzentrale")
- (None Text)
- , Genode.ServiceRoute.childLabel
- "ROM"
- "report_rom"
- (Some "slides")
- (None Text)
- ]
}
- , pointer =
+ , oberon =
Genode.Init.Start::{
- , binary = "pointer"
- , resources = { caps = 128, ram = Genode.units.MiB 2 }
- , provides = [ "Report" ]
- , config =
- Some (Genode.Prelude.XML.text "")
+ , binary = "retro_frontend"
+ , resources = { caps = 256, ram = Genode.units.MiB 32 }
, routes =
[ Genode.ServiceRoute.child "Nitpicker" "nitpicker"
- , Genode.ServiceRoute.childLabel
+ , Genode.ServiceRoute.child "Timer" "timer"
+ , Genode.ServiceRoute.parentLabel
"ROM"
- "report_rom"
- (Some "hover")
- (None Text)
- , Genode.ServiceRoute.childLabel
- "ROM"
- "report_rom"
- (Some "xray")
- (None Text)
+ (Some "")
+ (Some "retro_frontend")
]
- }
- , global_keys_handler =
- Genode.Init.Start::{
- , binary = "global_keys_handler"
, config =
Some
( Genode.Prelude.XML.text
''
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
''
)
- , routes =
- [ Genode.ServiceRoute.child "Report" "report_rom"
- , Genode.ServiceRoute.child "Nitpicker" "nitpicker"
- , Genode.ServiceRoute.child "Timer" "timer"
- ]
- }
- , rtc_drv =
- Genode.Init.Start::{
- , binary = "rtc_drv"
- , provides = [ "Rtc" ]
- , routes = [ Genode.ServiceRoute.parent "IO_PORT" ]
}
}
}
diff --git a/drivers.config b/drivers.config
index 3d85242..3e3620d 100644
--- a/drivers.config
+++ b/drivers.config
@@ -117,9 +117,6 @@
-
-
-
@@ -131,8 +128,6 @@
-
-
@@ -157,25 +152,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/flake.nix b/flake.nix
index 907c597..fe37479 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,32 +4,45 @@
description = "Genode desktop varaint";
inputs = {
+ dhall-haskell.uri = "git+https://github.com/dhall-lang/dhall-haskell?ref=flake";
+ genode-depot.uri = "git+https://gitea.c3d2.de/ehmry/genode-depot.git";
genodepkgs.url = "git+file:///home/repo/genodepkgs?ref=flake";
- nixpkgs.uri = "git+https://gitea.c3d2.de/ehmry/nixpkgs.git";
- dhall-haskell.uri =
- "git+https://github.com/dhall-lang/dhall-haskell?ref=flake";
+ libretro-genode.uri = "git+file:///home/repo/libretro-genode";
+ nixpkgs.uri = "git+https://gitea.c3d2.de/ehmry/nixpkgs.git?ref=genode";
};
- outputs = { self, genodepkgs, nixpkgs, dhall-haskell, genode-depot }:
+ outputs =
+ { self, genodepkgs, nixpkgs, dhall-haskell, genode-depot, libretro-genode }:
let
lib = import (genodepkgs + "/lib") {
- inherit genodepkgs nixpkgs dhall-haskell;
+ inherit genodepkgs nixpkgs dhall-haskell genode-depot;
};
+ dummyXml = builtins.toFile "empty.xml" "";
+ # Hack to break off the stupid "capslock" shit
in {
packages.x86_64-genode.iso = with genodepkgs.packages.x86_64-genode;
lib.x86_64-genode.buildNovaIso {
- name = "schlitzohr";
+ name = "oberon";
rom = let
- upstream = genode-base.src.src;
+ upstream = base.src;
depot = genode-depot.packages.x86_64-genode;
+ libretro = libretro-genode.packages.x86_64-genode;
in {
config = lib.renderDhallInit ./config.dhall "{=}";
- acpi_drv = "${genode-os}/bin/acpi_drv";
- ahci_drv = "${genode-os}/bin/ahci_drv";
+ "Oberon.dsk" =
+ "${libretro.oberon.smSrc}/DiskImage/Oberon-2019-01-21.dsk";
+ "libm.lib.so" = "${depot.libc}/lib/libm.lib.so";
+ "libc.lib.so" = "${depot.libc}/lib/libc.lib.so";
+ "libretro.so" =
+ ./libretro.so;
+ # "${libretro.oberon}/bin/oberon/libretro.so";
+ retro_frontend =
+ ./retro_frontend;
+ # "${libretro.retro_frontend}/bin/retro_frontend/retro_frontend";
+ acpi_drv = "${os}/bin/acpi_drv";
+ ahci_drv = "${os}/bin/ahci_drv";
vesa_fb_drv = "${depot.vesa_drv}/bin/vesa_fb_drv";
- "clipboard.config" =
- "${upstream}/repos/gems/run/sculpt/clipboard.config";
driver_manager = "${depot.driver_manager}/bin/driver_manager";
"drivers.config" = ./drivers.config;
"empty_runtime.config" =
@@ -39,51 +52,28 @@
"fb_drv.config" =
"${upstream}/repos/os/recipes/raw/drivers_interactive-pc/fb_drv.config";
"fonts.config" = "${upstream}/repos/gems/run/sculpt/fonts.config";
- fs_report = "${genode-os}/bin/fs_report";
- fs_rom = "${genode-os}/bin/fs_rom";
- global_keys_handler = "${genode-os}/bin/global_keys_handler";
- "input_filter.config" =
- "${upstream}/repos/os/recipes/raw/drivers_interactive-pc/input_filter.config";
- input_filter = "${genode-os}/bin/input_filter";
- "installation" =
- builtins.toFile "installation" '''';
- "leitzentrale.config" =
- "${upstream}/repos/gems/run/sculpt/leitzentrale.config";
- log_core = "${genode-os}/bin/log_core";
- "nitpicker.config" = ./nitpicker.config;
- nitpicker = "${genode-os}/bin/nitpicker";
- "numlock_remap.config" =
- "${upstream}/repos/gems/recipes/raw/drivers_managed-pc/numlock_remap.config";
- platform_drv = "${genode-os}/bin/platform_drv";
- pointer = "${genode-os}/bin/pointer";
- ps2_drv = "${genode-os}/bin/ps2_drv";
- ram_fs = "${genode-os}/bin/ram_fs";
- report_rom = "${genode-os}/bin/report_rom";
- rom_filter = "${genode-os}/bin/rom_filter";
- rom_reporter = "${genode-os}/bin/rom_reporter";
- rtc_drv = "${genode-os}/bin/rtc_drv";
- "special.chargen" =
- "${upstream}/repos/os/src/server/input_filter/special.chargen";
- terminal_log = "${genode-os}/bin/terminal_log";
- "usb.config" = "${upstream}/repos/gems/run/sculpt/usb.config";
+ fs_report = "${os}/bin/fs_report";
+ fs_rom = "${os}/bin/fs_rom";
+ "input_filter.config" = ./input_filter.config;
+ input_filter = "${os}/bin/input_filter";
+ log_core = "${os}/bin/log_core";
+ nitpicker = "${os}/bin/nitpicker";
+ platform_drv = "${os}/bin/platform_drv";
+ pointer = "${os}/bin/pointer";
+ ps2_drv = "${os}/bin/ps2_drv";
+ ram_fs = "${os}/bin/ram_fs";
+ report_rom = "${os}/bin/report_rom";
+ rom_filter = "${os}/bin/rom_filter";
+ rom_reporter = "${os}/bin/rom_reporter";
+ terminal_log = "${os}/bin/terminal_log";
usb_drv = "${depot.usb_drv}/bin/usb_drv";
- vfs = "${genode-os}/bin/vfs";
+ vfs = "${os}/bin/vfs";
"vfs_import.lib.so" = "${depot.vfs_import}/lib/vfs_import.lib.so";
- "vfs.lib.so" = "${genode-os}/lib/vfs.lib.so";
- "wifi.config" = "${upstream}/repos/gems/run/sculpt/wifi.config";
- "manual_deploy.config" = builtins.toFile "manual_deploy.config" ''
-
-
-
-
-
-
-
-
-
-
-
- '';
+ "vfs.lib.so" = "${os}/lib/vfs.lib.so";
+ capslock = dummyXml;
+ numlock = dummyXml;
+ usb_policy = dummyXml;
+ "usb.config" = dummyXml;
};
};
diff --git a/input_filter.config b/input_filter.config
new file mode 100644
index 0000000..f3034ed
--- /dev/null
+++ b/input_filter.config
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/nitpicker.config b/nitpicker.config
deleted file mode 100644
index 00a4a56..0000000
--- a/nitpicker.config
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-