home *** CD-ROM | disk | FTP | other *** search
- ;
- ; main.asm
- ;
- code segment byte public 'CODE'
- assume cs:code, ds:code
- ;
- include xcs.mac
- ;
- extrn Ascii:far
- extrn QuWei:far
- extrn FuHao:far
- ;
- db 'VGA'
- CHCSVersion db 'CHCS 1.0'
- ;
- ChcsPsp dw ?
- ChcsEnv dw ?
- db ?
- ;
- wHas db 0
- uHas db 0
- prHas db 0
- prFontHas db 0
- ;
- OldInt08 dd ?
- OldInt09 dd ?
- OldInt10 dd ?
- OldInt13 dd ?
- OldInt16 dd ?
- OldInt1c dd ?
- ;
- IntrBusy db 0
- inOld16 db 0
- ;
- F8x8 dd ?
- F8x14 dd ?
- F8x16 dd ?
- FPntr dd ?
- ;
- wProc dd ?
- uProc dd ?
- wLen dw ?
- uLen dw ?
- ;
- KeyinProc dd Ascii
- ISentries label byte
- ;
- ; F1 = QuWei
- ;
- db '╟°╬╗┬δ', 0, 0, 0
- dw 0
- db 'Y'
- dd QuWei
- ;
- ISentry < , , , , > ; F2
- ISentry < , , , , > ; F3
- ISentry < , , , , > ; F4
- ISentry < , , , , > ; F5
- ISentry < , , , , > ; F6
- ISentry < , , , , > ; F7
- ISentry < , , , , > ; F8
- ;
- ; F9 = FuHao
- ;
- db '═╝╨╬╖√║┼', 0
- dw 0
- db 'Y'
- dd FuHao
- ;
- ; F10 = Ascii
- ;
- db '╙ó╬─╩²╫╓', 0
- dw 0
- db 'Y'
- dd Ascii
- ;
- mode cKmode < 9, 0, 0, 1 >
- QuHao db 1
- ;
- c Int9Key < 0, 0 >
- Int9Buf dw 64 dup(0)
- pushin dw offset Int9Buf
- popout dw offset Int9Buf
- int9in dw ?
- ;
- FHname label byte
- db '═╝╨╬╖√║┼', 0
- db '╓╨╬─╩²╫╓', 0
- db '╚½╜╟╙ó╬─', 0
- db '╚╒╬─╞╜╝┘', 0
- db '╚╒╬─╞¼╝┘', 0
- db '╧ú└░╫╓─╕', 0
- db '╢φ╬─╫╓─╕', 0
- db '╞┤╥⌠╫╓─╕', 0
- db '╓╨╬─▒φ╕±', 0
- ModeMSG label byte
- db '~n╓╨╬≈═│╥╗╖╜╩╜', 0
- db '~n ┤┐╓╨╬─╖╜╩╜ ', 0
- db '~n ╓╨╬─╖╜╩╜ú╢ ', 0
- db '~n╓╨╬─═╝╨╬╖╜╩╜', 0
- db '~n ═╝╨╬╖╜╩╜í├ ', 0
- KeyMSG label byte
- db 0dh, '~n╩Σ╚δ╖¿ ~e F0~s╙ó╬─╩²╫╓', 0
- ;
- ; 0 1 2 3
- ; 4 5 6 7
- ; 0123456789012345678901234567890123456789
- ;
- SysMSG label byte
- db 0dh
- db '~n╧╡═│┐╪╓╞ ~eB~s╓╨╬─▒Ω╡π ~eK~s╩▒╓╙┐¬ ~'
- db 'eS~s╔¿╞┴ ~eT~s▒φ╕±╩╢▒≡┐¬ ~eZ~s╒√╫╓┤ª└φ┐¬'
- db 0
- DispMSG label byte
- db 0dh,'~n╧╘╩╛┐╪╓╞ ~eH~s|~eR~s|~eY~s/~eM~s'
- db '╖╜╩╜╤í╘±/╟╨╗╗ ~eG~s╣Γ▒Ω┐╪╓╞ ~eC~s▓╩╔½╧╘╩╛ '
- db '~eO~s|~eP~s|~e[~s|~e]~s|~e\~s╠ß╩╛╨╨╤╒╔½'
- db 0
- DigMSG label byte
- db 0dh,'~n╩²╫╓╝ⁿ╖╜╩╜ ~e0~s 0 ~e1~sú▒ '
- db '~e2~s╢■ ~e3~s╚■ ~e4~só▄ ~e5~sóΘ '
- db '~e6~só╩ ~e7~só╖ ~e8~só°', 0
- PadMSG label byte
- db 0dh,'~n╨í╝ⁿ┼╠╖╜╩╜ ~e0~s╙ó╩² '
- db '~e1~s╧╕▒φ ~e2~s┤╓▒φ ~e3~s'
- db '║ß┤╓ ~e4~s╩·┤╓ ~e5~s╓╨╩²', 0
- dStr label byte
- db 'í≡╥╗╢■╚²╦─╬σ┴∙╞▀░╦╛┼'
- db '┴π╥╝╖í╚■╦┴╬Θ┬╜╞Γ░╞╛┴'
- sym label byte
- db 'ú¼íúíóúíú«úúíτúÑíñí⌐í┴ú¿ú⌐í¡ú½'
- db 'í½ú¡ú╜í«ú╗í┬ú║ú»ú╝ú╛ú┐'
- db 'í«í»í░í▒í╢í╖í▓í│í╝í╜í╛í┐', 0
- sch1 label byte
- db ',./!@#$%^&*()_+~-=`;\:|<>?', 0
- sch2 label byte
- db 27h, '"[]{}', 0
- ScanCode label byte
- db 52h,4fh,50h,51h,4bh
- db 4ch,4dh,47h,48h,49h
- db 53h,37h,4ah,4eh,0e0h
- PadCode label byte
- db 'íµ⌐╕⌐╪⌐╝⌐└⌐α⌐╚⌐░⌐╨⌐┤í∞íφ⌐ñ⌐ªí└'
- db 'í⌡⌐╗⌐▀⌐┐⌐╟⌐∩⌐╧⌐│⌐╫⌐╖í÷í⌠⌐Ñ⌐ºí≤'
- db 'í≈⌐╣⌐█⌐╜⌐┴⌐π⌐╔⌐▒⌐╙⌐╡í°í∩⌐Ñ⌐ªíε'
- db 'íφ⌐║⌐▄⌐╛⌐─⌐µ⌐╠⌐▓⌐╘⌐╢í∙í∞⌐ñ⌐ºí≥'
- KeyCode db '0123456789.*-+/', 0
- XiLaTab db 'ª┴ª┬ª╬ª─ª┼ª╒ª├ª╟ª╔ííª╩ª╦ª╠'
- db 'ª═ª╧ª╤ª╚ííª╥ª╙ª╨ª╘ª╪ª╓ª╫ª╞'
- db 'ªíªóª«ªñªÑª╡ªúªºª⌐ííª¬ª½ª¼'
- db 'ª¡ª»ª▒ª¿ííª▓ª│ª░ª┤ª╕ª╢ª╖ªª'
- EWenChr db 'QWERTYUIOP{}ASDFGHJKL:'
- db '"ZXCVBNM<>?'
- db 'qwertyuiop[]asdfghjkl;'
- db 27h, 'zxcvbnm,./'
- EWenTab db 'º½º╕º╡º¼ºªº»ºñº║º╗º⌐º╢º╝'
- db 'º╖º╜ºúºíº▒º▓º░º¡ºÑº¿º┐'
- db 'º┴º╣º│º«º¬º┤º╛ºóº└ºº'
- db 'º█ºΦºσº▄º╓º▀º╘ºΩºδº┘ºτº∞'
- db 'ºµºφº╙º╤ºßºΓºαº▌º╒º╪º∩'
- db 'º±ºΘºπº▐º┌ºΣºεº╥º≡º╫'
- ;
- TradeMark db '~e CHCS ', 0
- Author db ' ~s╓╨╣·║╜╠∞╚²╜¡╝»═┼╣½╦╛ '
- db '~eѰ:~s(0712)224933-521 ~e¿ε~s'
- AuName db '│┬╜¡─■ ',0
- ;
- Numb db ' ~e8~s', 0
- StrQu db '╟°╬╗10╟°', 0
- AttrStr db ' ~eF8~s', 0
- Arrow db ' [~kíⁿí²~s]', 0
- ;
- TmpCount dw 0
- TmpBuffer dw 64 dup(?)
- ;
- inCommand db 0
- inPrompt db 0
- KeyEnd db 0
- d1 db ?
- d2 db ?
- PmtNo db ?
- mark db ?
- oldkmode db ?
- kmodeBusy db 0
- reCommand db 0
- SymMark db 0
- pntr db ?
- cPntr dw ?
- ;
- KeyNum db ?
- KeyBuf db 12 dup(?)
- SameNum db ?
- SameBuf db 256 dup(?)
- CurKey dw ?
- LastKey dw ?
- tmpmode db ?
- cc1 db ?
- cc2 db ?
- CtrlShift db ?
- Int9Treated db 1
- ;
- pmtx db ?
- tmpattr db ?
- pmtxmax db 72
- bAttr db 70h
- nAttr db 01h
- kAttr db 0eh
- sAttr db 00h
- eAttr db 04h
- ;
- MyMode db 0
- TextMode db ?
- CurTextMode db ?
- DispMode db 3
- ;
- VideoCard db 0
- ;
- inColorText db 0
- inGrCursor db 1
- isTreatCC db 1
- DisplayOpen db 1
- ClockSwitch db 1
- TimeOut dw 900
- ;
- public ChcsPsp
- public ChcsEnv
- ;
- public OldInt08
- public OldInt09
- public OldInt10
- public OldInt13
- public OldInt16
- public OldInt1c
- public IntrBusy
- public inOld16
- ;
- public KeyinProc
- public ISentries
- ;
- public wHas
- public uHas
- public prHas
- public prFontHas
- ;
- public F8x8
- public F8x14
- public F8x16
- public FPntr
- ;
- public wProc
- public uProc
- public wLen
- public uLen
- ;
- public mode
- public QuHao
- ;
- public c
- public Int9Buf
- public pushin
- public popout
- public int9in
- ;
- public FHname
- public ModeMSG
- public KeyMSG
- public SysMSG
- public DispMSG
- public DigMSG
- public PadMSG
- public dStr
- public sym
- public sch1
- public sch2
- public ScanCode
- public PadCode
- public KeyCode
- public XiLaTab
- public EWenChr
- public EWenTab
- public TradeMark
- public Author
- public AuName
- public Numb
- public StrQu
- public AttrStr
- public Arrow
- public TmpBuffer
- public TmpCount
- public inCommand
- public inPrompt
- public KeyEnd
- public d1
- public d2
- public PmtNo
- public mark
- public oldkmode
- public kmodeBusy
- public reCommand
- public SymMark
- public pntr
- public cPntr
- ;
- public KeyNum
- public KeyBuf
- public SameNum
- public SameBuf
- public CurKey
- public LastKey
- public tmpmode
- public cc1
- public cc2
- public CtrlShift
- public Int9Treated
- ;
- public pmtx
- public tmpattr
- public pmtxmax
- public bAttr
- public nAttr
- public kAttr
- public sAttr
- public eAttr
- ;
- public MyMode
- public TextMode
- public CurTextMode
- public DispMode
- public VideoCard
- ;
- public inColorText
- public inGrCursor
- public isTreatCC
- public DisplayOpen
- public ClockSwitch
- public TimeOut
- ;
- code ends
- end
-