; selector
 ld a,2
 ld (temp),a


selectorMain:
 B_CALL GrBufClr

 call loadPackTitle
 B_CALL grbufcpy

 B_CALL getkey

 jp quit

 ; fall down - 5 byte mask (0 - 24)

 xor a
 ld (currow),a
 ld (curcol),a
 ld hl,selectorMsg1
 call putsApp

 ld a,2
 ld (currow),a
 ld (curcol),a
 ld hl,selectorMsg2
 call putsApp

 ld a,2
 ld (curcol),a
 ld a,3
 ld (currow),a
 ld hl,selectorMsg3
 call putsApp

 ld a,2
 ld (curcol),a
 ld a,4
 ld (currow),a
 ld hl,selectorMsg4
 call putsApp

 ld a,(temp)
 ld (currow),a
 xor a
 ld (curcol),a
 ld a,LGT
 B_CALL putc

 B_CALL getkey
 cp kUp
 jr z,selectorUp
 cp kDown
 jr z,selectorDown
 cp kEnter
 jr z,selectionMade
 cp kMode
 jr nz,selectorMain
 jp quit

selectorUp:
 ld a,(temp)
 cp 2
 jr z,selectorMain
 dec a
 ld (temp),a
 jr selectorMain

selectorDown:
 ld a,(temp)
 cp 4
 jr z,selectorMain
 inc a
 ld (temp),a
 jr selectorMain

selectionMade:
 ld a,(temp)
 cp 2
 jp z,falldownMain
 cp 3
 jr z,knightMain
 cp 4
 jr z,rogueMain
 jp selectorMain


selectorMsg1: db "VOIDPACK v1.0",0
selectorMsg2: db "FALL DOWN",0
selectorMsg3: db "KNIGHT MOVES",0
selectorMsg4: db "ROGUE",0