Initial work on boot screen
This commit is contained in:
parent
57c48f1ef9
commit
fda10b8287
92
src/boot.c
92
src/boot.c
|
@ -12,11 +12,16 @@
|
|||
#include "boot.h"
|
||||
#include "memory.h"
|
||||
#include "proc.h"
|
||||
#include "dev/txt_screen.h"
|
||||
#include "dev/sprites.h"
|
||||
#include "dev/tiles.h"
|
||||
#include "vicky_general.h"
|
||||
#include "rsrc/sprites/boot_sprites.h"
|
||||
#include "rsrc/tiles/boot_tiles.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
const uint32_t boot_record_alignment = 8192; // Number of bytes for boot record alignement
|
||||
const uint32_t boot_firmware_address = 0x380000;
|
||||
|
||||
enum boot_src_e {
|
||||
BOOT_SRC_NONE = 0, // Nothing more to check
|
||||
|
@ -36,10 +41,9 @@ typedef struct boot_record_s {
|
|||
char signature2;
|
||||
uint32_t start_address;
|
||||
uint8_t version;
|
||||
uint8_t reserved0;
|
||||
uint8_t reserved1;
|
||||
uint8_t reserved2;
|
||||
char * text_data;
|
||||
uint32_t icon_address;
|
||||
uint32_t clut_address;
|
||||
const char * name;
|
||||
} boot_record_t, *boot_record_p;
|
||||
|
||||
/**
|
||||
|
@ -133,3 +137,81 @@ void boot_launch() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Setup the boot screen
|
||||
*
|
||||
*/
|
||||
void boot_screen() {
|
||||
// txt_set_mode(0, TXT_MODE_TEXT | TXT_MODE_SPRITE);
|
||||
*tvky_mstr_ctrl = (uint16_t)(VKY_MCR_TILE | VKY_MCR_SPRITE | VKY_MCR_GRAPHICS | VKY_MCR_TEXT_OVERLAY | VKY_MCR_TEXT);
|
||||
|
||||
tvky_bg_color->blue = 0;
|
||||
tvky_bg_color->green = 0;
|
||||
tvky_bg_color->red = 0;
|
||||
|
||||
for (int i = 0; i < 4 * 256; i++) {
|
||||
VKY_GR_CLUT_0[i] = boot_clut[i];
|
||||
VKY_GR_CLUT_1[i] = boot_clut[i] >> 2;
|
||||
}
|
||||
|
||||
// Set up the tiles for the background
|
||||
|
||||
tile_init();
|
||||
sprite_init();
|
||||
|
||||
tile_set_assign(0, (uint8_t *)boot_tiles_pixels, false);
|
||||
tile_set_update(0);
|
||||
|
||||
tile_map_assign(0, (uint16_t *)boot_tiles_map, 42, 32, 1);
|
||||
tile_map_position(0, 0, 0);
|
||||
tile_map_enable(0, true);
|
||||
tile_map_update(0);
|
||||
|
||||
// Make tile map 0 the top layer
|
||||
|
||||
*tvky_layers = 0x0444;
|
||||
|
||||
short base_x = 14*8;
|
||||
short base_y = 21*8;
|
||||
|
||||
// Set up the text window for the boot messaging
|
||||
t_rect boot_text_window;
|
||||
boot_text_window.origin.x = 20;
|
||||
boot_text_window.origin.y = 19;
|
||||
boot_text_window.size.width = 40;
|
||||
boot_text_window.size.height = 12;
|
||||
txt_set_region(0, &boot_text_window);
|
||||
|
||||
txt_print(0, "Scanning for bootable devices...\n\n");
|
||||
|
||||
sprite_assign(0, cartridge_pixels, 0, 0);
|
||||
sprite_assign(1, ram_pixels, 0, 0);
|
||||
sprite_assign(2, sd_ext_pixels, 0, 0);
|
||||
sprite_assign(3, sd_int_pixels, 0, 0);
|
||||
sprite_assign(4, rom_pixels, 0, 0);
|
||||
|
||||
sprite_clut(0, 1);
|
||||
sprite_clut(1, 0);
|
||||
sprite_clut(2, 1);
|
||||
sprite_clut(3, 0);
|
||||
sprite_clut(4, 0);
|
||||
|
||||
sprite_position(0, base_x, base_y);
|
||||
sprite_position(1, base_x + 32, base_y);
|
||||
sprite_position(2, base_x + 32*2, base_y);
|
||||
sprite_position(3, base_x + 32*3, base_y);
|
||||
sprite_position(4, base_x + 32*4, base_y);
|
||||
|
||||
sprite_enable(0, true);
|
||||
sprite_enable(1, true);
|
||||
sprite_enable(2, true);
|
||||
sprite_enable(3, true);
|
||||
sprite_enable(4, true);
|
||||
|
||||
// txt_print(0, "1: Start 'Frogger' from the cartridge.\n");
|
||||
txt_print(0, "1: Start 'Foobar' in RAM.\n");
|
||||
// txt_print(0, "3: Start from external SD card.\n");
|
||||
txt_print(0, "2: Start from internal SD card.\n");
|
||||
txt_print(0, "3: Start 'f/Manager'.\n");
|
||||
}
|
|
@ -20,4 +20,10 @@
|
|||
*/
|
||||
extern void boot_launch();
|
||||
|
||||
/**
|
||||
* @brief Setup the boot screen
|
||||
*
|
||||
*/
|
||||
extern void boot_screen();
|
||||
|
||||
#endif
|
||||
|
|
|
@ -58,7 +58,7 @@ static void cart_flash_system_id_exit() {
|
|||
*
|
||||
* @return short the code describing the cartridge (-1 for none found)
|
||||
*/
|
||||
short cart_id() {
|
||||
SYSTEMCALL short cart_id() {
|
||||
if (cart_id_memo == CART_ID_UNDEF) {
|
||||
// Start off assuming we don't have anything in the slot
|
||||
cart_id_memo = -1;
|
||||
|
@ -91,7 +91,7 @@ short cart_id() {
|
|||
* @brief Erase the entire flash memory
|
||||
*
|
||||
*/
|
||||
void cart_erase() {
|
||||
SYSTEMCALL void cart_erase() {
|
||||
if (cart_id() == CART_ID_FLASH) {
|
||||
cart_flash_command(0x80);
|
||||
cart_flash_command(0x10);
|
||||
|
@ -108,7 +108,7 @@ void cart_erase() {
|
|||
* @param address the address to write to (in CPU address space)
|
||||
* @param value the byte to write to the address
|
||||
*/
|
||||
void cart_write(uint32_t address, uint8_t value) {
|
||||
SYSTEMCALL void cart_write_b(uint32_t address, uint8_t value) {
|
||||
uint32_t cart_base_address = (uint32_t)cartridge;
|
||||
uint32_t cart_end_address = 0xf7ffff;
|
||||
uint8_t current_value = 0;
|
||||
|
@ -122,8 +122,37 @@ void cart_write(uint32_t address, uint8_t value) {
|
|||
*dest = value;
|
||||
|
||||
// Wait for the value to show up at the destination
|
||||
long target_jiffies = timers_jiffies() + 5;
|
||||
long target_jiffies = timers_jiffies() + 3;
|
||||
while (timers_jiffies() < target_jiffies) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Write a block of bytes to the flash cartridge (if present)
|
||||
*
|
||||
* @param dest the address within the flash cartridge to start writing to
|
||||
* @param src the address in regular memory to start reading from
|
||||
* @param count the number of bytes to write
|
||||
*/
|
||||
SYSTEMCALL void cart_write(uint32_t dest, uint32_t src, int count) {
|
||||
uint32_t cart_base_address = (uint32_t)cartridge;
|
||||
uint32_t cart_end_address = 0xf7ffff;
|
||||
uint8_t current_value = 0;
|
||||
|
||||
if (cart_id() == CART_ID_FLASH) {
|
||||
if ((cart_base_address <= src) && (cart_end_address >= src + count)) {
|
||||
for (int x = 0; x < count; x++) {
|
||||
volatile uint8_t * dest_position = ((volatile uint8_t *)(dest + x));
|
||||
uint8_t * src_position = (uint8_t *)(src + x);
|
||||
|
||||
cart_flash_command(0xa0);
|
||||
*dest_position = *src_position;
|
||||
|
||||
// Wait for the value to show up at the destination
|
||||
long target_jiffies = timers_jiffies() + 3;
|
||||
while (timers_jiffies() < target_jiffies) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "sys_macros.h"
|
||||
|
||||
#define CART_ID_UNDEF -2
|
||||
#define CART_ID_NONE -1
|
||||
#define CART_ID_RAM 0
|
||||
|
@ -24,13 +26,13 @@
|
|||
*
|
||||
* @return short the code describing the cartridge (-1 for none found)
|
||||
*/
|
||||
extern short cart_id();
|
||||
extern SYSTEMCALL short cart_id();
|
||||
|
||||
/**
|
||||
* @brief Erase the entire flash memory
|
||||
*
|
||||
*/
|
||||
extern void cart_erase();
|
||||
extern SYSTEMCALL void cart_erase();
|
||||
|
||||
/**
|
||||
* @brief Write a byte to the flash memory
|
||||
|
@ -38,6 +40,15 @@ extern void cart_erase();
|
|||
* @param address the address to write to (in CPU address space)
|
||||
* @param value the byte to write to the address
|
||||
*/
|
||||
extern void cart_write(uint32_t address, uint8_t value);
|
||||
extern SYSTEMCALL void cart_write_b(uint32_t address, uint8_t value);
|
||||
|
||||
/**
|
||||
* @brief Write a block of bytes to the flash cartridge (if present)
|
||||
*
|
||||
* @param dest the address within the flash cartridge to start writing to
|
||||
* @param src the address in regular memory to start reading from
|
||||
* @param count the number of bytes to write
|
||||
*/
|
||||
extern SYSTEMCALL void cart_write(uint32_t dest, uint32_t src, int count);
|
||||
|
||||
#endif
|
|
@ -52,7 +52,7 @@ INCLUDES=-I.. -I../include
|
|||
CFLAGS=$(INCLUDES) $(CFLAGS_FOR_UNIT) -l
|
||||
ASFLAGS=$(INCLUDES)
|
||||
|
||||
SRCS = block.c channel.c console.c fsys.c txt_screen.c rtc.c uart.c $(SRCS_FOR_UNIT) # pata.c bitmap.c dma.c ps2.c sdc.c
|
||||
SRCS = block.c channel.c console.c fsys.c sprites.c tiles.c txt_screen.c rtc.c uart.c $(SRCS_FOR_UNIT) # pata.c bitmap.c dma.c ps2.c sdc.c
|
||||
OBJS = $(patsubst %.c,%.o,$(SRCS))
|
||||
OBJS4RM = $(subst /,\\,$(OBJS))
|
||||
|
||||
|
|
110
src/dev/sprites.c
Normal file
110
src/dev/sprites.c
Normal file
|
@ -0,0 +1,110 @@
|
|||
/**
|
||||
* @file sprites.c
|
||||
* @author your name (you@domain.com)
|
||||
* @brief Simple support for sprites
|
||||
* @version 0.1
|
||||
* @date 2024-08-19
|
||||
*
|
||||
* @copyright Copyright (c) 2024
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "sprites.h"
|
||||
#include "F256/vicky_ii.h"
|
||||
|
||||
#define SPRITE_MAX 16
|
||||
|
||||
static t_sprite sprite_shadow[SPRITE_MAX];
|
||||
|
||||
/**
|
||||
* @brief Update a sprite's hardware registers from the shadow registers
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
*/
|
||||
static void sprite_update(uint8_t sprite) {
|
||||
memcpy(&vky_sprite[sprite], &sprite_shadow[sprite], sizeof(t_sprite));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the basic information about the sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param address the address of the bitmap for the sprite
|
||||
* @param size the size of the sprite (0 = 32x32, 1 = 24x24, 2 = 16x16, 3 = 8x8)
|
||||
* @param layer the number of the layer for the sprite
|
||||
*/
|
||||
void sprite_assign(uint8_t sprite, const uint8_t * address, uint8_t size, uint8_t layer) {
|
||||
if (sprite < SPRITE_MAX) {
|
||||
sprite_shadow[sprite].address = (p_far24)address;
|
||||
uint8_t tmp = sprite_shadow[sprite].control & 0x87; // Mask off the size and layer bits
|
||||
tmp |= (size & 0x03) << 5; // Add in the new size
|
||||
tmp |= (layer & 0x03) << 3; // Add in the new layer
|
||||
sprite_shadow[sprite].control = tmp;
|
||||
|
||||
sprite_update(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the color lookup table for the sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param clut the number of the graphics color lookup table to use
|
||||
*/
|
||||
void sprite_clut(uint8_t sprite, uint8_t clut) {
|
||||
if (sprite < SPRITE_MAX) {
|
||||
uint8_t tmp = sprite_shadow[sprite].control & 0xf1; // Mask off the clut bits
|
||||
tmp |= (clut & 0x03) << 1; // Add in the new clut
|
||||
sprite_shadow[sprite].control = tmp;
|
||||
|
||||
sprite_update(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the position of the sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param x the column for the sprite
|
||||
* @param y the row for the sprite
|
||||
*/
|
||||
void sprite_position(uint8_t sprite, uint16_t x, uint16_t y) {
|
||||
if (sprite < SPRITE_MAX) {
|
||||
sprite_shadow[sprite].x = x;
|
||||
sprite_shadow[sprite].y = y;
|
||||
|
||||
sprite_update(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Enable or disable a sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param is_enabled if true display the sprite, if false hide the sprite
|
||||
*/
|
||||
void sprite_enable(uint8_t sprite, bool is_enabled) {
|
||||
if (sprite < SPRITE_MAX) {
|
||||
if (is_enabled) {
|
||||
sprite_shadow[sprite].control |= 0x01;
|
||||
} else {
|
||||
sprite_shadow[sprite].control &= 0xfe;
|
||||
}
|
||||
|
||||
sprite_update(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Initialize the sprite registers
|
||||
*
|
||||
*/
|
||||
void sprite_init() {
|
||||
for (int i = 0; i < SPRITE_MAX; i++) {
|
||||
memset(&sprite_shadow[i], 0, sizeof(t_sprite));
|
||||
sprite_update(i);
|
||||
}
|
||||
}
|
59
src/dev/sprites.h
Normal file
59
src/dev/sprites.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
* @file sprites.h
|
||||
* @author your name (you@domain.com)
|
||||
* @brief
|
||||
* @version 0.1
|
||||
* @date 2024-08-19
|
||||
*
|
||||
* @copyright Copyright (c) 2024
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __sprites_h__
|
||||
#define __sprites_h__
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/**
|
||||
* @brief Set the basic information about the sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param address the address of the bitmap for the sprite
|
||||
* @param size the size of the sprite (0 = 32x32, 1 = 24x24, 2 = 16x16, 3 = 8x8)
|
||||
* @param layer the number of the layer for the sprite
|
||||
*/
|
||||
extern void sprite_assign(uint8_t sprite, const uint8_t * address, uint8_t size, uint8_t layer);
|
||||
|
||||
/**
|
||||
* @brief Set the color lookup table for the sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param clut the number of the graphics color lookup table to use
|
||||
*/
|
||||
extern void sprite_clut(uint8_t sprite, uint8_t clut);
|
||||
|
||||
/**
|
||||
* @brief Set the position of the sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param x the column for the sprite
|
||||
* @param y the row for the sprite
|
||||
*/
|
||||
extern void sprite_position(uint8_t sprite, uint16_t x, uint16_t y);
|
||||
|
||||
/**
|
||||
* @brief Enable or disable a sprite
|
||||
*
|
||||
* @param sprite the number of the sprite
|
||||
* @param is_enabled if true display the sprite, if false hide the sprite
|
||||
*/
|
||||
extern void sprite_enable(uint8_t sprite, bool is_enabled);
|
||||
|
||||
/**
|
||||
* @brief Initialize the sprite registers
|
||||
*
|
||||
*/
|
||||
extern void sprite_init();
|
||||
|
||||
#endif
|
111
src/dev/tiles.c
Normal file
111
src/dev/tiles.c
Normal file
|
@ -0,0 +1,111 @@
|
|||
|
||||
#include <string.h>
|
||||
|
||||
#include "tiles.h"
|
||||
#include "F256/vicky_ii.h"
|
||||
|
||||
static t_tile_set tile_set_shadow[VKY_TILESET_MAX];
|
||||
static t_tile_map tile_map_shadow[VKY_TILEMAP_MAX];
|
||||
|
||||
/**
|
||||
* @brief Setup a tile set
|
||||
*
|
||||
* @param set the number of the tile set (0 - 7)
|
||||
* @param address pointer to the bitmap for the tile set
|
||||
* @param is_square if true, layout of image is square, if false it is 8 or 16 pixels wide
|
||||
*/
|
||||
void tile_set_assign(uint8_t set, uint8_t * address, bool is_square) {
|
||||
if (set <= VKY_TILESET_MAX) {
|
||||
tile_set_shadow[set].address = (p_far24)address;
|
||||
if (is_square) {
|
||||
tile_set_shadow[set].control = VKY_TILESET_SQUARE;
|
||||
} else {
|
||||
tile_set_shadow[set].control = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Update the hardware tile set from its shadow
|
||||
*
|
||||
* @param set the number of the tile set (0 - 7)
|
||||
*/
|
||||
void tile_set_update(uint8_t set) {
|
||||
vky_tile_sets[set].address = tile_set_shadow[set].address;
|
||||
vky_tile_sets[set].control = tile_set_shadow[set].control;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Initialize the tiles
|
||||
*
|
||||
*/
|
||||
void tile_init() {
|
||||
memset(tile_set_shadow, 0, VKY_TILESET_MAX * sizeof(t_tile_set));
|
||||
memset(tile_map_shadow, 0, VKY_TILEMAP_MAX * sizeof(t_tile_map));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Setup a tile map
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
* @param address pointer to the actual tile map data
|
||||
* @param width number of columns in the map
|
||||
* @param height number of rows in the map
|
||||
* @param size if 0, tiles are 16x16... if 1, tiles are 8x8
|
||||
*/
|
||||
void tile_map_assign(uint8_t map, uint16_t * address, uint8_t width, uint8_t height, uint8_t size) {
|
||||
if (map <= VKY_TILEMAP_MAX) {
|
||||
tile_map_shadow[map].address = (p_far24)address;
|
||||
tile_map_shadow[map].width = width;
|
||||
tile_map_shadow[map].height = height;
|
||||
if (size == 0) {
|
||||
tile_map_shadow[map].control &= ~VKY_TILEMAP_SIZE;
|
||||
} else {
|
||||
tile_map_shadow[map].control |= VKY_TILEMAP_SIZE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the scoll position of the tile map
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
* @param x the horizontal scroll position
|
||||
* @param y the vertical scroll position
|
||||
*/
|
||||
void tile_map_position(uint8_t map, uint16_t x, uint16_t y) {
|
||||
if (map <= VKY_TILEMAP_MAX) {
|
||||
tile_map_shadow[map].x = x;
|
||||
tile_map_shadow[map].y = y;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Enable or disable the tile map
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
* @param is_enabled if true, the map should be displayed, if false it should not
|
||||
*/
|
||||
void tile_map_enable(uint8_t map, bool is_enabled) {
|
||||
if (map <= VKY_TILEMAP_MAX) {
|
||||
if (is_enabled) {
|
||||
tile_map_shadow[map].control |= VKY_TILEMAP_ENABLE;
|
||||
} else {
|
||||
tile_map_shadow[map].control &= ~VKY_TILEMAP_ENABLE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Update the hardware tile map from its shadow
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
*/
|
||||
void tile_map_update(uint8_t map) {
|
||||
vky_tile_maps[map].address = tile_map_shadow[map].address;
|
||||
vky_tile_maps[map].width = tile_map_shadow[map].width;
|
||||
vky_tile_maps[map].height = tile_map_shadow[map].height;
|
||||
vky_tile_maps[map].x = tile_map_shadow[map].x;
|
||||
vky_tile_maps[map].y = tile_map_shadow[map].y;
|
||||
vky_tile_maps[map].control = tile_map_shadow[map].control;
|
||||
}
|
75
src/dev/tiles.h
Normal file
75
src/dev/tiles.h
Normal file
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* @file tiles.h
|
||||
* @author your name (you@domain.com)
|
||||
* @brief Provide some basic tile functions
|
||||
* @version 0.1
|
||||
* @date 2024-08-18
|
||||
*
|
||||
* @copyright Copyright (c) 2024
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __tiles_h__
|
||||
#define __tiles_h__
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* @brief Setup a tile set
|
||||
*
|
||||
* @param set the number of the tile set (0 - 7)
|
||||
* @param address pointer to the bitmap for the tile set
|
||||
* @param is_square if true, layout of image is square, if false it is 8 or 16 pixels wide
|
||||
*/
|
||||
extern void tile_set_assign(uint8_t set, uint8_t * address, bool is_square);
|
||||
|
||||
/**
|
||||
* @brief Update the hardware tile set from its shadow
|
||||
*
|
||||
* @param set the number of the tile set (0 - 7)
|
||||
*/
|
||||
extern void tile_set_update(uint8_t set);
|
||||
|
||||
/**
|
||||
* @brief Initialize the tiles
|
||||
*
|
||||
*/
|
||||
extern void tile_init();
|
||||
|
||||
/**
|
||||
* @brief Setup a tile map
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
* @param address pointer to the actual tile map data
|
||||
* @param width number of columns in the map
|
||||
* @param height number of rows in the map
|
||||
* @param size if 0, tiles are 16x16... if 1, tiles are 8x8
|
||||
*/
|
||||
extern void tile_map_assign(uint8_t map, uint16_t * address, uint8_t width, uint8_t height, uint8_t size);
|
||||
|
||||
/**
|
||||
* @brief Set the scoll position of the tile map
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
* @param x the horizontal scroll position
|
||||
* @param y the vertical scroll position
|
||||
*/
|
||||
extern void tile_map_position(uint8_t map, uint16_t x, uint16_t y);
|
||||
|
||||
/**
|
||||
* @brief Enable or disable the tile map
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
* @param is_enabled if true, the map should be displayed, if false it should not
|
||||
*/
|
||||
extern void tile_map_enable(uint8_t map, bool is_enabled);
|
||||
|
||||
/**
|
||||
* @brief Update the hardware tile map from its shadow
|
||||
*
|
||||
* @param map the number of the tile map (0 - 2)
|
||||
*/
|
||||
extern void tile_map_update(uint8_t set);
|
||||
|
||||
#endif
|
|
@ -71,7 +71,9 @@ typedef struct tvky_crsr_ctrl_s {
|
|||
#define VKY_MCR_RES_320x240 0x0600
|
||||
#define VKY_MCR_RES_320x200 0x0700
|
||||
|
||||
#define tvky_brdr_ctrl ((volatile tvky_border_ctrl_p)0xf01004)
|
||||
#define tvky_layers ((volatile __attribute__((far)) uint16_t *)0xf01002)
|
||||
|
||||
#define tvky_brdr_ctrl ((volatile __attribute__((far)) tvky_border_ctrl_p)0xf01004)
|
||||
|
||||
#define vky_brdr_ctrl ((volatile __attribute__((far)) uint8_t *)0xf01004)
|
||||
#define vky_brdr_col_blue ((volatile __attribute__((far)) uint8_t *)0xf01005)
|
||||
|
@ -118,6 +120,23 @@ typedef volatile __attribute__((far24)) uint8_t *p_far24;
|
|||
#define bm0_control ((volatile __attribute__((far)) uint8_t *)0xf01100)
|
||||
#define bm0_address ((volatile __attribute__((far)) uint8_t *)0xf01101)
|
||||
|
||||
//
|
||||
// Sprite graphics registers
|
||||
//
|
||||
|
||||
/**
|
||||
* @brief Registers for a given sprite
|
||||
*
|
||||
*/
|
||||
typedef struct s_sprite {
|
||||
uint8_t control;
|
||||
p_far24 address;
|
||||
uint16_t x;
|
||||
uint16_t y;
|
||||
} t_sprite, *p_sprite;
|
||||
|
||||
#define vky_sprite ((volatile __attribute__((far)) p_sprite)0xf01900)
|
||||
|
||||
#define MousePointer_Mem_A ((volatile __attribute__((far)) uint8_t *)0xf00c00)
|
||||
#define MousePtr_A_CTRL_Reg ((volatile __attribute__((far)) uint8_t *)0xf016e0)
|
||||
#define MousePtr_En 0x0001
|
||||
|
@ -128,6 +147,42 @@ typedef volatile __attribute__((far24)) uint8_t *p_far24;
|
|||
#define MousePtr_A_Mouse1 ((volatile __attribute__((far)) uint8_t *)0xf016e7)
|
||||
#define MousePtr_A_Mouse2 ((volatile __attribute__((far)) uint8_t *)0xf016e8)
|
||||
|
||||
|
||||
/**
|
||||
* @brief Structure to represent a tile set (the bitmap providing the tiles)
|
||||
*
|
||||
*/
|
||||
typedef struct s_tile_set {
|
||||
p_far24 address;
|
||||
uint8_t control;
|
||||
} t_tile_set, *p_tile_set;
|
||||
|
||||
#define VKY_TILESET_SQUARE 0x08
|
||||
#define VKY_TILESET_MAX 7
|
||||
|
||||
#define vky_tile_sets ((volatile __attribute__((far)) p_tile_set)0xf01280)
|
||||
|
||||
/**
|
||||
* @brief Structure to represent a tile map (the assignments of tiles to positions)
|
||||
*
|
||||
*/
|
||||
typedef struct s_tile_map {
|
||||
uint8_t control;
|
||||
p_far24 address;
|
||||
uint8_t width;
|
||||
uint8_t reserved1;
|
||||
uint8_t height;
|
||||
uint8_t reserved2;
|
||||
uint16_t x;
|
||||
uint16_t y;
|
||||
} t_tile_map, *p_tile_map;
|
||||
|
||||
#define VKY_TILEMAP_ENABLE 0x01
|
||||
#define VKY_TILEMAP_SIZE 0x10 /* 0 = 16x16, 1 = 8x8 */
|
||||
#define VKY_TILEMAP_MAX 2
|
||||
|
||||
#define vky_tile_maps ((volatile __attribute__((far)) p_tile_map)0xf01200)
|
||||
|
||||
//
|
||||
// Video RAM
|
||||
//
|
||||
|
|
|
@ -10,7 +10,11 @@
|
|||
*/
|
||||
|
||||
#ifdef __CALYPSI_CORE_65816__
|
||||
#define SYSTEMCALL __attribute__((simple_call))
|
||||
//
|
||||
// System calls on the 65816 pass parameters primarily on stack using the Calypsi
|
||||
// simple call convention and save/restore the direct page and data bank registers.
|
||||
//
|
||||
#define SYSTEMCALL __attribute__((simple_call)) __attribute__((saveds))
|
||||
#else
|
||||
#define SYSTEMCALL
|
||||
#endif
|
||||
|
|
BIN
src/rsrc/sprites/Arrow.aseprite
Normal file
BIN
src/rsrc/sprites/Arrow.aseprite
Normal file
Binary file not shown.
BIN
src/rsrc/sprites/Cartridge Icon.aseprite
Normal file
BIN
src/rsrc/sprites/Cartridge Icon.aseprite
Normal file
Binary file not shown.
BIN
src/rsrc/sprites/Foenix Logo.aseprite
Normal file
BIN
src/rsrc/sprites/Foenix Logo.aseprite
Normal file
Binary file not shown.
BIN
src/rsrc/sprites/Memory Icon.aseprite
Normal file
BIN
src/rsrc/sprites/Memory Icon.aseprite
Normal file
Binary file not shown.
BIN
src/rsrc/sprites/SD Card Icon.aseprite
Normal file
BIN
src/rsrc/sprites/SD Card Icon.aseprite
Normal file
Binary file not shown.
156
src/rsrc/sprites/boot_clut.h
Normal file
156
src/rsrc/sprites/boot_clut.h
Normal file
|
@ -0,0 +1,156 @@
|
|||
uint8_t boot_clut[] = {
|
||||
0x88, 0x99, 0xF6, 0xff,
|
||||
0x60, 0x6C, 0xF3, 0xff,
|
||||
0x40, 0x4E, 0xE8, 0xff,
|
||||
0x23, 0x1C, 0xE5, 0xff,
|
||||
0x1D, 0x19, 0xDD, 0xff,
|
||||
0x16, 0x17, 0xD0, 0xff,
|
||||
0x11, 0x14, 0xC4, 0xff,
|
||||
0x0A, 0x12, 0xB0, 0xff,
|
||||
0xB1, 0x8F, 0xF4, 0xff,
|
||||
0x92, 0x62, 0xF0, 0xff,
|
||||
0x7A, 0x40, 0xEC, 0xff,
|
||||
0x63, 0x1E, 0xE9, 0xff,
|
||||
0x60, 0x1B, 0xD8, 0xff,
|
||||
0x5B, 0x18, 0xC2, 0xff,
|
||||
0x57, 0x14, 0xAD, 0xff,
|
||||
0x4F, 0x0E, 0x88, 0xff,
|
||||
0xD8, 0x93, 0xCE, 0xff,
|
||||
0xC8, 0x68, 0xBA, 0xff,
|
||||
0xBC, 0x47, 0xAB, 0xff,
|
||||
0xB0, 0x27, 0x9C, 0xff,
|
||||
0xAA, 0x24, 0x8E, 0xff,
|
||||
0xA2, 0x1F, 0x7B, 0xff,
|
||||
0x9A, 0x1B, 0x6A, 0xff,
|
||||
0x8C, 0x14, 0x4A, 0xff,
|
||||
0xDB, 0x9D, 0xB3, 0xff,
|
||||
0xCD, 0x75, 0x95, 0xff,
|
||||
0xC2, 0x57, 0x7E, 0xff,
|
||||
0xB7, 0x3A, 0x67, 0xff,
|
||||
0xB1, 0x35, 0x5E, 0xff,
|
||||
0xA8, 0x2D, 0x51, 0xff,
|
||||
0xA0, 0x27, 0x45, 0xff,
|
||||
0x92, 0x1B, 0x31, 0xff,
|
||||
0xDA, 0xA8, 0x9F, 0xff,
|
||||
0xCB, 0x86, 0x79, 0xff,
|
||||
0xC0, 0x6B, 0x5C, 0xff,
|
||||
0xB5, 0x51, 0x3F, 0xff,
|
||||
0xAB, 0x49, 0x39, 0xff,
|
||||
0x9F, 0x3F, 0x30, 0xff,
|
||||
0x93, 0x35, 0x28, 0xff,
|
||||
0x7E, 0x23, 0x1A, 0xff,
|
||||
0xFF, 0xBF, 0xAF, 0xff,
|
||||
0xFF, 0xA7, 0x91, 0xff,
|
||||
0xFE, 0x8F, 0x73, 0xff,
|
||||
0xFC, 0x77, 0x56, 0xff,
|
||||
0xEF, 0x6C, 0x4E, 0xff,
|
||||
0xDE, 0x5E, 0x45, 0xff,
|
||||
0xCE, 0x50, 0x3B, 0xff,
|
||||
0xB1, 0x36, 0x2A, 0xff,
|
||||
0xFA, 0xD4, 0x81, 0xff,
|
||||
0xF7, 0xC3, 0x4F, 0xff,
|
||||
0xF6, 0xB6, 0x29, 0xff,
|
||||
0xF4, 0xA9, 0x03, 0xff,
|
||||
0xE5, 0x9B, 0x03, 0xff,
|
||||
0xD1, 0x88, 0x02, 0xff,
|
||||
0xBD, 0x77, 0x02, 0xff,
|
||||
0x9B, 0x57, 0x01, 0xff,
|
||||
0xEA, 0xDE, 0x80, 0xff,
|
||||
0xE1, 0xD0, 0x4D, 0xff,
|
||||
0xDA, 0xC6, 0x26, 0xff,
|
||||
0xD4, 0xBC, 0x00, 0xff,
|
||||
0xC1, 0xAC, 0x00, 0xff,
|
||||
0xA7, 0x97, 0x00, 0xff,
|
||||
0x8F, 0x83, 0x00, 0xff,
|
||||
0x64, 0x60, 0x00, 0xff,
|
||||
0xC4, 0xCB, 0x80, 0xff,
|
||||
0xAC, 0xB6, 0x4D, 0xff,
|
||||
0x9A, 0xA6, 0x26, 0xff,
|
||||
0x88, 0x96, 0x00, 0xff,
|
||||
0x7B, 0x89, 0x00, 0xff,
|
||||
0x6B, 0x79, 0x00, 0xff,
|
||||
0x5C, 0x69, 0x00, 0xff,
|
||||
0x40, 0x4D, 0x00, 0xff,
|
||||
0x72, 0xD5, 0x72, 0xff,
|
||||
0x41, 0xBD, 0x42, 0xff,
|
||||
0x2B, 0xAF, 0x2B, 0xff,
|
||||
0x24, 0x9B, 0x25, 0xff,
|
||||
0x08, 0x8F, 0x0A, 0xff,
|
||||
0x07, 0x7E, 0x0A, 0xff,
|
||||
0x00, 0x6F, 0x05, 0xff,
|
||||
0x02, 0x53, 0x0D, 0xff,
|
||||
0xA5, 0xE1, 0xC5, 0xff,
|
||||
0x81, 0xD5, 0xAE, 0xff,
|
||||
0x65, 0xCC, 0x9C, 0xff,
|
||||
0x4A, 0xC3, 0x8B, 0xff,
|
||||
0x42, 0xB3, 0x7C, 0xff,
|
||||
0x38, 0x9F, 0x68, 0xff,
|
||||
0x2F, 0x8B, 0x55, 0xff,
|
||||
0x1E, 0x69, 0x33, 0xff,
|
||||
0x9C, 0xEE, 0xE6, 0xff,
|
||||
0x75, 0xE7, 0xDC, 0xff,
|
||||
0x57, 0xE1, 0xD4, 0xff,
|
||||
0x39, 0xDC, 0xCD, 0xff,
|
||||
0x33, 0xCA, 0xC0, 0xff,
|
||||
0x2B, 0xB4, 0xAF, 0xff,
|
||||
0x24, 0x9D, 0x9E, 0xff,
|
||||
0x17, 0x77, 0x82, 0xff,
|
||||
0x9D, 0xF5, 0xFF, 0xff,
|
||||
0x76, 0xF1, 0xFF, 0xff,
|
||||
0x58, 0xEE, 0xFF, 0xff,
|
||||
0x3B, 0xEB, 0xFF, 0xff,
|
||||
0x35, 0xD8, 0xFD, 0xff,
|
||||
0x2D, 0xC0, 0xFB, 0xff,
|
||||
0x25, 0xA8, 0xF9, 0xff,
|
||||
0x17, 0x7F, 0xF5, 0xff,
|
||||
0x82, 0xE0, 0xFF, 0xff,
|
||||
0x4F, 0xD5, 0xFF, 0xff,
|
||||
0x28, 0xCA, 0xFF, 0xff,
|
||||
0x07, 0xC1, 0xFF, 0xff,
|
||||
0x00, 0xB3, 0xFF, 0xff,
|
||||
0x00, 0xA0, 0xFF, 0xff,
|
||||
0x00, 0x8F, 0xFF, 0xff,
|
||||
0x00, 0x6F, 0xFF, 0xff,
|
||||
0x80, 0xCC, 0xFF, 0xff,
|
||||
0x4D, 0xB7, 0xFF, 0xff,
|
||||
0x26, 0xA7, 0xFF, 0xff,
|
||||
0x00, 0x98, 0xFF, 0xff,
|
||||
0x00, 0x8C, 0xFB, 0xff,
|
||||
0x00, 0x7C, 0xF5, 0xff,
|
||||
0x00, 0x6C, 0xEF, 0xff,
|
||||
0x00, 0x51, 0xE6, 0xff,
|
||||
0x91, 0xAB, 0xFF, 0xff,
|
||||
0x65, 0x8A, 0xFF, 0xff,
|
||||
0x43, 0x70, 0xFF, 0xff,
|
||||
0x22, 0x57, 0xFF, 0xff,
|
||||
0x1E, 0x51, 0xF4, 0xff,
|
||||
0x19, 0x4A, 0xE6, 0xff,
|
||||
0x15, 0x43, 0xD8, 0xff,
|
||||
0x0C, 0x36, 0xBF, 0xff,
|
||||
0xA4, 0xAA, 0xBC, 0xff,
|
||||
0x7F, 0x88, 0xA1, 0xff,
|
||||
0x63, 0x6E, 0x8D, 0xff,
|
||||
0x48, 0x55, 0x79, 0xff,
|
||||
0x41, 0x4C, 0x6D, 0xff,
|
||||
0x37, 0x40, 0x5D, 0xff,
|
||||
0x2E, 0x34, 0x4E, 0xff,
|
||||
0x23, 0x27, 0x3E, 0xff,
|
||||
0xEE, 0xEE, 0xEE, 0xff,
|
||||
0xE0, 0xE0, 0xE0, 0xff,
|
||||
0xBD, 0xBD, 0xBD, 0xff,
|
||||
0x9E, 0x9E, 0x9E, 0xff,
|
||||
0x75, 0x75, 0x75, 0xff,
|
||||
0x61, 0x61, 0x61, 0xff,
|
||||
0x42, 0x42, 0x42, 0xff,
|
||||
0x21, 0x21, 0x21, 0xff,
|
||||
0xC5, 0xBE, 0xB0, 0xff,
|
||||
0xAE, 0xA4, 0x90, 0xff,
|
||||
0x9C, 0x90, 0x78, 0xff,
|
||||
0x8B, 0x7D, 0x60, 0xff,
|
||||
0x7A, 0x6E, 0x54, 0xff,
|
||||
0x64, 0x5A, 0x45, 0xff,
|
||||
0x4F, 0x47, 0x37, 0xff,
|
||||
0x38, 0x32, 0x26, 0xff,
|
||||
0x00, 0x00, 0x00, 0xff,
|
||||
0xFF, 0xFF, 0xFF, 0xff,
|
||||
};
|
374
src/rsrc/sprites/boot_sprites.h
Normal file
374
src/rsrc/sprites/boot_sprites.h
Normal file
|
@ -0,0 +1,374 @@
|
|||
|
||||
#ifndef __boot_sprites_h__
|
||||
#define __boot_sprites_h__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
const uint8_t boot_clut[] = {
|
||||
0x88, 0x99, 0xF6, 0xff,
|
||||
0x60, 0x6C, 0xF3, 0xff,
|
||||
0x40, 0x4E, 0xE8, 0xff,
|
||||
0x23, 0x1C, 0xE5, 0xff,
|
||||
0x1D, 0x19, 0xDD, 0xff,
|
||||
0x16, 0x17, 0xD0, 0xff,
|
||||
0x11, 0x14, 0xC4, 0xff,
|
||||
0x0A, 0x12, 0xB0, 0xff,
|
||||
0xB1, 0x8F, 0xF4, 0xff,
|
||||
0x92, 0x62, 0xF0, 0xff,
|
||||
0x7A, 0x40, 0xEC, 0xff,
|
||||
0x63, 0x1E, 0xE9, 0xff,
|
||||
0x60, 0x1B, 0xD8, 0xff,
|
||||
0x5B, 0x18, 0xC2, 0xff,
|
||||
0x57, 0x14, 0xAD, 0xff,
|
||||
0x4F, 0x0E, 0x88, 0xff,
|
||||
0xD8, 0x93, 0xCE, 0xff,
|
||||
0xC8, 0x68, 0xBA, 0xff,
|
||||
0xBC, 0x47, 0xAB, 0xff,
|
||||
0xB0, 0x27, 0x9C, 0xff,
|
||||
0xAA, 0x24, 0x8E, 0xff,
|
||||
0xA2, 0x1F, 0x7B, 0xff,
|
||||
0x9A, 0x1B, 0x6A, 0xff,
|
||||
0x8C, 0x14, 0x4A, 0xff,
|
||||
0xDB, 0x9D, 0xB3, 0xff,
|
||||
0xCD, 0x75, 0x95, 0xff,
|
||||
0xC2, 0x57, 0x7E, 0xff,
|
||||
0xB7, 0x3A, 0x67, 0xff,
|
||||
0xB1, 0x35, 0x5E, 0xff,
|
||||
0xA8, 0x2D, 0x51, 0xff,
|
||||
0xA0, 0x27, 0x45, 0xff,
|
||||
0x92, 0x1B, 0x31, 0xff,
|
||||
0xDA, 0xA8, 0x9F, 0xff,
|
||||
0xCB, 0x86, 0x79, 0xff,
|
||||
0xC0, 0x6B, 0x5C, 0xff,
|
||||
0xB5, 0x51, 0x3F, 0xff,
|
||||
0xAB, 0x49, 0x39, 0xff,
|
||||
0x9F, 0x3F, 0x30, 0xff,
|
||||
0x93, 0x35, 0x28, 0xff,
|
||||
0x7E, 0x23, 0x1A, 0xff,
|
||||
0xFF, 0xBF, 0xAF, 0xff,
|
||||
0xFF, 0xA7, 0x91, 0xff,
|
||||
0xFE, 0x8F, 0x73, 0xff,
|
||||
0xFC, 0x77, 0x56, 0xff,
|
||||
0xEF, 0x6C, 0x4E, 0xff,
|
||||
0xDE, 0x5E, 0x45, 0xff,
|
||||
0xCE, 0x50, 0x3B, 0xff,
|
||||
0xB1, 0x36, 0x2A, 0xff,
|
||||
0xFA, 0xD4, 0x81, 0xff,
|
||||
0xF7, 0xC3, 0x4F, 0xff,
|
||||
0xF6, 0xB6, 0x29, 0xff,
|
||||
0xF4, 0xA9, 0x03, 0xff,
|
||||
0xE5, 0x9B, 0x03, 0xff,
|
||||
0xD1, 0x88, 0x02, 0xff,
|
||||
0xBD, 0x77, 0x02, 0xff,
|
||||
0x9B, 0x57, 0x01, 0xff,
|
||||
0xEA, 0xDE, 0x80, 0xff,
|
||||
0xE1, 0xD0, 0x4D, 0xff,
|
||||
0xDA, 0xC6, 0x26, 0xff,
|
||||
0xD4, 0xBC, 0x00, 0xff,
|
||||
0xC1, 0xAC, 0x00, 0xff,
|
||||
0xA7, 0x97, 0x00, 0xff,
|
||||
0x8F, 0x83, 0x00, 0xff,
|
||||
0x64, 0x60, 0x00, 0xff,
|
||||
0xC4, 0xCB, 0x80, 0xff,
|
||||
0xAC, 0xB6, 0x4D, 0xff,
|
||||
0x9A, 0xA6, 0x26, 0xff,
|
||||
0x88, 0x96, 0x00, 0xff,
|
||||
0x7B, 0x89, 0x00, 0xff,
|
||||
0x6B, 0x79, 0x00, 0xff,
|
||||
0x5C, 0x69, 0x00, 0xff,
|
||||
0x40, 0x4D, 0x00, 0xff,
|
||||
0x72, 0xD5, 0x72, 0xff,
|
||||
0x41, 0xBD, 0x42, 0xff,
|
||||
0x2B, 0xAF, 0x2B, 0xff,
|
||||
0x24, 0x9B, 0x25, 0xff,
|
||||
0x08, 0x8F, 0x0A, 0xff,
|
||||
0x07, 0x7E, 0x0A, 0xff,
|
||||
0x00, 0x6F, 0x05, 0xff,
|
||||
0x02, 0x53, 0x0D, 0xff,
|
||||
0xA5, 0xE1, 0xC5, 0xff,
|
||||
0x81, 0xD5, 0xAE, 0xff,
|
||||
0x65, 0xCC, 0x9C, 0xff,
|
||||
0x4A, 0xC3, 0x8B, 0xff,
|
||||
0x42, 0xB3, 0x7C, 0xff,
|
||||
0x38, 0x9F, 0x68, 0xff,
|
||||
0x2F, 0x8B, 0x55, 0xff,
|
||||
0x1E, 0x69, 0x33, 0xff,
|
||||
0x9C, 0xEE, 0xE6, 0xff,
|
||||
0x75, 0xE7, 0xDC, 0xff,
|
||||
0x57, 0xE1, 0xD4, 0xff,
|
||||
0x39, 0xDC, 0xCD, 0xff,
|
||||
0x33, 0xCA, 0xC0, 0xff,
|
||||
0x2B, 0xB4, 0xAF, 0xff,
|
||||
0x24, 0x9D, 0x9E, 0xff,
|
||||
0x17, 0x77, 0x82, 0xff,
|
||||
0x9D, 0xF5, 0xFF, 0xff,
|
||||
0x76, 0xF1, 0xFF, 0xff,
|
||||
0x58, 0xEE, 0xFF, 0xff,
|
||||
0x3B, 0xEB, 0xFF, 0xff,
|
||||
0x35, 0xD8, 0xFD, 0xff,
|
||||
0x2D, 0xC0, 0xFB, 0xff,
|
||||
0x25, 0xA8, 0xF9, 0xff,
|
||||
0x17, 0x7F, 0xF5, 0xff,
|
||||
0x82, 0xE0, 0xFF, 0xff,
|
||||
0x4F, 0xD5, 0xFF, 0xff,
|
||||
0x28, 0xCA, 0xFF, 0xff,
|
||||
0x07, 0xC1, 0xFF, 0xff,
|
||||
0x00, 0xB3, 0xFF, 0xff,
|
||||
0x00, 0xA0, 0xFF, 0xff,
|
||||
0x00, 0x8F, 0xFF, 0xff,
|
||||
0x00, 0x6F, 0xFF, 0xff,
|
||||
0x80, 0xCC, 0xFF, 0xff,
|
||||
0x4D, 0xB7, 0xFF, 0xff,
|
||||
0x26, 0xA7, 0xFF, 0xff,
|
||||
0x00, 0x98, 0xFF, 0xff,
|
||||
0x00, 0x8C, 0xFB, 0xff,
|
||||
0x00, 0x7C, 0xF5, 0xff,
|
||||
0x00, 0x6C, 0xEF, 0xff,
|
||||
0x00, 0x51, 0xE6, 0xff,
|
||||
0x91, 0xAB, 0xFF, 0xff,
|
||||
0x65, 0x8A, 0xFF, 0xff,
|
||||
0x43, 0x70, 0xFF, 0xff,
|
||||
0x22, 0x57, 0xFF, 0xff,
|
||||
0x1E, 0x51, 0xF4, 0xff,
|
||||
0x19, 0x4A, 0xE6, 0xff,
|
||||
0x15, 0x43, 0xD8, 0xff,
|
||||
0x0C, 0x36, 0xBF, 0xff,
|
||||
0xA4, 0xAA, 0xBC, 0xff,
|
||||
0x7F, 0x88, 0xA1, 0xff,
|
||||
0x63, 0x6E, 0x8D, 0xff,
|
||||
0x48, 0x55, 0x79, 0xff,
|
||||
0x41, 0x4C, 0x6D, 0xff,
|
||||
0x37, 0x40, 0x5D, 0xff,
|
||||
0x2E, 0x34, 0x4E, 0xff,
|
||||
0x23, 0x27, 0x3E, 0xff,
|
||||
0xEE, 0xEE, 0xEE, 0xff,
|
||||
0xE0, 0xE0, 0xE0, 0xff,
|
||||
0xBD, 0xBD, 0xBD, 0xff,
|
||||
0x9E, 0x9E, 0x9E, 0xff,
|
||||
0x75, 0x75, 0x75, 0xff,
|
||||
0x61, 0x61, 0x61, 0xff,
|
||||
0x42, 0x42, 0x42, 0xff,
|
||||
0x21, 0x21, 0x21, 0xff,
|
||||
0xC5, 0xBE, 0xB0, 0xff,
|
||||
0xAE, 0xA4, 0x90, 0xff,
|
||||
0x9C, 0x90, 0x78, 0xff,
|
||||
0x8B, 0x7D, 0x60, 0xff,
|
||||
0x7A, 0x6E, 0x54, 0xff,
|
||||
0x64, 0x5A, 0x45, 0xff,
|
||||
0x4F, 0x47, 0x37, 0xff,
|
||||
0x38, 0x32, 0x26, 0xff,
|
||||
0x00, 0x00, 0x00, 0xff,
|
||||
0xFF, 0xFF, 0xFF, 0xff,
|
||||
};
|
||||
|
||||
const uint8_t cartridge_pixels[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x3B, 0x4B, 0x63, 0x7B, 0x07, 0x8D, 0x8D, 0x8D, 0x8D, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x3B, 0x4B, 0x63, 0x7B, 0x07, 0x8D, 0x8D, 0x8D, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x3B, 0x4B, 0x63, 0x7B, 0x07, 0x8D, 0x8D, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x3B, 0x4B, 0x63, 0x7B, 0x07, 0x8D, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x8D, 0x3B, 0x4B, 0x63, 0x7B, 0x07, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x49, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
const uint8_t foenix_pixels[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x17, 0x17, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
const uint8_t ram_pixels[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x88, 0x88, 0x8E, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x88, 0x8E, 0x88, 0x88, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x88, 0x88, 0x88, 0x8E, 0x8E, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
const uint8_t rom_pixels[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x88, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x88, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x88, 0x8E, 0x88, 0x88, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x88, 0x88, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x8E, 0x88, 0x88, 0x88, 0x8E, 0x8E, 0x88, 0x8E, 0x8E, 0x8E, 0x88, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
const uint8_t sd_ext_pixels[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x98, 0x98, 0x98, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x98, 0x98, 0x98, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x98, 0x88, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x98, 0x98, 0x88, 0x88, 0x88, 0x98, 0x98, 0x88, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x98, 0x88, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x98, 0x98, 0x98, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
const uint8_t sd_int_pixels[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x04, 0x64, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x98, 0x98, 0x98, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x98, 0x98, 0x98, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x98, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x98, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x98, 0x98, 0x98, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x98, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x07, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x07, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
#endif
|
25
src/rsrc/sprites/extract_clut.py
Normal file
25
src/rsrc/sprites/extract_clut.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
import re
|
||||
import sys
|
||||
|
||||
mode = 0
|
||||
|
||||
with open("sprite_clut.h", "w") as clut_file:
|
||||
clut_file.write("uint8_t sprite_clut[] = {\n")
|
||||
with open("arrow.txt", "r") as sprite_data:
|
||||
for line in sprite_data:
|
||||
if re.match(r'^begin palette', line):
|
||||
mode = 1
|
||||
|
||||
elif re.match(r'end palette', line):
|
||||
break
|
||||
|
||||
else:
|
||||
m = re.match(r'^(\d+)\s+(\d+)\s+(\d+)\s+', line)
|
||||
if m:
|
||||
red = int(m.group(1))
|
||||
green = int(m.group(2))
|
||||
blue = int(m.group(3))
|
||||
clut_line = "\t0x{0:02X}, 0x{1:02X}, 0x{2:02X}, 0xff,\n".format(blue, green, red)
|
||||
clut_file.write(clut_line)
|
||||
|
||||
clut_file.write("};\n")
|
28
src/rsrc/sprites/extract_indicies.py
Normal file
28
src/rsrc/sprites/extract_indicies.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
import re
|
||||
import sys
|
||||
|
||||
mode = 0
|
||||
|
||||
sprite_name = sys.argv[1]
|
||||
input_file = "{}.txt".format(sprite_name)
|
||||
out_file = "{}.h".format(sprite_name)
|
||||
|
||||
with open(out_file, "w") as index_file:
|
||||
index_file.write("uint8_t {0}_pixels[] = {1}\n".format(sprite_name, "{"))
|
||||
with open(input_file, "r") as sprite_data:
|
||||
for line in sprite_data:
|
||||
if re.match(r'^begin indices', line):
|
||||
mode = 1
|
||||
|
||||
elif re.match(r'end indices', line):
|
||||
break
|
||||
|
||||
elif mode == 1:
|
||||
indices = re.findall(r'\d+', line)
|
||||
index_file.write("\t")
|
||||
for index in indices:
|
||||
value = int(index)
|
||||
index_file.write("0x{0:02X}, ".format(value))
|
||||
index_file.write("\n")
|
||||
|
||||
index_file.write("};\n")
|
BIN
src/rsrc/tiles/Boot Tiles Flattened.aseprite
Normal file
BIN
src/rsrc/tiles/Boot Tiles Flattened.aseprite
Normal file
Binary file not shown.
BIN
src/rsrc/tiles/Boot Tiles.aseprite
Normal file
BIN
src/rsrc/tiles/Boot Tiles.aseprite
Normal file
Binary file not shown.
308
src/rsrc/tiles/boot_tiles.h
Normal file
308
src/rsrc/tiles/boot_tiles.h
Normal file
|
@ -0,0 +1,308 @@
|
|||
#ifndef __boot_tiles_h__
|
||||
#define __boot_tiles_h__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
const uint8_t boot_tiles_pixels[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x27, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x27,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x23, 0x23, 0x23, 0x04, 0x67, 0x63, 0x4A, 0x3B,
|
||||
0x20, 0x20, 0x04, 0x67, 0x63, 0x4A, 0x3B, 0x20,
|
||||
0x20, 0x04, 0x67, 0x63, 0x4A, 0x3B, 0x20, 0x20,
|
||||
0x04, 0x67, 0x63, 0x4A, 0x3B, 0x23, 0x23, 0x23,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x3B, 0x4A, 0x63, 0x67, 0x04, 0x23, 0x23, 0x23,
|
||||
0x20, 0x3B, 0x4A, 0x63, 0x67, 0x04, 0x20, 0x20,
|
||||
0x20, 0x20, 0x3B, 0x4A, 0x63, 0x67, 0x04, 0x20,
|
||||
0x23, 0x23, 0x23, 0x3B, 0x4A, 0x63, 0x67, 0x04,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x27, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x27,
|
||||
0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x00, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x17, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x00,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x27, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23,
|
||||
0x27, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x27,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x27, 0x27, 0x23, 0x20, 0x20, 0x23, 0x27, 0x27,
|
||||
0x27, 0x23, 0x23, 0x20, 0x20, 0x23, 0x23, 0x27,
|
||||
0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x23, 0x27,
|
||||
0x27, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x27,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x23, 0x23,
|
||||
0x00, 0x00, 0x00, 0x00, 0x27, 0x23, 0x20, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x27, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x23, 0x23, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x20, 0x23, 0x27, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x27, 0x23, 0x20, 0x20, 0x20,
|
||||
0x27, 0x27, 0x27, 0x23, 0x20, 0x20, 0x20, 0x20,
|
||||
0x23, 0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x23, 0x23, 0x23, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x27, 0x27, 0x27, 0x23, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x27, 0x23, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x17, 0x17, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x17, 0x17, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x17, 0x17, 0x20,
|
||||
0x17, 0x17, 0x20, 0x20, 0x20, 0x17, 0x17, 0x20,
|
||||
0x20, 0x17, 0x17, 0x17, 0x17, 0x17, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x23, 0x27, 0x00, 0x00, 0x00,
|
||||
0x20, 0x20, 0x20, 0x20, 0x23, 0x27, 0x27, 0x27,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23, 0x23,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x23, 0x23,
|
||||
0x20, 0x20, 0x20, 0x20, 0x23, 0x27, 0x27, 0x27,
|
||||
0x20, 0x20, 0x20, 0x23, 0x27, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x27, 0x23, 0x20, 0x20,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x27, 0x23, 0x23,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
|
||||
0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
|
||||
0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x20, 0x20, 0x23, 0x27, 0x17, 0x17, 0x17, 0x17,
|
||||
0x23, 0x23, 0x27, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x27, 0x27, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
|
||||
};
|
||||
|
||||
const uint16_t boot_tiles_map[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 18, 19, 20, 21, 22, 23, 24, 25, 25, 19, 26, 27, 28, 29, 3, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
#endif
|
|
@ -481,44 +481,48 @@ int main(int argc, char * argv[]) {
|
|||
|
||||
test_sysinfo();
|
||||
|
||||
printf("Foenix Toolbox v%d.%04d.%04d\n", VER_MAJOR, VER_MINOR, VER_BUILD);
|
||||
// printf("Foenix Toolbox v%d.%04d.%04d\n", VER_MAJOR, VER_MINOR, VER_BUILD);
|
||||
|
||||
const char * test_data = "Hello, world!";
|
||||
// const char * test_data = "Hello, world!";
|
||||
|
||||
volatile uint8_t * cartridge = ((volatile uint8_t *)0xf40000);
|
||||
// volatile uint8_t * cartridge = ((volatile uint8_t *)0xf40000);
|
||||
|
||||
short cartridge_id = cart_id();
|
||||
switch(cartridge_id) {
|
||||
case CART_ID_NONE:
|
||||
printf("No cartridge detected.\n");
|
||||
break;
|
||||
// short cartridge_id = cart_id();
|
||||
// switch(cartridge_id) {
|
||||
// case CART_ID_NONE:
|
||||
// printf("No cartridge detected.\n");
|
||||
// break;
|
||||
|
||||
case CART_ID_RAM:
|
||||
printf("RAM cartridge detected.\n");
|
||||
break;
|
||||
// case CART_ID_RAM:
|
||||
// printf("RAM cartridge detected.\n");
|
||||
// break;
|
||||
|
||||
case CART_ID_FLASH:
|
||||
printf("FLASH cartridge detected.\n");
|
||||
// printf("Attempting to erase the flash cartridge.\n");
|
||||
// cart_erase();
|
||||
// printf("Attempting to program the flash cartridge.\n");
|
||||
// for (int i = 0; i < strlen(test_data); i++) {
|
||||
// cart_write(0xf40000 + i, test_data[i]);
|
||||
// case CART_ID_FLASH:
|
||||
// printf("FLASH cartridge detected.\n");
|
||||
// // printf("Attempting to erase the flash cartridge.\n");
|
||||
// // cart_erase();
|
||||
// // printf("Attempting to program the flash cartridge.\n");
|
||||
// // for (int i = 0; i < strlen(test_data); i++) {
|
||||
// // cart_write(0xf40000 + i, test_data[i]);
|
||||
// // }
|
||||
|
||||
// // for (int j = 0; j < strlen(test_data); j++) {
|
||||
// // txt_put(0, cartridge[j]);
|
||||
// // }
|
||||
|
||||
// // printf("\n");
|
||||
// break;
|
||||
|
||||
// default:
|
||||
// printf("Unable to determine whether a cartridge is present.\n");
|
||||
// break;
|
||||
// }
|
||||
|
||||
// for (int j = 0; j < strlen(test_data); j++) {
|
||||
// txt_put(0, cartridge[j]);
|
||||
// }
|
||||
boot_screen();
|
||||
|
||||
// printf("\n");
|
||||
break;
|
||||
while (1) ;
|
||||
|
||||
default:
|
||||
printf("Unable to determine whether a cartridge is present.\n");
|
||||
break;
|
||||
}
|
||||
|
||||
test_kbd();
|
||||
// test_kbd();
|
||||
|
||||
// printf("Initializing IEC\n");
|
||||
// result = iec_init();
|
||||
|
|
Loading…
Reference in a new issue