home *** CD-ROM | disk | FTP | other *** search
- ;
- ; File......: TMENU.INC
- ; Author....: Ted Means
- ; Date......: $Date: 14 Jun 1991 19:55:04 $
- ; Revision..: $Revision: 1.1 $
- ; Log file..: $Logfile: E:/nanfor/src/tmenu.inv $
- ;
- ; This is an original work by Ted Means and is placed in the
- ; public domain.
- ;
- ; Modification history:
- ; ---------------------
- ;
- ; $Log: E:/nanfor/src/tmenu.inv $
- ;
- ; Rev 1.1 14 Jun 1991 19:55:04 GLENN
- ; Minor edit to file header
- ;
- ; Rev 1.0 01 Apr 1991 01:03:58 GLENN
- ; Nanforum Toolkit
- ;
- ;
-
-
- ; --------------------------------------
- ; Include file for TMENU.ASM
- ; --------------------------------------
-
-
- Struc MI
- PrNum DW ? ; Prompt identifier
-
- PrAtt DB ? ; Prompt attribute
- PrLoc DW ? ; Prompt screen location
- PrLen DW ? ; Prompt length
- PrOfs DW ? ; Prompt offset
- PrSeg DW ? ; Prompt segment
-
- LBarAtt DB ? ; Attribute of light bar
- LBHKAtt DB ? ; Attribute of hotkey when under
- ; light bar
-
- MsgAtt DB ? ; Message attribute
- MsgLoc DW ? ; Message screen location
- MsgLen DW ? ; Message length
- MsgOfs DW ? ; Message offset
- MsgSeg DW ? ; Message segment
-
- BufOfs DW ? ; Pointer to buffer containing
- BufSeg DW ? ; screen contents before the
- ; message was displayed
-
- HKeyVal DB ? ; Value of hotkey
- HKeyAtt DB ? ; Attribute of hotkey
- HKeyLoc DW ? ; Location of hotkey on screen
-
- Up DW ? ; Target if up arrow hit
- Down DW ? ; Target if down arrow hit
- Right DW ? ; Target if right arrow hit
- Left DW ? ; Target if left arrow hit
-
- NextOfs DW ? ; Offset of next item
- NextSeg DW ? ; Segment of next item
- Ends MI
-
- NodePtr EQU DWord Ptr BP - 4 ; Resolves to current node in
- ; linked list
- NodeSeg EQU Word Ptr BP - 2
- NodeOfs EQU Word Ptr BP - 4
-
- MenuItem EQU (MI ES:BX) ; Makes for easier syntax
-
- PrPtr EQU DWord Ptr MenuItem.PrOfs
-
- MsgPtr EQU DWord Ptr MenuItem.MsgOfs
-
- BufPtr EQU DWord Ptr MenuItem.BufOfs
-
- NextPtr EQU DWord Ptr MenuItem.NextOfs
-
- SnowFlag EQU 1
-
- KeepFlag EQU 2
-
- ColdFlag EQU 4
-
- WrapFlag EQU 8
-
- HotFlag EQU 16
-
- SKFlag EQU 32
-
- Flags EQU Word Ptr BP - 6
-
- Active EQU Word Ptr BP - 8
-
- VideoBase EQU Word Ptr BP - 10
-
- Last EQU Word Ptr BP - 12
-
- TablePtr EQU DWord Ptr BP - 16
- TableOfs EQU Word Ptr BP - 16
- TableSeg EQU Word Ptr BP - 14
-
- SetKeys EQU DWord Ptr BP - 20
- SKOfs EQU Word Ptr BP - 20
- SKSeg EQU Word Ptr BP - 18
-
- SKCount EQU Word Ptr BP - 22
-
- ScanCode EQU Word Ptr BP - 24
-
- Macro CheckSnow
- Local Wait
-
- Push AX
- Wait: In AL,DX
- Test AL,8
- JZ Wait
- Pop AX
-
- Endm CheckSnow
-