Just a video of the current work-in-progress version:
https://www.youtube.com/watch?v=4g20H6EkxBg
I've been making this game simply to pass the time at work! I hope to have it all wrapped up within a week or two, and I might even submit a properly packaged version of the program to the Google Play Store.
The game is frame-rate independent, so it runs at the same speed on pretty much any Android phone.
David.
--
Snake game (for Android phones)
Re: Snake game (for Android phones)
The current work-in-progress version (0.16 beta) can be downloaded via the following URL:
(temporary link removed)
I've uploaded an updated YouTube video:
https://www.youtube.com/watch?v=Wm3cgeSuqWE
No sound effects yet, and there's some other bits to do - including tidying up the code, optimisation, etc.
The code is not meant to be in any way instructional, so please don't treat it as such!
The game is intended for Android phones, but will run under BB4W and BBCSDL (Windows), and probably other variants as well. If playing on a PC, use left and right arrow keys to steer the snake.
David.
--
(temporary link removed)
I've uploaded an updated YouTube video:
https://www.youtube.com/watch?v=Wm3cgeSuqWE
No sound effects yet, and there's some other bits to do - including tidying up the code, optimisation, etc.
The code is not meant to be in any way instructional, so please don't treat it as such!
The game is intended for Android phones, but will run under BB4W and BBCSDL (Windows), and probably other variants as well. If playing on a PC, use left and right arrow keys to steer the snake.
David.
--
Last edited by David Williams on Wed 22 Aug 2018, 16:43, edited 1 time in total.
Re: Snake game (for Android phones)
The latest work-in-progress version has sound effects:
(temporary link removed)
(temporary link removed)
Last edited by David Williams on Wed 22 Aug 2018, 16:44, edited 1 time in total.
Re: Snake game (for Android phones)
If someone could run this program on an Android phone, and confirm the behaviour I'm experiencing (described below) then I would be very grateful:
Using your thumbs, press/tap the circles in an alternating fashion - left, right, left, right, and so on (a rate of 1 or 2 taps per second should suffice).
On my phone (Moto G4 Plus running Android 7), I notice that after a number of presses (it could take dozens of taps, or just a few), the program fails to detect some presses, even when I have clearly and firmly tapped on a circle. This issue is causing a problem with my snake game (and costing me lives!) when played on my Android phone. Left and right on-screen 'buttons' are used to steer the snake, but sometimes the button one has carefully (and even firmly) pressed doesn't get 'detected' and so the player often ends up steering into himself and dying.
In both the YouTube videos of this game I've uploaded, the snake eventually runs into itself because of this issue (I tried to turn to avoid disaster but the button was unresponsive at that moment).
If anyone has any suggestions (or can point out what I'm doing wrong), then please let me know.
David.
--
Code: Select all
REM For use with BBCSDL (Android)
ON ERROR OSCLI "REFRESH ON" : IF ERR=17 CHAIN @tmp$+"../examples/touchide" ELSE MODE 8 : PRINT REPORT$ : END
MODE 8 : OFF
IF POS
ScrW% = @vdu%!208
ScrH% = @vdu%!212
R% = 150 : REM radius
G% = 32 : REM gap
K% = FALSE
update% = TRUE
REPEAT
MOUSE X%, Y%, B%
IF B% = 4 THEN
IF X% < ScrW%/2 AND K%=TRUE THEN K%=FALSE : update% = TRUE
IF X% >= ScrW%/2 AND K%=FALSE THEN K%=TRUE : update% = TRUE
ENDIF
IF update% THEN
CLS
GCOL 2
CIRCLE R%+G%,ScrH%,R%+8
CIRCLE 2*ScrW%-(R%+G%),ScrH%,R%+8
IF NOT K% THEN
GCOL 7 : CIRCLE FILL R%+G%,ScrH%,R%-4
ELSE
GCOL 7 : CIRCLE FILL 2*ScrW%-(R%+G%),ScrH%,R%-4
ENDIF
update% = FALSE
ENDIF
WAIT 1
UNTIL FALSE
On my phone (Moto G4 Plus running Android 7), I notice that after a number of presses (it could take dozens of taps, or just a few), the program fails to detect some presses, even when I have clearly and firmly tapped on a circle. This issue is causing a problem with my snake game (and costing me lives!) when played on my Android phone. Left and right on-screen 'buttons' are used to steer the snake, but sometimes the button one has carefully (and even firmly) pressed doesn't get 'detected' and so the player often ends up steering into himself and dying.
In both the YouTube videos of this game I've uploaded, the snake eventually runs into itself because of this issue (I tried to turn to avoid disaster but the button was unresponsive at that moment).
If anyone has any suggestions (or can point out what I'm doing wrong), then please let me know.
David.
--
Re: Snake game (for Android phones)
I have updated the 'BB4W Games' website to include 'Rainbow Snake' (as a Windows EXE file, although the download also includes the BB4W/BBCSDL (32-bit) source code):
http://www.proggies.uk/
YouTube video (with sound): https://www.youtube.com/watch?v=2rVZS2mKzRg
I've put on hold the Android Play Store release of the game until I've resolved two issues:
1) The click/tap responsiveness issue detailed earlier in this thread
2) Preventing (usually inadvertent) screen 'zooming' (not yet sure if this can be done via the Android App manifest - currently looking into this)
David.
--
http://www.proggies.uk/
YouTube video (with sound): https://www.youtube.com/watch?v=2rVZS2mKzRg
I've put on hold the Android Play Store release of the game until I've resolved two issues:
1) The click/tap responsiveness issue detailed earlier in this thread
2) Preventing (usually inadvertent) screen 'zooming' (not yet sure if this can be done via the Android App manifest - currently looking into this)
David.
--
Re: Snake game (for Android phones)
[OT] Bored at work...
Code: Select all
REM "Tunnel 5" // v1.0 (27-Aug-2018)
REM Uses 16-bit RGB565 colour
REM For BB4W and BBCSDL (32-bit only; not compatible with MacOS)
REM!Keep NumBalls%, BallSz%, VSync%, FN_sortinit()
VSync% = TRUE : REM no effect under BBCSDL. Set to FALSE if animation is jerky
NumBalls% = 350
BallSz% = 40 : REM width & height of ball sprite
NumBallCols% = 25 : REM number of ball colours (= 1 sprite per colour)
MaxZ% = 5000
Rho% = 50
Scale% = 50
Radius% = 2000
HIMEM = LOMEM + 2*&100000
HIMEM = (HIMEM + 15) AND -16
ON CLOSE QUIT
ON ERROR PROCerror( REPORT$ + " at line " + STR$ERL )
BB4W% = (INKEY(-256) == &57)
IF BB4W% THEN OSCLI "ESC OFF" : SYS "timeBeginPeriod", 1
MODE 8 : OFF : IF POS
PROCFixWindowSize
ScrW% = @vdu%!208
ScrH% = @vdu%!212
REM -------------------------------------
IF BB4W% THEN
GetTicks$ = "GetTickCount"
ELSE
GetTicks$ = "SDL_GetTicks"
ENDIF
REM -------------------------------------
REM This code segment is the work of RTR:
p = PI
CASE !^p OF
WHEN &2168C235: cpu$ = "x86" : ARM% = FALSE
WHEN &54442D18: cpu$ = "arm" : ARM% = TRUE
OTHERWISE: QUIT
ENDCASE
REM -------------------------------------
REM Get addresses of x86 or ARM machine code routines
REM (these routines use only Intel & ARM 32-bit ISA):
ClipBitmap% = FNread_data( "clipbitmap_" + cpu$ )
Clr% = FNread_data( "clr16_" + cpu$ )
CopyData% = FNread_data( "copydata_" + cpu$ )
Plot% = FNread_data( "plot16_" + cpu$ )
PlotScaleFadeToBlack% = FNread_data( "plot16_scalefadetoblack_" + cpu$ )
PlotTint% = FNread_data( "plot16_tint_" + cpu$ )
PlotPixel% = FNread_data( "plotpixel16_" + cpu$ )
ConvBmRGB565% = FNread_data( "convbmrgb8888torgb565_" + cpu$ )
ScoreDigits12x20% = FNread_data( "digits12x20" ) : REM 10 12x20 bitmaps for character numbers 0 to 9 (used for FPS display)
REM Convert the 32bpp 12x20 'digit' bitmaps to 16bpp RGB565
REM (the original 32bpp bitmaps get overwritten by their respective 16bpp versions, which is safe to do):
FOR I% = 0 TO 9
A% = ScoreDigits12x20% + ScoreDigits12x20%!(4*I%) : REM source address
B% = A% : REM destination address (set here to source address)
C% = 12 : REM bitmap width
D% = 20 : REM bitmap height
CALL ConvBmRGB565%
NEXT I%
INSTALL @lib$ + "sortlib"
Sort% = FN_sortinit(1, 0)
REM Create our main rendering surface/bitmap:
DIM bmp{a%, w%, h%}
bmp% = FNCreateBMP_RGB565(ScrW%, ScrH%)
bmp.a% = bmp% + 70 : REM bmp.a% contains address of first byte of bitmap (header size is 70 bytes)
bmp.w% = ScrW%
bmp.h% = ScrH%
REM Define parameter blocks used by the machine code routines:
BfVars% = FNmalloc( 32 )
BmVars% = FNmalloc( 32 )
ClipVars% = FNmalloc( 64 )
ClipVars%!0 = ClipBitmap%
DIM BallSpr%( NumBallCols%-1 )
REM Make the greyscale template 32x32 'ball' sprite:
BallSpr% = FNmalloc( 2 * BallSz%^2 )
A%=BallSpr% : B%=0 : C%=2*BallSz%^2 : CALL Clr% : REM first clear template bitmap (not strictly necessary!)
A%=BfVars% : A%!0=BallSpr% : A%!4=BallSz% : A%!8=BallSz%
R% = (BallSz%/2-1)^2
FOR Y% = 0 TO BallSz%-1
C% = Y%
K% = (Y%-BallSz%/2)^2
FOR X% = 0 TO BallSz%-1
d% = (X%-BallSz%/2)^2 + K%
IF d% <= R% THEN
f = SQR(1 - d%/R%)
B% = X%
D% = INT(31*f) + (INT(63*f)<<5) + (INT(31*f)<<11)
CALL PlotPixel%
ENDIF
NEXT
NEXT
REM Make multiple copies of the ball sprite, and then tint them various colours:
FOR I% = 0 TO NumBallCols%-1
BallSpr%(I%) = FNmalloc( 2 * BallSz%^2 )
A%=BallSpr% : B%=BallSpr%(I%) : C%=2*BallSz%^2 : CALL CopyData%
A% = ClipVars%
B% = BfVars%
C% = BmVars%
D% = Plot% : REM needed when tint factor = 0
BfVars%!0 = BallSpr%(I%)
BfVars%!4 = BallSz%
BfVars%!8 = BallSz%
BmVars%!0 = BallSpr%(I%)
BmVars%!4 = BallSz% : REM w
BmVars%!8 = BallSz% : REM h
BmVars%!12 = 0 : REM x
BmVars%!16 = 0 : REM y
BmVars%!20 = (24+RND(7)) + ((8+RND(24))<<5) + ((4+RND(6))<<11) : REM RGB565 tint colour
BmVars%!24 = 180 : REM tint factor
CALL PlotTint%
NEXT I%
REM Define some pre-calculated constants to speed up the inner loop:
r% = Radius% * Scale%
M = 1 / MaxZ%
p = 2 * PI
k = p*M/2
REM Define the ball objects' initial states:
DIM spr%(NumBalls%-1), a(NumBalls%-1), x(NumBalls%-1), y(NumBalls%-1), z(NumBalls%-1), i%(NumBalls%-1)
FOR I% = 0 TO NumBalls%-1
i%(I%) = I%
PROCSetPos( I%, 0 )
spr%(I%) = BallSpr%( RND(NumBallCols%-1) )
NEXT I%
sortZ% = TRUE : REM sort objects flag
frames% = 0
frameRate% = 0
t = 0
*REFRESH OFF
SYS GetTicks$ TO time% : time0% = time%
REPEAT
oldTime% = time%
SYS GetTicks$ TO time%
dt = (time% - oldTime%) / 100
REM Enter a CPU-friendly spin loop if window loses focus:
IF NOT FNCheckForWindowFocus THEN
SYS GetTicks$ TO time%
*REFRESH OFF
ENDIF
A%=bmp.a% : B%=0 : C%=bmp.w%*bmp.h% : CALL Clr%
angOffs = FNGetAngleOffset( t )
IF sortZ% THEN
C% = NumBalls% : CALL Sort%, z(0), i%(0)
sortZ% = FALSE
ENDIF
A% = BfVars%
B% = BmVars%
A%!0 = bmp.a%
A%!4 = bmp.w%
A%!8 = bmp.h%
B%!4 = BallSz% : REM ball spr W
B%!8 = BallSz% : REM ball spr H
W% = B% + 12
H% = B% + 16
X% = B% + 20
Y% = B% + 24
Q% = BallSz% - 8
P% = PlotScaleFadeToBlack%
FOR I% = 0 TO NumBalls%-1
i% = i%(I%)
a = a(i%) + angOffs
z = z(I%)
Z = r%/(Rho%+z)
f = 1-z*M
S% = 8 + Q%*f
!B% = spr%(i%)
!W% = S%
!H% = S%
!X% = x(i%) + Z*SINa - 0.5*S%
!Y% = y(i%) + Z*COSa - 0.5*S%
B%!&1C = &100*f
CALL P%
z(I%) -= 70 * dt
IF z(I%) <= 0 THEN
PROCResetPos(I%, i%, t)
sortZ% = TRUE
ENDIF
NEXT
t += 100 * dt
PROCPrintFPS
OSCLI "MDISPLAY "+STR$~bmp%
IF BB4W% AND VSync% THEN PROC`w : REM BB4W only
*REFRESH
IF BB4W% AND NOT VSync% THEN SYS "Sleep", 2
IF time% - time0% >= 1000 THEN
frameRate% = frames%
frames% = 0
SYS GetTicks$ TO time0%
ENDIF
frames% += 1
UNTIL FALSE
DEF FNCheckForWindowFocus
REM Return TRUE if window has input focus when first checked (i.e. no spin/wait loop entered)
REM Return FALSE if window didn't have input focus (and therefore entered a spin loop until it did gain focus)
LOCAL F%
F% = TRUE
IF BB4W% THEN
SYS "GetForegroundWindow" TO R%
IF R% <> @hwnd% THEN
*REFRESH ON
REPEAT
SYS "GetForegroundWindow" TO R%
WAIT 2
UNTIL R% = @hwnd%
F% = FALSE
ENDIF
ELSE
REM SDL_WINDOW_INPUT_FOCUS = 0x00000200, /**< window has input focus */
REM SDL_WINDOW_MOUSE_FOCUS = 0x00000400, /**< window has mouse focus */
SYS "SDL_GetWindowFlags", @hwnd% TO R%
IF (R% AND &200) = 0 THEN
*REFRESH ON
REPEAT
SYS "SDL_GetWindowFlags", @hwnd% TO R%
WAIT 2
UNTIL R% AND &200
F% = FALSE
ENDIF
ENDIF
= F%
DEF PROCPrintFPS
LOCAL A%, B%, C%, L%, I%, i%, s$
A% = ClipVars%
B% = BfVars%
C% = BmVars%
BmVars%!4 = 12 : REM bitmap width
BmVars%!8 = 20 : REM bitmap height
s$ = STR$frameRate%
BmVars%!16 = ScrH%-28 : REM bitmap Y pos
L% = LENs$
X% = 6
FOR I% = 1 TO L%
i% = ASCMID$(s$, I%, 1) - 48
BmVars%!12 = X% + 12*(I%-1)
!BmVars% = ScoreDigits12x20% + ScoreDigits12x20%!(4*i%)
CALL Plot%
NEXT
ENDPROC
DEF FNGetAngleOffset( T )
LOCAL t1, t2, t3, s1, s2, s3
t1 = T / 6000
t2 = T / 9250
t3 = T / 10156
s1 = SINt1
s2 = SIN(t2 - 0.754512)
s3 = SIN(t3 + 1.208122)
= 2*PI*s1*s2*s3^2
DEF PROCSetPos( J%, T )
PROCSetXY(J%,T)
a(J%) = 2*PI*RND(1) + FNGetAngleOffset(T)
z(J%) = 1 + (MaxZ%-1)*RND(1)
ENDPROC
DEF PROCResetPos(I%, i%, T)
PROCSetXY(i%,T)
z(I%) = MaxZ%
ENDPROC
DEF PROCSetXY(J%, T)
LOCAL a, b, c
a = T/2800
b = T/3700
c = T/5120
x(J%) = ScrW%/2 + 400*SIN(a)*SIN(b+0.8)*SIN(c-1.2)
y(J%) = ScrH%/2 + 400*COS(a)*COS(b+0.8)*COS(c-1.2)
ENDPROC
DEF FNGetProcAddress(p$)
LOCAL P% : DIM P% LOCAL 8
[OPT 0:nop:]
CASE P%?-1 OF
WHEN &90: [OPT 0:call p$:] = P% + P%!-4
WHEN &E1: [OPT 0:equd p$:] = P%!-4
ENDCASE
= FALSE
DEF FNCreateBMP_RGB565(W%, H%)
LOCAL A%, S%
S% = 70 + 2*W%*H%
DIM A% S%+15
A% = ((A% + 7) AND -8) + 2
A%?0 = ASC"B"
A%?1 = ASC"M"
A%!2 = S%
A%!10 = 70
A%!14 = 56
A%!18 = W%
A%!22 = H%
A%?26 = 1
A%?28 = 16
A%!30 = 3
A%!34 = 2*W%*H%
A%!38 = 11808
A%!42 = 11808
A%!54 = &0000F800
A%!58 = &000007E0
A%!62 = &0000001F
= A%
DEF FNread_data( r$ )
LOCAL I%, data%, byte%, s$
data% = FNmalloc( 16384 )
RESTORE
REPEAT : READ s$ : UNTIL s$ = r$
I% = 0
REPEAT
READ byte%
IF byte% <> -1 THEN
data%?I% = byte%
I% += 1
ENDIF
UNTIL byte% = -1
= data%
DEF FNmalloc( N% )
LOCAL A%
DIM A% N%+15
A% = (A% + 7) AND -8
= A%
DEFPROC`w:PRIVATEB%,G%,I%,S%,W%:LOCALL%,P%,T%:IFS%=0 S%=FNGetProcAddress("Sleep")
IFB%=0SYS"timeBeginPeriod",1:B%=1
IFI%=0PROC`7(I%,G%)
L%=0:P%=^T%:REPEAT:L%=T%:SYSS%,1:SYSG%,I%,P%:UNTILT%<L%:ENDPROC
REM A BB4W-specific routine that sets up a DirectDraw 7 interface.
DEFPROC`7(RETURN I%,RETURN G%):LOCALD%,E%,J%,K%,L%
SYS"LoadLibrary","DDRAW.DLL"TOD%:IFD%=0 ERROR100,"`7 failed"
SYS"GetProcAddress",D%,"DirectDrawCreateEx"TOE%:DIMJ%19,L%95:J%=J%+3AND-4
L%=L%+3AND-4:!J%=&15E65EC0:J%!4=&11D23B9C:J%!8=&60002FB9:J%!12=&5BEA9797
SYSE%,0,^K%,J%,0:L%=!K%:I%=K%:G%=L%!64
ENDPROC
DEF PROCFixWindowSize
IF BB4W% THEN
REM GWL_STYLE = -16
REM WS_THICKFRAME = &40000
REM WS_MAXIMIZEBOX = &10000
REM SYS "GetWindowLong", @hwnd%, GWL_STYLE TO ws%
REM SYS "SetWindowLong", @hwnd%, GWL_STYLE, ws% AND NOT WS_THICKFRAME \
REM \ AND NOT WS_MAXIMIZEBOX
LOCAL W%
SYS "GetWindowLong", @hwnd%, -16 TO W%
SYS "SetWindowLong", @hwnd%, -16, W% AND NOT &40000 AND NOT &10000
ELSE
REM If BBCSDL (Windows, Linux, or--very unlikely--MacOS) then prevent window resize:
IF (@platform% AND &F) < 3 THEN
SYS "SDL_SetWindowResizable", @hwnd%, 0
ENDIF
ENDIF
ENDPROC
DEF PROCerror( s$ )
LOCAL F%
OSCLI "REFRESH ON"
F% = OPENIN(@lib$+"../examples/tools/touchide") : CLOSE#F%
IF NOT BB4W% THEN
IF ERR = 17 THEN
IF F% THEN CHAIN @lib$+"../examples/tools/touchide"
ENDIF
ENDIF
CLS : OFF : VDU 7
COLOUR 9 : PRINT '" *** ERROR ***" : WAIT 100
COLOUR 11 : PRINT '" " + s$; : WAIT 250
COLOUR 7 : PRINT '''" Closing in 5 seconds...";
WAIT 500
IF NOT BB4W% THEN
IF F% THEN CHAIN @lib$+"../examples/tools/touchide"
ENDIF
QUIT
ENDPROC
DATA "clipbitmap_x86"
DATA 96,199,64,28,255,255,255,255,139,120,20,59,120,4,15,141,192,0,0,0,139,112,24,59,112,8,15,141,180,0,0,0,139,72,12,139,80,16,131,249,0,125,3,247,217,144,131,250
DATA 0,125,3,247,218,144,247,217,59,249,15,142,148,0,0,0,247,218,59,242,15,142,138,0,0,0,247,217,247,218,199,64,28,0,0,0,0,199,64,32,0,0,0,0,199,64,36,0
DATA 0,0,0,199,64,40,0,0,0,0,137,72,44,137,80,48,137,120,52,137,112,56,139,239,3,233,59,104,4,126,13,43,104,4,41,104,44,199,64,32,255,255,255,255,131,255,0,125
DATA 20,41,120,40,1,120,44,199,64,52,0,0,0,0,199,64,32,255,255,255,255,139,238,3,234,59,104,8,126,13,43,104,8,41,104,48,199,64,32,255,255,255,255,131,254,0,125,20
DATA 41,112,36,1,112,48,199,64,56,0,0,0,0,199,64,32,255,255,255,255,97,195
DATA -1
DATA "clr16_x86"
DATA 96,139,248,139,195,252,243,102,171,97,195
DATA -1
DATA "copydata_x86"
DATA 96,139,240,139,251,252,243,164,97,195
DATA -1
DATA "plot16_x86"
DATA 96,131,236,32,139,83,4,139,123,8,137,80,4,137,120,8,139,81,4,139,121,8,137,80,12,137,120,16,139,81,12,139,121,16,137,80,20,137,120,24,255,16,247,64,28,255,255,255
DATA 255,15,133,83,0,0,0,139,27,139,9,139,120,4,137,60,36,209,36,36,15,175,120,56,3,120,52,209,231,3,251,139,112,12,137,116,36,4,209,100,36,4,15,175,112,36,3,112
DATA 40,209,230,3,241,139,80,44,139,104,48,51,201,102,139,4,78,102,169,255,255,116,4,102,137,4,79,65,59,202,124,237,3,60,36,3,116,36,4,77,117,225,131,196,32,97,195
DATA -1
DATA "plot16_scalefadetoblack_x86"
DATA 96,139,236,131,237,72,129,236,128,0,0,0,137,69,36,139,51,137,117,40,139,115,4,137,117,44,139,115,8,137,117,48,139,115,12,137,117,52,139,115,16,137,117,56,139,115,20,137
DATA 117,60,139,115,24,137,117,64,139,115,28,137,117,68,131,125,68,0,15,141,12,0,0,0,199,69,68,0,0,0,0,233,20,0,0,0,129,125,68,0,1,0,0,15,142,7,0,0
DATA 0,199,69,68,0,1,0,0,155,219,227,155,217,60,36,102,139,4,36,102,37,255,243,102,13,0,12,102,137,4,36,217,44,36,139,85,52,131,250,0,15,142,150,1,0,0,139,125
DATA 56,131,255,0,15,142,138,1,0,0,104,0,0,1,0,219,4,36,219,69,44,218,117,52,216,201,219,92,36,4,219,69,48,218,117,56,222,201,219,92,36,8,131,196,4,139,69,36
DATA 139,93,60,247,218,59,218,15,142,87,1,0,0,59,88,4,15,141,78,1,0,0,139,77,64,247,223,59,207,15,142,65,1,0,0,59,72,8,15,141,56,1,0,0,247,218,247,223
DATA 137,92,36,8,137,76,36,12,137,84,36,16,137,124,36,20,199,68,36,24,0,0,0,0,199,68,36,28,0,0,0,0,139,112,4,209,230,137,116,36,32,139,117,68,137,116,36,36
DATA 131,251,0,125,16,199,68,36,8,0,0,0,0,1,92,36,16,41,92,36,28,139,80,4,43,85,52,59,218,126,11,139,112,4,43,116,36,8,137,116,36,16,131,249,0,125,16,199
DATA 68,36,12,0,0,0,0,1,76,36,20,41,76,36,24,139,80,8,43,85,56,59,202,126,11,139,112,8,43,116,36,12,137,116,36,20,139,116,36,12,15,175,112,4,3,116,36,8
DATA 209,230,3,48,139,93,40,51,255,139,207,3,76,36,24,15,175,76,36,4,193,233,16,15,175,77,44,209,225,87,80,85,83,81,139,68,36,20,139,108,36,48,3,217,139,124,36,36
DATA 79,139,76,36,56,139,215,3,213,15,175,208,193,234,16,15,183,20,83,102,133,210,116,65,83,85,139,218,131,227,31,15,175,217,193,235,8,139,235,139,218,129,227,224,7,0,0,193
DATA 235,5,15,175,217,193,235,8,193,227,5,11,235,139,218,129,227,0,248,0,0,193,235,11,15,175,217,193,235,8,193,227,11,11,235,102,137,44,126,93,91,79,15,141,165,255,255,255
DATA 89,91,93,88,95,3,116,36,32,71,59,124,36,20,15,140,101,255,255,255,129,196,128,0,0,0,97,195
DATA -1
DATA "plot16_tint_x86"
DATA 96,131,236,32,131,121,24,0,127,8,255,210,144,233,37,1,0,0,129,121,24,0,1,0,0,124,7,199,65,24,0,1,0,0,139,83,4,139,123,8,137,80,4,137,120,8,139,81
DATA 4,139,121,8,137,80,12,137,120,16,139,81,12,139,121,16,137,80,20,137,120,24,255,16,247,64,28,255,255,255,255,15,133,226,0,0,0,139,81,20,137,84,36,16,139,81,24,137
DATA 84,36,20,139,27,139,9,139,120,4,137,60,36,209,36,36,15,175,120,56,3,120,52,209,231,3,251,139,112,12,137,116,36,4,209,100,36,4,15,175,112,36,3,112,40,209,230,3
DATA 241,139,80,44,137,84,36,8,139,80,48,137,84,36,12,51,237,102,247,4,110,255,255,116,114,15,183,4,110,15,183,92,36,16,85,51,237,139,200,139,211,131,225,31,131,226,31,43
DATA 209,15,175,84,36,24,193,234,8,3,202,11,233,139,200,139,211,129,225,224,7,0,0,129,226,224,7,0,0,193,233,5,193,234,5,43,209,15,175,84,36,24,193,234,8,3,202,193
DATA 225,5,11,233,37,0,248,0,0,129,227,0,248,0,0,193,232,11,193,235,11,43,216,15,175,92,36,24,193,235,8,3,195,193,224,11,11,197,93,102,137,4,111,69,59,108,36,8
DATA 15,140,123,255,255,255,3,60,36,3,116,36,4,255,76,36,12,15,133,104,255,255,255,131,196,32,97,195
DATA -1
DATA "plotpixel16_x86"
DATA 96,139,56,139,112,4,139,104,8,59,222,115,15,59,205,115,11,15,175,206,3,203,209,225,102,137,20,15,97,195
DATA -1
DATA "convbmrgb8888torgb565_x86"
DATA 96,139,248,139,243,15,175,209,51,237,15,182,4,175,15,182,92,175,1,15,182,76,175,2,105,192,31,31,0,0,105,219,63,63,0,0,105,201,31,31,0,0,193,232,16,131,208,0
DATA 193,235,16,131,211,0,193,233,16,131,209,0,193,227,5,193,225,11,11,195,11,193,102,137,4,110,69,59,234,124,187,97,195
DATA -1
REM *********************************************************************************************************************
DATA "clipbitmap_arm"
DATA 255,95,45,233,0,192,224,227,28,192,128,229,4,176,128,226,126,0,155,232,1,0,85,225,255,159,189,168,2,0,86,225,255,159,189,168,3,0,117,225,255,159,189,216,4,0,118,225
DATA 255,159,189,216,148,208,143,229,148,224,143,229,0,208,160,227,0,224,224,227,28,208,128,229,32,208,128,229,0,112,160,227,0,128,160,227,3,144,160,225,4,160,160,225,3,176,133,224
DATA 1,0,91,225,1,176,75,192,11,144,73,192,32,224,128,197,0,0,85,227,5,128,72,176,5,144,137,176,0,80,160,179,32,224,128,181,4,176,134,224,2,0,91,225,2,176,75,192
DATA 11,160,74,192,32,224,128,197,0,0,86,227,6,112,71,176,6,160,138,176,0,96,160,179,32,224,128,181,36,112,128,229,40,128,128,229,44,144,128,229,48,160,128,229,52,80,128,229
DATA 56,96,128,229,4,208,159,229,4,224,159,229,255,159,189,232,0,0,0,0,0,0,0,0
DATA -1
DATA "clr16_arm"
DATA 7,64,45,233,0,0,82,227,7,128,189,216,178,16,192,224,1,32,82,226,252,255,255,202,7,128,189,232
DATA -1
DATA "copydata_arm"
DATA 15,64,45,233,1,48,208,228,1,48,193,228,1,32,82,226,251,255,255,26,15,128,189,232
DATA -1
DATA "plot16_arm"
DATA 255,95,45,233,4,64,145,229,8,80,145,229,4,96,146,229,8,112,146,229,12,128,146,229,16,144,146,229,4,64,128,229,8,80,128,229,12,96,128,229,16,112,128,229,20,128,128,229
DATA 24,144,128,229,0,192,144,229,60,255,47,225,28,192,144,229,0,0,92,227,255,159,189,24,0,16,145,229,0,32,146,229,36,80,144,229,40,112,144,229,44,128,144,229,48,144,144,229
DATA 52,160,144,229,56,176,144,229,80,208,143,229,80,224,143,229,155,164,42,224,138,16,129,224,149,118,39,224,135,32,130,224,255,192,160,227,12,196,140,225,0,48,160,227,179,80,146,225
DATA 12,0,21,225,179,80,129,17,2,48,131,226,136,0,83,225,249,255,255,186,134,32,130,224,132,16,129,224,1,144,89,226,244,255,255,26,4,208,159,229,4,224,159,229,255,159,189,232
DATA 0,0,0,0,0,0,0,0
DATA -1
DATA "plot16_tint_arm"
DATA 255,95,45,233,24,192,146,229,1,12,92,227,1,204,160,195,0,176,160,227,0,0,92,227,1,176,160,211,51,255,47,209,1,0,91,227,255,159,189,8,24,192,130,229,20,48,146,229
DATA 32,49,143,229,4,64,145,229,8,80,145,229,4,96,146,229,8,112,146,229,12,128,146,229,16,144,146,229,4,64,128,229,8,80,128,229,12,96,128,229,16,112,128,229,20,128,128,229
DATA 24,144,128,229,0,192,144,229,60,255,47,225,28,192,144,229,0,0,92,227,255,159,189,24,208,208,143,229,208,224,143,229,24,224,146,229,0,16,145,229,0,32,146,229,36,80,144,229
DATA 40,112,144,229,44,128,144,229,48,144,144,229,52,160,144,229,56,176,144,229,155,164,42,224,138,16,129,224,149,118,39,224,135,32,130,224,156,0,159,229,255,192,160,227,12,196,140,225
DATA 0,48,160,227,179,80,146,225,12,0,21,225,21,0,0,10,31,160,5,226,31,176,0,226,10,208,75,224,158,13,13,224,45,116,138,224,126,174,5,226,126,190,0,226,170,162,160,225
DATA 171,178,160,225,10,208,75,224,158,13,13,224,45,212,138,224,141,114,135,225,62,171,5,226,62,187,0,226,170,165,160,225,171,181,160,225,10,208,75,224,158,13,13,224,45,212,138,224
DATA 141,117,135,225,179,112,129,17,2,48,131,226,136,0,83,225,227,255,255,186,134,32,130,224,132,16,129,224,1,144,89,226,222,255,255,26,4,208,159,229,4,224,159,229,255,159,189,232
DATA 0,0,0,0,0,0,0,0,0,0,0,0
DATA -1
DATA "plot16_scalefadetoblack_arm"
DATA 255,95,45,233,1,192,160,225,254,1,156,232,0,0,88,227,0,128,160,179,1,12,88,227,1,140,160,195,0,28,144,232,60,0,143,226,7,12,128,226,0,28,128,232,32,215,143,229
DATA 32,231,143,229,1,0,84,227,191,1,0,186,1,0,85,227,189,1,0,186,44,128,128,229,4,128,144,229,6,144,160,225,4,160,134,224,8,0,89,225,183,1,0,170,0,144,160,35
DATA 8,0,90,225,8,160,160,161,1,160,74,162,0,0,90,227,177,1,0,186,8,176,144,229,7,192,160,225,5,208,135,224,11,0,92,225,172,1,0,170,0,192,160,35,11,0,93,225
DATA 11,208,160,161,1,208,77,162,0,0,93,227,166,1,0,186,16,16,128,229,20,32,128,229,24,48,128,229,28,64,128,229,32,80,128,229,36,96,128,229,40,112,128,229,48,144,128,229
DATA 52,160,128,229,56,192,128,229,60,208,128,229,0,16,160,227,2,224,160,225,0,64,100,226,174,31,176,225,0,224,110,18,14,24,145,224,46,232,160,225,14,224,148,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48
DATA 1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,16,177,224,142,224,180,224,4,224,78,48,1,160,177,224,0,160,106,50,0,160,106,226
DATA 0,64,100,226,138,160,160,225,3,224,160,225,0,80,101,226,174,31,176,225,0,224,110,18,14,24,145,224,46,232,160,225,14,224,149,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224
DATA 5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,16,177,224,142,224,181,224,5,224,78,48,1,208,177,224,0,208,109,50,0,208,109,226,0,80,101,226,141,208,160,225
DATA 4,128,134,224,9,128,72,224,1,128,136,226,5,176,135,224,12,176,75,224,1,176,139,226,154,8,8,224,157,11,11,224,0,128,104,226,0,176,107,226,2,136,152,224,0,128,160,179
DATA 72,128,128,229,3,184,155,224,0,176,160,179,76,176,128,229,60,224,144,229,12,224,78,224,1,224,142,226,64,224,128,229,52,224,144,229,9,224,78,224,1,224,142,226,68,224,128,229
DATA 2,104,160,225,3,120,160,225,88,112,128,229,1,224,78,226,154,142,46,224,6,0,94,225,105,0,0,186,2,80,160,225,1,224,132,226,0,224,110,226,165,31,176,225,0,80,101,18
DATA 5,24,145,224,37,88,160,225,5,80,158,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224,14,80,69,48,1,16,177,224,133,80,190,224
DATA 14,80,69,48,1,160,177,224,0,160,106,50,0,160,106,226,138,160,160,225,16,16,144,229,0,224,144,229,137,224,142,224,44,144,144,229,0,80,160,227,76,176,128,229,88,112,144,229
DATA 7,0,91,225,52,0,0,170,72,128,144,229,43,184,160,225,146,11,11,224,139,176,160,225,80,176,128,229,11,16,129,224,4,176,144,229,56,192,144,229,5,192,140,224,155,12,12,224
DATA 140,192,142,224,68,64,144,229,1,64,68,226,184,208,143,229,184,224,143,229,63,208,160,227,31,224,160,227,40,184,160,225,139,176,160,225,187,176,145,225,11,0,27,225,15,0,0,10
DATA 132,80,143,229,132,128,143,229,31,80,11,226,153,5,5,224,37,132,160,225,171,82,13,224,153,5,5,224,37,84,160,225,133,130,136,225,171,85,14,224,153,5,5,224,37,84,160,225
DATA 133,133,136,225,176,128,204,225,76,80,159,229,76,128,159,229,10,128,136,224,2,192,140,226,1,64,84,226,230,255,255,170,68,208,159,229,68,224,159,229,80,176,144,229,11,16,65,224
DATA 76,176,144,229,13,176,139,224,1,80,133,226,64,128,144,229,1,128,72,226,8,0,85,225,198,255,255,218,16,208,159,229,16,224,159,229,255,159,189,232,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0
DATA -1
DATA "plotpixel16_arm"
DATA 255,64,45,233,112,0,144,232,5,0,81,225,255,128,189,40,6,0,82,225,255,128,189,40,146,21,39,224,135,112,160,225,183,48,132,225,255,128,189,232
DATA -1
DATA "convbmrgb8888torgb565_arm"
DATA 255,95,45,233,147,2,2,224,0,48,160,227,255,160,160,227,84,176,159,229,84,192,159,229,3,81,144,231,37,104,10,224,37,116,10,224,5,128,10,224,155,6,6,224,156,7,7,224
DATA 155,8,8,224,38,104,176,225,0,96,166,226,39,120,176,225,0,112,167,226,40,136,176,225,0,128,168,226,135,130,136,225,134,133,136,225,131,64,160,225,180,128,129,225,1,48,131,226
DATA 2,0,83,225,235,255,255,186,255,159,189,232,31,31,0,0,63,63,0,0
DATA -1
REM *********************************************************************************************************************
DATA "digits12x20"
DATA 96,0,0,0,88,4,0,0,80,8,0,0,72,12,0,0,64,16,0,0,56,20,0,0,48,24,0,0,40,28,0,0,32,32,0,0,24,36,0,0,0,0,66,77,248,3,0,0
DATA 0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0
DATA 32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0
DATA 0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0
DATA 20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0
DATA 40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,77,248,3,0,0
DATA 0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0,0,0,0,0,194,3,0,0
DATA 32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,77,248,3,0,0,0,0,0,0,54,0,0,0,40,0,0,0,12,0,0,0,20,0,0,0,1,0,32,0
DATA 0,0,0,0,194,3,0,0,32,46,0,0,32,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0
DATA 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA -1
Re: Snake game (for Android phones)
Issue #2 has been resolved, for which I'm grateful to Richard.David Williams wrote: ↑Wed 22 Aug 2018, 16:10 I've put on hold the Android Play Store release of the game until I've resolved two issues:
1) The click/tap responsiveness issue detailed earlier in this thread
2) Preventing (usually inadvertent) screen 'zooming' (not yet sure if this can be done via the Android App manifest - currently looking into this)

I'm just about to try his suggestion for resolving issue #1. Fingers crossed...
I will release an update later today.
David.
--
http://www.proggies.uk/
--
Re: Snake game (for Android phones)
Can those with an Android phone (and BBC-SDL installed on it) please download 'Rainbow Snake' and play it for a few minutes and confirm whether or not they experience the intermittent touch responsiveness issue mentioned in this thread? You will know if it happens... you press, for example, the on-screen button to turn right/clockwise but it doesn't immediately respond, often causing you to career into yourself or outside the arena (both cases result in death).
Unless I can identify the cause of this issue, and fix it somehow, my adventure with BBC-SDL ends right here.
Download: http://www.proggies.uk/progs/zip/rainbowsnake.zip
Thank you in advance.
David.
--
Unless I can identify the cause of this issue, and fix it somehow, my adventure with BBC-SDL ends right here.

Download: http://www.proggies.uk/progs/zip/rainbowsnake.zip
Thank you in advance.
David.
--
-
- Posts: 32
- Joined: Thu 05 Apr 2018, 21:41
Re: Snake game (for Android phones)
I downloaded the file in the link, but it only contained an .exe file, which I don't believe I can sign on Android.
-
- Posts: 32
- Joined: Thu 05 Apr 2018, 21:41
Re: Snake game (for Android phones)
I looked in the source folder and extracted the files from there. Should have done that in the first place. I'm useless at the game, but tried it for some time on my Samsung Galaxy Tab S2 9.7 tablet without any problems.