GraphicFrames

Used Exports

BUILTINS: ABS BOOLEAN CHAR DEC INC INTEGER LONGINT NEW SET
Display: CopyPattern Dot Frame FrameDesc FrameDesc.H FrameDesc.W FrameDesc.X FrameDesc.Y FrameDesc.handle FrameMsg Height ReplConst ReplPattern Width black block cross grey invert paint replace white
Fonts: Font FontDesc.height FontDesc.minY GetPat
Graphics: Add CapMethod Caption CaptionDesc.len CaptionDesc.pos Change Copy Delete Deselect Draw DrawMac DrawSel GetLib Graph GraphDesc.changed GraphDesc.sel GraphDesc.time InstallDrawMethods Library Line LineMethod MacHead MacHeadDesc.h MacHeadDesc.w MacMethod Macro MacroDesc.mac MethodDesc.draw Move Msg Object ObjectDesc.col ObjectDesc.do ObjectDesc.h ObjectDesc.selected ObjectDesc.w ObjectDesc.x ObjectDesc.y SelectArea SelectObj T ThisMac ThisObj WriteFile width
Input: Mouse
MenuViewers: ModifyMsg ModifyMsg.H ModifyMsg.Y
Oberon: ControlMsg ControlMsg.id CopyMsg CopyMsg.F CurCol DrawMouse FadeMouse GetSelection InputMsg InputMsg.X InputMsg.Y InputMsg.ch InputMsg.col InputMsg.fnt InputMsg.id InputMsg.keys Log Marker Marker.Draw Marker.Fade PassFocus RemoveMarks SelectionMsg SelectionMsg.beg SelectionMsg.end SelectionMsg.text SelectionMsg.time consume defocus neutralize track
SYSTEM: ADR
Texts: Append Buffer Delete OpenReader OpenWriter Read Reader Reader.col Reader.fnt Text TextDesc.len Write WriteLn WriteString Writer Writer.buf Writer.col Writer.fnt
Viewers: Broadcast This

MODULE GraphicFrames; (*NW 18.4.88 / 18.11.2013*)
.MODULE GraphicFrames (KEY 84ABBF86, VERSION 1, SIZE 00003104)
.IMPORT Display (KEY 4C08D3EA)
.IMPORT Viewers (KEY 25ABF199)
.IMPORT Input (KEY 5DE391A8)
.IMPORT Fonts (KEY F4C9F557)
.IMPORT Texts (KEY 0B9E9984)
.IMPORT Files (KEY 73F5D686)
.IMPORT Graphics (KEY F7357DD9)
.IMPORT Modules (KEY 41C6A19A)
.IMPORT Oberon (KEY A89CCEE2)
.IMPORT MenuViewers (KEY 245ACC30)
.TYPEDESC 00000020 FFFFFFFF FFFFFFFF FFFFFFFF 00000008 FFFFFFFF 00000080 00018007 FFFFFFFF FFFFFFFF 00000048 0000001C 00000000 00000004 FFFFFFFF 00000020 0003C009 FFFFFFFF FFFFFFFF 00000000 FFFFFFFF 00000020 00054006 FFFFFFFF FFFFFFFF 00000008 00000004 FFFFFFFF 00000020 00070007 FFFFFFFF FFFFFFFF 00000004 00000000 FFFFFFFF 00000020 0008C007 FFFFFFFF FFFFFFFF 00000000 FFFFFFFF 00000020 000A4006 FFFFFFFF FFFFFFFF 00000000 FFFFFFFF 00000020 000BC006 FFFFFFFF FFFFFFFF 00000000 FFFFFFFF 00000020 000D4006 FFFFFFFF FFFFFFFF 00000010 FFFFFFFF
.DATA 50H
.STRING TABLE SKIPPED
.POINTER_REFERENCES 100H 104H 114H 118H 138H 12CH
.FIXUP T 36H
IMPORT SYSTEM, Display, Viewers, Input, Fonts, Texts, Graphics, Oberon, MenuViewers;
CONST (*update message ids*)
drawobj = 1; drawobjs = 2; drawobjd = 3;
drawnorm = 4; drawsel = 5; drawdel = 6;
markW = 5;
TYPE
Frame* = POINTER TO FrameDesc;
Location* = POINTER TO LocDesc;
LocDesc* = RECORD
x*, y*: INTEGER;
next*: Location
END ;
FrameDesc* = RECORD (Display.FrameDesc)
graph*: Graphics.Graph;
Xg*, Yg*: INTEGER; (*pos rel to graph origin*)
X1*, Y1*: INTEGER; (*right and upper margins*)
x*, y*, col*: INTEGER; (*x = X + Xg, y = Y + Yg*)
marked*, ticked*: BOOLEAN;
mark*: LocDesc
END ;
DrawMsg* = RECORD (Graphics.Msg)
f*: Frame;
x*, y*, col*, mode*: INTEGER
END ;
UpdateMsg = RECORD (Display.FrameMsg)
id: INTEGER;
graph: Graphics.Graph;
obj: Graphics.Object
END ;
ChangedMsg = RECORD (Display.FrameMsg)
f: Frame;
graph: Graphics.Graph;
mode: INTEGER
END ;
SelQuery = RECORD (Display.FrameMsg)
f: Frame; time: LONGINT
END ;
FocusQuery = RECORD (Display.FrameMsg)
f: Frame
END ;
PosQuery = RECORD (Display.FrameMsg)
f: Frame; x, y: INTEGER
END ;
DispMsg = RECORD (Display.FrameMsg)
x1, y1, w: INTEGER;
pat: INTEGER;
graph: Graphics.Graph
END ;
VAR Crosshair*: Oberon.Marker;
tack*, dotted*, dotted1*: INTEGER; (*patterns*)
newcap: Graphics.Caption;
TBuf: Texts.Buffer;
DW, DH, CL: INTEGER;
W: Texts.Writer;
(*Exported procedures:
Restore, Focus, Selected, This, Draw, DrawNorm, Erase,
DrawObj, EraseObj, Change, Defocus, Deselect, Macro, Open*)
PROCEDURE SetChangeMark(F: Frame; col: INTEGER); (*set mark in corner of frame*)
BEGINa
0000a .PROC 1
0000a(4EE9000C): SUB SP, SP, CH
0001a(AFE00000): STR LNK, SP, 0H
0002a(A0E00004): STR R0, SP, 4H
0003a(A1E00008): STR R1, SP, 8H
IF F.Hb > 16 THENc
0004b(80E00004): LDR R0, SP, 4H
0005b(D107944C): BLEQ MT [trap=4, pos=1940]
0006c .PROC 2
0006c(80000014): LDR R0, R0, 14H
0007c(40090010): SUB R0, R0, 10H
0008c(E600002D): BLE 45 [0036H]
IF col = 0 THENd Display.ReplConst(Display.black,e F.Xf+F.Wg-h12,i F.Yj+F.Hk-l12,m 8,n 8,o Display.replace)p
0009d(80E00008): LDR R0, SP, 8H
000Ad(E9000016): BNE 22 [0021H]
000Be(40000000): MOV R0, R0, 0H
000Cf(81E00004): LDR R1, SP, 4H
000Df(D107D94C): BLEQ MT [trap=4, pos=2009]
000Eg(82E00004): LDR R2, SP, 4H
000Fg .PROC 3
000Fg(D107DD4C): BLEQ MT [trap=4, pos=2013]
0010h(81100008): LDR R1, R1, 8H
0011h(82200010): LDR R2, R2, 10H
0012h(01180002): ADD R1, R1, R2
0013i(4119000C): SUB R1, R1, CH
0014j(82E00004): LDR R2, SP, 4H
0015j(D107E54C): BLEQ MT [trap=4, pos=2021]
0016k(83E00004): LDR R3, SP, 4H
0017k(D107E94C): BLEQ MT [trap=4, pos=2025]
0018l(8220000C): LDR R2, R2, CH
0019l(83300014): LDR R3, R3, 14H
001Al(02280003): ADD R2, R2, R3
001Bm(4229000C): SUB R2, R2, CH
001Cn(43000008): MOV R3, R0, 8H
001Do(44000008): MOV R4, R0, 8H
001Ep(45000000): MOV R5, R0, 0H
ELSEq Displayr.CopyPattern(Display.white,s Display.block,t F.Xu+F.Wv-w12,x F.Yy+F.Hz-a12,b Display.paint)c
001Fq .FIXUP P
001Fq(F710F01F): BL MOD1 [Display] PROC15
0020r(E7000015): B 21 [0036H]
0021s(40000001): MOV R0, R0, 1H
0022t .FIXUP D
0022t(8D100022): LDR SB, MT, MOD1 [Display]
0023t(81D0000A): LDR R1, SB, VAR10
0024u(82E00004): LDR R2, SP, 4H
0025u(D108454C): BLEQ MT [trap=4, pos=2117]
0026v(83E00004): LDR R3, SP, 4H
0027v(D108494C): BLEQ MT [trap=4, pos=2121]
0028w(82200008): LDR R2, R2, 8H
0029w(83300010): LDR R3, R3, 10H
002Aw(02280003): ADD R2, R2, R3
002Bx(4229000C): SUB R2, R2, CH
002Cy(83E00004): LDR R3, SP, 4H
002Dy(D108514C): BLEQ MT [trap=4, pos=2129]
002Ez(84E00004): LDR R4, SP, 4H
002Fz(D108554C): BLEQ MT [trap=4, pos=2133]
0030a(8330000C): LDR R3, R3, CH
0031a(84400014): LDR R4, R4, 14H
0032a(03380004): ADD R3, R3, R4
0033b(4339000C): SUB R3, R3, CH
0034c(44000001): MOV R4, R0, 1H
ENDd
0035d .FIXUP P
0035d(F7110016): BL MOD1 [Display] PROC16
END
ENDe SetChangeMark;
0036e(8FE00000): LDR LNK, SP, 0H
0037e(4EE8000C): ADD SP, SP, CH
0038e(C700000F): B LNK
PROCEDURE Restore*(F: Frame);
VAR x, x0, y: INTEGER; M: DrawMsg;
BEGINf F.X1g := F.Xh + F.Wi;j F.Y1k := F.Yl + F.Hm;n
0039f .PROC 8
0039f(4EE90028): SUB SP, SP, 28H
003Af(AFE00000): STR LNK, SP, 0H
003Bf .PROC 4
003Bf(A0E00004): STR R0, SP, 4H
003Cg(80E00004): LDR R0, SP, 4H
003Dg .PROC 5
003Dg(D108E44C): BLEQ MT [trap=4, pos=2276]
003Eh .PROC 6
003Eh(81E00004): LDR R1, SP, 4H
003Fh .PROC 7
003Fh(D108EB4C): BLEQ MT [trap=4, pos=2283]
0040i(82E00004): LDR R2, SP, 4H
0041i(D108F14C): BLEQ MT [trap=4, pos=2289]
0042j(81100008): LDR R1, R1, 8H
0043j(82200010): LDR R2, R2, 10H
0044j(01180002): ADD R1, R1, R2
0045j(A1000028): STR R1, R0, 28H
0046k(80E00004): LDR R0, SP, 4H
0047k(D108F74C): BLEQ MT [trap=4, pos=2295]
0048l(81E00004): LDR R1, SP, 4H
0049l(D108FE4C): BLEQ MT [trap=4, pos=2302]
004Am(82E00004): LDR R2, SP, 4H
004Bm(D109044C): BLEQ MT [trap=4, pos=2308]
004Cn(8110000C): LDR R1, R1, CH
004Dn(82200014): LDR R2, R2, 14H
004En(01180002): ADD R1, R1, R2
004Fn(A100002C): STR R1, R0, 2CH
F.xo := (F.Xp + F.Xgq)r DIV 16 *s 16;t F.yu := (F.Yv + F.Ygw)x DIV 16 *y 16;z F.markeda := FALSE;b F.markc.next := NIL;d
0050o(80E00004): LDR R0, SP, 4H
0051o(D1090D4C): BLEQ MT [trap=4, pos=2317]
0052p(81E00004): LDR R1, SP, 4H
0053p(D109154C): BLEQ MT [trap=4, pos=2325]
0054q(82E00004): LDR R2, SP, 4H
0055q(D1091C4C): BLEQ MT [trap=4, pos=2332]
0056r(81100008): LDR R1, R1, 8H
0057r(82200020): LDR R2, R2, 20H
0058r(01180002): ADD R1, R1, R2
0059s(41120004): ASR R1, R1, 4H
005At(41110004): LSL R1, R1, 4H
005Bt(A1000030): STR R1, R0, 30H
005Cu(80E00004): LDR R0, SP, 4H
005Du(D1092E4C): BLEQ MT [trap=4, pos=2350]
005Ev(81E00004): LDR R1, SP, 4H
005Fv(D109364C): BLEQ MT [trap=4, pos=2358]
0060w(82E00004): LDR R2, SP, 4H
0061w(D1093D4C): BLEQ MT [trap=4, pos=2365]
0062x(8110000C): LDR R1, R1, CH
0063x(82200024): LDR R2, R2, 24H
0064x(01180002): ADD R1, R1, R2
0065y(41120004): ASR R1, R1, 4H
0066z(41110004): LSL R1, R1, 4H
0067z(A1000034): STR R1, R0, 34H
0068a(80E00004): LDR R0, SP, 4H
0069a(D109544C): BLEQ MT [trap=4, pos=2388]
006Ab(41000000): MOV R1, R0, 0H
006Bb(B100003C): STR R1, R0, 3CH
006Cc(80E00004): LDR R0, SP, 4H
006Dc(D109654C): BLEQ MT [trap=4, pos=2405]
006Ed(41000000): MOV R1, R0, 0H
006Fd(A1000048): STR R1, R0, 48H
Oberon.RemoveMarks(F.Xe,f F.Yg,h F.Wi,j F.Hk)l;m Display.ReplConst(F.coln,o F.Xp,q F.Yr,s F.Wt,u F.Hv,w 0)x;y
0070e(80E00004): LDR R0, SP, 4H
0071e(D1098D4C): BLEQ MT [trap=4, pos=2445]
0072f(80000008): LDR R0, R0, 8H
0073g(81E00004): LDR R1, SP, 4H
0074g(D109924C): BLEQ MT [trap=4, pos=2450]
0075h(8110000C): LDR R1, R1, CH
0076i(82E00004): LDR R2, SP, 4H
0077i(D109974C): BLEQ MT [trap=4, pos=2455]
0078j(82200010): LDR R2, R2, 10H
0079k(83E00004): LDR R3, SP, 4H
007Ak(D1099C4C): BLEQ MT [trap=4, pos=2460]
007Bl(83300014): LDR R3, R3, 14H
007Cm .FIXUP P
007Cm(F791B047): BL MOD9 [Oberon] PROC27
007Dn(80E00004): LDR R0, SP, 4H
007En(D109B64C): BLEQ MT [trap=4, pos=2486]
007Fo(80000038): LDR R0, R0, 38H
0080p(81E00004): LDR R1, SP, 4H
0081p(D109BB4C): BLEQ MT [trap=4, pos=2491]
0082q(81100008): LDR R1, R1, 8H
0083r(82E00004): LDR R2, SP, 4H
0084r(D109C04C): BLEQ MT [trap=4, pos=2496]
0085s(8220000C): LDR R2, R2, CH
0086t(83E00004): LDR R3, SP, 4H
0087t(D109C54C): BLEQ MT [trap=4, pos=2501]
0088u(83300010): LDR R3, R3, 10H
0089v(84E00004): LDR R4, SP, 4H
008Av(D109CA4C): BLEQ MT [trap=4, pos=2506]
008Bw(84400014): LDR R4, R4, 14H
008Cx(45000000): MOV R5, R0, 0H
008Dy .FIXUP P
008Dy(F710F011): BL MOD1 [Display] PROC15
IF F.tickedz THENa
008Ez(80E00004): LDR R0, SP, 4H
008Fz(D109DF4C): BLEQ MT [trap=4, pos=2527]
0090a(9000003D): LDR R0, R0, 3DH
0091a(E1000029): BEQ 41 [00BBH]
x0 := (F.Xb + 15)c DIV 16 *d 16;e y := (F.Yf + 15)g DIV 16 *h 16;i
0092b(80E00004): LDR R0, SP, 4H
0093b(D109F54C): BLEQ MT [trap=4, pos=2549]
0094c(80000008): LDR R0, R0, 8H
0095c(4008000F): ADD R0, R0, FH
0096d(40020004): ASR R0, R0, 4H
0097e(40010004): LSL R0, R0, 4H
0098e(A0E0000C): STR R0, SP, CH
0099f(80E00004): LDR R0, SP, 4H
009Af(D10A124C): BLEQ MT [trap=4, pos=2578]
009Bg(8000000C): LDR R0, R0, CH
009Cg(4008000F): ADD R0, R0, FH
009Dh(40020004): ASR R0, R0, 4H
009Ei(40010004): LSL R0, R0, 4H
009Fi(A0E00010): STR R0, SP, 10H
WHILE y < F.Y1j DOk
00A0j(80E00004): LDR R0, SP, 4H
00A1j(D10A3A4C): BLEQ MT [trap=4, pos=2618]
00A2k(81E00010): LDR R1, SP, 10H
00A3k(8000002C): LDR R0, R0, 2CH
00A4k(01190000): SUB R1, R1, R0
00A5k(ED000015): BGE 21 [00BBH]
x := x0;l
00A6l(80E0000C): LDR R0, SP, CH
00A7l(A0E00008): STR R0, SP, 8H
WHILE x < F.X1m DOn Display.Dot(Display.white,o x,p y,q Display.replace)r;s INC(x, 16) ENDt ;
00A8m(80E00004): LDR R0, SP, 4H
00A9m(D10A654C): BLEQ MT [trap=4, pos=2661]
00AAn(81E00008): LDR R1, SP, 8H
00ABn(80000028): LDR R0, R0, 28H
00ACn(01190000): SUB R1, R1, R0
00ADn(ED000009): BGE 9 [00B7H]
00AEo(40000001): MOV R0, R0, 1H
00AFp(81E00008): LDR R1, SP, 8H
00B0q(82E00010): LDR R2, SP, 10H
00B1r(43000000): MOV R3, R0, 0H
00B2s .FIXUP P
00B2s(F710E025): BL MOD1 [Display] PROC14
00B3t(80E00008): LDR R0, SP, 8H
00B4t(40080010): ADD R0, R0, 10H
00B5t(A0E00008): STR R0, SP, 8H
00B6t(E7FFFFF1): B -15 [00A8H]
INC(y, 16)
ENDu
00B7u(80E00010): LDR R0, SP, 10H
00B8u(40080010): ADD R0, R0, 10H
00B9u(A0E00010): STR R0, SP, 10H
00BAu(E7FFFFE5): B -27 [00A0H]
END ;
M.f := F;v M.x := F.xw;x M.y := F.yy;z M.col := 0;a M.mode := 0;b Graphics.Draw(F.graphc,d M)e;f
00BBv(80E00004): LDR R0, SP, 4H
00BCv(A0E00014): STR R0, SP, 14H
00BDw(80E00004): LDR R0, SP, 4H
00BEw(D10AEC4C): BLEQ MT [trap=4, pos=2796]
00BFx(80000030): LDR R0, R0, 30H
00C0x(A0E00018): STR R0, SP, 18H
00C1y(80E00004): LDR R0, SP, 4H
00C2y(D10AF84C): BLEQ MT [trap=4, pos=2808]
00C3z(80000034): LDR R0, R0, 34H
00C4z(A0E0001C): STR R0, SP, 1CH
00C5a(40000000): MOV R0, R0, 0H
00C6a(A0E00020): STR R0, SP, 20H
00C7b(40000000): MOV R0, R0, 0H
00C8b(A0E00024): STR R0, SP, 24H
00C9c(80E00004): LDR R0, SP, 4H
00CAc(D10B284C): BLEQ MT [trap=4, pos=2856]
00CBd(8000001C): LDR R0, R0, 1CH
00CCe(41E80014): ADD R1, SP, 14H
00CDe .FIXUP D
00CDe(8D0000AB): LDR SB, MT, MOD0 [GraphicFrames]
00CEe(42D8003C): ADD R2, SB, 3CH [data]
00CFf .FIXUP P
00CFf(F771A01D): BL MOD7 [Graphics] PROC26
IF F.graphg.changedh THENi SetChangeMark(F,j 1)k ENDl
00D0g(80E00004): LDR R0, SP, 4H
00D1g(D10B3C4C): BLEQ MT [trap=4, pos=2876]
00D2h(8000001C): LDR R0, R0, 1CH
00D3h(D10B444C): BLEQ MT [trap=4, pos=2884]
00D4i(9000000C): LDR R0, R0, CH
00D5i(E1000003): BEQ 3 [00D9H]
00D6j(80E00004): LDR R0, SP, 4H
00D7k(41000001): MOV R1, R0, 1H
00D8l(F7FFFF27): BL -217 [0000H]
ENDm Restore;
00D9m(8FE00000): LDR LNK, SP, 0H
00DAm(4EE80028): ADD SP, SP, 28H
00DBm(C700000F): B LNK
PROCEDURE FlipCross(X, Y: INTEGER);
BEGINn
00DCn(4EE9000C): SUB SP, SP, CH
00DDn(AFE00000): STR LNK, SP, 0H
00DEn(A0E00004): STR R0, SP, 4H
00DFn(A1E00008): STR R1, SP, 8H
IF X < CL THENo
00E0o(80E00004): LDR R0, SP, 4H
00E1o .FIXUP D
00E1o(8D000014): LDR SB, MT, MOD0 [GraphicFrames]
00E2o(81D00110): LDR R1, SB, 110H [data]
00E3o(00090001): SUB R0, R0, R1
00E4o(ED000011): BGE 17 [00F6H]
IF X < 7 THENp X := 7 ELSIFq Xr > DW - 7 THENs X := DW - 7 ENDt
00E5p(80E00004): LDR R0, SP, 4H
00E6p(40090007): SUB R0, R0, 7H
00E7p(ED000003): BGE 3 [00EBH]
00E8q(40000007): MOV R0, R0, 7H
00E9q(A0E00004): STR R0, SP, 4H
00EAr(E700000A): B 10 [00F5H]
00EBs .FIXUP D
00EBs(8D00000A): LDR SB, MT, MOD0 [GraphicFrames]
00ECs(80D00108): LDR R0, SB, 108H [data]
00EDs(40090007): SUB R0, R0, 7H
00EEs(81E00004): LDR R1, SP, 4H
00EFs(01190000): SUB R1, R1, R0
00F0s(E6000004): BLE 4 [00F5H]
00F1t .FIXUP D
00F1t(8D000006): LDR SB, MT, MOD0 [GraphicFrames]
00F2t(80D00108): LDR R0, SB, 108H [data]
00F3t(40090007): SUB R0, R0, 7H
00F4t(A0E00004): STR R0, SP, 4H
ELSE
IFu X < CL + 7 THENv X := CL + 7 ELSIFw Xx > CL + DW -y 7 THENz X := CL + DW -a 7 ENDb
00F5u(E7000019): B 25 [010FH]
00F6v .FIXUP D
00F6v(8D000005): LDR SB, MT, MOD0 [GraphicFrames]
00F7v(80D00110): LDR R0, SB, 110H [data]
00F8v(40080007): ADD R0, R0, 7H
00F9v(81E00004): LDR R1, SP, 4H
00FAv(01190000): SUB R1, R1, R0
00FBv(ED000005): BGE 5 [0101H]
00FCw .FIXUP D
00FCw(8D000006): LDR SB, MT, MOD0 [GraphicFrames]
00FDw(80D00110): LDR R0, SB, 110H [data]
00FEw(40080007): ADD R0, R0, 7H
00FFw(A0E00004): STR R0, SP, 4H
0100x(E700000E): B 14 [010FH]
0101y .FIXUP D
0101y(8D000005): LDR SB, MT, MOD0 [GraphicFrames]
0102y(80D00110): LDR R0, SB, 110H [data]
0103y(81D00108): LDR R1, SB, 108H
0104y(00080001): ADD R0, R0, R1
0105z(40090007): SUB R0, R0, 7H
0106z(81E00004): LDR R1, SP, 4H
0107z(01190000): SUB R1, R1, R0
0108z(E6000006): BLE 6 [010FH]
0109a .FIXUP D
0109a(8D000008): LDR SB, MT, MOD0 [GraphicFrames]
010Aa(80D00110): LDR R0, SB, 110H [data]
010Ba(81D00108): LDR R1, SB, 108H
010Ca(00080001): ADD R0, R0, R1
010Db(40090007): SUB R0, R0, 7H
010Eb(A0E00004): STR R0, SP, 4H
END;
IF Y < 7 THENc Y := 7 ELSIFd Ye > DH THENf Y := DH - 7 ENDg;
010Fc(80E00008): LDR R0, SP, 8H
0110c(40090007): SUB R0, R0, 7H
0111c(ED000003): BGE 3 [0115H]
0112d(40000007): MOV R0, R0, 7H
0113d(A0E00008): STR R0, SP, 8H
0114e(E7000009): B 9 [011EH]
0115f(80E00008): LDR R0, SP, 8H
0116f .FIXUP D
0116f(8D00000D): LDR SB, MT, MOD0 [GraphicFrames]
0117f(81D0010C): LDR R1, SB, 10CH [data]
0118f(00090001): SUB R0, R0, R1
0119f(E6000004): BLE 4 [011EH]
011Ag .FIXUP D
011Ag(8D000004): LDR SB, MT, MOD0 [GraphicFrames]
011Bg(80D0010C): LDR R0, SB, 10CH [data]
011Cg(40090007): SUB R0, R0, 7H
011Dg(A0E00008): STR R0, SP, 8H
Display.CopyPattern(Display.white,h Display.cross,i X-7,j Y-7,k Display.invert)l
011Eh(40000001): MOV R0, R0, 1H
011Fi .FIXUP D
011Fi(8D100005): LDR SB, MT, MOD1 [Display]
0120i(81D0000B): LDR R1, SB, VAR11
0121j(82E00004): LDR R2, SP, 4H
0122j(42290007): SUB R2, R2, 7H
0123k(83E00008): LDR R3, SP, 8H
0124k(43390007): SUB R3, R3, 7H
0125l(44000002): MOV R4, R0, 2H
ENDm FlipCross;
0126m .FIXUP P
0126m(F7110057): BL MOD1 [Display] PROC16
0127m(8FE00000): LDR LNK, SP, 0H
0128m(4EE8000C): ADD SP, SP, CH
0129m(C700000F): B LNK
PROCEDURE Focus*(): Frame;
VAR FQ: FocusQuery;
BEGINn FQ.f := NIL;o Viewers.Broadcast(FQ)p;q RETURN FQ.f
012An .PROC 9
012An(4EE90008): SUB SP, SP, 8H
012Bn(AFE00000): STR LNK, SP, 0H
012Co(40000000): MOV R0, R0, 0H
012Do(A0E00004): STR R0, SP, 4H
012Ep(40E80004): ADD R0, SP, 4H
012Fp .FIXUP D
012Fp(8D000010): LDR SB, MT, MOD0 [GraphicFrames]
0130p(41D800A4): ADD R1, SB, A4H [data]
0131q .FIXUP P
0131q(F720F00B): BL MOD2 [Viewers] PROC15
ENDr Focus;
0132r(80E00004): LDR R0, SP, 4H
0133r(8FE00000): LDR LNK, SP, 0H
0134r(4EE80008): ADD SP, SP, 8H
0135r(C700000F): B LNK
PROCEDURE Selected*(): Frame;
VAR SQ: SelQuery;
BEGINs SQ.f := NIL;t SQ.time := 0;u Viewers.Broadcast(SQ)v;w RETURN SQ.f
0136s .PROC 10
0136s(4EE9000C): SUB SP, SP, CH
0137s(AFE00000): STR LNK, SP, 0H
0138t(40000000): MOV R0, R0, 0H
0139t(A0E00004): STR R0, SP, 4H
013Au(40000000): MOV R0, R0, 0H
013Bu(A0E00008): STR R0, SP, 8H
013Cv(40E80004): ADD R0, SP, 4H
013Dv .FIXUP D
013Dv(8D00000E): LDR SB, MT, MOD0 [GraphicFrames]
013Ev(41D8008C): ADD R1, SB, 8CH [data]
013Fw .FIXUP P
013Fw(F720F00E): BL MOD2 [Viewers] PROC15
ENDx Selected;
0140x(80E00004): LDR R0, SP, 4H
0141x(8FE00000): LDR LNK, SP, 0H
0142x(4EE8000C): ADD SP, SP, CH
0143x(C700000F): B LNK
PROCEDURE This*(x, y: INTEGER): Frame;
VAR PQ: PosQuery;
BEGINy PQ.f := NIL;z PQ.x := x;a PQ.y := y;b Viewers.Broadcast(PQ)c;d RETURN PQ.f
0144y .PROC 11
0144y(4EE90018): SUB SP, SP, 18H
0145y(AFE00000): STR LNK, SP, 0H
0146y(A0E00004): STR R0, SP, 4H
0147y(A1E00008): STR R1, SP, 8H
0148z(40000000): MOV R0, R0, 0H
0149z(A0E0000C): STR R0, SP, CH
014Aa(80E00004): LDR R0, SP, 4H
014Ba(A0E00010): STR R0, SP, 10H
014Cb(80E00008): LDR R0, SP, 8H
014Db(A0E00014): STR R0, SP, 14H
014Ec(40E8000C): ADD R0, SP, CH
014Fc .FIXUP D
014Fc(8D000012): LDR SB, MT, MOD0 [GraphicFrames]
0150c(41D800BC): ADD R1, SB, BCH [data]
0151d .FIXUP P
0151d(F720F012): BL MOD2 [Viewers] PROC15
ENDe This;
0152e(80E0000C): LDR R0, SP, CH
0153e(8FE00000): LDR LNK, SP, 0H
0154e(4EE80018): ADD SP, SP, 18H
0155e(C700000F): B LNK
PROCEDURE Mark(F: Frame; mode: INTEGER);
VAR CM: ChangedMsg;
BEGINf CM.f := F;g CM.graph := F.graphh;i CM.mode := mode;j Viewers.Broadcast(CM)k
0156f(4EE90018): SUB SP, SP, 18H
0157f(AFE00000): STR LNK, SP, 0H
0158f(A0E00004): STR R0, SP, 4H
0159f(A1E00008): STR R1, SP, 8H
015Ag(80E00004): LDR R0, SP, 4H
015Bg(A0E0000C): STR R0, SP, CH
015Ch(80E00004): LDR R0, SP, 4H
015Dh(D10F044C): BLEQ MT [trap=4, pos=3844]
015Ei(8000001C): LDR R0, R0, 1CH
015Fi(A0E00010): STR R0, SP, 10H
0160j(80E00008): LDR R0, SP, 8H
0161j(A0E00014): STR R0, SP, 14H
0162k(40E8000C): ADD R0, SP, CH
0163k .FIXUP D
0163k(8D000014): LDR SB, MT, MOD0 [GraphicFrames]
0164k(41D80070): ADD R1, SB, 70H [data]
ENDl Mark;
0165l .FIXUP P
0165l(F720F014): BL MOD2 [Viewers] PROC15
0166l(8FE00000): LDR LNK, SP, 0H
0167l(4EE80018): ADD SP, SP, 18H
0168l(C700000F): B LNK
PROCEDURE Draw*(F: Frame);
VAR UM: UpdateMsg;
BEGINm UM.id := drawsel;n UM.graph := F.grapho;p Viewers.Broadcast(UM)q
0169m .PROC 12
0169m(4EE90014): SUB SP, SP, 14H
016Am(AFE00000): STR LNK, SP, 0H
016Bm(A0E00004): STR R0, SP, 4H
016Cn(40000005): MOV R0, R0, 5H
016Dn(A0E00008): STR R0, SP, 8H
016Eo(80E00004): LDR R0, SP, 4H
016Fo(D10F9B4C): BLEQ MT [trap=4, pos=3995]
0170p(8000001C): LDR R0, R0, 1CH
0171p(A0E0000C): STR R0, SP, CH
0172q(40E80008): ADD R0, SP, 8H
0173q .FIXUP D
0173q(8D000010): LDR SB, MT, MOD0 [GraphicFrames]
0174q(41D80054): ADD R1, SB, 54H [data]
ENDr Draw;
0175r .FIXUP P
0175r(F720F010): BL MOD2 [Viewers] PROC15
0176r(8FE00000): LDR LNK, SP, 0H
0177r(4EE80014): ADD SP, SP, 14H
0178r(C700000F): B LNK
PROCEDURE DrawNorm(F: Frame);
VAR UM: UpdateMsg;
BEGINs UM.id := drawnorm;t UM.graph := F.graphu;v Viewers.Broadcast(UM)w
0179s(4EE90014): SUB SP, SP, 14H
017As(AFE00000): STR LNK, SP, 0H
017Bs(A0E00004): STR R0, SP, 4H
017Ct(40000004): MOV R0, R0, 4H
017Dt(A0E00008): STR R0, SP, 8H
017Eu(80E00004): LDR R0, SP, 4H
017Fu(D110254C): BLEQ MT [trap=4, pos=4133]
0180v(8000001C): LDR R0, R0, 1CH
0181v(A0E0000C): STR R0, SP, CH
0182w(40E80008): ADD R0, SP, 8H
0183w .FIXUP D
0183w(8D000010): LDR SB, MT, MOD0 [GraphicFrames]
0184w(41D80054): ADD R1, SB, 54H [data]
ENDx DrawNorm;
0185x .FIXUP P
0185x(F720F010): BL MOD2 [Viewers] PROC15
0186x(8FE00000): LDR LNK, SP, 0H
0187x(4EE80014): ADD SP, SP, 14H
0188x(C700000F): B LNK
PROCEDURE Erase*(F: Frame);
VAR UM: UpdateMsg;
BEGINy UM.id := drawdel;z UM.graph := F.grapha;b Viewers.Broadcast(UM)c;d Mark(F,e 1)f
0189y .PROC 13
0189y(4EE90014): SUB SP, SP, 14H
018Ay(AFE00000): STR LNK, SP, 0H
018By(A0E00004): STR R0, SP, 4H
018Cz(40000006): MOV R0, R0, 6H
018Dz(A0E00008): STR R0, SP, 8H
018Ea(80E00004): LDR R0, SP, 4H
018Fa(D110B04C): BLEQ MT [trap=4, pos=4272]
0190b(8000001C): LDR R0, R0, 1CH
0191b(A0E0000C): STR R0, SP, CH
0192c(40E80008): ADD R0, SP, 8H
0193c .FIXUP D
0193c(8D000010): LDR SB, MT, MOD0 [GraphicFrames]
0194c(41D80054): ADD R1, SB, 54H [data]
0195d .FIXUP P
0195d(F720F010): BL MOD2 [Viewers] PROC15
0196e(80E00004): LDR R0, SP, 4H
0197f(41000001): MOV R1, R0, 1H
ENDg Erase;
0198g(F7FFFFBD): BL -67 [0156H]
0199g(8FE00000): LDR LNK, SP, 0H
019Ag(4EE80014): ADD SP, SP, 14H
019Bg(C700000F): B LNK
PROCEDURE DrawObj*(F: Frame; obj: Graphics.Object);
VAR UM: UpdateMsg;
BEGINh UM.id := drawobj;i UM.graph := F.graphj;k UM.obj := obj;l Viewers.Broadcast(UM)m
019Ch .PROC 14
019Ch(4EE90018): SUB SP, SP, 18H
019Dh(AFE00000): STR LNK, SP, 0H
019Eh(A0E00004): STR R0, SP, 4H
019Fh(A1E00008): STR R1, SP, 8H
01A0i(40000001): MOV R0, R0, 1H
01A1i(A0E0000C): STR R0, SP, CH
01A2j(80E00004): LDR R0, SP, 4H
01A3j(D1115C4C): BLEQ MT [trap=4, pos=4444]
01A4k(8000001C): LDR R0, R0, 1CH
01A5k(A0E00010): STR R0, SP, 10H
01A6l(80E00008): LDR R0, SP, 8H
01A7l(A0E00014): STR R0, SP, 14H
01A8m(40E8000C): ADD R0, SP, CH
01A9m .FIXUP D
01A9m(8D000016): LDR SB, MT, MOD0 [GraphicFrames]
01AAm(41D80054): ADD R1, SB, 54H [data]
ENDn DrawObj;
01ABn .FIXUP P
01ABn(F720F016): BL MOD2 [Viewers] PROC15
01ACn(8FE00000): LDR LNK, SP, 0H
01ADn(4EE80018): ADD SP, SP, 18H
01AEn(C700000F): B LNK
PROCEDURE EraseObj*(F: Frame; obj: Graphics.Object);
VAR UM: UpdateMsg;
BEGINo UM.id := drawobjd;p UM.graph := F.graphq;r UM.obj := obj;s Viewers.Broadcast(UM)t
01AFo .PROC 15
01AFo(4EE90018): SUB SP, SP, 18H
01B0o(AFE00000): STR LNK, SP, 0H
01B1o(A0E00004): STR R0, SP, 4H
01B2o(A1E00008): STR R1, SP, 8H
01B3p(40000003): MOV R0, R0, 3H
01B4p(A0E0000C): STR R0, SP, CH
01B5q(80E00004): LDR R0, SP, 4H
01B6q(D1120F4C): BLEQ MT [trap=4, pos=4623]
01B7r(8000001C): LDR R0, R0, 1CH
01B8r(A0E00010): STR R0, SP, 10H
01B9s(80E00008): LDR R0, SP, 8H
01BAs(A0E00014): STR R0, SP, 14H
01BBt(40E8000C): ADD R0, SP, CH
01BCt .FIXUP D
01BCt(8D000013): LDR SB, MT, MOD0 [GraphicFrames]
01BDt(41D80054): ADD R1, SB, 54H [data]
ENDu EraseObj;
01BEu .FIXUP P
01BEu(F720F013): BL MOD2 [Viewers] PROC15
01BFu(8FE00000): LDR LNK, SP, 0H
01C0u(4EE80018): ADD SP, SP, 18H
01C1u(C700000F): B LNK
PROCEDURE Change*(F: Frame; VAR msg: Graphics.Msg);
BEGINv
01C2v .PROC 16
01C2v(4EE90010): SUB SP, SP, 10H
01C3v(AFE00000): STR LNK, SP, 0H
01C4v(A0E00004): STR R0, SP, 4H
01C5v(A1E00008): STR R1, SP, 8H
01C6v(A2E0000C): STR R2, SP, CH
IF F # NIL THENw Erase(F)x;y Graphics.Change(F.graphz,a msg)b;c Draw(F)d ENDe
01C7w(80E00004): LDR R0, SP, 4H
01C8w(E100000A): BEQ 10 [01D3H]
01C9x(80E00004): LDR R0, SP, 4H
01CAy(F7FFFFBE): BL -66 [0189H]
01CBz(80E00004): LDR R0, SP, 4H
01CCz(D112BA4C): BLEQ MT [trap=4, pos=4794]
01CDa(8000001C): LDR R0, R0, 1CH
01CEb(81E00008): LDR R1, SP, 8H
01CFb(82E0000C): LDR R2, SP, CH
01D0c .FIXUP P
01D0c(F771E012): BL MOD7 [Graphics] PROC30
01D1d(80E00004): LDR R0, SP, 4H
01D2e(F7FFFF96): BL -106 [0169H]
ENDf Change;
01D3f(8FE00000): LDR LNK, SP, 0H
01D4f(4EE80010): ADD SP, SP, 10H
01D5f(C700000F): B LNK
PROCEDURE FlipMark(x, y: INTEGER);
BEGINg
01D6g(4EE9000C): SUB SP, SP, CH
01D7g(AFE00000): STR LNK, SP, 0H
01D8g(A0E00004): STR R0, SP, 4H
01D9g(A1E00008): STR R1, SP, 8H
Display.ReplConst(Display.white,h x-7,i y,j 15,k 1,l 2)m;n
01DAh(40000001): MOV R0, R0, 1H
01DBi(81E00004): LDR R1, SP, 4H
01DCi(41190007): SUB R1, R1, 7H
01DDj(82E00008): LDR R2, SP, 8H
01DEk(4300000F): MOV R3, R0, FH
01DFl(44000001): MOV R4, R0, 1H
01E0m(45000002): MOV R5, R0, 2H
01E1n .FIXUP P
01E1n(F710F011): BL MOD1 [Display] PROC15
Display.ReplConst(Display.white,o x,p y-7,q 1,r 15,s 2)t
01E2o(40000001): MOV R0, R0, 1H
01E3p(81E00004): LDR R1, SP, 4H
01E4q(82E00008): LDR R2, SP, 8H
01E5q(42290007): SUB R2, R2, 7H
01E6r(43000001): MOV R3, R0, 1H
01E7s(4400000F): MOV R4, R0, FH
01E8t(45000002): MOV R5, R0, 2H
ENDu FlipMark;
01E9u .FIXUP P
01E9u(F710F008): BL MOD1 [Display] PROC15
01EAu(8FE00000): LDR LNK, SP, 0H
01EBu(4EE8000C): ADD SP, SP, CH
01ECu(C700000F): B LNK
PROCEDURE Defocus*(F: Frame);
VAR m: Location;
BEGINv newcap := NIL;w
01EDv .PROC 17
01EDv(4EE9000C): SUB SP, SP, CH
01EEv(AFE00000): STR LNK, SP, 0H
01EFv(A0E00004): STR R0, SP, 4H
01F0w(40000000): MOV R0, R0, 0H
01F1w .FIXUP D
01F1w(8D000035): LDR SB, MT, MOD0 [GraphicFrames]
01F2w(A0D00100): STR R0, SB, 100H [data]
IF F.markedx THENy
01F3x(80E00004): LDR R0, SP, 4H
01F4x(D113E54C): BLEQ MT [trap=4, pos=5093]
01F5y(9000003C): LDR R0, R0, 3CH
01F6y(E1000021): BEQ 33 [0218H]
FlipMark(F.markz.x,a F.markb.y)c;d m := F.marke.next;f
01F7z(80E00004): LDR R0, SP, 4H
01F8z(D114004C): BLEQ MT [trap=4, pos=5120]
01F9a(80000040): LDR R0, R0, 40H
01FAb(81E00004): LDR R1, SP, 4H
01FBb(D1140A4C): BLEQ MT [trap=4, pos=5130]
01FCc(81100044): LDR R1, R1, 44H
01FDd(F7FFFFD8): BL -40 [01D6H]
01FEe(80E00004): LDR R0, SP, 4H
01FFe(D1141A4C): BLEQ MT [trap=4, pos=5146]
0200f(80000048): LDR R0, R0, 48H
0201f(A0E00008): STR R0, SP, 8H
WHILE m # NIL DOg FlipMark(m.xh,i m.yj)k;l m := m.nextm ENDn ;
0202g(80E00008): LDR R0, SP, 8H
0203g(E100000C): BEQ 12 [0210H]
0204h(80E00008): LDR R0, SP, 8H
0205h(D114444C): BLEQ MT [trap=4, pos=5188]
0206i(80000000): LDR R0, R0, 0H
0207j(81E00008): LDR R1, SP, 8H
0208j(D114494C): BLEQ MT [trap=4, pos=5193]
0209k(81100004): LDR R1, R1, 4H
020Al(F7FFFFCB): BL -53 [01D6H]
020Bm(80E00008): LDR R0, SP, 8H
020Cm(D114574C): BLEQ MT [trap=4, pos=5207]
020Dn(80000008): LDR R0, R0, 8H
020En(A0E00008): STR R0, SP, 8H
020Fn(E7FFFFF2): B -14 [0202H]
F.markedo := FALSE;p F.markq.next := NIL
0210o(80E00004): LDR R0, SP, 4H
0211o(D1146C4C): BLEQ MT [trap=4, pos=5228]
0212p(41000000): MOV R1, R0, 0H
0213p(B100003C): STR R1, R0, 3CH
0214q(80E00004): LDR R0, SP, 4H
0215q(D1147D4C): BLEQ MT [trap=4, pos=5245]
ENDr
0216r(41000000): MOV R1, R0, 0H
0217r(A1000048): STR R1, R0, 48H
ENDs Defocus;
0218s(8FE00000): LDR LNK, SP, 0H
0219s(4EE8000C): ADD SP, SP, CH
021As(C700000F): B LNK
PROCEDURE Deselect*(F: Frame);
VAR UM: UpdateMsg;
BEGINt
021Bt .PROC 18
021Bt(4EE90014): SUB SP, SP, 14H
021Ct(AFE00000): STR LNK, SP, 0H
021Dt(A0E00004): STR R0, SP, 4H
IF F # NIL THENu
021Eu(80E00004): LDR R0, SP, 4H
021Fu(E100000E): BEQ 14 [022EH]
UM.id := drawnorm;v UM.graph := F.graphw;x Viewers.Broadcast(UM)y;z
0220v(40000004): MOV R0, R0, 4H
0221v(A0E00008): STR R0, SP, 8H
0222w(80E00004): LDR R0, SP, 4H
0223w(D115224C): BLEQ MT [trap=4, pos=5410]
0224x(8000001C): LDR R0, R0, 1CH
0225x(A0E0000C): STR R0, SP, CH
0226y(40E80008): ADD R0, SP, 8H
0227y .FIXUP D
0227y(8D000036): LDR SB, MT, MOD0 [GraphicFrames]
0228y(41D80054): ADD R1, SB, 54H [data]
0229z .FIXUP P
0229z(F720F040): BL MOD2 [Viewers] PROC15
Graphics.Deselect(F.grapha)b
022Aa(80E00004): LDR R0, SP, 4H
022Ba(D1155A4C): BLEQ MT [trap=4, pos=5466]
022Cb(8000001C): LDR R0, R0, 1CH
ENDc
022Dc .FIXUP P
022Dc(F771C004): BL MOD7 [Graphics] PROC28
ENDd Deselect;
022Ed(8FE00000): LDR LNK, SP, 0H
022Fd(4EE80014): ADD SP, SP, 14H
0230d(C700000F): B LNK
PROCEDURE Macro*(Lname, Mname: ARRAY OF CHAR);
VAR x, y: INTEGER;
F: Frame;
mac: Graphics.Macro; mh: Graphics.MacHead;
L: Graphics.Library;
BEGINe F := Focus();f
0231e .PROC 19
0231e(4EE9002C): SUB SP, SP, 2CH
0232e(AFE00000): STR LNK, SP, 0H
0233e(A0E00004): STR R0, SP, 4H
0234e(A1E00008): STR R1, SP, 8H
0235e(A2E0000C): STR R2, SP, CH
0236e(A3E00010): STR R3, SP, 10H
0237f(F7FFFEF2): BL -270 [012AH]
0238f(A0E0001C): STR R0, SP, 1CH
IF F # NIL THENg
0239g(80E0001C): LDR R0, SP, 1CH
023Ag(E100006D): BEQ 109 [02A8H]
x := F.markh.x - F.xi;j y := F.markk.y - F.yl;m
023Bh(80E0001C): LDR R0, SP, 1CH
023Ch(D116544C): BLEQ MT [trap=4, pos=5716]
023Di(81E0001C): LDR R1, SP, 1CH
023Ei(D1165C4C): BLEQ MT [trap=4, pos=5724]
023Fj(80000040): LDR R0, R0, 40H
0240j(81100030): LDR R1, R1, 30H
0241j(00090001): SUB R0, R0, R1
0242j(A0E00014): STR R0, SP, 14H
0243k(80E0001C): LDR R0, SP, 1CH
0244k(D116694C): BLEQ MT [trap=4, pos=5737]
0245l(81E0001C): LDR R1, SP, 1CH
0246l(D116714C): BLEQ MT [trap=4, pos=5745]
0247m(80000044): LDR R0, R0, 44H
0248m(81100034): LDR R1, R1, 34H
0249m(00090001): SUB R0, R0, R1
024Am(A0E00018): STR R0, SP, 18H
Graphics.GetLib(Lname,n FALSE,o L)p;q
024Bn(80E00004): LDR R0, SP, 4H
024Cn(81E00008): LDR R1, SP, 8H
024Do(42000000): MOV R2, R0, 0H
024Ep(43E80028): ADD R3, SP, 28H
024Fq .FIXUP P
024Fq(F772C022): BL MOD7 [Graphics] PROC44
IF L # NIL THENr
0250r(80E00028): LDR R0, SP, 28H
0251r(E100003D): BEQ 61 [028FH]
mh := Graphics.ThisMac(L,s Mname)t;u
0252s(80E00028): LDR R0, SP, 28H
0253t(81E0000C): LDR R1, SP, CH
0254t(82E00010): LDR R2, SP, 10H
0255u .FIXUP P
0255u(F7730006): BL MOD7 [Graphics] PROC48
0256u(A0E00024): STR R0, SP, 24H
IF mh # NIL THENv
0257v(80E00024): LDR R0, SP, 24H
0258v(E1000035): BEQ 53 [028EH]
Deselect(F)w;x Defocus(F)y;z
0259w(80E0001C): LDR R0, SP, 1CH
025Ax(F7FFFFC0): BL -64 [021BH]
025By(80E0001C): LDR R0, SP, 1CH
025Cz(F7FFFF90): BL -112 [01EDH]
NEW(mac);a mac.xb := x;c mac.yd := y;e mac.wf := mh.wg;h mac.hi := mh.hj;k
025Da(40E80020): ADD R0, SP, 20H
025Ea .FIXUP D
025Ea(8D700037): LDR SB, MT, MOD7 [Graphics]
025Fa(41D8000E): ADD R1, SB, VAR14
0260a(D7172A0C): BL MT [trap=0, pos=5930]
0261b(80E00020): LDR R0, SP, 20H
0262b(D117304C): BLEQ MT [trap=4, pos=5936]
0263c(81E00014): LDR R1, SP, 14H
0264c(A1000000): STR R1, R0, 0H
0265d(80E00020): LDR R0, SP, 20H
0266d(D1173C4C): BLEQ MT [trap=4, pos=5948]
0267e(81E00018): LDR R1, SP, 18H
0268e(A1000004): STR R1, R0, 4H
0269f(80E00020): LDR R0, SP, 20H
026Af(D117484C): BLEQ MT [trap=4, pos=5960]
026Bg(81E00024): LDR R1, SP, 24H
026Cg(D117504C): BLEQ MT [trap=4, pos=5968]
026Dh(81100020): LDR R1, R1, 20H
026Eh(A1000008): STR R1, R0, 8H
026Fi(80E00020): LDR R0, SP, 20H
0270i(D117574C): BLEQ MT [trap=4, pos=5975]
0271j(81E00024): LDR R1, SP, 24H
0272j(D1175F4C): BLEQ MT [trap=4, pos=5983]
0273k(81100024): LDR R1, R1, 24H
0274k(A100000C): STR R1, R0, CH
mac.macl := mh;m mac.don := Graphics.MacMethod;o mac.colp := Oberon.CurCol;q
0275l(80E00020): LDR R0, SP, 20H
0276l(D117724C): BLEQ MT [trap=4, pos=6002]
0277m(81E00024): LDR R1, SP, 24H
0278m(A100001C): STR R1, R0, 1CH
0279n(80E00020): LDR R0, SP, 20H
027An(D117804C): BLEQ MT [trap=4, pos=6016]
027Bo .FIXUP D
027Bo(8D70001D): LDR SB, MT, MOD7 [Graphics]
027Co(81D00014): LDR R1, SB, VAR20
027Do(A1000014): STR R1, R0, 14H
027Ep(80E00020): LDR R0, SP, 20H
027Fp(D1179F4C): BLEQ MT [trap=4, pos=6047]
0280q .FIXUP D
0280q(8D900005): LDR SB, MT, MOD9 [Oberon]
0281q(81D00010): LDR R1, SB, VAR16
0282q(B1000010): STR R1, R0, 10H
Graphics.Add(F.graphr,s mac)t;u DrawObj(F,v mac)w;x Mark(F,y 1)z
0283r(80E0001C): LDR R0, SP, 1CH
0284r(D117D04C): BLEQ MT [trap=4, pos=6096]
0285s(8000001C): LDR R0, R0, 1CH
0286t(81E00020): LDR R1, SP, 20H
0287u .FIXUP P
0287u(F7716032): BL MOD7 [Graphics] PROC22
0288v(80E0001C): LDR R0, SP, 1CH
0289w(81E00020): LDR R1, SP, 20H
028Ax(F7FFFF11): BL -239 [019CH]
028By(80E0001C): LDR R0, SP, 1CH
028Cz(41000001): MOV R1, R0, 1H
ENDa
028Da(F7FFFEC8): BL -312 [0156H]
ELSE Textsb.WriteString(W,c Lname)d;e Texts.WriteString(W,f " not available")g;h
028Eb(E7000019): B 25 [02A8H]
028Fc .FIXUP D
028Fc(8D00000F): LDR SB, MT, MOD0 [GraphicFrames]
0290c(40D80114): ADD R0, SB, 114H [data]
0291c .FIXUP D
0291c(8D500002): LDR SB, MT, MOD5 [Texts]
0292c(41D80005): ADD R1, SB, VAR5
0293d(82E00004): LDR R2, SP, 4H
0294d(83E00008): LDR R3, SP, 8H
0295e .FIXUP P
0295e(F751D00E): BL MOD5 [Texts] PROC29
0296f .FIXUP D
0296f(8D000005): LDR SB, MT, MOD0 [GraphicFrames]
0297f(40D80114): ADD R0, SB, 114H [data]
0298f .FIXUP D
0298f(8D500002): LDR SB, MT, MOD5 [Texts]
0299f(41D80005): ADD R1, SB, VAR5
029Ag .FIXUP D
029Ag(8D000002): LDR SB, MT, MOD0 [GraphicFrames]
029Bg(42D8013C): ADD R2, SB, 13CH [data]
029Cg(4300000F): MOV R3, R0, FH
029Dh .FIXUP P
029Dh(F751D008): BL MOD5 [Texts] PROC29
Texts.WriteLn(W)i;j Texts.Append(Oberon.Log,k W.buf)l
029Ei .FIXUP D
029Ei(8D000004): LDR SB, MT, MOD0 [GraphicFrames]
029Fi(40D80114): ADD R0, SB, 114H [data]
02A0i .FIXUP D
02A0i(8D500002): LDR SB, MT, MOD5 [Texts]
02A1i(41D80005): ADD R1, SB, VAR5
02A2j .FIXUP P
02A2j(F751C005): BL MOD5 [Texts] PROC28
02A3k .FIXUP D
02A3k(8D900003): LDR SB, MT, MOD9 [Oberon]
02A4k(80D0000D): LDR R0, SB, VAR13
02A5l .FIXUP D
02A5l(8D000002): LDR SB, MT, MOD0 [GraphicFrames]
02A6l(81D00114): LDR R1, SB, 114H [data]
ENDm
02A7m .FIXUP P
02A7m(F750E005): BL MOD5 [Texts] PROC14
END
ENDn Macro;
02A8n(8FE00000): LDR LNK, SP, 0H
02A9n(4EE8002C): ADD SP, SP, 2CH
02AAn(C700000F): B LNK
PROCEDURE CaptionCopy(F: Frame;
x1, y1: INTEGER; T: Texts.Text; beg, end: LONGINT): Graphics.Caption;
VAR ch: CHAR;
dx, w, x2, y2, w1, h1: INTEGER;
cap: Graphics.Caption;
pat: INTEGER;
R: Texts.Reader;
BEGINo Texts.Write(W,p 0DX)q;r
02ABo(4EE90074): SUB SP, SP, 74H
02ACo(AFE00000): STR LNK, SP, 0H
02ADo(A0E00004): STR R0, SP, 4H
02AEo(A1E00008): STR R1, SP, 8H
02AFo(A2E0000C): STR R2, SP, CH
02B0o(A3E00010): STR R3, SP, 10H
02B1o(A4E00014): STR R4, SP, 14H
02B2o(A5E00018): STR R5, SP, 18H
02B3p .FIXUP D
02B3p(8D00000E): LDR SB, MT, MOD0 [GraphicFrames]
02B4p(40D80114): ADD R0, SB, 114H [data]
02B5p .FIXUP D
02B5p(8D500002): LDR SB, MT, MOD5 [Texts]
02B6p(41D80005): ADD R1, SB, VAR5
02B7q(4200000D): MOV R2, R0, DH
02B8r .FIXUP P
02B8r(F751B011): BL MOD5 [Texts] PROC27
NEW(cap);s cap.lent := end - beg;u
02B9s(40E80038): ADD R0, SP, 38H
02BAs .FIXUP D
02BAs(8D700005): LDR SB, MT, MOD7 [Graphics]
02BBs(41D8000D): ADD R1, SB, VAR13
02BCs(D719C20C): BL MT [trap=0, pos=6594]
02BDt(80E00038): LDR R0, SP, 38H
02BEt(D119CA4C): BLEQ MT [trap=4, pos=6602]
02BFu(81E00018): LDR R1, SP, 18H
02C0u(82E00014): LDR R2, SP, 14H
02C1u(01190002): SUB R1, R1, R2
02C2u(A1000020): STR R1, R0, 20H
cap.posv := Graphics.T.lenw + 1;x cap.doy := Graphics.CapMethod;z
02C3v(80E00038): LDR R0, SP, 38H
02C4v(D119E44C): BLEQ MT [trap=4, pos=6628]
02C5w .FIXUP D
02C5w(8D70000B): LDR SB, MT, MOD7 [Graphics]
02C6w(81D00011): LDR R1, SB, VAR17
02C7w(D119F64C): BLEQ MT [trap=4, pos=6646]
02C8x(81100000): LDR R1, R1, 0H
02C9x(41180001): ADD R1, R1, 1H
02CAx(A100001C): STR R1, R0, 1CH
02CBy(80E00038): LDR R0, SP, 38H
02CCy(D11A024C): BLEQ MT [trap=4, pos=6658]
02CDz .FIXUP D
02CDz(8D700008): LDR SB, MT, MOD7 [Graphics]
02CEz(81D00013): LDR R1, SB, VAR19
02CFz(A1000014): STR R1, R0, 14H
Texts.OpenReader(R,a T,b beg)c;d Texts.Read(R,e ch)f;g W.fnt := R.fnt;h W.col := R.col;i w := 0;j
02D0a(40E80040): ADD R0, SP, 40H
02D1a .FIXUP D
02D1a(8D500004): LDR SB, MT, MOD5 [Texts]
02D2a(41D80002): ADD R1, SB, VAR2
02D3b(82E00010): LDR R2, SP, 10H
02D4c(83E00014): LDR R3, SP, 14H
02D5d .FIXUP P
02D5d(F751201D): BL MOD5 [Texts] PROC18
02D6e(40E80040): ADD R0, SP, 40H
02D7e .FIXUP D
02D7e(8D500006): LDR SB, MT, MOD5 [Texts]
02D8e(41D80002): ADD R1, SB, VAR2
02D9f(42E8001C): ADD R2, SP, 1CH
02DAg .FIXUP P
02DAg(F7513005): BL MOD5 [Texts] PROC19
02DBh(80E00044): LDR R0, SP, 44H
02DCh .FIXUP D
02DCh(8D000005): LDR SB, MT, MOD0 [GraphicFrames]
02DDh(A0D00118): STR R0, SB, 118H [data]
02DEi(80E00048): LDR R0, SP, 48H
02DFi(A0D0011C): STR R0, SB, 11CH
02E0j(40000000): MOV R0, R0, 0H
02E1j(A0E00024): STR R0, SP, 24H
cap.xk := x1 - F.xl;m cap.yn := y1 - F.yo +p R.fnt.minYq;r
02E2k(80E00038): LDR R0, SP, 38H
02E3k(D11A7F4C): BLEQ MT [trap=4, pos=6783]
02E4l(81E00004): LDR R1, SP, 4H
02E5l(D11A8B4C): BLEQ MT [trap=4, pos=6795]
02E6m(82E00008): LDR R2, SP, 8H
02E7m(81100030): LDR R1, R1, 30H
02E8m(01290001): SUB R1, R2, R1
02E9m(A1000000): STR R1, R0, 0H
02EAn(80E00038): LDR R0, SP, 38H
02EBn(D11A924C): BLEQ MT [trap=4, pos=6802]
02ECo(81E00004): LDR R1, SP, 4H
02EDo(D11A9E4C): BLEQ MT [trap=4, pos=6814]
02EEp(82E0000C): LDR R2, SP, CH
02EFp(81100034): LDR R1, R1, 34H
02F0p(01290001): SUB R1, R2, R1
02F1q(82E00044): LDR R2, SP, 44H
02F2q(D11AAB4C): BLEQ MT [trap=4, pos=6827]
02F3r(8220002C): LDR R2, R2, 2CH
02F4r(01180002): ADD R1, R1, R2
02F5r(A1000004): STR R1, R0, 4H
WHILE beg < end DOs
02F6s(80E00014): LDR R0, SP, 14H
02F7s(81E00018): LDR R1, SP, 18H
02F8s(00090001): SUB R0, R0, R1
02F9s(ED00001C): BGE 28 [0316H]
Fonts.GetPat(R.fnt,t ch,u dx,v x2,w y2,x w1,y h1,z pat)a;b
02FAt(80E00044): LDR R0, SP, 44H
02FBu(91E0001C): LDR R1, SP, 1CH
02FCv(42E80020): ADD R2, SP, 20H
02FDw(43E80028): ADD R3, SP, 28H
02FEx(44E8002C): ADD R4, SP, 2CH
02FFy(45E80030): ADD R5, SP, 30H
0300z(46E80034): ADD R6, SP, 34H
0301a(47E8003C): ADD R7, SP, 3CH
0302b .FIXUP P
0302b(F7404028): BL MOD4 [Fonts] PROC4
INC(w, dx);c INC(beg);d Texts.Write(W,e ch)f;g Texts.Read(R,h ch)i
0303c(80E00024): LDR R0, SP, 24H
0304c(81E00020): LDR R1, SP, 20H
0305c(00080001): ADD R0, R0, R1
0306c(A0E00024): STR R0, SP, 24H
0307d(80E00014): LDR R0, SP, 14H
0308d(40080001): ADD R0, R0, 1H
0309d(A0E00014): STR R0, SP, 14H
030Ae .FIXUP D
030Ae(8D00002E): LDR SB, MT, MOD0 [GraphicFrames]
030Be(40D80114): ADD R0, SB, 114H [data]
030Ce .FIXUP D
030Ce(8D500002): LDR SB, MT, MOD5 [Texts]
030De(41D80005): ADD R1, SB, VAR5
030Ef(92E0001C): LDR R2, SP, 1CH
030Fg .FIXUP P
030Fg(F751B00D): BL MOD5 [Texts] PROC27
0310h(40E80040): ADD R0, SP, 40H
0311h .FIXUP D
0311h(8D500005): LDR SB, MT, MOD5 [Texts]
0312h(41D80002): ADD R1, SB, VAR2
0313i(42E8001C): ADD R2, SP, 1CH
ENDj ;
0314j .FIXUP P
0314j(F7513005): BL MOD5 [Texts] PROC19
0315j(E7FFFFE0): B -32 [02F6H]
cap.wk := w;l cap.hm := W.fnt.heightn;o cap.colp := W.col;q
0316k(80E00038): LDR R0, SP, 38H
0317k(D11B514C): BLEQ MT [trap=4, pos=6993]
0318l(81E00024): LDR R1, SP, 24H
0319l(A1000008): STR R1, R0, 8H
031Am(80E00038): LDR R0, SP, 38H
031Bm(D11B5D4C): BLEQ MT [trap=4, pos=7005]
031Cn .FIXUP D
031Cn(8D00000B): LDR SB, MT, MOD0 [GraphicFrames]
031Dn(81D00118): LDR R1, SB, 118H [data]
031En(D11B6D4C): BLEQ MT [trap=4, pos=7021]
031Fo(81100020): LDR R1, R1, 20H
0320o(A100000C): STR R1, R0, CH
0321p(80E00038): LDR R0, SP, 38H
0322p(D11B764C): BLEQ MT [trap=4, pos=7030]
0323q(81D0011C): LDR R1, SB, 11CH
0324q(B1000010): STR R1, R0, 10H
Texts.Append(Graphics.T,r W.buf)s;t Graphics.Add(F.graphu,v cap)w;x
0325r .FIXUP D
0325r(8D700009): LDR SB, MT, MOD7 [Graphics]
0326r(80D00011): LDR R0, SB, VAR17
0327s .FIXUP D
0327s(8D000002): LDR SB, MT, MOD0 [GraphicFrames]
0328s(81D00114): LDR R1, SB, 114H [data]
0329t .FIXUP P
0329t(F750E015): BL MOD5 [Texts] PROC14
032Au(80E00004): LDR R0, SP, 4H
032Bu(D11BBA4C): BLEQ MT [trap=4, pos=7098]
032Cv(8000001C): LDR R0, R0, 1CH
032Dw(81E00038): LDR R1, SP, 38H
032Ex .FIXUP P
032Ex(F7716005): BL MOD7 [Graphics] PROC22
Mark(F,y 1)z;a RETURN cap
032Fy(80E00004): LDR R0, SP, 4H
0330z(41000001): MOV R1, R0, 1H
0331a(F7FFFE24): BL -476 [0156H]
ENDb CaptionCopy;
0332b(80E00038): LDR R0, SP, 38H
0333b(8FE00000): LDR LNK, SP, 0H
0334b(4EE80074): ADD SP, SP, 74H
0335b(C700000F): B LNK
PROCEDURE NewLine(F: Frame; G: Graphics.Graph; x, y, w, h: INTEGER);
VAR line: Graphics.Line;
BEGINc NEW(line);d line.cole := Oberon.CurCol;f line.xg := x - F.xh;i line.yj := y - F.yk;l
0336c(4EE90020): SUB SP, SP, 20H
0337c(AFE00000): STR LNK, SP, 0H
0338c(A0E00004): STR R0, SP, 4H
0339c(A1E00008): STR R1, SP, 8H
033Ac(A2E0000C): STR R2, SP, CH
033Bc(A3E00010): STR R3, SP, 10H
033Cc(A4E00014): STR R4, SP, 14H
033Dc(A5E00018): STR R5, SP, 18H
033Ed(40E8001C): ADD R0, SP, 1CH
033Fd .FIXUP D
033Fd(8D700018): LDR SB, MT, MOD7 [Graphics]
0340d(41D8000C): ADD R1, SB, VAR12
0341d(D71C670C): BL MT [trap=0, pos=7271]
0342e(80E0001C): LDR R0, SP, 1CH
0343e(D11C704C): BLEQ MT [trap=4, pos=7280]
0344f .FIXUP D
0344f(8D900005): LDR SB, MT, MOD9 [Oberon]
0345f(81D00010): LDR R1, SB, VAR16
0346f(B1000010): STR R1, R0, 10H
0347g(80E0001C): LDR R0, SP, 1CH
0348g(D11C894C): BLEQ MT [trap=4, pos=7305]
0349h(81E00004): LDR R1, SP, 4H
034Ah(D11C944C): BLEQ MT [trap=4, pos=7316]
034Bi(82E0000C): LDR R2, SP, CH
034Ci(81100030): LDR R1, R1, 30H
034Di(01290001): SUB R1, R2, R1
034Ei(A1000000): STR R1, R0, 0H
034Fj(80E0001C): LDR R0, SP, 1CH
0350j(D11C9C4C): BLEQ MT [trap=4, pos=7324]
0351k(81E00004): LDR R1, SP, 4H
0352k(D11CA74C): BLEQ MT [trap=4, pos=7335]
0353l(82E00010): LDR R2, SP, 10H
0354l(81100034): LDR R1, R1, 34H
0355l(01290001): SUB R1, R2, R1
0356l(A1000004): STR R1, R0, 4H
line.wm := w;n line.ho := h;p line.doq := Graphics.LineMethod;r
0357m(80E0001C): LDR R0, SP, 1CH
0358m(D11CB34C): BLEQ MT [trap=4, pos=7347]
0359n(81E00014): LDR R1, SP, 14H
035An(A1000008): STR R1, R0, 8H
035Bo(80E0001C): LDR R0, SP, 1CH
035Co(D11CC04C): BLEQ MT [trap=4, pos=7360]
035Dp(81E00018): LDR R1, SP, 18H
035Ep(A100000C): STR R1, R0, CH
035Fq(80E0001C): LDR R0, SP, 1CH
0360q(D11CCE4C): BLEQ MT [trap=4, pos=7374]
0361r .FIXUP D
0361r(8D70001D): LDR SB, MT, MOD7 [Graphics]
0362r(81D00012): LDR R1, SB, VAR18
0363r(A1000014): STR R1, R0, 14H
Graphics.Add(G,s line)t;u Mark(F,v 1)w
0364s(80E00008): LDR R0, SP, 8H
0365t(81E0001C): LDR R1, SP, 1CH
0366u .FIXUP P
0366u(F7716038): BL MOD7 [Graphics] PROC22
0367v(80E00004): LDR R0, SP, 4H
0368w(41000001): MOV R1, R0, 1H
ENDx NewLine;
0369x(F7FFFDEC): BL -532 [0156H]
036Ax(8FE00000): LDR LNK, SP, 0H
036Bx(4EE80020): ADD SP, SP, 20H
036Cx(C700000F): B LNK
PROCEDURE Edit(F: Frame; x0, y0: INTEGER; k0: SET);
VAR obj: Graphics.Object;
x1, y1, w, h, t: INTEGER;
beg, end, time: LONGINT;
k1, k2: SET;
mark, newmark: Location;
T: Texts.Text;
Fd: Frame;
G: Graphics.Graph;
BEGINy k1 := k0;z G := F.grapha;b
036Dy(4EE90054): SUB SP, SP, 54H
036Ey(AFE00000): STR LNK, SP, 0H
036Fy(A0E00004): STR R0, SP, 4H
0370y(A1E00008): STR R1, SP, 8H
0371y(A2E0000C): STR R2, SP, CH
0372y(A3E00010): STR R3, SP, 10H
0373z(80E00010): LDR R0, SP, 10H
0374z(A0E00038): STR R0, SP, 38H
0375a(80E00004): LDR R0, SP, 4H
0376a(D11E3F4C): BLEQ MT [trap=4, pos=7743]
0377b(8000001C): LDR R0, R0, 1CH
0378b(A0E00050): STR R0, SP, 50H
REPEAT Input.Mouse(k2,c x1,d y1)e;f k1 := k1 + k2;g
0379c(40E8003C): ADD R0, SP, 3CH
037Ad(41E80018): ADD R1, SP, 18H
037Be(42E8001C): ADD R2, SP, 1CH
037Cf .FIXUP P
037Cf(F7303016): BL MOD3 [Input] PROC3
037Dg(80E00038): LDR R0, SP, 38H
037Eg(81E0003C): LDR R1, SP, 3CH
037Fg(00060001): IOR R0, R0, R1
0380g(A0E00038): STR R0, SP, 38H
DEC(x1, (x1-F.xh)i MOD 4)j;k DEC(y1, (y1-F.yl)m MOD 4)n;o
0381h(80E00004): LDR R0, SP, 4H
0382h(D11E894C): BLEQ MT [trap=4, pos=7817]
0383i(81E00018): LDR R1, SP, 18H
0384i(80000030): LDR R0, R0, 30H
0385i(00190000): SUB R0, R1, R0
0386j(40040003): AND R0, R0, 3H
0387k(81E00018): LDR R1, SP, 18H
0388k(01190000): SUB R1, R1, R0
0389k(A1E00018): STR R1, SP, 18H
038Al(80E00004): LDR R0, SP, 4H
038Bl(D11EA24C): BLEQ MT [trap=4, pos=7842]
038Cm(81E0001C): LDR R1, SP, 1CH
038Dm(80000034): LDR R0, R0, 34H
038Em(00190000): SUB R0, R1, R0
038Fn(40040003): AND R0, R0, 3H
0390o(81E0001C): LDR R1, SP, 1CH
0391o(01190000): SUB R1, R1, R0
0392o(A1E0001C): STR R1, SP, 1CH
Oberon.DrawMouse(Crosshair,p x1,q y1)r
0393p .FIXUP D
0393p(8D000032): LDR SB, MT, MOD0 [GraphicFrames]
0394p(40D800EC): ADD R0, SB, ECH [data]
0395p .FIXUP D
0395p(8D900002): LDR SB, MT, MOD9 [Oberon]
0396p(41D80001): ADD R1, SB, VAR1
0397q(82E00018): LDR R2, SP, 18H
0398r(83E0001C): LDR R3, SP, 1CH
UNTILs k2 = {};t
0399s .FIXUP P
0399s(F791701D): BL MOD9 [Oberon] PROC23
039At(80E0003C): LDR R0, SP, 3CH
039Bt(E9FFFFDD): BNE -35 [0379H]
Oberon.FadeMouse;u
039Cu .FIXUP P
039Cu(F7919003): BL MOD9 [Oberon] PROC25
IF k0 = {2} THENv (*left key*)
039Dv(80E00010): LDR R0, SP, 10H
039Ev(40090004): SUB R0, R0, 4H
039Fv(E90000C7): BNE 199 [0467H]
w := ABS(x1-x0)w;x h := ABS(y1-y0)y;z
03A0w(80E00018): LDR R0, SP, 18H
03A1w(81E00008): LDR R1, SP, 8H
03A2w(00090001): SUB R0, R0, R1
03A3x(40090000): SUB R0, R0, 0H
03A4x(ED000002): BGE 2 [03A7H]
03A5x(41000000): MOV R1, R0, 0H
03A6x(00190000): SUB R0, R1, R0
03A7x(A0E00020): STR R0, SP, 20H
03A8y(80E0001C): LDR R0, SP, 1CH
03A9y(81E0000C): LDR R1, SP, CH
03AAy(00090001): SUB R0, R0, R1
03ABz(40090000): SUB R0, R0, 0H
03ACz(ED000002): BGE 2 [03AFH]
03ADz(41000000): MOV R1, R0, 0H
03AEz(00190000): SUB R0, R1, R0
03AFz(A0E00024): STR R0, SP, 24H
IF k1 = {2} THENa
03B0a(80E00038): LDR R0, SP, 38H
03B1a(40090004): SUB R0, R0, 4H
03B2a(E9000062): BNE 98 [0415H]
IF (w < 7)b & (ch < 7)d THENe (*set mark*)
03B3b(80E00020): LDR R0, SP, 20H
03B4b(40090007): SUB R0, R0, 7H
03B5c(ED000039): BGE 57 [03EFH]
03B6d(80E00024): LDR R0, SP, 24H
03B7d(40090007): SUB R0, R0, 7H
03B8e(ED000036): BGE 54 [03EFH]
IF (x1 - markW >=f F.Xg)h & (ix1 + markW <j F.X1k)l &
03B9f(80E00018): LDR R0, SP, 18H
03BAf(40090005): SUB R0, R0, 5H
03BBg(81E00004): LDR R1, SP, 4H
03BCg(D11FAF4C): BLEQ MT [trap=4, pos=8111]
03BDh(81100008): LDR R1, R1, 8H
03BEh(00090001): SUB R0, R0, R1
03BFi(E500002E): BLT 46 [03EEH]
03C0j(80E00018): LDR R0, SP, 18H
03C1j(40080005): ADD R0, R0, 5H
03C2k(81E00004): LDR R1, SP, 4H
03C3k(D11FC54C): BLEQ MT [trap=4, pos=8133]
03C4l(81100028): LDR R1, R1, 28H
03C5l(00090001): SUB R0, R0, R1
(my1 - markW >=n F.Yo)p & (qy1 + markW <r F.Y1s)t THENu
03C6m(ED000027): BGE 39 [03EEH]
03C7n(80E0001C): LDR R0, SP, 1CH
03C8n(40090005): SUB R0, R0, 5H
03C9o(81E00004): LDR R1, SP, 4H
03CAo(D11FE74C): BLEQ MT [trap=4, pos=8167]
03CBp(8110000C): LDR R1, R1, CH
03CCp(00090001): SUB R0, R0, R1
03CDq(E5000020): BLT 32 [03EEH]
03CEr(80E0001C): LDR R0, SP, 1CH
03CFr(40080005): ADD R0, R0, 5H
03D0s(81E00004): LDR R1, SP, 4H
03D1s(D11FFD4C): BLEQ MT [trap=4, pos=8189]
03D2t(8110002C): LDR R1, R1, 2CH
03D3t(00090001): SUB R0, R0, R1
03D4u(ED000019): BGE 25 [03EEH]
Defocus(F)v;w Oberon.PassFocus(Viewers.This(F.Xx,y F.Yz)a)b;c
03D5v(80E00004): LDR R0, SP, 4H
03D6w(F7FFFE16): BL -490 [01EDH]
03D7x(80E00004): LDR R0, SP, 4H
03D8x(D1203D4C): BLEQ MT [trap=4, pos=8253]
03D9y(80000008): LDR R0, R0, 8H
03DAz(81E00004): LDR R1, SP, 4H
03DBz(D120424C): BLEQ MT [trap=4, pos=8258]
03DCa(8110000C): LDR R1, R1, CH
03DDb .FIXUP P
03DDb(F7209041): BL MOD2 [Viewers] PROC9
03DEc .FIXUP P
03DEc(F7925001): BL MOD9 [Oberon] PROC37
F.markd.x := x1;e F.markf.y := y1;g F.markedh := TRUE;i FlipMark(x1,j y1)k
03DFd(80E00004): LDR R0, SP, 4H
03E0d(D120584C): BLEQ MT [trap=4, pos=8280]
03E1e(81E00018): LDR R1, SP, 18H
03E2e(A1000040): STR R1, R0, 40H
03E3f(80E00004): LDR R0, SP, 4H
03E4f(D120684C): BLEQ MT [trap=4, pos=8296]
03E5g(81E0001C): LDR R1, SP, 1CH
03E6g(A1000044): STR R1, R0, 44H
03E7h(80E00004): LDR R0, SP, 4H
03E8h(D1207A4C): BLEQ MT [trap=4, pos=8314]
03E9i(41000001): MOV R1, R0, 1H
03EAi(B100003C): STR R1, R0, 3CH
03EBj(80E00018): LDR R0, SP, 18H
03ECk(81E0001C): LDR R1, SP, 1CH
ENDl
03EDl(F7FFFDE8): BL -536 [01D6H]
ELSE (*draw line*) Deselectm(F)n;o
03EEm(E7000025): B 37 [0414H]
03EFn(80E00004): LDR R0, SP, 4H
03F0o(F7FFFE2A): BL -470 [021BH]
IF w < h THENp
03F1p(80E00020): LDR R0, SP, 20H
03F2p(81E00024): LDR R1, SP, 24H
03F3p(00090001): SUB R0, R0, R1
03F4p(ED00000F): BGE 15 [0404H]
IF y1 < y0 THENq y0 := y1 ENDr ;
03F5q(80E0001C): LDR R0, SP, 1CH
03F6q(81E0000C): LDR R1, SP, CH
03F7q(00090001): SUB R0, R0, R1
03F8q(ED000002): BGE 2 [03FBH]
03F9r(80E0001C): LDR R0, SP, 1CH
03FAr(A0E0000C): STR R0, SP, CH
NewLine(F,s G,t x0,u y0,v Graphics.width,w h)x
03FBs(80E00004): LDR R0, SP, 4H
03FCt(81E00050): LDR R1, SP, 50H
03FDu(82E00008): LDR R2, SP, 8H
03FEv(83E0000C): LDR R3, SP, CH
03FFw .FIXUP D
03FFw(8D70006A): LDR SB, MT, MOD7 [Graphics]
0400w(84D0000F): LDR R4, SB, VAR15
0401x(85E00024): LDR R5, SP, 24H
ELSEy
0402y(F7FFFF33): BL -205 [0336H]
IFz x1 < x0 THENa x0 := x1 ENDb ;
0403z(E700000E): B 14 [0412H]
0404a(80E00018): LDR R0, SP, 18H
0405a(81E00008): LDR R1, SP, 8H
0406a(00090001): SUB R0, R0, R1
0407a(ED000002): BGE 2 [040AH]
0408b(80E00018): LDR R0, SP, 18H
0409b(A0E00008): STR R0, SP, 8H
NewLine(F,c G,d x0,e y0,f w,g Graphics.width)h
040Ac(80E00004): LDR R0, SP, 4H
040Bd(81E00050): LDR R1, SP, 50H
040Ce(82E00008): LDR R2, SP, 8H
040Df(83E0000C): LDR R3, SP, CH
040Eg(84E00020): LDR R4, SP, 20H
040Fh .FIXUP D
040Fh(8D700010): LDR SB, MT, MOD7 [Graphics]
0410h(85D0000F): LDR R5, SB, VAR15
ENDi ;
0411i(F7FFFF24): BL -220 [0336H]
Draw(F)j
0412j(80E00004): LDR R0, SP, 4H
ENDk
0413k(F7FFFD55): BL -683 [0169H]
ELSIF k1l = {2, 1} THENm (*copy text selection to mark*)
0414l(E7000051): B 81 [0466H]
0415m(80E00038): LDR R0, SP, 38H
0416m(40090006): SUB R0, R0, 6H
0417m(E900001C): BNE 28 [0434H]
Deselect(F)n;o Oberon.GetSelection(T,p beg,q end,r time)s;t
0418n(80E00004): LDR R0, SP, 4H
0419o(F7FFFE01): BL -511 [021BH]
041Ap(40E80048): ADD R0, SP, 48H
041Bq(41E8002C): ADD R1, SP, 2CH
041Cr(42E80030): ADD R2, SP, 30H
041Ds(43E80034): ADD R3, SP, 34H
041Et .FIXUP P
041Et(F7929040): BL MOD9 [Oberon] PROC41
IF time >= 0 THENu
041Fu(80E00034): LDR R0, SP, 34H
0420u(40090000): SUB R0, R0, 0H
0421u(E5000011): BLT 17 [0433H]
DrawObj(F,v CaptionCopy(Fw,x x1,y y1,z T,a beg,b end)c)d;e Mark(F,f 1)g
0422v(80E00004): LDR R0, SP, 4H
0423w(4EE90004): SUB SP, SP, 4H
0424w(A0E00000): STR R0, SP, 0H
0425x(80E00008): LDR R0, SP, 8H
0426y(81E0001C): LDR R1, SP, 1CH
0427z(82E00020): LDR R2, SP, 20H
0428a(83E0004C): LDR R3, SP, 4CH
0429b(84E00030): LDR R4, SP, 30H
042Ac(85E00034): LDR R5, SP, 34H
042Bd(F7FFFE7F): BL -385 [02ABH]
042Cd(01000000): MOV R1, R0, R0
042Dd(80E00000): LDR R0, SP, 0H
042Ed(4EE80004): ADD SP, SP, 4H
042Fe(F7FFFD6C): BL -660 [019CH]
0430f(80E00004): LDR R0, SP, 4H
0431g(41000001): MOV R1, R0, 1H
ENDh
0432h(F7FFFD23): BL -733 [0156H]
ELSIF k1i = {2, 0} THENj
0433i(E7000032): B 50 [0466H]
0434j(80E00038): LDR R0, SP, 38H
0435j(40090005): SUB R0, R0, 5H
0436j(E900002F): BNE 47 [0466H]
IF F.markedk THENl (*set secondary mark*)
0437k(80E00004): LDR R0, SP, 4H
0438k(D122F64C): BLEQ MT [trap=4, pos=8950]
0439l(9000003C): LDR R0, R0, 3CH
043Al(E100002B): BEQ 43 [0466H]
NEW(newmark);m newmark.xn := x1;o newmark.yp := y1;q newmark.nextr := NIL;s
043Bm(40E80044): ADD R0, SP, 44H
043Cm .FIXUP D
043Cm(8D00002D): LDR SB, MT, MOD0 [GraphicFrames]
043Dm(41D80000): ADD R1, SB, 0H [data]
043Em(D7232C0C): BL MT [trap=0, pos=9004]
043Fn(80E00044): LDR R0, SP, 44H
0440n(D123364C): BLEQ MT [trap=4, pos=9014]
0441o(81E00018): LDR R1, SP, 18H
0442o(A1000000): STR R1, R0, 0H
0443p(80E00044): LDR R0, SP, 44H
0444p(D123474C): BLEQ MT [trap=4, pos=9031]
0445q(81E0001C): LDR R1, SP, 1CH
0446q(A1000004): STR R1, R0, 4H
0447r(80E00044): LDR R0, SP, 44H
0448r(D1235B4C): BLEQ MT [trap=4, pos=9051]
0449s(41000000): MOV R1, R0, 0H
044As(A1000008): STR R1, R0, 8H
FlipMark(x1,t y1)u;v mark := F.markw.next;x
044Bt(80E00018): LDR R0, SP, 18H
044Cu(81E0001C): LDR R1, SP, 1CH
044Dv(F7FFFD88): BL -632 [01D6H]
044Ew(80E00004): LDR R0, SP, 4H
044Fw(D1238E4C): BLEQ MT [trap=4, pos=9102]
0450x(80000048): LDR R0, R0, 48H
0451x(A0E00040): STR R0, SP, 40H
IF mark = NIL THENy F.markz.next := newmark ELSEa
0452y(80E00040): LDR R0, SP, 40H
0453y(E9000005): BNE 5 [0459H]
0454z(80E00004): LDR R0, SP, 4H
0455z(D123B84C): BLEQ MT [trap=4, pos=9144]
0456a(81E00044): LDR R1, SP, 44H
0457a(A1000048): STR R1, R0, 48H
WHILEb mark.nextc # NIL DOd mark := mark.nexte ENDf ;
0458b(E700000D): B 13 [0466H]
0459c(80E00040): LDR R0, SP, 40H
045Ac(D123E94C): BLEQ MT [trap=4, pos=9193]
045Bd(80000008): LDR R0, R0, 8H
045Cd(E1000005): BEQ 5 [0462H]
045De(80E00040): LDR R0, SP, 40H
045Ee(D124044C): BLEQ MT [trap=4, pos=9220]
045Ff(80000008): LDR R0, R0, 8H
0460f(A0E00040): STR R0, SP, 40H
0461f(E7FFFFF7): B -9 [0459H]
mark.nextg := newmark
0462g(80E00040): LDR R0, SP, 40H
0463g(D124204C): BLEQ MT [trap=4, pos=9248]
ENDh
0464h(81E00044): LDR R1, SP, 44H
0465h(A1000008): STR R1, R0, 8H
END
END
ELSIF k0i = {1} THENj (*middle key*)
0466i(E7000102): B 258 [0569H]
0467j(80E00010): LDR R0, SP, 10H
0468j(40090002): SUB R0, R0, 2H
0469j(E90000A0): BNE 160 [050AH]
IF k1 = {1} THENk (*move*)
046Ak(80E00038): LDR R0, SP, 38H
046Bk(40090002): SUB R0, R0, 2H
046Ck(E9000045): BNE 69 [04B2H]
IF (x0 # x1)l OR (my0 # y1)n THENo
046Dl(80E00008): LDR R0, SP, 8H
046El(81E00018): LDR R1, SP, 18H
046Fl(00090001): SUB R0, R0, R1
0470m(E9000004): BNE 4 [0475H]
0471n(80E0000C): LDR R0, SP, CH
0472n(81E0001C): LDR R1, SP, 1CH
0473n(00090001): SUB R0, R0, R1
0474o(E100003C): BEQ 60 [04B1H]
Fd := This(x1,p y1)q;r Erase(F)s;t
0475p(80E00018): LDR R0, SP, 18H
0476q(81E0001C): LDR R1, SP, 1CH
0477r(F7FFFCCC): BL -820 [0144H]
0478r(A0E0004C): STR R0, SP, 4CH
0479s(80E00004): LDR R0, SP, 4H
047At(F7FFFD0E): BL -754 [0189H]
IF Fd = F THENu Graphics.Move(G,v x1-x0,w y1-y0)x
047Bu(80E0004C): LDR R0, SP, 4CH
047Cu(81E00004): LDR R1, SP, 4H
047Du(00090001): SUB R0, R0, R1
047Eu(E9000009): BNE 9 [0488H]
047Fv(80E00050): LDR R0, SP, 50H
0480w(81E00018): LDR R1, SP, 18H
0481w(82E00008): LDR R2, SP, 8H
0482w(01190002): SUB R1, R1, R2
0483x(82E0001C): LDR R2, SP, 1CH
0484x(83E0000C): LDR R3, SP, CH
0485x(02290003): SUB R2, R2, R3
ELSIFy (zFd # NIL)a & (bFd.graphc = G)d THENe
0486y .FIXUP P
0486y(F771F068): BL MOD7 [Graphics] PROC31
0487z(E7000024): B 36 [04ACH]
0488a(80E0004C): LDR R0, SP, 4CH
0489b(E1000022): BEQ 34 [04ACH]
048Ac(80E0004C): LDR R0, SP, 4CH
048Bc(D125444C): BLEQ MT [trap=4, pos=9540]
048Cd(8000001C): LDR R0, R0, 1CH
048Dd(81E00050): LDR R1, SP, 50H
048Ed(00090001): SUB R0, R0, R1
048Fe(E900001C): BNE 28 [04ACH]
Graphics.Move(G,f (x1-Fd.xg-hx0+iF.xj)k DIV 4 *l 4,m (y1-Fd.yn-oy0+pF.yq)r DIV 4 *s 4)t
0490f(80E00050): LDR R0, SP, 50H
0491g(81E0004C): LDR R1, SP, 4CH
0492g(D125744C): BLEQ MT [trap=4, pos=9588]
0493h(82E00018): LDR R2, SP, 18H
0494h(81100030): LDR R1, R1, 30H
0495h(01290001): SUB R1, R2, R1
0496i(82E00008): LDR R2, SP, 8H
0497i(01190002): SUB R1, R1, R2
0498j(82E00004): LDR R2, SP, 4H
0499j(D1257B4C): BLEQ MT [trap=4, pos=9595]
049Ak(82200030): LDR R2, R2, 30H
049Bk(01180002): ADD R1, R1, R2
049Cl(41120002): ASR R1, R1, 2H
049Dm(41110002): LSL R1, R1, 2H
049En(82E0004C): LDR R2, SP, 4CH
049Fn(D125904C): BLEQ MT [trap=4, pos=9616]
04A0o(83E0001C): LDR R3, SP, 1CH
04A1o(82200034): LDR R2, R2, 34H
04A2o(02390002): SUB R2, R3, R2
04A3p(83E0000C): LDR R3, SP, CH
04A4p(02290003): SUB R2, R2, R3
04A5q(83E00004): LDR R3, SP, 4H
04A6q(D125974C): BLEQ MT [trap=4, pos=9623]
04A7r(83300034): LDR R3, R3, 34H
04A8r(02280003): ADD R2, R2, R3
04A9s(42220002): ASR R2, R2, 2H
04AAt(42210002): LSL R2, R2, 2H
ENDu ;
04ABu .FIXUP P
04ABu(F771F025): BL MOD7 [Graphics] PROC31
Draw(F)v;w Mark(F,x 1)y
04ACv(80E00004): LDR R0, SP, 4H
04ADw(F7FFFCBB): BL -837 [0169H]
04AEx(80E00004): LDR R0, SP, 4H
04AFy(41000001): MOV R1, R0, 1H
ENDz
04B0z(F7FFFCA5): BL -859 [0156H]
ELSIF k1a = {1, 2} THENb (*copy*)
04B1a(E7000057): B 87 [0509H]
04B2b(80E00038): LDR R0, SP, 38H
04B3b(40090006): SUB R0, R0, 6H
04B4b(E900003D): BNE 61 [04F2H]
Fd := This(x1,c y1)d;e
04B5c(80E00018): LDR R0, SP, 18H
04B6d(81E0001C): LDR R1, SP, 1CH
04B7e(F7FFFC8C): BL -884 [0144H]
04B8e(A0E0004C): STR R0, SP, 4CH
IF Fd # NIL THENf DrawNorm(F)g;h
04B9f(80E0004C): LDR R0, SP, 4CH
04BAf(E1000036): BEQ 54 [04F1H]
04BBg(80E00004): LDR R0, SP, 4H
04BCh(F7FFFCBC): BL -836 [0179H]
IF Fd = F THENi Graphics.Copy(G,j G,k x1-x0,l y1-y0)m
04BDi(80E0004C): LDR R0, SP, 4CH
04BEi(81E00004): LDR R1, SP, 4H
04BFi(00090001): SUB R0, R0, R1
04C0i(E900000A): BNE 10 [04CBH]
04C1j(80E00050): LDR R0, SP, 50H
04C2k(81E00050): LDR R1, SP, 50H
04C3l(82E00018): LDR R2, SP, 18H
04C4l(83E00008): LDR R3, SP, 8H
04C5l(02290003): SUB R2, R2, R3
04C6m(83E0001C): LDR R3, SP, 1CH
04C7m(84E0000C): LDR R4, SP, CH
04C8m(03390004): SUB R3, R3, R4
ELSEn Deselecto(Fd)p;q
04C9n .FIXUP P
04C9n(F772001E): BL MOD7 [Graphics] PROC32
04CAo(E7000021): B 33 [04ECH]
04CBp(80E0004C): LDR R0, SP, 4CH
04CCq(F7FFFD4E): BL -690 [021BH]
Graphics.Copy(G,r Fd.graphs,t (x1-Fd.xu-vx0+wF.xx)y DIV 4 *z 4,a (y1-Fd.yb-cy0+dF.ye)f DIV 4 *g 4)h
04CDr(80E00050): LDR R0, SP, 50H
04CEs(81E0004C): LDR R1, SP, 4CH
04CFs(D126C34C): BLEQ MT [trap=4, pos=9923]
04D0t(8110001C): LDR R1, R1, 1CH
04D1u(82E0004C): LDR R2, SP, 4CH
04D2u(D126CD4C): BLEQ MT [trap=4, pos=9933]
04D3v(83E00018): LDR R3, SP, 18H
04D4v(82200030): LDR R2, R2, 30H
04D5v(02390002): SUB R2, R3, R2
04D6w(83E00008): LDR R3, SP, 8H
04D7w(02290003): SUB R2, R2, R3
04D8x(83E00004): LDR R3, SP, 4H
04D9x(D126D44C): BLEQ MT [trap=4, pos=9940]
04DAy(83300030): LDR R3, R3, 30H
04DBy(02280003): ADD R2, R2, R3
04DCz(42220002): ASR R2, R2, 2H
04DDa(42210002): LSL R2, R2, 2H
04DEb(83E0004C): LDR R3, SP, 4CH
04DFb(D126E94C): BLEQ MT [trap=4, pos=9961]
04E0c(84E0001C): LDR R4, SP, 1CH
04E1c(83300034): LDR R3, R3, 34H
04E2c(03490003): SUB R3, R4, R3
04E3d(84E0000C): LDR R4, SP, CH
04E4d(03390004): SUB R3, R3, R4
04E5e(84E00004): LDR R4, SP, 4H
04E6e(D126F04C): BLEQ MT [trap=4, pos=9968]
04E7f(84400034): LDR R4, R4, 34H
04E8f(03380004): ADD R3, R3, R4
04E9g(43320002): ASR R3, R3, 2H
04EAh(43310002): LSL R3, R3, 2H
ENDi ;
04EBi .FIXUP P
04EBi(F7720022): BL MOD7 [Graphics] PROC32
Draw(Fd)j;k Mark(F,l 1)m
04ECj(80E0004C): LDR R0, SP, 4CH
04EDk(F7FFFC7B): BL -901 [0169H]
04EEl(80E00004): LDR R0, SP, 4H
04EFm(41000001): MOV R1, R0, 1H
ENDn
04F0n(F7FFFC65): BL -923 [0156H]
ELSIF k1o = {1, 0} THENp (*shift graph*)
04F1o(E7000017): B 23 [0509H]
04F2p(80E00038): LDR R0, SP, 38H
04F3p(40090003): SUB R0, R0, 3H
04F4p(E9000014): BNE 20 [0509H]
INC(F.Xgq, x1-x0)r;s INC(F.Ygt, y1-y0)u;v Restore(F)w
04F5q(80E00004): LDR R0, SP, 4H
04F6q(D127754C): BLEQ MT [trap=4, pos=10101]
04F7r(81E00018): LDR R1, SP, 18H
04F8r(82E00008): LDR R2, SP, 8H
04F9r(01190002): SUB R1, R1, R2
04FAs(40080020): ADD R0, R0, 20H
04FBs(82000000): LDR R2, R0, 0H
04FCs(02280001): ADD R2, R2, R1
04FDs(A2000000): STR R2, R0, 0H
04FEt(80E00004): LDR R0, SP, 4H
04FFt(D127874C): BLEQ MT [trap=4, pos=10119]
0500u(81E0001C): LDR R1, SP, 1CH
0501u(82E0000C): LDR R2, SP, CH
0502u(01190002): SUB R1, R1, R2
0503v(40080024): ADD R0, R0, 24H
0504v(82000000): LDR R2, R0, 0H
0505v(02280001): ADD R2, R2, R1
0506v(A2000000): STR R2, R0, 0H
0507w(80E00004): LDR R0, SP, 4H
ENDx
0508x(F7FFFB30): BL -1232 [0039H]
ELSIF k0y = {0} THENz (*right key: select*)
0509y(E700005F): B 95 [0569H]
050Az(80E00010): LDR R0, SP, 10H
050Bz(40090001): SUB R0, R0, 1H
050Cz(E900005C): BNE 92 [0569H]
newcap := NIL;a
050Da(40000000): MOV R0, R0, 0H
050Ea .FIXUP D
050Ea(8D0000D2): LDR SB, MT, MOD0 [GraphicFrames]
050Fa(A0D00100): STR R0, SB, 100H [data]
IF k1 = {0} THENb Deselect(F)c ENDd ;
0510b(80E00038): LDR R0, SP, 38H
0511b(40090001): SUB R0, R0, 1H
0512b(E9000002): BNE 2 [0515H]
0513c(80E00004): LDR R0, SP, 4H
0514d(F7FFFD06): BL -762 [021BH]
IF (ABS(x0-x1)e <f 7)g & (hABS(y0-y1)i <j 7)k THENl
0515e(80E00008): LDR R0, SP, 8H
0516e(81E00018): LDR R1, SP, 18H
0517e(00090001): SUB R0, R0, R1
0518f(40090000): SUB R0, R0, 0H
0519f(ED000002): BGE 2 [051CH]
051Af(41000000): MOV R1, R0, 0H
051Bf(00190000): SUB R0, R1, R0
051Cg(40090007): SUB R0, R0, 7H
051Dh(ED00001F): BGE 31 [053DH]
051Ei(80E0000C): LDR R0, SP, CH
051Fi(81E0001C): LDR R1, SP, 1CH
0520i(00090001): SUB R0, R0, R1
0521j(40090000): SUB R0, R0, 0H
0522j(ED000002): BGE 2 [0525H]
0523j(41000000): MOV R1, R0, 0H
0524j(00190000): SUB R0, R1, R0
0525k(40090007): SUB R0, R0, 7H
0526l(ED000016): BGE 22 [053DH]
obj := Graphics.ThisObj(G,m x1 - F.xn,o y1 - F.yp)q;r
0527m(80E00050): LDR R0, SP, 50H
0528n(81E00004): LDR R1, SP, 4H
0529n(D1286F4C): BLEQ MT [trap=4, pos=10351]
052Ao(82E00018): LDR R2, SP, 18H
052Bo(81100030): LDR R1, R1, 30H
052Co(01290001): SUB R1, R2, R1
052Dp(82E00004): LDR R2, SP, 4H
052Ep(D128794C): BLEQ MT [trap=4, pos=10361]
052Fq(83E0001C): LDR R3, SP, 1CH
0530q(82200034): LDR R2, R2, 34H
0531q(02390002): SUB R2, R3, R2
0532r .FIXUP P
0532r(F7717047): BL MOD7 [Graphics] PROC23
0533r(A0E00014): STR R0, SP, 14H
IF obj # NIL THENs Graphics.SelectObj(G,t obj)u;v DrawObj(F,w obj)x ENDy
0534s(80E00014): LDR R0, SP, 14H
0535s(E1000006): BEQ 6 [053CH]
0536t(80E00050): LDR R0, SP, 50H
0537u(81E00014): LDR R1, SP, 14H
0538v .FIXUP P
0538v(F7718006): BL MOD7 [Graphics] PROC24
0539w(80E00004): LDR R0, SP, 4H
053Ax(81E00014): LDR R1, SP, 14H
053By(F7FFFC60): BL -928 [019CH]
ELSE
IFz x1 < x0 THENa t := x0;b x0 := x1;c x1 := t ENDd ;
053Cz(E700002C): B 44 [0569H]
053Da(80E00018): LDR R0, SP, 18H
053Ea(81E00008): LDR R1, SP, 8H
053Fa(00090001): SUB R0, R0, R1
0540a(ED000006): BGE 6 [0547H]
0541b(80E00008): LDR R0, SP, 8H
0542b(A0E00028): STR R0, SP, 28H
0543c(80E00018): LDR R0, SP, 18H
0544c(A0E00008): STR R0, SP, 8H
0545d(80E00028): LDR R0, SP, 28H
0546d(A0E00018): STR R0, SP, 18H
IF y1 < y0 THENe t := y0;f y0 := y1;g y1 := t ENDh ;
0547e(80E0001C): LDR R0, SP, 1CH
0548e(81E0000C): LDR R1, SP, CH
0549e(00090001): SUB R0, R0, R1
054Ae(ED000006): BGE 6 [0551H]
054Bf(80E0000C): LDR R0, SP, CH
054Cf(A0E00028): STR R0, SP, 28H
054Dg(80E0001C): LDR R0, SP, 1CH
054Eg(A0E0000C): STR R0, SP, CH
054Fh(80E00028): LDR R0, SP, 28H
0550h(A0E0001C): STR R0, SP, 1CH
Graphics.SelectArea(G,i x0 - F.xj,k y0 - F.yl,m x1 - F.xn,o y1 - F.yp)q;r Draw(F)s
0551i(80E00050): LDR R0, SP, 50H
0552j(81E00004): LDR R1, SP, 4H
0553j(D1296A4C): BLEQ MT [trap=4, pos=10602]
0554k(82E00008): LDR R2, SP, 8H
0555k(81100030): LDR R1, R1, 30H
0556k(01290001): SUB R1, R2, R1
0557l(82E00004): LDR R2, SP, 4H
0558l(D129744C): BLEQ MT [trap=4, pos=10612]
0559m(83E0000C): LDR R3, SP, CH
055Am(82200034): LDR R2, R2, 34H
055Bm(02390002): SUB R2, R3, R2
055Cn(83E00004): LDR R3, SP, 4H
055Dn(D1297E4C): BLEQ MT [trap=4, pos=10622]
055Eo(84E00018): LDR R4, SP, 18H
055Fo(83300030): LDR R3, R3, 30H
0560o(03490003): SUB R3, R4, R3
0561p(84E00004): LDR R4, SP, 4H
0562p(D129884C): BLEQ MT [trap=4, pos=10632]
0563q(85E0001C): LDR R5, SP, 1CH
0564q(84400034): LDR R4, R4, 34H
0565q(04590004): SUB R4, R5, R4
0566r .FIXUP P
0566r(F771902E): BL MOD7 [Graphics] PROC25
0567s(80E00004): LDR R0, SP, 4H
ENDt
0568t(F7FFFC00): BL -1024 [0169H]
END
ENDu Edit;
0569u(8FE00000): LDR LNK, SP, 0H
056Au(4EE80054): ADD SP, SP, 54H
056Bu(C700000F): B LNK
PROCEDURE NewCaption(F: Frame; col: INTEGER; font: Fonts.Font);
BEGINv Texts.Write(W,w 0DX)x;y
056Cv(4EE90010): SUB SP, SP, 10H
056Dv(AFE00000): STR LNK, SP, 0H
056Ev(A0E00004): STR R0, SP, 4H
056Fv(A1E00008): STR R1, SP, 8H
0570v(A2E0000C): STR R2, SP, CH
0571w .FIXUP D
0571w(8D000063): LDR SB, MT, MOD0 [GraphicFrames]
0572w(40D80114): ADD R0, SB, 114H [data]
0573w .FIXUP D
0573w(8D500002): LDR SB, MT, MOD5 [Texts]
0574w(41D80005): ADD R1, SB, VAR5
0575x(4200000D): MOV R2, R0, DH
0576y .FIXUP P
0576y(F751B010): BL MOD5 [Texts] PROC27
NEW(newcap);z newcap.xa := F.markb.x - F.xc;d newcap.ye := F.markf.y - F.yg +h font.minYi;j
0577z .FIXUP D
0577z(8D000004): LDR SB, MT, MOD0 [GraphicFrames]
0578z(40D80100): ADD R0, SB, 100H [data]
0579z .FIXUP D
0579z(8D700002): LDR SB, MT, MOD7 [Graphics]
057Az(41D8000D): ADD R1, SB, VAR13
057Bz(D72A210C): BL MT [trap=0, pos=10785]
057Ca .FIXUP D
057Ca(8D000003): LDR SB, MT, MOD0 [GraphicFrames]
057Da(80D00100): LDR R0, SB, 100H [data]
057Ea(D12A2A4C): BLEQ MT [trap=4, pos=10794]
057Fb(81E00004): LDR R1, SP, 4H
0580b(D12A344C): BLEQ MT [trap=4, pos=10804]
0581c(82E00004): LDR R2, SP, 4H
0582c(D12A3C4C): BLEQ MT [trap=4, pos=10812]
0583d(81100040): LDR R1, R1, 40H
0584d(82200030): LDR R2, R2, 30H
0585d(01190002): SUB R1, R1, R2
0586d(A1000000): STR R1, R0, 0H
0587e(80D00100): LDR R0, SB, 100H
0588e(D12A464C): BLEQ MT [trap=4, pos=10822]
0589f(81E00004): LDR R1, SP, 4H
058Af(D12A504C): BLEQ MT [trap=4, pos=10832]
058Bg(82E00004): LDR R2, SP, 4H
058Cg(D12A584C): BLEQ MT [trap=4, pos=10840]
058Dh(81100044): LDR R1, R1, 44H
058Eh(82200034): LDR R2, R2, 34H
058Fh(01190002): SUB R1, R1, R2
0590i(82E0000C): LDR R2, SP, CH
0591i(D12A644C): BLEQ MT [trap=4, pos=10852]
0592j(8220002C): LDR R2, R2, 2CH
0593j(01180002): ADD R1, R1, R2
0594j(A1000004): STR R1, R0, 4H
newcap.wk := 0;l newcap.hm := font.heightn;o newcap.colp := col;q
0595k(80D00100): LDR R0, SB, 100H
0596k(D12A724C): BLEQ MT [trap=4, pos=10866]
0597l(41000000): MOV R1, R0, 0H
0598l(A1000008): STR R1, R0, 8H
0599m(80D00100): LDR R0, SB, 100H
059Am(D12A814C): BLEQ MT [trap=4, pos=10881]
059Bn(81E0000C): LDR R1, SP, CH
059Cn(D12A904C): BLEQ MT [trap=4, pos=10896]
059Do(81100020): LDR R1, R1, 20H
059Eo(A100000C): STR R1, R0, CH
059Fp(80D00100): LDR R0, SB, 100H
05A0p(D12A9C4C): BLEQ MT [trap=4, pos=10908]
05A1q(81E00008): LDR R1, SP, 8H
05A2q(B1000010): STR R1, R0, 10H
newcap.posr := Graphics.T.lens + 1;t newcap.lenu := 0;v newcap.dow := Graphics.CapMethod;x
05A3r(80D00100): LDR R0, SB, 100H
05A4r(D12AB34C): BLEQ MT [trap=4, pos=10931]
05A5s .FIXUP D
05A5s(8D700029): LDR SB, MT, MOD7 [Graphics]
05A6s(81D00011): LDR R1, SB, VAR17
05A7s(D12AC54C): BLEQ MT [trap=4, pos=10949]
05A8t(81100000): LDR R1, R1, 0H
05A9t(41180001): ADD R1, R1, 1H
05AAt(A100001C): STR R1, R0, 1CH
05ABu .FIXUP D
05ABu(8D000006): LDR SB, MT, MOD0 [GraphicFrames]
05ACu(80D00100): LDR R0, SB, 100H [data]
05ADu(D12AD54C): BLEQ MT [trap=4, pos=10965]
05AEv(41000000): MOV R1, R0, 0H
05AFv(A1000020): STR R1, R0, 20H
05B0w(80D00100): LDR R0, SB, 100H
05B1w(D12AE54C): BLEQ MT [trap=4, pos=10981]
05B2x .FIXUP D
05B2x(8D700007): LDR SB, MT, MOD7 [Graphics]
05B3x(81D00013): LDR R1, SB, VAR19
05B4x(A1000014): STR R1, R0, 14H
Graphics.Add(F.graphy,z newcap)a;b W.fnt := font;c ; Mark(F,d 1)e
05B5y(80E00004): LDR R0, SP, 4H
05B6y(D12B154C): BLEQ MT [trap=4, pos=11029]
05B7z(8000001C): LDR R0, R0, 1CH
05B8a .FIXUP D
05B8a(8D000006): LDR SB, MT, MOD0 [GraphicFrames]
05B9a(81D00100): LDR R1, SB, 100H [data]
05BAb .FIXUP P
05BAb(F7716044): BL MOD7 [Graphics] PROC22
05BBc(80E0000C): LDR R0, SP, CH
05BCc .FIXUP D
05BCc(8D000004): LDR SB, MT, MOD0 [GraphicFrames]
05BDc(A0D00118): STR R0, SB, 118H [data]
05BEd(80E00004): LDR R0, SP, 4H
05BFe(41000001): MOV R1, R0, 1H
ENDf NewCaption;
05C0f(F7FFFB95): BL -1131 [0156H]
05C1f(8FE00000): LDR LNK, SP, 0H
05C2f(4EE80010): ADD SP, SP, 10H
05C3f(C700000F): B LNK
PROCEDURE InsertChar(F: Frame; ch: CHAR);
VAR w1, h1: INTEGER; DM: DispMsg;
BEGINg DM.graph := F.graphh;i
05C4g(4EE90028): SUB SP, SP, 28H
05C5g(AFE00000): STR LNK, SP, 0H
05C6g(A0E00004): STR R0, SP, 4H
05C7g(A1E00008): STR R1, SP, 8H
05C8h(80E00004): LDR R0, SP, 4H
05C9h(D12BBC4C): BLEQ MT [trap=4, pos=11196]
05CAi(8000001C): LDR R0, R0, 1CH
05CBi(A0E00024): STR R0, SP, 24H
Fonts.GetPat(W.fnt,j ch,k DM.w,l DM.x1,m DM.y1,n w1,o h1,p DM.pat)q;r DEC(DM.y1, W.fnt.minYs);t
05CCj .FIXUP D
05CCj(8D000010): LDR SB, MT, MOD0 [GraphicFrames]
05CDj(80D00118): LDR R0, SB, 118H [data]
05CEk(91E00008): LDR R1, SP, 8H
05CFl(42E8001C): ADD R2, SP, 1CH
05D0m(43E80014): ADD R3, SP, 14H
05D1n(44E80018): ADD R4, SP, 18H
05D2o(45E8000C): ADD R5, SP, CH
05D3p(46E80010): ADD R6, SP, 10H
05D4q(47E80020): ADD R7, SP, 20H
05D5r .FIXUP P
05D5r(F740401B): BL MOD4 [Fonts] PROC4
05D6s .FIXUP D
05D6s(8D00000A): LDR SB, MT, MOD0 [GraphicFrames]
05D7s(80D00118): LDR R0, SB, 118H [data]
05D8s(D12C144C): BLEQ MT [trap=4, pos=11284]
05D9t(81E00018): LDR R1, SP, 18H
05DAt(8000002C): LDR R0, R0, 2CH
05DBt(01190000): SUB R1, R1, R0
05DCt(A1E00018): STR R1, SP, 18H
IF newcap.xu + newcap.wv +w DM.w +x F.xy <z F.X1a THENb
05DDu(80D00100): LDR R0, SB, 100H
05DEu(D12C264C): BLEQ MT [trap=4, pos=11302]
05DFv(81D00100): LDR R1, SB, 100H
05E0v(D12C314C): BLEQ MT [trap=4, pos=11313]
05E1w(80000000): LDR R0, R0, 0H
05E2w(81100008): LDR R1, R1, 8H
05E3w(00080001): ADD R0, R0, R1
05E4x(81E0001C): LDR R1, SP, 1CH
05E5x(00080001): ADD R0, R0, R1
05E6y(81E00004): LDR R1, SP, 4H
05E7y(D12C3E4C): BLEQ MT [trap=4, pos=11326]
05E8z(81100030): LDR R1, R1, 30H
05E9z(00080001): ADD R0, R0, R1
05EAa(81E00004): LDR R1, SP, 4H
05EBa(D12C454C): BLEQ MT [trap=4, pos=11333]
05ECb(81100028): LDR R1, R1, 28H
05EDb(00090001): SUB R0, R0, R1
05EEb(ED000017): BGE 23 [0606H]
Viewers.Broadcast(DM)c;d INC(newcap.we, DM.w);f INC(newcap.leng);h Texts.Write(W,i ch)j
05EFc(40E80014): ADD R0, SP, 14H
05F0c .FIXUP D
05F0c(8D00001A): LDR SB, MT, MOD0 [GraphicFrames]
05F1c(41D800D4): ADD R1, SB, D4H [data]
05F2d .FIXUP P
05F2d(F720F01D): BL MOD2 [Viewers] PROC15
05F3e .FIXUP D
05F3e(8D000003): LDR SB, MT, MOD0 [GraphicFrames]
05F4e(80D00100): LDR R0, SB, 100H [data]
05F5e(D12C744C): BLEQ MT [trap=4, pos=11380]
05F6f(40080008): ADD R0, R0, 8H
05F7f(81000000): LDR R1, R0, 0H
05F8f(82E0001C): LDR R2, SP, 1CH
05F9f(01180002): ADD R1, R1, R2
05FAf(A1000000): STR R1, R0, 0H
05FBg(80D00100): LDR R0, SB, 100H
05FCg(D12C8B4C): BLEQ MT [trap=4, pos=11403]
05FDh(40080020): ADD R0, R0, 20H
05FEh(81000000): LDR R1, R0, 0H
05FFh(41180001): ADD R1, R1, 1H
0600h(A1000000): STR R1, R0, 0H
0601i(40D80114): ADD R0, SB, 114H
0602i .FIXUP D
0602i(8D50000F): LDR SB, MT, MOD5 [Texts]
0603i(41D80005): ADD R1, SB, VAR5
0604j(92E00008): LDR R2, SP, 8H
ENDk ;
0605k .FIXUP P
0605k(F751B013): BL MOD5 [Texts] PROC27
Texts.Append(Graphics.T,l W.buf)m
0606l .FIXUP D
0606l(8D700004): LDR SB, MT, MOD7 [Graphics]
0607l(80D00011): LDR R0, SB, VAR17
0608m .FIXUP D
0608m(8D000002): LDR SB, MT, MOD0 [GraphicFrames]
0609m(81D00114): LDR R1, SB, 114H [data]
ENDn InsertChar;
060An .FIXUP P
060An(F750E005): BL MOD5 [Texts] PROC14
060Bn(8FE00000): LDR LNK, SP, 0H
060Cn(4EE80028): ADD SP, SP, 28H
060Dn(C700000F): B LNK
PROCEDURE DeleteChar(F: Frame);
VAR w1, h1: INTEGER; ch: CHAR; pos: LONGINT;
DM: DispMsg; R: Texts.Reader;
BEGINo DM.graph := F.graphp;q
060Eo(4EE90060): SUB SP, SP, 60H
060Fo(AFE00000): STR LNK, SP, 0H
0610o(A0E00004): STR R0, SP, 4H
0611p(80E00004): LDR R0, SP, 4H
0612p(D12D744C): BLEQ MT [trap=4, pos=11636]
0613q(8000001C): LDR R0, R0, 1CH
0614q(A0E00028): STR R0, SP, 28H
IF newcap.lenr > 0 THENs
0615r .FIXUP D
0615r(8D00000D): LDR SB, MT, MOD0 [GraphicFrames]
0616r(80D00100): LDR R0, SB, 100H [data]
0617r(D12D874C): BLEQ MT [trap=4, pos=11655]
0618s(80000020): LDR R0, R0, 20H
0619s(40090000): SUB R0, R0, 0H
061As(E600003D): BLE 61 [0658H]
pos := Graphics.T.lent;u Texts.OpenReader(R,v Graphics.T,w pos-1)x;y (*backspace*)
061Bt .FIXUP D
061Bt(8D700006): LDR SB, MT, MOD7 [Graphics]
061Ct(80D00011): LDR R0, SB, VAR17
061Dt(D12DAC4C): BLEQ MT [trap=4, pos=11692]
061Eu(80000000): LDR R0, R0, 0H
061Fu(A0E00014): STR R0, SP, 14H
0620v(40E8002C): ADD R0, SP, 2CH
0621v .FIXUP D
0621v(8D500006): LDR SB, MT, MOD5 [Texts]
0622v(41D80002): ADD R1, SB, VAR2
0623w .FIXUP D
0623w(8D700002): LDR SB, MT, MOD7 [Graphics]
0624w(82D00011): LDR R2, SB, VAR17
0625x(83E00014): LDR R3, SP, 14H
0626x(43390001): SUB R3, R3, 1H
0627y .FIXUP P
0627y(F751201D): BL MOD5 [Texts] PROC18
Texts.Read(R,z ch)a;b
0628z(40E8002C): ADD R0, SP, 2CH
0629z .FIXUP D
0629z(8D500006): LDR SB, MT, MOD5 [Texts]
062Az(41D80002): ADD R1, SB, VAR2
062Ba(42E80010): ADD R2, SP, 10H
062Cb .FIXUP P
062Cb(F7513005): BL MOD5 [Texts] PROC19
IF ch >= " " THENc
062Dc(90E00010): LDR R0, SP, 10H
062Ec(40090020): SUB R0, R0, 20H
062Fc(E5000028): BLT 40 [0658H]
Fonts.GetPat(R.fnt,d ch,e DM.w,f DM.x1,g DM.y1,h w1,i h1,j DM.pat)k;l
0630d(80E00030): LDR R0, SP, 30H
0631e(91E00010): LDR R1, SP, 10H
0632f(42E80020): ADD R2, SP, 20H
0633g(43E80018): ADD R3, SP, 18H
0634h(44E8001C): ADD R4, SP, 1CH
0635i(45E80008): ADD R5, SP, 8H
0636j(46E8000C): ADD R6, SP, CH
0637k(47E80024): ADD R7, SP, 24H
0638l .FIXUP P
0638l(F740400C): BL MOD4 [Fonts] PROC4
DEC(newcap.wm, DM.w);n DEC(newcap.leno);p DEC(DM.y1, R.fnt.minYq);r
0639m .FIXUP D
0639m(8D000010): LDR SB, MT, MOD0 [GraphicFrames]
063Am(80D00100): LDR R0, SB, 100H [data]
063Bm(D12E6F4C): BLEQ MT [trap=4, pos=11887]
063Cn(40080008): ADD R0, R0, 8H
063Dn(81000000): LDR R1, R0, 0H
063En(82E00020): LDR R2, SP, 20H
063Fn(01190002): SUB R1, R1, R2
0640n(A1000000): STR R1, R0, 0H
0641o(80D00100): LDR R0, SB, 100H
0642o(D12E864C): BLEQ MT [trap=4, pos=11910]
0643p(40080020): ADD R0, R0, 20H
0644p(81000000): LDR R1, R0, 0H
0645p(41190001): SUB R1, R1, 1H
0646p(A1000000): STR R1, R0, 0H
0647q(80E00030): LDR R0, SP, 30H
0648q(D12E9E4C): BLEQ MT [trap=4, pos=11934]
0649r(81E0001C): LDR R1, SP, 1CH
064Ar(8000002C): LDR R0, R0, 2CH
064Br(01190000): SUB R1, R1, R0
064Cr(A1E0001C): STR R1, SP, 1CH
Viewers.Broadcast(DM)s;t Texts.Delete(Graphics.T,u pos-1,v pos,w TBuf)x
064Ds(40E80018): ADD R0, SP, 18H
064Es(41D800D4): ADD R1, SB, D4H
064Ft .FIXUP P
064Ft(F720F017): BL MOD2 [Viewers] PROC15
0650u .FIXUP D
0650u(8D700017): LDR SB, MT, MOD7 [Graphics]
0651u(80D00011): LDR R0, SB, VAR17
0652v(81E00014): LDR R1, SP, 14H
0653v(41190001): SUB R1, R1, 1H
0654w(82E00014): LDR R2, SP, 14H
0655x .FIXUP D
0655x(8D000005): LDR SB, MT, MOD0 [GraphicFrames]
0656x(83D00104): LDR R3, SB, 104H [data]
ENDy
0657y .FIXUP P
0657y(F750F008): BL MOD5 [Texts] PROC15
END
ENDz DeleteChar;
0658z(8FE00000): LDR LNK, SP, 0H
0659z(4EE80060): ADD SP, SP, 60H
065Az(C700000F): B LNK
PROCEDURE GetSelection(F: Frame; VAR text: Texts.Text; VAR beg, end, time: LONGINT);
VAR obj: Graphics.Object;
BEGINa obj := F.graphb.selc;d
065Ba(4EE9001C): SUB SP, SP, 1CH
065Ca(AFE00000): STR LNK, SP, 0H
065Da(A0E00004): STR R0, SP, 4H
065Ea(A1E00008): STR R1, SP, 8H
065Fa(A2E0000C): STR R2, SP, CH
0660a(A3E00010): STR R3, SP, 10H
0661a(A4E00014): STR R4, SP, 14H
0662b(80E00004): LDR R0, SP, 4H
0663b(D12F9B4C): BLEQ MT [trap=4, pos=12187]
0664c(8000001C): LDR R0, R0, 1CH
0665c(D12F9F4C): BLEQ MT [trap=4, pos=12191]
0666d(80000004): LDR R0, R0, 4H
0667d(A0E00018): STR R0, SP, 18H
IF (obj # NIL)e & (fF.graphg.timeh >= time)i THENj
0668e(80E00018): LDR R0, SP, 18H
0669f(E100002A): BEQ 42 [0694H]
066Ag(80E00004): LDR R0, SP, 4H
066Bg(D12FBE4C): BLEQ MT [trap=4, pos=12222]
066Ch(8000001C): LDR R0, R0, 1CH
066Dh(D12FC34C): BLEQ MT [trap=4, pos=12227]
066Ei(80000000): LDR R0, R0, 0H
066Fi(81E00014): LDR R1, SP, 14H
0670i(81100000): LDR R1, R1, 0H
0671i(00090001): SUB R0, R0, R1
0672j(E5000021): BLT 33 [0694H]
CASE obj OF Graphics.Caption:k
0673k(80E00018): LDR R0, SP, 18H
0674k(E1000005): BEQ 5 [067AH]
0675k(810FFFF8): LDR R1, R0, FFFFFFF8H
0676k(81100004): LDR R1, R1, 4H
0677k .FIXUP D
0677k(8D700022): LDR SB, MT, MOD7 [Graphics]
0678k(42D8000D): ADD R2, SB, VAR13
0679k(02290001): SUB R2, R2, R1
067Ak(E9000019): BNE 25 [0694H]
beg := obj.posl;m end := obj.posn + obj.leno;p text := Graphics.T;q time := F.graphr.times
067Bl(80E00018): LDR R0, SP, 18H
067Cl(D1300C4C): BLEQ MT [trap=4, pos=12300]
067Dm(8000001C): LDR R0, R0, 1CH
067Em(81E0000C): LDR R1, SP, CH
067Fm(A0100000): STR R0, R1, 0H
0680n(80E00018): LDR R0, SP, 18H
0681n(D1301C4C): BLEQ MT [trap=4, pos=12316]
0682o(81E00018): LDR R1, SP, 18H
0683o(D130264C): BLEQ MT [trap=4, pos=12326]
0684p(8000001C): LDR R0, R0, 1CH
0685p(81100020): LDR R1, R1, 20H
0686p(00080001): ADD R0, R0, R1
0687p(81E00010): LDR R1, SP, 10H
0688p(A0100000): STR R0, R1, 0H
0689q .FIXUP D
0689q(8D700012): LDR SB, MT, MOD7 [Graphics]
068Aq(80D00011): LDR R0, SB, VAR17
068Bq(81E00008): LDR R1, SP, 8H
068Cq(A0100000): STR R0, R1, 0H
068Dr(80E00004): LDR R0, SP, 4H
068Er(D1304B4C): BLEQ MT [trap=4, pos=12363]
068Fs(8000001C): LDR R0, R0, 1CH
0690s(D130504C): BLEQ MT [trap=4, pos=12368]
ENDt
0691t(80000000): LDR R0, R0, 0H
0692t(81E00014): LDR R1, SP, 14H
0693t(A0100000): STR R0, R1, 0H
END
ENDu GetSelection;
0694u(8FE00000): LDR LNK, SP, 0H
0695u(4EE8001C): ADD SP, SP, 1CH
0696u(C700000F): B LNK
PROCEDURE Handle*(G: Display.Frame; VAR M: Display.FrameMsg);
VAR x, y, h: INTEGER;
DM: DispMsg; dM: DrawMsg;
G1: Frame;
BEGINv
0697v .PROC 20
0697v(4EE90048): SUB SP, SP, 48H
0698v(AFE00000): STR LNK, SP, 0H
0699v(A0E00004): STR R0, SP, 4H
069Av(A1E00008): STR R1, SP, 8H
069Bv(A2E0000C): STR R2, SP, CH
CASE G OF Frame:w
069Cw(80E00004): LDR R0, SP, 4H
069Dw(E1000005): BEQ 5 [06A3H]
069Ew(810FFFF8): LDR R1, R0, FFFFFFF8H
069Fw(81100004): LDR R1, R1, 4H
06A0w .FIXUP D
06A0w(8D000017): LDR SB, MT, MOD0 [GraphicFrames]
06A1w(42D80018): ADD R2, SB, 18H [data]
06A2w(02290001): SUB R2, R2, R1
06A3w(E9000231): BNE 561 [08D5H]
CASE M OF
Oberon.InputMsg:x
06A4x(80E0000C): LDR R0, SP, CH
06A5x(80000004): LDR R0, R0, 4H
06A6x .FIXUP D
06A6x(8D900006): LDR SB, MT, MOD9 [Oberon]
06A7x(41D80003): ADD R1, SB, VAR3
06A8x(01190000): SUB R1, R1, R0
06A9x(E9000070): BNE 112 [071AH]
IF M.id = Oberon.track THENy
06AAy(80E00008): LDR R0, SP, 8H
06ABy(80000000): LDR R0, R0, 0H
06ACy(40090001): SUB R0, R0, 1H
06ADy(E9000028): BNE 40 [06D6H]
x := M.X - (M.X - G.xz)a MOD 4;b y := M.Y - (M.Y - G.yc)d MOD 4;e
06AEz(80E00004): LDR R0, SP, 4H
06AFz(D1318A4C): BLEQ MT [trap=4, pos=12682]
06B0a(81E00008): LDR R1, SP, 8H
06B1a(81100008): LDR R1, R1, 8H
06B2a(80000030): LDR R0, R0, 30H
06B3a(00190000): SUB R0, R1, R0
06B4b(40040003): AND R0, R0, 3H
06B5b(81E00008): LDR R1, SP, 8H
06B6b(81100008): LDR R1, R1, 8H
06B7b(00190000): SUB R0, R1, R0
06B8b(A0E00010): STR R0, SP, 10H
06B9c(80E00004): LDR R0, SP, 4H
06BAc(D131A84C): BLEQ MT [trap=4, pos=12712]
06BBd(81E00008): LDR R1, SP, 8H
06BCd(8110000C): LDR R1, R1, CH
06BDd(80000034): LDR R0, R0, 34H
06BEd(00190000): SUB R0, R1, R0
06BFe(40040003): AND R0, R0, 3H
06C0e(81E00008): LDR R1, SP, 8H
06C1e(8110000C): LDR R1, R1, CH
06C2e(00190000): SUB R0, R1, R0
06C3e(A0E00014): STR R0, SP, 14H
IF M.keys # {} THENf Edit(G,g x,h y,i M.keys)j ELSEk Oberonl.DrawMouse(Crosshair,m x,n y)o ENDp
06C4f(80E00008): LDR R0, SP, 8H
06C5f(80000004): LDR R0, R0, 4H
06C6f(E1000007): BEQ 7 [06CEH]
06C7g(80E00004): LDR R0, SP, 4H
06C8h(81E00010): LDR R1, SP, 10H
06C9i(82E00014): LDR R2, SP, 14H
06CAj(83E00008): LDR R3, SP, 8H
06CBj(83300004): LDR R3, R3, 4H
06CCk(F7FFFCA0): BL -864 [036DH]
06CDl(E7000007): B 7 [06D5H]
06CEm .FIXUP D
06CEm(8D000028): LDR SB, MT, MOD0 [GraphicFrames]
06CFm(40D800EC): ADD R0, SB, ECH [data]
06D0m .FIXUP D
06D0m(8D900002): LDR SB, MT, MOD9 [Oberon]
06D1m(41D80001): ADD R1, SB, VAR1
06D2n(82E00010): LDR R2, SP, 10H
06D3o(83E00014): LDR R3, SP, 14H
06D4p .FIXUP P
06D4p(F791707D): BL MOD9 [Oberon] PROC23
ELSIF Mq.id = Oberon.consume THENr
06D5q(E7000043): B 67 [0719H]
06D6r(80E00008): LDR R0, SP, 8H
06D7r(80000000): LDR R0, R0, 0H
06D8r(E9000040): BNE 64 [0719H]
IF M.ch = 7FX THENs (*DEL*)
06D9s(80E00008): LDR R0, SP, 8H
06DAs(90000010): LDR R0, R0, 10H
06DBs(4009007F): SUB R0, R0, 7FH
06DCs(E900000A): BNE 10 [06E7H]
Erase(G)t;u Graphics.Delete(G.graphv)w;x Mark(G,y 1)z
06DDt(80E00004): LDR R0, SP, 4H
06DEu(F7FFFAAA): BL -1366 [0189H]
06DFv(80E00004): LDR R0, SP, 4H
06E0v(D1328B4C): BLEQ MT [trap=4, pos=12939]
06E1w(8000001C): LDR R0, R0, 1CH
06E2x .FIXUP P
06E2x(F772100E): BL MOD7 [Graphics] PROC33
06E3y(80E00004): LDR R0, SP, 4H
06E4z(41000001): MOV R1, R0, 1H
ELSIFa (bM.ch >= 20X)c & (dM.ch < 7FX)e THENf
06E5a(F7FFFA70): BL -1424 [0156H]
06E6b(E7000032): B 50 [0719H]
06E7c(80E00008): LDR R0, SP, 8H
06E8c(90000010): LDR R0, R0, 10H
06E9c(40090020): SUB R0, R0, 20H
06EAd(E5000022): BLT 34 [070DH]
06EBe(80E00008): LDR R0, SP, 8H
06ECe(90000010): LDR R0, R0, 10H
06EDe(4009007F): SUB R0, R0, 7FH
06EEf(ED00001E): BGE 30 [070DH]
IF newcap # NIL THENg InsertChar(G,h M.ch)i;j Mark(G,k 1)l
06EFg .FIXUP D
06EFg(8D00001F): LDR SB, MT, MOD0 [GraphicFrames]
06F0g(80D00100): LDR R0, SB, 100H [data]
06F1g(E1000008): BEQ 8 [06FAH]
06F2h(80E00004): LDR R0, SP, 4H
06F3i(81E00008): LDR R1, SP, 8H
06F4i(91100010): LDR R1, R1, 10H
06F5j(F7FFFECE): BL -306 [05C4H]
06F6k(80E00004): LDR R0, SP, 4H
06F7l(41000001): MOV R1, R0, 1H
ELSIFm Gn.markedo THENp
06F8m(F7FFFA5D): BL -1443 [0156H]
06F9n(E7000012): B 18 [070CH]
06FAo(80E00004): LDR R0, SP, 4H
06FBo(D133264C): BLEQ MT [trap=4, pos=13094]
06FCp(9000003C): LDR R0, R0, 3CH
06FDp(E100000E): BEQ 14 [070CH]
Defocus(G)q;r Deselect(G)s;t NewCaption(G,u M.col,v M.fnt)w;x InsertChar(G,y M.ch)z
06FEq(80E00004): LDR R0, SP, 4H
06FFr(F7FFFAED): BL -1299 [01EDH]
0700s(80E00004): LDR R0, SP, 4H
0701t(F7FFFB19): BL -1255 [021BH]
0702u(80E00004): LDR R0, SP, 4H
0703v(81E00008): LDR R1, SP, 8H
0704v(81100018): LDR R1, R1, 18H
0705w(82E00008): LDR R2, SP, 8H
0706w(82200014): LDR R2, R2, 14H
0707x(F7FFFE64): BL -412 [056CH]
0708y(80E00004): LDR R0, SP, 4H
0709z(81E00008): LDR R1, SP, 8H
070Az(91100010): LDR R1, R1, 10H
ENDa
070Ba(F7FFFEB8): BL -328 [05C4H]
ELSIF (bM.ch = 8X)c & (dnewcap # NIL)e THENf DeleteChar(G)g;h Mark(G,i 1)j
070Cb(E700000C): B 12 [0719H]
070Dc(80E00008): LDR R0, SP, 8H
070Ec(90000010): LDR R0, R0, 10H
070Fc(40090008): SUB R0, R0, 8H
0710d(E9000008): BNE 8 [0719H]
0711e .FIXUP D
0711e(8D000022): LDR SB, MT, MOD0 [GraphicFrames]
0712e(80D00100): LDR R0, SB, 100H [data]
0713f(E1000005): BEQ 5 [0719H]
0714g(80E00004): LDR R0, SP, 4H
0715h(F7FFFEF8): BL -264 [060EH]
0716i(80E00004): LDR R0, SP, 4H
0717j(41000001): MOV R1, R0, 1H
ENDk
0718k(F7FFFA3D): BL -1475 [0156H]
END
| UpdateMsgl:m
0719l(E70001BB): B 443 [08D5H]
071Am(80E0000C): LDR R0, SP, CH
071Bm(80000004): LDR R0, R0, 4H
071Cm .FIXUP D
071Cm(8D00000B): LDR SB, MT, MOD0 [GraphicFrames]
071Dm(41D80054): ADD R1, SB, 54H [data]
071Em(01190000): SUB R1, R1, R0
071Fm(E9000085): BNE 133 [07A5H]
IF M.graph = G.graphn THENo
0720n(80E00004): LDR R0, SP, 4H
0721n(D1342B4C): BLEQ MT [trap=4, pos=13355]
0722o(81E00008): LDR R1, SP, 8H
0723o(81100004): LDR R1, R1, 4H
0724o(8000001C): LDR R0, R0, 1CH
0725o(01190000): SUB R1, R1, R0
0726o(E900007D): BNE 125 [07A4H]
dM.f := G;p dM.x := G.xq;r dM.y := G.ys;t dM.col := 0;u
0727p(80E00004): LDR R0, SP, 4H
0728p(A0E00030): STR R0, SP, 30H
0729q(80E00004): LDR R0, SP, 4H
072Aq(D134534C): BLEQ MT [trap=4, pos=13395]
072Br(80000030): LDR R0, R0, 30H
072Cr(A0E00034): STR R0, SP, 34H
072Ds(80E00004): LDR R0, SP, 4H
072Es(D134604C): BLEQ MT [trap=4, pos=13408]
072Ft(80000034): LDR R0, R0, 34H
0730t(A0E00038): STR R0, SP, 38H
0731u(40000000): MOV R0, R0, 0H
0732u(A0E0003C): STR R0, SP, 3CH
IF M.id = drawobj THENv dM.mode := 0;w M.obj.dox.drawy(Mz.obj,a dM)b
0733v(80E00008): LDR R0, SP, 8H
0734v(80000000): LDR R0, R0, 0H
0735v(40090001): SUB R0, R0, 1H
0736v(E9000014): BNE 20 [074BH]
0737w(40000000): MOV R0, R0, 0H
0738w(A0E00040): STR R0, SP, 40H
0739x(80E00008): LDR R0, SP, 8H
073Ax(80000008): LDR R0, R0, 8H
073Bx(D134A84C): BLEQ MT [trap=4, pos=13480]
073Cy(80000014): LDR R0, R0, 14H
073Dy(D134AD4C): BLEQ MT [trap=4, pos=13485]
073Ez(80000048): LDR R0, R0, 48H
073Fz(4EE90004): SUB SP, SP, 4H
0740z(A0E00000): STR R0, SP, 0H
0741a(80E0000C): LDR R0, SP, CH
0742a(80000008): LDR R0, R0, 8H
0743b(41E80034): ADD R1, SP, 34H
0744b .FIXUP D
0744b(8D000028): LDR SB, MT, MOD0 [GraphicFrames]
0745b(42D8003C): ADD R2, SB, 3CH [data]
ELSIFc Md.id = drawobjs THENe dM.mode := 1;f M.obj.dog.drawh(Mi.obj,j dM)k
0746c(83E00000): LDR R3, SP, 0H
0747c(4EE80004): ADD SP, SP, 4H
0748c(D134CA5C): BLEQ MT [trap=5, pos=13514]
0749c(D7000003): BL R3
074Ad(E7000059): B 89 [07A4H]
074Be(80E00008): LDR R0, SP, 8H
074Ce(80000000): LDR R0, R0, 0H
074De(40090002): SUB R0, R0, 2H
074Ee(E9000014): BNE 20 [0763H]
074Ff(40000001): MOV R0, R0, 1H
0750f(A0E00040): STR R0, SP, 40H
0751g(80E00008): LDR R0, SP, 8H
0752g(80000008): LDR R0, R0, 8H
0753g(D134F64C): BLEQ MT [trap=4, pos=13558]
0754h(80000014): LDR R0, R0, 14H
0755h(D134FB4C): BLEQ MT [trap=4, pos=13563]
0756i(80000048): LDR R0, R0, 48H
0757i(4EE90004): SUB SP, SP, 4H
0758i(A0E00000): STR R0, SP, 0H
0759j(80E0000C): LDR R0, SP, CH
075Aj(80000008): LDR R0, R0, 8H
075Bk(41E80034): ADD R1, SP, 34H
075Ck .FIXUP D
075Ck(8D000018): LDR SB, MT, MOD0 [GraphicFrames]
075Dk(42D8003C): ADD R2, SB, 3CH [data]
ELSIFl Mm.id = drawobjd THENn dM.mode := 3;o M.obj.dop.drawq(Mr.obj,s dM)t
075El(83E00000): LDR R3, SP, 0H
075Fl(4EE80004): ADD SP, SP, 4H
0760l(D135185C): BLEQ MT [trap=5, pos=13592]
0761l(D7000003): BL R3
0762m(E7000041): B 65 [07A4H]
0763n(80E00008): LDR R0, SP, 8H
0764n(80000000): LDR R0, R0, 0H
0765n(40090003): SUB R0, R0, 3H
0766n(E9000014): BNE 20 [077BH]
0767o(40000003): MOV R0, R0, 3H
0768o(A0E00040): STR R0, SP, 40H
0769p(80E00008): LDR R0, SP, 8H
076Ap(80000008): LDR R0, R0, 8H
076Bp(D135444C): BLEQ MT [trap=4, pos=13636]
076Cq(80000014): LDR R0, R0, 14H
076Dq(D135494C): BLEQ MT [trap=4, pos=13641]
076Er(80000048): LDR R0, R0, 48H
076Fr(4EE90004): SUB SP, SP, 4H
0770r(A0E00000): STR R0, SP, 0H
0771s(80E0000C): LDR R0, SP, CH
0772s(80000008): LDR R0, R0, 8H
0773t(41E80034): ADD R1, SP, 34H
0774t .FIXUP D
0774t(8D000018): LDR SB, MT, MOD0 [GraphicFrames]
0775t(42D8003C): ADD R2, SB, 3CH [data]
ELSIFu Mv.id = drawsel THENw dM.mode := 0;x Graphics.DrawSel(G.graphy,z dM)a
0776u(83E00000): LDR R3, SP, 0H
0777u(4EE80004): ADD SP, SP, 4H
0778u(D135665C): BLEQ MT [trap=5, pos=13670]
0779u(D7000003): BL R3
077Av(E7000029): B 41 [07A4H]
077Bw(80E00008): LDR R0, SP, 8H
077Cw(80000000): LDR R0, R0, 0H
077Dw(40090005): SUB R0, R0, 5H
077Ew(E900000A): BNE 10 [0789H]
077Fx(40000000): MOV R0, R0, 0H
0780x(A0E00040): STR R0, SP, 40H
0781y(80E00004): LDR R0, SP, 4H
0782y(D135A24C): BLEQ MT [trap=4, pos=13730]
0783z(8000001C): LDR R0, R0, 1CH
0784a(41E80030): ADD R1, SP, 30H
0785a .FIXUP D
0785a(8D000011): LDR SB, MT, MOD0 [GraphicFrames]
0786a(42D8003C): ADD R2, SB, 3CH [data]
ELSIFb Mc.id = drawnorm THENd dM.mode := 2;e Graphics.DrawSel(G.graphf,g dM)h
0787b .FIXUP P
0787b(F771D0A5): BL MOD7 [Graphics] PROC29
0788c(E700001B): B 27 [07A4H]
0789d(80E00008): LDR R0, SP, 8H
078Ad(80000000): LDR R0, R0, 0H
078Bd(40090004): SUB R0, R0, 4H
078Cd(E900000A): BNE 10 [0797H]
078De(40000002): MOV R0, R0, 2H
078Ee(A0E00040): STR R0, SP, 40H
078Ff(80E00004): LDR R0, SP, 4H
0790f(D135F54C): BLEQ MT [trap=4, pos=13813]
0791g(8000001C): LDR R0, R0, 1CH
0792h(41E80030): ADD R1, SP, 30H
0793h .FIXUP D
0793h(8D00000E): LDR SB, MT, MOD0 [GraphicFrames]
0794h(42D8003C): ADD R2, SB, 3CH [data]
ELSIFi Mj.id = drawdel THENk dM.mode := 3;l Graphics.DrawSel(G.graphm,n dM)o
0795i .FIXUP P
0795i(F771D00E): BL MOD7 [Graphics] PROC29
0796j(E700000D): B 13 [07A4H]
0797k(80E00008): LDR R0, SP, 8H
0798k(80000000): LDR R0, R0, 0H
0799k(40090006): SUB R0, R0, 6H
079Ak(E9000009): BNE 9 [07A4H]
079Bl(40000003): MOV R0, R0, 3H
079Cl(A0E00040): STR R0, SP, 40H
079Dm(80E00004): LDR R0, SP, 4H
079Em(D136474C): BLEQ MT [trap=4, pos=13895]
079Fn(8000001C): LDR R0, R0, 1CH
07A0o(41E80030): ADD R1, SP, 30H
07A1o .FIXUP D
07A1o(8D00000E): LDR SB, MT, MOD0 [GraphicFrames]
07A2o(42D8003C): ADD R2, SB, 3CH [data]
ENDp
07A3p .FIXUP P
07A3p(F771D00E): BL MOD7 [Graphics] PROC29
END
| ChangedMsgq:r
07A4q(E7000130): B 304 [08D5H]
07A5r(80E0000C): LDR R0, SP, CH
07A6r(80000004): LDR R0, R0, 4H
07A7r .FIXUP D
07A7r(8D000006): LDR SB, MT, MOD0 [GraphicFrames]
07A8r(41D80070): ADD R1, SB, 70H [data]
07A9r(01190000): SUB R1, R1, R0
07AAr(E900000C): BNE 12 [07B7H]
IF M.graph = G.graphs THENt SetChangeMark(G,u M.mode)v ENDw
07ABs(80E00004): LDR R0, SP, 4H
07ACs(D1369D4C): BLEQ MT [trap=4, pos=13981]
07ADt(81E00008): LDR R1, SP, 8H
07AEt(81100004): LDR R1, R1, 4H
07AFt(8000001C): LDR R0, R0, 1CH
07B0t(01190000): SUB R1, R1, R0
07B1t(E9000004): BNE 4 [07B6H]
07B2u(80E00004): LDR R0, SP, 4H
07B3v(81E00008): LDR R1, SP, 8H
07B4v(81100008): LDR R1, R1, 8H
07B5w(F7FFF84A): BL -1974 [0000H]
| SelQueryx:y
07B6x(E700011E): B 286 [08D5H]
07B7y(80E0000C): LDR R0, SP, CH
07B8y(80000004): LDR R0, R0, 4H
07B9y .FIXUP D
07B9y(8D000012): LDR SB, MT, MOD0 [GraphicFrames]
07BAy(41D8008C): ADD R1, SB, 8CH [data]
07BBy(01190000): SUB R1, R1, R0
07BCy(E900001A): BNE 26 [07D7H]
IF (G.graphz.sela # NIL)b & (cM.time < G.graphd.timee)f THENg M.f := G(Frame);h M.time := G.graphi.timej ENDk
07BDz(80E00004): LDR R0, SP, 4H
07BEz(D136E74C): BLEQ MT [trap=4, pos=14055]
07BFa(8000001C): LDR R0, R0, 1CH
07C0a(D136EB4C): BLEQ MT [trap=4, pos=14059]
07C1b(80000004): LDR R0, R0, 4H
07C2c(E1000013): BEQ 19 [07D6H]
07C3d(80E00004): LDR R0, SP, 4H
07C4d(D137064C): BLEQ MT [trap=4, pos=14086]
07C5e(8000001C): LDR R0, R0, 1CH
07C6e(D1370B4C): BLEQ MT [trap=4, pos=14091]
07C7f(81E00008): LDR R1, SP, 8H
07C8f(81100004): LDR R1, R1, 4H
07C9f(80000000): LDR R0, R0, 0H
07CAf(01190000): SUB R1, R1, R0
07CBg(ED00000A): BGE 10 [07D6H]
07CCh(80E00004): LDR R0, SP, 4H
07CDh(81E00008): LDR R1, SP, 8H
07CEh(A0100000): STR R0, R1, 0H
07CFi(80E00004): LDR R0, SP, 4H
07D0i(D137344C): BLEQ MT [trap=4, pos=14132]
07D1j(8000001C): LDR R0, R0, 1CH
07D2j(D137394C): BLEQ MT [trap=4, pos=14137]
07D3k(80000000): LDR R0, R0, 0H
07D4k(81E00008): LDR R1, SP, 8H
07D5k(A0100004): STR R0, R1, 4H
| FocusQueryl:m IF G.markedn THENo M.f := G ENDp
07D6l(E70000FE): B 254 [08D5H]
07D7m(80E0000C): LDR R0, SP, CH
07D8m(80000004): LDR R0, R0, 4H
07D9m .FIXUP D
07D9m(8D000020): LDR SB, MT, MOD0 [GraphicFrames]
07DAm(41D800A4): ADD R1, SB, A4H [data]
07DBm(01190000): SUB R1, R1, R0
07DCm(E9000008): BNE 8 [07E5H]
07DDn(80E00004): LDR R0, SP, 4H
07DEn(D1375D4C): BLEQ MT [trap=4, pos=14173]
07DFo(9000003C): LDR R0, R0, 3CH
07E0o(E1000003): BEQ 3 [07E4H]
07E1p(80E00004): LDR R0, SP, 4H
07E2p(81E00008): LDR R1, SP, 8H
07E3p(A0100000): STR R0, R1, 0H
| PosQueryq:r IF (G.Xs <= M.x)t & (uM.x < G.X1v)w & (xG.Yy <= M.y)z & (aM.y < G.Y1b)c THENd M.f := G ENDe
07E4q(E70000F0): B 240 [08D5H]
07E5r(80E0000C): LDR R0, SP, CH
07E6r(80000004): LDR R0, R0, 4H
07E7r .FIXUP D
07E7r(8D00000E): LDR SB, MT, MOD0 [GraphicFrames]
07E8r(41D800BC): ADD R1, SB, BCH [data]
07E9r(01190000): SUB R1, R1, R0
07EAr(E9000020): BNE 32 [080BH]
07EBs(80E00004): LDR R0, SP, 4H
07ECs(D137894C): BLEQ MT [trap=4, pos=14217]
07EDt(80000008): LDR R0, R0, 8H
07EEt(81E00008): LDR R1, SP, 8H
07EFt(81100004): LDR R1, R1, 4H
07F0t(00090001): SUB R0, R0, R1
07F1u(EE000018): BGT 24 [080AH]
07F2v(80E00004): LDR R0, SP, 4H
07F3v(D1379F4C): BLEQ MT [trap=4, pos=14239]
07F4w(81E00008): LDR R1, SP, 8H
07F5w(81100004): LDR R1, R1, 4H
07F6w(80000028): LDR R0, R0, 28H
07F7w(01190000): SUB R1, R1, R0
07F8x(ED000011): BGE 17 [080AH]
07F9y(80E00004): LDR R0, SP, 4H
07FAy(D137A74C): BLEQ MT [trap=4, pos=14247]
07FBz(8000000C): LDR R0, R0, CH
07FCz(81E00008): LDR R1, SP, 8H
07FDz(81100008): LDR R1, R1, 8H
07FEz(00090001): SUB R0, R0, R1
07FFa(EE00000A): BGT 10 [080AH]
0800b(80E00004): LDR R0, SP, 4H
0801b(D137BD4C): BLEQ MT [trap=4, pos=14269]
0802c(81E00008): LDR R1, SP, 8H
0803c(81100008): LDR R1, R1, 8H
0804c(8000002C): LDR R0, R0, 2CH
0805c(01190000): SUB R1, R1, R0
0806d(ED000003): BGE 3 [080AH]
0807e(80E00004): LDR R0, SP, 4H
0808e(81E00008): LDR R1, SP, 8H
0809e(A0100000): STR R0, R1, 0H
| DispMsgf:g
080Af(E70000CA): B 202 [08D5H]
080Bg(80E0000C): LDR R0, SP, CH
080Cg(80000004): LDR R0, R0, 4H
080Dg .FIXUP D
080Dg(8D000026): LDR SB, MT, MOD0 [GraphicFrames]
080Eg(41D800D4): ADD R1, SB, D4H [data]
080Fg(01190000): SUB R1, R1, R0
0810g(E9000054): BNE 84 [0865H]
DM := M;h
0811h(40E8001C): ADD R0, SP, 1CH
0812h(81E00008): LDR R1, SP, 8H
0813h(42000005): MOV R2, R0, 5H
0814h(83100000): LDR R3, R1, 0H
0815h(41180004): ADD R1, R1, 4H
0816h(A3000000): STR R3, R0, 0H
0817h(40080004): ADD R0, R0, 4H
0818h(42290001): SUB R2, R2, 1H
0819h(E9FFFFFA): BNE -6 [0814H]
x := G.xi + newcap.xj +k newcap.wl;m y := G.yn + newcap.yo;p
081Ai(80E00004): LDR R0, SP, 4H
081Bi(D138034C): BLEQ MT [trap=4, pos=14339]
081Cj .FIXUP D
081Cj(8D00000F): LDR SB, MT, MOD0 [GraphicFrames]
081Dj(81D00100): LDR R1, SB, 100H [data]
081Ej(D1380E4C): BLEQ MT [trap=4, pos=14350]
081Fk(80000030): LDR R0, R0, 30H
0820k(81100000): LDR R1, R1, 0H
0821k(00080001): ADD R0, R0, R1
0822l(81D00100): LDR R1, SB, 100H
0823l(D138194C): BLEQ MT [trap=4, pos=14361]
0824m(81100008): LDR R1, R1, 8H
0825m(00080001): ADD R0, R0, R1
0826m(A0E00010): STR R0, SP, 10H
0827n(80E00004): LDR R0, SP, 4H
0828n(D138234C): BLEQ MT [trap=4, pos=14371]
0829o(81D00100): LDR R1, SB, 100H
082Ao(D1382E4C): BLEQ MT [trap=4, pos=14382]
082Bp(80000034): LDR R0, R0, 34H
082Cp(81100004): LDR R1, R1, 4H
082Dp(00080001): ADD R0, R0, R1
082Ep(A0E00014): STR R0, SP, 14H
IF (DM.graph = G.graphq)r & (sx >= G.Xt)u & (vx + DM.w <w G.X1x)y & (zy >= G.Ya)b & (cy < G.Y1d)e THENf
082Fq(80E00004): LDR R0, SP, 4H
0830q(D1384E4C): BLEQ MT [trap=4, pos=14414]
0831r(81E0002C): LDR R1, SP, 2CH
0832r(8000001C): LDR R0, R0, 1CH
0833r(01190000): SUB R1, R1, R0
0834s(E900002F): BNE 47 [0864H]
0835t(80E00004): LDR R0, SP, 4H
0836t(D1385B4C): BLEQ MT [trap=4, pos=14427]
0837u(81E00010): LDR R1, SP, 10H
0838u(80000008): LDR R0, R0, 8H
0839u(01190000): SUB R1, R1, R0
083Av(E5000029): BLT 41 [0864H]
083Bw(80E00010): LDR R0, SP, 10H
083Cw(81E00024): LDR R1, SP, 24H
083Dw(00080001): ADD R0, R0, R1
083Ex(81E00004): LDR R1, SP, 4H
083Fx(D1386F4C): BLEQ MT [trap=4, pos=14447]
0840y(81100028): LDR R1, R1, 28H
0841y(00090001): SUB R0, R0, R1
0842z(ED000021): BGE 33 [0864H]
0843a(80E00004): LDR R0, SP, 4H
0844a(D1387C4C): BLEQ MT [trap=4, pos=14460]
0845b(81E00014): LDR R1, SP, 14H
0846b(8000000C): LDR R0, R0, CH
0847b(01190000): SUB R1, R1, R0
0848c(E500001B): BLT 27 [0864H]
0849d(80E00004): LDR R0, SP, 4H
084Ad(D138894C): BLEQ MT [trap=4, pos=14473]
084Be(81E00014): LDR R1, SP, 14H
084Ce(8000002C): LDR R0, R0, 2CH
084De(01190000): SUB R1, R1, R0
084Ef(ED000015): BGE 21 [0864H]
Display.CopyPattern(Oberon.CurCol,g DM.pat,h x + DM.x1,i y + DM.y1,j 2)k;l
084Fg .FIXUP D
084Fg(8D900033): LDR SB, MT, MOD9 [Oberon]
0850g(80D00010): LDR R0, SB, VAR16
0851h(81E00028): LDR R1, SP, 28H
0852i(82E00010): LDR R2, SP, 10H
0853i(83E0001C): LDR R3, SP, 1CH
0854i(02280003): ADD R2, R2, R3
0855j(83E00014): LDR R3, SP, 14H
0856j(84E00020): LDR R4, SP, 20H
0857j(03380004): ADD R3, R3, R4
0858k(44000002): MOV R4, R0, 2H
0859l .FIXUP P
0859l(F71100B6): BL MOD1 [Display] PROC16
Display.ReplConst(Display.white,m x,n y,o DM.w,p newcap.hq,r 2)s
085Am(40000001): MOV R0, R0, 1H
085Bn(81E00010): LDR R1, SP, 10H
085Co(82E00014): LDR R2, SP, 14H
085Dp(83E00024): LDR R3, SP, 24H
085Eq .FIXUP D
085Eq(8D00000F): LDR SB, MT, MOD0 [GraphicFrames]
085Fq(84D00100): LDR R4, SB, 100H [data]
0860q(D1391E4C): BLEQ MT [trap=4, pos=14622]
0861r(8440000C): LDR R4, R4, CH
0862s(45000002): MOV R5, R0, 2H
ENDt
0863t .FIXUP P
0863t(F710F00A): BL MOD1 [Display] PROC15
| Oberonu.ControlMsg:v
0864u(E7000070): B 112 [08D5H]
0865v(80E0000C): LDR R0, SP, CH
0866v(80000004): LDR R0, R0, 4H
0867v .FIXUP D
0867v(8D900009): LDR SB, MT, MOD9 [Oberon]
0868v(41D80005): ADD R1, SB, VAR5
0869v(01190000): SUB R1, R1, R0
086Av(E9000020): BNE 32 [088BH]
IF M.id = Oberon.neutralize THENw
086Bw(80E00008): LDR R0, SP, 8H
086Cw(80000000): LDR R0, R0, 0H
086Dw(40090001): SUB R0, R0, 1H
086Ew(E9000016): BNE 22 [0885H]
Oberon.RemoveMarks(G.Xx,y G.Yz,a G.Wb,c G.Hd)e;f Defocus(G)g;h DrawNorm(G)i;j Graphics.Deselect(G.graphk)l
086Fx(80E00004): LDR R0, SP, 4H
0870x(D139974C): BLEQ MT [trap=4, pos=14743]
0871y(80000008): LDR R0, R0, 8H
0872z(81E00004): LDR R1, SP, 4H
0873z(D1399C4C): BLEQ MT [trap=4, pos=14748]
0874a(8110000C): LDR R1, R1, CH
0875b(82E00004): LDR R2, SP, 4H
0876b(D139A14C): BLEQ MT [trap=4, pos=14753]
0877c(82200010): LDR R2, R2, 10H
0878d(83E00004): LDR R3, SP, 4H
0879d(D139A64C): BLEQ MT [trap=4, pos=14758]
087Ae(83300014): LDR R3, R3, 14H
087Bf .FIXUP P
087Bf(F791B018): BL MOD9 [Oberon] PROC27
087Cg(80E00004): LDR R0, SP, 4H
087Dh(F7FFF96F): BL -1681 [01EDH]
087Ei(80E00004): LDR R0, SP, 4H
087Fj(F7FFF8F9): BL -1799 [0179H]
0880k(80E00004): LDR R0, SP, 4H
0881k(D139DB4C): BLEQ MT [trap=4, pos=14811]
0882l(8000001C): LDR R0, R0, 1CH
ELSIFm Mn.id = Oberon.defocus THENo Defocus(G)p
0883m .FIXUP P
0883m(F771C008): BL MOD7 [Graphics] PROC28
0884n(E7000005): B 5 [088AH]
0885o(80E00008): LDR R0, SP, 8H
0886o(80000000): LDR R0, R0, 0H
0887o(E9000002): BNE 2 [088AH]
0888p(80E00004): LDR R0, SP, 4H
ENDq
0889q(F7FFF963): BL -1693 [01EDH]
| Oberonr.SelectionMsg:s GetSelection(G,t M.text,u M.beg,v M.end,w M.time)x
088Ar(E700004A): B 74 [08D5H]
088Bs(80E0000C): LDR R0, SP, CH
088Cs(80000004): LDR R0, R0, 4H
088Ds .FIXUP D
088Ds(8D900026): LDR SB, MT, MOD9 [Oberon]
088Es(41D80004): ADD R1, SB, VAR4
088Fs(01190000): SUB R1, R1, R0
0890s(E900000A): BNE 10 [089BH]
0891t(80E00004): LDR R0, SP, 4H
0892u(81E00008): LDR R1, SP, 8H
0893u(41180004): ADD R1, R1, 4H
0894v(82E00008): LDR R2, SP, 8H
0895v(42280008): ADD R2, R2, 8H
0896w(83E00008): LDR R3, SP, 8H
0897w(4338000C): ADD R3, R3, CH
0898x(84E00008): LDR R4, SP, 8H
|y Oberonz.CopyMsg:a Oberon.RemoveMarks(G.Xb,c G.Yd,e G.Wf,g G.Hh)i;j Defocus(G)k;l NEW(G1);m G1^ :=n G^;o M.F := G1
0899y(F7FFFDC1): BL -575 [065BH]
089Az(E700003A): B 58 [08D5H]
089Ba(80E0000C): LDR R0, SP, CH
089Ca(80000004): LDR R0, R0, 4H
089Da .FIXUP D
089Da(8D900010): LDR SB, MT, MOD9 [Oberon]
089Ea(41D80006): ADD R1, SB, VAR6
089Fa(01190000): SUB R1, R1, R0
08A0a(E9000022): BNE 34 [08C3H]
08A1b(80E00004): LDR R0, SP, 4H
08A2b(D13A9A4C): BLEQ MT [trap=4, pos=15002]
08A3c(80000008): LDR R0, R0, 8H
08A4d(81E00004): LDR R1, SP, 4H
08A5d(D13A9F4C): BLEQ MT [trap=4, pos=15007]
08A6e(8110000C): LDR R1, R1, CH
08A7f(82E00004): LDR R2, SP, 4H
08A8f(D13AA44C): BLEQ MT [trap=4, pos=15012]
08A9g(82200010): LDR R2, R2, 10H
08AAh(83E00004): LDR R3, SP, 4H
08ABh(D13AA94C): BLEQ MT [trap=4, pos=15017]
08ACi(83300014): LDR R3, R3, 14H
08ADj .FIXUP P
08ADj(F791B02A): BL MOD9 [Oberon] PROC27
08AEk(80E00004): LDR R0, SP, 4H
08AFl(F7FFF93D): BL -1731 [01EDH]
08B0m(40E80044): ADD R0, SP, 44H
08B1m .FIXUP D
08B1m(8D000014): LDR SB, MT, MOD0 [GraphicFrames]
08B2m(41D80018): ADD R1, SB, 18H [data]
08B3m(D73AC00C): BL MT [trap=0, pos=15040]
08B4n(80E00044): LDR R0, SP, 44H
08B5n(D13AC74C): BLEQ MT [trap=4, pos=15047]
08B6o(81E00004): LDR R1, SP, 4H
08B7o(D13ACB4C): BLEQ MT [trap=4, pos=15051]
08B8o(42000013): MOV R2, R0, 13H
08B9o(83100000): LDR R3, R1, 0H
08BAo(41180004): ADD R1, R1, 4H
08BBo(A3000000): STR R3, R0, 0H
08BCo(40080004): ADD R0, R0, 4H
08BDo(42290001): SUB R2, R2, 1H
08BEo(E9FFFFFA): BNE -6 [08B9H]
|p MenuViewersq.ModifyMsg:r G.Ys := M.Y;t G.Hu := M.H;v Restore(G)w
08BFp(80E00044): LDR R0, SP, 44H
08C0p(81E00008): LDR R1, SP, 8H
08C1p(A0100000): STR R0, R1, 0H
08C2q(E7000012): B 18 [08D5H]
08C3r(80E0000C): LDR R0, SP, CH
08C4r(80000004): LDR R0, R0, 4H
08C5r .FIXUP D
08C5r(8DA00014): LDR SB, MT, MOD10 [MenuViewers]
08C6r(41D80002): ADD R1, SB, VAR2
08C7r(01190000): SUB R1, R1, R0
08C8r(E900000C): BNE 12 [08D5H]
08C9s(80E00004): LDR R0, SP, 4H
08CAs(D13AF84C): BLEQ MT [trap=4, pos=15096]
08CBt(81E00008): LDR R1, SP, 8H
08CCt(81100008): LDR R1, R1, 8H
08CDt(A100000C): STR R1, R0, CH
08CEu(80E00004): LDR R0, SP, 4H
08CFu(D13B044C): BLEQ MT [trap=4, pos=15108]
08D0v(81E00008): LDR R1, SP, 8H
08D1v(8110000C): LDR R1, R1, CH
08D2v(A1000014): STR R1, R0, 14H
08D3w(80E00004): LDR R0, SP, 4H
ENDx
08D4x(F7FFF764): BL -2204 [0039H]
END
ENDy Handle;
08D5y(8FE00000): LDR LNK, SP, 0H
08D6y(4EE80048): ADD SP, SP, 48H
08D7y(C700000F): B LNK
PROCEDURE Store*(F: Frame; name: ARRAY OF CHAR);
BEGINz Mark(F,a 0)b;c Graphics.WriteFile(F.graphd,e name)f
08D8z .PROC 21
08D8z(4EE90010): SUB SP, SP, 10H
08D9z(AFE00000): STR LNK, SP, 0H
08DAz(A0E00004): STR R0, SP, 4H
08DBz(A1E00008): STR R1, SP, 8H
08DCz(A2E0000C): STR R2, SP, CH
08DDa(80E00004): LDR R0, SP, 4H
08DEb(41000000): MOV R1, R0, 0H
08DFc(F7FFF876): BL -1930 [0156H]
08E0d(80E00004): LDR R0, SP, 4H
08E1d(D13B9A4C): BLEQ MT [trap=4, pos=15258]
08E2e(8000001C): LDR R0, R0, 1CH
08E3f(81E00008): LDR R1, SP, 8H
08E4f(82E0000C): LDR R2, SP, CH
ENDg Store;
08E5g .FIXUP P
08E5g(F7725038): BL MOD7 [Graphics] PROC37
08E6g(8FE00000): LDR LNK, SP, 0H
08E7g(4EE80010): ADD SP, SP, 10H
08E8g(C700000F): B LNK
(*------------------- Draw Methods -----------------------*)
PROCEDURE ReplConst*(F: Frame; col, x, y, w, h, mode: INTEGER);
BEGINh
08E9h .PROC 22
08E9h(4EE90020): SUB SP, SP, 20H
08EAh(AFE00000): STR LNK, SP, 0H
08EBh(A0E00004): STR R0, SP, 4H
08ECh(A1E00008): STR R1, SP, 8H
08EDh(A2E0000C): STR R2, SP, CH
08EEh(A3E00010): STR R3, SP, 10H
08EFh(A4E00014): STR R4, SP, 14H
08F0h(A5E00018): STR R5, SP, 18H
08F1h(A6E0001C): STR R6, SP, 1CH
IF x < F.Xi THENj DEC(w, F.Xk-x)l;m x := F.Xn ENDo ;
08F2i(80E00004): LDR R0, SP, 4H
08F3i(D13C484C): BLEQ MT [trap=4, pos=15432]
08F4j(81E0000C): LDR R1, SP, CH
08F5j(80000008): LDR R0, R0, 8H
08F6j(01190000): SUB R1, R1, R0
08F7j(ED00000C): BGE 12 [0904H]
08F8k(80E00004): LDR R0, SP, 4H
08F9k(D13C584C): BLEQ MT [trap=4, pos=15448]
08FAl(80000008): LDR R0, R0, 8H
08FBl(81E0000C): LDR R1, SP, CH
08FCl(00090001): SUB R0, R0, R1
08FDm(81E00014): LDR R1, SP, 14H
08FEm(01190000): SUB R1, R1, R0
08FFm(A1E00014): STR R1, SP, 14H
0900n(80E00004): LDR R0, SP, 4H
0901n(D13C654C): BLEQ MT [trap=4, pos=15461]
0902o(80000008): LDR R0, R0, 8H
0903o(A0E0000C): STR R0, SP, CH
IF x+w >=p F.X1q THENr w := F.X1s - x ENDt ;
0904p(80E0000C): LDR R0, SP, CH
0905p(81E00014): LDR R1, SP, 14H
0906p(00080001): ADD R0, R0, R1
0907q(81E00004): LDR R1, SP, 4H
0908q(D13C7E4C): BLEQ MT [trap=4, pos=15486]
0909r(81100028): LDR R1, R1, 28H
090Ar(00090001): SUB R0, R0, R1
090Br(E5000006): BLT 6 [0912H]
090Cs(80E00004): LDR R0, SP, 4H
090Ds(D13C8D4C): BLEQ MT [trap=4, pos=15501]
090Et(80000028): LDR R0, R0, 28H
090Ft(81E0000C): LDR R1, SP, CH
0910t(00090001): SUB R0, R0, R1
0911t(A0E00014): STR R0, SP, 14H
IF y < F.Yu THENv DEC(h, F.Yw-y)x;y y := F.Yz ENDa ;
0912u(80E00004): LDR R0, SP, 4H
0913u(D13CA64C): BLEQ MT [trap=4, pos=15526]
0914v(81E00010): LDR R1, SP, 10H
0915v(8000000C): LDR R0, R0, CH
0916v(01190000): SUB R1, R1, R0
0917v(ED00000C): BGE 12 [0924H]
0918w(80E00004): LDR R0, SP, 4H
0919w(D13CB64C): BLEQ MT [trap=4, pos=15542]
091Ax(8000000C): LDR R0, R0, CH
091Bx(81E00010): LDR R1, SP, 10H
091Cx(00090001): SUB R0, R0, R1
091Dy(81E00018): LDR R1, SP, 18H
091Ey(01190000): SUB R1, R1, R0
091Fy(A1E00018): STR R1, SP, 18H
0920z(80E00004): LDR R0, SP, 4H
0921z(D13CC34C): BLEQ MT [trap=4, pos=15555]
0922a(8000000C): LDR R0, R0, CH
0923a(A0E00010): STR R0, SP, 10H
IF y+h >=b F.Y1c THENd h := F.Y1e - y ENDf ;
0924b(80E00010): LDR R0, SP, 10H
0925b(81E00018): LDR R1, SP, 18H
0926b(00080001): ADD R0, R0, R1
0927c(81E00004): LDR R1, SP, 4H
0928c(D13CDC4C): BLEQ MT [trap=4, pos=15580]
0929d(8110002C): LDR R1, R1, 2CH
092Ad(00090001): SUB R0, R0, R1
092Bd(E5000006): BLT 6 [0932H]
092Ce(80E00004): LDR R0, SP, 4H
092De(D13CEB4C): BLEQ MT [trap=4, pos=15595]
092Ef(8000002C): LDR R0, R0, 2CH
092Ff(81E00010): LDR R1, SP, 10H
0930f(00090001): SUB R0, R0, R1
0931f(A0E00018): STR R0, SP, 18H
Display.ReplConst(col,g x,h y,i w,j h,k mode)l
0932g(80E00008): LDR R0, SP, 8H
0933h(81E0000C): LDR R1, SP, CH
0934i(82E00010): LDR R2, SP, 10H
0935j(83E00014): LDR R3, SP, 14H
0936k(84E00018): LDR R4, SP, 18H
0937l(85E0001C): LDR R5, SP, 1CH
ENDm ReplConst;
0938m .FIXUP P
0938m(F710F053): BL MOD1 [Display] PROC15
0939m(8FE00000): LDR LNK, SP, 0H
093Am(4EE80020): ADD SP, SP, 20H
093Bm(C700000F): B LNK
PROCEDURE ReplPattern*(F: Frame; col, patadr, x, y, w, h, mode: INTEGER);
BEGINn
093Cn .PROC 23
093Cn(4EE90024): SUB SP, SP, 24H
093Dn(AFE00000): STR LNK, SP, 0H
093En(A0E00004): STR R0, SP, 4H
093Fn(A1E00008): STR R1, SP, 8H
0940n(A2E0000C): STR R2, SP, CH
0941n(A3E00010): STR R3, SP, 10H
0942n(A4E00014): STR R4, SP, 14H
0943n(A5E00018): STR R5, SP, 18H
0944n(A6E0001C): STR R6, SP, 1CH
0945n(A7E00020): STR R7, SP, 20H
IF x < F.Xo THENp DEC(w, F.Xq-x)r;s x := F.Xt ENDu ;
0946o(80E00004): LDR R0, SP, 4H
0947o(D13D974C): BLEQ MT [trap=4, pos=15767]
0948p(81E00010): LDR R1, SP, 10H
0949p(80000008): LDR R0, R0, 8H
094Ap(01190000): SUB R1, R1, R0
094Bp(ED00000C): BGE 12 [0958H]
094Cq(80E00004): LDR R0, SP, 4H
094Dq(D13DA74C): BLEQ MT [trap=4, pos=15783]
094Er(80000008): LDR R0, R0, 8H
094Fr(81E00010): LDR R1, SP, 10H
0950r(00090001): SUB R0, R0, R1
0951s(81E00018): LDR R1, SP, 18H
0952s(01190000): SUB R1, R1, R0
0953s(A1E00018): STR R1, SP, 18H
0954t(80E00004): LDR R0, SP, 4H
0955t(D13DB44C): BLEQ MT [trap=4, pos=15796]
0956u(80000008): LDR R0, R0, 8H
0957u(A0E00010): STR R0, SP, 10H
IF x+w >=v F.X1w THENx w := F.X1y - x ENDz ;
0958v(80E00010): LDR R0, SP, 10H
0959v(81E00018): LDR R1, SP, 18H
095Av(00080001): ADD R0, R0, R1
095Bw(81E00004): LDR R1, SP, 4H
095Cw(D13DCD4C): BLEQ MT [trap=4, pos=15821]
095Dx(81100028): LDR R1, R1, 28H
095Ex(00090001): SUB R0, R0, R1
095Fx(E5000006): BLT 6 [0966H]
0960y(80E00004): LDR R0, SP, 4H
0961y(D13DDC4C): BLEQ MT [trap=4, pos=15836]
0962z(80000028): LDR R0, R0, 28H
0963z(81E00010): LDR R1, SP, 10H
0964z(00090001): SUB R0, R0, R1
0965z(A0E00018): STR R0, SP, 18H
IF y < F.Ya THENb DEC(h, F.Yc-y)d;e y := F.Yf ENDg ;
0966a(80E00004): LDR R0, SP, 4H
0967a(D13DF54C): BLEQ MT [trap=4, pos=15861]
0968b(81E00014): LDR R1, SP, 14H
0969b(8000000C): LDR R0, R0, CH
096Ab(01190000): SUB R1, R1, R0
096Bb(ED00000C): BGE 12 [0978H]
096Cc(80E00004): LDR R0, SP, 4H
096Dc(D13E054C): BLEQ MT [trap=4, pos=15877]
096Ed(8000000C): LDR R0, R0, CH
096Fd(81E00014): LDR R1, SP, 14H
0970d(00090001): SUB R0, R0, R1
0971e(81E0001C): LDR R1, SP, 1CH
0972e(01190000): SUB R1, R1, R0
0973e(A1E0001C): STR R1, SP, 1CH
0974f(80E00004): LDR R0, SP, 4H
0975f(D13E124C): BLEQ MT [trap=4, pos=15890]
0976g(8000000C): LDR R0, R0, CH
0977g(A0E00014): STR R0, SP, 14H
IF y+h >=h F.Y1i THENj h := F.Y1k - y ENDl ;
0978h(80E00014): LDR R0, SP, 14H
0979h(81E0001C): LDR R1, SP, 1CH
097Ah(00080001): ADD R0, R0, R1
097Bi(81E00004): LDR R1, SP, 4H
097Ci(D13E2B4C): BLEQ MT [trap=4, pos=15915]
097Dj(8110002C): LDR R1, R1, 2CH
097Ej(00090001): SUB R0, R0, R1
097Fj(E5000006): BLT 6 [0986H]
0980k(80E00004): LDR R0, SP, 4H
0981k(D13E3A4C): BLEQ MT [trap=4, pos=15930]
0982l(8000002C): LDR R0, R0, 2CH
0983l(81E00014): LDR R1, SP, 14H
0984l(00090001): SUB R0, R0, R1
0985l(A0E0001C): STR R0, SP, 1CH
Display.ReplPattern(col,m patadr,n x,o y,p w,q h,r mode)s
0986m(80E00008): LDR R0, SP, 8H
0987n(81E0000C): LDR R1, SP, CH
0988o(82E00010): LDR R2, SP, 10H
0989p(83E00014): LDR R3, SP, 14H
098Aq(84E00018): LDR R4, SP, 18H
098Br(85E0001C): LDR R5, SP, 1CH
098Cs(86E00020): LDR R6, SP, 20H
ENDt ReplPattern;
098Dt .FIXUP P
098Dt(F7112055): BL MOD1 [Display] PROC18
098Et(8FE00000): LDR LNK, SP, 0H
098Ft(4EE80024): ADD SP, SP, 24H
0990t(C700000F): B LNK
PROCEDURE DrawLine(obj: Graphics.Object; VAR M: Graphics.Msg);
(*M.mode = 0: draw according to state,
= 1: normal -> selected,
= 2: selected -> normal,
= 3: erase*)
VAR x, y, w, h, col: INTEGER; f: Frame;
BEGINu
0991u(4EE90028): SUB SP, SP, 28H
0992u(AFE00000): STR LNK, SP, 0H
0993u(A0E00004): STR R0, SP, 4H
0994u(A1E00008): STR R1, SP, 8H
0995u(A2E0000C): STR R2, SP, CH
CASE M OF DrawMsg:v
0996v(80E0000C): LDR R0, SP, CH
0997v(80000004): LDR R0, R0, 4H
0998v .FIXUP D
0998v(8D0000D3): LDR SB, MT, MOD0 [GraphicFrames]
0999v(41D8003C): ADD R1, SB, 3CH [data]
099Av(01190000): SUB R1, R1, R0
099Bv(E9000068): BNE 104 [0A04H]
x := obj.xw + M.x;x y := obj.yy + M.y;z w := obj.wa;b h := obj.hc;d f := M.f;e
099Cw(80E00004): LDR R0, SP, 4H
099Dw(D13FB04C): BLEQ MT [trap=4, pos=16304]
099Ex(80000000): LDR R0, R0, 0H
099Fx(81E00008): LDR R1, SP, 8H
09A0x(81100004): LDR R1, R1, 4H
09A1x(00080001): ADD R0, R0, R1
09A2x(A0E00010): STR R0, SP, 10H
09A3y(80E00004): LDR R0, SP, 4H
09A4y(D13FC24C): BLEQ MT [trap=4, pos=16322]
09A5z(80000004): LDR R0, R0, 4H
09A6z(81E00008): LDR R1, SP, 8H
09A7z(81100008): LDR R1, R1, 8H
09A8z(00080001): ADD R0, R0, R1
09A9z(A0E00014): STR R0, SP, 14H
09AAa(80E00004): LDR R0, SP, 4H
09ABa(D13FD44C): BLEQ MT [trap=4, pos=16340]
09ACb(80000008): LDR R0, R0, 8H
09ADb(A0E00018): STR R0, SP, 18H
09AEc(80E00004): LDR R0, SP, 4H
09AFc(D13FE04C): BLEQ MT [trap=4, pos=16352]
09B0d(8000000C): LDR R0, R0, CH
09B1d(A0E0001C): STR R0, SP, 1CH
09B2e(80E00008): LDR R0, SP, 8H
09B3e(80000000): LDR R0, R0, 0H
09B4e(A0E00024): STR R0, SP, 24H
IF (x+w >f f.Xg)h & (ix < f.X1j)k & (ly+h >m f.Yn)o & (py < f.Y1q)r THENs
09B5f(80E00010): LDR R0, SP, 10H
09B6f(81E00018): LDR R1, SP, 18H
09B7f(00080001): ADD R0, R0, R1
09B8g(81E00024): LDR R1, SP, 24H
09B9g(D13FFF4C): BLEQ MT [trap=4, pos=16383]
09BAh(81100008): LDR R1, R1, 8H
09BBh(00090001): SUB R0, R0, R1
09BCi(E6000047): BLE 71 [0A04H]
09BDj(80E00024): LDR R0, SP, 24H
09BEj(D1400C4C): BLEQ MT [trap=4, pos=16396]
09BFk(81E00010): LDR R1, SP, 10H
09C0k(80000028): LDR R0, R0, 28H
09C1k(01190000): SUB R1, R1, R0
09C2l(ED000041): BGE 65 [0A04H]
09C3m(80E00014): LDR R0, SP, 14H
09C4m(81E0001C): LDR R1, SP, 1CH
09C5m(00080001): ADD R0, R0, R1
09C6n(81E00024): LDR R1, SP, 24H
09C7n(D1401A4C): BLEQ MT [trap=4, pos=16410]
09C8o(8110000C): LDR R1, R1, CH
09C9o(00090001): SUB R0, R0, R1
09CAp(E6000039): BLE 57 [0A04H]
09CBq(80E00024): LDR R0, SP, 24H
09CCq(D140274C): BLEQ MT [trap=4, pos=16423]
09CDr(81E00014): LDR R1, SP, 14H
09CEr(8000002C): LDR R0, R0, 2CH
09CFr(01190000): SUB R1, R1, R0
09D0s(ED000033): BGE 51 [0A04H]
col := Display.white;t
09D1t(40000001): MOV R0, R0, 1H
09D2t(A0E00020): STR R0, SP, 20H
IF (M.mode = 0)u & objv.selectedw ORx (yM.mode = 1)z THENa
09D3u(80E00008): LDR R0, SP, 8H
09D4u(80000010): LDR R0, R0, 10H
09D5v(E9000004): BNE 4 [09DAH]
09D6w(80E00004): LDR R0, SP, 4H
09D7w(D140724C): BLEQ MT [trap=4, pos=16498]
09D8x(90000011): LDR R0, R0, 11H
09D9y(E9000004): BNE 4 [09DEH]
09DAz(80E00008): LDR R0, SP, 8H
09DBz(80000010): LDR R0, R0, 10H
09DCz(40090001): SUB R0, R0, 1H
09DDa(E900000B): BNE 11 [09E9H]
ReplPattern(f,b col,c Display.grey,d x,e y,f w,g h,h Display.replace)i
09DEb(80E00024): LDR R0, SP, 24H
09DFc(81E00020): LDR R1, SP, 20H
09E0d .FIXUP D
09E0d(8D100048): LDR SB, MT, MOD1 [Display]
09E1d(82D0000C): LDR R2, SB, VAR12
09E2e(83E00010): LDR R3, SP, 10H
09E3f(84E00014): LDR R4, SP, 14H
09E4g(85E00018): LDR R5, SP, 18H
09E5h(86E0001C): LDR R6, SP, 1CH
09E6i(47000000): MOV R7, R0, 0H
ELSIFj Mk.mode IN {0, 2} THENl ReplConst(f,m col,n x,o y,p w,q h,r Display.replace)s
09E7j(F7FFFF54): BL -172 [093CH]
09E8k(E700001B): B 27 [0A04H]
09E9l(40000005): MOV R0, R0, 5H
09EAl(81E00008): LDR R1, SP, 8H
09EBl(81100010): LDR R1, R1, 10H
09ECl(41180001): ADD R1, R1, 1H
09EDl(00030001): ROR R0, R0, R1
09EEl(E8000009): BPL 9 [09F8H]
09EFm(80E00024): LDR R0, SP, 24H
09F0n(81E00020): LDR R1, SP, 20H
09F1o(82E00010): LDR R2, SP, 10H
09F2p(83E00014): LDR R3, SP, 14H
09F3q(84E00018): LDR R4, SP, 18H
09F4r(85E0001C): LDR R5, SP, 1CH
09F5s(46000000): MOV R6, R0, 0H
ELSIFt Mu.mode = 3 THENv ReplConst(f,w Display.black,x x,y y,z w,a h,b Display.replace)c (*erase*)
09F6t(F7FFFEF2): BL -270 [08E9H]
09F7u(E700000C): B 12 [0A04H]
09F8v(80E00008): LDR R0, SP, 8H
09F9v(80000010): LDR R0, R0, 10H
09FAv(40090003): SUB R0, R0, 3H
09FBv(E9000008): BNE 8 [0A04H]
09FCw(80E00024): LDR R0, SP, 24H
09FDx(41000000): MOV R1, R0, 0H
09FEy(82E00010): LDR R2, SP, 10H
09FFz(83E00014): LDR R3, SP, 14H
0A00a(84E00018): LDR R4, SP, 18H
0A01b(85E0001C): LDR R5, SP, 1CH
0A02c(46000000): MOV R6, R0, 0H
ENDd
0A03d(F7FFFEE5): BL -283 [08E9H]
END
END
ENDe DrawLine;
0A04e(8FE00000): LDR LNK, SP, 0H
0A05e(4EE80028): ADD SP, SP, 28H
0A06e(C700000F): B LNK
PROCEDURE DrawCaption(obj: Graphics.Object; VAR M: Graphics.Msg);
VAR x, y, dx, x0, x1, y0, y1, w, h, w1, h1, col: INTEGER;
f: Frame;
ch: CHAR; pat: INTEGER; fnt: Fonts.Font;
R: Texts.Reader;
BEGINf
0A07f(4EE90084): SUB SP, SP, 84H
0A08f(AFE00000): STR LNK, SP, 0H
0A09f(A0E00004): STR R0, SP, 4H
0A0Af(A1E00008): STR R1, SP, 8H
0A0Bf(A2E0000C): STR R2, SP, CH
CASE M OF DrawMsg:g
0A0Cg(80E0000C): LDR R0, SP, CH
0A0Dg(80000004): LDR R0, R0, 4H
0A0Eg .FIXUP D
0A0Eg(8D00002E): LDR SB, MT, MOD0 [GraphicFrames]
0A0Fg(41D8003C): ADD R1, SB, 3CH [data]
0A10g(01190000): SUB R1, R1, R0
0A11g(E90000B9): BNE 185 [0ACBH]
x := obj.xh + M.x;i y := obj.yj + M.y;k w := obj.wl;m h := obj.hn;o f := M.f;p
0A12h(80E00004): LDR R0, SP, 4H
0A13h(D142BC4C): BLEQ MT [trap=4, pos=17084]
0A14i(80000000): LDR R0, R0, 0H
0A15i(81E00008): LDR R1, SP, 8H
0A16i(81100004): LDR R1, R1, 4H
0A17i(00080001): ADD R0, R0, R1
0A18i(A0E00010): STR R0, SP, 10H
0A19j(80E00004): LDR R0, SP, 4H
0A1Aj(D142CE4C): BLEQ MT [trap=4, pos=17102]
0A1Bk(80000004): LDR R0, R0, 4H
0A1Ck(81E00008): LDR R1, SP, 8H
0A1Dk(81100008): LDR R1, R1, 8H
0A1Ek(00080001): ADD R0, R0, R1
0A1Fk(A0E00014): STR R0, SP, 14H
0A20l(80E00004): LDR R0, SP, 4H
0A21l(D142E04C): BLEQ MT [trap=4, pos=17120]
0A22m(80000008): LDR R0, R0, 8H
0A23m(A0E0002C): STR R0, SP, 2CH
0A24n(80E00004): LDR R0, SP, 4H
0A25n(D142EC4C): BLEQ MT [trap=4, pos=17132]
0A26o(8000000C): LDR R0, R0, CH
0A27o(A0E00030): STR R0, SP, 30H
0A28p(80E00008): LDR R0, SP, 8H
0A29p(80000000): LDR R0, R0, 0H
0A2Ap(A0E00040): STR R0, SP, 40H
IF (f.Xq <= x)r & (sx <= f.X1t)u & (vf.Yw <= y)x & (yy+h <=z f.Y1a)b THENc
0A2Bq(80E00040): LDR R0, SP, 40H
0A2Cq(D143054C): BLEQ MT [trap=4, pos=17157]
0A2Dr(80000008): LDR R0, R0, 8H
0A2Er(81E00010): LDR R1, SP, 10H
0A2Fr(00090001): SUB R0, R0, R1
0A30s(EE00009A): BGT 154 [0ACBH]
0A31t(80E00040): LDR R0, SP, 40H
0A32t(D143184C): BLEQ MT [trap=4, pos=17176]
0A33u(81E00010): LDR R1, SP, 10H
0A34u(80000028): LDR R0, R0, 28H
0A35u(01190000): SUB R1, R1, R0
0A36v(EE000094): BGT 148 [0ACBH]
0A37w(80E00040): LDR R0, SP, 40H
0A38w(D143204C): BLEQ MT [trap=4, pos=17184]
0A39x(8000000C): LDR R0, R0, CH
0A3Ax(81E00014): LDR R1, SP, 14H
0A3Bx(00090001): SUB R0, R0, R1
0A3Cy(EE00008E): BGT 142 [0ACBH]
0A3Dz(80E00014): LDR R0, SP, 14H
0A3Ez(81E00030): LDR R1, SP, 30H
0A3Fz(00080001): ADD R0, R0, R1
0A40a(81E00040): LDR R1, SP, 40H
0A41a(D143354C): BLEQ MT [trap=4, pos=17205]
0A42b(8110002C): LDR R1, R1, 2CH
0A43b(00090001): SUB R0, R0, R1
0A44c(EE000086): BGT 134 [0ACBH]
IF x+w >d f.X1e THENf w := f.X1g-x ENDh ;
0A45d(80E00010): LDR R0, SP, 10H
0A46d(81E0002C): LDR R1, SP, 2CH
0A47d(00080001): ADD R0, R0, R1
0A48e(81E00040): LDR R1, SP, 40H
0A49e(D143514C): BLEQ MT [trap=4, pos=17233]
0A4Af(81100028): LDR R1, R1, 28H
0A4Bf(00090001): SUB R0, R0, R1
0A4Cf(E6000006): BLE 6 [0A53H]
0A4Dg(80E00040): LDR R0, SP, 40H
0A4Eg(D143604C): BLEQ MT [trap=4, pos=17248]
0A4Fh(80000028): LDR R0, R0, 28H
0A50h(81E00010): LDR R1, SP, 10H
0A51h(00090001): SUB R0, R0, R1
0A52h(A0E0002C): STR R0, SP, 2CH
Texts.OpenReader(R,i Graphics.T,j obj(Graphics.Caption)k.pos)l;m Texts.Read(R,n ch)o;p
0A53i(40E80050): ADD R0, SP, 50H
0A54i .FIXUP D
0A54i(8D500046): LDR SB, MT, MOD5 [Texts]
0A55i(41D80002): ADD R1, SB, VAR2
0A56j .FIXUP D
0A56j(8D700002): LDR SB, MT, MOD7 [Graphics]
0A57j(82D00011): LDR R2, SB, VAR17
0A58k(83E00004): LDR R3, SP, 4H
0A59k(E1000005): BEQ 5 [0A5FH]
0A5Ak(843FFFF8): LDR R4, R3, FFFFFFF8H
0A5Bk(84400004): LDR R4, R4, 4H
0A5Ck .FIXUP D
0A5Ck(8D700006): LDR SB, MT, MOD7 [Graphics]
0A5Dk(45D8000D): ADD R5, SB, VAR13
0A5Ek(05590004): SUB R5, R5, R4
0A5Fk(D943A62C): BLNE MT [trap=2, pos=17318]
0A60l(8330001C): LDR R3, R3, 1CH
0A61m .FIXUP P
0A61m(F75120D4): BL MOD5 [Texts] PROC18
0A62n(40E80050): ADD R0, SP, 50H
0A63n .FIXUP D
0A63n(8D500007): LDR SB, MT, MOD5 [Texts]
0A64n(41D80002): ADD R1, SB, VAR2
0A65o(42E80044): ADD R2, SP, 44H
0A66p .FIXUP P
0A66p(F7513005): BL MOD5 [Texts] PROC19
IF M.mode = 0 THENq
0A67q(80E00008): LDR R0, SP, 8H
0A68q(80000010): LDR R0, R0, 10H
0A69q(E9000046): BNE 70 [0AB0H]
IF ch >= " " THENr
0A6Ar(90E00044): LDR R0, SP, 44H
0A6Br(40090020): SUB R0, R0, 20H
0A6Cr(E5000042): BLT 66 [0AAFH]
fnt := R.fnt;s x0 := x;t y0 := y - fnt.minYu;v
0A6Ds(80E00054): LDR R0, SP, 54H
0A6Es(A0E0004C): STR R0, SP, 4CH
0A6Ft(80E00010): LDR R0, SP, 10H
0A70t(A0E0001C): STR R0, SP, 1CH
0A71u(80E0004C): LDR R0, SP, 4CH
0A72u(D1442C4C): BLEQ MT [trap=4, pos=17452]
0A73v(81E00014): LDR R1, SP, 14H
0A74v(8000002C): LDR R0, R0, 2CH
0A75v(00190000): SUB R0, R1, R0
0A76v(A0E00024): STR R0, SP, 24H
REPEAT Fonts.GetPat(fnt,w ch,x dx,y x1,z y1,a w1,b h1,c pat)d;e
0A77w(80E0004C): LDR R0, SP, 4CH
0A78x(91E00044): LDR R1, SP, 44H
0A79y(42E80018): ADD R2, SP, 18H
0A7Az(43E80020): ADD R3, SP, 20H
0A7Ba(44E80028): ADD R4, SP, 28H
0A7Cb(45E80034): ADD R5, SP, 34H
0A7Dc(46E80038): ADD R6, SP, 38H
0A7Ed(47E80048): ADD R7, SP, 48H
0A7Fe .FIXUP P
0A7Fe(F7404019): BL MOD4 [Fonts] PROC4
IF x0+x1+fw1 <=g f.X1h THENi
0A80f(80E0001C): LDR R0, SP, 1CH
0A81f(81E00020): LDR R1, SP, 20H
0A82f(00080001): ADD R0, R0, R1
0A83g(81E00034): LDR R1, SP, 34H
0A84g(00080001): ADD R0, R0, R1
0A85h(81E00040): LDR R1, SP, 40H
0A86h(D144924C): BLEQ MT [trap=4, pos=17554]
0A87i(81100028): LDR R1, R1, 28H
0A88i(00090001): SUB R0, R0, R1
0A89i(EE000014): BGT 20 [0A9EH]
Display.CopyPattern(col,j pat,k x0+x1,l y0+y1,m Display.paint)n;o INC(x0, dx);p Texts.Read(R,q ch)r
0A8Aj(80E0003C): LDR R0, SP, 3CH
0A8Bk(81E00048): LDR R1, SP, 48H
0A8Cl(82E0001C): LDR R2, SP, 1CH
0A8Dl(83E00020): LDR R3, SP, 20H
0A8El(02280003): ADD R2, R2, R3
0A8Fm(83E00024): LDR R3, SP, 24H
0A90m(84E00028): LDR R4, SP, 28H
0A91m(03380004): ADD R3, R3, R4
0A92n(44000001): MOV R4, R0, 1H
0A93o .FIXUP P
0A93o(F7110014): BL MOD1 [Display] PROC16
0A94p(80E0001C): LDR R0, SP, 1CH
0A95p(81E00018): LDR R1, SP, 18H
0A96p(00080001): ADD R0, R0, R1
0A97p(A0E0001C): STR R0, SP, 1CH
0A98q(40E80050): ADD R0, SP, 50H
0A99q .FIXUP D
0A99q(8D500036): LDR SB, MT, MOD5 [Texts]
0A9Aq(41D80002): ADD R1, SB, VAR2
0A9Br(42E80044): ADD R2, SP, 44H
ELSEs cht := 0X
0A9Cs .FIXUP P
0A9Cs(F7513009): BL MOD5 [Texts] PROC19
0A9Dt(E7000002): B 2 [0AA0H]
ENDu
0A9Eu(40000000): MOV R0, R0, 0H
0A9Fu(B0E00044): STR R0, SP, 44H
UNTIL ch < " ";v
0AA0v(90E00044): LDR R0, SP, 44H
0AA1v(40090020): SUB R0, R0, 20H
0AA2v(EDFFFFD4): BGE -44 [0A77H]
IF obj.selectedw THENx ReplConst(f,y Display.white,z x,a y,b w,c h,d Display.invert)e ENDf
0AA3w(80E00004): LDR R0, SP, 4H
0AA4w(D145684C): BLEQ MT [trap=4, pos=17768]
0AA5x(90000011): LDR R0, R0, 11H
0AA6x(E1000008): BEQ 8 [0AAFH]
0AA7y(80E00040): LDR R0, SP, 40H
0AA8z(41000001): MOV R1, R0, 1H
0AA9a(82E00010): LDR R2, SP, 10H
0AAAb(83E00014): LDR R3, SP, 14H
0AABc(84E0002C): LDR R4, SP, 2CH
0AACd(85E00030): LDR R5, SP, 30H
0AADe(46000002): MOV R6, R0, 2H
0AAEf(F7FFFE3A): BL -454 [08E9H]
END
ELSIF Mg.mode IN {1, 2} THENh ReplConst(f,i Display.white,j x,k y,l w,m h,n Display.invert)o
0AAFg(E700001B): B 27 [0ACBH]
0AB0h(40000006): MOV R0, R0, 6H
0AB1h(81E00008): LDR R1, SP, 8H
0AB2h(81100010): LDR R1, R1, 10H
0AB3h(41180001): ADD R1, R1, 1H
0AB4h(00030001): ROR R0, R0, R1
0AB5h(E8000009): BPL 9 [0ABFH]
0AB6i(80E00040): LDR R0, SP, 40H
0AB7j(41000001): MOV R1, R0, 1H
0AB8k(82E00010): LDR R2, SP, 10H
0AB9l(83E00014): LDR R3, SP, 14H
0ABAm(84E0002C): LDR R4, SP, 2CH
0ABBn(85E00030): LDR R5, SP, 30H
0ABCo(46000002): MOV R6, R0, 2H
ELSIFp Mq.mode = 3 THENr ReplConst(f,s Display.black,t x,u y,v w,w h,x Display.replace)y
0ABDp(F7FFFE2B): BL -469 [08E9H]
0ABEq(E700000C): B 12 [0ACBH]
0ABFr(80E00008): LDR R0, SP, 8H
0AC0r(80000010): LDR R0, R0, 10H
0AC1r(40090003): SUB R0, R0, 3H
0AC2r(E9000008): BNE 8 [0ACBH]
0AC3s(80E00040): LDR R0, SP, 40H
0AC4t(41000000): MOV R1, R0, 0H
0AC5u(82E00010): LDR R2, SP, 10H
0AC6v(83E00014): LDR R3, SP, 14H
0AC7w(84E0002C): LDR R4, SP, 2CH
0AC8x(85E00030): LDR R5, SP, 30H
0AC9y(46000000): MOV R6, R0, 0H
ENDz
0ACAz(F7FFFE1E): BL -482 [08E9H]
END
END
ENDa DrawCaption;
0ACBa(8FE00000): LDR LNK, SP, 0H
0ACCa(4EE80084): ADD SP, SP, 84H
0ACDa(C700000F): B LNK
PROCEDURE DrawMacro(obj: Graphics.Object; VAR M: Graphics.Msg);
VAR x, y, w, h: INTEGER;
f: Frame; M1: DrawMsg;
BEGINb
0ACEb(4EE90038): SUB SP, SP, 38H
0ACFb(AFE00000): STR LNK, SP, 0H
0AD0b(A0E00004): STR R0, SP, 4H
0AD1b(A1E00008): STR R1, SP, 8H
0AD2b(A2E0000C): STR R2, SP, CH
CASE M OF DrawMsg:c
0AD3c(80E0000C): LDR R0, SP, CH
0AD4c(80000004): LDR R0, R0, 4H
0AD5c .FIXUP D
0AD5c(8D00003C): LDR SB, MT, MOD0 [GraphicFrames]
0AD6c(41D8003C): ADD R1, SB, 3CH [data]
0AD7c(01190000): SUB R1, R1, R0
0AD8c(E900007D): BNE 125 [0B56H]
x := obj.xd + M.x;e y := obj.yf + M.y;g w := obj.wh;i h := obj.hj;k f := M.f;l
0AD9d(80E00004): LDR R0, SP, 4H
0ADAd(D147484C): BLEQ MT [trap=4, pos=18248]
0ADBe(80000000): LDR R0, R0, 0H
0ADCe(81E00008): LDR R1, SP, 8H
0ADDe(81100004): LDR R1, R1, 4H
0ADEe(00080001): ADD R0, R0, R1
0ADFe(A0E00010): STR R0, SP, 10H
0AE0f(80E00004): LDR R0, SP, 4H
0AE1f(D1475A4C): BLEQ MT [trap=4, pos=18266]
0AE2g(80000004): LDR R0, R0, 4H
0AE3g(81E00008): LDR R1, SP, 8H
0AE4g(81100008): LDR R1, R1, 8H
0AE5g(00080001): ADD R0, R0, R1
0AE6g(A0E00014): STR R0, SP, 14H
0AE7h(80E00004): LDR R0, SP, 4H
0AE8h(D1476C4C): BLEQ MT [trap=4, pos=18284]
0AE9i(80000008): LDR R0, R0, 8H
0AEAi(A0E00018): STR R0, SP, 18H
0AEBj(80E00004): LDR R0, SP, 4H
0AECj(D147784C): BLEQ MT [trap=4, pos=18296]
0AEDk(8000000C): LDR R0, R0, CH
0AEEk(A0E0001C): STR R0, SP, 1CH
0AEFl(80E00008): LDR R0, SP, 8H
0AF0l(80000000): LDR R0, R0, 0H
0AF1l(A0E00020): STR R0, SP, 20H
IF (x+w >m f.Xn)o & (px < f.X1q)r & (sy+h >t f.Yu)v & (wy < f.Y1x)y THENz
0AF2m(80E00010): LDR R0, SP, 10H
0AF3m(81E00018): LDR R1, SP, 18H
0AF4m(00080001): ADD R0, R0, R1
0AF5n(81E00020): LDR R1, SP, 20H
0AF6n(D147974C): BLEQ MT [trap=4, pos=18327]
0AF7o(81100008): LDR R1, R1, 8H
0AF8o(00090001): SUB R0, R0, R1
0AF9p(E600005C): BLE 92 [0B56H]
0AFAq(80E00020): LDR R0, SP, 20H
0AFBq(D147A44C): BLEQ MT [trap=4, pos=18340]
0AFCr(81E00010): LDR R1, SP, 10H
0AFDr(80000028): LDR R0, R0, 28H
0AFEr(01190000): SUB R1, R1, R0
0AFFs(ED000056): BGE 86 [0B56H]
0B00t(80E00014): LDR R0, SP, 14H
0B01t(81E0001C): LDR R1, SP, 1CH
0B02t(00080001): ADD R0, R0, R1
0B03u(81E00020): LDR R1, SP, 20H
0B04u(D147B24C): BLEQ MT [trap=4, pos=18354]
0B05v(8110000C): LDR R1, R1, CH
0B06v(00090001): SUB R0, R0, R1
0B07w(E600004E): BLE 78 [0B56H]
0B08x(80E00020): LDR R0, SP, 20H
0B09x(D147BF4C): BLEQ MT [trap=4, pos=18367]
0B0Ay(81E00014): LDR R1, SP, 14H
0B0By(8000002C): LDR R0, R0, 2CH
0B0Cy(01190000): SUB R1, R1, R0
0B0Dz(ED000048): BGE 72 [0B56H]
M1.x := x;a M1.y := y;b
0B0Ea(80E00010): LDR R0, SP, 10H
0B0Fa(A0E00028): STR R0, SP, 28H
0B10b(80E00014): LDR R0, SP, 14H
0B11b(A0E0002C): STR R0, SP, 2CH
IF M.mode = 0 THENc
0B12c(80E00008): LDR R0, SP, 8H
0B13c(80000010): LDR R0, R0, 10H
0B14c(E9000024): BNE 36 [0B39H]
M1.f := f;d M1.col := obj.cole;f M1.mode := 0;g Graphics.DrawMac(obj(Graphics.Macro)h.mac,i M1)j;k
0B15d(80E00020): LDR R0, SP, 20H
0B16d(A0E00024): STR R0, SP, 24H
0B17e(80E00004): LDR R0, SP, 4H
0B18e(D148254C): BLEQ MT [trap=4, pos=18469]
0B19f(90000010): LDR R0, R0, 10H
0B1Af(A0E00030): STR R0, SP, 30H
0B1Bg(40000000): MOV R0, R0, 0H
0B1Cg(A0E00034): STR R0, SP, 34H
0B1Dh(80E00004): LDR R0, SP, 4H
0B1Eh(E1000005): BEQ 5 [0B24H]
0B1Fh(810FFFF8): LDR R1, R0, FFFFFFF8H
0B20h(81100004): LDR R1, R1, 4H
0B21h .FIXUP D
0B21h(8D70004C): LDR SB, MT, MOD7 [Graphics]
0B22h(42D8000E): ADD R2, SB, VAR14
0B23h(02290001): SUB R2, R2, R1
0B24h(D948592C): BLNE MT [trap=2, pos=18521]
0B25i(8000001C): LDR R0, R0, 1CH
0B26j(41E80024): ADD R1, SP, 24H
0B27j .FIXUP D
0B27j(8D000006): LDR SB, MT, MOD0 [GraphicFrames]
0B28j(42D8003C): ADD R2, SB, 3CH [data]
0B29k .FIXUP P
0B29k(F773108D): BL MOD7 [Graphics] PROC49
IF obj.selectedl THENm ReplPattern(f,n Display.white,o dotted,p x,q y,r w,s h,t Display.invert)u ENDv
0B2Al(80E00004): LDR R0, SP, 4H
0B2Bl(D1487D4C): BLEQ MT [trap=4, pos=18557]
0B2Cm(90000011): LDR R0, R0, 11H
0B2Dm(E100000A): BEQ 10 [0B38H]
0B2En(80E00020): LDR R0, SP, 20H
0B2Fo(41000001): MOV R1, R0, 1H
0B30p .FIXUP D
0B30p(8D000009): LDR SB, MT, MOD0 [GraphicFrames]
0B31p(82D000F8): LDR R2, SB, F8H [data]
0B32q(83E00010): LDR R3, SP, 10H
0B33r(84E00014): LDR R4, SP, 14H
0B34s(85E00018): LDR R5, SP, 18H
0B35t(86E0001C): LDR R6, SP, 1CH
0B36u(47000002): MOV R7, R0, 2H
0B37v(F7FFFE04): BL -508 [093CH]
ELSIF Mw.mode IN {1, 2} THENx ReplPattern(f,y Display.white,z dotted,a x,b y,c w,d h,e Display.invert)f
0B38w(E700001D): B 29 [0B56H]
0B39x(40000006): MOV R0, R0, 6H
0B3Ax(81E00008): LDR R1, SP, 8H
0B3Bx(81100010): LDR R1, R1, 10H
0B3Cx(41180001): ADD R1, R1, 1H
0B3Dx(00030001): ROR R0, R0, R1
0B3Ex(E800000B): BPL 11 [0B4AH]
0B3Fy(80E00020): LDR R0, SP, 20H
0B40z(41000001): MOV R1, R0, 1H
0B41a .FIXUP D
0B41a(8D000011): LDR SB, MT, MOD0 [GraphicFrames]
0B42a(82D000F8): LDR R2, SB, F8H [data]
0B43b(83E00010): LDR R3, SP, 10H
0B44c(84E00014): LDR R4, SP, 14H
0B45d(85E00018): LDR R5, SP, 18H
0B46e(86E0001C): LDR R6, SP, 1CH
0B47f(47000002): MOV R7, R0, 2H
ELSIFg Mh.mode = 3 THENi ReplConst(f,j Display.black,k x,l y,m w,n h,o Display.replace)p
0B48g(F7FFFDF3): BL -525 [093CH]
0B49h(E700000C): B 12 [0B56H]
0B4Ai(80E00008): LDR R0, SP, 8H
0B4Bi(80000010): LDR R0, R0, 10H
0B4Ci(40090003): SUB R0, R0, 3H
0B4Di(E9000008): BNE 8 [0B56H]
0B4Ej(80E00020): LDR R0, SP, 20H
0B4Fk(41000000): MOV R1, R0, 0H
0B50l(82E00010): LDR R2, SP, 10H
0B51m(83E00014): LDR R3, SP, 14H
0B52n(84E00018): LDR R4, SP, 18H
0B53o(85E0001C): LDR R5, SP, 1CH
0B54p(46000000): MOV R6, R0, 0H
ENDq
0B55q(F7FFFD93): BL -621 [08E9H]
END
END
ENDr DrawMacro;
0B56r(8FE00000): LDR LNK, SP, 0H
0B57r(4EE80038): ADD SP, SP, 38H
0B58r(C700000F): B LNK
(*---------------------------------------------------------------*)
PROCEDURE Open*(G: Frame; graph: Graphics.Graph);
BEGINs G.grapht := graph;u G.Xgv := 0;w G.Ygx := 0;y G.xz := G.Xa;b G.yc := G.Yd;e
0B59s .PROC 24
0B59s(4EE9000C): SUB SP, SP, CH
0B5As(AFE00000): STR LNK, SP, 0H
0B5Bs(A0E00004): STR R0, SP, 4H
0B5Cs(A1E00008): STR R1, SP, 8H
0B5Dt(80E00004): LDR R0, SP, 4H
0B5Et(D14A414C): BLEQ MT [trap=4, pos=19009]
0B5Fu(81E00008): LDR R1, SP, 8H
0B60u(A100001C): STR R1, R0, 1CH
0B61v(80E00004): LDR R0, SP, 4H
0B62v(D14A504C): BLEQ MT [trap=4, pos=19024]
0B63w(41000000): MOV R1, R0, 0H
0B64w(A1000020): STR R1, R0, 20H
0B65x(80E00004): LDR R0, SP, 4H
0B66x(D14A5B4C): BLEQ MT [trap=4, pos=19035]
0B67y(41000000): MOV R1, R0, 0H
0B68y(A1000024): STR R1, R0, 24H
0B69z(80E00004): LDR R0, SP, 4H
0B6Az(D14A654C): BLEQ MT [trap=4, pos=19045]
0B6Ba(81E00004): LDR R1, SP, 4H
0B6Ca(D14A6C4C): BLEQ MT [trap=4, pos=19052]
0B6Db(81100008): LDR R1, R1, 8H
0B6Eb(A1000030): STR R1, R0, 30H
0B6Fc(80E00004): LDR R0, SP, 4H
0B70c(D14A714C): BLEQ MT [trap=4, pos=19057]
0B71d(81E00004): LDR R1, SP, 4H
0B72d(D14A784C): BLEQ MT [trap=4, pos=19064]
0B73e(8110000C): LDR R1, R1, CH
0B74e(A1000034): STR R1, R0, 34H
G.colf := Display.black;g G.markedh := FALSE;i
0B75f(80E00004): LDR R0, SP, 4H
0B76f(D14A834C): BLEQ MT [trap=4, pos=19075]
0B77g(41000000): MOV R1, R0, 0H
0B78g(A1000038): STR R1, R0, 38H
0B79h(80E00004): LDR R0, SP, 4H
0B7Ah(D14A9E4C): BLEQ MT [trap=4, pos=19102]
0B7Bi(41000000): MOV R1, R0, 0H
0B7Ci(B100003C): STR R1, R0, 3CH
G.markj.next := NIL;k G.tickedl := TRUE;m G.handlen := Handle
0B7Dj(80E00004): LDR R0, SP, 4H
0B7Ej(D14AB34C): BLEQ MT [trap=4, pos=19123]
0B7Fk(41000000): MOV R1, R0, 0H
0B80k(A1000048): STR R1, R0, 48H
0B81l(80E00004): LDR R0, SP, 4H
0B82l(D14AC94C): BLEQ MT [trap=4, pos=19145]
0B83m(41000001): MOV R1, R0, 1H
0B84m(B100003D): STR R1, R0, 3DH
0B85n(80E00004): LDR R0, SP, 4H
0B86n(D14ADB4C): BLEQ MT [trap=4, pos=19163]
ENDo Open;
0B87o(F7000000): BL 0 [0B88H]
0B88o(41F913C4): SUB R1, LNK, 13C4H
0B89o(A1000018): STR R1, R0, 18H
0B8Ao(8FE00000): LDR LNK, SP, 0H
0B8Bo(4EE8000C): ADD SP, SP, CH
0B8Co(C700000F): B LNK
BEGINp DW := Display.Width - 8;q DH := Display.Height - 8;r CL := 0;s
0B8Dp .PROC 0
0B8Dp .ENTRYPOINT
0B8Dp(4EE90004): SUB SP, SP, 4H
0B8Ep(AFE00000): STR LNK, SP, 0H
0B8Fq .FIXUP D
0B8Fq(8D10004E): LDR SB, MT, MOD1 [Display]
0B90q(80D00004): LDR R0, SB, VAR4
0B91q(40090008): SUB R0, R0, 8H
0B92q .FIXUP D
0B92q(8D000003): LDR SB, MT, MOD0 [GraphicFrames]
0B93q(A0D00108): STR R0, SB, 108H [data]
0B94r .FIXUP D
0B94r(8D100002): LDR SB, MT, MOD1 [Display]
0B95r(80D00005): LDR R0, SB, VAR5
0B96r(40090008): SUB R0, R0, 8H
0B97r .FIXUP D
0B97r(8D000003): LDR SB, MT, MOD0 [GraphicFrames]
0B98r(A0D0010C): STR R0, SB, 10CH [data]
0B99s(40000000): MOV R0, R0, 0H
0B9As(A0D00110): STR R0, SB, 110H
Texts.OpenWriter(W)t;u
0B9Bt(40D80114): ADD R0, SB, 114H
0B9Ct .FIXUP D
0B9Ct(8D500005): LDR SB, MT, MOD5 [Texts]
0B9Dt(41D80005): ADD R1, SB, VAR5
0B9Eu .FIXUP P
0B9Eu(F7517075): BL MOD5 [Texts] PROC23
tack := SYSTEM.ADR($0707 4122 1408 1422 4100$);v
0B9Fv .FIXUP D
0B9Fv(8D000003): LDR SB, MT, MOD0 [GraphicFrames]
0BA0v(40D8014C): ADD R0, SB, 14CH [data]
0BA1v(A0D000F4): STR R0, SB, F4H
dotted := SYSTEM.ADR($2004 0000 1111 1111 0000 0000 0000 0000 0000 0000$);w
0BA2w(40D80158): ADD R0, SB, 158H
0BA3w(A0D000F8): STR R0, SB, F8H
dotted1 := SYSTEM.ADR($2004 0000 1111 1111 0000 0000 4444 4444 0000 0000$);x
0BA4x(40D8016C): ADD R0, SB, 16CH
0BA5x(A0D000FC): STR R0, SB, FCH
Crosshair.Fade := FlipCross;y Crosshair.Draw := FlipCross;z
0BA6y(F7000000): BL 0 [0BA7H]
0BA7y(40F92B2C): SUB R0, LNK, 2B2CH
0BA8y(A0D000EC): STR R0, SB, ECH
0BA9z(F7000000): BL 0 [0BAAH]
0BAAz(40F92B38): SUB R0, LNK, 2B38H
0BABz(A0D000F0): STR R0, SB, F0H
Graphics.InstallDrawMethods(DrawLine,a DrawCaption,b DrawMacro)c
0BACa(F7000000): BL 0 [0BADH]
0BADa(40F90870): SUB R0, LNK, 870H
0BAEb(F7000000): BL 0 [0BAFH]
0BAFb(41F906A0): SUB R1, LNK, 6A0H
0BB0c(F7000000): BL 0 [0BB1H]
0BB1c(42F9038C): SUB R2, LNK, 38CH
ENDd GraphicFrames.e
0BB2d .FIXUP P
0BB2d(F7735014): BL MOD7 [Graphics] PROC53
0BB3e(8FE00000): LDR LNK, SP, 0H
0BB4e(4EE80004): ADD SP, SP, 4H
0BB5e(C700000F): B LNK