I made this little GUI menu yesterday after playing one of my PC games and noticing that I had the option of a sword cursor. I thought to myself, "Why don't I do this in BASIC," and got to work. It renders rather quickly on my 84+, and works perfectly. Here is a screenshot:
Here is the code:
NOTE: For some reason, the loop-end count said I had a while loop in there, and SC still doesn't add the { to lists. Also, other ASCII characters, like @, aren't noticed by SC.

Here is the code:
BASIC Code wrote:
:{8,4,7,5,6,5,7,6,5,4,8,5,4,3,4,3,2,3,2,1,2,1,0,1,0→L1
:L1+40→L1
:{0,0,1,1,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8→L2
:L2+24→L2
:0→Xmin
:0→Ymin
:94→Xmax
:62→YMax
:PlotsOff
:AxesOff
:FnOff
:ClrDraw
:Text(0,6,"PLEASEÂ SELECTÂ ANÂ OPTION
:Horizontal 56
:Text(21,10,"NEWÂ GAME
:Text(21,55,"CONTINUE
:Text(41,10,"ABOUT
:Text(41,55,"QUIT
:Line(8,14,30,14
:Line(9,13,31,13
:Line(31,13,31,21
:Line(8,14,8,22
:Line(8,22,30,22
:Line(30,14,30,22
:Line(53,14,72,14
:Line(54,13,73,13
:Line(73,13,73,21
:Line(53,14,53,22
:Line(53,22,72,22
:Line(72,22,72,14
:Line(8,34,8,42
:Line(9,33,40,33
:Line(40,33,40,41
:Line(39,34,39,42
:Line(8,34,39,34
:Line(8,42,39,42
:Line(87,34,87,42
:Line(88,33,54,33
:Line(88,33,88,41
:Line(53,34,53,42
:Line(53,34,87,34
:Line(53,42,87,42
:StorePic 1
:DelVar KRepeat (K=45) or ((K=21) and ((L1(1)≥61 and L1(1)≤79) and (L2(1)≥6 and L2(1)≤14)))
:Plot1(Scatter ,L1,L2,∙
:RecallPic 1
:Repeat (K=24)(L1(1)≠8) or (K=25)(L2(1)≠48) or (K=26)(L1(1)≠96) or (K=34)(L2(1)≠0) or K=45 or K=21
:getKey→K
:End
:L1-8((K=24)-(K=26→L1
:L2-8((K=34)-(K=25→L2
:If K=21
:Then
:If (L1(1)≥16 and L1(1)≤47) and (L2(1)≥26 and L2(1)≤34)
:Then
:ClrHome
:Disp "YOUÂ CHOSE
:Pause "NEWÂ GAME
:ClrHome
:End
:If (L1(1)≥61 and L1(1)≤95) and (L2(1)≥26 and L2(1)≤34)
:Then
:ClrHome
:Disp "YOUÂ CHOSE
:Pause "CONTINUE
:ClrHome
:End
:If (L1(1)≥16 and L1(1)≤38) and (L2(1)≥6 and L2(1)≤14)
:Then
:ClrHome
:Disp "CREATEDÂ BY
:Disp "ROBERTOÂ SANCHEZ
:Pause "SANCHEZ@STIS.NET
:ClrHome
:End
:End
:End
:PlotsOff
:ClrDraw
:Clear Entries
:0
:DelVar L1DelVar L2DelVar KDelVar Pic1Output(1,1,"
Generated by SourceCoder, © 2005 Cemetech
:L1+40→L1
:{0,0,1,1,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8→L2
:L2+24→L2
:0→Xmin
:0→Ymin
:94→Xmax
:62→YMax
:PlotsOff
:AxesOff
:FnOff
:ClrDraw
:Text(0,6,"PLEASEÂ SELECTÂ ANÂ OPTION
:Horizontal 56
:Text(21,10,"NEWÂ GAME
:Text(21,55,"CONTINUE
:Text(41,10,"ABOUT
:Text(41,55,"QUIT
:Line(8,14,30,14
:Line(9,13,31,13
:Line(31,13,31,21
:Line(8,14,8,22
:Line(8,22,30,22
:Line(30,14,30,22
:Line(53,14,72,14
:Line(54,13,73,13
:Line(73,13,73,21
:Line(53,14,53,22
:Line(53,22,72,22
:Line(72,22,72,14
:Line(8,34,8,42
:Line(9,33,40,33
:Line(40,33,40,41
:Line(39,34,39,42
:Line(8,34,39,34
:Line(8,42,39,42
:Line(87,34,87,42
:Line(88,33,54,33
:Line(88,33,88,41
:Line(53,34,53,42
:Line(53,34,87,34
:Line(53,42,87,42
:StorePic 1
:DelVar KRepeat (K=45) or ((K=21) and ((L1(1)≥61 and L1(1)≤79) and (L2(1)≥6 and L2(1)≤14)))
:Plot1(Scatter ,L1,L2,∙
:RecallPic 1
:Repeat (K=24)(L1(1)≠8) or (K=25)(L2(1)≠48) or (K=26)(L1(1)≠96) or (K=34)(L2(1)≠0) or K=45 or K=21
:getKey→K
:End
:L1-8((K=24)-(K=26→L1
:L2-8((K=34)-(K=25→L2
:If K=21
:Then
:If (L1(1)≥16 and L1(1)≤47) and (L2(1)≥26 and L2(1)≤34)
:Then
:ClrHome
:Disp "YOUÂ CHOSE
:Pause "NEWÂ GAME
:ClrHome
:End
:If (L1(1)≥61 and L1(1)≤95) and (L2(1)≥26 and L2(1)≤34)
:Then
:ClrHome
:Disp "YOUÂ CHOSE
:Pause "CONTINUE
:ClrHome
:End
:If (L1(1)≥16 and L1(1)≤38) and (L2(1)≥6 and L2(1)≤14)
:Then
:ClrHome
:Disp "CREATEDÂ BY
:Disp "ROBERTOÂ SANCHEZ
:Pause "SANCHEZ@STIS.NET
:ClrHome
:End
:End
:End
:PlotsOff
:ClrDraw
:Clear Entries
:0
:DelVar L1DelVar L2DelVar KDelVar Pic1Output(1,1,"
Generated by SourceCoder, © 2005 Cemetech
NOTE: For some reason, the loop-end count said I had a while loop in there, and SC still doesn't add the { to lists. Also, other ASCII characters, like @, aren't noticed by SC.