antoine-source/appleworksgs/WP/Src/Rulers.aii
2023-03-04 03:45:20 +01:00

1 line
24 KiB
Plaintext
Executable File

load 'macros.dump'
include 'driver.equ'
include 'wp.equ'
;-----------------------------------------------
;
; Imported addresses
;
;-----------------------------------------------
IMPORT W_CheckWells
IMPORT D_DrawIcon
IMPORT W_InvertBitBox
IMPORT W_OneRulClick
IMPORT D_SelectFont
IMPORT D_Set4Pat
IMPORT W_SetFullREct
IMPORT W_SetRulRect
IMPORT W_SetStatBit
;-----------------------------------------------
;
; Forward addresses and entries
;
;-----------------------------------------------
ENTRY W_Box1
ENTRY W_BoxAdTable
ENTRY W_BoxLocTable
ENTRY W_DTabPc
ENTRY W_DrawTabs
ENTRY W_IndentPc
ENTRY W_LTabPc
ENTRY W_MargPc
ENTRY W_RTabPc
ENTRY W_RulOffset
ENTRY W_RulPinfo
ENTRY W_RulPRect
ENTRY W_RulPattern
ENTRY W_RulRect
ENTRY W_tabrect
ENTRY W_TabWell
ENTRY W_VisRuler
ENTRY W_vr_end
ENTRY W_vr_indentm
ENTRY W_vr_leftm
ENTRY W_vr_numtabs
ENTRY W_vr_rightm
ENTRY W_vr_status
ENTRY W_vr_tablist
entry W_r_changes
entry W_oldnumtabs
****************************************************************
* ;
* AppleWorks GS word processor RULERS ;
*______________________________________________________________*
* ;
* CONTENTS: ;
* W_DrawRuler ;
* W_InitVisRuler(ruler:l) ;
* W_MakeVisRuler(ruler:l) ;
* W_RulerClick(taskrec:l) -> changed:w ;
* W_ModifyRuler(ruler:l) ;
* W_RulerData ;
* ;
****************************************************************
********************************************************************
*
*
* includes
*
*
*
* Wednesday, May 3, 1989 5:14:23 AM
********************************************************************
****************************************************************
*
* W_DrawRuler -- draw W_VisRuler at the top of the screen
*
****************************************************************
W_DrawRuler PROC EXPORT
;Using W_RulerData
local count:w,temp:w
begin +b
jsl W_SetRulRect
_PenNormal
pushword #LightYellow
jsl D_Set4Pat
pushlong #W_RulRect
_PaintRect
_PenNormal
pushword #0 ; draw ruler's bottom Q_Line
pushword W_RulRect+4
_MoveTo
pushword W_RulRect+6
pushword #0
_Line
pushlong #W_RulPinfo ; ---- DRAW THE HASH MARKS ----
pushlong #W_RulPRect ; first three inches...
pushword W_RulOffset
pushword #3
pushword #notCopy
_PPtoPort
pushlong #W_RulPinfo ; ...second three inches...
pushlong #W_RulPRect
addword W_RulOffset,#240,s
pushword #3
pushword #notCopy
_PPtoPort
pushlong #W_RulPinfo ; ...and third three inches!
pushlong #W_RulPRect
addword W_RulOffset,#480,s
pushword #3
pushword #notCopy
_PPtoPort
movelong #0,ax ; use the system font
ldy #0 ; (black)
jsl D_SelectFont
addword W_RulOffset,#10,s ; ---- DRAW THE NUMBERS ----
pushword #8
_MoveTo
pushword #4 ; fore copy
_SetTextMode
pushword #0 ; black
_SetForeColor
pushword #3 ; white, I guess
_SetBackColor
moveword #'1',count
loop pushword #72 ; move to the next number's position
pushword #0
_Move
pushword count ; draw the number
_DrawChar
inc count
cmpw count,#'9' ; done?
ble loop
jsl W_DrawTabs ; Draw the margins and W_Tabs
stz count ; ---- DRAW THE BOXES AND TABWELLS ----
loop2 lda count
asl a
asl a
tax
cmpl W_BoxAdTable:x,#0 ; draw one box
beq nomore
pushlong W_BoxAdTable:x
pushlong W_BoxLocTable:x
pushword #$8000 ; not copy
jsl D_DrawIcon
inc count
bra loop2
nomore stz count ; ---- INVERT THE STATUS BOXES ----
lda W_vr_status
and #W_r_defined ; just look at the defined bits
sta temp
invloop lda temp
beq fillwells
clc
ror temp ; is the bit set?
bcc noinv
pushword count
jsl W_InvertBitBox
noinv inc count
bra invloop
fillwells cmpw W_vr_numtabs,#W_maxTabs ; ---- FILL THE TAB WELLS ----
beq notabs
pushlong #W_LTabPc ; Put W_Tabs in the wells if there are
pushword #W_t1+W_THoff ; less than 10 W_Tabs on the ruler.
pushword #W_welltop
pushword #NotBic
jsl D_DrawIcon
pushlong #W_DTabPc
pushword #W_t2+W_THoff
pushword #W_welltop
pushword #NotBic
jsl D_DrawIcon
pushlong #W_RTabPc
pushword #W_t3+W_THoff
pushword #W_welltop
pushword #NotBic
jsl D_DrawIcon
notabs jsl W_SetFullREct
return
ENDP
****************************************************************
*
* W_DrawTabs -- draw the margin and tab markers
*
****************************************************************
W_DrawTabs PROC EXPORT
;Using W_RulerData
local count:w
begin +b
pushlong #W_MargPc ; ---- DRAW THE MARGINS ----
addword W_vr_leftm,#W_TabOffset,s
pushword #W_tabtop
pushword #NotBic
jsl D_DrawIcon
pushlong #W_IndentPc
addword W_vr_indentm,#W_TabOffset,s
pushword #W_tabtop
pushword #NotBic
jsl D_DrawIcon
pushlong #W_MargPc
addword W_vr_rightm,#W_TabOffset,s
pushword #W_tabtop
pushword #NotBic
jsl D_DrawIcon
stz count ; ---- DRAW THE W_Tabs ----
tloop cmpw count,W_vr_numtabs
jeq endtloop
lda count
asl a
asl a
tax
lda W_vr_tablist+W_ort_Type,x
bmi decimal
beq left
pushlong #W_RTabPc
bra gottype
left pushlong #W_LTabPc
bra gottype
decimal pushlong #W_DTabPc
gotType lda W_vr_tablist+W_ort_Location,x
clc
adc #W_TabOffset
pha
pushword #W_tabtop
pushword #NotBic
jsl D_DrawIcon
inc count
brl tloop
endtloop return
ENDP
****************************************************************
*
* W_InitVisRuler(ruler:l) -- copy a D_New W_Handle into W_VisRuler
*
****************************************************************
W_InitVisRuler PROC EXPORT
;Using W_RulerData
input ruler:l
begin +b
pushlong [ruler]
pushlong #W_VisRuler
pushlong #W_or_EndRulRec
_BlockMove
return
ENDP
****************************************************************
*
* W_MakeVisRuler(ruler:l) -- copy a D_New ruler into W_VisRuler and
* D_Update the screen as little as possible
*
****************************************************************
W_MakeVisRuler PROC EXPORT
;Using W_RulerData
input ruler:l
local rptr:l,stat:w,bits:w,count:w,temp:l
begin +b
jsl W_SetRulRect
movelong [ruler],rptr
moveword [rptr]:#W_or_Status,stat
cmpw stat,W_vr_status
jeq samestat
lda stat ; Check the widow bit
eor W_vr_status
and #W_r_widow
beq samewidow
pushword #3 ; If they're different,
jsl W_SetStatBit ; make them the same
samewidow lda stat
and #W_r_spacing ; check spacing
sta bits
lda W_vr_status
and #W_r_spacing
cmp bits
jeq samespace
stz count ; which one is set in the D_New one?
loop1 lsr bits
bcs gotit1
inc count
bra loop1
gotit1 pushword count ; set it!
jsl W_SetStatBit
samespace lda stat
and #W_r_just ; check justification
sta bits
lda W_vr_status
and #W_r_just
cmp bits
jeq samestat
stz count
loop2 lsr bits
bcs gotit2
inc count
bra loop2
gotit2 pushword count
jsl W_SetStatBit
samestat cmpw [rptr]:#W_or_LeftM,W_vr_leftm ; is the tab Q_Line
jne redotabs ; different?
cmpw [rptr]:#W_or_IndentM,W_vr_indentm
jne redotabs
cmpw [rptr]:#W_or_RightM,W_vr_rightm
jne redotabs
cmpw [rptr]:#W_or_NumTabs,W_vr_numtabs
jne redotabs
stz count ; check each tab in the lists
addlong rptr,#W_or_TabList,temp
tloop lda count ; if I've gone through the whole list,
cmp W_vr_numtabs ; the rulers are the same!
jeq nevermind
asl a
asl a
tay
cmpw [temp]:y,W_vr_tablist:y
bne redotabs
inx
inx
cmpw [temp]:y,W_vr_tablist:y
bne redotabs
inc count
bra tloop
redotabs moveword W_vr_numtabs,W_oldnumtabs
pushlong ruler ; copy in the ruler
jsl W_InitVisRuler
_PenNormal ; erase the old W_Tabs
pushword #LightYellow
jsl D_Set4Pat
pushlong #W_tabrect
_PaintRect
jsl W_DrawTabs ; draw the D_New W_Tabs
jsl W_CheckWells ; redraw the tab wells?
nevermind jsl W_SetFullREct
return
ENDP
****************************************************************
*
* W_RulerClick(taskrec:l) -> changed:w -- W_Handle a D_MouseDown
* event (or a series of them) in W_VisRuler
*
****************************************************************
W_RulerClick PROC EXPORT
;Using W_RulerData
input taskrec:l
output diff:w
local mypoint:l
begin +b
jsl W_SetRulRect
stz diff
click movelong [taskrec]:#10,mypoint
pushlong !mypoint
_GlobalToLocal
spaceword ; is the mouse in the ruler?
pushlong !mypoint
pushlong #W_RulRect
_PtInRect
pla
jeq bye ; si non, faire do-do!
inruler stz W_r_changes
spaceword
pushlong mypoint
jsl W_OneRulClick
pla ; accumulated changes, if any.
ora diff
sta diff
eatmup_yum spaceword ; eat the D_MouseUp
pushword #4 ; D_MouseUp only
pushlong taskrec
_GetNextEvent
pla
beq eatmup_yum
teststuff moveword [taskrec]:#14,a
and #$0200 ; Is the shift W_Key down?
jeq bye ; if not, go bye bye.
addlong taskrec,#10,s
_GlobalToLocal
spaceword ; is the mouse still in the ruler?
addlong taskrec,#10,s
pushlong #W_RulRect
_PtInRect
pla
jeq bye ; faire do-do!
spaceword
pushword #$ffff
pushlong taskrec
_EventAvail
pla
jeq teststuff ; no event -- keep looping (maybe)
cmpw [taskrec],#1 ; D_MouseDown?
bne bye
spaceword
pushword #2 ; get only the D_MouseDown
pushlong taskrec
_GetNextEvent
pla
jne click ; (just in case)
bye jsl W_SetFullREct
return
ENDP
****************************************************************
*
* W_ModifyRuler(ruler:l) -- modify a ruler just like the user
* modified vixruler last W_Time
*
****************************************************************
W_ModifyRuler PROC EXPORT
;Using W_RulerData
input ruler:l
local rptr:l,bits:w,taboff:w,tabno:w
begin +b
jsl W_SetRulRect
movelong [ruler],rptr
lda W_r_changes ; check the left margin
and #W_ch_left
jeq sameleft
moveword W_vr_leftm,[rptr]:#W_or_LeftM
sameleft lda W_r_changes ; check the right margin
and #W_ch_right
jeq sameright
moveword W_vr_rightm,[rptr]:#W_or_RightM
sameright lda W_r_changes ; check the W_Indent margin
and #W_ch_indent
jeq sameindent
moveword W_vr_indentm,[rptr]:#W_or_IndentM
sameindent lda W_r_changes ; check the W_Tabs
and #W_ch_tabs
jeq sametabs
pushlong #W_vr_numtabs
addlong rptr,#W_or_NumTabs,s
pushlong #W_vr_end-W_vr_numtabs
_BlockMove
sametabs ldy #W_or_Status ; ---- CHECK STATUS ----
lda W_r_changes ; check the widow bit
and #W_r_widow
jeq samewidow
lda W_vr_status
and #W_r_widow
sta bits
lda [rptr],y
and #$ffff-W_r_widow
ora bits
sta [rptr],y
samewidow lda W_r_changes ; check the justification bits
and #W_r_just
jeq samejust
lda W_vr_status
and #W_r_just
sta bits
lda [rptr],y
and #$ffff-W_r_just
ora bits
sta [rptr],y
samejust lda W_r_changes ; check the spacing bits
and #W_r_spacing
jeq samespace
lda W_vr_status
and #W_r_spacing
sta bits
lda [rptr],y
and #$ffff-W_r_spacing
ora bits
sta [rptr],y
samespace cmpw [rptr]:#W_or_RightM,[rptr]:#W_or_IndentM ; ---- LEGALIZE
jgt indentok ; MARGINS ----
pushword [rptr]:#W_or_RightM
moveword [rptr]:#W_or_IndentM,[rptr]:#W_or_RightM
pullword [rptr]:#W_or_IndentM
indentok cmpw [rptr]:#W_or_RightM,[rptr]:#W_or_LeftM
jgt leftok
pushword [rptr]:#W_or_RightM
moveword [rptr]:#W_or_LeftM,[rptr]:#W_or_RightM
pullword [rptr]:#W_or_LeftM
leftok
; Legalize W_Tabs
Moveword #W_or_TabList,taboff
moveword #0,tabno
tabloop cmpw tabno,[rptr]:#W_or_NumTabs
jge endtabloop
; Compare current tab to left margin
cmpw [rptr]:taboff,[rptr]:#W_or_LeftM
jge tableftok
jsr trashtab
bra tabloop
; Copmare current tab to right margin
tableftok
cmpw [rptr]:taboff,[rptr]:#W_or_RightM
jlt tabinc
jsr trashtab
brl tabloop
tabinc AddWord taboff,#4,taboff
inc tabno
brl tabloop
endtabloop
jsl W_SetFullREct
return
trashtab
pushword tabno
pushword taboff
inc tabno
trashloop cmpw tabno,[rptr]:#W_or_NumTabs
jge donetrashloop
addword taboff,#4,y
moveword [rptr]:y,[rptr]:taboff
inc tabno
addword taboff,#4,taboff
bra trashloop
donetrashloop pullword taboff
pullword tabno
moveword [rptr]:#W_or_NumTabs,a
dec a
moveword a,[rptr]:#W_or_NumTabs
rts
ENDP
****************************************************************
*
* W_RulerData
*
****************************************************************
W_RulerData PROC EXPORT
EXPORT StdRuler
EXPORT W_StdTabList
EXPORT W_RulRect
EXPORT W_RulOffset
EXPORT W_VisRuler
EXPORT W_vr_reserved
EXPORT W_vr_status
EXPORT W_vr_leftm
EXPORT W_vr_indentm
EXPORT W_vr_rightm
EXPORT W_vr_numtabs
EXPORT W_vr_tablist
EXPORT W_vr_end
EXPORT W_BoxAdTable
EXPORT W_BoxLocTable
EXPORT W_tabrect
EXPORT W_RulPinfo
EXPORT W_RulPRect
EXPORT W_RulPattern
EXPORT W_BoxW
EXPORT W_Box1
EXPORT W_Box2
EXPORT W_Box3
EXPORT W_Box4
EXPORT W_Box5
EXPORT W_Box6
EXPORT W_TabWell
EXPORT W_TabIcons
EXPORT W_MargPc
EXPORT W_IndentPc
EXPORT W_LTabPc
EXPORT W_RTabPc
EXPORT W_DTabPc
EXPORT W_NothingPc
*--------------------------------------------------------------*
* Definition of ruler record (et al.) ;
*--------------------------------------------------------------*
StdRuler ; ; ---- THE STANDARD RULER ----
DS.B 2 ; D_Reserved
DC.W W_r_left+W_r_single ; status
DC.W 40 ; left margin
DC.W 40 ; W_Indent margin
DC.W 560 ; right margin
DC.W 1 ; number of W_Tabs
W_StdTabList
DC.W 350 ; tab location
DC.W W_rt_left ; tab type
DS.B 4*W_maxTabs-4 ; (other W_Tabs could go here!)
*--------------------------------------------------------------*
* Ruler drawing parameters ;
*--------------------------------------------------------------*
W_RulRect DC.W 0,0,W_RulWdth,W_RulLength
W_RulOffset DC.W -40 ; how far to the right is zero?
Export W_r_changes
Export W_oldnumtabs
W_r_changes DC.W 0
W_oldnumtabs DC.W 0 ; old number of W_Tabs (in W_VisRuler)
W_VisRuler ; ; ---- THE VISIBLE RULER ----
W_vr_reserved DS.B 2 ; D_Reserved
W_vr_status DC.W W_r_left+W_r_single ; status
W_vr_leftm DC.W 40 ; left margin
W_vr_indentm DC.W 40 ; W_Indent margin
W_vr_rightm DC.W 560 ; right margin
W_vr_numtabs DC.W 1 ; number of W_Tabs
W_vr_tablist ; ; ---- THE VISIBLE TAB LIST ----
DC.W 350 ; tab location
DC.W W_rt_left ; tab type
DS.B 4*W_maxTabs-4 ; other W_Tabs could go here!
W_vr_end
*--------------------------------------------------------------*
* 'Box' location info ;
*--------------------------------------------------------------*
W_BoxAdTable
DC.L W_Box1,W_Box2,W_Box3,W_BoxW,W_Box4,W_Box5,W_Box6,W_Box1
DC.L W_TabWell,W_TabWell,W_TabWell,0
W_BoxLocTable
DC.W W_boxtop,100,W_boxtop,150,W_boxtop,200
DC.W W_boxtop,20
DC.W W_boxtop,400,W_boxtop,450,W_boxtop,500,W_boxtop,550
DC.W W_welltop,W_t2,W_welltop,W_t1,W_welltop,W_t3
W_tabrect
DC.W W_tabtop,0,W_boxtop,640
*--------------------------------------------------------------*
* Pixel images, etc. ;
*--------------------------------------------------------------*
W_RulPinfo
DC.B $80
DC.B 0
DC.L W_RulPattern
DC.W 60
W_RulPRect
DC.W 0,0,7,240
W_RulPattern
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$11,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$11,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11
DC.B $d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11,$d1,$11,$11,$11,$11
DC.B $d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11
DC.B $d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11
DC.B $d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11
DC.B $d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11
DC.B $d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11
DC.B $d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11,$d1,$11,$1d,$11,$11
DC.B $d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11
DC.B $d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11
DC.B $d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11,$d1,$31,$1d,$13,$11
;RulPattern72 dc h'd11111111111111111111111111111111111'
; dc h'd11111111111111111111111111111111111'
; dc h'd11111111111111111111111111111111111'
;
; dc h'd11111111111111111111111111111111111'
; dc h'd11111111111111111111111111111111111'
; dc h'd11111111111111111111111111111111111'
;
; dc h'd11111111111111111d11111111111111111'
; dc h'd11111111111111111d11111111111111111'
; dc h'd11111111111111111d11111111111111111'
;
; dc h'd11111111d11111111d11111111d11111111'
; dc h'd11111111d11111111d11111111d11111111'
; dc h'd11111111d11111111d11111111d11111111'
;
; dc h'd11131111d11131111d11131111d11131111'
; dc h'd11131111d11131111d11131111d11131111'
; dc h'd11131111d11131111d11131111d11131111'
;
; dc h'd11131111d11131111d11131111d11131111'
; dc h'd11131111d11131111d11131111d11131111'
; dc h'd11131111d11131111d11131111d11131111'
;
; dc h'dddddddddddddddddddddddddddddddddddd'
; dc h'dddddddddddddddddddddddddddddddddddd'
; dc h'dddddddddddddddddddddddddddddddddddd'
W_BoxW
DC.W 0,0,12,42
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$10
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$33,$30,$00,$00,$00,$00,$0c,$cc,$0d,$d0
DC.B $30,$30,$0f,$ff,$ff,$ff,$ff,$f0,$0c,$0d,$d0
DC.B $30,$30,$00,$00,$00,$00,$00,$00,$0c,$0d,$d0
DC.B $30,$30,$0f,$ff,$ff,$ff,$ff,$f0,$0c,$0d,$d0
DC.B $30,$30,$00,$00,$00,$00,$00,$00,$0c,$0d,$d0
DC.B $30,$30,$0f,$ff,$ff,$ff,$ff,$f0,$0c,$0d,$d0
DC.B $30,$33,$30,$00,$00,$00,$00,$0c,$cc,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$d0
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$d0
W_Box1
DC.W 0,0,12,42
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$10
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$d0
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$d0
W_Box2
DC.W 0,0,12,42
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$10
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$d0
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$d0
W_Box3
DC.W 0,0,12,42
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$10
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$d0
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$d0
W_Box4
DC.W 0,0,12,42
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$10
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$f0,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f0,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$d0
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$d0
W_Box5
DC.W 0,0,12,42
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$10
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$0f,$ff,$ff,$ff,$ff,$ff,$ff,$f0,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$00,$3f,$ff,$ff,$fc,$00,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$03,$ff,$ff,$ff,$ff,$ff,$ff,$c0,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$ff,$ff,$ff,$ff,$ff,$ff,$00,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$d0
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$d0
W_Box6
DC.W 0,0,12,42
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$10
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$03,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$00,$0f,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $30,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$0d,$d0
DC.B $30,$00,$00,$00,$00,$00,$00,$00,$00,$0d,$d0
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$d0
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$d0
W_TabWell
DC.W 0,0,8,30
DC.B $3d,$11,$11,$11,$11,$11,$3d,$11
DC.B $3d,$d1,$11,$11,$11,$11,$3d,$d1
DC.B $3d,$d1,$11,$11,$11,$11,$3d,$d1
DC.B $3d,$d1,$11,$11,$11,$11,$3d,$d1
DC.B $3d,$d1,$11,$11,$11,$11,$3d,$d1
DC.B $3d,$d1,$11,$11,$11,$11,$3d,$d1
DC.B $3f,$ff,$ff,$ff,$ff,$ff,$fd,$d1
DC.B $11,$dd,$dd,$dd,$dd,$dd,$dd,$d1
W_TabIcons
DC.L W_DTabPc,W_LTabPc,W_RTabPc,W_MargPc,W_IndentPc,W_MargPc
W_MargPc
DC.W 0,0,5,10
DC.B $ff,$0f,$ff
DC.B $f0,$00,$ff
DC.B $00,$00,$0f
DC.B $ff,$ff,$ff
DC.B $ff,$ff,$ff
W_IndentPc
DC.W 0,0,5,10
DC.B $ff,$4f,$ff
DC.B $ff,$4f,$ff
DC.B $ff,$4f,$ff
DC.B $f4,$44,$ff
DC.B $44,$44,$4f
W_LTabPc
DC.W 0,0,5,10
DC.B $ff,$4f,$ff
DC.B $ff,$44,$ff
DC.B $ff,$44,$4f
DC.B $ff,$44,$ff
DC.B $ff,$4f,$ff
W_RTabPc
DC.W 0,0,5,10
DC.B $ff,$4f,$ff
DC.B $f4,$4f,$ff
DC.B $44,$4f,$ff
DC.B $f4,$4f,$ff
DC.B $ff,$4f,$ff
W_DTabPc
DC.W 0,0,5,10
DC.B $ff,$4f,$ff
DC.B $f4,$44,$ff
DC.B $f4,$f4,$ff
DC.B $f4,$44,$ff
DC.B $ff,$4f,$ff
W_NothingPc
DC.W 0,0,5,10
DC.B $11,$11,$11
DC.B $11,$11,$11
DC.B $11,$11,$11
DC.B $11,$11,$11
DC.B $11,$11,$11
ENDP
END