home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / KAYPRO / ADVENT1.ARK / DSPATCH.ASM < prev    next >
Assembly Source File  |  1986-09-19  |  2KB  |  133 lines

  1. ; DSPATCH.ASM 6-5-86 gsd
  2. ; Simple patch to DataStar for Kaypro Keyboard Arrow Keys
  3. ; Assembles with DRI MAC.COM
  4. ; These patches are intended to work with The Advent TurboROM.
  5. ; The patches simply swap the CP/M level arrow key definitions
  6. ; for MicroPRO type arrow key usage on start up of the program.
  7. ; On exit from the program the CP/M level definitiions are restored.
  8. ;
  9. ; All of the following files must be patched:
  10. ;
  11. ;    DATASTAR.COM
  12. ;    FORMGEN.COM
  13. ;    REDIT.COM
  14. ;    REPORT.COM
  15. ;    RINSTALL.COM
  16. ;
  17. ; USE DDT TO PATCH DATASTAR.COM:
  18. ;
  19. ; A>DDT DATASTAR.COM
  20. ; DDT VERS 2.2
  21. ; NEXT PC
  22. ; 6A00 0100
  23. ; -IDSPATCH.HEX
  24. ; -R
  25. ; NEXT PC
  26. ; 6A00 0100
  27. ; -G0
  28. ;
  29. ; Warm Boot 
  30. ; A>SAVE 105 DATASTAR.COM
  31. ;
  32. ; USE DDT TO PATCH FORMGEN.COM:
  33. ;
  34. ; A>DDT FORMGEN.COM
  35. ; DDT VERS 2.2
  36. ; NEXT PC
  37. ; 8500 0100
  38. ; -IDSPATCH.HEX
  39. ; -R
  40. ; NEXT PC
  41. ; 8500 0100
  42. ; -G0
  43. ;
  44. ; Warm Boot 
  45. ; A>SAVE 132 FORMGEN.COM
  46. ;
  47. ; USE DDT TO PATCH REDIT.COM:
  48. ;
  49. ; A>DDT REDIT.COM
  50. ; DDT VERS 2.2
  51. ; NEXT PC
  52. ; 7100 0100
  53. ; -IDSPATCH.HEX
  54. ; -R
  55. ; NEXT PC
  56. ; 7100 0100
  57. ; -G0
  58. ;
  59. ; Warm Boot 
  60. ; A>SAVE 112 REDIT.COM
  61. ;
  62. ; USE DDT TO PATCH REPORT.COM:
  63. ;
  64. ; A>DDT REPORT.COM
  65. ; DDT VERS 2.2
  66. ; NEXT PC
  67. ; 7F00 0100
  68. ; -IDSPATCH.HEX
  69. ; -R
  70. ; NEXT PC
  71. ; 7F00 0100
  72. ; -G0
  73. ;
  74. ; Warm Boot 
  75. ; A>SAVE 126 REPORT.COM
  76. ;
  77. ; USE DDT TO PATCH RINSTALL.COM:
  78. ;
  79. ; A>DDT RINSTALL.COM
  80. ; DDT VERS 2.2
  81. ; NEXT PC
  82. ; 7900 0100
  83. ; -IDSPATCH.HEX
  84. ; -R
  85. ; NEXT PC
  86. ; 7900 0100
  87. ; -G0
  88. ;
  89. ; Warm Boot 
  90. ; A>SAVE 120 RINSTALL.COM
  91. ;
  92.  
  93. djnz    macro addr
  94.     db 10h
  95.     db low addr-($+1)
  96.     endm
  97.  
  98.     org 0173h    ; id string DATASTAR.COM 1.42
  99.     db    '1.42'
  100.     org 2A7h
  101. ;
  102. inisub:    jmp    morpat
  103. ;
  104. unisub: jmp    morpat
  105.  
  106.     org 2deh
  107. ;
  108. morpat:    lhld    0001        ; GET WARM BOOT JMP ADDR
  109.     lxi    d,32h        ; offset to xlate table
  110.     dad    d        ; hl --> xlate table (bios) 
  111.     lxi    d,table        ; de --> xlate table (local)
  112.     mvi    b,4        ; count 
  113. ;
  114. loop:                ; repeat
  115.     mov    c,m        ;   swap *hl,*de
  116.     ldax    d
  117.     mov    m,a
  118.     mov    a,c
  119.     stax    d
  120.     inx    h        ;   hl++, de++
  121.     inx    d
  122.     djnz    loop        ; unitl bytes swaped
  123.         ret
  124. ;
  125. table:    db    'E'-40h        ; up arrow
  126.     db    'X'-40h        ; down arrow
  127.     db    'S'-40h        ; left arrow
  128.     db    'D'-40H        ; right arrow
  129.  
  130.     end
  131.  
  132.