home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 2: PC
/
frozenfish_august_1995.bin
/
bbs
/
d03xx
/
d0396.lha
/
PBar
/
PBar.asm
< prev
next >
Wrap
Assembly Source File
|
1990-10-29
|
17KB
|
852 lines
; PBar V1.0
; By Preben Nielsen
; OPT O+
; OPT O1+ ;Tells when a branch could be optimised to short
; OPT i+ ;Tells when '#' is probably missing
incdir "INCLUDE:"
include "exec/exec_lib.i"
include "graphics/graphics_lib.i"
include "intuition/intuition.i"
include "intuition/intuition_lib.i"
include "libraries/dos.i"
include "libraries/dosextens.i"
include "libraries/dos_lib.i"
include "workbench/workbench.i"
include "workbench/icon_lib.i"
NL =0
PSID =0
MSID =1
STRID =2
CREATEID =3
PStartx =26
PStarty =50
MStartx =26
MStarty =106
BoxSizex =12
BoxSizey =6
StartX =0
StartY =2
SizeX =4
SizeY =6
SpaceX =8
SpaceY =10
Cols =12
Rows =14
Buffer =16
ColorSet =20
ColorClr =22
LoadBase MACRO
IFNC '\1','ExecBase'
movea.l \1(PC),A6
ENDC
IFC '\1','ExecBase'
movea.l 4.W,A6
ENDC
ENDM
CallLib MACRO
jsr _LVO\1(A6)
ENDM
Call MACRO
bsr \1
ENDM
Push MACRO
movem.l \1,-(SP)
ENDM
Pop MACRO
movem.l (SP)+,\1
ENDM
Gadget MACRO
dc.l \1
dc.w \2,\3,\4,\5,\6,\7,\8
ENDM
Gadget2 MACRO
dc.l \1,\2,\3,\4,\5
dc.w \6
dc.l \7
ENDM
Border MACRO
dc.w \1,\2
dc.b \3,\4,\5,\6
dc.l \7,\8
ENDM
IntuiText MACRO
dc.b \1,\2,\3,0
dc.w \4,\5
dc.l TxtAttr1,\6,\7
ENDM
SECTION PBAR,CODE
Init Push D0-D7/A0-A6
LoadBase ExecBase
suba.l A1,A1
CallLib FindTask ;Find us
movea.l D0,A2
tst.l pr_CLI(A2)
bne.S CLIAndWBStartup
WBenchStartup lea pr_MsgPort(A2),A0
CallLib WaitPort ;wait for a message
lea pr_MsgPort(A2),A0
CallLib GetMsg ;then get it
move.l D0,WBenchMsg ;save it for later reply
CLIAndWBStartup lea DosName(PC),A1
CallLib OldOpenLibrary
move.l D0,DosBase
beq.S Exit
lea GfxName(PC),A1
CallLib OldOpenLibrary
move.l D0,GfxBase
beq.S Exit
lea IntName(PC),A1
CallLib OldOpenLibrary
move.l D0,IntBase
beq.S Exit
LoadBase IntBase
lea NW(PC),A0
CallLib OpenWindow
move.l D0,PWindow
movea.l D0,A0
beq.S Exit
move.l wd_RPort(A0),Rp ;save RastPort
lea WinTitle(PC),A1
lea ScrTitle(PC),A2
CallLib SetWindowTitles
bra.S Main
Exit
FreeWindow LoadBase IntBase
move.l PWindow(PC),D0
beq.S FreeIntui
movea.l D0,A0
CallLib CloseWindow
FreeIntui LoadBase ExecBase
move.l IntBase(PC),D0
beq.S FreeGfx
movea.l D0,A1
CallLib CloseLibrary
FreeGfx move.l GfxBase(PC),D0
beq.S FreeDos
movea.l D0,A1
CallLib CloseLibrary
FreeDos move.l DosBase(PC),D0
beq.S ReplyWB
movea.l D0,A1
CallLib CloseLibrary
ReplyWB move.l WBenchMsg(PC),D0
beq.S AllDone
CallLib Forbid
movea.l D0,A1
CallLib ReplyMsg ;Reply WBenchMessage if we are started from WB
AllDone Pop D0-D7/A0-A6
moveq #0,D0
rts
Main Call DrawPatBoxes
Call DrawMaskBoxes
Call FillPatBoxes
Call FillMaskBoxes
RefreshPart move.w PCopy,Pattern
move.w MCopy,Mask
Call DrawPat
Call DrawMask
Call DrawActiveBar
Call DrawGhostedBar
GetNextMsg LoadBase ExecBase
movea.l PWindow(PC),A0
movea.l wd_UserPort(A0),A0
CallLib WaitPort
movea.l PWindow(PC),A0
movea.l wd_UserPort(A0),A0
CallLib GetMsg
tst.l D0
beq.S GetNextMsg
GotAMessage movea.l D0,A1
move.l im_Class(A1),D3
move.l im_IAddress(A1),IAddress
move.w im_MouseX(A1),MouseX
move.w im_MouseY(A1),MouseY
CallLib ReplyMsg
DecodeMessage cmpi.l #CLOSEWINDOW,D3
beq Exit
cmpi.w #GADGETUP,D3
beq.S DoGadget
cmpi.w #GADGETDOWN,D3
bne.S GetNextMsg
DoGadget movea.l IAddress(PC),A1
move.w gg_GadgetID(A1),D0 ;GadgetID
lsl.l #1,D0
move.w GJ(PC,D0.W),D0
jmp GJ(PC,D0.W)
GJ dc.w PSelect-GJ
dc.w MSelect-GJ
dc.w DoSaveAs-GJ
dc.w DoChange-GJ
* User clicked on the 'Active Pattern drawing area' gadget
PSelect lea PatBoxes(PC),A5
bra.S DoSelect
* User clicked on the 'Ghost Mask drawing area' gadget
MSelect lea MaskBoxes(PC),A5
DoSelect Call ClearBarPat
FindMousePos move.w MouseX(PC),D5
move.w MouseY(PC),D6
sub.w StartX(A5),D5
sub.w StartY(A5),D6
ext.l D5
ext.l D6
move.w SizeX(A5),D2
move.w SizeY(A5),D3
add.w SpaceX(A5),D2
add.w SpaceY(A5),D3
divu D2,D5
divu D3,D6
ext.l D5
ext.l D6
movea.l Buffer(A5),A1
adda.l D6,A1
adda.l D6,A1
moveq #15,D3
sub.w D5,D3
mulu Cols(A5),D6
add.l D6,D5
move.w (A1),D2
bchg D3,D2
move.w D2,(A1)
bchg D3,D2
bne.S SetPMBit
ClearPMBit move.w ColorClr(A5),D0
bra.S DoCom
SetPMBit move.w ColorSet(A5),D0
DoCom Call SetPenA
Call SetField
bra RefreshPart
;The user pressed RETURN in the 'Save as' gadget
DoSaveAs lea Pattern,A0
lea PatCopy(PC),A1
moveq #7,D0
PatLoop move.w (A0)+,(A1)+
dbf D0,PatLoop
lea Mask,A0
lea MaskCopy(PC),A1
moveq #3,D0
MaskLoop move.w (A0)+,(A1)+
dbf D0,MaskLoop
lea CharBuf(PC),A0
LoadBase DosBase
move.l A0,D1
move.l #MODE_NEWFILE,D2
CallLib Open
move.l D0,D7
beq.S DoneSave
move.l D7,D1
lea PBar(PC),A0
move.l A0,D2
move.l #PBarEnd-PBar,D3
CallLib Write
move.l D7,D1
CallLib Close
move.l ITxtCreate+12(PC),D0
lea TxtCreate1(PC),A1
cmp.l A1,D0
bne.S DoneSave
Call CreateIcon
LoadBase ExecBase ;Save Icon
lea IconName(PC),A1
CallLib OldOpenLibrary
move.l D0,D7
beq.S DoneSave
lea CharBuf(PC),A0
lea MyDiskObject(PC),A1
move.l D7,A6
CallLib PutIcon
LoadBase ExecBase
move.l D7,A1
CallLib CloseLibrary
DoneSave bra GetNextMsg
;The user clicked the 'Save WITH(OUT) Icon' gadget
DoChange lea ITxtCreate+it_IText(PC),A0
lea TxtCreate1(PC),A1
lea TxtCreate2(PC),A2
move.l (A0),D0
cmp.l A2,D0
beq.S Change
move.l A2,A1
Change move.l A1,(A0)
moveq #1,D0
lea CreateGad(PC),A0
movea.l PWindow(PC),A1
suba.l A2,A2
LoadBase IntBase
CallLib RefreshGList
bra GetNextMsg
DrawPatBoxes lea PatBoxes(PC),A5
bra.S DrawBoxes
DrawMaskBoxes lea MaskBoxes(PC),A5
;A5=structure
DrawBoxes Push D0-D7/A0-A1
Call SetAPen1
LoadBase GfxBase
move.w StartX(A5),D0
move.w Cols(A5),D2
subq.w #1,D2
ColLoop move.w StartY(A5),D1
move.w Rows(A5),D3
subq.w #1,D3
RowLoop Push D0-D5/A5
move.w D0,D2
move.w D1,D3
moveq #0,D0
moveq #2,D1
move.w SizeX(A5),D4
move.w SizeY(A5),D5
lea ImageData,A0
movea.l Rp(PC),A1
CallLib BltTemplate ;BltTemplate((APTR)AltFont,8,192,rp,x,y,8,8);
Pop D0-D5/A5
add.w SizeY(A5),D1
add.w SpaceY(A5),D1
dbf D3,RowLoop
add.w SizeX(A5),D0
add.w SpaceX(A5),D0
dbf D2,ColLoop
EndColLoop Pop D0-D7/A0-A1
rts
FillPatBoxes lea PatBoxes(PC),A5
bra.S FillPMBoxes
FillMaskBoxes lea MaskBoxes(PC),A5
FillPMBoxes movea.l Buffer(A5),A4
moveq #0,D1
FillPMLoop move.w (A4)+,D0
Call FillWORD
addq.w #1,D1
cmp.w Rows(A5),D1
bne.S FillPMLoop
rts
;D0=word, D1=row, A5=structure
FillWORD Push D0-D7/A0-A1
move.l D0,D7
move.l D1,D6
move.w Cols(A5),D4
move.w D4,D3
subq.w #1,D4
FillWORDLoop move.l D6,D5
mulu D3,D5
add.w D3,D5
subq.w #1,D5
sub.w D4,D5
btst D4,D7
beq.S ClearBit
SetBit move.w ColorSet(A5),D0
bra.S ContWORDLoop
ClearBit move.w ColorClr(A5),D0
ContWORDLoop Call SetPenA
Call SetField
dbf D4,FillWORDLoop
Pop D0-D7/A0-A1
rts
;D5=number, A5=structure
SetField Push D0-D7/A0-A1
move.l D5,D0
divu Cols(A5),D0
move.w D0,D1 ;Row
swap D0 ;Col
ext.l D0
ext.l D1
move.w SizeX(A5),D2
move.w SizeY(A5),D3
add.w SpaceX(A5),D2
add.w SpaceY(A5),D3
mulu D2,D0
mulu D3,D1
add.w StartX(A5),D0
add.w StartY(A5),D1
move.l D0,D2
move.l D1,D3
addq.w #4,D0
addq.w #2,D1
subq.w #3,D2
subq.w #2,D3
add.w SizeX(A5),D2
add.w SizeY(A5),D3
movea.l Rp(PC),A1
LoadBase GfxBase
CallLib RectFill
Pop D0-D7/A0-A1
rts
ClearBarPat suba.l A0,A0
moveq #0,D0
bra.S SetPattern
SetActivePat lea Pattern+2,A0
moveq #3,D0
bra.S SetPattern
SetGhostPat lea Mask+2,A0
moveq #2,D0
SetPattern movea.l Rp(PC),A1
move.l A0,rp_AreaPtrn(A1)
move.b D0,rp_AreaPtSz(A1)
rts
DrawPat Call SetActivePat
lea PatBoxes(PC),A5
moveq #40,D6
moveq #47,D7
bra.S DrawPM
DrawMask Call SetGhostPat
lea MaskBoxes(PC),A5
moveq #100,D6
moveq #103,D7
DrawPM Call SetDrMd1
move.w ColorSet(A5),D0
Call SetPenA
move.w ColorClr(A5),D0
Call SetPenB
move.w #160,D0
move.w D6,D1
move.w #175,D2
move.w D7,D3
LoadBase GfxBase
movea.l Rp(PC),A1
CallLib RectFill
rts
DrawActiveBar moveq #28,D7
DrawAGB Call DrawBack
Call SetActivePat
Call SetDrMd1
Call SetAPen0
Call SetBPen1
Call DrawBar
rts
DrawGhostedBar moveq #114,D7
Call DrawAGB
Call SetGhostPat
Call SetDrMd0
Call SetAPen1
Call SetBPen0
Call DrawBar
rts
;D7=x-offset
DrawBack Call ClearBarPat
Call SetAPen1
Call SetDrMd1
move.w D7,D0
subq.w #2,D0
moveq #23,D1
move.w D7,D2
addi.w #72,D2
moveq #32,D3
bra.S FillRect
;D7=x-offset
DrawBar move.w D7,D0
moveq #24,D1
move.w D7,D2
addi.w #70,D2
moveq #31,D3
FillRect LoadBase GfxBase
movea.l Rp(PC),A1
CallLib RectFill
rts
SetAPen0 moveq #0,D0
bra.S SetPenA
SetAPen1 moveq #1,D0
bra.S SetPenA
SetAPen2 moveq #2,D0
SetPenA movea.l Rp(PC),A1 ;D0=Color
LoadBase GfxBase
CallLib SetAPen
rts
SetBPen0 moveq #0,D0
bra.S SetPenB
SetBPen1 moveq #1,D0
SetPenB movea.l Rp(PC),A1 ;D0=Color
LoadBase GfxBase
CallLib SetBPen
rts
SetDrMd0 moveq #0,D0
bra.S SetMdDr
SetDrMd1 moveq #1,D0
SetMdDr movea.l Rp(PC),A1 ;D0=Mode
LoadBase GfxBase
CallLib SetDrMd
rts
; Create an icon that shows the new-made pattern
CreateIcon lea PatCopy+2(PC),A5
lea IconData+19(PC),A4
moveq #6,D0
Call PutData
lea PatCopy(PC),A5
moveq #0,D0
Call PutData
rts
PutData
CreateLoop move.l A4,A1
move.l A5,A2
move.b (A1),D1
lsl.l #8,D1
move.b 1(A1),D1
lsl.l #8,D1
move.b 2(A1),D1
lsl.l #8,D1
move.b 3(A1),D1
andi.l #%11111110000000000000000000000000,D1
move.b (A2),D2
lsl.l #8,D2
move.b 1(A2),D2
lsl.l #8,D2
move.b (A2),D2
lsl.l #1,D2
not.l D2
andi.l #%00000001111111111111111111111111,D2
or.l D2,D1
move.b D1,3(A1)
lsr.l #8,D1
move.b D1,2(A1)
lsr.l #8,D1
move.b D1,1(A1)
lsr.l #8,D1
move.b D1,(A1)
addq.w #2,A5
add.w #16,A4
dbf D0,CreateLoop
rts
DosName dc.b 'dos.library',0
GfxName dc.b 'graphics.library',0
IntName dc.b 'intuition.library',0
IconName dc.b 'icon.library',0
EVEN
IAddress dc.l 0
MouseX dc.w 0
MouseY dc.w 0
StartSP dc.l 0
DosBase dc.l 0
GfxBase dc.l 0
IntBase dc.l 0
WBenchMsg dc.l 0
PWindow dc.l 0
Rp dc.l 0 ;RastPort
Up dc.l 0 ;UserPort
EVEN
;--- Window and gadgets
NW dc.w 220,15,220,167
dc.b 0,1
dc.l GADGETUP!GADGETDOWN!CLOSEWINDOW,WINDOWCLOSE!WINDOWDRAG!WINDOWDEPTH!ACTIVATE,GadgetList,0,0,0,0
dc.w 0,0,0,0,WBENCHSCREEN
BWIDTH =198
BHEIGHT =11
BBorder Border -2,-1,3,0,1,9,BVectors,NL
BVectors dc.w 2,0,BWIDTH+1,0,BWIDTH+3,2,BWIDTH+3,BHEIGHT-1,BWIDTH+1,BHEIGHT+1,2,BHEIGHT+1,0,BHEIGHT-1,0,2,2,0
PWIDTH =22
PHEIGHT =12
PBorder Border 129,-13,1,0,1,9,PVectors,NL
PVectors dc.w 2,0,PWIDTH+1,0,PWIDTH+3,2,PWIDTH+3,PHEIGHT-1,PWIDTH+1,PHEIGHT+1,2,PHEIGHT+1,0,PHEIGHT-1,0,2,2,0
MWIDTH =22
MHEIGHT =8
MBorder Border 129,-9,1,0,1,9,MVectors,NL
MVectors dc.w 2,0,MWIDTH+1,0,MWIDTH+3,2,MWIDTH+3,MHEIGHT-1,MWIDTH+1,MHEIGHT+1,2,MHEIGHT+1,0,MHEIGHT-1,0,2,2,0
STRWIDTH =135
STRHEIGHT =10
StrBorder Border -3,-2,3,0,1,9,StrBVectors,NL
StrBVectors dc.w 2,0,STRWIDTH,0,STRWIDTH+2,2,STRWIDTH+2,STRHEIGHT,STRWIDTH,STRHEIGHT+2,2,STRHEIGHT+2,0,STRHEIGHT,0,2,2,0
GadgetList
PSGad Gadget MSGad,PStartx,PStarty,16*(BoxSizex-2),8*(BoxSizey-1),GADGHNONE,GADGIMMEDIATE,BOOLGADGET
Gadget2 PBorder,NL,ITxtAP,NL,NL,PSID,NL
MSGad Gadget StrGad,MStartx,MStarty,16*(BoxSizex-2),4*(BoxSizey-1),GADGHNONE,GADGIMMEDIATE,BOOLGADGET
Gadget2 MBorder,NL,ITxtGM,NL,NL,MSID,NL
StrGad Gadget CreateGad,75,133,STRWIDTH,STRHEIGHT,GADGHCOMP,RELVERIFY,STRGADGET
Gadget2 StrBorder,NL,ITxtSaveAs,NL,StrInfo,STRID,NL
CreateGad Gadget NL,11,149,BWIDTH,BHEIGHT,GADGHCOMP,RELVERIFY,BOOLGADGET
Gadget2 BBorder,NL,ITxtCreate,NL,NL,CREATEID,NL
StrInfo dc.l CharBuf,NL
dc.w NL,60,NL,NL,NL,NL,NL,NL
dc.l NL,NL,NL
CharBuf dcb.b 60,0
EVEN
ITxtAP IntuiText 1,0,1,-6,-9,TxtAP,ITxtAB
ITxtGM IntuiText 1,0,1,-6,-9,TxtGM,NL
ITxtAB IntuiText 1,0,1,2,-35,TxtAB,ITxtGB
ITxtGB IntuiText 1,0,1,90,-35,TxtGB,NL
ITxtSaveAs IntuiText 1,0,1,-65,0,TxtSaveAs,NL
ITxtCreate IntuiText 1,0,1,34,2,TxtCreate1,NL
ScrTitle dc.b 'PBar V1.0 by Preben Nielsen in 1990. This is Public Domain',0
WinTitle dc.b 'PBar V1.0',0
TxtAP dc.b "'Active' Pattern",0
TxtGM dc.b "'Ghost' Mask",0
TxtAB dc.b "'Active'",0
TxtGB dc.b "'Ghosted'",0
TxtSaveAs dc.b 'Save as',0
TxtCreate1 dc.b ' Save WITH Icon ',0
TxtCreate2 dc.b 'Save WITHOUT Icon',0
FontName dc.b 'topaz.font',0
EVEN
TxtAttr1 dc.l FontName
dc.w TOPAZ_EIGHTY
dc.b FS_NORMAL,FPB_ROMFONT
PatBoxes dc.w PStartx,PStarty ;posx,posy
dc.w BoxSizex,BoxSizey ;width,height
dc.w -2,-1 ;spacex,spacey
dc.w 16,8 ;cols,rows
dc.l Pattern+2 ;buffer
dc.w 0,1
MaskBoxes dc.w MStartx,MStarty
dc.w BoxSizex,BoxSizey
dc.w -2,-1
dc.w 16,4
dc.l Mask+2
dc.w 1,0
; This rest is for the icon
MyDiskObject dc.w WB_DISKMAGIC,WB_DISKVERSION
dc.l 0
dc.w 0,0,115,10
dc.w GADGIMAGE!GADGHCOMP,RELVERIFY!GADGIMMEDIATE,BOOLGADGET
dc.l IconImage,0,0,0,0
dc.w 0
dc.l 0
dc.b WBTOOL,0
dc.l 0,0,100,40,0,0,0
IconImage dc.w 0,0 ; LeftEdge, TopEdge
dc.w 115,10 ; Width, Height
dc.w 2 ; Depth
dc.l IconData ; ImageData
dc.b 3,0 ; PlanePick, PlaneOnOff
dc.l 0 ; Next Image
IconData ; Plane 0
dc.w $f3ff
dc.w $ffcf
dc.w $ffff
dc.w $ffe7
dc.w $ffff
dc.w $e3ff
dc.w $fff3
dc.w $e000
dc.w $f300
dc.w $00cf
dc.w $ffff
dc.w $ffe6
dc.w $0007
dc.w $e300
dc.w $03f3
dc.w $e000
dc.w $f33f
dc.w $fcce
dc.w $0000
dc.w $00e6
dc.w $7fe7
dc.w $e300
dc.w $0033
dc.w $e000
dc.w $f33f
dc.w $fcce
dc.w $0000
dc.w $00e6
dc.w $6000
dc.w $6303
dc.w $ff33
dc.w $e000
dc.w $f33c
dc.w $3ccf
dc.w $ffff
dc.w $ffe6
dc.w $6000
dc.w $6303
dc.w $ff33
dc.w $e000
dc.w $f33c
dc.w $3ccf
dc.w $ffff
dc.w $ffe6
dc.w $6000
dc.w $6303
dc.w $ff33
dc.w $e000
dc.w $f33f
dc.w $fcce
dc.w $0000
dc.w $00e6
dc.w $0000
dc.w $6303
dc.w $ff33
dc.w $e000
dc.w $f33f
dc.w $fcce
dc.w $0000
dc.w $00e7
dc.w $e000
dc.w $63f3
dc.w $ff33
dc.w $e000
dc.w $f300
dc.w $00cf
dc.w $ffff
dc.w $ffe7
dc.w $e000
dc.w $63f0
dc.w $0033
dc.w $e000
dc.w $f3ff
dc.w $ffcf
dc.w $ffff
dc.w $ffe7
dc.w $ffff
dc.w $e3ff
dc.w $fff3
dc.w $e000
; Plane 1
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $00ff
dc.w $fc00
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $00f0
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $1fff
dc.w $80f0
dc.w $0000
dc.w $0000
dc.w $0003
dc.w $c000
dc.w $0000
dc.w $0000
dc.w $1fff
dc.w $80f0
dc.w $0000
dc.w $0000
dc.w $0003
dc.w $c000
dc.w $0000
dc.w $0000
dc.w $1fff
dc.w $80f0
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $1fff
dc.w $80f0
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $1fff
dc.w $8000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $1fff
dc.w $8000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
dc.w $0000
* This is to be written to disk as an executable file
* The code contains no absolute references
PBar dc.l $000003F3,$00000000,$00000001,$00000000
dc.l $00000000,$00000030,$000003E9,$00000030
dc.l $48E7FFFE,$2C780004,$93C94EAE,$FEDA2440
dc.l $4AAA00AC,$661641EA,$005C4EAE,$FE8041EA
dc.l $005C4EAE,$FE8C23C0,$000000A2,$43FA0062
dc.l $4EAEFE68,$2A404A80,$673043ED,$031641FA
dc.l $00667017,$12D851C8,$FFFC2C4D,$286D003C
dc.l $200C6716,$266C0004,$200B670A,$20404EAE
dc.l $FE382653,$60F22854,$60E62C78,$0004200D
dc.l $67062240,$4EAEFE62,$203A0028,$670A4EAE
dc.l $FF7C2240,$4EAEFE86,$4CDF7FFF,$70004E75
dc.l $696E7475,$6974696F,$6E2E6C69,$62726172
dc.l $79000000
dc.w $0000
PatCopy dc.l $00000000,$FFFFFFFF,$00000000,$FFFFFFFF
MaskCopy dc.l $44441111,$44441111
dc.l $00000000,$03EC0000,$00010000,$0000000,$00280000
dc.w $0000,$0000,$03F2
PBarEnd
SECTION IMAGEDATA,DATA_C ;Image-data has to be in CHIP-RAM
Pattern dc.l $00000000,$FFFFFFFF,$00000000,$FFFFFFFF
PCopy dc.w $0000
Mask dc.l $44441111,$44441111
MCopy dc.w $4444
ImageData dc.w %1111111111110000
dc.w %1100000000110000
dc.w %1100000000110000
dc.w %1100000000110000
dc.w %1100000000110000
dc.w %1111111111110000
END