Fix silkscreen and cursor on big endian platforms

This commit is contained in:
meepingsnesroms
2018-11-09 11:45:30 -08:00
parent fc54efe2ae
commit a581e98240
16 changed files with 5190 additions and 782 deletions

1
.gitignore vendored
View File

@@ -16,3 +16,4 @@
/tools/palm/hwTestSuite/TstSuite-sections.ld
/tools/desktop/build-BufferGraphViewer-*
/tools/desktop/build-MakePalmIcon-*
/tools/desktop/export16BitImageProperly/convert

View File

Before

Width:  |  Height:  |  Size: 445 B

After

Width:  |  Height:  |  Size: 445 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

175
images/silkscreen.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 109 KiB

BIN
images/silkscreen160x60.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,88 +1,137 @@
const unsigned char cursor16x16[16 * 16 * 2 + 1] = {
"\0\0\0\0\0\0\364\234\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\364\2344\245\202\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\323\234\236\367U\255\2461\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\263\224\337\377\236\367u\255,c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\222\224\236\367\232\326\236\367\367\2750\204\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\222\214]\3579\306y\316]\347Y\316\222\224\202\20"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\222\214<\347y\316y\316z\316\374\336\272"
"\326\263\224\2061\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\214\373\336\232\326\232\326"
"\272\326\272\326\373\336\333\336\24\245-c\0\0\0\0\0\0\0\0\0\0\0\0r\214\273"
"\326\333\336Y\316\373\336\222\214q\214r\214\222\224\262\224\0\0\0\0\0\0\0"
"\0\0\0\0\0r\214\272\326\30\306\222\214\34\347\367\275(B\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0q\214Y\316r\214jJ8\306\34\3471\204\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0q\214\263\224\4!\0\0\222\224~\367\327\275\206)\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0r\214\253R\0\0\0\0(BY\316\236\3671\204\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\263\224\226\265\354Z\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0IJ\354Z\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
#include <stdint.h>
const uint16_t cursor16x16[16 * 16] = {
0xFFFF,0xFFFF,0xFFFF,0xA534,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x9CF4,
0xA534,0xF7BE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x9CD3,0xF79E,0xAD55,0xE71C,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0x94B3,0xFFDF,0xF79E,0xAD75,0xC638,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x9492,0xF79E,0xD69A,
0xF79E,0xBDF7,0xA534,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0x8C92,0xEF5D,0xC639,0xCE79,0xE75D,0xCE59,0x9492,
0xF7BE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8C92,
0xE73C,0xCE79,0xCE79,0xCE7A,0xDEFC,0xD6BA,0x94B3,0xE71C,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8C72,0xDEFB,0xD69A,0xD69A,0xD6BA,
0xD6BA,0xDEFB,0xDEDB,0xA514,0xBDF8,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0x8C72,0xD6BB,0xDEDB,0xCE59,0xDEFB,0x8C92,0x8C71,0x8C72,0x9492,
0x94B2,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8C72,0xD6BA,0xC618,
0x8C92,0xE71C,0xBDF7,0xBDF7,0xE73C,0xE73C,0xE73C,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0x8C71,0xCE59,0x8C92,0xB5B6,0xC638,0xE71C,0x94B3,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8C71,
0x94B3,0xD69A,0xF79E,0x9492,0xF77E,0xBDD7,0xDEFC,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8C72,0xB596,0xFFDF,0xFFFF,0xBDD7,
0xCE59,0xF79E,0x8431,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xE73C,0xF79E,0xFFFF,0xFFFF,0xF79E,0x94B3,0xB596,0xAD55,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xB5B6,0xA535,0xEF7D,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF79E,0xEF7D,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF
};
const unsigned char cursor32x32[32 * 32 * 2 + 1] = {
"\0\0\0\0\0\0\0\0\0\0\0\0\364\234\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\364\234\323\224\202\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\323\234\276\367\364\234E)\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\323\224\377\377}\357U\255\2461\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\263\224"
"}\357\232\316\276\367U\255,c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\263\224}\357"
"\327\2759\306}\357\327\275\317{\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\263\224}\357\367"
"\275\370\275\30\276]\357\327\275\20\204\202\20\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\222\224"
"}\357\30\276\30\306\30\306\30\276\373\336\232\326\262\224\202\20\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\222\224]\357\30\3068\3068\3068\3068\306\272\326y\316\323\224\246"
"1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\222\214]\3478\3069\3069\3069\3069\3069\306y\316\333\336\263"
"\224\253R\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0r\214<\3479\306Y\306Y\306Y\306Y\306Y\306Y\306y\316\232\326"
"\24\245Mk\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0r\214<\347Y\316Y\316Y\316Y\316Y\316Y\316Y\316Y\316y\316\273\326"
"\24\235\20|\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0q\214<\347y\316y\316y\316y\316y\316y\316y\316y\316y\316y\316\273"
"\326v\255r\214\202\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0q\214\34\347z\316z\316z\316z\316z\316z\316z\316z\316z\316z\316"
"z\316\272\326v\255q\214\2061\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0Q\214\34\347\232\316\232\316\232\316\232\316\232\316\232"
"\316\232\316\232\316\232\326\232\326\232\326\272\326\273\326\370\275q\214"
"IJ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Q\204\34\337\232"
"\326\232\326\232\326\232\326\232\326\232\326\232\326\272\326\273\326\333"
"\336\333\336\333\336\333\336\374\3369\306r\214\14c\0\0\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\204\374\336\272\326\272\326\272\326\272"
"\326\272\326\272\326\333\3268\306\20\2041\204Q\204Q\204Q\204Q\214Q\214r\214"
"r\214\0\0\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\204\373\336"
"\273\326\273\326\333\336\333\336\272\326\333\326\333\336\333\3365\245\307"
"9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0""0\204\373\336\333\336\333\336\374\3364\245\363\234\333\336\333"
"\336\333\336\232\3260\204\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\204\333\336\374\336\34\347\226\265mk"
"\257s\30\306\333\336\373\336\333\336v\255\313R\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\204\333\336<\347\30"
"\276\20\204\0\0E)\263\224\272\326\374\336\373\336\232\3161\204\40\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\204"
"\374\3368\306\20\204a\10\0\0\0\0\360{\327\275\333\336\34\347\333\326v\255"
"Mk\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0""0\204\327\275\20\204f)\0\0\0\0\0\0\303\30Q\214\232\326<\347\34\347\232"
"\326Q\214\303\30\0\0\0\0\0\0\0\0\0\0\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\204\20\204\10B\0\0\0\0\0\0\0\0\0\0Mc\226\265\333\336=\347"
"\333\336\327\265\216s\0\0\0\0\0\0\0\0\0\0\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\204\313Z\0\0\0\0\0\0\0\0\0\0\0\0\303\30\20\204y\316<"
"\347]\357\272\326\222\224e)\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\212R5\245\333\336"
"}\357\34\347\30\276\20|\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\40\0\360{y\316<\347\272"
"\326\364\234\253R\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0)B\24\245\273\326\323\234"
"\212R\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\317{\323\234\212R\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(B\313R\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
const uint16_t cursor32x32[32 * 32] = {
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xA534,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0x9CF4,0x9CF4,
0xF79E,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,
0x9CD3,0xF7BE,0x9CF4,0xE73C,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xF7BE,0x94D3,0xFFFF,0xEF7D,0xAD55,0xDEFB,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x94B3,0xEF7D,0xCE9A,0xF7BE,0xAD55,0xBDF8,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x94B3,0xEF7D,0xBDD7,0xC639,
0xEF7D,0xBDD7,0xAD75,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x94B3,0xEF7D,
0xBDF7,0xBDF8,0xBE18,0xEF5D,0xBDD7,0xA514,0xF79E,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,
0x9492,0xEF7D,0xBE18,0xC618,0xC618,0xBE18,0xDEFB,0xD69A,0x94B2,0xF79E,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xF7BE,0x9492,0xEF5D,0xC618,0xC638,0xC638,0xC638,0xC638,0xD6BA,
0xCE79,0x94D3,0xDEFB,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8C92,0xE75D,0xC638,0xC639,0xC639,0xC639,
0xC639,0xC639,0xCE79,0xDEDB,0x94B3,0xC638,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8C72,0xE73C,0xC639,0xC659,
0xC659,0xC659,0xC659,0xC659,0xC659,0xCE79,0xD69A,0xA514,0xB596,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8C72,0xE73C,
0xCE59,0xCE59,0xCE59,0xCE59,0xCE59,0xCE59,0xCE59,0xCE59,0xCE79,0xD6BB,
0x9D14,0x9CF4,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,
0x8C71,0xE73C,0xCE79,0xCE79,0xCE79,0xCE79,0xCE79,0xCE79,0xCE79,0xCE79,
0xCE79,0xCE79,0xD6BB,0xAD76,0x8C72,0xF79E,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xF7BE,0x8C71,0xE71C,0xCE7A,0xCE7A,0xCE7A,0xCE7A,0xCE7A,0xCE7A,
0xCE7A,0xCE7A,0xCE7A,0xCE7A,0xCE7A,0xD6BA,0xAD76,0x8C71,0xDEDB,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8C51,0xE71C,0xCE9A,0xCE9A,0xCE9A,0xCE9A,
0xCE9A,0xCE9A,0xCE9A,0xCE9A,0xD69A,0xD69A,0xD69A,0xD6BA,0xD6BB,0xBDF8,
0x8C71,0xCE79,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8451,0xDF1C,0xD69A,0xD69A,
0xD69A,0xD69A,0xD69A,0xD69A,0xD69A,0xD6BA,0xD6BB,0xDEDB,0xDEDB,0xDEDB,
0xDEDB,0xDEFC,0xC639,0x8C72,0xB5B7,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8431,0xDEFC,
0xD6BA,0xD6BA,0xD6BA,0xD6BA,0xD6BA,0xD6BA,0xD6DB,0xC638,0x8410,0x8431,
0x8451,0x8451,0x8451,0x8C51,0x8C51,0x8C72,0x8C72,0xFFDF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,
0x8431,0xDEFB,0xD6BB,0xD6BB,0xDEDB,0xDEDB,0xD6BA,0xD6DB,0xDEDB,0xDEDB,
0xA535,0xB5B7,0xDEFB,0xDEFB,0xDEFB,0xDEFB,0xDEFB,0xE71C,0xEF5D,0xFFDF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xF7BE,0x8430,0xDEFB,0xDEDB,0xDEDB,0xDEFC,0xA534,0x9CF3,0xDEDB,
0xDEDB,0xDEDB,0xD69A,0x8430,0xF79E,0xF7BE,0xF7BE,0xF7BE,0xF7BE,0xF7BE,
0xF7BE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8410,0xDEDB,0xDEFC,0xE71C,0xB596,0x9492,
0x8C71,0xC618,0xDEDB,0xDEFB,0xDEDB,0xAD76,0xB5B6,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8410,0xDEDB,0xE73C,0xBE18,
0x8410,0xDEFB,0xC618,0x94B3,0xD6BA,0xDEFC,0xDEFB,0xCE9A,0x8431,0xF7BE,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8410,0xDEFC,
0xC638,0x8410,0xDEDB,0xEF7D,0xEF5D,0x8431,0xBDD7,0xDEDB,0xE71C,0xD6DB,
0xAD76,0x9CF4,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,
0x8430,0xBDD7,0x8410,0xC618,0xF79E,0xFFDF,0xF7BE,0xD69A,0x8C51,0xD69A,
0xE73C,0xE71C,0xD69A,0x8C51,0xE73C,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xF7BE,0x8431,0x8410,0xB596,0xEF7D,0xFFDF,0xFFFF,0xFFFF,0xEF7D,
0x94B2,0xB596,0xDEDB,0xE73D,0xDEDB,0xB5D7,0x9492,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xF7BE,0x8431,0xA514,0xEF5D,0xFFDF,0xFFFF,0xFFFF,
0xFFFF,0xF7BE,0xD6BA,0x8410,0xCE79,0xE73C,0xEF5D,0xD6BA,0x9492,0xD6BA,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0xEF5D,0xEF5D,0xF7BE,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xEF7D,0xA534,0xA535,0xDEDB,0xEF7D,0xE71C,
0xBE18,0x7C10,0xFFDF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xFFDF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xE73C,0x7BF0,0xCE79,
0xE73C,0xD6BA,0x9CF4,0xA534,0xF7BE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF79E,
0xAD55,0xA514,0xD6BB,0x9CD3,0xA514,0xEF5D,0xFFDF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFDF,0xEF5D,0x7BCF,0x9CD3,0x9D14,0xEF5D,0xF7BE,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF79E,0xAD75,0x9CF3,0xEF5D,0xF7BE,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xEF7D,0xEF7D,0xF7BE,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,
0xFFDF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF
};

View File

@@ -1,7 +1,9 @@
#ifndef CURSORS_H
#define CURSORS_H
extern const unsigned char cursor16x16[];
extern const unsigned char cursor32x32[];
#include <stdint.h>
extern const uint16_t cursor16x16[];
extern const uint16_t cursor32x32[];
#endif

View File

@@ -39,9 +39,6 @@ static double touchCursorY;
static void renderMouseCursor(int16_t screenX, int16_t screenY){
static const uint16_t* joystickCursor16 = cursor16x16;
static const uint16_t* joystickCursor32 = cursor32x32;
if(screenHires){
int8_t x;
int8_t y;
@@ -52,8 +49,8 @@ static void renderMouseCursor(int16_t screenX, int16_t screenY){
for(y = 0; y < 32; y++)
for(x = 6; x < 26; x++)
if(screenX + x >= 0 && screenY + y >= 0 && screenX + x < 320 && screenY + y < 440)
if(joystickCursor32[y * 32 + x] != 0x0000)
screenData[(screenY + y) * 320 + screenX + x] = joystickCursor32[y * 32 + x];
if(cursor32x32[y * 32 + x] != 0xFFFF)
screenData[(screenY + y) * 320 + screenX + x] = cursor32x32[y * 32 + x];
}
else{
int8_t x;
@@ -65,8 +62,8 @@ static void renderMouseCursor(int16_t screenX, int16_t screenY){
for(y = 0; y < 16; y++)
for(x = 3; x < 13; x++)
if(screenX + x >= 0 && screenY + y >= 0 && screenX + x < 160 && screenY + y < 220)
if(joystickCursor16[y * 16 + x] != 0x0000)
screenData[(screenY + y) * 160 + screenX + x] = joystickCursor16[y * 16 + x];
if(cursor16x16[y * 16 + x] != 0xFFFF)
screenData[(screenY + y) * 160 + screenX + x] = cursor16x16[y * 16 + x];
}
}

View File

@@ -54,8 +54,7 @@ http://www.iconarchive.com/show/crystal-clear-icons-by-everaldo/App-palm-icon.ht
http://tango.freedesktop.org/Tango_Icon_Library (Palm Action Buttons, All UI buttons)
https://www.iconfinder.com/icons/2317746/chip_computer_cpu_device_frequency_microchip_processor_icon (hwTestSuite Icon)
https://www.flaticon.com/free-icon/cow_235371#term=cow&page=1&position=13 (muExpDriver Icon)
https://findicons.com/icon/164302/cursor (Libretro Port Joystick Cursor)
Some main board photos by Reddit /u/KHRoN
https://findicons.com/icon/164302/cursor (Libretro Port Joystick Cursor)
## Building
#### For RetroArch

View File

@@ -100,10 +100,10 @@ uint32_t emulatorInit(buffer_t palmRomDump, buffer_t palmBootDump, uint32_t spec
memset(palmReg + REG_SIZE - 1 - BOOTLOADER_SIZE, 0x00, BOOTLOADER_SIZE);
}
memset(palmFramebuffer, 0x00, 160 * 160 * sizeof(uint16_t));
memcpy(&palmFramebuffer[160 * 160], silkscreenData, SILKSCREEN_WIDTH * SILKSCREEN_HEIGHT * (SILKSCREEN_BPP / 8));
memcpy(palmFramebuffer + 160 * 160, silkscreen160x60, 160 * 60 * sizeof(uint16_t));
if(palmExtendedFramebuffer){
memset(palmExtendedFramebuffer, 0x00, 320 * 320 * sizeof(uint16_t));
//add 320*320 silkscreen image later, 2xBRZ should be able to make 320*320 version of the 160*160 silkscreen
memcpy(palmExtendedFramebuffer + 320 * 320, silkscreen320x120, 320 * 120 * sizeof(uint16_t));
}
memset(palmAudio, 0x00, AUDIO_SAMPLES_PER_FRAME * 2/*channels*/ * sizeof(int16_t));
blip_set_rates(palmAudioResampler, AUDIO_CLOCK_RATE, AUDIO_SAMPLE_RATE);

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,9 @@
#ifndef SILKSCREEN_H
#define SILKSCREEN_H
#define SILKSCREEN_WIDTH 160
#define SILKSCREEN_HEIGHT 60
#define SILKSCREEN_BPP 16
#include <stdint.h>
extern const unsigned char silkscreenData[];
extern const uint16_t silkscreen160x60[];
extern const uint16_t silkscreen320x120[];
#endif

View File

@@ -0,0 +1,12 @@
#!/bin/bash
# arg1 = in path, arg2 = out path, arg3 = array name
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
gcc ./main.c -DIMPORT_HEADER=\"$1\" -o ./convert
chmod 777 ./convert
./convert $3 > $2
rm -f ./convert

View File

@@ -0,0 +1,43 @@
#include <stdio.h>
#include IMPORT_HEADER
#define ENTRYS_PER_LINE 10
static unsigned short makeRgb16FromRgb24(unsigned char r, unsigned char g, unsigned char b){
unsigned short color16;
color16 = r << 8 & 0xF800;
color16 |= g << 3 & 0x07E0;
color16 |= b >> 3 & 0x001F;
return color16;
}
int main(int argc, const char* argv[]){
printf("#include <stdint.h>\n");
printf("\n");
printf("\n");
printf("const uint16_t %s[%d * %d] = {\n", argv[1], width, height);
printf(" ");
int triggerNextLine = 0;
unsigned char* pixelData = header_data;
unsigned char pixel[3];
for(int count = 0; count < width * height; count++){
HEADER_PIXEL(header_data, pixel);
printf("0x%04X,", makeRgb16FromRgb24(pixel[0], pixel[1], pixel[2]));
triggerNextLine++;
if(triggerNextLine >= ENTRYS_PER_LINE){
printf("\n ");
triggerNextLine = 0;
}
}
printf("\n};");
printf("\n");
return 0;
}

View File

@@ -0,0 +1,5 @@
# Reexports GIMP C source images properly
Because GIMP exports 16 bit images as little endian in a byte array of octal chars using non fixed size data types or as macro accessed byte array.
This program takes the macro accessed byte array.
That breaks big endian platforms and universal compatibility.