New port: Shanling Q1 native

- Audio playback works
- Touchscreen and buttons work
- Bootloader works and is capable of dual boot
- Plugins are working
- Cabbiev2 theme has been ported
- Stable for general usage

Thanks to Marc Aarts for porting Cabbiev2 and plugin bitmaps.

There's a few minor known issues:

- Bootloader must be installed manually using 'usbboot' as there is
  no support in jztool yet.

- Keymaps may be lacking, need further testing and feedback.

- Some plugins may not be fully adapted to the screen size and could
  benefit from further tweaking.

- LCD shows abnormal effects under some circumstances: for example,
  after viewing a mostly black screen an afterimage appears briefly
  when going back to a brightly-lit screen. Sudden power-off without
  proper shutdown of the backlight causes a "dissolving" effect.

- CW2015 battery reporting driver is buggy, and disabled for now.
  Battery reporting is currently voltage-based using the AXP192.

Change-Id: I635e83f02a880192c5a82cb0861ad3a61c137c3a
This commit is contained in:
Aidan MacDonald 2021-05-23 17:30:58 +01:00
parent 3abb7c5dd5
commit 4c60bc9e68
110 changed files with 2843 additions and 15 deletions

View file

@ -158,6 +158,9 @@ jackpot_slots.30x420x1.bmp
((LCD_WIDTH >= 480) && (LCD_HEIGHT >= 640))
bubbles_emblem.640x480x16.bmp
bubbles_background.640x480x16.bmp
#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400)
bubbles_emblem.360x400x16.bmp
bubbles_background.360x400x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
bubbles_emblem.320x240x16.bmp
bubbles_background.320x240x16.bmp
@ -388,7 +391,9 @@ invadrox_shield.22x16x16.bmp
invadrox_ufo.16x7x16.bmp
invadrox_ufo_explode.21x8x16.bmp
invadrox_numbers.50x7x16.bmp
#if LCD_WIDTH == 320
#if LCD_WIDTH == 360 && LCD_HEIGHT == 400
invadrox_background.360x400x16.bmp
#elif LCD_WIDTH == 320
invadrox_background.320x240x16.bmp
#elif LCD_WIDTH == 240
invadrox_background.240x320x16.bmp
@ -457,6 +462,8 @@ jewels.220x176x16.bmp
jewels.320x240x16.bmp
#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
jewels.320x240x16.bmp
#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
jewels.360x400x16.bmp
#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \
((LCD_WIDTH == 480) && (LCD_HEIGHT == 640))
jewels.640x480x16.bmp
@ -546,6 +553,8 @@ puzzles_cursor.11x16x24.bmp
#if LCD_DEPTH >= 16 /* colour versions*/
#if (LCD_WIDTH == 640) && (LCD_HEIGHT == 480)
rockblox_background.640x480x16.bmp
#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
rockblox_background.360x400x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
rockblox_background.320x240x16.bmp
#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)
@ -603,6 +612,12 @@ snake2_header2.640x480x16.bmp
snake2_left.640x480x16.bmp
snake2_right.640x480x16.bmp
snake2_bottom.640x480x16.bmp
#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400) && (LCD_DEPTH >= 16)
snake2_header1.360x400x16.bmp
snake2_header2.360x400x16.bmp
snake2_left.360x400x16.bmp
snake2_right.360x400x16.bmp
snake2_bottom.360x400x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16)
snake2_header1.320x240x16.bmp
snake2_header2.320x240x16.bmp
@ -874,7 +889,8 @@ superdom_boarditems.176x132x16.bmp
#elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240)
superdom_boarditems.320x240x16.bmp
#elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \
((LCD_WIDTH == 240) && (LCD_HEIGHT == 400))
((LCD_WIDTH == 240) && (LCD_HEIGHT == 400)) || \
((LCD_WIDTH == 360) && (LCD_HEIGHT == 400))
superdom_boarditems.240x320x16.bmp
#elif (LCD_WIDTH == 480 && LCD_HEIGHT == 640)
superdom_boarditems.480x640x16.bmp
@ -911,6 +927,8 @@ sliding_puzzle.132x132x16.bmp
sliding_puzzle.176x176x16.bmp
#elif SMALLER_DIMENSION <= 240
sliding_puzzle.240x240x16.bmp
#elif SMALLER_DIMENSION <= 360
sliding_puzzle.360x360x16.bmp
#elif SMALLER_DIMENSION <= 480
sliding_puzzle.480x480x16.bmp
#endif