home *** CD-ROM | disk | FTP | other *** search
/ Kyūkyoku!! X68000 Emulator / X68000Book.dat / mac / OLS / X68000 / Ko-Window / kow142s.lzh / wsrv / kanjiasm.s < prev    next >
Text File  |  1995-12-02  |  2KB  |  112 lines

  1. * 1995 12/1 ÅCÉ│
  2.  
  3. _KNJCTRL    equ    $ff22
  4. _INTVCS        equ    $ff25
  5.  
  6.         .bss
  7. _DefaultEcho    ds.l    1
  8.         .text
  9.  
  10.         .xdef    _HenDspEntry
  11. _HenDspEntry
  12.         move.l    4(a6),-(sp)
  13.         move.w    2(a6),-(sp)
  14.         clr.w    -(sp)
  15.         move.w    (a6),-(sp)
  16.         clr.w    -(sp)
  17.         bsr    _HenDsp
  18.         lea.l    12(sp),sp
  19.         rts
  20.  
  21.         .xdef    _HenEchoLock
  22. _HenEchoLock        * static void HenEchoLock( void )
  23.  
  24.         **** Æ╟ë┴(COR.) BGé┼é╠ KNJCTRL é≡û│Äïé│é╣éΘ
  25.         tst.l    _BGmode
  26.         beq    notset
  27.         pea    _ff22ent(pc)
  28.         move.w    #$ff22,-(sp)
  29.         .dc.w    _INTVCS
  30.         addq.l    #6,sp
  31.         move.l    d0,_OldFF22
  32.     notset:
  33.  
  34.         moveq.l    #50,d1
  35.         move.l    d1,-(sp)        ;Check ASKversion
  36.         .dc.w    _KNJCTRL
  37.         addq.l    #4,sp
  38.         moveq.l    #-1,d2
  39.         cmp.l    d2,d0
  40.         bne    Lock
  41.         move.l    d2,_DefaultEcho        ; Not ASKver2.??
  42.         rts
  43.     Lock:
  44.         moveq.l    #55,d1
  45.         move.l    d1,-(sp)        ;Store EchoMode
  46.         .dc.w    _KNJCTRL
  47.         move.l    d0,_DefaultEcho
  48.  
  49.         moveq.l    #0,d2
  50.         moveq.l    #54,d1
  51.         move.l    d2,-(sp)        ;Set SystemLine_EchoMode
  52.         move.l    d1,-(sp)
  53.         .dc.w    _KNJCTRL
  54.  
  55.         moveq.l    #56,d1
  56.         move.l    d2,-(sp)        ;Lock EchoMode
  57.         move.l    d1,-(sp)
  58.         .dc.w    _KNJCTRL
  59.  
  60.         lea    20(sp),sp
  61.         rts
  62.  
  63.         .xdef    _HenEchoUnlock
  64. _HenEchoUnlock            * static void HenEchoUnlock( void )
  65.  
  66.         **** Æ╟ë┴(COR.)  KNJCTRL é≡û▀é╖
  67.         move.l    _OldFF22(pc),d0
  68.         beq    notset2
  69.         move.l    d0,-(sp)
  70.         move.w    #$ff22,-(sp)
  71.         .dc.w    _INTVCS
  72.         addq.l    #6,sp
  73.     notset2:
  74.  
  75.         move.l    _DefaultEcho,d2
  76.         bmi    exit
  77.  
  78.         moveq.l    #1,d1
  79.         move.l    d1,-(sp)        ;Unlock EchoMode
  80.         moveq.l    #56,d1
  81.         move.l    d1,-(sp)
  82.         .dc.w    _KNJCTRL
  83.  
  84.         moveq.l    #54,d1
  85.         move.l    d2,-(sp)        ;Restore EchoMode
  86.         move.l    d1,-(sp)
  87.         .dc.w    _KNJCTRL
  88.  
  89.         lea    16(sp),sp
  90.     exit:
  91.         moveq.l    #0,d0
  92.         rts
  93.  
  94.     _OldFF22:
  95.         .dc.l    0
  96.  
  97. _ff22ent:
  98. *        move.l    $1c54.w,d0
  99. *        cmp.l    $1c50.w,d0
  100.         move.l    (a6),d0
  101.         subq.l    #1,d0
  102.         bne    _normal
  103.         cmp.w    #1,$1c08.w
  104.         bne    exit
  105.     _normal:
  106.         move.l    _OldFF22(pc),a0
  107.         jmp    (a0)
  108.  
  109.  
  110.  
  111. * :vi:se ts=8 sw=8:
  112.