I found out that opening an 89P file in notepad gives me this (not that the program isn't mine, I just used it for testing purposes):

**Code:** ```
```

**TI92P* main bo R bomberma π ₯Z ()

Prgm

setFold(bomberma)

Local a,b,c,c01,c02,c03,d,d01,d02,d03,e,e1,e2,f,f1,f2,m1,m2,m3,n1,o,on1,on2,on3,on4,r,x,,2

RplcPic b1

For ,1,225

getKey()2:If 20:Goto st

EndFor

ClrDraw

PxlText "Presents",30,55

For ,1,225

getKey()2:If 20:Goto st

EndFor

For ,30,36

getKey()2:If 20:Goto st

PxlHorz

EndFor

For ,30,36

getKey()2:If 20:Goto st

PxlHorz ,1

EndFor

Lbl st

RplcPic b2

Toolbar

Title " Play ",p

Title " Options ",o

Title " About ",about

Title " Exit ",e

EndTBar

Lbl p

RplcPic b3

For ,0,o11-1

Lbl bl

rand(7)a

a-1a:a*8a:a+3a

rand(23)b

b*6b:b+4b

If pxlTest(a+3,b+3)=true or a=3 and b=10 or a=3 and b=16 or a=11 and b=10:Goto bl

RclPic b4,a,b

EndFor

Lbl rup

rand(5)e1

e1-1e1:e1*8e1:e1+3e1

rand(11)f1

f1*6f1:f1+4f1

If pxlTest(e1+3,f1+3)=true:Goto rup

RclPic b6,e1,f1

Lbl rdo

rand(5)e2

e2-1e2:e2*8e2:e2+3e2

rand(11)f2

f2*6f2:f2+4f2

If pxlTest(e2+3,f2+3)=true:Goto rdo

RclPic b7,e2,f2

Lbl m1

rand(7)c01:c01-1c01:c01*8c01:c01+3c01

rand(23)d01:d01*6d01:d01+4d01

If pxlTest(c01+3,d01+3)=true or c01=3 and d01=10 or c01=3 and d01=16 or c01=11 and d01=10:Goto m1

Lbl m2

rand(7)c02:c02-1c02:c02*8c02:c02+3c02

rand(23)d02:d02*6d02:d02+4d02

If pxlTest(c02+3,d02+3)=true or c02=3 and d02=10 or c02=3 and d02=16 or c02=11 and d02=10:Goto m2

Lbl m3

rand(7)c03:c03-1c03:c03*8c03:c03+3c03

rand(23)d03:d03*6d03:d03+4d03

If pxlTest(c03+3,d03+3)=true or c03=3 and d03=10 or c03=3 and d03=16 or c03=11 and d03=10:Goto m3

3a:10b:0c:0d

0e:9f

o12n1:1r

1m1:1m2:1m3:3x

RclPic b3

PxlText "#X: : : # :",68,10

RclPic b5,68,46:RclPic b5,68,76:RclPic b5,68,106

Lbl main

PxlText string(x),68,28

PxlText " ",68,118

PxlText string(n1),68,118

Loop

RclPic b6,e1,f1

RclPic b7,e2,f2

If a=e1 and b=f1:r+1r

If a=e2 and b=f2:r-1r

If r>5:5r:If r<1:1r

PxlText string(r),68,58

getKey()

If e=1 and =kbo or f0

Goto bo

If e=0 and =kbo Then

1e:ac:bd:n1-1n1

EndIf

If e=1 Then:f-1f

RclPic b5,c,d:EndIf

PxlText string(f),68,88

If 0:PxlText " ",a,b

If =kup and pxlTest(a-2,b+3)=false:a-8a

If =kdo and pxlTest(a+8,b+3)=false:a+8a

If =kle and pxlTest(a+3,b-1)=false:b-6b

If =kri and pxlTest(a+3,b+7)=false:b+6b

RclPic b8,a,b

If m1=1 Then

rand(4)2

PxlText " ",c01,d01

If 2=1 and pxlTest(c01-2,d01+3)=false:c01-8c01

If 2=2 and pxlTest(c01+8,d01+3)=false:c01+8c01

If 2=3 and pxlTest(c01+3,d01-1)=false:d01-6d01

If 2=4 and pxlTest(c01+3,d01+7)=false:d01+6d01

PxlText "X",c01,d01

If a=c01 and b=d01:Goto w2:EndIf

If m2=1 Then

rand(4)2

PxlText " ",c02,d02

If 2=1 and pxlTest(c02-2,d02+3)=false:c02-8c02

If 2=2 and pxlTest(c02+8,d02+3)=false:c02+8c02

If 2=3 and pxlTest(c02+3,d02-1)=false:d02-6d02

If 2=4 and pxlTest(c02+3,d02+7)=false:d02+6d02

PxlText "X",c02,d02

If a=c02 and b=d02:Goto w2:EndIf

If m3=1 Then

rand(4)2

PxlText " ",c03,d03

If 2=1 and pxlTest(c03-2,d03+3)=false:c03-8c03

If 2=2 and pxlTest(c03+8,d03+3)=false:c03+8c03

If 2=3 and pxlTest(c03+3,d03-1)=false:d03-6d03

If 2=4 and pxlTest(c03+3,d03+7)=false:d03+6d03

PxlText "X",c03,d03

If a=c03 and b=d03:Goto w2:EndIf

EndLoop

Lbl bo

0on1:0on2:0on3:0on4

PxlText " ",c,d

If pxlTest(c-3,d+3)=false Then:PxlText " ",c-8,d

Else:1on1:EndIf

If pxlTest(c+9,d+3)=false Then:PxlText " ",c+8,d

Else:1on2:EndIf

If pxlTest(c+3,d-2)=false Then:PxlText " ",c,d-6

Else:1on3:EndIf

If pxlTest(c+3,d+8)=false Then:PxlText " ",c,d+6

Else:1on4:EndIf

If r2 and c-104 and on1=0 Then

If pxlTest(c-11,d+3)=false Then

PxlText " ",c-16,d

Else:1on1:EndIf:EndIf

If r2 and c+1659 and on2=0 Then

If pxlTest(c+17,d+3)=false Then

PxlText " ",c+16,d

Else:1on2:EndIf:EndIf

If r2 and d-77 and on3=0 Then

If pxlTest(c+3,d-8)=false Then

PxlText " ",c,d-12

Else:1on3:EndIf:EndIf

If r2 and d+13148 and on4=0 Then

If pxlTest(c+3,d+14)=false Then

PxlText " ",c,d+12

Else:1on4:EndIf:EndIf

If r3 and c-184 and on1=0 Then

If pxlTest(c-19,d+3)=false Then

PxlText " ",c-24,d

Else:1on1:EndIf:EndIf

If r3 and c+2459 and on2=0 Then

If pxlTest(c+25,d+3)=false Then

PxlText " ",c+24,d

Else:1on2:EndIf:EndIf

If r3 and d-137 and on3=0 Then

If pxlTest(c+3,d-14)=false Then

PxlText " ",c,d-18

Else:1on3:EndIf:EndIf

If r3 and d+19148 and on4=0 Then

If pxlTest(c+3,d+20)=false Then

PxlText " ",c,d+18

Else:1on4:EndIf:EndIf

If r4 and c-244 and on1=0 Then

If pxlTest(c-25,d+3)=false Then

PxlText " ",c-32,d

Else:1on1:EndIf:EndIf

If r4 and c+3259 and on2=0 Then

If pxlTest(c+33,d+3)=false Then

PxlText " ",c+32,d

Else:1on2:EndIf:EndIf

If r4 and d-197 and on3=0 Then

If pxlTest(c+3,d-20)=false Then

PxlText " ",c,d-24

Else:1on3:EndIf:EndIf

If r4 and d+25148 and on4=0 Then

If pxlTest(c+3,d+26)=false Then

PxlText " ",c,d+24

Else:1on4:EndIf:EndIf

If r=5 and c-344 and on1=0 Then

If pxlTest(c-35,d+3)=false Then

PxlText " ",c-40,d

Else:1on1:EndIf:EndIf

If r=5 and c+4059 and on2=0 Then

If pxlTest(c+41,d+3)=false Then

PxlText " ",c+40,d

Else:1on2:EndIf:EndIf

If r=5 and d-257 and on3=0 Then

If pxlTest(c+3,d-26)=false Then

PxlText " ",c,d-30

Else:1on3:EndIf:EndIf

If r=5 and d+31148 and on4=0 Then

If pxlTest(c+3,d+32)=false Then

PxlText " ",c,d+30

Else:1on4:EndIf:EndIf

If pxlTest(a+3,b+3)=false:Goto w2

If pxlTest(c01+3,d01+3)=false and m1=1 Then:0m1:x-1x:EndIf

If pxlTest(c02+3,d02+3)=false and m2=1 Then:0m2:x-1x:EndIf

If pxlTest(c03+3,d03+3)=false and m3=1 Then:0m3:x-1x:EndIf

If m1=0 and m2=0 and m3=0:Goto w1

If n1=0:Goto w2

0e:9f

RclPic b3

Goto main

Lbl w1

Pause

Dialog

Title "BomberMaster!"

Text "You Win!"

EndDlog

Goto st

Lbl w2

Pause

Dialog

Title "BomberMaster!"

Text "You Lose!"

EndDlog

Goto st

Lbl o

0o

PopUp {"General Options","Select Keys"},o

If o=0:Goto st

If o=1:Goto op1

If o=2:Goto op2

Lbl op1

Unarchiv o11,o12

If o11=10:1o11

If o11=20:2o11

If o11=30:3o11

If o11=40:4o11

If o11=50:5o11

If o11=60:6o11

If o11=70:7o11

If o11=80:8o11

If o11=90:9o11

If o12=5:1o12

If o12=10:2o12

If o12=15:3o12

If o12=20:4o12

Dialog

Title "General Options:"

DropDown "# Blocks",{"10","20","30","40","50","60","70","80","90"},o11

DropDown "# Bombs",{"5","10","15","20"},o12

EndDlog

If o11=1:10o11

If o11=2:20o11

If o11=3:30o11

If o11=4:40o11

If o11=5:50o11

If o11=6:60o11

If o11=7:70o11

If o11=8:80o11

If o11=9:90o11

If o12=1:5o12

If o12=2:10o12

If o12=3:15o12

If o12=4:20o12

Archive o11,o12

Goto st

Lbl op2

ClrDraw

Unarchiv kup,kdo,kle,kri,kbo

PxlText "",8,6

Loop

getKey():If 0:Exit

EndLoop

kup

PxlText "",8,6

Loop

getKey():If 0:Exit

EndLoop

kdo

PxlText "",8,6

Loop

getKey():If 0:Exit

EndLoop

kle

PxlText "",8,6

Loop

getKey():If 0:Exit

EndLoop

kri

RplcPic b5,8,6

Loop

getKey():If 0:Exit

EndLoop

kbo

Archive kup,kdo,kle,kri,kbo

Goto st

Lbl about

Dialog

Title "BomberMaster!"

Text "Joshua Entertainent"

Text "By Joshua Masato Chernin"

EndDlog

Goto st

Lbl e

ClrDraw:DispHome

setFold(main)

EndPrgm δε άS§

As you can see, most of the code is readable. Would this mean (in theory) that I could just compare the notepad file and the actual file, and take what tokens are missing/converted improperly and use that to create the tokenizer (replacing the .txt extension with the proper extension)?