| 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 |
0000 | a .PROC 1 |
0000 | a(4EE9000C): SUB SP, SP, CH |
0001 | a(AFE00000): STR LNK, SP, 0H |
0002 | a(A0E00004): STR R0, SP, 4H |
0003 | a(A1E00008): STR R1, SP, 8H |
| IF F.Hb > 16 THENc |
0004 | b(80E00004): LDR R0, SP, 4H |
0005 | b(D107944C): BLEQ MT [trap=4, pos=1940] |
0006 | c .PROC 2 |
0006 | c(80000014): LDR R0, R0, 14H |
0007 | c(40090010): SUB R0, R0, 10H |
0008 | c(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 |
0009 | d(80E00008): LDR R0, SP, 8H |
000A | d(E9000016): BNE 22 [0021H] |
000B | e(40000000): MOV R0, R0, 0H |
000C | f(81E00004): LDR R1, SP, 4H |
000D | f(D107D94C): BLEQ MT [trap=4, pos=2009] |
000E | g(82E00004): LDR R2, SP, 4H |
000F | g .PROC 3 |
000F | g(D107DD4C): BLEQ MT [trap=4, pos=2013] |
0010 | h(81100008): LDR R1, R1, 8H |
0011 | h(82200010): LDR R2, R2, 10H |
0012 | h(01180002): ADD R1, R1, R2 |
0013 | i(4119000C): SUB R1, R1, CH |
0014 | j(82E00004): LDR R2, SP, 4H |
0015 | j(D107E54C): BLEQ MT [trap=4, pos=2021] |
0016 | k(83E00004): LDR R3, SP, 4H |
0017 | k(D107E94C): BLEQ MT [trap=4, pos=2025] |
0018 | l(8220000C): LDR R2, R2, CH |
0019 | l(83300014): LDR R3, R3, 14H |
001A | l(02280003): ADD R2, R2, R3 |
001B | m(4229000C): SUB R2, R2, CH |
001C | n(43000008): MOV R3, R0, 8H |
001D | o(44000008): MOV R4, R0, 8H |
001E | p(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 |
001F | q .FIXUP P |
001F | q(F710F01F): BL MOD1 [Display] PROC15 |
0020 | r(E7000015): B 21 [0036H] |
0021 | s(40000001): MOV R0, R0, 1H |
0022 | t .FIXUP D |
0022 | t(8D100022): LDR SB, MT, MOD1 [Display] |
0023 | t(81D0000A): LDR R1, SB, VAR10 |
0024 | u(82E00004): LDR R2, SP, 4H |
0025 | u(D108454C): BLEQ MT [trap=4, pos=2117] |
0026 | v(83E00004): LDR R3, SP, 4H |
0027 | v(D108494C): BLEQ MT [trap=4, pos=2121] |
0028 | w(82200008): LDR R2, R2, 8H |
0029 | w(83300010): LDR R3, R3, 10H |
002A | w(02280003): ADD R2, R2, R3 |
002B | x(4229000C): SUB R2, R2, CH |
002C | y(83E00004): LDR R3, SP, 4H |
002D | y(D108514C): BLEQ MT [trap=4, pos=2129] |
002E | z(84E00004): LDR R4, SP, 4H |
002F | z(D108554C): BLEQ MT [trap=4, pos=2133] |
0030 | a(8330000C): LDR R3, R3, CH |
0031 | a(84400014): LDR R4, R4, 14H |
0032 | a(03380004): ADD R3, R3, R4 |
0033 | b(4339000C): SUB R3, R3, CH |
0034 | c(44000001): MOV R4, R0, 1H |
| ENDd |
0035 | d .FIXUP P |
0035 | d(F7110016): BL MOD1 [Display] PROC16 |
| END |
| ENDe SetChangeMark; |
0036 | e(8FE00000): LDR LNK, SP, 0H |
0037 | e(4EE8000C): ADD SP, SP, CH |
0038 | e(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 |
0039 | f .PROC 8 |
0039 | f(4EE90028): SUB SP, SP, 28H |
003A | f(AFE00000): STR LNK, SP, 0H |
003B | f .PROC 4 |
003B | f(A0E00004): STR R0, SP, 4H |
003C | g(80E00004): LDR R0, SP, 4H |
003D | g .PROC 5 |
003D | g(D108E44C): BLEQ MT [trap=4, pos=2276] |
003E | h .PROC 6 |
003E | h(81E00004): LDR R1, SP, 4H |
003F | h .PROC 7 |
003F | h(D108EB4C): BLEQ MT [trap=4, pos=2283] |
0040 | i(82E00004): LDR R2, SP, 4H |
0041 | i(D108F14C): BLEQ MT [trap=4, pos=2289] |
0042 | j(81100008): LDR R1, R1, 8H |
0043 | j(82200010): LDR R2, R2, 10H |
0044 | j(01180002): ADD R1, R1, R2 |
0045 | j(A1000028): STR R1, R0, 28H |
0046 | k(80E00004): LDR R0, SP, 4H |
0047 | k(D108F74C): BLEQ MT [trap=4, pos=2295] |
0048 | l(81E00004): LDR R1, SP, 4H |
0049 | l(D108FE4C): BLEQ MT [trap=4, pos=2302] |
004A | m(82E00004): LDR R2, SP, 4H |
004B | m(D109044C): BLEQ MT [trap=4, pos=2308] |
004C | n(8110000C): LDR R1, R1, CH |
004D | n(82200014): LDR R2, R2, 14H |
004E | n(01180002): ADD R1, R1, R2 |
004F | n(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 |
0050 | o(80E00004): LDR R0, SP, 4H |
0051 | o(D1090D4C): BLEQ MT [trap=4, pos=2317] |
0052 | p(81E00004): LDR R1, SP, 4H |
0053 | p(D109154C): BLEQ MT [trap=4, pos=2325] |
0054 | q(82E00004): LDR R2, SP, 4H |
0055 | q(D1091C4C): BLEQ MT [trap=4, pos=2332] |
0056 | r(81100008): LDR R1, R1, 8H |
0057 | r(82200020): LDR R2, R2, 20H |
0058 | r(01180002): ADD R1, R1, R2 |
0059 | s(41120004): ASR R1, R1, 4H |
005A | t(41110004): LSL R1, R1, 4H |
005B | t(A1000030): STR R1, R0, 30H |
005C | u(80E00004): LDR R0, SP, 4H |
005D | u(D1092E4C): BLEQ MT [trap=4, pos=2350] |
005E | v(81E00004): LDR R1, SP, 4H |
005F | v(D109364C): BLEQ MT [trap=4, pos=2358] |
0060 | w(82E00004): LDR R2, SP, 4H |
0061 | w(D1093D4C): BLEQ MT [trap=4, pos=2365] |
0062 | x(8110000C): LDR R1, R1, CH |
0063 | x(82200024): LDR R2, R2, 24H |
0064 | x(01180002): ADD R1, R1, R2 |
0065 | y(41120004): ASR R1, R1, 4H |
0066 | z(41110004): LSL R1, R1, 4H |
0067 | z(A1000034): STR R1, R0, 34H |
0068 | a(80E00004): LDR R0, SP, 4H |
0069 | a(D109544C): BLEQ MT [trap=4, pos=2388] |
006A | b(41000000): MOV R1, R0, 0H |
006B | b(B100003C): STR R1, R0, 3CH |
006C | c(80E00004): LDR R0, SP, 4H |
006D | c(D109654C): BLEQ MT [trap=4, pos=2405] |
006E | d(41000000): MOV R1, R0, 0H |
006F | d(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 |
0070 | e(80E00004): LDR R0, SP, 4H |
0071 | e(D1098D4C): BLEQ MT [trap=4, pos=2445] |
0072 | f(80000008): LDR R0, R0, 8H |
0073 | g(81E00004): LDR R1, SP, 4H |
0074 | g(D109924C): BLEQ MT [trap=4, pos=2450] |
0075 | h(8110000C): LDR R1, R1, CH |
0076 | i(82E00004): LDR R2, SP, 4H |
0077 | i(D109974C): BLEQ MT [trap=4, pos=2455] |
0078 | j(82200010): LDR R2, R2, 10H |
0079 | k(83E00004): LDR R3, SP, 4H |
007A | k(D1099C4C): BLEQ MT [trap=4, pos=2460] |
007B | l(83300014): LDR R3, R3, 14H |
007C | m .FIXUP P |
007C | m(F791B047): BL MOD9 [Oberon] PROC27 |
007D | n(80E00004): LDR R0, SP, 4H |
007E | n(D109B64C): BLEQ MT [trap=4, pos=2486] |
007F | o(80000038): LDR R0, R0, 38H |
0080 | p(81E00004): LDR R1, SP, 4H |
0081 | p(D109BB4C): BLEQ MT [trap=4, pos=2491] |
0082 | q(81100008): LDR R1, R1, 8H |
0083 | r(82E00004): LDR R2, SP, 4H |
0084 | r(D109C04C): BLEQ MT [trap=4, pos=2496] |
0085 | s(8220000C): LDR R2, R2, CH |
0086 | t(83E00004): LDR R3, SP, 4H |
0087 | t(D109C54C): BLEQ MT [trap=4, pos=2501] |
0088 | u(83300010): LDR R3, R3, 10H |
0089 | v(84E00004): LDR R4, SP, 4H |
008A | v(D109CA4C): BLEQ MT [trap=4, pos=2506] |
008B | w(84400014): LDR R4, R4, 14H |
008C | x(45000000): MOV R5, R0, 0H |
008D | y .FIXUP P |
008D | y(F710F011): BL MOD1 [Display] PROC15 |
| IF F.tickedz THENa |
008E | z(80E00004): LDR R0, SP, 4H |
008F | z(D109DF4C): BLEQ MT [trap=4, pos=2527] |
0090 | a(9000003D): LDR R0, R0, 3DH |
0091 | a(E1000029): BEQ 41 [00BBH] |
| x0 := (F.Xb + 15)c DIV 16 *d 16;e y := (F.Yf + 15)g DIV 16 *h 16;i |
0092 | b(80E00004): LDR R0, SP, 4H |
0093 | b(D109F54C): BLEQ MT [trap=4, pos=2549] |
0094 | c(80000008): LDR R0, R0, 8H |
0095 | c(4008000F): ADD R0, R0, FH |
0096 | d(40020004): ASR R0, R0, 4H |
0097 | e(40010004): LSL R0, R0, 4H |
0098 | e(A0E0000C): STR R0, SP, CH |
0099 | f(80E00004): LDR R0, SP, 4H |
009A | f(D10A124C): BLEQ MT [trap=4, pos=2578] |
009B | g(8000000C): LDR R0, R0, CH |
009C | g(4008000F): ADD R0, R0, FH |
009D | h(40020004): ASR R0, R0, 4H |
009E | i(40010004): LSL R0, R0, 4H |
009F | i(A0E00010): STR R0, SP, 10H |
| WHILE y < F.Y1j DOk |
00A0 | j(80E00004): LDR R0, SP, 4H |
00A1 | j(D10A3A4C): BLEQ MT [trap=4, pos=2618] |
00A2 | k(81E00010): LDR R1, SP, 10H |
00A3 | k(8000002C): LDR R0, R0, 2CH |
00A4 | k(01190000): SUB R1, R1, R0 |
00A5 | k(ED000015): BGE 21 [00BBH] |
| x := x0;l |
00A6 | l(80E0000C): LDR R0, SP, CH |
00A7 | l(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 ; |
00A8 | m(80E00004): LDR R0, SP, 4H |
00A9 | m(D10A654C): BLEQ MT [trap=4, pos=2661] |
00AA | n(81E00008): LDR R1, SP, 8H |
00AB | n(80000028): LDR R0, R0, 28H |
00AC | n(01190000): SUB R1, R1, R0 |
00AD | n(ED000009): BGE 9 [00B7H] |
00AE | o(40000001): MOV R0, R0, 1H |
00AF | p(81E00008): LDR R1, SP, 8H |
00B0 | q(82E00010): LDR R2, SP, 10H |
00B1 | r(43000000): MOV R3, R0, 0H |
00B2 | s .FIXUP P |
00B2 | s(F710E025): BL MOD1 [Display] PROC14 |
00B3 | t(80E00008): LDR R0, SP, 8H |
00B4 | t(40080010): ADD R0, R0, 10H |
00B5 | t(A0E00008): STR R0, SP, 8H |
00B6 | t(E7FFFFF1): B -15 [00A8H] |
| INC(y, 16) |
| ENDu |
00B7 | u(80E00010): LDR R0, SP, 10H |
00B8 | u(40080010): ADD R0, R0, 10H |
00B9 | u(A0E00010): STR R0, SP, 10H |
00BA | u(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 |
00BB | v(80E00004): LDR R0, SP, 4H |
00BC | v(A0E00014): STR R0, SP, 14H |
00BD | w(80E00004): LDR R0, SP, 4H |
00BE | w(D10AEC4C): BLEQ MT [trap=4, pos=2796] |
00BF | x(80000030): LDR R0, R0, 30H |
00C0 | x(A0E00018): STR R0, SP, 18H |
00C1 | y(80E00004): LDR R0, SP, 4H |
00C2 | y(D10AF84C): BLEQ MT [trap=4, pos=2808] |
00C3 | z(80000034): LDR R0, R0, 34H |
00C4 | z(A0E0001C): STR R0, SP, 1CH |
00C5 | a(40000000): MOV R0, R0, 0H |
00C6 | a(A0E00020): STR R0, SP, 20H |
00C7 | b(40000000): MOV R0, R0, 0H |
00C8 | b(A0E00024): STR R0, SP, 24H |
00C9 | c(80E00004): LDR R0, SP, 4H |
00CA | c(D10B284C): BLEQ MT [trap=4, pos=2856] |
00CB | d(8000001C): LDR R0, R0, 1CH |
00CC | e(41E80014): ADD R1, SP, 14H |
00CD | e .FIXUP D |
00CD | e(8D0000AB): LDR SB, MT, MOD0 [GraphicFrames] |
00CE | e(42D8003C): ADD R2, SB, 3CH [data] |
00CF | f .FIXUP P |
00CF | f(F771A01D): BL MOD7 [Graphics] PROC26 |
| IF F.graphg.changedh THENi SetChangeMark(F,j 1)k ENDl |
00D0 | g(80E00004): LDR R0, SP, 4H |
00D1 | g(D10B3C4C): BLEQ MT [trap=4, pos=2876] |
00D2 | h(8000001C): LDR R0, R0, 1CH |
00D3 | h(D10B444C): BLEQ MT [trap=4, pos=2884] |
00D4 | i(9000000C): LDR R0, R0, CH |
00D5 | i(E1000003): BEQ 3 [00D9H] |
00D6 | j(80E00004): LDR R0, SP, 4H |
00D7 | k(41000001): MOV R1, R0, 1H |
00D8 | l(F7FFFF27): BL -217 [0000H] |
| ENDm Restore; |
00D9 | m(8FE00000): LDR LNK, SP, 0H |
00DA | m(4EE80028): ADD SP, SP, 28H |
00DB | m(C700000F): B LNK |
| |
| PROCEDURE FlipCross(X, Y: INTEGER); |
| BEGINn |
00DC | n(4EE9000C): SUB SP, SP, CH |
00DD | n(AFE00000): STR LNK, SP, 0H |
00DE | n(A0E00004): STR R0, SP, 4H |
00DF | n(A1E00008): STR R1, SP, 8H |
| IF X < CL THENo |
00E0 | o(80E00004): LDR R0, SP, 4H |
00E1 | o .FIXUP D |
00E1 | o(8D000014): LDR SB, MT, MOD0 [GraphicFrames] |
00E2 | o(81D00110): LDR R1, SB, 110H [data] |
00E3 | o(00090001): SUB R0, R0, R1 |
00E4 | o(ED000011): BGE 17 [00F6H] |
| IF X < 7 THENp X := 7 ELSIFq Xr > DW - 7 THENs X := DW - 7 ENDt |
00E5 | p(80E00004): LDR R0, SP, 4H |
00E6 | p(40090007): SUB R0, R0, 7H |
00E7 | p(ED000003): BGE 3 [00EBH] |
00E8 | q(40000007): MOV R0, R0, 7H |
00E9 | q(A0E00004): STR R0, SP, 4H |
00EA | r(E700000A): B 10 [00F5H] |
00EB | s .FIXUP D |
00EB | s(8D00000A): LDR SB, MT, MOD0 [GraphicFrames] |
00EC | s(80D00108): LDR R0, SB, 108H [data] |
00ED | s(40090007): SUB R0, R0, 7H |
00EE | s(81E00004): LDR R1, SP, 4H |
00EF | s(01190000): SUB R1, R1, R0 |
00F0 | s(E6000004): BLE 4 [00F5H] |
00F1 | t .FIXUP D |
00F1 | t(8D000006): LDR SB, MT, MOD0 [GraphicFrames] |
00F2 | t(80D00108): LDR R0, SB, 108H [data] |
00F3 | t(40090007): SUB R0, R0, 7H |
00F4 | t(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 |
00F5 | u(E7000019): B 25 [010FH] |
00F6 | v .FIXUP D |
00F6 | v(8D000005): LDR SB, MT, MOD0 [GraphicFrames] |
00F7 | v(80D00110): LDR R0, SB, 110H [data] |
00F8 | v(40080007): ADD R0, R0, 7H |
00F9 | v(81E00004): LDR R1, SP, 4H |
00FA | v(01190000): SUB R1, R1, R0 |
00FB | v(ED000005): BGE 5 [0101H] |
00FC | w .FIXUP D |
00FC | w(8D000006): LDR SB, MT, MOD0 [GraphicFrames] |
00FD | w(80D00110): LDR R0, SB, 110H [data] |
00FE | w(40080007): ADD R0, R0, 7H |
00FF | w(A0E00004): STR R0, SP, 4H |
0100 | x(E700000E): B 14 [010FH] |
0101 | y .FIXUP D |
0101 | y(8D000005): LDR SB, MT, MOD0 [GraphicFrames] |
0102 | y(80D00110): LDR R0, SB, 110H [data] |
0103 | y(81D00108): LDR R1, SB, 108H |
0104 | y(00080001): ADD R0, R0, R1 |
0105 | z(40090007): SUB R0, R0, 7H |
0106 | z(81E00004): LDR R1, SP, 4H |
0107 | z(01190000): SUB R1, R1, R0 |
0108 | z(E6000006): BLE 6 [010FH] |
0109 | a .FIXUP D |
0109 | a(8D000008): LDR SB, MT, MOD0 [GraphicFrames] |
010A | a(80D00110): LDR R0, SB, 110H [data] |
010B | a(81D00108): LDR R1, SB, 108H |
010C | a(00080001): ADD R0, R0, R1 |
010D | b(40090007): SUB R0, R0, 7H |
010E | b(A0E00004): STR R0, SP, 4H |
| END; |
| IF Y < 7 THENc Y := 7 ELSIFd Ye > DH THENf Y := DH - 7 ENDg; |
010F | c(80E00008): LDR R0, SP, 8H |
0110 | c(40090007): SUB R0, R0, 7H |
0111 | c(ED000003): BGE 3 [0115H] |
0112 | d(40000007): MOV R0, R0, 7H |
0113 | d(A0E00008): STR R0, SP, 8H |
0114 | e(E7000009): B 9 [011EH] |
0115 | f(80E00008): LDR R0, SP, 8H |
0116 | f .FIXUP D |
0116 | f(8D00000D): LDR SB, MT, MOD0 [GraphicFrames] |
0117 | f(81D0010C): LDR R1, SB, 10CH [data] |
0118 | f(00090001): SUB R0, R0, R1 |
0119 | f(E6000004): BLE 4 [011EH] |
011A | g .FIXUP D |
011A | g(8D000004): LDR SB, MT, MOD0 [GraphicFrames] |
011B | g(80D0010C): LDR R0, SB, 10CH [data] |
011C | g(40090007): SUB R0, R0, 7H |
011D | g(A0E00008): STR R0, SP, 8H |
| Display.CopyPattern(Display.white,h Display.cross,i X-7,j Y-7,k Display.invert)l |
011E | h(40000001): MOV R0, R0, 1H |
011F | i .FIXUP D |
011F | i(8D100005): LDR SB, MT, MOD1 [Display] |
0120 | i(81D0000B): LDR R1, SB, VAR11 |
0121 | j(82E00004): LDR R2, SP, 4H |
0122 | j(42290007): SUB R2, R2, 7H |
0123 | k(83E00008): LDR R3, SP, 8H |
0124 | k(43390007): SUB R3, R3, 7H |
0125 | l(44000002): MOV R4, R0, 2H |
| ENDm FlipCross; |
0126 | m .FIXUP P |
0126 | m(F7110057): BL MOD1 [Display] PROC16 |
0127 | m(8FE00000): LDR LNK, SP, 0H |
0128 | m(4EE8000C): ADD SP, SP, CH |
0129 | m(C700000F): B LNK |
| |
| PROCEDURE Focus*(): Frame; |
| VAR FQ: FocusQuery; |
| BEGINn FQ.f := NIL;o Viewers.Broadcast(FQ)p;q RETURN FQ.f |
012A | n .PROC 9 |
012A | n(4EE90008): SUB SP, SP, 8H |
012B | n(AFE00000): STR LNK, SP, 0H |
012C | o(40000000): MOV R0, R0, 0H |
012D | o(A0E00004): STR R0, SP, 4H |
012E | p(40E80004): ADD R0, SP, 4H |
012F | p .FIXUP D |
012F | p(8D000010): LDR SB, MT, MOD0 [GraphicFrames] |
0130 | p(41D800A4): ADD R1, SB, A4H [data] |
0131 | q .FIXUP P |
0131 | q(F720F00B): BL MOD2 [Viewers] PROC15 |
| ENDr Focus; |
0132 | r(80E00004): LDR R0, SP, 4H |
0133 | r(8FE00000): LDR LNK, SP, 0H |
0134 | r(4EE80008): ADD SP, SP, 8H |
0135 | r(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 |
0136 | s .PROC 10 |
0136 | s(4EE9000C): SUB SP, SP, CH |
0137 | s(AFE00000): STR LNK, SP, 0H |
0138 | t(40000000): MOV R0, R0, 0H |
0139 | t(A0E00004): STR R0, SP, 4H |
013A | u(40000000): MOV R0, R0, 0H |
013B | u(A0E00008): STR R0, SP, 8H |
013C | v(40E80004): ADD R0, SP, 4H |
013D | v .FIXUP D |
013D | v(8D00000E): LDR SB, MT, MOD0 [GraphicFrames] |
013E | v(41D8008C): ADD R1, SB, 8CH [data] |
013F | w .FIXUP P |
013F | w(F720F00E): BL MOD2 [Viewers] PROC15 |
| ENDx Selected; |
0140 | x(80E00004): LDR R0, SP, 4H |
0141 | x(8FE00000): LDR LNK, SP, 0H |
0142 | x(4EE8000C): ADD SP, SP, CH |
0143 | x(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 |
0144 | y .PROC 11 |
0144 | y(4EE90018): SUB SP, SP, 18H |
0145 | y(AFE00000): STR LNK, SP, 0H |
0146 | y(A0E00004): STR R0, SP, 4H |
0147 | y(A1E00008): STR R1, SP, 8H |
0148 | z(40000000): MOV R0, R0, 0H |
0149 | z(A0E0000C): STR R0, SP, CH |
014A | a(80E00004): LDR R0, SP, 4H |
014B | a(A0E00010): STR R0, SP, 10H |
014C | b(80E00008): LDR R0, SP, 8H |
014D | b(A0E00014): STR R0, SP, 14H |
014E | c(40E8000C): ADD R0, SP, CH |
014F | c .FIXUP D |
014F | c(8D000012): LDR SB, MT, MOD0 [GraphicFrames] |
0150 | c(41D800BC): ADD R1, SB, BCH [data] |
0151 | d .FIXUP P |
0151 | d(F720F012): BL MOD2 [Viewers] PROC15 |
| ENDe This; |
0152 | e(80E0000C): LDR R0, SP, CH |
0153 | e(8FE00000): LDR LNK, SP, 0H |
0154 | e(4EE80018): ADD SP, SP, 18H |
0155 | e(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 |
0156 | f(4EE90018): SUB SP, SP, 18H |
0157 | f(AFE00000): STR LNK, SP, 0H |
0158 | f(A0E00004): STR R0, SP, 4H |
0159 | f(A1E00008): STR R1, SP, 8H |
015A | g(80E00004): LDR R0, SP, 4H |
015B | g(A0E0000C): STR R0, SP, CH |
015C | h(80E00004): LDR R0, SP, 4H |
015D | h(D10F044C): BLEQ MT [trap=4, pos=3844] |
015E | i(8000001C): LDR R0, R0, 1CH |
015F | i(A0E00010): STR R0, SP, 10H |
0160 | j(80E00008): LDR R0, SP, 8H |
0161 | j(A0E00014): STR R0, SP, 14H |
0162 | k(40E8000C): ADD R0, SP, CH |
0163 | k .FIXUP D |
0163 | k(8D000014): LDR SB, MT, MOD0 [GraphicFrames] |
0164 | k(41D80070): ADD R1, SB, 70H [data] |
| ENDl Mark; |
0165 | l .FIXUP P |
0165 | l(F720F014): BL MOD2 [Viewers] PROC15 |
0166 | l(8FE00000): LDR LNK, SP, 0H |
0167 | l(4EE80018): ADD SP, SP, 18H |
0168 | l(C700000F): B LNK |
| |
| PROCEDURE Draw*(F: Frame); |
| VAR UM: UpdateMsg; |
| BEGINm UM.id := drawsel;n UM.graph := F.grapho;p Viewers.Broadcast(UM)q |
0169 | m .PROC 12 |
0169 | m(4EE90014): SUB SP, SP, 14H |
016A | m(AFE00000): STR LNK, SP, 0H |
016B | m(A0E00004): STR R0, SP, 4H |
016C | n(40000005): MOV R0, R0, 5H |
016D | n(A0E00008): STR R0, SP, 8H |
016E | o(80E00004): LDR R0, SP, 4H |
016F | o(D10F9B4C): BLEQ MT [trap=4, pos=3995] |
0170 | p(8000001C): LDR R0, R0, 1CH |
0171 | p(A0E0000C): STR R0, SP, CH |
0172 | q(40E80008): ADD R0, SP, 8H |
0173 | q .FIXUP D |
0173 | q(8D000010): LDR SB, MT, MOD0 [GraphicFrames] |
0174 | q(41D80054): ADD R1, SB, 54H [data] |
| ENDr Draw; |
0175 | r .FIXUP P |
0175 | r(F720F010): BL MOD2 [Viewers] PROC15 |
0176 | r(8FE00000): LDR LNK, SP, 0H |
0177 | r(4EE80014): ADD SP, SP, 14H |
0178 | r(C700000F): B LNK |
| |
| PROCEDURE DrawNorm(F: Frame); |
| VAR UM: UpdateMsg; |
| BEGINs UM.id := drawnorm;t UM.graph := F.graphu;v Viewers.Broadcast(UM)w |
0179 | s(4EE90014): SUB SP, SP, 14H |
017A | s(AFE00000): STR LNK, SP, 0H |
017B | s(A0E00004): STR R0, SP, 4H |
017C | t(40000004): MOV R0, R0, 4H |
017D | t(A0E00008): STR R0, SP, 8H |
017E | u(80E00004): LDR R0, SP, 4H |
017F | u(D110254C): BLEQ MT [trap=4, pos=4133] |
0180 | v(8000001C): LDR R0, R0, 1CH |
0181 | v(A0E0000C): STR R0, SP, CH |
0182 | w(40E80008): ADD R0, SP, 8H |
0183 | w .FIXUP D |
0183 | w(8D000010): LDR SB, MT, MOD0 [GraphicFrames] |
0184 | w(41D80054): ADD R1, SB, 54H [data] |
| ENDx DrawNorm; |
0185 | x .FIXUP P |
0185 | x(F720F010): BL MOD2 [Viewers] PROC15 |
0186 | x(8FE00000): LDR LNK, SP, 0H |
0187 | x(4EE80014): ADD SP, SP, 14H |
0188 | x(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 |
0189 | y .PROC 13 |
0189 | y(4EE90014): SUB SP, SP, 14H |
018A | y(AFE00000): STR LNK, SP, 0H |
018B | y(A0E00004): STR R0, SP, 4H |
018C | z(40000006): MOV R0, R0, 6H |
018D | z(A0E00008): STR R0, SP, 8H |
018E | a(80E00004): LDR R0, SP, 4H |
018F | a(D110B04C): BLEQ MT [trap=4, pos=4272] |
0190 | b(8000001C): LDR R0, R0, 1CH |
0191 | b(A0E0000C): STR R0, SP, CH |
0192 | c(40E80008): ADD R0, SP, 8H |
0193 | c .FIXUP D |
0193 | c(8D000010): LDR SB, MT, MOD0 [GraphicFrames] |
0194 | c(41D80054): ADD R1, SB, 54H [data] |
0195 | d .FIXUP P |
0195 | d(F720F010): BL MOD2 [Viewers] PROC15 |
0196 | e(80E00004): LDR R0, SP, 4H |
0197 | f(41000001): MOV R1, R0, 1H |
| ENDg Erase; |
0198 | g(F7FFFFBD): BL -67 [0156H] |
0199 | g(8FE00000): LDR LNK, SP, 0H |
019A | g(4EE80014): ADD SP, SP, 14H |
019B | g(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 |
019C | h .PROC 14 |
019C | h(4EE90018): SUB SP, SP, 18H |
019D | h(AFE00000): STR LNK, SP, 0H |
019E | h(A0E00004): STR R0, SP, 4H |
019F | h(A1E00008): STR R1, SP, 8H |
01A0 | i(40000001): MOV R0, R0, 1H |
01A1 | i(A0E0000C): STR R0, SP, CH |
01A2 | j(80E00004): LDR R0, SP, 4H |
01A3 | j(D1115C4C): BLEQ MT [trap=4, pos=4444] |
01A4 | k(8000001C): LDR R0, R0, 1CH |
01A5 | k(A0E00010): STR R0, SP, 10H |
01A6 | l(80E00008): LDR R0, SP, 8H |
01A7 | l(A0E00014): STR R0, SP, 14H |
01A8 | m(40E8000C): ADD R0, SP, CH |
01A9 | m .FIXUP D |
01A9 | m(8D000016): LDR SB, MT, MOD0 [GraphicFrames] |
01AA | m(41D80054): ADD R1, SB, 54H [data] |
| ENDn DrawObj; |
01AB | n .FIXUP P |
01AB | n(F720F016): BL MOD2 [Viewers] PROC15 |
01AC | n(8FE00000): LDR LNK, SP, 0H |
01AD | n(4EE80018): ADD SP, SP, 18H |
01AE | n(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 |
01AF | o .PROC 15 |
01AF | o(4EE90018): SUB SP, SP, 18H |
01B0 | o(AFE00000): STR LNK, SP, 0H |
01B1 | o(A0E00004): STR R0, SP, 4H |
01B2 | o(A1E00008): STR R1, SP, 8H |
01B3 | p(40000003): MOV R0, R0, 3H |
01B4 | p(A0E0000C): STR R0, SP, CH |
01B5 | q(80E00004): LDR R0, SP, 4H |
01B6 | q(D1120F4C): BLEQ MT [trap=4, pos=4623] |
01B7 | r(8000001C): LDR R0, R0, 1CH |
01B8 | r(A0E00010): STR R0, SP, 10H |
01B9 | s(80E00008): LDR R0, SP, 8H |
01BA | s(A0E00014): STR R0, SP, 14H |
01BB | t(40E8000C): ADD R0, SP, CH |
01BC | t .FIXUP D |
01BC | t(8D000013): LDR SB, MT, MOD0 [GraphicFrames] |
01BD | t(41D80054): ADD R1, SB, 54H [data] |
| ENDu EraseObj; |
01BE | u .FIXUP P |
01BE | u(F720F013): BL MOD2 [Viewers] PROC15 |
01BF | u(8FE00000): LDR LNK, SP, 0H |
01C0 | u(4EE80018): ADD SP, SP, 18H |
01C1 | u(C700000F): B LNK |
| |
| PROCEDURE Change*(F: Frame; VAR msg: Graphics.Msg); |
| BEGINv |
01C2 | v .PROC 16 |
01C2 | v(4EE90010): SUB SP, SP, 10H |
01C3 | v(AFE00000): STR LNK, SP, 0H |
01C4 | v(A0E00004): STR R0, SP, 4H |
01C5 | v(A1E00008): STR R1, SP, 8H |
01C6 | v(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 |
01C7 | w(80E00004): LDR R0, SP, 4H |
01C8 | w(E100000A): BEQ 10 [01D3H] |
01C9 | x(80E00004): LDR R0, SP, 4H |
01CA | y(F7FFFFBE): BL -66 [0189H] |
01CB | z(80E00004): LDR R0, SP, 4H |
01CC | z(D112BA4C): BLEQ MT [trap=4, pos=4794] |
01CD | a(8000001C): LDR R0, R0, 1CH |
01CE | b(81E00008): LDR R1, SP, 8H |
01CF | b(82E0000C): LDR R2, SP, CH |
01D0 | c .FIXUP P |
01D0 | c(F771E012): BL MOD7 [Graphics] PROC30 |
01D1 | d(80E00004): LDR R0, SP, 4H |
01D2 | e(F7FFFF96): BL -106 [0169H] |
| ENDf Change; |
01D3 | f(8FE00000): LDR LNK, SP, 0H |
01D4 | f(4EE80010): ADD SP, SP, 10H |
01D5 | f(C700000F): B LNK |
| |
| PROCEDURE FlipMark(x, y: INTEGER); |
| BEGINg |
01D6 | g(4EE9000C): SUB SP, SP, CH |
01D7 | g(AFE00000): STR LNK, SP, 0H |
01D8 | g(A0E00004): STR R0, SP, 4H |
01D9 | g(A1E00008): STR R1, SP, 8H |
| Display.ReplConst(Display.white,h x-7,i y,j 15,k 1,l 2)m;n |
01DA | h(40000001): MOV R0, R0, 1H |
01DB | i(81E00004): LDR R1, SP, 4H |
01DC | i(41190007): SUB R1, R1, 7H |
01DD | j(82E00008): LDR R2, SP, 8H |
01DE | k(4300000F): MOV R3, R0, FH |
01DF | l(44000001): MOV R4, R0, 1H |
01E0 | m(45000002): MOV R5, R0, 2H |
01E1 | n .FIXUP P |
01E1 | n(F710F011): BL MOD1 [Display] PROC15 |
| Display.ReplConst(Display.white,o x,p y-7,q 1,r 15,s 2)t |
01E2 | o(40000001): MOV R0, R0, 1H |
01E3 | p(81E00004): LDR R1, SP, 4H |
01E4 | q(82E00008): LDR R2, SP, 8H |
01E5 | q(42290007): SUB R2, R2, 7H |
01E6 | r(43000001): MOV R3, R0, 1H |
01E7 | s(4400000F): MOV R4, R0, FH |
01E8 | t(45000002): MOV R5, R0, 2H |
| ENDu FlipMark; |
01E9 | u .FIXUP P |
01E9 | u(F710F008): BL MOD1 [Display] PROC15 |
01EA | u(8FE00000): LDR LNK, SP, 0H |
01EB | u(4EE8000C): ADD SP, SP, CH |
01EC | u(C700000F): B LNK |
| |
| PROCEDURE Defocus*(F: Frame); |
| VAR m: Location; |
| BEGINv newcap := NIL;w |
01ED | v .PROC 17 |
01ED | v(4EE9000C): SUB SP, SP, CH |
01EE | v(AFE00000): STR LNK, SP, 0H |
01EF | v(A0E00004): STR R0, SP, 4H |
01F0 | w(40000000): MOV R0, R0, 0H |
01F1 | w .FIXUP D |
01F1 | w(8D000035): LDR SB, MT, MOD0 [GraphicFrames] |
01F2 | w(A0D00100): STR R0, SB, 100H [data] |
| IF F.markedx THENy |
01F3 | x(80E00004): LDR R0, SP, 4H |
01F4 | x(D113E54C): BLEQ MT [trap=4, pos=5093] |
01F5 | y(9000003C): LDR R0, R0, 3CH |
01F6 | y(E1000021): BEQ 33 [0218H] |
| FlipMark(F.markz.x,a F.markb.y)c;d m := F.marke.next;f |
01F7 | z(80E00004): LDR R0, SP, 4H |
01F8 | z(D114004C): BLEQ MT [trap=4, pos=5120] |
01F9 | a(80000040): LDR R0, R0, 40H |
01FA | b(81E00004): LDR R1, SP, 4H |
01FB | b(D1140A4C): BLEQ MT [trap=4, pos=5130] |
01FC | c(81100044): LDR R1, R1, 44H |
01FD | d(F7FFFFD8): BL -40 [01D6H] |
01FE | e(80E00004): LDR R0, SP, 4H |
01FF | e(D1141A4C): BLEQ MT [trap=4, pos=5146] |
0200 | f(80000048): LDR R0, R0, 48H |
0201 | f(A0E00008): STR R0, SP, 8H |
| WHILE m # NIL DOg FlipMark(m.xh,i m.yj)k;l m := m.nextm ENDn ; |
0202 | g(80E00008): LDR R0, SP, 8H |
0203 | g(E100000C): BEQ 12 [0210H] |
0204 | h(80E00008): LDR R0, SP, 8H |
0205 | h(D114444C): BLEQ MT [trap=4, pos=5188] |
0206 | i(80000000): LDR R0, R0, 0H |
0207 | j(81E00008): LDR R1, SP, 8H |
0208 | j(D114494C): BLEQ MT [trap=4, pos=5193] |
0209 | k(81100004): LDR R1, R1, 4H |
020A | l(F7FFFFCB): BL -53 [01D6H] |
020B | m(80E00008): LDR R0, SP, 8H |
020C | m(D114574C): BLEQ MT [trap=4, pos=5207] |
020D | n(80000008): LDR R0, R0, 8H |
020E | n(A0E00008): STR R0, SP, 8H |
020F | n(E7FFFFF2): B -14 [0202H] |
| F.markedo := FALSE;p F.markq.next := NIL |
0210 | o(80E00004): LDR R0, SP, 4H |
0211 | o(D1146C4C): BLEQ MT [trap=4, pos=5228] |
0212 | p(41000000): MOV R1, R0, 0H |
0213 | p(B100003C): STR R1, R0, 3CH |
0214 | q(80E00004): LDR R0, SP, 4H |
0215 | q(D1147D4C): BLEQ MT [trap=4, pos=5245] |
| ENDr |
0216 | r(41000000): MOV R1, R0, 0H |
0217 | r(A1000048): STR R1, R0, 48H |
| ENDs Defocus; |
0218 | s(8FE00000): LDR LNK, SP, 0H |
0219 | s(4EE8000C): ADD SP, SP, CH |
021A | s(C700000F): B LNK |
| |
| PROCEDURE Deselect*(F: Frame); |
| VAR UM: UpdateMsg; |
| BEGINt |
021B | t .PROC 18 |
021B | t(4EE90014): SUB SP, SP, 14H |
021C | t(AFE00000): STR LNK, SP, 0H |
021D | t(A0E00004): STR R0, SP, 4H |
| IF F # NIL THENu |
021E | u(80E00004): LDR R0, SP, 4H |
021F | u(E100000E): BEQ 14 [022EH] |
| UM.id := drawnorm;v UM.graph := F.graphw;x Viewers.Broadcast(UM)y;z |
0220 | v(40000004): MOV R0, R0, 4H |
0221 | v(A0E00008): STR R0, SP, 8H |
0222 | w(80E00004): LDR R0, SP, 4H |
0223 | w(D115224C): BLEQ MT [trap=4, pos=5410] |
0224 | x(8000001C): LDR R0, R0, 1CH |
0225 | x(A0E0000C): STR R0, SP, CH |
0226 | y(40E80008): ADD R0, SP, 8H |
0227 | y .FIXUP D |
0227 | y(8D000036): LDR SB, MT, MOD0 [GraphicFrames] |
0228 | y(41D80054): ADD R1, SB, 54H [data] |
0229 | z .FIXUP P |
0229 | z(F720F040): BL MOD2 [Viewers] PROC15 |
| Graphics.Deselect(F.grapha)b |
022A | a(80E00004): LDR R0, SP, 4H |
022B | a(D1155A4C): BLEQ MT [trap=4, pos=5466] |
022C | b(8000001C): LDR R0, R0, 1CH |
| ENDc |
022D | c .FIXUP P |
022D | c(F771C004): BL MOD7 [Graphics] PROC28 |
| ENDd Deselect; |
022E | d(8FE00000): LDR LNK, SP, 0H |
022F | d(4EE80014): ADD SP, SP, 14H |
0230 | d(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 |
0231 | e .PROC 19 |
0231 | e(4EE9002C): SUB SP, SP, 2CH |
0232 | e(AFE00000): STR LNK, SP, 0H |
0233 | e(A0E00004): STR R0, SP, 4H |
0234 | e(A1E00008): STR R1, SP, 8H |
0235 | e(A2E0000C): STR R2, SP, CH |
0236 | e(A3E00010): STR R3, SP, 10H |
0237 | f(F7FFFEF2): BL -270 [012AH] |
0238 | f(A0E0001C): STR R0, SP, 1CH |
| IF F # NIL THENg |
0239 | g(80E0001C): LDR R0, SP, 1CH |
023A | g(E100006D): BEQ 109 [02A8H] |
| x := F.markh.x - F.xi;j y := F.markk.y - F.yl;m |
023B | h(80E0001C): LDR R0, SP, 1CH |
023C | h(D116544C): BLEQ MT [trap=4, pos=5716] |
023D | i(81E0001C): LDR R1, SP, 1CH |
023E | i(D1165C4C): BLEQ MT [trap=4, pos=5724] |
023F | j(80000040): LDR R0, R0, 40H |
0240 | j(81100030): LDR R1, R1, 30H |
0241 | j(00090001): SUB R0, R0, R1 |
0242 | j(A0E00014): STR R0, SP, 14H |
0243 | k(80E0001C): LDR R0, SP, 1CH |
0244 | k(D116694C): BLEQ MT [trap=4, pos=5737] |
0245 | l(81E0001C): LDR R1, SP, 1CH |
0246 | l(D116714C): BLEQ MT [trap=4, pos=5745] |
0247 | m(80000044): LDR R0, R0, 44H |
0248 | m(81100034): LDR R1, R1, 34H |
0249 | m(00090001): SUB R0, R0, R1 |
024A | m(A0E00018): STR R0, SP, 18H |
| Graphics.GetLib(Lname,n FALSE,o L)p;q |
024B | n(80E00004): LDR R0, SP, 4H |
024C | n(81E00008): LDR R1, SP, 8H |
024D | o(42000000): MOV R2, R0, 0H |
024E | p(43E80028): ADD R3, SP, 28H |
024F | q .FIXUP P |
024F | q(F772C022): BL MOD7 [Graphics] PROC44 |
| IF L # NIL THENr |
0250 | r(80E00028): LDR R0, SP, 28H |
0251 | r(E100003D): BEQ 61 [028FH] |
| mh := Graphics.ThisMac(L,s Mname)t;u |
0252 | s(80E00028): LDR R0, SP, 28H |
0253 | t(81E0000C): LDR R1, SP, CH |
0254 | t(82E00010): LDR R2, SP, 10H |
0255 | u .FIXUP P |
0255 | u(F7730006): BL MOD7 [Graphics] PROC48 |
0256 | u(A0E00024): STR R0, SP, 24H |
| IF mh # NIL THENv |
0257 | v(80E00024): LDR R0, SP, 24H |
0258 | v(E1000035): BEQ 53 [028EH] |
| Deselect(F)w;x Defocus(F)y;z |
0259 | w(80E0001C): LDR R0, SP, 1CH |
025A | x(F7FFFFC0): BL -64 [021BH] |
025B | y(80E0001C): LDR R0, SP, 1CH |
025C | z(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 |
025D | a(40E80020): ADD R0, SP, 20H |
025E | a .FIXUP D |
025E | a(8D700037): LDR SB, MT, MOD7 [Graphics] |
025F | a(41D8000E): ADD R1, SB, VAR14 |
0260 | a(D7172A0C): BL MT [trap=0, pos=5930] |
0261 | b(80E00020): LDR R0, SP, 20H |
0262 | b(D117304C): BLEQ MT [trap=4, pos=5936] |
0263 | c(81E00014): LDR R1, SP, 14H |
0264 | c(A1000000): STR R1, R0, 0H |
0265 | d(80E00020): LDR R0, SP, 20H |
0266 | d(D1173C4C): BLEQ MT [trap=4, pos=5948] |
0267 | e(81E00018): LDR R1, SP, 18H |
0268 | e(A1000004): STR R1, R0, 4H |
0269 | f(80E00020): LDR R0, SP, 20H |
026A | f(D117484C): BLEQ MT [trap=4, pos=5960] |
026B | g(81E00024): LDR R1, SP, 24H |
026C | g(D117504C): BLEQ MT [trap=4, pos=5968] |
026D | h(81100020): LDR R1, R1, 20H |
026E | h(A1000008): STR R1, R0, 8H |
026F | i(80E00020): LDR R0, SP, 20H |
0270 | i(D117574C): BLEQ MT [trap=4, pos=5975] |
0271 | j(81E00024): LDR R1, SP, 24H |
0272 | j(D1175F4C): BLEQ MT [trap=4, pos=5983] |
0273 | k(81100024): LDR R1, R1, 24H |
0274 | k(A100000C): STR R1, R0, CH |
| mac.macl := mh;m mac.don := Graphics.MacMethod;o mac.colp := Oberon.CurCol;q |
0275 | l(80E00020): LDR R0, SP, 20H |
0276 | l(D117724C): BLEQ MT [trap=4, pos=6002] |
0277 | m(81E00024): LDR R1, SP, 24H |
0278 | m(A100001C): STR R1, R0, 1CH |
0279 | n(80E00020): LDR R0, SP, 20H |
027A | n(D117804C): BLEQ MT [trap=4, pos=6016] |
027B | o .FIXUP D |
027B | o(8D70001D): LDR SB, MT, MOD7 [Graphics] |
027C | o(81D00014): LDR R1, SB, VAR20 |
027D | o(A1000014): STR R1, R0, 14H |
027E | p(80E00020): LDR R0, SP, 20H |
027F | p(D1179F4C): BLEQ MT [trap=4, pos=6047] |
0280 | q .FIXUP D |
0280 | q(8D900005): LDR SB, MT, MOD9 [Oberon] |
0281 | q(81D00010): LDR R1, SB, VAR16 |
0282 | q(B1000010): STR R1, R0, 10H |
| Graphics.Add(F.graphr,s mac)t;u DrawObj(F,v mac)w;x Mark(F,y 1)z |
0283 | r(80E0001C): LDR R0, SP, 1CH |
0284 | r(D117D04C): BLEQ MT [trap=4, pos=6096] |
0285 | s(8000001C): LDR R0, R0, 1CH |
0286 | t(81E00020): LDR R1, SP, 20H |
0287 | u .FIXUP P |
0287 | u(F7716032): BL MOD7 [Graphics] PROC22 |
0288 | v(80E0001C): LDR R0, SP, 1CH |
0289 | w(81E00020): LDR R1, SP, 20H |
028A | x(F7FFFF11): BL -239 [019CH] |
028B | y(80E0001C): LDR R0, SP, 1CH |
028C | z(41000001): MOV R1, R0, 1H |
| ENDa |
028D | a(F7FFFEC8): BL -312 [0156H] |
| ELSE Textsb.WriteString(W,c Lname)d;e Texts.WriteString(W,f " not available")g;h |
028E | b(E7000019): B 25 [02A8H] |
028F | c .FIXUP D |
028F | c(8D00000F): LDR SB, MT, MOD0 [GraphicFrames] |
0290 | c(40D80114): ADD R0, SB, 114H [data] |
0291 | c .FIXUP D |
0291 | c(8D500002): LDR SB, MT, MOD5 [Texts] |
0292 | c(41D80005): ADD R1, SB, VAR5 |
0293 | d(82E00004): LDR R2, SP, 4H |
0294 | d(83E00008): LDR R3, SP, 8H |
0295 | e .FIXUP P |
0295 | e(F751D00E): BL MOD5 [Texts] PROC29 |
0296 | f .FIXUP D |
0296 | f(8D000005): LDR SB, MT, MOD0 [GraphicFrames] |
0297 | f(40D80114): ADD R0, SB, 114H [data] |
0298 | f .FIXUP D |
0298 | f(8D500002): LDR SB, MT, MOD5 [Texts] |
0299 | f(41D80005): ADD R1, SB, VAR5 |
029A | g .FIXUP D |
029A | g(8D000002): LDR SB, MT, MOD0 [GraphicFrames] |
029B | g(42D8013C): ADD R2, SB, 13CH [data] |
029C | g(4300000F): MOV R3, R0, FH |
029D | h .FIXUP P |
029D | h(F751D008): BL MOD5 [Texts] PROC29 |
| Texts.WriteLn(W)i;j Texts.Append(Oberon.Log,k W.buf)l |
029E | i .FIXUP D |
029E | i(8D000004): LDR SB, MT, MOD0 [GraphicFrames] |
029F | i(40D80114): ADD R0, SB, 114H [data] |
02A0 | i .FIXUP D |
02A0 | i(8D500002): LDR SB, MT, MOD5 [Texts] |
02A1 | i(41D80005): ADD R1, SB, VAR5 |
02A2 | j .FIXUP P |
02A2 | j(F751C005): BL MOD5 [Texts] PROC28 |
02A3 | k .FIXUP D |
02A3 | k(8D900003): LDR SB, MT, MOD9 [Oberon] |
02A4 | k(80D0000D): LDR R0, SB, VAR13 |
02A5 | l .FIXUP D |
02A5 | l(8D000002): LDR SB, MT, MOD0 [GraphicFrames] |
02A6 | l(81D00114): LDR R1, SB, 114H [data] |
| ENDm |
02A7 | m .FIXUP P |
02A7 | m(F750E005): BL MOD5 [Texts] PROC14 |
| END |
| ENDn Macro; |
02A8 | n(8FE00000): LDR LNK, SP, 0H |
02A9 | n(4EE8002C): ADD SP, SP, 2CH |
02AA | n(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 |
02AB | o(4EE90074): SUB SP, SP, 74H |
02AC | o(AFE00000): STR LNK, SP, 0H |
02AD | o(A0E00004): STR R0, SP, 4H |
02AE | o(A1E00008): STR R1, SP, 8H |
02AF | o(A2E0000C): STR R2, SP, CH |
02B0 | o(A3E00010): STR R3, SP, 10H |
02B1 | o(A4E00014): STR R4, SP, 14H |
02B2 | o(A5E00018): STR R5, SP, 18H |
02B3 | p .FIXUP D |
02B3 | p(8D00000E): LDR SB, MT, MOD0 [GraphicFrames] |
02B4 | p(40D80114): ADD R0, SB, 114H [data] |
02B5 | p .FIXUP D |
02B5 | p(8D500002): LDR SB, MT, MOD5 [Texts] |
02B6 | p(41D80005): ADD R1, SB, VAR5 |
02B7 | q(4200000D): MOV R2, R0, DH |
02B8 | r .FIXUP P |
02B8 | r(F751B011): BL MOD5 [Texts] PROC27 |
| NEW(cap);s cap.lent := end - beg;u |
02B9 | s(40E80038): ADD R0, SP, 38H |
02BA | s .FIXUP D |
02BA | s(8D700005): LDR SB, MT, MOD7 [Graphics] |
02BB | s(41D8000D): ADD R1, SB, VAR13 |
02BC | s(D719C20C): BL MT [trap=0, pos=6594] |
02BD | t(80E00038): LDR R0, SP, 38H |
02BE | t(D119CA4C): BLEQ MT [trap=4, pos=6602] |
02BF | u(81E00018): LDR R1, SP, 18H |
02C0 | u(82E00014): LDR R2, SP, 14H |
02C1 | u(01190002): SUB R1, R1, R2 |
02C2 | u(A1000020): STR R1, R0, 20H |
| cap.posv := Graphics.T.lenw + 1;x cap.doy := Graphics.CapMethod;z |
02C3 | v(80E00038): LDR R0, SP, 38H |
02C4 | v(D119E44C): BLEQ MT [trap=4, pos=6628] |
02C5 | w .FIXUP D |
02C5 | w(8D70000B): LDR SB, MT, MOD7 [Graphics] |
02C6 | w(81D00011): LDR R1, SB, VAR17 |
02C7 | w(D119F64C): BLEQ MT [trap=4, pos=6646] |
02C8 | x(81100000): LDR R1, R1, 0H |
02C9 | x(41180001): ADD R1, R1, 1H |
02CA | x(A100001C): STR R1, R0, 1CH |
02CB | y(80E00038): LDR R0, SP, 38H |
02CC | y(D11A024C): BLEQ MT [trap=4, pos=6658] |
02CD | z .FIXUP D |
02CD | z(8D700008): LDR SB, MT, MOD7 [Graphics] |
02CE | z(81D00013): LDR R1, SB, VAR19 |
02CF | z(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 |
02D0 | a(40E80040): ADD R0, SP, 40H |
02D1 | a .FIXUP D |
02D1 | a(8D500004): LDR SB, MT, MOD5 [Texts] |
02D2 | a(41D80002): ADD R1, SB, VAR2 |
02D3 | b(82E00010): LDR R2, SP, 10H |
02D4 | c(83E00014): LDR R3, SP, 14H |
02D5 | d .FIXUP P |
02D5 | d(F751201D): BL MOD5 [Texts] PROC18 |
02D6 | e(40E80040): ADD R0, SP, 40H |
02D7 | e .FIXUP D |
02D7 | e(8D500006): LDR SB, MT, MOD5 [Texts] |
02D8 | e(41D80002): ADD R1, SB, VAR2 |
02D9 | f(42E8001C): ADD R2, SP, 1CH |
02DA | g .FIXUP P |
02DA | g(F7513005): BL MOD5 [Texts] PROC19 |
02DB | h(80E00044): LDR R0, SP, 44H |
02DC | h .FIXUP D |
02DC | h(8D000005): LDR SB, MT, MOD0 [GraphicFrames] |
02DD | h(A0D00118): STR R0, SB, 118H [data] |
02DE | i(80E00048): LDR R0, SP, 48H |
02DF | i(A0D0011C): STR R0, SB, 11CH |
02E0 | j(40000000): MOV R0, R0, 0H |
02E1 | j(A0E00024): STR R0, SP, 24H |
| cap.xk := x1 - F.xl;m cap.yn := y1 - F.yo +p R.fnt.minYq;r |
02E2 | k(80E00038): LDR R0, SP, 38H |
02E3 | k(D11A7F4C): BLEQ MT [trap=4, pos=6783] |
02E4 | l(81E00004): LDR R1, SP, 4H |
02E5 | l(D11A8B4C): BLEQ MT [trap=4, pos=6795] |
02E6 | m(82E00008): LDR R2, SP, 8H |
02E7 | m(81100030): LDR R1, R1, 30H |
02E8 | m(01290001): SUB R1, R2, R1 |
02E9 | m(A1000000): STR R1, R0, 0H |
02EA | n(80E00038): LDR R0, SP, 38H |
02EB | n(D11A924C): BLEQ MT [trap=4, pos=6802] |
02EC | o(81E00004): LDR R1, SP, 4H |
02ED | o(D11A9E4C): BLEQ MT [trap=4, pos=6814] |
02EE | p(82E0000C): LDR R2, SP, CH |
02EF | p(81100034): LDR R1, R1, 34H |
02F0 | p(01290001): SUB R1, R2, R1 |
02F1 | q(82E00044): LDR R2, SP, 44H |
02F2 | q(D11AAB4C): BLEQ MT [trap=4, pos=6827] |
02F3 | r(8220002C): LDR R2, R2, 2CH |
02F4 | r(01180002): ADD R1, R1, R2 |
02F5 | r(A1000004): STR R1, R0, 4H |
| WHILE beg < end DOs |
02F6 | s(80E00014): LDR R0, SP, 14H |
02F7 | s(81E00018): LDR R1, SP, 18H |
02F8 | s(00090001): SUB R0, R0, R1 |
02F9 | s(ED00001C): BGE 28 [0316H] |
| Fonts.GetPat(R.fnt,t ch,u dx,v x2,w y2,x w1,y h1,z pat)a;b |
02FA | t(80E00044): LDR R0, SP, 44H |
02FB | u(91E0001C): LDR R1, SP, 1CH |
02FC | v(42E80020): ADD R2, SP, 20H |
02FD | w(43E80028): ADD R3, SP, 28H |
02FE | x(44E8002C): ADD R4, SP, 2CH |
02FF | y(45E80030): ADD R5, SP, 30H |
0300 | z(46E80034): ADD R6, SP, 34H |
0301 | a(47E8003C): ADD R7, SP, 3CH |
0302 | b .FIXUP P |
0302 | b(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 |
0303 | c(80E00024): LDR R0, SP, 24H |
0304 | c(81E00020): LDR R1, SP, 20H |
0305 | c(00080001): ADD R0, R0, R1 |
0306 | c(A0E00024): STR R0, SP, 24H |
0307 | d(80E00014): LDR R0, SP, 14H |
0308 | d(40080001): ADD R0, R0, 1H |
0309 | d(A0E00014): STR R0, SP, 14H |
030A | e .FIXUP D |
030A | e(8D00002E): LDR SB, MT, MOD0 [GraphicFrames] |
030B | e(40D80114): ADD R0, SB, 114H [data] |
030C | e .FIXUP D |
030C | e(8D500002): LDR SB, MT, MOD5 [Texts] |
030D | e(41D80005): ADD R1, SB, VAR5 |
030E | f(92E0001C): LDR R2, SP, 1CH |
030F | g .FIXUP P |
030F | g(F751B00D): BL MOD5 [Texts] PROC27 |
0310 | h(40E80040): ADD R0, SP, 40H |
0311 | h .FIXUP D |
0311 | h(8D500005): LDR SB, MT, MOD5 [Texts] |
0312 | h(41D80002): ADD R1, SB, VAR2 |
0313 | i(42E8001C): ADD R2, SP, 1CH |
| ENDj ; |
0314 | j .FIXUP P |
0314 | j(F7513005): BL MOD5 [Texts] PROC19 |
0315 | j(E7FFFFE0): B -32 [02F6H] |
| cap.wk := w;l cap.hm := W.fnt.heightn;o cap.colp := W.col;q |
0316 | k(80E00038): LDR R0, SP, 38H |
0317 | k(D11B514C): BLEQ MT [trap=4, pos=6993] |
0318 | l(81E00024): LDR R1, SP, 24H |
0319 | l(A1000008): STR R1, R0, 8H |
031A | m(80E00038): LDR R0, SP, 38H |
031B | m(D11B5D4C): BLEQ MT [trap=4, pos=7005] |
031C | n .FIXUP D |
031C | n(8D00000B): LDR SB, MT, MOD0 [GraphicFrames] |
031D | n(81D00118): LDR R1, SB, 118H [data] |
031E | n(D11B6D4C): BLEQ MT [trap=4, pos=7021] |
031F | o(81100020): LDR R1, R1, 20H |
0320 | o(A100000C): STR R1, R0, CH |
0321 | p(80E00038): LDR R0, SP, 38H |
0322 | p(D11B764C): BLEQ MT [trap=4, pos=7030] |
0323 | q(81D0011C): LDR R1, SB, 11CH |
0324 | q(B1000010): STR R1, R0, 10H |
| Texts.Append(Graphics.T,r W.buf)s;t Graphics.Add(F.graphu,v cap)w;x |
0325 | r .FIXUP D |
0325 | r(8D700009): LDR SB, MT, MOD7 [Graphics] |
0326 | r(80D00011): LDR R0, SB, VAR17 |
0327 | s .FIXUP D |
0327 | s(8D000002): LDR SB, MT, MOD0 [GraphicFrames] |
0328 | s(81D00114): LDR R1, SB, 114H [data] |
0329 | t .FIXUP P |
0329 | t(F750E015): BL MOD5 [Texts] PROC14 |
032A | u(80E00004): LDR R0, SP, 4H |
032B | u(D11BBA4C): BLEQ MT [trap=4, pos=7098] |
032C | v(8000001C): LDR R0, R0, 1CH |
032D | w(81E00038): LDR R1, SP, 38H |
032E | x .FIXUP P |
032E | x(F7716005): BL MOD7 [Graphics] PROC22 |
| Mark(F,y 1)z;a RETURN cap |
032F | y(80E00004): LDR R0, SP, 4H |
0330 | z(41000001): MOV R1, R0, 1H |
0331 | a(F7FFFE24): BL -476 [0156H] |
| ENDb CaptionCopy; |
0332 | b(80E00038): LDR R0, SP, 38H |
0333 | b(8FE00000): LDR LNK, SP, 0H |
0334 | b(4EE80074): ADD SP, SP, 74H |
0335 | b(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 |
0336 | c(4EE90020): SUB SP, SP, 20H |
0337 | c(AFE00000): STR LNK, SP, 0H |
0338 | c(A0E00004): STR R0, SP, 4H |
0339 | c(A1E00008): STR R1, SP, 8H |
033A | c(A2E0000C): STR R2, SP, CH |
033B | c(A3E00010): STR R3, SP, 10H |
033C | c(A4E00014): STR R4, SP, 14H |
033D | c(A5E00018): STR R5, SP, 18H |
033E | d(40E8001C): ADD R0, SP, 1CH |
033F | d .FIXUP D |
033F | d(8D700018): LDR SB, MT, MOD7 [Graphics] |
0340 | d(41D8000C): ADD R1, SB, VAR12 |
0341 | d(D71C670C): BL MT [trap=0, pos=7271] |
0342 | e(80E0001C): LDR R0, SP, 1CH |
0343 | e(D11C704C): BLEQ MT [trap=4, pos=7280] |
0344 | f .FIXUP D |
0344 | f(8D900005): LDR SB, MT, MOD9 [Oberon] |
0345 | f(81D00010): LDR R1, SB, VAR16 |
0346 | f(B1000010): STR R1, R0, 10H |
0347 | g(80E0001C): LDR R0, SP, 1CH |
0348 | g(D11C894C): BLEQ MT [trap=4, pos=7305] |
0349 | h(81E00004): LDR R1, SP, 4H |
034A | h(D11C944C): BLEQ MT [trap=4, pos=7316] |
034B | i(82E0000C): LDR R2, SP, CH |
034C | i(81100030): LDR R1, R1, 30H |
034D | i(01290001): SUB R1, R2, R1 |
034E | i(A1000000): STR R1, R0, 0H |
034F | j(80E0001C): LDR R0, SP, 1CH |
0350 | j(D11C9C4C): BLEQ MT [trap=4, pos=7324] |
0351 | k(81E00004): LDR R1, SP, 4H |
0352 | k(D11CA74C): BLEQ MT [trap=4, pos=7335] |
0353 | l(82E00010): LDR R2, SP, 10H |
0354 | l(81100034): LDR R1, R1, 34H |
0355 | l(01290001): SUB R1, R2, R1 |
0356 | l(A1000004): STR R1, R0, 4H |
| line.wm := w;n line.ho := h;p line.doq := Graphics.LineMethod;r |
0357 | m(80E0001C): LDR R0, SP, 1CH |
0358 | m(D11CB34C): BLEQ MT [trap=4, pos=7347] |
0359 | n(81E00014): LDR R1, SP, 14H |
035A | n(A1000008): STR R1, R0, 8H |
035B | o(80E0001C): LDR R0, SP, 1CH |
035C | o(D11CC04C): BLEQ MT [trap=4, pos=7360] |
035D | p(81E00018): LDR R1, SP, 18H |
035E | p(A100000C): STR R1, R0, CH |
035F | q(80E0001C): LDR R0, SP, 1CH |
0360 | q(D11CCE4C): BLEQ MT [trap=4, pos=7374] |
0361 | r .FIXUP D |
0361 | r(8D70001D): LDR SB, MT, MOD7 [Graphics] |
0362 | r(81D00012): LDR R1, SB, VAR18 |
0363 | r(A1000014): STR R1, R0, 14H |
| Graphics.Add(G,s line)t;u Mark(F,v 1)w |
0364 | s(80E00008): LDR R0, SP, 8H |
0365 | t(81E0001C): LDR R1, SP, 1CH |
0366 | u .FIXUP P |
0366 | u(F7716038): BL MOD7 [Graphics] PROC22 |
0367 | v(80E00004): LDR R0, SP, 4H |
0368 | w(41000001): MOV R1, R0, 1H |
| ENDx NewLine; |
0369 | x(F7FFFDEC): BL -532 [0156H] |
036A | x(8FE00000): LDR LNK, SP, 0H |
036B | x(4EE80020): ADD SP, SP, 20H |
036C | x(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 |
036D | y(4EE90054): SUB SP, SP, 54H |
036E | y(AFE00000): STR LNK, SP, 0H |
036F | y(A0E00004): STR R0, SP, 4H |
0370 | y(A1E00008): STR R1, SP, 8H |
0371 | y(A2E0000C): STR R2, SP, CH |
0372 | y(A3E00010): STR R3, SP, 10H |
0373 | z(80E00010): LDR R0, SP, 10H |
0374 | z(A0E00038): STR R0, SP, 38H |
0375 | a(80E00004): LDR R0, SP, 4H |
0376 | a(D11E3F4C): BLEQ MT [trap=4, pos=7743] |
0377 | b(8000001C): LDR R0, R0, 1CH |
0378 | b(A0E00050): STR R0, SP, 50H |
| REPEAT Input.Mouse(k2,c x1,d y1)e;f k1 := k1 + k2;g |
0379 | c(40E8003C): ADD R0, SP, 3CH |
037A | d(41E80018): ADD R1, SP, 18H |
037B | e(42E8001C): ADD R2, SP, 1CH |
037C | f .FIXUP P |
037C | f(F7303016): BL MOD3 [Input] PROC3 |
037D | g(80E00038): LDR R0, SP, 38H |
037E | g(81E0003C): LDR R1, SP, 3CH |
037F | g(00060001): IOR R0, R0, R1 |
0380 | g(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 |
0381 | h(80E00004): LDR R0, SP, 4H |
0382 | h(D11E894C): BLEQ MT [trap=4, pos=7817] |
0383 | i(81E00018): LDR R1, SP, 18H |
0384 | i(80000030): LDR R0, R0, 30H |
0385 | i(00190000): SUB R0, R1, R0 |
0386 | j(40040003): AND R0, R0, 3H |
0387 | k(81E00018): LDR R1, SP, 18H |
0388 | k(01190000): SUB R1, R1, R0 |
0389 | k(A1E00018): STR R1, SP, 18H |
038A | l(80E00004): LDR R0, SP, 4H |
038B | l(D11EA24C): BLEQ MT [trap=4, pos=7842] |
038C | m(81E0001C): LDR R1, SP, 1CH |
038D | m(80000034): LDR R0, R0, 34H |
038E | m(00190000): SUB R0, R1, R0 |
038F | n(40040003): AND R0, R0, 3H |
0390 | o(81E0001C): LDR R1, SP, 1CH |
0391 | o(01190000): SUB R1, R1, R0 |
0392 | o(A1E0001C): STR R1, SP, 1CH |
| Oberon.DrawMouse(Crosshair,p x1,q y1)r |
0393 | p .FIXUP D |
0393 | p(8D000032): LDR SB, MT, MOD0 [GraphicFrames] |
0394 | p(40D800EC): ADD R0, SB, ECH [data] |
0395 | p .FIXUP D |
0395 | p(8D900002): LDR SB, MT, MOD9 [Oberon] |
0396 | p(41D80001): ADD R1, SB, VAR1 |
0397 | q(82E00018): LDR R2, SP, 18H |
0398 | r(83E0001C): LDR R3, SP, 1CH |
| UNTILs k2 = {};t |
0399 | s .FIXUP P |
0399 | s(F791701D): BL MOD9 [Oberon] PROC23 |
039A | t(80E0003C): LDR R0, SP, 3CH |
039B | t(E9FFFFDD): BNE -35 [0379H] |
| Oberon.FadeMouse;u |
039C | u .FIXUP P |
039C | u(F7919003): BL MOD9 [Oberon] PROC25 |
| IF k0 = {2} THENv (*left key*) |
039D | v(80E00010): LDR R0, SP, 10H |
039E | v(40090004): SUB R0, R0, 4H |
039F | v(E90000C7): BNE 199 [0467H] |
| w := ABS(x1-x0)w;x h := ABS(y1-y0)y;z |
03A0 | w(80E00018): LDR R0, SP, 18H |
03A1 | w(81E00008): LDR R1, SP, 8H |
03A2 | w(00090001): SUB R0, R0, R1 |
03A3 | x(40090000): SUB R0, R0, 0H |
03A4 | x(ED000002): BGE 2 [03A7H] |
03A5 | x(41000000): MOV R1, R0, 0H |
03A6 | x(00190000): SUB R0, R1, R0 |
03A7 | x(A0E00020): STR R0, SP, 20H |
03A8 | y(80E0001C): LDR R0, SP, 1CH |
03A9 | y(81E0000C): LDR R1, SP, CH |
03AA | y(00090001): SUB R0, R0, R1 |
03AB | z(40090000): SUB R0, R0, 0H |
03AC | z(ED000002): BGE 2 [03AFH] |
03AD | z(41000000): MOV R1, R0, 0H |
03AE | z(00190000): SUB R0, R1, R0 |
03AF | z(A0E00024): STR R0, SP, 24H |
| IF k1 = {2} THENa |
03B0 | a(80E00038): LDR R0, SP, 38H |
03B1 | a(40090004): SUB R0, R0, 4H |
03B2 | a(E9000062): BNE 98 [0415H] |
| IF (w < 7)b & (ch < 7)d THENe (*set mark*) |
03B3 | b(80E00020): LDR R0, SP, 20H |
03B4 | b(40090007): SUB R0, R0, 7H |
03B5 | c(ED000039): BGE 57 [03EFH] |
03B6 | d(80E00024): LDR R0, SP, 24H |
03B7 | d(40090007): SUB R0, R0, 7H |
03B8 | e(ED000036): BGE 54 [03EFH] |
| IF (x1 - markW >=f F.Xg)h & (ix1 + markW <j F.X1k)l & |
03B9 | f(80E00018): LDR R0, SP, 18H |
03BA | f(40090005): SUB R0, R0, 5H |
03BB | g(81E00004): LDR R1, SP, 4H |
03BC | g(D11FAF4C): BLEQ MT [trap=4, pos=8111] |
03BD | h(81100008): LDR R1, R1, 8H |
03BE | h(00090001): SUB R0, R0, R1 |
03BF | i(E500002E): BLT 46 [03EEH] |
03C0 | j(80E00018): LDR R0, SP, 18H |
03C1 | j(40080005): ADD R0, R0, 5H |
03C2 | k(81E00004): LDR R1, SP, 4H |
03C3 | k(D11FC54C): BLEQ MT [trap=4, pos=8133] |
03C4 | l(81100028): LDR R1, R1, 28H |
03C5 | l(00090001): SUB R0, R0, R1 |
| (my1 - markW >=n F.Yo)p & (qy1 + markW <r F.Y1s)t THENu |
03C6 | m(ED000027): BGE 39 [03EEH] |
03C7 | n(80E0001C): LDR R0, SP, 1CH |
03C8 | n(40090005): SUB R0, R0, 5H |
03C9 | o(81E00004): LDR R1, SP, 4H |
03CA | o(D11FE74C): BLEQ MT [trap=4, pos=8167] |
03CB | p(8110000C): LDR R1, R1, CH |
03CC | p(00090001): SUB R0, R0, R1 |
03CD | q(E5000020): BLT 32 [03EEH] |
03CE | r(80E0001C): LDR R0, SP, 1CH |
03CF | r(40080005): ADD R0, R0, 5H |
03D0 | s(81E00004): LDR R1, SP, 4H |
03D1 | s(D11FFD4C): BLEQ MT [trap=4, pos=8189] |
03D2 | t(8110002C): LDR R1, R1, 2CH |
03D3 | t(00090001): SUB R0, R0, R1 |
03D4 | u(ED000019): BGE 25 [03EEH] |
| Defocus(F)v;w Oberon.PassFocus(Viewers.This(F.Xx,y F.Yz)a)b;c |
03D5 | v(80E00004): LDR R0, SP, 4H |
03D6 | w(F7FFFE16): BL -490 [01EDH] |
03D7 | x(80E00004): LDR R0, SP, 4H |
03D8 | x(D1203D4C): BLEQ MT [trap=4, pos=8253] |
03D9 | y(80000008): LDR R0, R0, 8H |
03DA | z(81E00004): LDR R1, SP, 4H |
03DB | z(D120424C): BLEQ MT [trap=4, pos=8258] |
03DC | a(8110000C): LDR R1, R1, CH |
03DD | b .FIXUP P |
03DD | b(F7209041): BL MOD2 [Viewers] PROC9 |
03DE | c .FIXUP P |
03DE | c(F7925001): BL MOD9 [Oberon] PROC37 |
| F.markd.x := x1;e F.markf.y := y1;g F.markedh := TRUE;i FlipMark(x1,j y1)k |
03DF | d(80E00004): LDR R0, SP, 4H |
03E0 | d(D120584C): BLEQ MT [trap=4, pos=8280] |
03E1 | e(81E00018): LDR R1, SP, 18H |
03E2 | e(A1000040): STR R1, R0, 40H |
03E3 | f(80E00004): LDR R0, SP, 4H |
03E4 | f(D120684C): BLEQ MT [trap=4, pos=8296] |
03E5 | g(81E0001C): LDR R1, SP, 1CH |
03E6 | g(A1000044): STR R1, R0, 44H |
03E7 | h(80E00004): LDR R0, SP, 4H |
03E8 | h(D1207A4C): BLEQ MT [trap=4, pos=8314] |
03E9 | i(41000001): MOV R1, R0, 1H |
03EA | i(B100003C): STR R1, R0, 3CH |
03EB | j(80E00018): LDR R0, SP, 18H |
03EC | k(81E0001C): LDR R1, SP, 1CH |
| ENDl |
03ED | l(F7FFFDE8): BL -536 [01D6H] |
| ELSE (*draw line*) Deselectm(F)n;o |
03EE | m(E7000025): B 37 [0414H] |
03EF | n(80E00004): LDR R0, SP, 4H |
03F0 | o(F7FFFE2A): BL -470 [021BH] |
| IF w < h THENp |
03F1 | p(80E00020): LDR R0, SP, 20H |
03F2 | p(81E00024): LDR R1, SP, 24H |
03F3 | p(00090001): SUB R0, R0, R1 |
03F4 | p(ED00000F): BGE 15 [0404H] |
| IF y1 < y0 THENq y0 := y1 ENDr ; |
03F5 | q(80E0001C): LDR R0, SP, 1CH |
03F6 | q(81E0000C): LDR R1, SP, CH |
03F7 | q(00090001): SUB R0, R0, R1 |
03F8 | q(ED000002): BGE 2 [03FBH] |
03F9 | r(80E0001C): LDR R0, SP, 1CH |
03FA | r(A0E0000C): STR R0, SP, CH |
| NewLine(F,s G,t x0,u y0,v Graphics.width,w h)x |
03FB | s(80E00004): LDR R0, SP, 4H |
03FC | t(81E00050): LDR R1, SP, 50H |
03FD | u(82E00008): LDR R2, SP, 8H |
03FE | v(83E0000C): LDR R3, SP, CH |
03FF | w .FIXUP D |
03FF | w(8D70006A): LDR SB, MT, MOD7 [Graphics] |
0400 | w(84D0000F): LDR R4, SB, VAR15 |
0401 | x(85E00024): LDR R5, SP, 24H |
| ELSEy |
0402 | y(F7FFFF33): BL -205 [0336H] |
| IFz x1 < x0 THENa x0 := x1 ENDb ; |
0403 | z(E700000E): B 14 [0412H] |
0404 | a(80E00018): LDR R0, SP, 18H |
0405 | a(81E00008): LDR R1, SP, 8H |
0406 | a(00090001): SUB R0, R0, R1 |
0407 | a(ED000002): BGE 2 [040AH] |
0408 | b(80E00018): LDR R0, SP, 18H |
0409 | b(A0E00008): STR R0, SP, 8H |
| NewLine(F,c G,d x0,e y0,f w,g Graphics.width)h |
040A | c(80E00004): LDR R0, SP, 4H |
040B | d(81E00050): LDR R1, SP, 50H |
040C | e(82E00008): LDR R2, SP, 8H |
040D | f(83E0000C): LDR R3, SP, CH |
040E | g(84E00020): LDR R4, SP, 20H |
040F | h .FIXUP D |
040F | h(8D700010): LDR SB, MT, MOD7 [Graphics] |
0410 | h(85D0000F): LDR R5, SB, VAR15 |
| ENDi ; |
0411 | i(F7FFFF24): BL -220 [0336H] |
| Draw(F)j |
0412 | j(80E00004): LDR R0, SP, 4H |
| ENDk |
0413 | k(F7FFFD55): BL -683 [0169H] |
| ELSIF k1l = {2, 1} THENm (*copy text selection to mark*) |
0414 | l(E7000051): B 81 [0466H] |
0415 | m(80E00038): LDR R0, SP, 38H |
0416 | m(40090006): SUB R0, R0, 6H |
0417 | m(E900001C): BNE 28 [0434H] |
| Deselect(F)n;o Oberon.GetSelection(T,p beg,q end,r time)s;t |
0418 | n(80E00004): LDR R0, SP, 4H |
0419 | o(F7FFFE01): BL -511 [021BH] |
041A | p(40E80048): ADD R0, SP, 48H |
041B | q(41E8002C): ADD R1, SP, 2CH |
041C | r(42E80030): ADD R2, SP, 30H |
041D | s(43E80034): ADD R3, SP, 34H |
041E | t .FIXUP P |
041E | t(F7929040): BL MOD9 [Oberon] PROC41 |
| IF time >= 0 THENu |
041F | u(80E00034): LDR R0, SP, 34H |
0420 | u(40090000): SUB R0, R0, 0H |
0421 | u(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 |
0422 | v(80E00004): LDR R0, SP, 4H |
0423 | w(4EE90004): SUB SP, SP, 4H |
0424 | w(A0E00000): STR R0, SP, 0H |
0425 | x(80E00008): LDR R0, SP, 8H |
0426 | y(81E0001C): LDR R1, SP, 1CH |
0427 | z(82E00020): LDR R2, SP, 20H |
0428 | a(83E0004C): LDR R3, SP, 4CH |
0429 | b(84E00030): LDR R4, SP, 30H |
042A | c(85E00034): LDR R5, SP, 34H |
042B | d(F7FFFE7F): BL -385 [02ABH] |
042C | d(01000000): MOV R1, R0, R0 |
042D | d(80E00000): LDR R0, SP, 0H |
042E | d(4EE80004): ADD SP, SP, 4H |
042F | e(F7FFFD6C): BL -660 [019CH] |
0430 | f(80E00004): LDR R0, SP, 4H |
0431 | g(41000001): MOV R1, R0, 1H |
| ENDh |
0432 | h(F7FFFD23): BL -733 [0156H] |
| ELSIF k1i = {2, 0} THENj |
0433 | i(E7000032): B 50 [0466H] |
0434 | j(80E00038): LDR R0, SP, 38H |
0435 | j(40090005): SUB R0, R0, 5H |
0436 | j(E900002F): BNE 47 [0466H] |
| IF F.markedk THENl (*set secondary mark*) |
0437 | k(80E00004): LDR R0, SP, 4H |
0438 | k(D122F64C): BLEQ MT [trap=4, pos=8950] |
0439 | l(9000003C): LDR R0, R0, 3CH |
043A | l(E100002B): BEQ 43 [0466H] |
| NEW(newmark);m newmark.xn := x1;o newmark.yp := y1;q newmark.nextr := NIL;s |
043B | m(40E80044): ADD R0, SP, 44H |
043C | m .FIXUP D |
043C | m(8D00002D): LDR SB, MT, MOD0 [GraphicFrames] |
043D | m(41D80000): ADD R1, SB, 0H [data] |
043E | m(D7232C0C): BL MT [trap=0, pos=9004] |
043F | n(80E00044): LDR R0, SP, 44H |
0440 | n(D123364C): BLEQ MT [trap=4, pos=9014] |
0441 | o(81E00018): LDR R1, SP, 18H |
0442 | o(A1000000): STR R1, R0, 0H |
0443 | p(80E00044): LDR R0, SP, 44H |
0444 | p(D123474C): BLEQ MT [trap=4, pos=9031] |
0445 | q(81E0001C): LDR R1, SP, 1CH |
0446 | q(A1000004): STR R1, R0, 4H |
0447 | r(80E00044): LDR R0, SP, 44H |
0448 | r(D1235B4C): BLEQ MT [trap=4, pos=9051] |
0449 | s(41000000): MOV R1, R0, 0H |
044A | s(A1000008): STR R1, R0, 8H |
| FlipMark(x1,t y1)u;v mark := F.markw.next;x |
044B | t(80E00018): LDR R0, SP, 18H |
044C | u(81E0001C): LDR R1, SP, 1CH |
044D | v(F7FFFD88): BL -632 [01D6H] |
044E | w(80E00004): LDR R0, SP, 4H |
044F | w(D1238E4C): BLEQ MT [trap=4, pos=9102] |
0450 | x(80000048): LDR R0, R0, 48H |
0451 | x(A0E00040): STR R0, SP, 40H |
| IF mark = NIL THENy F.markz.next := newmark ELSEa |
0452 | y(80E00040): LDR R0, SP, 40H |
0453 | y(E9000005): BNE 5 [0459H] |
0454 | z(80E00004): LDR R0, SP, 4H |
0455 | z(D123B84C): BLEQ MT [trap=4, pos=9144] |
0456 | a(81E00044): LDR R1, SP, 44H |
0457 | a(A1000048): STR R1, R0, 48H |
| WHILEb mark.nextc # NIL DOd mark := mark.nexte ENDf ; |
0458 | b(E700000D): B 13 [0466H] |
0459 | c(80E00040): LDR R0, SP, 40H |
045A | c(D123E94C): BLEQ MT [trap=4, pos=9193] |
045B | d(80000008): LDR R0, R0, 8H |
045C | d(E1000005): BEQ 5 [0462H] |
045D | e(80E00040): LDR R0, SP, 40H |
045E | e(D124044C): BLEQ MT [trap=4, pos=9220] |
045F | f(80000008): LDR R0, R0, 8H |
0460 | f(A0E00040): STR R0, SP, 40H |
0461 | f(E7FFFFF7): B -9 [0459H] |
| mark.nextg := newmark |
0462 | g(80E00040): LDR R0, SP, 40H |
0463 | g(D124204C): BLEQ MT [trap=4, pos=9248] |
| ENDh |
0464 | h(81E00044): LDR R1, SP, 44H |
0465 | h(A1000008): STR R1, R0, 8H |
| END |
| END |
| ELSIF k0i = {1} THENj (*middle key*) |
0466 | i(E7000102): B 258 [0569H] |
0467 | j(80E00010): LDR R0, SP, 10H |
0468 | j(40090002): SUB R0, R0, 2H |
0469 | j(E90000A0): BNE 160 [050AH] |
| IF k1 = {1} THENk (*move*) |
046A | k(80E00038): LDR R0, SP, 38H |
046B | k(40090002): SUB R0, R0, 2H |
046C | k(E9000045): BNE 69 [04B2H] |
| IF (x0 # x1)l OR (my0 # y1)n THENo |
046D | l(80E00008): LDR R0, SP, 8H |
046E | l(81E00018): LDR R1, SP, 18H |
046F | l(00090001): SUB R0, R0, R1 |
0470 | m(E9000004): BNE 4 [0475H] |
0471 | n(80E0000C): LDR R0, SP, CH |
0472 | n(81E0001C): LDR R1, SP, 1CH |
0473 | n(00090001): SUB R0, R0, R1 |
0474 | o(E100003C): BEQ 60 [04B1H] |
| Fd := This(x1,p y1)q;r Erase(F)s;t |
0475 | p(80E00018): LDR R0, SP, 18H |
0476 | q(81E0001C): LDR R1, SP, 1CH |
0477 | r(F7FFFCCC): BL -820 [0144H] |
0478 | r(A0E0004C): STR R0, SP, 4CH |
0479 | s(80E00004): LDR R0, SP, 4H |
047A | t(F7FFFD0E): BL -754 [0189H] |
| IF Fd = F THENu Graphics.Move(G,v x1-x0,w y1-y0)x |
047B | u(80E0004C): LDR R0, SP, 4CH |
047C | u(81E00004): LDR R1, SP, 4H |
047D | u(00090001): SUB R0, R0, R1 |
047E | u(E9000009): BNE 9 [0488H] |
047F | v(80E00050): LDR R0, SP, 50H |
0480 | w(81E00018): LDR R1, SP, 18H |
0481 | w(82E00008): LDR R2, SP, 8H |
0482 | w(01190002): SUB R1, R1, R2 |
0483 | x(82E0001C): LDR R2, SP, 1CH |
0484 | x(83E0000C): LDR R3, SP, CH |
0485 | x(02290003): SUB R2, R2, R3 |
| ELSIFy (zFd # NIL)a & (bFd.graphc = G)d THENe |
0486 | y .FIXUP P |
0486 | y(F771F068): BL MOD7 [Graphics] PROC31 |
0487 | z(E7000024): B 36 [04ACH] |
0488 | a(80E0004C): LDR R0, SP, 4CH |
0489 | b(E1000022): BEQ 34 [04ACH] |
048A | c(80E0004C): LDR R0, SP, 4CH |
048B | c(D125444C): BLEQ MT [trap=4, pos=9540] |
048C | d(8000001C): LDR R0, R0, 1CH |
048D | d(81E00050): LDR R1, SP, 50H |
048E | d(00090001): SUB R0, R0, R1 |
048F | e(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 |
0490 | f(80E00050): LDR R0, SP, 50H |
0491 | g(81E0004C): LDR R1, SP, 4CH |
0492 | g(D125744C): BLEQ MT [trap=4, pos=9588] |
0493 | h(82E00018): LDR R2, SP, 18H |
0494 | h(81100030): LDR R1, R1, 30H |
0495 | h(01290001): SUB R1, R2, R1 |
0496 | i(82E00008): LDR R2, SP, 8H |
0497 | i(01190002): SUB R1, R1, R2 |
0498 | j(82E00004): LDR R2, SP, 4H |
0499 | j(D1257B4C): BLEQ MT [trap=4, pos=9595] |
049A | k(82200030): LDR R2, R2, 30H |
049B | k(01180002): ADD R1, R1, R2 |
049C | l(41120002): ASR R1, R1, 2H |
049D | m(41110002): LSL R1, R1, 2H |
049E | n(82E0004C): LDR R2, SP, 4CH |
049F | n(D125904C): BLEQ MT [trap=4, pos=9616] |
04A0 | o(83E0001C): LDR R3, SP, 1CH |
04A1 | o(82200034): LDR R2, R2, 34H |
04A2 | o(02390002): SUB R2, R3, R2 |
04A3 | p(83E0000C): LDR R3, SP, CH |
04A4 | p(02290003): SUB R2, R2, R3 |
04A5 | q(83E00004): LDR R3, SP, 4H |
04A6 | q(D125974C): BLEQ MT [trap=4, pos=9623] |
04A7 | r(83300034): LDR R3, R3, 34H |
04A8 | r(02280003): ADD R2, R2, R3 |
04A9 | s(42220002): ASR R2, R2, 2H |
04AA | t(42210002): LSL R2, R2, 2H |
| ENDu ; |
04AB | u .FIXUP P |
04AB | u(F771F025): BL MOD7 [Graphics] PROC31 |
| Draw(F)v;w Mark(F,x 1)y |
04AC | v(80E00004): LDR R0, SP, 4H |
04AD | w(F7FFFCBB): BL -837 [0169H] |
04AE | x(80E00004): LDR R0, SP, 4H |
04AF | y(41000001): MOV R1, R0, 1H |
| ENDz |
04B0 | z(F7FFFCA5): BL -859 [0156H] |
| ELSIF k1a = {1, 2} THENb (*copy*) |
04B1 | a(E7000057): B 87 [0509H] |
04B2 | b(80E00038): LDR R0, SP, 38H |
04B3 | b(40090006): SUB R0, R0, 6H |
04B4 | b(E900003D): BNE 61 [04F2H] |
| Fd := This(x1,c y1)d;e |
04B5 | c(80E00018): LDR R0, SP, 18H |
04B6 | d(81E0001C): LDR R1, SP, 1CH |
04B7 | e(F7FFFC8C): BL -884 [0144H] |
04B8 | e(A0E0004C): STR R0, SP, 4CH |
| IF Fd # NIL THENf DrawNorm(F)g;h |
04B9 | f(80E0004C): LDR R0, SP, 4CH |
04BA | f(E1000036): BEQ 54 [04F1H] |
04BB | g(80E00004): LDR R0, SP, 4H |
04BC | h(F7FFFCBC): BL -836 [0179H] |
| IF Fd = F THENi Graphics.Copy(G,j G,k x1-x0,l y1-y0)m |
04BD | i(80E0004C): LDR R0, SP, 4CH |
04BE | i(81E00004): LDR R1, SP, 4H |
04BF | i(00090001): SUB R0, R0, R1 |
04C0 | i(E900000A): BNE 10 [04CBH] |
04C1 | j(80E00050): LDR R0, SP, 50H |
04C2 | k(81E00050): LDR R1, SP, 50H |
04C3 | l(82E00018): LDR R2, SP, 18H |
04C4 | l(83E00008): LDR R3, SP, 8H |
04C5 | l(02290003): SUB R2, R2, R3 |
04C6 | m(83E0001C): LDR R3, SP, 1CH |
04C7 | m(84E0000C): LDR R4, SP, CH |
04C8 | m(03390004): SUB R3, R3, R4 |
| ELSEn Deselecto(Fd)p;q |
04C9 | n .FIXUP P |
04C9 | n(F772001E): BL MOD7 [Graphics] PROC32 |
04CA | o(E7000021): B 33 [04ECH] |
04CB | p(80E0004C): LDR R0, SP, 4CH |
04CC | q(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 |
04CD | r(80E00050): LDR R0, SP, 50H |
04CE | s(81E0004C): LDR R1, SP, 4CH |
04CF | s(D126C34C): BLEQ MT [trap=4, pos=9923] |
04D0 | t(8110001C): LDR R1, R1, 1CH |
04D1 | u(82E0004C): LDR R2, SP, 4CH |
04D2 | u(D126CD4C): BLEQ MT [trap=4, pos=9933] |
04D3 | v(83E00018): LDR R3, SP, 18H |
04D4 | v(82200030): LDR R2, R2, 30H |
04D5 | v(02390002): SUB R2, R3, R2 |
04D6 | w(83E00008): LDR R3, SP, 8H |
04D7 | w(02290003): SUB R2, R2, R3 |
04D8 | x(83E00004): LDR R3, SP, 4H |
04D9 | x(D126D44C): BLEQ MT [trap=4, pos=9940] |
04DA | y(83300030): LDR R3, R3, 30H |
04DB | y(02280003): ADD R2, R2, R3 |
04DC | z(42220002): ASR R2, R2, 2H |
04DD | a(42210002): LSL R2, R2, 2H |
04DE | b(83E0004C): LDR R3, SP, 4CH |
04DF | b(D126E94C): BLEQ MT [trap=4, pos=9961] |
04E0 | c(84E0001C): LDR R4, SP, 1CH |
04E1 | c(83300034): LDR R3, R3, 34H |
04E2 | c(03490003): SUB R3, R4, R3 |
04E3 | d(84E0000C): LDR R4, SP, CH |
04E4 | d(03390004): SUB R3, R3, R4 |
04E5 | e(84E00004): LDR R4, SP, 4H |
04E6 | e(D126F04C): BLEQ MT [trap=4, pos=9968] |
04E7 | f(84400034): LDR R4, R4, 34H |
04E8 | f(03380004): ADD R3, R3, R4 |
04E9 | g(43320002): ASR R3, R3, 2H |
04EA | h(43310002): LSL R3, R3, 2H |
| ENDi ; |
04EB | i .FIXUP P |
04EB | i(F7720022): BL MOD7 [Graphics] PROC32 |
| Draw(Fd)j;k Mark(F,l 1)m |
04EC | j(80E0004C): LDR R0, SP, 4CH |
04ED | k(F7FFFC7B): BL -901 [0169H] |
04EE | l(80E00004): LDR R0, SP, 4H |
04EF | m(41000001): MOV R1, R0, 1H |
| ENDn |
04F0 | n(F7FFFC65): BL -923 [0156H] |
| ELSIF k1o = {1, 0} THENp (*shift graph*) |
04F1 | o(E7000017): B 23 [0509H] |
04F2 | p(80E00038): LDR R0, SP, 38H |
04F3 | p(40090003): SUB R0, R0, 3H |
04F4 | p(E9000014): BNE 20 [0509H] |
| INC(F.Xgq, x1-x0)r;s INC(F.Ygt, y1-y0)u;v Restore(F)w |
04F5 | q(80E00004): LDR R0, SP, 4H |
04F6 | q(D127754C): BLEQ MT [trap=4, pos=10101] |
04F7 | r(81E00018): LDR R1, SP, 18H |
04F8 | r(82E00008): LDR R2, SP, 8H |
04F9 | r(01190002): SUB R1, R1, R2 |
04FA | s(40080020): ADD R0, R0, 20H |
04FB | s(82000000): LDR R2, R0, 0H |
04FC | s(02280001): ADD R2, R2, R1 |
04FD | s(A2000000): STR R2, R0, 0H |
04FE | t(80E00004): LDR R0, SP, 4H |
04FF | t(D127874C): BLEQ MT [trap=4, pos=10119] |
0500 | u(81E0001C): LDR R1, SP, 1CH |
0501 | u(82E0000C): LDR R2, SP, CH |
0502 | u(01190002): SUB R1, R1, R2 |
0503 | v(40080024): ADD R0, R0, 24H |
0504 | v(82000000): LDR R2, R0, 0H |
0505 | v(02280001): ADD R2, R2, R1 |
0506 | v(A2000000): STR R2, R0, 0H |
0507 | w(80E00004): LDR R0, SP, 4H |
| ENDx |
0508 | x(F7FFFB30): BL -1232 [0039H] |
| ELSIF k0y = {0} THENz (*right key: select*) |
0509 | y(E700005F): B 95 [0569H] |
050A | z(80E00010): LDR R0, SP, 10H |
050B | z(40090001): SUB R0, R0, 1H |
050C | z(E900005C): BNE 92 [0569H] |
| newcap := NIL;a |
050D | a(40000000): MOV R0, R0, 0H |
050E | a .FIXUP D |
050E | a(8D0000D2): LDR SB, MT, MOD0 [GraphicFrames] |
050F | a(A0D00100): STR R0, SB, 100H [data] |
| IF k1 = {0} THENb Deselect(F)c ENDd ; |
0510 | b(80E00038): LDR R0, SP, 38H |
0511 | b(40090001): SUB R0, R0, 1H |
0512 | b(E9000002): BNE 2 [0515H] |
0513 | c(80E00004): LDR R0, SP, 4H |
0514 | d(F7FFFD06): BL -762 [021BH] |
| IF (ABS(x0-x1)e <f 7)g & (hABS(y0-y1)i <j 7)k THENl |
0515 | e(80E00008): LDR R0, SP, 8H |
0516 | e(81E00018): LDR R1, SP, 18H |
0517 | e(00090001): SUB R0, R0, R1 |
0518 | f(40090000): SUB R0, R0, 0H |
0519 | f(ED000002): BGE 2 [051CH] |
051A | f(41000000): MOV R1, R0, 0H |
051B | f(00190000): SUB R0, R1, R0 |
051C | g(40090007): SUB R0, R0, 7H |
051D | h(ED00001F): BGE 31 [053DH] |
051E | i(80E0000C): LDR R0, SP, CH |
051F | i(81E0001C): LDR R1, SP, 1CH |
0520 | i(00090001): SUB R0, R0, R1 |
0521 | j(40090000): SUB R0, R0, 0H |
0522 | j(ED000002): BGE 2 [0525H] |
0523 | j(41000000): MOV R1, R0, 0H |
0524 | j(00190000): SUB R0, R1, R0 |
0525 | k(40090007): SUB R0, R0, 7H |
0526 | l(ED000016): BGE 22 [053DH] |
| obj := Graphics.ThisObj(G,m x1 - F.xn,o y1 - F.yp)q;r |
0527 | m(80E00050): LDR R0, SP, 50H |
0528 | n(81E00004): LDR R1, SP, 4H |
0529 | n(D1286F4C): BLEQ MT [trap=4, pos=10351] |
052A | o(82E00018): LDR R2, SP, 18H |
052B | o(81100030): LDR R1, R1, 30H |
052C | o(01290001): SUB R1, R2, R1 |
052D | p(82E00004): LDR R2, SP, 4H |
052E | p(D128794C): BLEQ MT [trap=4, pos=10361] |
052F | q(83E0001C): LDR R3, SP, 1CH |
0530 | q(82200034): LDR R2, R2, 34H |
0531 | q(02390002): SUB R2, R3, R2 |
0532 | r .FIXUP P |
0532 | r(F7717047): BL MOD7 [Graphics] PROC23 |
0533 | r(A0E00014): STR R0, SP, 14H |
| IF obj # NIL THENs Graphics.SelectObj(G,t obj)u;v DrawObj(F,w obj)x ENDy |
0534 | s(80E00014): LDR R0, SP, 14H |
0535 | s(E1000006): BEQ 6 [053CH] |
0536 | t(80E00050): LDR R0, SP, 50H |
0537 | u(81E00014): LDR R1, SP, 14H |
0538 | v .FIXUP P |
0538 | v(F7718006): BL MOD7 [Graphics] PROC24 |
0539 | w(80E00004): LDR R0, SP, 4H |
053A | x(81E00014): LDR R1, SP, 14H |
053B | y(F7FFFC60): BL -928 [019CH] |
| ELSE |
| IFz x1 < x0 THENa t := x0;b x0 := x1;c x1 := t ENDd ; |
053C | z(E700002C): B 44 [0569H] |
053D | a(80E00018): LDR R0, SP, 18H |
053E | a(81E00008): LDR R1, SP, 8H |
053F | a(00090001): SUB R0, R0, R1 |
0540 | a(ED000006): BGE 6 [0547H] |
0541 | b(80E00008): LDR R0, SP, 8H |
0542 | b(A0E00028): STR R0, SP, 28H |
0543 | c(80E00018): LDR R0, SP, 18H |
0544 | c(A0E00008): STR R0, SP, 8H |
0545 | d(80E00028): LDR R0, SP, 28H |
0546 | d(A0E00018): STR R0, SP, 18H |
| IF y1 < y0 THENe t := y0;f y0 := y1;g y1 := t ENDh ; |
0547 | e(80E0001C): LDR R0, SP, 1CH |
0548 | e(81E0000C): LDR R1, SP, CH |
0549 | e(00090001): SUB R0, R0, R1 |
054A | e(ED000006): BGE 6 [0551H] |
054B | f(80E0000C): LDR R0, SP, CH |
054C | f(A0E00028): STR R0, SP, 28H |
054D | g(80E0001C): LDR R0, SP, 1CH |
054E | g(A0E0000C): STR R0, SP, CH |
054F | h(80E00028): LDR R0, SP, 28H |
0550 | h(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 |
0551 | i(80E00050): LDR R0, SP, 50H |
0552 | j(81E00004): LDR R1, SP, 4H |
0553 | j(D1296A4C): BLEQ MT [trap=4, pos=10602] |
0554 | k(82E00008): LDR R2, SP, 8H |
0555 | k(81100030): LDR R1, R1, 30H |
0556 | k(01290001): SUB R1, R2, R1 |
0557 | l(82E00004): LDR R2, SP, 4H |
0558 | l(D129744C): BLEQ MT [trap=4, pos=10612] |
0559 | m(83E0000C): LDR R3, SP, CH |
055A | m(82200034): LDR R2, R2, 34H |
055B | m(02390002): SUB R2, R3, R2 |
055C | n(83E00004): LDR R3, SP, 4H |
055D | n(D1297E4C): BLEQ MT [trap=4, pos=10622] |
055E | o(84E00018): LDR R4, SP, 18H |
055F | o(83300030): LDR R3, R3, 30H |
0560 | o(03490003): SUB R3, R4, R3 |
0561 | p(84E00004): LDR R4, SP, 4H |
0562 | p(D129884C): BLEQ MT [trap=4, pos=10632] |
0563 | q(85E0001C): LDR R5, SP, 1CH |
0564 | q(84400034): LDR R4, R4, 34H |
0565 | q(04590004): SUB R4, R5, R4 |
0566 | r .FIXUP P |
0566 | r(F771902E): BL MOD7 [Graphics] PROC25 |
0567 | s(80E00004): LDR R0, SP, 4H |
| ENDt |
0568 | t(F7FFFC00): BL -1024 [0169H] |
| END |
| ENDu Edit; |
0569 | u(8FE00000): LDR LNK, SP, 0H |
056A | u(4EE80054): ADD SP, SP, 54H |
056B | u(C700000F): B LNK |
| |
| PROCEDURE NewCaption(F: Frame; col: INTEGER; font: Fonts.Font); |
| BEGINv Texts.Write(W,w 0DX)x;y |
056C | v(4EE90010): SUB SP, SP, 10H |
056D | v(AFE00000): STR LNK, SP, 0H |
056E | v(A0E00004): STR R0, SP, 4H |
056F | v(A1E00008): STR R1, SP, 8H |
0570 | v(A2E0000C): STR R2, SP, CH |
0571 | w .FIXUP D |
0571 | w(8D000063): LDR SB, MT, MOD0 [GraphicFrames] |
0572 | w(40D80114): ADD R0, SB, 114H [data] |
0573 | w .FIXUP D |
0573 | w(8D500002): LDR SB, MT, MOD5 [Texts] |
0574 | w(41D80005): ADD R1, SB, VAR5 |
0575 | x(4200000D): MOV R2, R0, DH |
0576 | y .FIXUP P |
0576 | y(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 |
0577 | z .FIXUP D |
0577 | z(8D000004): LDR SB, MT, MOD0 [GraphicFrames] |
0578 | z(40D80100): ADD R0, SB, 100H [data] |
0579 | z .FIXUP D |
0579 | z(8D700002): LDR SB, MT, MOD7 [Graphics] |
057A | z(41D8000D): ADD R1, SB, VAR13 |
057B | z(D72A210C): BL MT [trap=0, pos=10785] |
057C | a .FIXUP D |
057C | a(8D000003): LDR SB, MT, MOD0 [GraphicFrames] |
057D | a(80D00100): LDR R0, SB, 100H [data] |
057E | a(D12A2A4C): BLEQ MT [trap=4, pos=10794] |
057F | b(81E00004): LDR R1, SP, 4H |
0580 | b(D12A344C): BLEQ MT [trap=4, pos=10804] |
0581 | c(82E00004): LDR R2, SP, 4H |
0582 | c(D12A3C4C): BLEQ MT [trap=4, pos=10812] |
0583 | d(81100040): LDR R1, R1, 40H |
0584 | d(82200030): LDR R2, R2, 30H |
0585 | d(01190002): SUB R1, R1, R2 |
0586 | d(A1000000): STR R1, R0, 0H |
0587 | e(80D00100): LDR R0, SB, 100H |
0588 | e(D12A464C): BLEQ MT [trap=4, pos=10822] |
0589 | f(81E00004): LDR R1, SP, 4H |
058A | f(D12A504C): BLEQ MT [trap=4, pos=10832] |
058B | g(82E00004): LDR R2, SP, 4H |
058C | g(D12A584C): BLEQ MT [trap=4, pos=10840] |
058D | h(81100044): LDR R1, R1, 44H |
058E | h(82200034): LDR R2, R2, 34H |
058F | h(01190002): SUB R1, R1, R2 |
0590 | i(82E0000C): LDR R2, SP, CH |
0591 | i(D12A644C): BLEQ MT [trap=4, pos=10852] |
0592 | j(8220002C): LDR R2, R2, 2CH |
0593 | j(01180002): ADD R1, R1, R2 |
0594 | j(A1000004): STR R1, R0, 4H |
| newcap.wk := 0;l newcap.hm := font.heightn;o newcap.colp := col;q |
0595 | k(80D00100): LDR R0, SB, 100H |
0596 | k(D12A724C): BLEQ MT [trap=4, pos=10866] |
0597 | l(41000000): MOV R1, R0, 0H |
0598 | l(A1000008): STR R1, R0, 8H |
0599 | m(80D00100): LDR R0, SB, 100H |
059A | m(D12A814C): BLEQ MT [trap=4, pos=10881] |
059B | n(81E0000C): LDR R1, SP, CH |
059C | n(D12A904C): BLEQ MT [trap=4, pos=10896] |
059D | o(81100020): LDR R1, R1, 20H |
059E | o(A100000C): STR R1, R0, CH |
059F | p(80D00100): LDR R0, SB, 100H |
05A0 | p(D12A9C4C): BLEQ MT [trap=4, pos=10908] |
05A1 | q(81E00008): LDR R1, SP, 8H |
05A2 | q(B1000010): STR R1, R0, 10H |
| newcap.posr := Graphics.T.lens + 1;t newcap.lenu := 0;v newcap.dow := Graphics.CapMethod;x |
05A3 | r(80D00100): LDR R0, SB, 100H |
05A4 | r(D12AB34C): BLEQ MT [trap=4, pos=10931] |
05A5 | s .FIXUP D |
05A5 | s(8D700029): LDR SB, MT, MOD7 [Graphics] |
05A6 | s(81D00011): LDR R1, SB, VAR17 |
05A7 | s(D12AC54C): BLEQ MT [trap=4, pos=10949] |
05A8 | t(81100000): LDR R1, R1, 0H |
05A9 | t(41180001): ADD R1, R1, 1H |
05AA | t(A100001C): STR R1, R0, 1CH |
05AB | u .FIXUP D |
05AB | u(8D000006): LDR SB, MT, MOD0 [GraphicFrames] |
05AC | u(80D00100): LDR R0, SB, 100H [data] |
05AD | u(D12AD54C): BLEQ MT [trap=4, pos=10965] |
05AE | v(41000000): MOV R1, R0, 0H |
05AF | v(A1000020): STR R1, R0, 20H |
05B0 | w(80D00100): LDR R0, SB, 100H |
05B1 | w(D12AE54C): BLEQ MT [trap=4, pos=10981] |
05B2 | x .FIXUP D |
05B2 | x(8D700007): LDR SB, MT, MOD7 [Graphics] |
05B3 | x(81D00013): LDR R1, SB, VAR19 |
05B4 | x(A1000014): STR R1, R0, 14H |
| Graphics.Add(F.graphy,z newcap)a;b W.fnt := font;c ; Mark(F,d 1)e |
05B5 | y(80E00004): LDR R0, SP, 4H |
05B6 | y(D12B154C): BLEQ MT [trap=4, pos=11029] |
05B7 | z(8000001C): LDR R0, R0, 1CH |
05B8 | a .FIXUP D |
05B8 | a(8D000006): LDR SB, MT, MOD0 [GraphicFrames] |
05B9 | a(81D00100): LDR R1, SB, 100H [data] |
05BA | b .FIXUP P |
05BA | b(F7716044): BL MOD7 [Graphics] PROC22 |
05BB | c(80E0000C): LDR R0, SP, CH |
05BC | c .FIXUP D |
05BC | c(8D000004): LDR SB, MT, MOD0 [GraphicFrames] |
05BD | c(A0D00118): STR R0, SB, 118H [data] |
05BE | d(80E00004): LDR R0, SP, 4H |
05BF | e(41000001): MOV R1, R0, 1H |
| ENDf NewCaption; |
05C0 | f(F7FFFB95): BL -1131 [0156H] |
05C1 | f(8FE00000): LDR LNK, SP, 0H |
05C2 | f(4EE80010): ADD SP, SP, 10H |
05C3 | f(C700000F): B LNK |
| |
| PROCEDURE InsertChar(F: Frame; ch: CHAR); |
| VAR w1, h1: INTEGER; DM: DispMsg; |
| BEGINg DM.graph := F.graphh;i |
05C4 | g(4EE90028): SUB SP, SP, 28H |
05C5 | g(AFE00000): STR LNK, SP, 0H |
05C6 | g(A0E00004): STR R0, SP, 4H |
05C7 | g(A1E00008): STR R1, SP, 8H |
05C8 | h(80E00004): LDR R0, SP, 4H |
05C9 | h(D12BBC4C): BLEQ MT [trap=4, pos=11196] |
05CA | i(8000001C): LDR R0, R0, 1CH |
05CB | i(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 |
05CC | j .FIXUP D |
05CC | j(8D000010): LDR SB, MT, MOD0 [GraphicFrames] |
05CD | j(80D00118): LDR R0, SB, 118H [data] |
05CE | k(91E00008): LDR R1, SP, 8H |
05CF | l(42E8001C): ADD R2, SP, 1CH |
05D0 | m(43E80014): ADD R3, SP, 14H |
05D1 | n(44E80018): ADD R4, SP, 18H |
05D2 | o(45E8000C): ADD R5, SP, CH |
05D3 | p(46E80010): ADD R6, SP, 10H |
05D4 | q(47E80020): ADD R7, SP, 20H |
05D5 | r .FIXUP P |
05D5 | r(F740401B): BL MOD4 [Fonts] PROC4 |
05D6 | s .FIXUP D |
05D6 | s(8D00000A): LDR SB, MT, MOD0 [GraphicFrames] |
05D7 | s(80D00118): LDR R0, SB, 118H [data] |
05D8 | s(D12C144C): BLEQ MT [trap=4, pos=11284] |
05D9 | t(81E00018): LDR R1, SP, 18H |
05DA | t(8000002C): LDR R0, R0, 2CH |
05DB | t(01190000): SUB R1, R1, R0 |
05DC | t(A1E00018): STR R1, SP, 18H |
| IF newcap.xu + newcap.wv +w DM.w +x F.xy <z F.X1a THENb |
05DD | u(80D00100): LDR R0, SB, 100H |
05DE | u(D12C264C): BLEQ MT [trap=4, pos=11302] |
05DF | v(81D00100): LDR R1, SB, 100H |
05E0 | v(D12C314C): BLEQ MT [trap=4, pos=11313] |
05E1 | w(80000000): LDR R0, R0, 0H |
05E2 | w(81100008): LDR R1, R1, 8H |
05E3 | w(00080001): ADD R0, R0, R1 |
05E4 | x(81E0001C): LDR R1, SP, 1CH |
05E5 | x(00080001): ADD R0, R0, R1 |
05E6 | y(81E00004): LDR R1, SP, 4H |
05E7 | y(D12C3E4C): BLEQ MT [trap=4, pos=11326] |
05E8 | z(81100030): LDR R1, R1, 30H |
05E9 | z(00080001): ADD R0, R0, R1 |
05EA | a(81E00004): LDR R1, SP, 4H |
05EB | a(D12C454C): BLEQ MT [trap=4, pos=11333] |
05EC | b(81100028): LDR R1, R1, 28H |
05ED | b(00090001): SUB R0, R0, R1 |
05EE | b(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 |
05EF | c(40E80014): ADD R0, SP, 14H |
05F0 | c .FIXUP D |
05F0 | c(8D00001A): LDR SB, MT, MOD0 [GraphicFrames] |
05F1 | c(41D800D4): ADD R1, SB, D4H [data] |
05F2 | d .FIXUP P |
05F2 | d(F720F01D): BL MOD2 [Viewers] PROC15 |
05F3 | e .FIXUP D |
05F3 | e(8D000003): LDR SB, MT, MOD0 [GraphicFrames] |
05F4 | e(80D00100): LDR R0, SB, 100H [data] |
05F5 | e(D12C744C): BLEQ MT [trap=4, pos=11380] |
05F6 | f(40080008): ADD R0, R0, 8H |
05F7 | f(81000000): LDR R1, R0, 0H |
05F8 | f(82E0001C): LDR R2, SP, 1CH |
05F9 | f(01180002): ADD R1, R1, R2 |
05FA | f(A1000000): STR R1, R0, 0H |
05FB | g(80D00100): LDR R0, SB, 100H |
05FC | g(D12C8B4C): BLEQ MT [trap=4, pos=11403] |
05FD | h(40080020): ADD R0, R0, 20H |
05FE | h(81000000): LDR R1, R0, 0H |
05FF | h(41180001): ADD R1, R1, 1H |
0600 | h(A1000000): STR R1, R0, 0H |
0601 | i(40D80114): ADD R0, SB, 114H |
0602 | i .FIXUP D |
0602 | i(8D50000F): LDR SB, MT, MOD5 [Texts] |
0603 | i(41D80005): ADD R1, SB, VAR5 |
0604 | j(92E00008): LDR R2, SP, 8H |
| ENDk ; |
0605 | k .FIXUP P |
0605 | k(F751B013): BL MOD5 [Texts] PROC27 |
| Texts.Append(Graphics.T,l W.buf)m |
0606 | l .FIXUP D |
0606 | l(8D700004): LDR SB, MT, MOD7 [Graphics] |
0607 | l(80D00011): LDR R0, SB, VAR17 |
0608 | m .FIXUP D |
0608 | m(8D000002): LDR SB, MT, MOD0 [GraphicFrames] |
0609 | m(81D00114): LDR R1, SB, 114H [data] |
| ENDn InsertChar; |
060A | n .FIXUP P |
060A | n(F750E005): BL MOD5 [Texts] PROC14 |
060B | n(8FE00000): LDR LNK, SP, 0H |
060C | n(4EE80028): ADD SP, SP, 28H |
060D | n(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 |
060E | o(4EE90060): SUB SP, SP, 60H |
060F | o(AFE00000): STR LNK, SP, 0H |
0610 | o(A0E00004): STR R0, SP, 4H |
0611 | p(80E00004): LDR R0, SP, 4H |
0612 | p(D12D744C): BLEQ MT [trap=4, pos=11636] |
0613 | q(8000001C): LDR R0, R0, 1CH |
0614 | q(A0E00028): STR R0, SP, 28H |
| IF newcap.lenr > 0 THENs |
0615 | r .FIXUP D |
0615 | r(8D00000D): LDR SB, MT, MOD0 [GraphicFrames] |
0616 | r(80D00100): LDR R0, SB, 100H [data] |
0617 | r(D12D874C): BLEQ MT [trap=4, pos=11655] |
0618 | s(80000020): LDR R0, R0, 20H |
0619 | s(40090000): SUB R0, R0, 0H |
061A | s(E600003D): BLE 61 [0658H] |
| pos := Graphics.T.lent;u Texts.OpenReader(R,v Graphics.T,w pos-1)x;y (*backspace*) |
061B | t .FIXUP D |
061B | t(8D700006): LDR SB, MT, MOD7 [Graphics] |
061C | t(80D00011): LDR R0, SB, VAR17 |
061D | t(D12DAC4C): BLEQ MT [trap=4, pos=11692] |
061E | u(80000000): LDR R0, R0, 0H |
061F | u(A0E00014): STR R0, SP, 14H |
0620 | v(40E8002C): ADD R0, SP, 2CH |
0621 | v .FIXUP D |
0621 | v(8D500006): LDR SB, MT, MOD5 [Texts] |
0622 | v(41D80002): ADD R1, SB, VAR2 |
0623 | w .FIXUP D |
0623 | w(8D700002): LDR SB, MT, MOD7 [Graphics] |
0624 | w(82D00011): LDR R2, SB, VAR17 |
0625 | x(83E00014): LDR R3, SP, 14H |
0626 | x(43390001): SUB R3, R3, 1H |
0627 | y .FIXUP P |
0627 | y(F751201D): BL MOD5 [Texts] PROC18 |
| Texts.Read(R,z ch)a;b |
0628 | z(40E8002C): ADD R0, SP, 2CH |
0629 | z .FIXUP D |
0629 | z(8D500006): LDR SB, MT, MOD5 [Texts] |
062A | z(41D80002): ADD R1, SB, VAR2 |
062B | a(42E80010): ADD R2, SP, 10H |
062C | b .FIXUP P |
062C | b(F7513005): BL MOD5 [Texts] PROC19 |
| IF ch >= " " THENc |
062D | c(90E00010): LDR R0, SP, 10H |
062E | c(40090020): SUB R0, R0, 20H |
062F | c(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 |
0630 | d(80E00030): LDR R0, SP, 30H |
0631 | e(91E00010): LDR R1, SP, 10H |
0632 | f(42E80020): ADD R2, SP, 20H |
0633 | g(43E80018): ADD R3, SP, 18H |
0634 | h(44E8001C): ADD R4, SP, 1CH |
0635 | i(45E80008): ADD R5, SP, 8H |
0636 | j(46E8000C): ADD R6, SP, CH |
0637 | k(47E80024): ADD R7, SP, 24H |
0638 | l .FIXUP P |
0638 | l(F740400C): BL MOD4 [Fonts] PROC4 |
| DEC(newcap.wm, DM.w);n DEC(newcap.leno);p DEC(DM.y1, R.fnt.minYq);r |
0639 | m .FIXUP D |
0639 | m(8D000010): LDR SB, MT, MOD0 [GraphicFrames] |
063A | m(80D00100): LDR R0, SB, 100H [data] |
063B | m(D12E6F4C): BLEQ MT [trap=4, pos=11887] |
063C | n(40080008): ADD R0, R0, 8H |
063D | n(81000000): LDR R1, R0, 0H |
063E | n(82E00020): LDR R2, SP, 20H |
063F | n(01190002): SUB R1, R1, R2 |
0640 | n(A1000000): STR R1, R0, 0H |
0641 | o(80D00100): LDR R0, SB, 100H |
0642 | o(D12E864C): BLEQ MT [trap=4, pos=11910] |
0643 | p(40080020): ADD R0, R0, 20H |
0644 | p(81000000): LDR R1, R0, 0H |
0645 | p(41190001): SUB R1, R1, 1H |
0646 | p(A1000000): STR R1, R0, 0H |
0647 | q(80E00030): LDR R0, SP, 30H |
0648 | q(D12E9E4C): BLEQ MT [trap=4, pos=11934] |
0649 | r(81E0001C): LDR R1, SP, 1CH |
064A | r(8000002C): LDR R0, R0, 2CH |
064B | r(01190000): SUB R1, R1, R0 |
064C | r(A1E0001C): STR R1, SP, 1CH |
| Viewers.Broadcast(DM)s;t Texts.Delete(Graphics.T,u pos-1,v pos,w TBuf)x |
064D | s(40E80018): ADD R0, SP, 18H |
064E | s(41D800D4): ADD R1, SB, D4H |
064F | t .FIXUP P |
064F | t(F720F017): BL MOD2 [Viewers] PROC15 |
0650 | u .FIXUP D |
0650 | u(8D700017): LDR SB, MT, MOD7 [Graphics] |
0651 | u(80D00011): LDR R0, SB, VAR17 |
0652 | v(81E00014): LDR R1, SP, 14H |
0653 | v(41190001): SUB R1, R1, 1H |
0654 | w(82E00014): LDR R2, SP, 14H |
0655 | x .FIXUP D |
0655 | x(8D000005): LDR SB, MT, MOD0 [GraphicFrames] |
0656 | x(83D00104): LDR R3, SB, 104H [data] |
| ENDy |
0657 | y .FIXUP P |
0657 | y(F750F008): BL MOD5 [Texts] PROC15 |
| END |
| ENDz DeleteChar; |
0658 | z(8FE00000): LDR LNK, SP, 0H |
0659 | z(4EE80060): ADD SP, SP, 60H |
065A | z(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 |
065B | a(4EE9001C): SUB SP, SP, 1CH |
065C | a(AFE00000): STR LNK, SP, 0H |
065D | a(A0E00004): STR R0, SP, 4H |
065E | a(A1E00008): STR R1, SP, 8H |
065F | a(A2E0000C): STR R2, SP, CH |
0660 | a(A3E00010): STR R3, SP, 10H |
0661 | a(A4E00014): STR R4, SP, 14H |
0662 | b(80E00004): LDR R0, SP, 4H |
0663 | b(D12F9B4C): BLEQ MT [trap=4, pos=12187] |
0664 | c(8000001C): LDR R0, R0, 1CH |
0665 | c(D12F9F4C): BLEQ MT [trap=4, pos=12191] |
0666 | d(80000004): LDR R0, R0, 4H |
0667 | d(A0E00018): STR R0, SP, 18H |
| IF (obj # NIL)e & (fF.graphg.timeh >= time)i THENj |
0668 | e(80E00018): LDR R0, SP, 18H |
0669 | f(E100002A): BEQ 42 [0694H] |
066A | g(80E00004): LDR R0, SP, 4H |
066B | g(D12FBE4C): BLEQ MT [trap=4, pos=12222] |
066C | h(8000001C): LDR R0, R0, 1CH |
066D | h(D12FC34C): BLEQ MT [trap=4, pos=12227] |
066E | i(80000000): LDR R0, R0, 0H |
066F | i(81E00014): LDR R1, SP, 14H |
0670 | i(81100000): LDR R1, R1, 0H |
0671 | i(00090001): SUB R0, R0, R1 |
0672 | j(E5000021): BLT 33 [0694H] |
| CASE obj OF Graphics.Caption:k |
0673 | k(80E00018): LDR R0, SP, 18H |
0674 | k(E1000005): BEQ 5 [067AH] |
0675 | k(810FFFF8): LDR R1, R0, FFFFFFF8H |
0676 | k(81100004): LDR R1, R1, 4H |
0677 | k .FIXUP D |
0677 | k(8D700022): LDR SB, MT, MOD7 [Graphics] |
0678 | k(42D8000D): ADD R2, SB, VAR13 |
0679 | k(02290001): SUB R2, R2, R1 |
067A | k(E9000019): BNE 25 [0694H] |
| beg := obj.posl;m end := obj.posn + obj.leno;p text := Graphics.T;q time := F.graphr.times |
067B | l(80E00018): LDR R0, SP, 18H |
067C | l(D1300C4C): BLEQ MT [trap=4, pos=12300] |
067D | m(8000001C): LDR R0, R0, 1CH |
067E | m(81E0000C): LDR R1, SP, CH |
067F | m(A0100000): STR R0, R1, 0H |
0680 | n(80E00018): LDR R0, SP, 18H |
0681 | n(D1301C4C): BLEQ MT [trap=4, pos=12316] |
0682 | o(81E00018): LDR R1, SP, 18H |
0683 | o(D130264C): BLEQ MT [trap=4, pos=12326] |
0684 | p(8000001C): LDR R0, R0, 1CH |
0685 | p(81100020): LDR R1, R1, 20H |
0686 | p(00080001): ADD R0, R0, R1 |
0687 | p(81E00010): LDR R1, SP, 10H |
0688 | p(A0100000): STR R0, R1, 0H |
0689 | q .FIXUP D |
0689 | q(8D700012): LDR SB, MT, MOD7 [Graphics] |
068A | q(80D00011): LDR R0, SB, VAR17 |
068B | q(81E00008): LDR R1, SP, 8H |
068C | q(A0100000): STR R0, R1, 0H |
068D | r(80E00004): LDR R0, SP, 4H |
068E | r(D1304B4C): BLEQ MT [trap=4, pos=12363] |
068F | s(8000001C): LDR R0, R0, 1CH |
0690 | s(D130504C): BLEQ MT [trap=4, pos=12368] |
| ENDt |
0691 | t(80000000): LDR R0, R0, 0H |
0692 | t(81E00014): LDR R1, SP, 14H |
0693 | t(A0100000): STR R0, R1, 0H |
| END |
| ENDu GetSelection; |
0694 | u(8FE00000): LDR LNK, SP, 0H |
0695 | u(4EE8001C): ADD SP, SP, 1CH |
0696 | u(C700000F): B LNK |
| |
| PROCEDURE Handle*(G: Display.Frame; VAR M: Display.FrameMsg); |
| VAR x, y, h: INTEGER; |
| DM: DispMsg; dM: DrawMsg; |
| G1: Frame; |
| BEGINv |
0697 | v .PROC 20 |
0697 | v(4EE90048): SUB SP, SP, 48H |
0698 | v(AFE00000): STR LNK, SP, 0H |
0699 | v(A0E00004): STR R0, SP, 4H |
069A | v(A1E00008): STR R1, SP, 8H |
069B | v(A2E0000C): STR R2, SP, CH |
| CASE G OF Frame:w |
069C | w(80E00004): LDR R0, SP, 4H |
069D | w(E1000005): BEQ 5 [06A3H] |
069E | w(810FFFF8): LDR R1, R0, FFFFFFF8H |
069F | w(81100004): LDR R1, R1, 4H |
06A0 | w .FIXUP D |
06A0 | w(8D000017): LDR SB, MT, MOD0 [GraphicFrames] |
06A1 | w(42D80018): ADD R2, SB, 18H [data] |
06A2 | w(02290001): SUB R2, R2, R1 |
06A3 | w(E9000231): BNE 561 [08D5H] |
| CASE M OF |
| Oberon.InputMsg:x |
06A4 | x(80E0000C): LDR R0, SP, CH |
06A5 | x(80000004): LDR R0, R0, 4H |
06A6 | x .FIXUP D |
06A6 | x(8D900006): LDR SB, MT, MOD9 [Oberon] |
06A7 | x(41D80003): ADD R1, SB, VAR3 |
06A8 | x(01190000): SUB R1, R1, R0 |
06A9 | x(E9000070): BNE 112 [071AH] |
| IF M.id = Oberon.track THENy |
06AA | y(80E00008): LDR R0, SP, 8H |
06AB | y(80000000): LDR R0, R0, 0H |
06AC | y(40090001): SUB R0, R0, 1H |
06AD | y(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 |
06AE | z(80E00004): LDR R0, SP, 4H |
06AF | z(D1318A4C): BLEQ MT [trap=4, pos=12682] |
06B0 | a(81E00008): LDR R1, SP, 8H |
06B1 | a(81100008): LDR R1, R1, 8H |
06B2 | a(80000030): LDR R0, R0, 30H |
06B3 | a(00190000): SUB R0, R1, R0 |
06B4 | b(40040003): AND R0, R0, 3H |
06B5 | b(81E00008): LDR R1, SP, 8H |
06B6 | b(81100008): LDR R1, R1, 8H |
06B7 | b(00190000): SUB R0, R1, R0 |
06B8 | b(A0E00010): STR R0, SP, 10H |
06B9 | c(80E00004): LDR R0, SP, 4H |
06BA | c(D131A84C): BLEQ MT [trap=4, pos=12712] |
06BB | d(81E00008): LDR R1, SP, 8H |
06BC | d(8110000C): LDR R1, R1, CH |
06BD | d(80000034): LDR R0, R0, 34H |
06BE | d(00190000): SUB R0, R1, R0 |
06BF | e(40040003): AND R0, R0, 3H |
06C0 | e(81E00008): LDR R1, SP, 8H |
06C1 | e(8110000C): LDR R1, R1, CH |
06C2 | e(00190000): SUB R0, R1, R0 |
06C3 | e(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 |
06C4 | f(80E00008): LDR R0, SP, 8H |
06C5 | f(80000004): LDR R0, R0, 4H |
06C6 | f(E1000007): BEQ 7 [06CEH] |
06C7 | g(80E00004): LDR R0, SP, 4H |
06C8 | h(81E00010): LDR R1, SP, 10H |
06C9 | i(82E00014): LDR R2, SP, 14H |
06CA | j(83E00008): LDR R3, SP, 8H |
06CB | j(83300004): LDR R3, R3, 4H |
06CC | k(F7FFFCA0): BL -864 [036DH] |
06CD | l(E7000007): B 7 [06D5H] |
06CE | m .FIXUP D |
06CE | m(8D000028): LDR SB, MT, MOD0 [GraphicFrames] |
06CF | m(40D800EC): ADD R0, SB, ECH [data] |
06D0 | m .FIXUP D |
06D0 | m(8D900002): LDR SB, MT, MOD9 [Oberon] |
06D1 | m(41D80001): ADD R1, SB, VAR1 |
06D2 | n(82E00010): LDR R2, SP, 10H |
06D3 | o(83E00014): LDR R3, SP, 14H |
06D4 | p .FIXUP P |
06D4 | p(F791707D): BL MOD9 [Oberon] PROC23 |
| ELSIF Mq.id = Oberon.consume THENr |
06D5 | q(E7000043): B 67 [0719H] |
06D6 | r(80E00008): LDR R0, SP, 8H |
06D7 | r(80000000): LDR R0, R0, 0H |
06D8 | r(E9000040): BNE 64 [0719H] |
| IF M.ch = 7FX THENs (*DEL*) |
06D9 | s(80E00008): LDR R0, SP, 8H |
06DA | s(90000010): LDR R0, R0, 10H |
06DB | s(4009007F): SUB R0, R0, 7FH |
06DC | s(E900000A): BNE 10 [06E7H] |
| Erase(G)t;u Graphics.Delete(G.graphv)w;x Mark(G,y 1)z |
06DD | t(80E00004): LDR R0, SP, 4H |
06DE | u(F7FFFAAA): BL -1366 [0189H] |
06DF | v(80E00004): LDR R0, SP, 4H |
06E0 | v(D1328B4C): BLEQ MT [trap=4, pos=12939] |
06E1 | w(8000001C): LDR R0, R0, 1CH |
06E2 | x .FIXUP P |
06E2 | x(F772100E): BL MOD7 [Graphics] PROC33 |
06E3 | y(80E00004): LDR R0, SP, 4H |
06E4 | z(41000001): MOV R1, R0, 1H |
| ELSIFa (bM.ch >= 20X)c & (dM.ch < 7FX)e THENf |
06E5 | a(F7FFFA70): BL -1424 [0156H] |
06E6 | b(E7000032): B 50 [0719H] |
06E7 | c(80E00008): LDR R0, SP, 8H |
06E8 | c(90000010): LDR R0, R0, 10H |
06E9 | c(40090020): SUB R0, R0, 20H |
06EA | d(E5000022): BLT 34 [070DH] |
06EB | e(80E00008): LDR R0, SP, 8H |
06EC | e(90000010): LDR R0, R0, 10H |
06ED | e(4009007F): SUB R0, R0, 7FH |
06EE | f(ED00001E): BGE 30 [070DH] |
| IF newcap # NIL THENg InsertChar(G,h M.ch)i;j Mark(G,k 1)l |
06EF | g .FIXUP D |
06EF | g(8D00001F): LDR SB, MT, MOD0 [GraphicFrames] |
06F0 | g(80D00100): LDR R0, SB, 100H [data] |
06F1 | g(E1000008): BEQ 8 [06FAH] |
06F2 | h(80E00004): LDR R0, SP, 4H |
06F3 | i(81E00008): LDR R1, SP, 8H |
06F4 | i(91100010): LDR R1, R1, 10H |
06F5 | j(F7FFFECE): BL -306 [05C4H] |
06F6 | k(80E00004): LDR R0, SP, 4H |
06F7 | l(41000001): MOV R1, R0, 1H |
| ELSIFm Gn.markedo THENp |
06F8 | m(F7FFFA5D): BL -1443 [0156H] |
06F9 | n(E7000012): B 18 [070CH] |
06FA | o(80E00004): LDR R0, SP, 4H |
06FB | o(D133264C): BLEQ MT [trap=4, pos=13094] |
06FC | p(9000003C): LDR R0, R0, 3CH |
06FD | p(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 |
06FE | q(80E00004): LDR R0, SP, 4H |
06FF | r(F7FFFAED): BL -1299 [01EDH] |
0700 | s(80E00004): LDR R0, SP, 4H |
0701 | t(F7FFFB19): BL -1255 [021BH] |
0702 | u(80E00004): LDR R0, SP, 4H |
0703 | v(81E00008): LDR R1, SP, 8H |
0704 | v(81100018): LDR R1, R1, 18H |
0705 | w(82E00008): LDR R2, SP, 8H |
0706 | w(82200014): LDR R2, R2, 14H |
0707 | x(F7FFFE64): BL -412 [056CH] |
0708 | y(80E00004): LDR R0, SP, 4H |
0709 | z(81E00008): LDR R1, SP, 8H |
070A | z(91100010): LDR R1, R1, 10H |
| ENDa |
070B | a(F7FFFEB8): BL -328 [05C4H] |
| ELSIF (bM.ch = 8X)c & (dnewcap # NIL)e THENf DeleteChar(G)g;h Mark(G,i 1)j |
070C | b(E700000C): B 12 [0719H] |
070D | c(80E00008): LDR R0, SP, 8H |
070E | c(90000010): LDR R0, R0, 10H |
070F | c(40090008): SUB R0, R0, 8H |
0710 | d(E9000008): BNE 8 [0719H] |
0711 | e .FIXUP D |
0711 | e(8D000022): LDR SB, MT, MOD0 [GraphicFrames] |
0712 | e(80D00100): LDR R0, SB, 100H [data] |
0713 | f(E1000005): BEQ 5 [0719H] |
0714 | g(80E00004): LDR R0, SP, 4H |
0715 | h(F7FFFEF8): BL -264 [060EH] |
0716 | i(80E00004): LDR R0, SP, 4H |
0717 | j(41000001): MOV R1, R0, 1H |
| ENDk |
0718 | k(F7FFFA3D): BL -1475 [0156H] |
| END |
| | UpdateMsgl:m |
0719 | l(E70001BB): B 443 [08D5H] |
071A | m(80E0000C): LDR R0, SP, CH |
071B | m(80000004): LDR R0, R0, 4H |
071C | m .FIXUP D |
071C | m(8D00000B): LDR SB, MT, MOD0 [GraphicFrames] |
071D | m(41D80054): ADD R1, SB, 54H [data] |
071E | m(01190000): SUB R1, R1, R0 |
071F | m(E9000085): BNE 133 [07A5H] |
| IF M.graph = G.graphn THENo |
0720 | n(80E00004): LDR R0, SP, 4H |
0721 | n(D1342B4C): BLEQ MT [trap=4, pos=13355] |
0722 | o(81E00008): LDR R1, SP, 8H |
0723 | o(81100004): LDR R1, R1, 4H |
0724 | o(8000001C): LDR R0, R0, 1CH |
0725 | o(01190000): SUB R1, R1, R0 |
0726 | o(E900007D): BNE 125 [07A4H] |
| dM.f := G;p dM.x := G.xq;r dM.y := G.ys;t dM.col := 0;u |
0727 | p(80E00004): LDR R0, SP, 4H |
0728 | p(A0E00030): STR R0, SP, 30H |
0729 | q(80E00004): LDR R0, SP, 4H |
072A | q(D134534C): BLEQ MT [trap=4, pos=13395] |
072B | r(80000030): LDR R0, R0, 30H |
072C | r(A0E00034): STR R0, SP, 34H |
072D | s(80E00004): LDR R0, SP, 4H |
072E | s(D134604C): BLEQ MT [trap=4, pos=13408] |
072F | t(80000034): LDR R0, R0, 34H |
0730 | t(A0E00038): STR R0, SP, 38H |
0731 | u(40000000): MOV R0, R0, 0H |
0732 | u(A0E0003C): STR R0, SP, 3CH |
| IF M.id = drawobj THENv dM.mode := 0;w M.obj.dox.drawy(Mz.obj,a dM)b |
0733 | v(80E00008): LDR R0, SP, 8H |
0734 | v(80000000): LDR R0, R0, 0H |
0735 | v(40090001): SUB R0, R0, 1H |
0736 | v(E9000014): BNE 20 [074BH] |
0737 | w(40000000): MOV R0, R0, 0H |
0738 | w(A0E00040): STR R0, SP, 40H |
0739 | x(80E00008): LDR R0, SP, 8H |
073A | x(80000008): LDR R0, R0, 8H |
073B | x(D134A84C): BLEQ MT [trap=4, pos=13480] |
073C | y(80000014): LDR R0, R0, 14H |
073D | y(D134AD4C): BLEQ MT [trap=4, pos=13485] |
073E | z(80000048): LDR R0, R0, 48H |
073F | z(4EE90004): SUB SP, SP, 4H |
0740 | z(A0E00000): STR R0, SP, 0H |
0741 | a(80E0000C): LDR R0, SP, CH |
0742 | a(80000008): LDR R0, R0, 8H |
0743 | b(41E80034): ADD R1, SP, 34H |
0744 | b .FIXUP D |
0744 | b(8D000028): LDR SB, MT, MOD0 [GraphicFrames] |
0745 | b(42D8003C): ADD R2, SB, 3CH [data] |
| ELSIFc Md.id = drawobjs THENe dM.mode := 1;f M.obj.dog.drawh(Mi.obj,j dM)k |
0746 | c(83E00000): LDR R3, SP, 0H |
0747 | c(4EE80004): ADD SP, SP, 4H |
0748 | c(D134CA5C): BLEQ MT [trap=5, pos=13514] |
0749 | c(D7000003): BL R3 |
074A | d(E7000059): B 89 [07A4H] |
074B | e(80E00008): LDR R0, SP, 8H |
074C | e(80000000): LDR R0, R0, 0H |
074D | e(40090002): SUB R0, R0, 2H |
074E | e(E9000014): BNE 20 [0763H] |
074F | f(40000001): MOV R0, R0, 1H |
0750 | f(A0E00040): STR R0, SP, 40H |
0751 | g(80E00008): LDR R0, SP, 8H |
0752 | g(80000008): LDR R0, R0, 8H |
0753 | g(D134F64C): BLEQ MT [trap=4, pos=13558] |
0754 | h(80000014): LDR R0, R0, 14H |
0755 | h(D134FB4C): BLEQ MT [trap=4, pos=13563] |
0756 | i(80000048): LDR R0, R0, 48H |
0757 | i(4EE90004): SUB SP, SP, 4H |
0758 | i(A0E00000): STR R0, SP, 0H |
0759 | j(80E0000C): LDR R0, SP, CH |
075A | j(80000008): LDR R0, R0, 8H |
075B | k(41E80034): ADD R1, SP, 34H |
075C | k .FIXUP D |
075C | k(8D000018): LDR SB, MT, MOD0 [GraphicFrames] |
075D | k(42D8003C): ADD R2, SB, 3CH [data] |
| ELSIFl Mm.id = drawobjd THENn dM.mode := 3;o M.obj.dop.drawq(Mr.obj,s dM)t |
075E | l(83E00000): LDR R3, SP, 0H |
075F | l(4EE80004): ADD SP, SP, 4H |
0760 | l(D135185C): BLEQ MT [trap=5, pos=13592] |
0761 | l(D7000003): BL R3 |
0762 | m(E7000041): B 65 [07A4H] |
0763 | n(80E00008): LDR R0, SP, 8H |
0764 | n(80000000): LDR R0, R0, 0H |
0765 | n(40090003): SUB R0, R0, 3H |
0766 | n(E9000014): BNE 20 [077BH] |
0767 | o(40000003): MOV R0, R0, 3H |
0768 | o(A0E00040): STR R0, SP, 40H |
0769 | p(80E00008): LDR R0, SP, 8H |
076A | p(80000008): LDR R0, R0, 8H |
076B | p(D135444C): BLEQ MT [trap=4, pos=13636] |
076C | q(80000014): LDR R0, R0, 14H |
076D | q(D135494C): BLEQ MT [trap=4, pos=13641] |
076E | r(80000048): LDR R0, R0, 48H |
076F | r(4EE90004): SUB SP, SP, 4H |
0770 | r(A0E00000): STR R0, SP, 0H |
0771 | s(80E0000C): LDR R0, SP, CH |
0772 | s(80000008): LDR R0, R0, 8H |
0773 | t(41E80034): ADD R1, SP, 34H |
0774 | t .FIXUP D |
0774 | t(8D000018): LDR SB, MT, MOD0 [GraphicFrames] |
0775 | t(42D8003C): ADD R2, SB, 3CH [data] |
| ELSIFu Mv.id = drawsel THENw dM.mode := 0;x Graphics.DrawSel(G.graphy,z dM)a |
0776 | u(83E00000): LDR R3, SP, 0H |
0777 | u(4EE80004): ADD SP, SP, 4H |
0778 | u(D135665C): BLEQ MT [trap=5, pos=13670] |
0779 | u(D7000003): BL R3 |
077A | v(E7000029): B 41 [07A4H] |
077B | w(80E00008): LDR R0, SP, 8H |
077C | w(80000000): LDR R0, R0, 0H |
077D | w(40090005): SUB R0, R0, 5H |
077E | w(E900000A): BNE 10 [0789H] |
077F | x(40000000): MOV R0, R0, 0H |
0780 | x(A0E00040): STR R0, SP, 40H |
0781 | y(80E00004): LDR R0, SP, 4H |
0782 | y(D135A24C): BLEQ MT [trap=4, pos=13730] |
0783 | z(8000001C): LDR R0, R0, 1CH |
0784 | a(41E80030): ADD R1, SP, 30H |
0785 | a .FIXUP D |
0785 | a(8D000011): LDR SB, MT, MOD0 [GraphicFrames] |
0786 | a(42D8003C): ADD R2, SB, 3CH [data] |
| ELSIFb Mc.id = drawnorm THENd dM.mode := 2;e Graphics.DrawSel(G.graphf,g dM)h |
0787 | b .FIXUP P |
0787 | b(F771D0A5): BL MOD7 [Graphics] PROC29 |
0788 | c(E700001B): B 27 [07A4H] |
0789 | d(80E00008): LDR R0, SP, 8H |
078A | d(80000000): LDR R0, R0, 0H |
078B | d(40090004): SUB R0, R0, 4H |
078C | d(E900000A): BNE 10 [0797H] |
078D | e(40000002): MOV R0, R0, 2H |
078E | e(A0E00040): STR R0, SP, 40H |
078F | f(80E00004): LDR R0, SP, 4H |
0790 | f(D135F54C): BLEQ MT [trap=4, pos=13813] |
0791 | g(8000001C): LDR R0, R0, 1CH |
0792 | h(41E80030): ADD R1, SP, 30H |
0793 | h .FIXUP D |
0793 | h(8D00000E): LDR SB, MT, MOD0 [GraphicFrames] |
0794 | h(42D8003C): ADD R2, SB, 3CH [data] |
| ELSIFi Mj.id = drawdel THENk dM.mode := 3;l Graphics.DrawSel(G.graphm,n dM)o |
0795 | i .FIXUP P |
0795 | i(F771D00E): BL MOD7 [Graphics] PROC29 |
0796 | j(E700000D): B 13 [07A4H] |
0797 | k(80E00008): LDR R0, SP, 8H |
0798 | k(80000000): LDR R0, R0, 0H |
0799 | k(40090006): SUB R0, R0, 6H |
079A | k(E9000009): BNE 9 [07A4H] |
079B | l(40000003): MOV R0, R0, 3H |
079C | l(A0E00040): STR R0, SP, 40H |
079D | m(80E00004): LDR R0, SP, 4H |
079E | m(D136474C): BLEQ MT [trap=4, pos=13895] |
079F | n(8000001C): LDR R0, R0, 1CH |
07A0 | o(41E80030): ADD R1, SP, 30H |
07A1 | o .FIXUP D |
07A1 | o(8D00000E): LDR SB, MT, MOD0 [GraphicFrames] |
07A2 | o(42D8003C): ADD R2, SB, 3CH [data] |
| ENDp |
07A3 | p .FIXUP P |
07A3 | p(F771D00E): BL MOD7 [Graphics] PROC29 |
| END |
| | ChangedMsgq:r |
07A4 | q(E7000130): B 304 [08D5H] |
07A5 | r(80E0000C): LDR R0, SP, CH |
07A6 | r(80000004): LDR R0, R0, 4H |
07A7 | r .FIXUP D |
07A7 | r(8D000006): LDR SB, MT, MOD0 [GraphicFrames] |
07A8 | r(41D80070): ADD R1, SB, 70H [data] |
07A9 | r(01190000): SUB R1, R1, R0 |
07AA | r(E900000C): BNE 12 [07B7H] |
| IF M.graph = G.graphs THENt SetChangeMark(G,u M.mode)v ENDw |
07AB | s(80E00004): LDR R0, SP, 4H |
07AC | s(D1369D4C): BLEQ MT [trap=4, pos=13981] |
07AD | t(81E00008): LDR R1, SP, 8H |
07AE | t(81100004): LDR R1, R1, 4H |
07AF | t(8000001C): LDR R0, R0, 1CH |
07B0 | t(01190000): SUB R1, R1, R0 |
07B1 | t(E9000004): BNE 4 [07B6H] |
07B2 | u(80E00004): LDR R0, SP, 4H |
07B3 | v(81E00008): LDR R1, SP, 8H |
07B4 | v(81100008): LDR R1, R1, 8H |
07B5 | w(F7FFF84A): BL -1974 [0000H] |
| | SelQueryx:y |
07B6 | x(E700011E): B 286 [08D5H] |
07B7 | y(80E0000C): LDR R0, SP, CH |
07B8 | y(80000004): LDR R0, R0, 4H |
07B9 | y .FIXUP D |
07B9 | y(8D000012): LDR SB, MT, MOD0 [GraphicFrames] |
07BA | y(41D8008C): ADD R1, SB, 8CH [data] |
07BB | y(01190000): SUB R1, R1, R0 |
07BC | y(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 |
07BD | z(80E00004): LDR R0, SP, 4H |
07BE | z(D136E74C): BLEQ MT [trap=4, pos=14055] |
07BF | a(8000001C): LDR R0, R0, 1CH |
07C0 | a(D136EB4C): BLEQ MT [trap=4, pos=14059] |
07C1 | b(80000004): LDR R0, R0, 4H |
07C2 | c(E1000013): BEQ 19 [07D6H] |
07C3 | d(80E00004): LDR R0, SP, 4H |
07C4 | d(D137064C): BLEQ MT [trap=4, pos=14086] |
07C5 | e(8000001C): LDR R0, R0, 1CH |
07C6 | e(D1370B4C): BLEQ MT [trap=4, pos=14091] |
07C7 | f(81E00008): LDR R1, SP, 8H |
07C8 | f(81100004): LDR R1, R1, 4H |
07C9 | f(80000000): LDR R0, R0, 0H |
07CA | f(01190000): SUB R1, R1, R0 |
07CB | g(ED00000A): BGE 10 [07D6H] |
07CC | h(80E00004): LDR R0, SP, 4H |
07CD | h(81E00008): LDR R1, SP, 8H |
07CE | h(A0100000): STR R0, R1, 0H |
07CF | i(80E00004): LDR R0, SP, 4H |
07D0 | i(D137344C): BLEQ MT [trap=4, pos=14132] |
07D1 | j(8000001C): LDR R0, R0, 1CH |
07D2 | j(D137394C): BLEQ MT [trap=4, pos=14137] |
07D3 | k(80000000): LDR R0, R0, 0H |
07D4 | k(81E00008): LDR R1, SP, 8H |
07D5 | k(A0100004): STR R0, R1, 4H |
| | FocusQueryl:m IF G.markedn THENo M.f := G ENDp |
07D6 | l(E70000FE): B 254 [08D5H] |
07D7 | m(80E0000C): LDR R0, SP, CH |
07D8 | m(80000004): LDR R0, R0, 4H |
07D9 | m .FIXUP D |
07D9 | m(8D000020): LDR SB, MT, MOD0 [GraphicFrames] |
07DA | m(41D800A4): ADD R1, SB, A4H [data] |
07DB | m(01190000): SUB R1, R1, R0 |
07DC | m(E9000008): BNE 8 [07E5H] |
07DD | n(80E00004): LDR R0, SP, 4H |
07DE | n(D1375D4C): BLEQ MT [trap=4, pos=14173] |
07DF | o(9000003C): LDR R0, R0, 3CH |
07E0 | o(E1000003): BEQ 3 [07E4H] |
07E1 | p(80E00004): LDR R0, SP, 4H |
07E2 | p(81E00008): LDR R1, SP, 8H |
07E3 | p(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 |
07E4 | q(E70000F0): B 240 [08D5H] |
07E5 | r(80E0000C): LDR R0, SP, CH |
07E6 | r(80000004): LDR R0, R0, 4H |
07E7 | r .FIXUP D |
07E7 | r(8D00000E): LDR SB, MT, MOD0 [GraphicFrames] |
07E8 | r(41D800BC): ADD R1, SB, BCH [data] |
07E9 | r(01190000): SUB R1, R1, R0 |
07EA | r(E9000020): BNE 32 [080BH] |
07EB | s(80E00004): LDR R0, SP, 4H |
07EC | s(D137894C): BLEQ MT [trap=4, pos=14217] |
07ED | t(80000008): LDR R0, R0, 8H |
07EE | t(81E00008): LDR R1, SP, 8H |
07EF | t(81100004): LDR R1, R1, 4H |
07F0 | t(00090001): SUB R0, R0, R1 |
07F1 | u(EE000018): BGT 24 [080AH] |
07F2 | v(80E00004): LDR R0, SP, 4H |
07F3 | v(D1379F4C): BLEQ MT [trap=4, pos=14239] |
07F4 | w(81E00008): LDR R1, SP, 8H |
07F5 | w(81100004): LDR R1, R1, 4H |
07F6 | w(80000028): LDR R0, R0, 28H |
07F7 | w(01190000): SUB R1, R1, R0 |
07F8 | x(ED000011): BGE 17 [080AH] |
07F9 | y(80E00004): LDR R0, SP, 4H |
07FA | y(D137A74C): BLEQ MT [trap=4, pos=14247] |
07FB | z(8000000C): LDR R0, R0, CH |
07FC | z(81E00008): LDR R1, SP, 8H |
07FD | z(81100008): LDR R1, R1, 8H |
07FE | z(00090001): SUB R0, R0, R1 |
07FF | a(EE00000A): BGT 10 [080AH] |
0800 | b(80E00004): LDR R0, SP, 4H |
0801 | b(D137BD4C): BLEQ MT [trap=4, pos=14269] |
0802 | c(81E00008): LDR R1, SP, 8H |
0803 | c(81100008): LDR R1, R1, 8H |
0804 | c(8000002C): LDR R0, R0, 2CH |
0805 | c(01190000): SUB R1, R1, R0 |
0806 | d(ED000003): BGE 3 [080AH] |
0807 | e(80E00004): LDR R0, SP, 4H |
0808 | e(81E00008): LDR R1, SP, 8H |
0809 | e(A0100000): STR R0, R1, 0H |
| | DispMsgf:g |
080A | f(E70000CA): B 202 [08D5H] |
080B | g(80E0000C): LDR R0, SP, CH |
080C | g(80000004): LDR R0, R0, 4H |
080D | g .FIXUP D |
080D | g(8D000026): LDR SB, MT, MOD0 [GraphicFrames] |
080E | g(41D800D4): ADD R1, SB, D4H [data] |
080F | g(01190000): SUB R1, R1, R0 |
0810 | g(E9000054): BNE 84 [0865H] |
| DM := M;h |
0811 | h(40E8001C): ADD R0, SP, 1CH |
0812 | h(81E00008): LDR R1, SP, 8H |
0813 | h(42000005): MOV R2, R0, 5H |
0814 | h(83100000): LDR R3, R1, 0H |
0815 | h(41180004): ADD R1, R1, 4H |
0816 | h(A3000000): STR R3, R0, 0H |
0817 | h(40080004): ADD R0, R0, 4H |
0818 | h(42290001): SUB R2, R2, 1H |
0819 | h(E9FFFFFA): BNE -6 [0814H] |
| x := G.xi + newcap.xj +k newcap.wl;m y := G.yn + newcap.yo;p |
081A | i(80E00004): LDR R0, SP, 4H |
081B | i(D138034C): BLEQ MT [trap=4, pos=14339] |
081C | j .FIXUP D |
081C | j(8D00000F): LDR SB, MT, MOD0 [GraphicFrames] |
081D | j(81D00100): LDR R1, SB, 100H [data] |
081E | j(D1380E4C): BLEQ MT [trap=4, pos=14350] |
081F | k(80000030): LDR R0, R0, 30H |
0820 | k(81100000): LDR R1, R1, 0H |
0821 | k(00080001): ADD R0, R0, R1 |
0822 | l(81D00100): LDR R1, SB, 100H |
0823 | l(D138194C): BLEQ MT [trap=4, pos=14361] |
0824 | m(81100008): LDR R1, R1, 8H |
0825 | m(00080001): ADD R0, R0, R1 |
0826 | m(A0E00010): STR R0, SP, 10H |
0827 | n(80E00004): LDR R0, SP, 4H |
0828 | n(D138234C): BLEQ MT [trap=4, pos=14371] |
0829 | o(81D00100): LDR R1, SB, 100H |
082A | o(D1382E4C): BLEQ MT [trap=4, pos=14382] |
082B | p(80000034): LDR R0, R0, 34H |
082C | p(81100004): LDR R1, R1, 4H |
082D | p(00080001): ADD R0, R0, R1 |
082E | p(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 |
082F | q(80E00004): LDR R0, SP, 4H |
0830 | q(D1384E4C): BLEQ MT [trap=4, pos=14414] |
0831 | r(81E0002C): LDR R1, SP, 2CH |
0832 | r(8000001C): LDR R0, R0, 1CH |
0833 | r(01190000): SUB R1, R1, R0 |
0834 | s(E900002F): BNE 47 [0864H] |
0835 | t(80E00004): LDR R0, SP, 4H |
0836 | t(D1385B4C): BLEQ MT [trap=4, pos=14427] |
0837 | u(81E00010): LDR R1, SP, 10H |
0838 | u(80000008): LDR R0, R0, 8H |
0839 | u(01190000): SUB R1, R1, R0 |
083A | v(E5000029): BLT 41 [0864H] |
083B | w(80E00010): LDR R0, SP, 10H |
083C | w(81E00024): LDR R1, SP, 24H |
083D | w(00080001): ADD R0, R0, R1 |
083E | x(81E00004): LDR R1, SP, 4H |
083F | x(D1386F4C): BLEQ MT [trap=4, pos=14447] |
0840 | y(81100028): LDR R1, R1, 28H |
0841 | y(00090001): SUB R0, R0, R1 |
0842 | z(ED000021): BGE 33 [0864H] |
0843 | a(80E00004): LDR R0, SP, 4H |
0844 | a(D1387C4C): BLEQ MT [trap=4, pos=14460] |
0845 | b(81E00014): LDR R1, SP, 14H |
0846 | b(8000000C): LDR R0, R0, CH |
0847 | b(01190000): SUB R1, R1, R0 |
0848 | c(E500001B): BLT 27 [0864H] |
0849 | d(80E00004): LDR R0, SP, 4H |
084A | d(D138894C): BLEQ MT [trap=4, pos=14473] |
084B | e(81E00014): LDR R1, SP, 14H |
084C | e(8000002C): LDR R0, R0, 2CH |
084D | e(01190000): SUB R1, R1, R0 |
084E | f(ED000015): BGE 21 [0864H] |
| Display.CopyPattern(Oberon.CurCol,g DM.pat,h x + DM.x1,i y + DM.y1,j 2)k;l |
084F | g .FIXUP D |
084F | g(8D900033): LDR SB, MT, MOD9 [Oberon] |
0850 | g(80D00010): LDR R0, SB, VAR16 |
0851 | h(81E00028): LDR R1, SP, 28H |
0852 | i(82E00010): LDR R2, SP, 10H |
0853 | i(83E0001C): LDR R3, SP, 1CH |
0854 | i(02280003): ADD R2, R2, R3 |
0855 | j(83E00014): LDR R3, SP, 14H |
0856 | j(84E00020): LDR R4, SP, 20H |
0857 | j(03380004): ADD R3, R3, R4 |
0858 | k(44000002): MOV R4, R0, 2H |
0859 | l .FIXUP P |
0859 | l(F71100B6): BL MOD1 [Display] PROC16 |
| Display.ReplConst(Display.white,m x,n y,o DM.w,p newcap.hq,r 2)s |
085A | m(40000001): MOV R0, R0, 1H |
085B | n(81E00010): LDR R1, SP, 10H |
085C | o(82E00014): LDR R2, SP, 14H |
085D | p(83E00024): LDR R3, SP, 24H |
085E | q .FIXUP D |
085E | q(8D00000F): LDR SB, MT, MOD0 [GraphicFrames] |
085F | q(84D00100): LDR R4, SB, 100H [data] |
0860 | q(D1391E4C): BLEQ MT [trap=4, pos=14622] |
0861 | r(8440000C): LDR R4, R4, CH |
0862 | s(45000002): MOV R5, R0, 2H |
| ENDt |
0863 | t .FIXUP P |
0863 | t(F710F00A): BL MOD1 [Display] PROC15 |
| | Oberonu.ControlMsg:v |
0864 | u(E7000070): B 112 [08D5H] |
0865 | v(80E0000C): LDR R0, SP, CH |
0866 | v(80000004): LDR R0, R0, 4H |
0867 | v .FIXUP D |
0867 | v(8D900009): LDR SB, MT, MOD9 [Oberon] |
0868 | v(41D80005): ADD R1, SB, VAR5 |
0869 | v(01190000): SUB R1, R1, R0 |
086A | v(E9000020): BNE 32 [088BH] |
| IF M.id = Oberon.neutralize THENw |
086B | w(80E00008): LDR R0, SP, 8H |
086C | w(80000000): LDR R0, R0, 0H |
086D | w(40090001): SUB R0, R0, 1H |
086E | w(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 |
086F | x(80E00004): LDR R0, SP, 4H |
0870 | x(D139974C): BLEQ MT [trap=4, pos=14743] |
0871 | y(80000008): LDR R0, R0, 8H |
0872 | z(81E00004): LDR R1, SP, 4H |
0873 | z(D1399C4C): BLEQ MT [trap=4, pos=14748] |
0874 | a(8110000C): LDR R1, R1, CH |
0875 | b(82E00004): LDR R2, SP, 4H |
0876 | b(D139A14C): BLEQ MT [trap=4, pos=14753] |
0877 | c(82200010): LDR R2, R2, 10H |
0878 | d(83E00004): LDR R3, SP, 4H |
0879 | d(D139A64C): BLEQ MT [trap=4, pos=14758] |
087A | e(83300014): LDR R3, R3, 14H |
087B | f .FIXUP P |
087B | f(F791B018): BL MOD9 [Oberon] PROC27 |
087C | g(80E00004): LDR R0, SP, 4H |
087D | h(F7FFF96F): BL -1681 [01EDH] |
087E | i(80E00004): LDR R0, SP, 4H |
087F | j(F7FFF8F9): BL -1799 [0179H] |
0880 | k(80E00004): LDR R0, SP, 4H |
0881 | k(D139DB4C): BLEQ MT [trap=4, pos=14811] |
0882 | l(8000001C): LDR R0, R0, 1CH |
| ELSIFm Mn.id = Oberon.defocus THENo Defocus(G)p |
0883 | m .FIXUP P |
0883 | m(F771C008): BL MOD7 [Graphics] PROC28 |
0884 | n(E7000005): B 5 [088AH] |
0885 | o(80E00008): LDR R0, SP, 8H |
0886 | o(80000000): LDR R0, R0, 0H |
0887 | o(E9000002): BNE 2 [088AH] |
0888 | p(80E00004): LDR R0, SP, 4H |
| ENDq |
0889 | q(F7FFF963): BL -1693 [01EDH] |
| | Oberonr.SelectionMsg:s GetSelection(G,t M.text,u M.beg,v M.end,w M.time)x |
088A | r(E700004A): B 74 [08D5H] |
088B | s(80E0000C): LDR R0, SP, CH |
088C | s(80000004): LDR R0, R0, 4H |
088D | s .FIXUP D |
088D | s(8D900026): LDR SB, MT, MOD9 [Oberon] |
088E | s(41D80004): ADD R1, SB, VAR4 |
088F | s(01190000): SUB R1, R1, R0 |
0890 | s(E900000A): BNE 10 [089BH] |
0891 | t(80E00004): LDR R0, SP, 4H |
0892 | u(81E00008): LDR R1, SP, 8H |
0893 | u(41180004): ADD R1, R1, 4H |
0894 | v(82E00008): LDR R2, SP, 8H |
0895 | v(42280008): ADD R2, R2, 8H |
0896 | w(83E00008): LDR R3, SP, 8H |
0897 | w(4338000C): ADD R3, R3, CH |
0898 | x(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 |
0899 | y(F7FFFDC1): BL -575 [065BH] |
089A | z(E700003A): B 58 [08D5H] |
089B | a(80E0000C): LDR R0, SP, CH |
089C | a(80000004): LDR R0, R0, 4H |
089D | a .FIXUP D |
089D | a(8D900010): LDR SB, MT, MOD9 [Oberon] |
089E | a(41D80006): ADD R1, SB, VAR6 |
089F | a(01190000): SUB R1, R1, R0 |
08A0 | a(E9000022): BNE 34 [08C3H] |
08A1 | b(80E00004): LDR R0, SP, 4H |
08A2 | b(D13A9A4C): BLEQ MT [trap=4, pos=15002] |
08A3 | c(80000008): LDR R0, R0, 8H |
08A4 | d(81E00004): LDR R1, SP, 4H |
08A5 | d(D13A9F4C): BLEQ MT [trap=4, pos=15007] |
08A6 | e(8110000C): LDR R1, R1, CH |
08A7 | f(82E00004): LDR R2, SP, 4H |
08A8 | f(D13AA44C): BLEQ MT [trap=4, pos=15012] |
08A9 | g(82200010): LDR R2, R2, 10H |
08AA | h(83E00004): LDR R3, SP, 4H |
08AB | h(D13AA94C): BLEQ MT [trap=4, pos=15017] |
08AC | i(83300014): LDR R3, R3, 14H |
08AD | j .FIXUP P |
08AD | j(F791B02A): BL MOD9 [Oberon] PROC27 |
08AE | k(80E00004): LDR R0, SP, 4H |
08AF | l(F7FFF93D): BL -1731 [01EDH] |
08B0 | m(40E80044): ADD R0, SP, 44H |
08B1 | m .FIXUP D |
08B1 | m(8D000014): LDR SB, MT, MOD0 [GraphicFrames] |
08B2 | m(41D80018): ADD R1, SB, 18H [data] |
08B3 | m(D73AC00C): BL MT [trap=0, pos=15040] |
08B4 | n(80E00044): LDR R0, SP, 44H |
08B5 | n(D13AC74C): BLEQ MT [trap=4, pos=15047] |
08B6 | o(81E00004): LDR R1, SP, 4H |
08B7 | o(D13ACB4C): BLEQ MT [trap=4, pos=15051] |
08B8 | o(42000013): MOV R2, R0, 13H |
08B9 | o(83100000): LDR R3, R1, 0H |
08BA | o(41180004): ADD R1, R1, 4H |
08BB | o(A3000000): STR R3, R0, 0H |
08BC | o(40080004): ADD R0, R0, 4H |
08BD | o(42290001): SUB R2, R2, 1H |
08BE | o(E9FFFFFA): BNE -6 [08B9H] |
| |p MenuViewersq.ModifyMsg:r G.Ys := M.Y;t G.Hu := M.H;v Restore(G)w |
08BF | p(80E00044): LDR R0, SP, 44H |
08C0 | p(81E00008): LDR R1, SP, 8H |
08C1 | p(A0100000): STR R0, R1, 0H |
08C2 | q(E7000012): B 18 [08D5H] |
08C3 | r(80E0000C): LDR R0, SP, CH |
08C4 | r(80000004): LDR R0, R0, 4H |
08C5 | r .FIXUP D |
08C5 | r(8DA00014): LDR SB, MT, MOD10 [MenuViewers] |
08C6 | r(41D80002): ADD R1, SB, VAR2 |
08C7 | r(01190000): SUB R1, R1, R0 |
08C8 | r(E900000C): BNE 12 [08D5H] |
08C9 | s(80E00004): LDR R0, SP, 4H |
08CA | s(D13AF84C): BLEQ MT [trap=4, pos=15096] |
08CB | t(81E00008): LDR R1, SP, 8H |
08CC | t(81100008): LDR R1, R1, 8H |
08CD | t(A100000C): STR R1, R0, CH |
08CE | u(80E00004): LDR R0, SP, 4H |
08CF | u(D13B044C): BLEQ MT [trap=4, pos=15108] |
08D0 | v(81E00008): LDR R1, SP, 8H |
08D1 | v(8110000C): LDR R1, R1, CH |
08D2 | v(A1000014): STR R1, R0, 14H |
08D3 | w(80E00004): LDR R0, SP, 4H |
| ENDx |
08D4 | x(F7FFF764): BL -2204 [0039H] |
| END |
| ENDy Handle; |
08D5 | y(8FE00000): LDR LNK, SP, 0H |
08D6 | y(4EE80048): ADD SP, SP, 48H |
08D7 | y(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 |
08D8 | z .PROC 21 |
08D8 | z(4EE90010): SUB SP, SP, 10H |
08D9 | z(AFE00000): STR LNK, SP, 0H |
08DA | z(A0E00004): STR R0, SP, 4H |
08DB | z(A1E00008): STR R1, SP, 8H |
08DC | z(A2E0000C): STR R2, SP, CH |
08DD | a(80E00004): LDR R0, SP, 4H |
08DE | b(41000000): MOV R1, R0, 0H |
08DF | c(F7FFF876): BL -1930 [0156H] |
08E0 | d(80E00004): LDR R0, SP, 4H |
08E1 | d(D13B9A4C): BLEQ MT [trap=4, pos=15258] |
08E2 | e(8000001C): LDR R0, R0, 1CH |
08E3 | f(81E00008): LDR R1, SP, 8H |
08E4 | f(82E0000C): LDR R2, SP, CH |
| ENDg Store; |
08E5 | g .FIXUP P |
08E5 | g(F7725038): BL MOD7 [Graphics] PROC37 |
08E6 | g(8FE00000): LDR LNK, SP, 0H |
08E7 | g(4EE80010): ADD SP, SP, 10H |
08E8 | g(C700000F): B LNK |
| |
| (*------------------- Draw Methods -----------------------*) |
| |
| PROCEDURE ReplConst*(F: Frame; col, x, y, w, h, mode: INTEGER); |
| BEGINh |
08E9 | h .PROC 22 |
08E9 | h(4EE90020): SUB SP, SP, 20H |
08EA | h(AFE00000): STR LNK, SP, 0H |
08EB | h(A0E00004): STR R0, SP, 4H |
08EC | h(A1E00008): STR R1, SP, 8H |
08ED | h(A2E0000C): STR R2, SP, CH |
08EE | h(A3E00010): STR R3, SP, 10H |
08EF | h(A4E00014): STR R4, SP, 14H |
08F0 | h(A5E00018): STR R5, SP, 18H |
08F1 | h(A6E0001C): STR R6, SP, 1CH |
| IF x < F.Xi THENj DEC(w, F.Xk-x)l;m x := F.Xn ENDo ; |
08F2 | i(80E00004): LDR R0, SP, 4H |
08F3 | i(D13C484C): BLEQ MT [trap=4, pos=15432] |
08F4 | j(81E0000C): LDR R1, SP, CH |
08F5 | j(80000008): LDR R0, R0, 8H |
08F6 | j(01190000): SUB R1, R1, R0 |
08F7 | j(ED00000C): BGE 12 [0904H] |
08F8 | k(80E00004): LDR R0, SP, 4H |
08F9 | k(D13C584C): BLEQ MT [trap=4, pos=15448] |
08FA | l(80000008): LDR R0, R0, 8H |
08FB | l(81E0000C): LDR R1, SP, CH |
08FC | l(00090001): SUB R0, R0, R1 |
08FD | m(81E00014): LDR R1, SP, 14H |
08FE | m(01190000): SUB R1, R1, R0 |
08FF | m(A1E00014): STR R1, SP, 14H |
0900 | n(80E00004): LDR R0, SP, 4H |
0901 | n(D13C654C): BLEQ MT [trap=4, pos=15461] |
0902 | o(80000008): LDR R0, R0, 8H |
0903 | o(A0E0000C): STR R0, SP, CH |
| IF x+w >=p F.X1q THENr w := F.X1s - x ENDt ; |
0904 | p(80E0000C): LDR R0, SP, CH |
0905 | p(81E00014): LDR R1, SP, 14H |
0906 | p(00080001): ADD R0, R0, R1 |
0907 | q(81E00004): LDR R1, SP, 4H |
0908 | q(D13C7E4C): BLEQ MT [trap=4, pos=15486] |
0909 | r(81100028): LDR R1, R1, 28H |
090A | r(00090001): SUB R0, R0, R1 |
090B | r(E5000006): BLT 6 [0912H] |
090C | s(80E00004): LDR R0, SP, 4H |
090D | s(D13C8D4C): BLEQ MT [trap=4, pos=15501] |
090E | t(80000028): LDR R0, R0, 28H |
090F | t(81E0000C): LDR R1, SP, CH |
0910 | t(00090001): SUB R0, R0, R1 |
0911 | t(A0E00014): STR R0, SP, 14H |
| IF y < F.Yu THENv DEC(h, F.Yw-y)x;y y := F.Yz ENDa ; |
0912 | u(80E00004): LDR R0, SP, 4H |
0913 | u(D13CA64C): BLEQ MT [trap=4, pos=15526] |
0914 | v(81E00010): LDR R1, SP, 10H |
0915 | v(8000000C): LDR R0, R0, CH |
0916 | v(01190000): SUB R1, R1, R0 |
0917 | v(ED00000C): BGE 12 [0924H] |
0918 | w(80E00004): LDR R0, SP, 4H |
0919 | w(D13CB64C): BLEQ MT [trap=4, pos=15542] |
091A | x(8000000C): LDR R0, R0, CH |
091B | x(81E00010): LDR R1, SP, 10H |
091C | x(00090001): SUB R0, R0, R1 |
091D | y(81E00018): LDR R1, SP, 18H |
091E | y(01190000): SUB R1, R1, R0 |
091F | y(A1E00018): STR R1, SP, 18H |
0920 | z(80E00004): LDR R0, SP, 4H |
0921 | z(D13CC34C): BLEQ MT [trap=4, pos=15555] |
0922 | a(8000000C): LDR R0, R0, CH |
0923 | a(A0E00010): STR R0, SP, 10H |
| IF y+h >=b F.Y1c THENd h := F.Y1e - y ENDf ; |
0924 | b(80E00010): LDR R0, SP, 10H |
0925 | b(81E00018): LDR R1, SP, 18H |
0926 | b(00080001): ADD R0, R0, R1 |
0927 | c(81E00004): LDR R1, SP, 4H |
0928 | c(D13CDC4C): BLEQ MT [trap=4, pos=15580] |
0929 | d(8110002C): LDR R1, R1, 2CH |
092A | d(00090001): SUB R0, R0, R1 |
092B | d(E5000006): BLT 6 [0932H] |
092C | e(80E00004): LDR R0, SP, 4H |
092D | e(D13CEB4C): BLEQ MT [trap=4, pos=15595] |
092E | f(8000002C): LDR R0, R0, 2CH |
092F | f(81E00010): LDR R1, SP, 10H |
0930 | f(00090001): SUB R0, R0, R1 |
0931 | f(A0E00018): STR R0, SP, 18H |
| Display.ReplConst(col,g x,h y,i w,j h,k mode)l |
0932 | g(80E00008): LDR R0, SP, 8H |
0933 | h(81E0000C): LDR R1, SP, CH |
0934 | i(82E00010): LDR R2, SP, 10H |
0935 | j(83E00014): LDR R3, SP, 14H |
0936 | k(84E00018): LDR R4, SP, 18H |
0937 | l(85E0001C): LDR R5, SP, 1CH |
| ENDm ReplConst; |
0938 | m .FIXUP P |
0938 | m(F710F053): BL MOD1 [Display] PROC15 |
0939 | m(8FE00000): LDR LNK, SP, 0H |
093A | m(4EE80020): ADD SP, SP, 20H |
093B | m(C700000F): B LNK |
| |
| PROCEDURE ReplPattern*(F: Frame; col, patadr, x, y, w, h, mode: INTEGER); |
| BEGINn |
093C | n .PROC 23 |
093C | n(4EE90024): SUB SP, SP, 24H |
093D | n(AFE00000): STR LNK, SP, 0H |
093E | n(A0E00004): STR R0, SP, 4H |
093F | n(A1E00008): STR R1, SP, 8H |
0940 | n(A2E0000C): STR R2, SP, CH |
0941 | n(A3E00010): STR R3, SP, 10H |
0942 | n(A4E00014): STR R4, SP, 14H |
0943 | n(A5E00018): STR R5, SP, 18H |
0944 | n(A6E0001C): STR R6, SP, 1CH |
0945 | n(A7E00020): STR R7, SP, 20H |
| IF x < F.Xo THENp DEC(w, F.Xq-x)r;s x := F.Xt ENDu ; |
0946 | o(80E00004): LDR R0, SP, 4H |
0947 | o(D13D974C): BLEQ MT [trap=4, pos=15767] |
0948 | p(81E00010): LDR R1, SP, 10H |
0949 | p(80000008): LDR R0, R0, 8H |
094A | p(01190000): SUB R1, R1, R0 |
094B | p(ED00000C): BGE 12 [0958H] |
094C | q(80E00004): LDR R0, SP, 4H |
094D | q(D13DA74C): BLEQ MT [trap=4, pos=15783] |
094E | r(80000008): LDR R0, R0, 8H |
094F | r(81E00010): LDR R1, SP, 10H |
0950 | r(00090001): SUB R0, R0, R1 |
0951 | s(81E00018): LDR R1, SP, 18H |
0952 | s(01190000): SUB R1, R1, R0 |
0953 | s(A1E00018): STR R1, SP, 18H |
0954 | t(80E00004): LDR R0, SP, 4H |
0955 | t(D13DB44C): BLEQ MT [trap=4, pos=15796] |
0956 | u(80000008): LDR R0, R0, 8H |
0957 | u(A0E00010): STR R0, SP, 10H |
| IF x+w >=v F.X1w THENx w := F.X1y - x ENDz ; |
0958 | v(80E00010): LDR R0, SP, 10H |
0959 | v(81E00018): LDR R1, SP, 18H |
095A | v(00080001): ADD R0, R0, R1 |
095B | w(81E00004): LDR R1, SP, 4H |
095C | w(D13DCD4C): BLEQ MT [trap=4, pos=15821] |
095D | x(81100028): LDR R1, R1, 28H |
095E | x(00090001): SUB R0, R0, R1 |
095F | x(E5000006): BLT 6 [0966H] |
0960 | y(80E00004): LDR R0, SP, 4H |
0961 | y(D13DDC4C): BLEQ MT [trap=4, pos=15836] |
0962 | z(80000028): LDR R0, R0, 28H |
0963 | z(81E00010): LDR R1, SP, 10H |
0964 | z(00090001): SUB R0, R0, R1 |
0965 | z(A0E00018): STR R0, SP, 18H |
| IF y < F.Ya THENb DEC(h, F.Yc-y)d;e y := F.Yf ENDg ; |
0966 | a(80E00004): LDR R0, SP, 4H |
0967 | a(D13DF54C): BLEQ MT [trap=4, pos=15861] |
0968 | b(81E00014): LDR R1, SP, 14H |
0969 | b(8000000C): LDR R0, R0, CH |
096A | b(01190000): SUB R1, R1, R0 |
096B | b(ED00000C): BGE 12 [0978H] |
096C | c(80E00004): LDR R0, SP, 4H |
096D | c(D13E054C): BLEQ MT [trap=4, pos=15877] |
096E | d(8000000C): LDR R0, R0, CH |
096F | d(81E00014): LDR R1, SP, 14H |
0970 | d(00090001): SUB R0, R0, R1 |
0971 | e(81E0001C): LDR R1, SP, 1CH |
0972 | e(01190000): SUB R1, R1, R0 |
0973 | e(A1E0001C): STR R1, SP, 1CH |
0974 | f(80E00004): LDR R0, SP, 4H |
0975 | f(D13E124C): BLEQ MT [trap=4, pos=15890] |
0976 | g(8000000C): LDR R0, R0, CH |
0977 | g(A0E00014): STR R0, SP, 14H |
| IF y+h >=h F.Y1i THENj h := F.Y1k - y ENDl ; |
0978 | h(80E00014): LDR R0, SP, 14H |
0979 | h(81E0001C): LDR R1, SP, 1CH |
097A | h(00080001): ADD R0, R0, R1 |
097B | i(81E00004): LDR R1, SP, 4H |
097C | i(D13E2B4C): BLEQ MT [trap=4, pos=15915] |
097D | j(8110002C): LDR R1, R1, 2CH |
097E | j(00090001): SUB R0, R0, R1 |
097F | j(E5000006): BLT 6 [0986H] |
0980 | k(80E00004): LDR R0, SP, 4H |
0981 | k(D13E3A4C): BLEQ MT [trap=4, pos=15930] |
0982 | l(8000002C): LDR R0, R0, 2CH |
0983 | l(81E00014): LDR R1, SP, 14H |
0984 | l(00090001): SUB R0, R0, R1 |
0985 | l(A0E0001C): STR R0, SP, 1CH |
| Display.ReplPattern(col,m patadr,n x,o y,p w,q h,r mode)s |
0986 | m(80E00008): LDR R0, SP, 8H |
0987 | n(81E0000C): LDR R1, SP, CH |
0988 | o(82E00010): LDR R2, SP, 10H |
0989 | p(83E00014): LDR R3, SP, 14H |
098A | q(84E00018): LDR R4, SP, 18H |
098B | r(85E0001C): LDR R5, SP, 1CH |
098C | s(86E00020): LDR R6, SP, 20H |
| ENDt ReplPattern; |
098D | t .FIXUP P |
098D | t(F7112055): BL MOD1 [Display] PROC18 |
098E | t(8FE00000): LDR LNK, SP, 0H |
098F | t(4EE80024): ADD SP, SP, 24H |
0990 | t(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 |
0991 | u(4EE90028): SUB SP, SP, 28H |
0992 | u(AFE00000): STR LNK, SP, 0H |
0993 | u(A0E00004): STR R0, SP, 4H |
0994 | u(A1E00008): STR R1, SP, 8H |
0995 | u(A2E0000C): STR R2, SP, CH |
| CASE M OF DrawMsg:v |
0996 | v(80E0000C): LDR R0, SP, CH |
0997 | v(80000004): LDR R0, R0, 4H |
0998 | v .FIXUP D |
0998 | v(8D0000D3): LDR SB, MT, MOD0 [GraphicFrames] |
0999 | v(41D8003C): ADD R1, SB, 3CH [data] |
099A | v(01190000): SUB R1, R1, R0 |
099B | v(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 |
099C | w(80E00004): LDR R0, SP, 4H |
099D | w(D13FB04C): BLEQ MT [trap=4, pos=16304] |
099E | x(80000000): LDR R0, R0, 0H |
099F | x(81E00008): LDR R1, SP, 8H |
09A0 | x(81100004): LDR R1, R1, 4H |
09A1 | x(00080001): ADD R0, R0, R1 |
09A2 | x(A0E00010): STR R0, SP, 10H |
09A3 | y(80E00004): LDR R0, SP, 4H |
09A4 | y(D13FC24C): BLEQ MT [trap=4, pos=16322] |
09A5 | z(80000004): LDR R0, R0, 4H |
09A6 | z(81E00008): LDR R1, SP, 8H |
09A7 | z(81100008): LDR R1, R1, 8H |
09A8 | z(00080001): ADD R0, R0, R1 |
09A9 | z(A0E00014): STR R0, SP, 14H |
09AA | a(80E00004): LDR R0, SP, 4H |
09AB | a(D13FD44C): BLEQ MT [trap=4, pos=16340] |
09AC | b(80000008): LDR R0, R0, 8H |
09AD | b(A0E00018): STR R0, SP, 18H |
09AE | c(80E00004): LDR R0, SP, 4H |
09AF | c(D13FE04C): BLEQ MT [trap=4, pos=16352] |
09B0 | d(8000000C): LDR R0, R0, CH |
09B1 | d(A0E0001C): STR R0, SP, 1CH |
09B2 | e(80E00008): LDR R0, SP, 8H |
09B3 | e(80000000): LDR R0, R0, 0H |
09B4 | e(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 |
09B5 | f(80E00010): LDR R0, SP, 10H |
09B6 | f(81E00018): LDR R1, SP, 18H |
09B7 | f(00080001): ADD R0, R0, R1 |
09B8 | g(81E00024): LDR R1, SP, 24H |
09B9 | g(D13FFF4C): BLEQ MT [trap=4, pos=16383] |
09BA | h(81100008): LDR R1, R1, 8H |
09BB | h(00090001): SUB R0, R0, R1 |
09BC | i(E6000047): BLE 71 [0A04H] |
09BD | j(80E00024): LDR R0, SP, 24H |
09BE | j(D1400C4C): BLEQ MT [trap=4, pos=16396] |
09BF | k(81E00010): LDR R1, SP, 10H |
09C0 | k(80000028): LDR R0, R0, 28H |
09C1 | k(01190000): SUB R1, R1, R0 |
09C2 | l(ED000041): BGE 65 [0A04H] |
09C3 | m(80E00014): LDR R0, SP, 14H |
09C4 | m(81E0001C): LDR R1, SP, 1CH |
09C5 | m(00080001): ADD R0, R0, R1 |
09C6 | n(81E00024): LDR R1, SP, 24H |
09C7 | n(D1401A4C): BLEQ MT [trap=4, pos=16410] |
09C8 | o(8110000C): LDR R1, R1, CH |
09C9 | o(00090001): SUB R0, R0, R1 |
09CA | p(E6000039): BLE 57 [0A04H] |
09CB | q(80E00024): LDR R0, SP, 24H |
09CC | q(D140274C): BLEQ MT [trap=4, pos=16423] |
09CD | r(81E00014): LDR R1, SP, 14H |
09CE | r(8000002C): LDR R0, R0, 2CH |
09CF | r(01190000): SUB R1, R1, R0 |
09D0 | s(ED000033): BGE 51 [0A04H] |
| col := Display.white;t |
09D1 | t(40000001): MOV R0, R0, 1H |
09D2 | t(A0E00020): STR R0, SP, 20H |
| IF (M.mode = 0)u & objv.selectedw ORx (yM.mode = 1)z THENa |
09D3 | u(80E00008): LDR R0, SP, 8H |
09D4 | u(80000010): LDR R0, R0, 10H |
09D5 | v(E9000004): BNE 4 [09DAH] |
09D6 | w(80E00004): LDR R0, SP, 4H |
09D7 | w(D140724C): BLEQ MT [trap=4, pos=16498] |
09D8 | x(90000011): LDR R0, R0, 11H |
09D9 | y(E9000004): BNE 4 [09DEH] |
09DA | z(80E00008): LDR R0, SP, 8H |
09DB | z(80000010): LDR R0, R0, 10H |
09DC | z(40090001): SUB R0, R0, 1H |
09DD | a(E900000B): BNE 11 [09E9H] |
| ReplPattern(f,b col,c Display.grey,d x,e y,f w,g h,h Display.replace)i |
09DE | b(80E00024): LDR R0, SP, 24H |
09DF | c(81E00020): LDR R1, SP, 20H |
09E0 | d .FIXUP D |
09E0 | d(8D100048): LDR SB, MT, MOD1 [Display] |
09E1 | d(82D0000C): LDR R2, SB, VAR12 |
09E2 | e(83E00010): LDR R3, SP, 10H |
09E3 | f(84E00014): LDR R4, SP, 14H |
09E4 | g(85E00018): LDR R5, SP, 18H |
09E5 | h(86E0001C): LDR R6, SP, 1CH |
09E6 | i(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 |
09E7 | j(F7FFFF54): BL -172 [093CH] |
09E8 | k(E700001B): B 27 [0A04H] |
09E9 | l(40000005): MOV R0, R0, 5H |
09EA | l(81E00008): LDR R1, SP, 8H |
09EB | l(81100010): LDR R1, R1, 10H |
09EC | l(41180001): ADD R1, R1, 1H |
09ED | l(00030001): ROR R0, R0, R1 |
09EE | l(E8000009): BPL 9 [09F8H] |
09EF | m(80E00024): LDR R0, SP, 24H |
09F0 | n(81E00020): LDR R1, SP, 20H |
09F1 | o(82E00010): LDR R2, SP, 10H |
09F2 | p(83E00014): LDR R3, SP, 14H |
09F3 | q(84E00018): LDR R4, SP, 18H |
09F4 | r(85E0001C): LDR R5, SP, 1CH |
09F5 | s(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*) |
09F6 | t(F7FFFEF2): BL -270 [08E9H] |
09F7 | u(E700000C): B 12 [0A04H] |
09F8 | v(80E00008): LDR R0, SP, 8H |
09F9 | v(80000010): LDR R0, R0, 10H |
09FA | v(40090003): SUB R0, R0, 3H |
09FB | v(E9000008): BNE 8 [0A04H] |
09FC | w(80E00024): LDR R0, SP, 24H |
09FD | x(41000000): MOV R1, R0, 0H |
09FE | y(82E00010): LDR R2, SP, 10H |
09FF | z(83E00014): LDR R3, SP, 14H |
0A00 | a(84E00018): LDR R4, SP, 18H |
0A01 | b(85E0001C): LDR R5, SP, 1CH |
0A02 | c(46000000): MOV R6, R0, 0H |
| ENDd |
0A03 | d(F7FFFEE5): BL -283 [08E9H] |
| END |
| END |
| ENDe DrawLine; |
0A04 | e(8FE00000): LDR LNK, SP, 0H |
0A05 | e(4EE80028): ADD SP, SP, 28H |
0A06 | e(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 |
0A07 | f(4EE90084): SUB SP, SP, 84H |
0A08 | f(AFE00000): STR LNK, SP, 0H |
0A09 | f(A0E00004): STR R0, SP, 4H |
0A0A | f(A1E00008): STR R1, SP, 8H |
0A0B | f(A2E0000C): STR R2, SP, CH |
| CASE M OF DrawMsg:g |
0A0C | g(80E0000C): LDR R0, SP, CH |
0A0D | g(80000004): LDR R0, R0, 4H |
0A0E | g .FIXUP D |
0A0E | g(8D00002E): LDR SB, MT, MOD0 [GraphicFrames] |
0A0F | g(41D8003C): ADD R1, SB, 3CH [data] |
0A10 | g(01190000): SUB R1, R1, R0 |
0A11 | g(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 |
0A12 | h(80E00004): LDR R0, SP, 4H |
0A13 | h(D142BC4C): BLEQ MT [trap=4, pos=17084] |
0A14 | i(80000000): LDR R0, R0, 0H |
0A15 | i(81E00008): LDR R1, SP, 8H |
0A16 | i(81100004): LDR R1, R1, 4H |
0A17 | i(00080001): ADD R0, R0, R1 |
0A18 | i(A0E00010): STR R0, SP, 10H |
0A19 | j(80E00004): LDR R0, SP, 4H |
0A1A | j(D142CE4C): BLEQ MT [trap=4, pos=17102] |
0A1B | k(80000004): LDR R0, R0, 4H |
0A1C | k(81E00008): LDR R1, SP, 8H |
0A1D | k(81100008): LDR R1, R1, 8H |
0A1E | k(00080001): ADD R0, R0, R1 |
0A1F | k(A0E00014): STR R0, SP, 14H |
0A20 | l(80E00004): LDR R0, SP, 4H |
0A21 | l(D142E04C): BLEQ MT [trap=4, pos=17120] |
0A22 | m(80000008): LDR R0, R0, 8H |
0A23 | m(A0E0002C): STR R0, SP, 2CH |
0A24 | n(80E00004): LDR R0, SP, 4H |
0A25 | n(D142EC4C): BLEQ MT [trap=4, pos=17132] |
0A26 | o(8000000C): LDR R0, R0, CH |
0A27 | o(A0E00030): STR R0, SP, 30H |
0A28 | p(80E00008): LDR R0, SP, 8H |
0A29 | p(80000000): LDR R0, R0, 0H |
0A2A | p(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 |
0A2B | q(80E00040): LDR R0, SP, 40H |
0A2C | q(D143054C): BLEQ MT [trap=4, pos=17157] |
0A2D | r(80000008): LDR R0, R0, 8H |
0A2E | r(81E00010): LDR R1, SP, 10H |
0A2F | r(00090001): SUB R0, R0, R1 |
0A30 | s(EE00009A): BGT 154 [0ACBH] |
0A31 | t(80E00040): LDR R0, SP, 40H |
0A32 | t(D143184C): BLEQ MT [trap=4, pos=17176] |
0A33 | u(81E00010): LDR R1, SP, 10H |
0A34 | u(80000028): LDR R0, R0, 28H |
0A35 | u(01190000): SUB R1, R1, R0 |
0A36 | v(EE000094): BGT 148 [0ACBH] |
0A37 | w(80E00040): LDR R0, SP, 40H |
0A38 | w(D143204C): BLEQ MT [trap=4, pos=17184] |
0A39 | x(8000000C): LDR R0, R0, CH |
0A3A | x(81E00014): LDR R1, SP, 14H |
0A3B | x(00090001): SUB R0, R0, R1 |
0A3C | y(EE00008E): BGT 142 [0ACBH] |
0A3D | z(80E00014): LDR R0, SP, 14H |
0A3E | z(81E00030): LDR R1, SP, 30H |
0A3F | z(00080001): ADD R0, R0, R1 |
0A40 | a(81E00040): LDR R1, SP, 40H |
0A41 | a(D143354C): BLEQ MT [trap=4, pos=17205] |
0A42 | b(8110002C): LDR R1, R1, 2CH |
0A43 | b(00090001): SUB R0, R0, R1 |
0A44 | c(EE000086): BGT 134 [0ACBH] |
| IF x+w >d f.X1e THENf w := f.X1g-x ENDh ; |
0A45 | d(80E00010): LDR R0, SP, 10H |
0A46 | d(81E0002C): LDR R1, SP, 2CH |
0A47 | d(00080001): ADD R0, R0, R1 |
0A48 | e(81E00040): LDR R1, SP, 40H |
0A49 | e(D143514C): BLEQ MT [trap=4, pos=17233] |
0A4A | f(81100028): LDR R1, R1, 28H |
0A4B | f(00090001): SUB R0, R0, R1 |
0A4C | f(E6000006): BLE 6 [0A53H] |
0A4D | g(80E00040): LDR R0, SP, 40H |
0A4E | g(D143604C): BLEQ MT [trap=4, pos=17248] |
0A4F | h(80000028): LDR R0, R0, 28H |
0A50 | h(81E00010): LDR R1, SP, 10H |
0A51 | h(00090001): SUB R0, R0, R1 |
0A52 | h(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 |
0A53 | i(40E80050): ADD R0, SP, 50H |
0A54 | i .FIXUP D |
0A54 | i(8D500046): LDR SB, MT, MOD5 [Texts] |
0A55 | i(41D80002): ADD R1, SB, VAR2 |
0A56 | j .FIXUP D |
0A56 | j(8D700002): LDR SB, MT, MOD7 [Graphics] |
0A57 | j(82D00011): LDR R2, SB, VAR17 |
0A58 | k(83E00004): LDR R3, SP, 4H |
0A59 | k(E1000005): BEQ 5 [0A5FH] |
0A5A | k(843FFFF8): LDR R4, R3, FFFFFFF8H |
0A5B | k(84400004): LDR R4, R4, 4H |
0A5C | k .FIXUP D |
0A5C | k(8D700006): LDR SB, MT, MOD7 [Graphics] |
0A5D | k(45D8000D): ADD R5, SB, VAR13 |
0A5E | k(05590004): SUB R5, R5, R4 |
0A5F | k(D943A62C): BLNE MT [trap=2, pos=17318] |
0A60 | l(8330001C): LDR R3, R3, 1CH |
0A61 | m .FIXUP P |
0A61 | m(F75120D4): BL MOD5 [Texts] PROC18 |
0A62 | n(40E80050): ADD R0, SP, 50H |
0A63 | n .FIXUP D |
0A63 | n(8D500007): LDR SB, MT, MOD5 [Texts] |
0A64 | n(41D80002): ADD R1, SB, VAR2 |
0A65 | o(42E80044): ADD R2, SP, 44H |
0A66 | p .FIXUP P |
0A66 | p(F7513005): BL MOD5 [Texts] PROC19 |
| IF M.mode = 0 THENq |
0A67 | q(80E00008): LDR R0, SP, 8H |
0A68 | q(80000010): LDR R0, R0, 10H |
0A69 | q(E9000046): BNE 70 [0AB0H] |
| IF ch >= " " THENr |
0A6A | r(90E00044): LDR R0, SP, 44H |
0A6B | r(40090020): SUB R0, R0, 20H |
0A6C | r(E5000042): BLT 66 [0AAFH] |
| fnt := R.fnt;s x0 := x;t y0 := y - fnt.minYu;v |
0A6D | s(80E00054): LDR R0, SP, 54H |
0A6E | s(A0E0004C): STR R0, SP, 4CH |
0A6F | t(80E00010): LDR R0, SP, 10H |
0A70 | t(A0E0001C): STR R0, SP, 1CH |
0A71 | u(80E0004C): LDR R0, SP, 4CH |
0A72 | u(D1442C4C): BLEQ MT [trap=4, pos=17452] |
0A73 | v(81E00014): LDR R1, SP, 14H |
0A74 | v(8000002C): LDR R0, R0, 2CH |
0A75 | v(00190000): SUB R0, R1, R0 |
0A76 | v(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 |
0A77 | w(80E0004C): LDR R0, SP, 4CH |
0A78 | x(91E00044): LDR R1, SP, 44H |
0A79 | y(42E80018): ADD R2, SP, 18H |
0A7A | z(43E80020): ADD R3, SP, 20H |
0A7B | a(44E80028): ADD R4, SP, 28H |
0A7C | b(45E80034): ADD R5, SP, 34H |
0A7D | c(46E80038): ADD R6, SP, 38H |
0A7E | d(47E80048): ADD R7, SP, 48H |
0A7F | e .FIXUP P |
0A7F | e(F7404019): BL MOD4 [Fonts] PROC4 |
| IF x0+x1+fw1 <=g f.X1h THENi |
0A80 | f(80E0001C): LDR R0, SP, 1CH |
0A81 | f(81E00020): LDR R1, SP, 20H |
0A82 | f(00080001): ADD R0, R0, R1 |
0A83 | g(81E00034): LDR R1, SP, 34H |
0A84 | g(00080001): ADD R0, R0, R1 |
0A85 | h(81E00040): LDR R1, SP, 40H |
0A86 | h(D144924C): BLEQ MT [trap=4, pos=17554] |
0A87 | i(81100028): LDR R1, R1, 28H |
0A88 | i(00090001): SUB R0, R0, R1 |
0A89 | i(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 |
0A8A | j(80E0003C): LDR R0, SP, 3CH |
0A8B | k(81E00048): LDR R1, SP, 48H |
0A8C | l(82E0001C): LDR R2, SP, 1CH |
0A8D | l(83E00020): LDR R3, SP, 20H |
0A8E | l(02280003): ADD R2, R2, R3 |
0A8F | m(83E00024): LDR R3, SP, 24H |
0A90 | m(84E00028): LDR R4, SP, 28H |
0A91 | m(03380004): ADD R3, R3, R4 |
0A92 | n(44000001): MOV R4, R0, 1H |
0A93 | o .FIXUP P |
0A93 | o(F7110014): BL MOD1 [Display] PROC16 |
0A94 | p(80E0001C): LDR R0, SP, 1CH |
0A95 | p(81E00018): LDR R1, SP, 18H |
0A96 | p(00080001): ADD R0, R0, R1 |
0A97 | p(A0E0001C): STR R0, SP, 1CH |
0A98 | q(40E80050): ADD R0, SP, 50H |
0A99 | q .FIXUP D |
0A99 | q(8D500036): LDR SB, MT, MOD5 [Texts] |
0A9A | q(41D80002): ADD R1, SB, VAR2 |
0A9B | r(42E80044): ADD R2, SP, 44H |
| ELSEs cht := 0X |
0A9C | s .FIXUP P |
0A9C | s(F7513009): BL MOD5 [Texts] PROC19 |
0A9D | t(E7000002): B 2 [0AA0H] |
| ENDu |
0A9E | u(40000000): MOV R0, R0, 0H |
0A9F | u(B0E00044): STR R0, SP, 44H |
| UNTIL ch < " ";v |
0AA0 | v(90E00044): LDR R0, SP, 44H |
0AA1 | v(40090020): SUB R0, R0, 20H |
0AA2 | v(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 |
0AA3 | w(80E00004): LDR R0, SP, 4H |
0AA4 | w(D145684C): BLEQ MT [trap=4, pos=17768] |
0AA5 | x(90000011): LDR R0, R0, 11H |
0AA6 | x(E1000008): BEQ 8 [0AAFH] |
0AA7 | y(80E00040): LDR R0, SP, 40H |
0AA8 | z(41000001): MOV R1, R0, 1H |
0AA9 | a(82E00010): LDR R2, SP, 10H |
0AAA | b(83E00014): LDR R3, SP, 14H |
0AAB | c(84E0002C): LDR R4, SP, 2CH |
0AAC | d(85E00030): LDR R5, SP, 30H |
0AAD | e(46000002): MOV R6, R0, 2H |
0AAE | f(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 |
0AAF | g(E700001B): B 27 [0ACBH] |
0AB0 | h(40000006): MOV R0, R0, 6H |
0AB1 | h(81E00008): LDR R1, SP, 8H |
0AB2 | h(81100010): LDR R1, R1, 10H |
0AB3 | h(41180001): ADD R1, R1, 1H |
0AB4 | h(00030001): ROR R0, R0, R1 |
0AB5 | h(E8000009): BPL 9 [0ABFH] |
0AB6 | i(80E00040): LDR R0, SP, 40H |
0AB7 | j(41000001): MOV R1, R0, 1H |
0AB8 | k(82E00010): LDR R2, SP, 10H |
0AB9 | l(83E00014): LDR R3, SP, 14H |
0ABA | m(84E0002C): LDR R4, SP, 2CH |
0ABB | n(85E00030): LDR R5, SP, 30H |
0ABC | o(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 |
0ABD | p(F7FFFE2B): BL -469 [08E9H] |
0ABE | q(E700000C): B 12 [0ACBH] |
0ABF | r(80E00008): LDR R0, SP, 8H |
0AC0 | r(80000010): LDR R0, R0, 10H |
0AC1 | r(40090003): SUB R0, R0, 3H |
0AC2 | r(E9000008): BNE 8 [0ACBH] |
0AC3 | s(80E00040): LDR R0, SP, 40H |
0AC4 | t(41000000): MOV R1, R0, 0H |
0AC5 | u(82E00010): LDR R2, SP, 10H |
0AC6 | v(83E00014): LDR R3, SP, 14H |
0AC7 | w(84E0002C): LDR R4, SP, 2CH |
0AC8 | x(85E00030): LDR R5, SP, 30H |
0AC9 | y(46000000): MOV R6, R0, 0H |
| ENDz |
0ACA | z(F7FFFE1E): BL -482 [08E9H] |
| END |
| END |
| ENDa DrawCaption; |
0ACB | a(8FE00000): LDR LNK, SP, 0H |
0ACC | a(4EE80084): ADD SP, SP, 84H |
0ACD | a(C700000F): B LNK |
| |
| PROCEDURE DrawMacro(obj: Graphics.Object; VAR M: Graphics.Msg); |
| VAR x, y, w, h: INTEGER; |
| f: Frame; M1: DrawMsg; |
| BEGINb |
0ACE | b(4EE90038): SUB SP, SP, 38H |
0ACF | b(AFE00000): STR LNK, SP, 0H |
0AD0 | b(A0E00004): STR R0, SP, 4H |
0AD1 | b(A1E00008): STR R1, SP, 8H |
0AD2 | b(A2E0000C): STR R2, SP, CH |
| CASE M OF DrawMsg:c |
0AD3 | c(80E0000C): LDR R0, SP, CH |
0AD4 | c(80000004): LDR R0, R0, 4H |
0AD5 | c .FIXUP D |
0AD5 | c(8D00003C): LDR SB, MT, MOD0 [GraphicFrames] |
0AD6 | c(41D8003C): ADD R1, SB, 3CH [data] |
0AD7 | c(01190000): SUB R1, R1, R0 |
0AD8 | c(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 |
0AD9 | d(80E00004): LDR R0, SP, 4H |
0ADA | d(D147484C): BLEQ MT [trap=4, pos=18248] |
0ADB | e(80000000): LDR R0, R0, 0H |
0ADC | e(81E00008): LDR R1, SP, 8H |
0ADD | e(81100004): LDR R1, R1, 4H |
0ADE | e(00080001): ADD R0, R0, R1 |
0ADF | e(A0E00010): STR R0, SP, 10H |
0AE0 | f(80E00004): LDR R0, SP, 4H |
0AE1 | f(D1475A4C): BLEQ MT [trap=4, pos=18266] |
0AE2 | g(80000004): LDR R0, R0, 4H |
0AE3 | g(81E00008): LDR R1, SP, 8H |
0AE4 | g(81100008): LDR R1, R1, 8H |
0AE5 | g(00080001): ADD R0, R0, R1 |
0AE6 | g(A0E00014): STR R0, SP, 14H |
0AE7 | h(80E00004): LDR R0, SP, 4H |
0AE8 | h(D1476C4C): BLEQ MT [trap=4, pos=18284] |
0AE9 | i(80000008): LDR R0, R0, 8H |
0AEA | i(A0E00018): STR R0, SP, 18H |
0AEB | j(80E00004): LDR R0, SP, 4H |
0AEC | j(D147784C): BLEQ MT [trap=4, pos=18296] |
0AED | k(8000000C): LDR R0, R0, CH |
0AEE | k(A0E0001C): STR R0, SP, 1CH |
0AEF | l(80E00008): LDR R0, SP, 8H |
0AF0 | l(80000000): LDR R0, R0, 0H |
0AF1 | l(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 |
0AF2 | m(80E00010): LDR R0, SP, 10H |
0AF3 | m(81E00018): LDR R1, SP, 18H |
0AF4 | m(00080001): ADD R0, R0, R1 |
0AF5 | n(81E00020): LDR R1, SP, 20H |
0AF6 | n(D147974C): BLEQ MT [trap=4, pos=18327] |
0AF7 | o(81100008): LDR R1, R1, 8H |
0AF8 | o(00090001): SUB R0, R0, R1 |
0AF9 | p(E600005C): BLE 92 [0B56H] |
0AFA | q(80E00020): LDR R0, SP, 20H |
0AFB | q(D147A44C): BLEQ MT [trap=4, pos=18340] |
0AFC | r(81E00010): LDR R1, SP, 10H |
0AFD | r(80000028): LDR R0, R0, 28H |
0AFE | r(01190000): SUB R1, R1, R0 |
0AFF | s(ED000056): BGE 86 [0B56H] |
0B00 | t(80E00014): LDR R0, SP, 14H |
0B01 | t(81E0001C): LDR R1, SP, 1CH |
0B02 | t(00080001): ADD R0, R0, R1 |
0B03 | u(81E00020): LDR R1, SP, 20H |
0B04 | u(D147B24C): BLEQ MT [trap=4, pos=18354] |
0B05 | v(8110000C): LDR R1, R1, CH |
0B06 | v(00090001): SUB R0, R0, R1 |
0B07 | w(E600004E): BLE 78 [0B56H] |
0B08 | x(80E00020): LDR R0, SP, 20H |
0B09 | x(D147BF4C): BLEQ MT [trap=4, pos=18367] |
0B0A | y(81E00014): LDR R1, SP, 14H |
0B0B | y(8000002C): LDR R0, R0, 2CH |
0B0C | y(01190000): SUB R1, R1, R0 |
0B0D | z(ED000048): BGE 72 [0B56H] |
| M1.x := x;a M1.y := y;b |
0B0E | a(80E00010): LDR R0, SP, 10H |
0B0F | a(A0E00028): STR R0, SP, 28H |
0B10 | b(80E00014): LDR R0, SP, 14H |
0B11 | b(A0E0002C): STR R0, SP, 2CH |
| IF M.mode = 0 THENc |
0B12 | c(80E00008): LDR R0, SP, 8H |
0B13 | c(80000010): LDR R0, R0, 10H |
0B14 | c(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 |
0B15 | d(80E00020): LDR R0, SP, 20H |
0B16 | d(A0E00024): STR R0, SP, 24H |
0B17 | e(80E00004): LDR R0, SP, 4H |
0B18 | e(D148254C): BLEQ MT [trap=4, pos=18469] |
0B19 | f(90000010): LDR R0, R0, 10H |
0B1A | f(A0E00030): STR R0, SP, 30H |
0B1B | g(40000000): MOV R0, R0, 0H |
0B1C | g(A0E00034): STR R0, SP, 34H |
0B1D | h(80E00004): LDR R0, SP, 4H |
0B1E | h(E1000005): BEQ 5 [0B24H] |
0B1F | h(810FFFF8): LDR R1, R0, FFFFFFF8H |
0B20 | h(81100004): LDR R1, R1, 4H |
0B21 | h .FIXUP D |
0B21 | h(8D70004C): LDR SB, MT, MOD7 [Graphics] |
0B22 | h(42D8000E): ADD R2, SB, VAR14 |
0B23 | h(02290001): SUB R2, R2, R1 |
0B24 | h(D948592C): BLNE MT [trap=2, pos=18521] |
0B25 | i(8000001C): LDR R0, R0, 1CH |
0B26 | j(41E80024): ADD R1, SP, 24H |
0B27 | j .FIXUP D |
0B27 | j(8D000006): LDR SB, MT, MOD0 [GraphicFrames] |
0B28 | j(42D8003C): ADD R2, SB, 3CH [data] |
0B29 | k .FIXUP P |
0B29 | k(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 |
0B2A | l(80E00004): LDR R0, SP, 4H |
0B2B | l(D1487D4C): BLEQ MT [trap=4, pos=18557] |
0B2C | m(90000011): LDR R0, R0, 11H |
0B2D | m(E100000A): BEQ 10 [0B38H] |
0B2E | n(80E00020): LDR R0, SP, 20H |
0B2F | o(41000001): MOV R1, R0, 1H |
0B30 | p .FIXUP D |
0B30 | p(8D000009): LDR SB, MT, MOD0 [GraphicFrames] |
0B31 | p(82D000F8): LDR R2, SB, F8H [data] |
0B32 | q(83E00010): LDR R3, SP, 10H |
0B33 | r(84E00014): LDR R4, SP, 14H |
0B34 | s(85E00018): LDR R5, SP, 18H |
0B35 | t(86E0001C): LDR R6, SP, 1CH |
0B36 | u(47000002): MOV R7, R0, 2H |
0B37 | v(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 |
0B38 | w(E700001D): B 29 [0B56H] |
0B39 | x(40000006): MOV R0, R0, 6H |
0B3A | x(81E00008): LDR R1, SP, 8H |
0B3B | x(81100010): LDR R1, R1, 10H |
0B3C | x(41180001): ADD R1, R1, 1H |
0B3D | x(00030001): ROR R0, R0, R1 |
0B3E | x(E800000B): BPL 11 [0B4AH] |
0B3F | y(80E00020): LDR R0, SP, 20H |
0B40 | z(41000001): MOV R1, R0, 1H |
0B41 | a .FIXUP D |
0B41 | a(8D000011): LDR SB, MT, MOD0 [GraphicFrames] |
0B42 | a(82D000F8): LDR R2, SB, F8H [data] |
0B43 | b(83E00010): LDR R3, SP, 10H |
0B44 | c(84E00014): LDR R4, SP, 14H |
0B45 | d(85E00018): LDR R5, SP, 18H |
0B46 | e(86E0001C): LDR R6, SP, 1CH |
0B47 | f(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 |
0B48 | g(F7FFFDF3): BL -525 [093CH] |
0B49 | h(E700000C): B 12 [0B56H] |
0B4A | i(80E00008): LDR R0, SP, 8H |
0B4B | i(80000010): LDR R0, R0, 10H |
0B4C | i(40090003): SUB R0, R0, 3H |
0B4D | i(E9000008): BNE 8 [0B56H] |
0B4E | j(80E00020): LDR R0, SP, 20H |
0B4F | k(41000000): MOV R1, R0, 0H |
0B50 | l(82E00010): LDR R2, SP, 10H |
0B51 | m(83E00014): LDR R3, SP, 14H |
0B52 | n(84E00018): LDR R4, SP, 18H |
0B53 | o(85E0001C): LDR R5, SP, 1CH |
0B54 | p(46000000): MOV R6, R0, 0H |
| ENDq |
0B55 | q(F7FFFD93): BL -621 [08E9H] |
| END |
| END |
| ENDr DrawMacro; |
0B56 | r(8FE00000): LDR LNK, SP, 0H |
0B57 | r(4EE80038): ADD SP, SP, 38H |
0B58 | r(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 |
0B59 | s .PROC 24 |
0B59 | s(4EE9000C): SUB SP, SP, CH |
0B5A | s(AFE00000): STR LNK, SP, 0H |
0B5B | s(A0E00004): STR R0, SP, 4H |
0B5C | s(A1E00008): STR R1, SP, 8H |
0B5D | t(80E00004): LDR R0, SP, 4H |
0B5E | t(D14A414C): BLEQ MT [trap=4, pos=19009] |
0B5F | u(81E00008): LDR R1, SP, 8H |
0B60 | u(A100001C): STR R1, R0, 1CH |
0B61 | v(80E00004): LDR R0, SP, 4H |
0B62 | v(D14A504C): BLEQ MT [trap=4, pos=19024] |
0B63 | w(41000000): MOV R1, R0, 0H |
0B64 | w(A1000020): STR R1, R0, 20H |
0B65 | x(80E00004): LDR R0, SP, 4H |
0B66 | x(D14A5B4C): BLEQ MT [trap=4, pos=19035] |
0B67 | y(41000000): MOV R1, R0, 0H |
0B68 | y(A1000024): STR R1, R0, 24H |
0B69 | z(80E00004): LDR R0, SP, 4H |
0B6A | z(D14A654C): BLEQ MT [trap=4, pos=19045] |
0B6B | a(81E00004): LDR R1, SP, 4H |
0B6C | a(D14A6C4C): BLEQ MT [trap=4, pos=19052] |
0B6D | b(81100008): LDR R1, R1, 8H |
0B6E | b(A1000030): STR R1, R0, 30H |
0B6F | c(80E00004): LDR R0, SP, 4H |
0B70 | c(D14A714C): BLEQ MT [trap=4, pos=19057] |
0B71 | d(81E00004): LDR R1, SP, 4H |
0B72 | d(D14A784C): BLEQ MT [trap=4, pos=19064] |
0B73 | e(8110000C): LDR R1, R1, CH |
0B74 | e(A1000034): STR R1, R0, 34H |
| G.colf := Display.black;g G.markedh := FALSE;i |
0B75 | f(80E00004): LDR R0, SP, 4H |
0B76 | f(D14A834C): BLEQ MT [trap=4, pos=19075] |
0B77 | g(41000000): MOV R1, R0, 0H |
0B78 | g(A1000038): STR R1, R0, 38H |
0B79 | h(80E00004): LDR R0, SP, 4H |
0B7A | h(D14A9E4C): BLEQ MT [trap=4, pos=19102] |
0B7B | i(41000000): MOV R1, R0, 0H |
0B7C | i(B100003C): STR R1, R0, 3CH |
| G.markj.next := NIL;k G.tickedl := TRUE;m G.handlen := Handle |
0B7D | j(80E00004): LDR R0, SP, 4H |
0B7E | j(D14AB34C): BLEQ MT [trap=4, pos=19123] |
0B7F | k(41000000): MOV R1, R0, 0H |
0B80 | k(A1000048): STR R1, R0, 48H |
0B81 | l(80E00004): LDR R0, SP, 4H |
0B82 | l(D14AC94C): BLEQ MT [trap=4, pos=19145] |
0B83 | m(41000001): MOV R1, R0, 1H |
0B84 | m(B100003D): STR R1, R0, 3DH |
0B85 | n(80E00004): LDR R0, SP, 4H |
0B86 | n(D14ADB4C): BLEQ MT [trap=4, pos=19163] |
| ENDo Open; |
0B87 | o(F7000000): BL 0 [0B88H] |
0B88 | o(41F913C4): SUB R1, LNK, 13C4H |
0B89 | o(A1000018): STR R1, R0, 18H |
0B8A | o(8FE00000): LDR LNK, SP, 0H |
0B8B | o(4EE8000C): ADD SP, SP, CH |
0B8C | o(C700000F): B LNK |
| |
| BEGINp DW := Display.Width - 8;q DH := Display.Height - 8;r CL := 0;s |
0B8D | p .PROC 0 |
0B8D | p .ENTRYPOINT |
0B8D | p(4EE90004): SUB SP, SP, 4H |
0B8E | p(AFE00000): STR LNK, SP, 0H |
0B8F | q .FIXUP D |
0B8F | q(8D10004E): LDR SB, MT, MOD1 [Display] |
0B90 | q(80D00004): LDR R0, SB, VAR4 |
0B91 | q(40090008): SUB R0, R0, 8H |
0B92 | q .FIXUP D |
0B92 | q(8D000003): LDR SB, MT, MOD0 [GraphicFrames] |
0B93 | q(A0D00108): STR R0, SB, 108H [data] |
0B94 | r .FIXUP D |
0B94 | r(8D100002): LDR SB, MT, MOD1 [Display] |
0B95 | r(80D00005): LDR R0, SB, VAR5 |
0B96 | r(40090008): SUB R0, R0, 8H |
0B97 | r .FIXUP D |
0B97 | r(8D000003): LDR SB, MT, MOD0 [GraphicFrames] |
0B98 | r(A0D0010C): STR R0, SB, 10CH [data] |
0B99 | s(40000000): MOV R0, R0, 0H |
0B9A | s(A0D00110): STR R0, SB, 110H |
| Texts.OpenWriter(W)t;u |
0B9B | t(40D80114): ADD R0, SB, 114H |
0B9C | t .FIXUP D |
0B9C | t(8D500005): LDR SB, MT, MOD5 [Texts] |
0B9D | t(41D80005): ADD R1, SB, VAR5 |
0B9E | u .FIXUP P |
0B9E | u(F7517075): BL MOD5 [Texts] PROC23 |
| tack := SYSTEM.ADR($0707 4122 1408 1422 4100$);v |
0B9F | v .FIXUP D |
0B9F | v(8D000003): LDR SB, MT, MOD0 [GraphicFrames] |
0BA0 | v(40D8014C): ADD R0, SB, 14CH [data] |
0BA1 | v(A0D000F4): STR R0, SB, F4H |
| dotted := SYSTEM.ADR($2004 0000 1111 1111 0000 0000 0000 0000 0000 0000$);w |
0BA2 | w(40D80158): ADD R0, SB, 158H |
0BA3 | w(A0D000F8): STR R0, SB, F8H |
| dotted1 := SYSTEM.ADR($2004 0000 1111 1111 0000 0000 4444 4444 0000 0000$);x |
0BA4 | x(40D8016C): ADD R0, SB, 16CH |
0BA5 | x(A0D000FC): STR R0, SB, FCH |
| Crosshair.Fade := FlipCross;y Crosshair.Draw := FlipCross;z |
0BA6 | y(F7000000): BL 0 [0BA7H] |
0BA7 | y(40F92B2C): SUB R0, LNK, 2B2CH |
0BA8 | y(A0D000EC): STR R0, SB, ECH |
0BA9 | z(F7000000): BL 0 [0BAAH] |
0BAA | z(40F92B38): SUB R0, LNK, 2B38H |
0BAB | z(A0D000F0): STR R0, SB, F0H |
| Graphics.InstallDrawMethods(DrawLine,a DrawCaption,b DrawMacro)c |
0BAC | a(F7000000): BL 0 [0BADH] |
0BAD | a(40F90870): SUB R0, LNK, 870H |
0BAE | b(F7000000): BL 0 [0BAFH] |
0BAF | b(41F906A0): SUB R1, LNK, 6A0H |
0BB0 | c(F7000000): BL 0 [0BB1H] |
0BB1 | c(42F9038C): SUB R2, LNK, 38CH |
| ENDd GraphicFrames.e |
0BB2 | d .FIXUP P |
0BB2 | d(F7735014): BL MOD7 [Graphics] PROC53 |
0BB3 | e(8FE00000): LDR LNK, SP, 0H |
0BB4 | e(4EE80004): ADD SP, SP, 4H |
0BB5 | e(C700000F): B LNK |