From François Revol <revol@xxxxxxx>:
François Revol has uploaded this change for review. (
https://review.haiku-os.org/c/haiku/+/3097 ;)
Change subject: m68k: detect NeXT framebuffer
......................................................................
m68k: detect NeXT framebuffer
Doesn't work yet though:
- we don't implement heap yet,
- non-color machines have 2bpp, so we'll have to hack this in some way.
Change-Id: Idf8f69c2256837db3915949d93265decbb43a524
---
M src/system/boot/platform/next_m68k/video.cpp
1 file changed, 23 insertions(+), 3 deletions(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/97/3097/1
diff --git a/src/system/boot/platform/next_m68k/video.cpp
b/src/system/boot/platform/next_m68k/video.cpp
index aecfbdb..336db5b 100644
--- a/src/system/boot/platform/next_m68k/video.cpp
+++ b/src/system/boot/platform/next_m68k/video.cpp
@@ -10,6 +10,8 @@
#include "mmu.h"
//#include "images.h"
+#include <algorithm>
+
#include <arch/cpu.h>
#include <boot/stage2.h>
#include <boot/platform.h>
@@ -90,6 +92,24 @@
// in debug mode, we'll never show the logo
if ((platform_boot_options() & BOOT_OPTION_DEBUG_OUTPUT) != 0)
return;
+
+ // I believe we should use mg->km_coni.fb_num but turbo color has 0
here !?
+ char fb_num = KM_CON_FRAMEBUFFER;
+
+ gKernelArgs.frame_buffer.width = mg->km_coni.dspy_w;
+ gKernelArgs.frame_buffer.height = mg->km_coni.dspy_h;
+ gKernelArgs.frame_buffer.bytes_per_row = mg->km_coni.bytes_per_scanline;
+ // we fake 2bpp as 4bpp for simplicity
+ gKernelArgs.frame_buffer.depth = std::max(4, 32 /
mg->km_coni.pixels_per_word);
+ gKernelArgs.frame_buffer.physical_buffer.size =
+ mg->km_coni.map_addr[fb_num].size;
+ gKernelArgs.frame_buffer.physical_buffer.start =
+ mg->km_coni.map_addr[fb_num].phys_addr;
+
+ //TODO: pass a custom color_space in the KMessage?
+
+ gKernelArgs.frame_buffer.enabled = true;
+ video_display_splash(mg->km_coni.map_addr[fb_num].virt_addr);
}
@@ -100,15 +120,15 @@
return;
}
- gKernelArgs.frame_buffer.enabled = 0;
+ gKernelArgs.frame_buffer.enabled = false;
}
extern "C" status_t
platform_init_video(void)
{
- gKernelArgs.frame_buffer.enabled = 0;
-
+ gKernelArgs.frame_buffer.enabled = false;
+
return B_OK;
}
--
To view, visit https://review.haiku-os.org/c/haiku/+/3097
To unsubscribe, or for help writing mail filters, visit
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: Idf8f69c2256837db3915949d93265decbb43a524
Gerrit-Change-Number: 3097
Gerrit-PatchSet: 1
Gerrit-Owner: François Revol <revol@xxxxxxx>
Gerrit-MessageType: newchange