diff --git a/debian/postinst b/debian/postinst index 9d0d2ea..330b1c0 100755 --- a/debian/postinst +++ b/debian/postinst @@ -27,6 +27,12 @@ case "$1" in cp /boot/cmdline.txt /boot/cmdline.bak sed -i 's/console=ttyAMA0,[0-9]* kgdboc=ttyAMA0,[0-9]* //g' /boot/cmdline.txt fi + # + # Make sure UART is enabled + # + if [ "$(grep enable_uart /boot/config.txt)" = "" ] ; then + echo "enable_uart=1" >> /etc/apt/sources.list + fi # # Disable getty on built-in serial port. # diff --git a/share/plymouth/themes/a2pi/a2pi.plymouth b/share/plymouth/themes/a2pi/a2pi.plymouth new file mode 100644 index 0000000..17d7f52 --- /dev/null +++ b/share/plymouth/themes/a2pi/a2pi.plymouth @@ -0,0 +1,8 @@ +[Plymouth Theme] +Name=a2pi +Description=Apple II Pi Splash +ModuleName=script + +[script] +ImageDir=/usr/share/plymouth/themes/a2pi +ScriptFile=/usr/share/plymouth/themes/a2pi/a2pi.script diff --git a/share/plymouth/themes/a2pi/a2pi.script b/share/plymouth/themes/a2pi/a2pi.script new file mode 100644 index 0000000..d7e7b86 --- /dev/null +++ b/share/plymouth/themes/a2pi/a2pi.script @@ -0,0 +1,50 @@ +screen_width = Window.GetWidth(); +screen_height = Window.GetHeight(); + +theme_image = Image("splash.png"); +image_width = theme_image.GetWidth(); +image_height = theme_image.GetHeight(); + +scale_x = image_width / screen_width; +scale_y = image_height / screen_height; + +flag = 1; + +if (scale_x > 1 || scale_y > 1) +{ + if (scale_x > scale_y) + { + resized_image = theme_image.Scale (screen_width, image_height / scale_x); + image_x = 0; + image_y = (screen_height - ((image_height * screen_width) / image_width)) / 2; + } + else + { + resized_image = theme_image.Scale (image_width / scale_y, screen_height); + image_x = (screen_width - ((image_width * screen_height) / image_height)) / 2; + image_y = 0; + } +} +else +{ + resized_image = theme_image.Scale (image_width, image_height); + image_x = (screen_width - image_width) / 2; + image_y = (screen_height - image_height) / 2; +} + +if (Plymouth.GetMode() != "shutdown") +{ + sprite = Sprite (resized_image); + sprite.SetPosition (image_x, image_y, -100); +} + +message_sprite = Sprite(); +message_sprite.SetPosition(screen_width * 0.1, screen_height * 0.9, 10000); + +fun message_callback (text) { + my_image = Image.Text(text, 1, 1, 1); + message_sprite.SetImage(my_image); + sprite.SetImage (resized_image); +} + +Plymouth.SetUpdateStatusFunction(message_callback); diff --git a/share/plymouth/themes/a2pi/splash.png b/share/plymouth/themes/a2pi/splash.png new file mode 100644 index 0000000..cfd3b2e Binary files /dev/null and b/share/plymouth/themes/a2pi/splash.png differ