home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 January (DVD)
/
VPR980100.ISO
/
DRIVER
/
IBM
/
VW200
/
VW200_2.EXE
/
VWSAMPLE
/
VW200DEF.INC
< prev
next >
Wrap
Text File
|
1995-11-01
|
10KB
|
207 lines
ifndef VW200DEF_INC
define VW200DEF_INC
;
; Work area
;
define StartSRAM 0f000h ; local memory start
define EndSRAM 0f100h ; local memory end(+1)
define StartERAM 100000h ; extend memory start
define EndERAM (StartERAM+20000h) ; extend memory end(+1)
define UserSERAM (StartERAM+210h) ; user vector start
define UserEERAM (StartERAM+300h) ; user vector end(+1)
define SysWork StartSRAM ; system work start
define HardConf 0ff00h ; I/O memory start
define UserApp1 UserSERAM ; User application vector 1
define UserApp2 (UserApp1+4) ; " 2
define UserApp3 (UserApp2+4) ; " 3
define UserApp4 (UserApp3+4) ; " 4
define UserInt1 (UserSERAM+10h) ; User interrupt vector 1
define UserInt2 (UserInt1+4) ; " 2
define UserInt3 (UserInt2+4) ; " 3
define UserInt4 (UserInt3+4) ; " 4
; User application information 1
define UserName1 (UserSERAM+20h) ; program name
define UserCSize1 (UserName1+8) ; program code size
define UserWAddr1 (UserCSize1+4) ; work data address
define UserWSize1 (UserWAddr1+4) ; work data size
define UserAAddr1 (UserWSize1+4) ; actual data address
define UserASize1 (UserAAddr1+4) ; actual data size
define UserReserved1 (UserASize1+4) ; reserved
; User application information 2
define UserName2 (UserSERAM+40h) ; program name
define UserCSize2 (UserName2+8) ; program code size
define UserWAddr2 (UserCSize2+4) ; work data address
define UserWSize2 (UserWAddr2+4) ; work data size
define UserAAddr2 (UserWSize2+4) ; actual data address
define UserASize2 (UserAAddr2+4) ; actual data size
define UserReserved2 (UserASize2+4) ; reserved
; User application information 3
define UserName3 (UserSERAM+60h) ; program name
define UserCSize3 (UserName3+8) ; program code size
define UserWAddr3 (UserCSize3+4) ; work data address
define UserWSize3 (UserWAddr3+4) ; work data size
define UserAAddr3 (UserWSize3+4) ; actual data address
define UserASize3 (UserAAddr3+4) ; actual data size
define UserReserved3 (UserASize3+4) ; reserved
; User application information 4
define UserName4 (UserSERAM+80h) ; program name
define UserCSize4 (UserName4+8) ; program code size
define UserWAddr4 (UserCSize4+4) ; work data address
define UserWSize4 (UserWAddr4+4) ; work data size
define UserAAddr4 (UserWSize4+4) ; actual data address
define UserASize4 (UserAAddr4+4) ; actual data size
define UserReserved4 (UserASize4+4) ; reserved
define UserEnh1 (UserSERAM+0a0h) ; User enhance vector 1
define UserEnh2 (UserEnh1+4) ; " 2
define UserEnh3 (UserEnh2+4) ; " 3
define UserEnh4 (UserEnh3+4) ; " 4
; screen work(TC-100 compatible mode)
define TC_Buffer (StartERAM+300h) ; initial display area
define TC_XSize 12 ; screen width
define TC_MaxXSize 24 ; virtual-screen width
define TC_YSize 3 ; screen column
define TC_MaxYSize 5 ; virtual-screen column
define TC_CharWidth 6 ; character width
; screen work(VW-200 mode)
define VW_Buffer (EndERAM-0c00h) ; virtual-screen buffer area
define VW_Attribute (VW_Buffer+200h) ; virtual-screen attribute area
define VW_V_XSize 24 ; screen width(vertical/no line space)
define VW_V_YSize 20 ; screen column(vertical/no line space)
define VW_VL_YSize 17 ; screen column(vertical/line space)
define VW_H_XSize 40 ; screen width(horizontal/no line space)
define VW_H_YSize 12 ; screen column(horizontal/no line space)
define VW_HL_YSize 10 ; screen column(horizontal/line space)
define VW_CharWidth 8 ; character width(SBCS)
define VW_KanjiWidth 16 ; character width(DBCS)
define VW_CharColumn 16 ; character column(SBCS/DBCS no line-space)
define VW_CharColumnL 18 ; character column(SBCS/DBCS line-space)
;
; SC Bit assign
;
define zero 01h ; zero
define carry 02h ; carry
define overflow 04h ; overflow
define negative 08h ; negative
define decimal 10h ; decimal
define unpack 20h ; unpack
define intlevel0 00h ; I0,1 level0
define intlevel1 40h ; level1
define intlevel2 80h ; level2
define intlevel3 0c0h ; level3(NMI only)
;
; System mode
;
define SYS_POWER 80h ; power 1=ON 0=OFF
define SYS_SAVE 40h ; power save 1=POWER SAVE 0=NORMAL
define SYS_LCDSTOP 20h ; LCD update 1=NO REFRESH 0=NORMAL
define SYS_LCDSTOPU 10h ; " for user 1=NO REFRESH 0=NORMAL
define SYS_SAVELOCK 0fh ; power save lock(nesting level 15)
;
; I/O mode
;
define IOM_DBLWID 80h ; wide screen 1=24x5 0=12x3
define IOM_CSRSTP 80h ; cursor stop 1=STOP 0=NORMAL
define IOM_CSRUSE 40h ; cursor 1=ON 0=OFF
define IOM_CSRREV 20h ; cursor mode 1=REVERSE 0=NORMAL
define IOM_REPEAT 02h ; repeat mode 1=REPEAT 0=SINGLE
define IOM_INSERT 01h ; insert mode 1=INSERT 0=NORMAL
define IOM_TC100 00h ; TC-100 compatible screen (default)
define IOM_VW200 10h ; VW-200 mode -+
define IOM_VW200V 00h ; vertical |
define IOM_VW200H 08h ; horizontal +- or selection
define IOM_VW200B 00h ; no line space |
define IOM_VW200L 04h ; line space -+
;
; LCD hardware define
;
define LCDRAM1 080000h ; VRAM1 address 1
define LCDRAM2 080100h ; VRAM2 address 2
define LCDPage1 0a0000h ; Page register 1
define LCDPage2 0a0001h ; Page register 2
define LCDDirPort 0a0002h ; LCD direction control
define LCDDirBit 80h ; LCD direction flag
define LCDPowerPort (HardConf+76h) ; LCD power control port (R37)
define LCDPowerBit 80h ; LCD power control bit (R37)
;
; key hardware define
;
define KeyData (HardConf+54h) ; port key-data
define KeyStrobe (HardConf+75h) ; port key-strobe
define KeyLStrobe 20h ; key-strobe (low 8key:R25)
define KeyMStrobe 40h ; " (middle 8key:R26)
define KeyHStrobe 80h ; " (high 8key:R27)
;
; clock define
;
define CLK_SETUP 40h ; time ready flag
define CLK_12H 80h ; 12/24 select (ON=12hour)
;
; System mode (for VW-200)
;
define VSM_SILENT 80h ; silent mode ON=SILENT OFF=NORMAL
define VSM_CLICK 01h ; key click ON=CLICK USE OFF=NO CLICK
;
; Alarm flag
;
define ALM_USE 80h ; alarm use ON=VALID OFF=INVALID
define ALM_OVER 40h ; alarm over ON=OVER OFF=NORMAL
define ALM_SET 01h ; alarm set ON=SET OFF=RESET
;
; macro define
;
EOI macro add,flg ; EOI End Of Interrupt
ld br,#high HardConf
ld [br:low add],flg
endm
DI macro ; DI Disable Interrupt
push sc
or sc,#intlevel3
endm
EI macro ; EI Enable Interrupt
pop sc
endm
CarryOn macro ; carry-flag set
or sc,#carry
endm
CarryOff macro ; carry-flag reset
and sc,#~carry
endm
Zero macro ; zero-flag set
or sc,#zero
endm
NoneZero macro ; zero-flag reset
and sc,#~zero
endm
endif ;VW200DEF_INC