home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol136 / translat.z80 < prev    next >
Encoding:
Text File  |  1984-04-29  |  4.3 KB  |  294 lines

  1.     ASEG
  2.     NAME    ('TRANSLATE')
  3.     .Z80    
  4. ;       ASSEMBLE USING M80
  5.     TITLE     KEYBOARD TRANSLATION FOR BIG BOARD
  6.  
  7. ;       The code changes included in TABLE are for use with WORDMASTER and a
  8. ;       HONEYWELL keyboard model 104SD30.
  9.  
  10.     ORG 0100H    ;START WHERE CP/M LIKES TO
  11.     NOP
  12.     NOP
  13.     NOP
  14. START:    LD    BC,0100H    ;MOVE 256 BYTES (1 PAGE)
  15.     LD    DE,0FE00H    ;MOVE TRANSLATE TABLE TO $FE00 (NOT USED BY MON)
  16.     LD    HL,TABLE    ;MOVE THE 10 BYTE TRANSLATE PROG.
  17.     LDIR            ;MOVE IT
  18.     LD    BC,000AH    ;MOVE THE TRANSLATE TABLE
  19.     LD    DE,0FD00H    ;MOVE IT TO $FD00
  20.     LD    HL,PROG        ;POINT TO TRANSLATE PROG
  21.     LDIR            ;MOVE IT
  22.     LD    BC,0003H    ;MOVE 3 BYTE ZAP THAT OVERLAYS MONITOR
  23.     LD    DE,0F468H    ;OVERLAY ADDR $F468 'A CALL TO INDEX'
  24.     LD    HL,ZAP        ;POINT TO ZAP
  25.     LDIR            ;MOVE IT WITH OVERKILL
  26. EXIT:    JP    0        ;RETURN TO CP/M    
  27. ZAP:    CALL    PROG1        ;CALL THE TRANSLATE ROUTINE AT $FD00
  28. PROG1    EQU    0FD00H
  29. PROG:    PUSH    HL        ;SAVE
  30.     LD    H,0FEH        ;LOAD PAGE ADDRESS OF TABLE
  31.     LD    L,C        ;LOAD THE CHAR TO TRANSLATE FROM KEYBOARD
  32.     LD    C,(HL)        ;DO THE TRANSLATE
  33.     POP    HL        ;RESTORE
  34. INDEX    EQU    0F474H        ;CALL INDEX ROUTINE AT $F474
  35.     CALL    INDEX        ;CALL IT BECAUSE WE ZAPPED THIS INSTRUCTION
  36.     RET            ;NOW BACK TO MONITOR AND CONTINUE KEYBOARD I/O
  37. TABLE:    DEFB    000H        
  38.     DEFB    001H
  39.     DEFB    002H
  40.     DEFB    003H
  41.     DEFB    004H
  42.     DEFB    005H
  43.     DEFB    006H
  44.     DEFB    007H
  45.     DEFB    008H
  46.     DEFB    009H
  47.     DEFB    00AH
  48.     DEFB    00BH
  49.     DEFB    00CH
  50.     DEFB    00DH
  51.     DEFB    00EH
  52.     DEFB    00FH
  53.     DEFB    010H
  54.     DEFB    011H
  55.     DEFB    012H
  56.     DEFB    013H
  57.     DEFB    014H
  58.     DEFB    015H
  59.     DEFB    016H
  60.     DEFB    017H
  61.     DEFB    018H
  62.     DEFB    019H
  63.     DEFB    01AH
  64.     DEFB    01BH
  65.     DEFB    01CH
  66.     DEFB    01DH
  67.     DEFB    01EH
  68.     DEFB    01FH
  69.     DEFB    020H
  70.     DEFB    021H
  71.     DEFB    022H
  72.     DEFB    023H
  73.     DEFB    024H
  74.     DEFB    025H
  75.     DEFB    026H
  76.     DEFB    027H
  77.     DEFB    028H
  78.     DEFB    029H
  79.     DEFB    02AH
  80.     DEFB    02BH
  81.     DEFB    02CH
  82.     DEFB    02DH
  83.     DEFB    02EH
  84.     DEFB    02FH
  85.     DEFB    030H
  86.     DEFB    031H
  87.     DEFB    032H
  88.     DEFB    033H
  89.     DEFB    034H
  90.     DEFB    035H
  91.     DEFB    036H
  92.     DEFB    037H
  93.     DEFB    038H
  94.     DEFB    039H
  95.     DEFB    03AH
  96.     DEFB    03BH    
  97.     DEFB    03CH
  98.     DEFB    03DH
  99.     DEFB    03EH    
  100.     DEFB    03FH
  101.     DEFB    040H
  102.     DEFB    041H
  103.     DEFB    042H
  104.     DEFB    043H
  105.     DEFB    044H
  106.     DEFB    045H
  107.     DEFB    046H
  108.     DEFB    047H
  109.     DEFB    048H
  110.     DEFB    049H
  111.     DEFB    04AH
  112.     DEFB    04BH
  113.     DEFB    04CH
  114.     DEFB    04DH
  115.     DEFB    04EH
  116.     DEFB    04FH
  117.     DEFB    050H
  118.     DEFB    051H
  119.     DEFB    052H
  120.     DEFB    053H
  121.     DEFB    054H
  122.     DEFB    055H
  123.     DEFB    056H
  124.     DEFB    057H
  125.     DEFB    058H
  126.     DEFB    059H
  127.     DEFB    05AH
  128.     DEFB    05BH
  129.     DEFB    05CH
  130.     DEFB    05DH
  131.     DEFB    05EH
  132.     DEFB    05FH
  133.     DEFB    060H
  134.     DEFB    061H
  135.     DEFB    062H
  136.     DEFB    063H
  137.     DEFB    064H
  138.     DEFB    065H
  139.     DEFB    066H
  140.     DEFB    067H
  141.     DEFB    068H
  142.     DEFB    069H
  143.     DEFB    06AH
  144.     DEFB    06BH
  145.     DEFB    06CH
  146.     DEFB    06DH
  147.     DEFB    06EH
  148.     DEFB    06FH
  149.     DEFB    070H
  150.     DEFB    071H
  151.     DEFB    072H
  152.     DEFB    073H
  153.     DEFB    074H
  154.     DEFB    075H
  155.     DEFB    076H
  156.     DEFB    077H
  157.     DEFB    078H
  158.     DEFB    079H
  159.     DEFB    07AH
  160.     DEFB    07BH
  161.     DEFB    07CH
  162.     DEFB    07DH
  163.     DEFB    07EH
  164.     DEFB    07FH
  165.     DEFB    00FH    ;INSERT TOGGLE ON/OFF
  166.     DEFB    005H    ;CURSOR UP LINE
  167.     DEFB    018H    ;CURSOR DOWN LINE
  168.     DEFB    004H    ;CURSOR RIGHT CHARACTER
  169.     DEFB    013H    ;CURSOR LEFT CHARACTER
  170.     DEFB    085H
  171.     DEFB    086H    
  172.     DEFB    087H
  173.     DEFB    01EH    ;CUSOR TOP/BOTTOM OF SCREEN
  174.     DEFB    089H
  175.     DEFB    002H    ;CURSOR LEFT/RIGHT OF LINE
  176.     DEFB    00BH    ;DELETE LINE RIGHT
  177.     DEFB    014H    ;INSERT CR LEAVE CURSOR BEFORE IT
  178.     DEFB    019H    ;DELETE LINE
  179.     DEFB    003H    ;FILE UP ONE SCREENFUL
  180.     DEFB    012H    ;FILE DOWN ONE SCREENFUL
  181.     DEFB    07FH    ;DELETE CHAR LEFT
  182.     DEFB    091H
  183.     DEFB    092H
  184.     DEFB    093H
  185.     DEFB    094H
  186.     DEFB    095H
  187.     DEFB    096H
  188.     DEFB    097H
  189.     DEFB    098H
  190.     DEFB    01AH    ;FILE UP ONE LINE
  191.     DEFB    017H    ;FILE DOWN ONE LINE
  192.     DEFB    09BH
  193.     DEFB    09CH
  194.     DEFB    09DH
  195.     DEFB    09EH
  196.     DEFB    09FH
  197.     DEFB    0A0H
  198.     DEFB    0A1H
  199.     DEFB    0A2H
  200.     DEFB    0A3H
  201.     DEFB    0A4H
  202.     DEFB    0A5H
  203.     DEFB    0A6H
  204.     DEFB    0A7H
  205.     DEFB    0A8H
  206.     DEFB    0A9H
  207.     DEFB    0AAH
  208.     DEFB    0ABH
  209.     DEFB    02EH    ;CHANGES NUMERIC PAD , INTO .
  210.     DEFB    0ADH
  211.     DEFB    0AEH
  212.     DEFB    0AFH
  213.     DEFB    0B0H
  214.     DEFB    0B1H
  215.     DEFB    0B2H
  216.     DEFB    0B3H
  217.     DEFB    0B4H
  218.     DEFB    0B5H
  219.     DEFB    0B6H
  220.     DEFB    0B7H
  221.     DEFB    0B8H
  222.     DEFB    0B9H
  223.     DEFB    0BAH
  224.     DEFB    0BBH
  225.     DEFB    0BCH
  226.     DEFB    0BDH
  227.     DEFB    0BEH
  228.     DEFB    0BFH
  229.     DEFB    0C0H
  230.     DEFB    0C1H
  231.     DEFB    0C2H
  232.     DEFB    0C3H
  233.     DEFB    0C4H
  234.     DEFB    0C5H
  235.     DEFB    0C6H
  236.     DEFB    0C7H
  237.     DEFB    0C8H
  238.     DEFB    0C9H
  239.     DEFB    0CAH
  240.     DEFB    0CBH
  241.     DEFB    0CCH
  242.     DEFB    0CDH
  243.     DEFB    0CEH
  244.     DEFB    0CFH
  245.     DEFB    0D0H
  246.     DEFB    0D1H
  247.     DEFB    0D2H
  248.     DEFB    0D3H
  249.     DEFB    0D4H
  250.     DEFB    0D5H
  251.     DEFB    0D6H
  252.     DEFB    0D7H
  253.     DEFB    0D8H
  254.     DEFB    0D9H
  255.     DEFB    0DAH
  256.     DEFB    0DBH
  257.     DEFB    0DCH
  258.     DEFB    0DDH
  259.     DEFB    0DEH
  260.     DEFB    0DFH
  261.     DEFB    0E0H
  262.     DEFB    0E1H
  263.     DEFB    003H    ;^C..WARM BOOT
  264.     DEFB    0E3H
  265.     DEFB    0E4H
  266.     DEFB    0E5H
  267.     DEFB    0E6H
  268.     DEFB    0E7H
  269.     DEFB    0E8H
  270.     DEFB    0E9H
  271.     DEFB    0EAH
  272.     DEFB    0EBH
  273.     DEFB    0ECH
  274.     DEFB    0EDH
  275.     DEFB    000H    ;DO NEXT CHAR 4 TIMES
  276.     DEFB    0EFH
  277.     DEFB    0F0H
  278.     DEFB    0F1H
  279.     DEFB    0F2H
  280.     DEFB    0F3H
  281.     DEFB    0F4H
  282.     DEFB    0F5H
  283.     DEFB    0F6H
  284.     DEFB    0F7H
  285.     DEFB    0F8H
  286.     DEFB    0F9H
  287.     DEFB    0FAH
  288.     DEFB    0FBH
  289.     DEFB    0FCH
  290.     DEFB    0FDH
  291.     DEFB    0FEH
  292.     DEFB    0FFH
  293.     END
  294.