home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / microcrn / issue_43.arc / KAYPRO43.ARC / KAYPRO.3 next >
Text File  |  1988-07-21  |  2KB  |  65 lines

  1. ; Micro Cornucopia issue #43
  2. ; Kaypro Column - Figure 3  MAP.ASM
  3.  
  4. ;***********************************************
  5. ;*                                             *
  6. ;*THIS SMALL PROGRAM GENERATES A CHARACTER     *
  7. ;*TRANSLATION TABLE FOR THE KAYPRO CURSOR      *
  8. ;*KEYS AND THE NUMERIC KEYPAD. IT INSTALLS THE *
  9. ;*TABLE INTO THE CP/M BIOS.  THE TRANSLATION   *
  10. ;*WILL REMAIN IN FORCE UNTIL THE NEXT COLD     *
  11. ;*(NOT WARM) BOOT, OR UNTIL THE COMPLEMENTARY  *
  12. ;*PROGRAM 'UNMAP' IS RUN.                      *
  13. ;*                                             *
  14. ;***********************************************
  15.  
  16. ; *** CHANGE THIS TO MATCH THE CP/M SIZE ***
  17.  
  18. SIZE    EQU     63      ;CPM SIZE IN K
  19.  
  20. CBASE   EQU     SIZE*1024-1C00H;BEGINNING OF CCP
  21. FBASE   EQU     CBASE + 800H  ;BEGINNING OF BDOS
  22.  
  23. ; *** OR CHANGE THIS TO MATCH YOUR BIOS ***
  24.  
  25. BIOS    EQU     CBASE + 1600H ;BEGINNING OF BIOS
  26.  
  27. VTAB    EQU     BIOS+35H;BEGINNING OF PARAMETERS
  28.  
  29.         ORG     100H
  30.  
  31. MAPKEY: LXI     H, MAP;ADDRESS TRANSLATION TABLE
  32.         LXI     D, VTAB ;ADDRESS CP/M BIOS TABLE
  33.         MVI     B, 18   ;SET BYTE COUNT
  34. LOOP:   MOV     A, M    ;COPY TABLE INTO BIOS
  35.         STAX    D
  36.         INX     H
  37.         INX     D
  38.         DCR     B
  39.         JNZ     LOOP
  40.         RET             ;RETURN TO CCP
  41.  
  42. ;
  43. ; TRANSLATION TABLE TO BE LOADED
  44. ;
  45.  
  46. MAP:    DB      'E'-'@' ;UP ARROW( ^E )
  47.         DB      'X'-'@' ;DOWN ARROW( ^X )
  48.         DB      'S'-'@' ;LEFT ARROW( ^S )
  49.         DB      'D'-'@' ;RIGHT ARROW( ^D )
  50.         DB      'Q'-'@' ;NUM KEY '0'( ^Q )
  51.         DB      'Z'-'@' ;NUM KEY '1'( ^Z )
  52.         DB      'C'-'@' ;NUM KEY '2'( ^C )
  53.         DB      'B'-'@' ;NUM KEY '3'( ^B )
  54.         DB      'A'-'@' ;NUM KEY '4'( ^A )
  55.         DB      'L'-'@' ;NUM KEY '5'( ^L )
  56.         DB      'F'-'@' ;NUM KEY '6'( ^F )
  57.         DB      'W'-'@' ;NUM KEY '7'( ^W )
  58.         DB      'R'-'@' ;NUM KEY '8'( ^R )
  59.         DB      'T'-'@' ;NUM KEY '9'( ^T )
  60.         DB      'Y'-'@' ;NUM KEY '-'( ^Y )
  61.         DB      'G'-'@' ;NUM KEY ','( ^G )
  62.         DB      'K'-'@' ;NUM KEY 'ENTER'( ^K )
  63.         DB      'V'-'@' ;NUM KEY '.'( ^V )
  64.         END
  65.