	load 'macros.dump'
	include 'driver.equ'
	include 'wp.equ'

;-----------------------------------------------
;
;   Imported addresses
;
;-----------------------------------------------

	IMPORT	W_CalcLineHeight
	IMPORT	W_Caret
	IMPORT	W_CaretBot
	IMPORT	W_CaretTop
	IMPORT	W_CurDoc
	IMPORT	W_FirstPage
	IMPORT	W_FtrHt
	IMPORT	W_GetLRecPtr
	IMPORT	D_GetPrintHandle
	IMPORT	W_GetRgn
	IMPORT	W_Hand
	IMPORT	W_HdrHt
	
	IMPORT	W_HeaderBits
	IMPORT	D_KillFont
	IMPORT	D_MainZPage
	IMPORT	W_MakeCaretNS
	IMPORT	W_NumPgs
	IMPORT	W_OverRide
	IMPORT	W_PrHExtra
	IMPORT	W_PageSize
	IMPORT	W_PageStr
	IMPORT	W_PaperBot
	IMPORT	W_PaperSize
	IMPORT	W_PaperTop
	IMPORT	Q_Point
	IMPORT	W_Ptr
	IMPORT	W_ScrollBar
	IMPORT	D_SelectFont
	IMPORT	W_SetTopPage
	IMPORT	W_ShowRuler
	IMPORT	W_TopPg
	IMPORT	W_TopPgPixel
	IMPORT	D_UnLock
	IMPORT	W_UpdateText
	IMPORT	W_View
	IMPORT	D_Deref
	IMPORT	W_Handle
	IMPORT	W_PrHRes
	IMPORT	Q_Rect
	IMPORT	W_Selected

;-----------------------------------------------
;
;   Forward addresses and entries
;
;-----------------------------------------------

	ENTRY	W_CalcDocRect
	ENTRY	W_CalcScrollVals
	ENTRY	W_FOnPage
	ENTRY	W_GetTopSpace
	ENTRY	W_GotNewCtlVals
	ENTRY	W_HOnPage
	ENTRY	W_MakeNewTop
	ENTRY	W_MakeScrollBar
	ENTRY	W_ReadPrintRec
	ENTRY	W_ScreenChanged
	ENTRY	W_ScreenChangedNS
	ENTRY	W_ScrollBarProc
	ENTRY	W_SetDocRect
	ENTRY	W_SetFullREct

********************************************************************
*
*	includes
*
* Wednesday, May 3, 1989 12:26:44 AM
********************************************************************






****************************************************************
* W_InitScreen(window) - inits all the screen vars
W_InitScreen	PROC		EXPORT
			;Using wpglobals
		input window:l
		local PrHand:l,PrPtr:l
		begin

		spacelong
		pushlong window
		jsl D_GetPrintHandle
		jsl W_ReadPrintRec

		stz W_FirstPage
		lda #1
		sta W_TopPg
		sta W_NumPgs
		sta W_ShowRuler

		pha
		pha
		pushword #1
		pushword #0
		jsl W_GetLRecPtr
		pla
		plx
		jsl W_CalcLineHeight
		sta W_HdrHt
		sta W_FtrHt

		stz W_ScrollBar
		stz W_ScrollBar+2
		stz W_HeaderBits

		lda #1
		jsl W_GetTopSpace
		sta W_TopPgPixel

		jsl W_ScreenChanged

		return

		ENDP


****************************************************************
* W_ReadPrintRec
W_ReadPrintRec	PROC		EXPORT
			;Using WPGlobals
		input PrHand:l
		local PrPtr:l
		begin
W_prinfo	equ 2
W_rPaper	equ 16

		movelong PrHand,ax
		jsl D_Deref
		movelong ax,PrPtr

		moveword [PrPtr]:#W_prinfo+4,W_PrHRes
		subword [PrPtr]:#W_prinfo+10,[PrPtr]:#W_prinfo+6,W_PageSize
		subword [PrPtr]:#W_prinfo+6,[PrPtr]:#W_rPaper,W_PaperTop
		subword [PrPtr]:#W_prinfo+6,[PrPtr]:#W_rPaper,W_PrHExtra
		subword [PrPtr]:#W_rPaper+4,[PrPtr]:#W_prinfo+10,W_PaperBot
		clc
		adc W_PaperTop
		adc W_PageSize
		sta W_PaperSize

		movelong PrHand,ax
		jsl D_UnLock

		return

		ENDP


****************************************************************
* W_ScreenChanged - gets port Q_Rect and gens ScreenPixels,BotPg
* BotPgPixel, and W_ScrollBar
W_ScreenChanged	PROC		EXPORT
		begin

		jsl W_ScreenChangedNS

		jsl W_SetDocRect

		pushword #0
		jsl W_MakeScrollBar

		jsl W_SetFullREct

		return

		ENDP


W_ScreenChangedNS	PROC		EXPORT
			;Using WPGlobals
		begin

		jsl W_SetTopPage

		return

		ENDP


****************************************************************
* W_MakeScrollBar - resizes the current scroll bar (if not 0)
W_MakeScrollBar	PROC		EXPORT
			;Using ScreenData
			;Using W_SampleData
			;Using WpGlobals

		input clip:w
		local trect:r,W_Ptr:l,W_Hand:l
		begin

		cpzl W_ScrollBar
		beq NoKill

		movelong W_ScrollBar,W_Hand
		Movelong [W_Hand],W_Ptr
		movelong [W_Ptr]:#8,trect
		movelong [W_Ptr]:#8+4,trect+4
		addword trect+4,#W_PNumBoxHt,trect+4
		subword trect,#W_PNumBoxHt,trect

		pushlong !Trect
		_InvalRect

		pushlong W_ScrollBar
		_DisposeControl

NoKill

		pushlong !Trect
		_GetPortRect

		stz TRect+6

		lda clip
		bne SkipCL

		pushlong !Trect
		_ClipRect

SkipCL
		pushlong !Trect
		_GetPortRect

		subword trect+6,#W_SideWidth,Trect+2

		pushlong !Trect
		_InvalRect

		addword trect,#W_PNumBoxHt,Trect
		subword trect+4,#W_PNumBoxHt,Trect+4
		inc trect+6

		spacelong
		spacelong
		_getPort
		pushlong !TRect
		pushlong #0							;no title
		pushword #%00000011					;defines scroll bar
		pha
		pha
		pha
		jsl W_CalcScrollVals
;			  pushword CtlVal				;cluge for where to start
;			  pushword CtlView			   	;cluge
;			  pushword CtlData			   	;cluge
		pushlong #$06000000					;scroll bar
		pushlong #0							;no ref con
		pushlong #0					  		;standard color table
		_NewControl
		pullLong W_ScrollBar

		return

		ENDP


****************************************************************
* W_CalcScrollVals - returns val,W_View,Data
W_CalcScrollVals	PROC		EXPORT
			;Using WpGlobals
		local trect:r,ScreenPixels:w
		output Val:w,W_View:w,Data:w
		begin

		pushlong !Trect
		jsl W_CalcDocRect
		subword Trect+4,TRect,ScreenPixels

		lda W_NumPgs
		xba
		sta Data

		spacelong
		spacelong
		lda ScreenPixels
		xba
		and #$ff
		pha
		lda ScreenPixels
		xba
		and #$ff00
		pha
		pushword #0
		pushword W_PaperSize
		_LongDivide
		pla
		sta W_View
		pla
		pla
		pla

		spacelong
		spacelong
		lda W_TopPgPixel		   ;push W_TopPgPixel ; 256
		xba
		and #$ff
		pha
		lda W_TopPgPixel
		xba
		and #$ff00
		pha
		pushword #0
		pushword W_PaperSize
		_LongDivide
		pla
		sta Val
		pla
		pla
		pla
		short
		lda W_TopPg
		dec a
		sta Val+1
		long

		return

		ENDP



****************************************************************
* W_Caret On - draws W_Caret only if it's off
W_CaretOn	PROC		EXPORT
			;Using wpglobals
			;Using ScreenData
		EXPORT	CaretOff
		EXPORT	W_DrawCaret
		lda W_Caret
		bne COExit1
		inc W_Caret
		bra DoIt

COExit1	rtl

CaretOff		;		
		lda W_Caret
		beq CoExit1
		stz W_Caret

DoIt
W_DrawCaret		;		
		local W_Handle:l,W_Ptr:l,Q_Rect:r
		begin

		lda W_Selected
		bne COExit
		lda W_CaretBot
		beq COExit

		pha
		pha
		_getCliphandle
		pullLong W_Handle

		movelong [W_Handle],W_Ptr

		movelong [W_Ptr]:#2,Q_Rect
		movelong [W_Ptr]:#2+4,Q_Rect+4

		jsl W_SetDocRect

		_PenNormal

		pushword #notXOR
		_SetPenMode

		pushlong W_CaretTop
		_MoveTo

		pushlong W_CaretBot
		_LineTo

		pushlong !Q_Rect
		_ClipRect

COExit	return

		ENDP




****************************************************************
* W_CalcDocRect - returns doc Q_Rect
W_CalcDocRect	PROC		EXPORT
			;Using wpglobals
			;Using ScreenData
		input RectPtr:l
		begin

		pushlong RectPtr
		_GetPortRect

		ldx W_ShowRuler
		beq ItsHide
		lda #W_RulerHt
		ldy #2
		sta [RectPtr]

ItsHide
		subword [RectPtr]:#6,#W_SideWidth,[RectPtr]:#6

		return

		ENDP



****************************************************************
* W_SetRulRect
W_SetRulRect	PROC		EXPORT
			;Using ScreenData
			;Using wpglobals
		local Q_Rect:r
		begin

		pushlong !Q_Rect
		_GetPortRect

		subword Q_Rect+6,#W_SideWidth,Q_Rect+6
		subword Q_Rect+4,#W_RulerHt,Q_Rect+4

		pushlong !Q_Rect
		_ClipRect

		return

		ENDP


****************************************************************
* W_SetDocRect
W_SetDocRect	PROC		EXPORT
		local tRect:r
		begin

		pushlong !TRect
		jsl W_CalcDocRect

		pushlong !TRect
		_ClipRect

		return

		ENDP




**********************************************************
* W_DrawGrow
W_DrawGrow	PROC		EXPORT
			;Using ScreenData
		local TempRect:r
		begin

		pushlong #0
		pushlong #-1
		_SetCtlIcons

		_SetFont					   ;to font from ctl icons

		pushlong !TempRect
		_GetPortRect

		lda TempRect+4
		sec
		sbc #W_PNumBoxHt
		sta TempRect
		lda TempRect+6
		sec
		sbc #W_SideWidth
		sta TempRect+2
		pushlong !TempRect
		_EraseRect

		pushlong !TempRect
		_GetPortRect

		lda TempRect+6
		sec
		sbc #W_SideWidth
		pha
		lda TempRect+4
		sec
		sbc #W_PNumBoxHt
		pha
		_MoveTo

		_PenNormal
		pushword #2
		pushword #1
		_SetPenSize

		pushword #0
		pushword #W_PNumBoxHt
		_Line

		lda   TempRect+6
		sec
		sbc   #W_SideWidth
		pha
		lda TempRect
		pha
		_MoveTo

		pushword #0
		pushword #W_PNumBoxHt
		_Line

		lda TempRect+6
		sec
		sbc #W_SideWidth-3
		pha
		lda TempRect+4
		sec
		sbc #W_PNumBoxHt-1
		pha
		_MoveTo

		pushword #$10				  ;grow icon
		_DrawChar

		return

		ENDP



*************************************************************
* Draw the page number
W_DrawPgBox	PROC		EXPORT
			;Using WpGlobals
			;Using ScreenData
		local TempRect:r,size:w,UsePage:w,String:l
		begin

		movelong #StringPl,String

		addword W_TopPg,W_FirstPage,UsePage

		lda #0
		ldx #$800
		ldy #Black
		jsl D_SelectFont

		_penNormal

		pushlong !TempRect			 ;first erase the old value
		_getPortRect

		lda TempRect+6
		sec
		sbc #W_SideWidth-2
		sta TempRect+2
		lda TempRect
		clc
		adc #W_PNumBoxHt
		sta TempRect+4

		pushlong !TempRect
		_EraseRect

		lda #1
		sta StringPL
		sta size
		lda UsePage
		cmp #10
		bcc Set
		lda #2
		sta StringPL
		sta size

SEt
		pushword UsePage
		pushlong #StringPL+1
		pushword size
		pushword #0
		_Int2Dec

		lda W_View
		beq NoChange
		bmi DoF

		movelong #HStr,String
		bra NoChange

DoF
		movelong #FStr,String

NoChange
		pha
		pushlong String
		_StringWidth
		pullword size

		lda #W_SideWidth
		sec
		sbc size
		lsr a
		clc
		adc TempRect+2
		pha
		lda TempRect+4
		sec
		sbc   #2
		pha
		_MoveTo

		pushlong String
		_DrawString

		return

StringPl		DS.B 6

HStr	str 'H'
FStr	str 'F'

		ENDP


****************************************************************
* W_SetFullREct
W_SetFullREct	PROC		EXPORT
		local Q_Rect:r
		begin

		pushlong !Q_Rect
		_getPortRect

		pushlong !Q_Rect
		_ClipRect

		return

		ENDP

****************************************************************
* W_CalcGrowREct
W_CalcGrowREct	PROC		EXPORT
			;Using ScreenData
		input RectPtr:l
		begin

		pushlong RectPtr
		_GetPortRect

		ldy #4
		lda [RectPtr],y
		sec
		sbc #W_PNumBoxHt
		sta [RectPtr]
		ldy #6
		lda [RectPtr],y
		sec
		sbc #W_SideWidth
		ldy #2
		sta [RectPtr],y

		return

		ENDP


****************************************************************
* W_ScrollClick(taskRec):inScroll?
*
W_ScrollClick	PROC		EXPORT
			;Using wpglobals

		input TaskRec:l
		local Q_Point:l,Control:l
		output InScroll:w

		begin

		jsl D_KillFont

		pha
		pushlong #W_ScrollBar
		pushlong [TaskRec]:#oWhere
		pushlong W_CurDoc
		_FindControl
		pla
		sta InScroll
		beq SCExit

		jsl W_SetDocRect

		jsl CaretOff

		jsl W_SetFullREct

		pha
		pushlong [TaskRec]:#oWhere
		pushlong #W_ScrollBarProc
		pushlong W_ScrollBar
		_TrackControl
		pla

		jsl W_MakeCaretNS

SCExit

		jsl D_KillFont

		return

		ENDP



****************************************************************
* W_ScrollBarProc
W_ScrollBarProc	PROC		EXPORT
			;Using wpglobals

W_ScrollAmt	equ 40
		input part:w,control:l
		local trect:r,ScreenPixels:w
		local NewPixel:w,EndPixel:w,OldPage:l,NewPage:w,PageAmt:w
		output dummy:w
		begin +b

		pushlong !Trect
		jsl W_CalcDocRect
		subword Trect+4,TRect,ScreenPixels

		subword ScreenPixels,#10,PageAmt
		subword W_PaperSize,ScreenPixels,EndPixel
		movelong W_TopPg,OldPage		  ;does oldpixel too

		lda part
		jeq APExit
		cmp #$81
		jeq In_Thumb
		sec
		sbc #5
		asl a
		tax
		jmp (ActionTable,x)

ActionTable	DC.W	In_Up_Arrow,In_Down_Arrow
	DC.W	In_Page_Up,In_Page_Down

In_Up_Arrow
		lda W_TopPgPixel
		sec
		sbc #W_ScrollAmt
		sta W_TopPgPixel
		jpl GotNewTop
		clc
		adc W_PaperSize
		sta W_TopPgPixel
		dec W_TopPg
		jne GotNewTop
		moveword #1,W_TopPg
		stz W_TopPgPixel
		brl GotNewTop

In_Down_Arrow
		cmpw W_NumPgs,OldPage
		beq OnLastPage
		lda W_TopPgPixel
		clc
		adc #W_ScrollAmt
		sta W_TopPgPixel
		cmp W_PaperSize
		jcc GotNewTop
		sec
		sbc W_PaperSize
		sta W_TopPgPixel
		inc W_TopPg
		brl GotNewTop

OnLastPage
		lda W_TopPgPixel
		clc
		adc #W_ScrollAmt
		sta W_TopPgPixel
		cmp EndPixel
		jcc GotNewTop
		moveword EndPixel,W_TopPgPixel
		brl GotNewTop

In_Page_Up
		lda W_TopPgPixel
		sec
		sbc PageAmt
		sta W_TopPgPixel
		bpl GotNewTop
		clc
		adc W_PaperSize
		sta W_TopPgPixel
		dec W_TopPg
		jne GotNewTop
		moveword #1,W_TopPg
		stz W_TopPgPixel
		brl GotNewTop

In_Page_Down
		cmpw W_NumPgs,OldPage
		beq OnLastPage2
		lda W_TopPgPixel
		clc
		adc PageAmt
		sta W_TopPgPixel
		cmp W_PaperSize
		jcc GotNewTop
		sec
		sbc W_PaperSize
		sta W_TopPgPixel
		inc W_TopPg
		brl GotNewTop

OnLastPage2
		lda W_TopPgPixel
		clc
		adc PageAmt
		sta W_TopPgPixel
		cmp EndPixel
		bcc GotNewTop
		moveword EndPixel,W_TopPgPixel

GotNewTop
		jsl W_SetFullREct

		pha
		pha
		pha
		jsl W_CalcScrollVals
		pla
		pla
		pushlong control
		_SetCtlValue

In_Thumb

		pushlong OldPage
		jsl W_GotNewCtlVals

APExit
		return

		ENDP



****************************************************************
* W_GotNewCtlVals
W_GotNewCtlVals	PROC		EXPORT
			;Using wpglobals

		input OldPage:l
		local NewPixel:w
		begin

In_Thumb
		pha
		pushlong W_ScrollBar
		_GetCtlValue
		pullword NewPixel

		lda newpixel
		xba
		and #$ff
		inc a
		sta W_TopPg

		pha
		pha
		lda NewPixel
		and #$ff
		pha
		pushword W_PaperSize
		_Multiply
		pla
		and #$ff00
		ora 1,s				  ;divides
		ply
		xba
		sta W_TopPgPixel

		pushlong OldPage
		pushlong W_TopPg
		jsl W_MakeNewTop

		return

		ENDP




****************************************************************
* W_MakeNewTop
W_MakeNewTop	PROC		EXPORT
			;Using wpglobals

		input OldPage:l,TopPage:l
		local ScrollPix:w,Rgn:l,Q_Rect:r,trect:r,ScreenPixels:w
		
		begin

		pushlong !Trect
		jsl W_CalcDocRect
		subword Trect+4,TRect,ScreenPixels

		pushlong !Q_Rect
		jsl W_CalcDocRect

		lda W_OverRide
		stz W_OverRide
		tay
		jne UpdateWhole

		cmpw TopPage,OldPage
		bne No2test
		cmpw TopPage+2,OldPage+2
No2test	bcc NewIsAbove
		jeq APExit
;D_New Is below
		lda TopPage
		sec
		sbc OldPage
		beq SamePage
		cmp #2
		jcs UpDateWhole
		lda TopPage+2			;TopPixel
		clc
		adc W_PaperSize
		bra GotPixel

SamePage
		lda TopPage+2			;TopPixel
GotPixel
		pha
		lda OldPage+2			;old pixel
		sec
		sbc 1,s
		sta ScrollPix
		pla
		sec
		sbc ScreenPixels
		scmpw a,OldPage+2		;old pixel
		bcc DoScroll
		brl UpdateWhole


NewIsAbove
		lda OldPage
		sec
		sbc TopPage
		beq SamePage2
		cmp #2
		jcs UpDateWhole
		lda OldPage+2			;old Pixel
		clc
		adc W_PaperSize
		bra GotPixel2

SamePage2
		lda OldPage+2			;old Pixel
GotPixel2
		pha
		sec
		sbc TopPage+2			;TopPixel
		sta ScrollPix
		pla
		sec
		sbc ScreenPixels
		scmpw a,TopPage+2			;TopPixel
		bcc DoScroll
		brl UpdateWhole



DoScroll
		pushlong !Q_Rect
		pushword #0
		pushword ScrollPix
		jsl W_GetRgn
		movelong ax,Rgn
		phx
		pha
		_ScrollRect

		pushlong Rgn
		_SetClip

		bra W_DoUpDate


UpDateWhole
		pushlong !Q_Rect
		_ClipRect

W_DoUpDate

		pushlong !Q_Rect
		_EraseRect

		jsl W_ScreenChangedNS

		jsl W_UpdateText

		jsl W_SetFullREct

APExit
		jsl W_DrawPgBox

		return

		ENDP


****************************************************************
* W_GetTopSpace(Page:a):topspace:a
W_GetTopSpace	PROC		EXPORT
			;Using wpglobals

		ldy W_View
		beq DoSpace
		lda #0
		bra Done

DoSpace
		jsl W_HOnPage
		bcc IsOn

		lda W_PaperTop
		bra Done

IsOn

		addword W_PaperTop,W_HdrHt,a

Done
		rtl

		ENDP

****************************************************************
* W_GetPageSize(Page:a):W_PageSize:a
W_GetPageSize	PROC		EXPORT
			;Using wpglobals
			;Using D_GlobalData
W_CPage	equ 0
W_CSize	equ 2
		tax
		phd
		lda >D_MainZPage
		tcd
		stx W_CPage

		ldy W_View
		beq DoSpace
		moveword #W_HdrPixelLimit,W_CSize
		brl AllDone

DoSpace
		lda W_PaperSize
		sec
		sbc W_PaperTop
		sbc W_PaperBot
		sta W_CSize

		lda W_CPage
		jsl W_HOnPage
		bcs W_GotSize

		subword W_CSize,W_HdrHt,W_CSize

W_GotSize

		lda W_CPage
		jsl W_FOnPage
		bcs AllDone

		subword W_CSize,W_FtrHt,W_CSize

AllDone
		lda W_CSize
		pld
		rtl

		ENDP



****************************************************************
W_GetSpaceToFooter	PROC		EXPORT

		pha
		jsl W_GetTopSpace
		tax
		pla
		phx
		jsl W_GetPageSize
		clc
		adc 1,s
		ply

		rtl

		ENDP



****************************************************************
* Is a Header on page in acc.	cc=yes cs=no
W_HOnPage	PROC		EXPORT
			;Using wpglobals
		ldy W_View
		bne NotOn

		cmp #1
		bne NotFirst
		lda W_HeaderBits
		and #W_HSkipFirst
		bne NotOn
		lda #1

NotFirst
		clc
		adc W_FirstPage
		lsr a
		bcc CheckEven

		lda W_HeaderBits
		and #W_HonOdd
		bne IsOn
		bra NotOn

CheckEven

		lda W_HeaderBits
		and #W_HonEven
		bne IsOn
		bra NotOn

NotOn	sec
		rtl

IsOn	clc
		rtl

		ENDP

****************************************************************
* Is a Footer on page in acc.	cc=yes cs=no
W_FOnPage	PROC		EXPORT
			;Using wpglobals
		ldy W_View
		bne NotOn

		cmp #1
		bne NotFirst
		lda W_HeaderBits
		and #W_FSkipFirst
		bne NotOn
		lda #1

NotFirst
		clc
		adc W_FirstPage
		lsr a
		bcc CheckEven

		lda W_HeaderBits
		and #W_FonOdd
		bne IsOn
		bra NotOn

CheckEven

		lda W_HeaderBits
		and #W_FonEven
		bne IsOn
		bra NotOn

NotOn	sec
		rtl

IsOn	clc
		rtl

		ENDP




****************************************************************
W_CheckDocPos	PROC		EXPORT
			;Using wpglobals

		local Q_Rect:r,ssize:w
		begin

		pushlong !Q_Rect
		jsl W_CalcDocRect

		cmpw W_NumPgs,W_TopPg
		bcc ReDo

		lda Q_Rect+4
		cmp W_TopPgPixel
		jle NoChange				;theres a PageBreak present.
		
		subword Q_Rect+4,Q_Rect,ssize
		addword a,W_TopPgPixel,a
		cmp W_PaperSize
		bcc NoChange
		cmpw ssize,W_PaperSize
		bcs NoChange

ReDo
		jsl W_SetFullREct

		pushlong W_TopPg

		moveword W_NumPgs,W_TopPg
		subword W_PaperSize,ssize,W_TopPgPixel

		pha
		pha
		pha
		jsl W_CalcScrollVals
		pla
		pla
		pushlong W_ScrollBar
		_SetCtlValue

In_Thumb
		jsl W_SetDocRect

		jsl W_GotNewCtlVals

NoChange
		return

		ENDP


****************************************************************
W_MakePageStr	PROC		EXPORT
			;Using wpglobals

		input Num:w
		local size:w
		begin

		addword Num,W_FirstPage,Num

		lda #1
		sta W_PageStr
		sta size
		lda Num
		cmp #10
		bcc Set

		lda #2
		sta W_PageStr
		sta size
		lda Num
		cmp #100
		bcc Set

		lda #3
		sta W_PageStr
		sta size
		lda Num
		cmp #1000
		bcc set

		lda #4
		sta W_PageStr
		sta size

SEt
		pushword Num
		pushlong #W_PageStr+1
		pushword size
		pushword #0
		_Int2Dec

		return

		ENDP
		END

