home *** CD-ROM | disk | FTP | other *** search
/ Transactor / Transactor_14_1986_Transactor_Publishing.d64 / ke.pf (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  2KB  |  73 lines

  1. 10 rem -------------------------------
  2. 12 rem keyboard expander profile prog
  3. 14 rem           ke.pf
  4. 16 rem -------------------------------
  5. 18 rem (program variables)
  6. 20 zx=0:zy=0:zd=0:zi=0:zj=0:zb=0:zp=0
  7. 22 rem
  8. 24 rem (factor for repositioned keys)
  9. 26 sf=64:cf=128:tf=192:rem shft,c=,ctrl
  10. 28 rem
  11. 30 rem (array dimensions source keys)
  12. 32 nd=0:sd=1:cd=2:td=3:rem *norm,shft,c=,ctrl
  13. 34 rem
  14. 36 rem (used in strings for keys)
  15. 38 rem
  16. 40 s$="":l$=chr$(0):i$=chr$(0):rem new,link and i'active
  17. 42 q$=chr$(34):r$=chr$(13):n$=chr$(141):rem quote,ret,shft+ret
  18. 44 ln$=chr$(3):ls$=chr$(1):lc$=chr$(2):lt$=chr$(4):rem norm,shft,c=,ctrl
  19. 46 rem
  20. 48 rem (variables for keys)
  21. 50 a=10:b=28:c=20:d=18:e=14:f=21:g=26:h=29:i=33:j=34:k=37:l=42:m=36
  22. 52 n=39:o=38:p=41:q=62:r=17:s=13:t=22:u=30:v=31:w=9 :x=23:y=25:z=12
  23. 54 n0=35:n1=56:n2=59:n3=8:n4=11:n5=16:n6=19:n7=24:n8=27:n9=32
  24. 56 f1=4:f3=5:f5=6:f7=3:de=0:re=1:ho=51:ri=2:do=7:ua=54:la=57
  25. 58 pl=40:mi=43:eq=53:po=48:at=46:as=49:sl=55
  26. 60 pe=44:co=45:se=50:cm=47:sp=60
  27. 62 rem
  28. 64 rem (jmp vector and command line)
  29. 66 zv=0:zc=0:rem addresses, 0=none
  30. 68 rem
  31. 70 rem (key definition array storage)
  32. 72 dim zs$(3,62),zp(3,62),zr(3,62)
  33. 74 rem
  34. 76 rem ------------------------------
  35. 78 rem -define your keyboard profile-
  36. 80 rem - between lines 100 and 799  -
  37. 82 rem **dont def any new variables**
  38. 84 rem ------------------------------
  39. 86 rem
  40. 800 rem
  41. 802 rem     (relocate tables)
  42. 804 rem
  43. 806 zi=fre(0):zp=peek(55)+256*peek(56):rem prog start
  44. 808 zb=peek(zp+7)+256*peek(zp+8):rem dscr base
  45. 810 ifpeek(zp+3)=75andpeek(zp+4)=69andpeek(zp+5)=88andpeek(zp+6)=80then814
  46. 812 print"error: cannot locate keyboard expander":end
  47. 814 zx=(peek(47)+256*peek(48))+9:rem array defs
  48. 816 forzi=0to62:forzj=0to3
  49. 818 zd=zb+(zi*16)+(zj*4)
  50. 820 ifzp(zj,zi)thenpokezd,zp(zj,zi)
  51. 822 zy=zr(zj,zi):ifzythenpokezd+2,zy-int(zy/256)*256:pokezd+3,int(zy/256)
  52. 824 iflen(zs$(zj,zi))=0then830
  53. 826 zy=zx+(zi*12)+(zj*3)
  54. 828 pokezd+1,peek(zy):pokezd+2,peek(zy+1):pokezd+3,peek(zy+2)
  55. 830 nextzj:nextzi
  56. 832 rem
  57. 834 ifzvthenpoke785,zv-int(zv/256)*256:poke786,int(zv/256):poke784,0
  58. 836 ifzcthenpokezb-7,zc-int(zc/256)*256:pokezb-6,int(zc/256)
  59. 838 zy=(peek(51)+256*peek(52))-9:rem new start
  60. 840 forzi=0to8:pokezy+zi,peek(zp+zi):next:pokezb-1,255
  61. 842 pokezb-5,zy-int(zy/256)*256:pokezb-4,int(zy/256)
  62. 844 poke55,peek(zb-5):poke56,peek(zb-4):clr:rem new top mem
  63. 846 rem
  64. 848 rem   (store absolute version)
  65. 850 rem
  66. 852 input"create an absolute version - y/n";f$
  67. 854 iff$<>"y"andf$<>"n"then852
  68. 856 iff$="n"then864
  69. 858 input"filename for profile";f$
  70. 860 sys57812f$,8
  71. 862 poke174,0:poke175,160:poke193,peek(55):poke194,peek(56):sys62954
  72. 864 clr:end
  73.