home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 167 / 167.d81 / algorithm (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  944b  |  57 lines

  1. 10 poke53371,0
  2. 100 ht=0:ps=16384:pe=ps+260
  3. 102 dimhs(50),hd(50)
  4. 110 ifpeek(16383)=234then130
  5. 120 k=0:fori=0to9:forj=1to26
  6. 122 pokeps+k,64+j
  7. 124 k=k+1
  8. 126 next:next
  9. 128 poke16383,234
  10. 130 wd$="aceg":le=4
  11. 140 fori=1tole
  12. 150 wd(i)=asc(mid$(wd$,i,1))
  13. 160 next
  14. 168 ti$="000000"
  15. 170 gosub1000
  16. 180 fori=1toht
  17. 182 print"";:ifi>spthenprint"[158]";
  18. 184 printitab(5)hs(i)tab(13)hd(i)
  19. 186 next
  20. 188 print:printti"jiffies"
  21. 190 stop
  22. 1000 b=ps-1
  23. 1060 b=b+1
  24. 1062 ifb>pethen1170
  25. 1070 ifpeek(b)<>wd(1)then1060
  26. 1080 be=b
  27. 1082 mx=(pe-be)/(le-1)+1
  28. 1084 b=b+1
  29. 1086 if(b-be)>mxthenb=be:goto1060
  30. 1090 ifpeek(b)<>wd(2)then1084
  31. 1100 di=b-be
  32. 1110 m=2
  33. 1120 ifpeek(be+di*m)<>wd(m+1)then1084
  34. 1130 m=m+1
  35. 1140 ifm<le then1120
  36. 1150 ht=ht+1
  37. 1152 hs(ht)=be:hd(ht)=di
  38. 1160 goto1084
  39. 1170 b=pe+1:split=ht
  40. 1180 b=b-1
  41. 1190 ifb<psthen return
  42. 1200 ifpeek(b)<>wd(1)then1180
  43. 1210 be=b
  44. 1212 mx=int((b-ps)/(le-1))+1
  45. 1220 b=b-1
  46. 1230 if(be-b)>mxthenb=be:goto1180
  47. 1240 ifpeek(b)<>wd(2)then1220
  48. 1250 di=be-b
  49. 1260 m=2
  50. 1270 ifpeek(be-di*m)<>wd(m+1)then1180
  51. 1280 m=m+1
  52. 1290 ifm<le then1270
  53. 1300 ht=ht+1
  54. 1310 hs(ht)=be:hd(ht)=di
  55. 1320 goto1220
  56. 10000 d=peek(186):n$="0:algorithm":open15,d,15,"s"+n$:close15:saven$,d:end
  57.