DIM GLOBAL MAINBUTTONMAP(160,128)
DIM GLOBAL GLYPHBUTTONMAP(160,128)
DIM GLOBAL VIEWERBUTTONMAP(160,128)

DIM GLOBAL BUTTONX(128)
DIM GLOBAL BUTTONY(128)
DIM GLOBAL BUTTONW(128)
DIM GLOBAL BUTTONH(128)
DIM GLOBAL BUTTONF(128)
GLOBAL BUTTONCOUNT

GLOBAL SCREEN

GLOBAL CX,CY

PAL 2

TOUCHSCREEN
BG COPY 0,0,20,16 TO 0,0
SPRITE 0,72,8,17
WAIT 360
BG SOURCE ROM(4)
SPRITE 0,0,0,0
BG COPY 0,0,20,16 TO 0,0

DO
  IF TOUCH THEN
    CALL PRESSBUTTON(TOUCH.X,TOUCH.Y)
  END IF
  WAIT VBL
LOOP

SUB REGISTERBUTTON(X,Y,W,H,F,S)
  IDX=BUTTONCOUNT
  
  BUTTONX(IDX)=X
  BUTTONY(IDX)=Y
  BUTTONW(IDX)=W
  BUTTONH(IDX)=H
  BUTTONF(IDX)=F
  
  IF S=0 THEN
    FOR XPOS=X*8 TO X*8+W*8
      FOR YPOS=Y*8 TO Y*8+H*8
        MAINBUTTONMAP(XPOS,YPOS)=IDX+1
      NEXT YPOS
    NEXT XPOS
  ELSE IF S=1 THEN
    FOR XPOS=X*8 TO X*8+W*8
      FOR YPOS=Y*8 TO Y*8+H*8
        GLYPHBUTTONMAP(XPOS,YPOS)=IDX+1
      NEXT YPOS
    NEXT XPOS
  ELSE IF S=2 THEN
    FOR XPOS=X*8 TO X*8+W*8
      FOR YPOS=Y*8 TO Y*8+H*8
        VIEWERBUTTONMAP(XPOS,YPOS)=IDX+1
      NEXT YPOS
    NEXT XPOS
  END IF
  INC BUTTONCOUNT
END SUB

SUB PRESSBUTTON(X,Y)
  IF SCREEN=0 THEN
    IDX=MAINBUTTONMAP(X,Y)-1
  ELSE IF SCREEN=1 THEN
    IDX=GLYPHBUTTONMAP(X,Y)-1
  ELSE IF SCREEN=2 THEN
    IDX=VIEWERBUTTONMAP(X,Y)-1
  END IF
  IF IDX+1<>0 THEN
    IF BUTTONF(IDX)=0 THEN
      SPRITE 0,BUTTONX(IDX)*8,BUTTONY(IDX)*8,17
      CX=BUTTONX(IDX)-9
      CY=BUTTONY(IDX)-1
    END IF
  END IF
END SUB

#1:MAIN PALETTES
00143E0800332211003B261100231201
00332211003F2A15003F2A15003F2A15

#2:MAIN CHARACTERS
00000000000000000000000000000000
00334C40202020400000333F1F1F1F3F
00C93600000000000000C9FFFFFFFFFF
00CC3202020404020000CCFCFCF8F8FC
40404020204040403F3F3F1F1F3F3F3F
40402020404C33003F3F1F1F3F330000
00000000001CE300FFFFFFFFFFE30000
0204040202649800FCF8F8FCFC980000
0202020404040202FCFCFCF8F8F8FCFC
0000000000000000FFFFFFFFFFFFFFFF
FF80808080808080FFFFFFFFFFFFFFFF
FF809480A2809480FFFFEBFFDDFFEBFF
8181818181818181FEFEFEFEFEFEFEFE
FF000000000000FFFFFFFFFFFFFFFF00
FF01010101010181FFFFFFFFFFFFFF7F
FF000000000000C3FFFFE7E7E7C3E73C
C3000000000000FF3CE7E7E7C3E7FFFF
00634100000041630063410000004163
FF818199998181FFFFFFFFE7E7FFFFFF
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000000001030600FC8380818284495F
00000000008000183FC10181C161F2FA
0000000000040706FC8380808E8B4849
00000000000000083FC101010181E2FA
0000000000000408FC83808080844857
00000000000000383FC10101010102FA
0000000001010000FC83808182864141
00000000800000003FC1018141E18282
0000000001010000FC83808180804141
00000080000000803FC1010181818282
000000000000000CFC83808080804053
00000000000010383FC10101012132FA
0000000002040002FC83808084824646
00000000204000203FC1010141216262
0000000000000810FC8380808080504C
00000000183870E03FC10101193972E2
00030F03000000005F5F8F83808083FC
38F8F0C000000000FAFAF1C10101C13F
0000070E000000004F4F8F8E808083FC
78E0800000000000FAE281010101C13F
0800000000000000574C8480808083FC
F800000000000000FA0201010101C13F
000101010100000041418181818083FC
0080808080000000828281818101C13F
000107030100000041418783818083FC
8080E0C0800000008282E1C18101C13F
080000000000000057408080808083FC
F830200000000000FA3221010101C13F
020606060000000046468686808083FC
2060606000000000626261610101C13F
00000100000000004F478380808083FC
4080000000000000C28201010101C13F
679880474F5E9D9C00677F3F3F3F7F7F
E61901E1F27AB93900E6FEFEFCFCFEFE
6798805F405F809F00677F3F3F3F7F7F
E61901F902FA01F900E6FEFEFCFCFEFE
FF8080808087848400FFFFFFFFF8FFFF
FF01010101E1212100FEFEFEFE1EDEDE
679880474F5A9C9800677F3F3F3F7F7F
E61901E1F2FA793900E6FEFEFCFCFEFE
C1B04140000000A0C1B04140000000A0
830D820200000005830D820200000005
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
9D9D9F4F478098677F7F7F3F3F7F6700
B9B9FAF2E10132CCFEFEFCFCFEFECC00
809F805F408098677F7F7F3F3F7F6700
01F902FA010132CCFEFEFCFCFEFECC00
84848780808080FFFFFFFFFFFFFFFFFF
2121E101010101FFDEDEDEFEFEFEFEFE
9C9E9F4F478098677F7F7F3F3F7F6700
19395AF2E10132CCFEFEFCFCFEFECC00
A00000004041B0C1A00000004041B0C1
0500000004841A860500000004841A86

#3:MAIN BG
00001410010002000200020002000200
020003000E0A0D020D020D020D020D02
0D020D020D020D020D020E0204000900
0900090009000900090008000C020A01
0A010A010A010A010A010A010A010A01
0A010C0A040009000900090009000900
090008000C020A010A010A010A010A01
0A010A010A010A010A010C0A04000900
0900090009000900090008000C020A01
0A010A010A010A010A010A010A010A01
0A010C0A040009000900090009000900
090008000C020A010A010A010A010A01
0A010A010A010A010A010C0A04000900
0900090009000900090008000C020A01
0A010A010A010A010A010A010A010A01
0A010C0A040009000900090009000900
090008000C020A010A010A010A010A01
0A010A010A010A010A010C0A04000900
0900090009000900090008000C020A01
0A010A010A010A010A010A010A010A01
0A010C0A040009000900090009000900
090008000C020A010A010A010A010A01
0A010A010A010A010A010C0A04000900
0900090009000900090008000C020A01
0A010A010A010A010A010A010A010A01
0A010C0A040009000900090009000900
090008000C020A010A010A010A010A01
0A010A010A010A010A010C0A05000600
0600060006000600060007000E1A0D12
0D120D120D120D120D120D120D120D12
0D120E12460047000100020002000200
02000200020002000200030000000000
26022702200221022202230256005700
04000900090009000900090009000900
09000800000000003602370230023102
32023302420043000400090009000900
09000900090009000900080024022502
280229022A022B022C022D0252005300
05000600060006000600060006000600
0600070034023502380239023A023B02
3C023D02

#4:GLYPH BF
00001410010002000200020002000200
02000200020002000200020002000200
02000200020002000200030004000E0A
0D020D020D020D020D020E0209100910
09100900090009000900090009000900
0900080004000C020010121100101211
00100C0A091009100910090009000900
09000900090009000900080004000C02
001000100010001000100C0A09100910
09100900090009000900090009000900
0900080004000C021211001000100010
12110C0A091009100910090009000900
09000900090009000900080004000C02
001000100010001000100C0A09100910
09100900090009000900090009000900
0900080004000C020010121100101211
00100C0A091009100910090009000900
09000900090009000900080004000E1A
0D120D120D120D120D120E1209100910
09100900090009000900090009000900
09000800040009100910091009100910
09100910091009100910090009000900
09000900090009000900080004000910
09100910091009100910091009100910
09100900090009000900090009000900
09000800040009100910091009100910
09100910091009100910090009000900
09000900090009000900080004000900
09000900090009000900090009000900
09000900090009000900090009000900
09000800040009000900090009000900
09000900090009000900090009000900
09000900090009000900080005000600
06000600060006000600060006000600
06000600060006000600060006000600
06000700400041000000000000000000
00000000000000000000000000000000
00000000000000002E022F0250005100
00000000000000000000000000000000
00000000000000000000000000000000
3E023F02

