home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / fj / sys / ibmpc / 1026 < prev    next >
Encoding:
Internet Message Format  |  1992-11-20  |  7.4 KB

  1. Path: sparky!uunet!munnari.oz.au!news.hawaii.edu!sh.wide!wnoc-tyo-news!hoffman!eesg!yuichi!kiku
  2. From: kiku@yuichi.ee.sophia.ac.jp (kikuchi akira)
  3. Newsgroups: fj.sys.ibmpc
  4. Subject: NNANSI modification for DOS/V
  5. Message-ID: <KIKU.92Nov21003855@yuichi.ee.sophia.ac.jp>
  6. Date: 20 Nov 92 15:38:55 GMT
  7. Sender: news@eesg.ee.sophia.ac.jp
  8. Distribution: fj
  9. Organization: Electrical Electronic Engineering Dept., Sophia Univ., Tokyo,
  10.     Japan
  11. Lines: 245
  12.  
  13. NNANSI $B$N(B 9/92 version $B$r(B DOS/V $B$G;H$($k$h$&$K$9$k$?$a$N(B patch $B$G$9!#(B
  14.  
  15. $B9TA^F~$d9T:o=|$,$G$-(B$B$k(B ANSI console driver $B$K$D$$$F$O!"$b$O$d(B FAQ $B$H(B
  16. $B$J$j$D$D$"$j$^$9$,!"$=$l$KBP$9$k2sEz$N0l$D$G$9!#(B
  17. $B$H!"(B$B3J9%$r$D$1$F$O$_$^$7$?$,!"(BDOS/V $B>e$GF0:n$5$;$k$?$a$N:GDc8B$NJQ99$7(B
  18. $B$+9T$J$C$F$$$J$$$N$G!"$^$@$^$@2~NI(B$B$NM>CO$O$"$j$^$9!#(B
  19.  
  20. $B:FG[I[$N>r7o$H$7$F$O!"(Bpatch $B$NFbMF$KJQ99$r2C$($J$$8B$j!"<+M3$H$7$^$9!#(B
  21. $BB>$X$NE>:\(B$B$K$D$$$F$b@)8B$7$^$;$s!#$J$k$Y$/B?$/$N?M$,6/NO$J(B console
  22. driver $B$r(B DOS/V $B>e$G;H$($k$h$&$K6(NO$7$F$$$?(B$B$@$1$l$P9,$$$G$9!#(B
  23.  
  24. $B$?$@$7!"$3$N(B patch $B$OL5J]>Z$G$9!#$3$N(B patch $B$rEv$F$?(B NNANSI $B$r;HMQ$7$?(B
  25. $B$3$H$K$h$j(B$B@8$8$?$$$+$J$kLdBj$KBP$7$F0l@Z$N@UG$$O$*$o$J$$$3$H$r$"$i$+$8(B
  26. $B$a$*CG$j$7$F$*$-$^$9!#$H$$$C$F$b!"(BBug $B$r(B$B8+$D$1$?>l9g$K$OJs9p$7$F$$$?$@(B
  27. $B$1$l$P!"$G$-$k$@$1$NBP1~$O$7$?$$$H;W$$$^$9!#(B
  28.  
  29. NNANSI $B$N:n<T(B Tom Almy $B$K(B DOS/V $B$H$=$N$?$a$NJQ99$K$D$$$F@bL@$7$?$H$3$m!"(B
  30. $B<!2s$N(B release $B$G$O(B option $B$N0l$D$H$7$F2C$($k$3$H$,$G(B$B$-$k$+$bCN$l$J$$(B
  31. $B$H8@$C$F$-$^$7$?!#(B
  32.  
  33. PS/55note + DOS/V J5.02 $B$*$h$S(B PS/55 5501-W + OS/2 J2.0 (VDM DOS/V)
  34. $B$G$NF0:n$O3NG'$7$F$$$^$9!#(B
  35.  
  36. $B$=$l$+$i(B Tom Almy $B$b8@$C$F$$$^$9$,!"(BNNANSI $B$N(B base $B$H$J$C$?(B NANSI $B$N(B
  37. $B:n<T(B Daniel Kegel $B$X$N(B donation $B$b$G$-$k$@$16(NO$r$*4j$$$7$^$9!#(B
  38.  
  39.  
  40.                     DOS/V $B$r$5$i$K;H$$$d$9$/$9$k$?(B$B$a$K(B
  41.                                 kiku
  42.  
  43. ----- cut here ----- cut here ----- cut here ----- cut here -----
  44. *** orig/nnansi.asm    Mon Sep  7 23:41:48 1992
  45. --- nnansi.asm    Sat Nov 21 00:10:11 1992
  46. ***************
  47. *** 80,85 ****
  48. --- 80,87 ----
  49.   ;           which most of the recent changes would have been impossible****
  50.   ; Sept 1992:  Minor bug fixes. Changes as noted below
  51.   
  52. + ; Nov  1992   Support DOS/V by Akira Kikuchi (kiku@yuichi.ee.sophia.ac.jp)
  53.   page
  54.   TRUE    equ    1
  55.   FALSE    equ    0
  56. ***************
  57. *** 246,251 ****
  58. --- 248,257 ----
  59.       endif
  60.       db    13, 10
  61.       db    'by Tom Almy based on code (C) 1986 Daniel Kegel.'
  62. + if DOSV
  63. +     db    13, 10
  64. +     db    'Modified for DOS/V by Akira Kikuchi.'
  65. + endif
  66.       db    13, 10, 26
  67.   
  68.       even
  69. ***************
  70. *** 314,321 ****
  71. --- 320,331 ----
  72.   escvector    dw    0    ; state vector of ESCape sequencor
  73.   if DESQVIEW
  74.   disppage    dw    0b800h    ; address of display page
  75. + if DOSV
  76. + dvactive    db    1    ; to put NNANSI on its good behavior
  77. + else
  78.   dvactive    db    0    ; is desqview active?
  79.   endif
  80. + endif
  81.   brkkeybuf    db    3    ; control C
  82.   wrap_flag    db    1    ; 0 = no wrap past line end
  83.   cur_attrib    db    7    ; current char attributes
  84. ***************
  85. *** 1082,1088 ****
  86. --- 1092,1102 ----
  87.       cmp    al, 28            ; is it a control char?
  88.       jb    f_control        ;  maybe...
  89.   f_t_nctl:
  90. + if DOSV
  91. +     call    putchar
  92. + else
  93.       STOSW                ; Put Char! (es:[di++] = ax)
  94. + endif
  95.       dec    dx            ; count down to end of line
  96.       loopnz    f_t_cloop        ; and go back for more.
  97.       jnz    f_loopdone        ; finished execution
  98. ***************
  99. *** 1564,1570 ****
  100. --- 1578,1612 ----
  101.   ; Moves screen up 1 line, fills the last line with blanks.
  102.   ; Attribute of blanks is the current attribute sans blink and underline.
  103.   
  104. + if DOSV
  105.   scroll_up    proc    near
  106. +         push_all
  107. +         push    ds
  108. +         mov    ax, ABS40    ; address low mem via ds
  109. +         mov    ds, ax
  110. +         assume    ds:ABS40
  111. +         mov    bh, cs:cur_attrib
  112. +         mov    dh, byte ptr ega_rows
  113. +                     ; Get max rows of display
  114. +         mov    dl, byte ptr crt_cols
  115. +         dec    dl        ; lower right in dx
  116. +         xor    cx, cx        ; upper left of the screen
  117. +         mov    al, 1        ; 1 line scroll
  118. +         mov    ah, 06h        ; Scroll up
  119. +         call_video
  120. +         assume    ds:nothing
  121. +         pop    ds
  122. +         pop_all
  123. +         ret
  124. + scroll_up    endp
  125. + else                    ; DOSV
  126. + scroll_up    proc    near
  127.       push_all
  128.   
  129.       cmp    cs:gmode_flag,0
  130. ***************
  131. *** 1750,1755 ****
  132. --- 1792,1799 ----
  133.       jmp    scrret
  134.   
  135.   scroll_up    endp
  136. + endif                                   ; DOSV
  137.   page
  138.   ;-----move_back --------------------------------------------
  139.   ; This routine moves the display to offset zero.
  140. ***************
  141. *** 3295,3300 ****
  142. --- 3339,3348 ----
  143.       db    13,10
  144.       db    '535 E. Mendocino St, Altadena, CA 91001, USA.'
  145.       db    13, 10, 13, 10
  146. + if DOSV
  147. +     db    'Modified for DOS/V by Akira Kikuchi.'
  148. +     db    13, 10, 13, 10
  149. + endif
  150.       db    'NNANSI driver loaded at '
  151.   Ident1    db    'XXXX:0000'
  152.       db    13, 10, 27, '[0m'
  153. *** orig/config.inc    Tue Sep  8 00:33:34 1992
  154. --- config.inc    Sat Nov 21 00:09:42 1992
  155. ***************
  156. *** 8,17 ****
  157. --- 8,23 ----
  158.   
  159.   ; Author: Tom Almy, except as noted.
  160.   ; Card id printout idea by Arend van den Brug.
  161. + ; DOS/V support by Akira Kikuchi.
  162.   
  163.   
  164.   ; Note: I haven't tried all combinations.
  165.   
  166. + ; If you want to use NNANSI under DOS/V, make following symbol TRUE.
  167. + ; It disables EGA, quick_char, fast29, bios_write_tty and cheap_pc
  168. + ; options (DOS/V requires 80286 or higher), and enables DESQVIEW
  169. + ; and DOS/V support code.                             Akira Kikuchi
  170. + DOSV        equ    TRUE
  171.   
  172.   ; Define both of these TRUE is display type is unknown.
  173.   ; Otherwise define FALSE what your display isn't.
  174. ***************
  175. *** 25,32 ****
  176. --- 31,42 ----
  177.   VGA    equ    TRUE    ; define TRUE for VGA, defining as FALSE eliminates
  178.               ; 50 line mode code. (43 line mode will run with 50
  179.               ; lines like older nansi and nnansi drivers
  180. + if DOSV
  181. + EGA    equ    FALSE
  182. + else
  183.   EGA    equ    TRUE    ; define TRUE for EGA for best results on EGA.
  184.               ; defining as FALSE eliminates 43 line cursor fix code
  185. + endif
  186.   
  187.   
  188.   
  189. ***************
  190. *** 55,61 ****
  191. --- 65,75 ----
  192.   ;           with this version of NNANSI.
  193.   
  194.   
  195. + if DOSV
  196. + DESQVIEW equ    TRUE
  197. + else
  198.   DESQVIEW equ    FALSE
  199. + endif
  200.   
  201.   
  202.   ; VESA Compatibility -- ONLY SET IF YOUR DISPLAY CONTROLLER IS VESA
  203. ***************
  204. *** 96,102 ****
  205. --- 110,120 ----
  206.   ; want to use the driver with an 8088/6. Define as FALSE for 
  207.   ; processors >=80186 for best performance and smallest size.
  208.   
  209. + if DOSV
  210. + cheap_pc    equ    FALSE
  211. + else
  212.   cheap_pc    equ    TRUE    ; no fancy instructions if true
  213. + endif
  214.   
  215.   
  216.   
  217. ***************
  218. *** 109,125 ****
  219. --- 127,155 ----
  220.   init_buf_size    equ    256    ; size of keyboard redefinition buffer 
  221.       ; and parameter buffer when key_redef TRUE. You may want to change 
  222.       ; the size, if you use this feature. Don't make it <100.
  223. + if DOSV
  224. + quick_char    equ    FALSE
  225. + else
  226.   quick_char    equ    TRUE ; quick graphic characters in modes 10 and 12
  227. + endif
  228.       ; quick_char should be "TRUE" unless 
  229.       ; you have an incompatible display card.
  230.       ; And I don't know of any that are.
  231. + if DOSV
  232. + fast29        equ    FALSE
  233. + else
  234.   fast29        equ    TRUE    ; 15 % faster operation (overall)
  235.       ;  of int29 calls (costs 100 bytes)
  236. + endif
  237. + if DOSV
  238. + bios_write_tty    equ    FALSE
  239. + else
  240.   bios_write_tty    equ    TRUE    ; take over BIOS write_tty if true
  241.       ; NOTE: if bios_write_tty is true, the color rendition of text may 
  242.       ; change, but performance will improve and ANSI control codes can 
  243.       ; be used. This feature can be enabled/disabled at runtime as
  244.       ; long as it is assembled (TRUE)
  245. + endif
  246.   gbackground    equ    TRUE    ; generate non-black graphic backgrounds
  247.       ; This option may cause problems for software not expectings its
  248.       ; existance. Also you must specify quick_char to use gbackground.
  249. ----- cut here ----- cut here ----- cut here ----- cut here -----
  250.