| MODULE Viewers; (*JG 14.9.90 / NW 15.9.2013*) |
| .MODULE Viewers (KEY 25ABF199, VERSION 1, SIZE 00001620) |
| .IMPORT Display (KEY 4C08D3EA) |
| .TYPEDESC 00000040 00000001 FFFFFFFF FFFFFFFF 00000000 00000004 FFFFFFFF 00000020 0001C007 FFFFFFFF FFFFFFFF FFFFFFFF 00000040 00000005 00030001 FFFFFFFF 00000020 00000000 00000004 FFFFFFFF |
| .DATA 18H |
| .POINTER_REFERENCES 5CH 60H 64H |
| .FIXUP T EH |
| IMPORT Display; |
| |
| CONST restore* = 0; modify* = 1; suspend* = 2; (*message ids*) |
| inf = 65535; |
| |
| TYPE Viewer* = POINTER TO ViewerDesc; |
| ViewerDesc* = RECORD (Display.FrameDesc) state*: INTEGER END; |
| |
| (*state > 1: displayed; state = 1: filler; state = 0: closed; state < 0: suspended*) |
| |
| ViewerMsg* = RECORD (Display.FrameMsg) |
| id*: INTEGER; |
| X*, Y*, W*, H*: INTEGER; |
| state*: INTEGER |
| END; |
| |
| Track = POINTER TO TrackDesc; |
| TrackDesc = RECORD (ViewerDesc) under: Display.Frame END; |
| |
| VAR curW*, minH*, DH: INTEGER; |
| FillerTrack: Track; FillerViewer, |
| backup: Viewer; (*last closed viewer*) |
| |
| PROCEDURE Open* (V: Viewer; X, Y: INTEGER); |
| VAR T, u, v: Display.Frame; M: ViewerMsg; |
| BEGINa |
0000 | a .PROC 1 |
0000 | a .PROC 5 |
0000 | a(4EE90034): SUB SP, SP, 34H |
0001 | a(AFE00000): STR LNK, SP, 0H |
0002 | a(A0E00004): STR R0, SP, 4H |
0003 | a(A1E00008): STR R1, SP, 8H |
0004 | a(A2E0000C): STR R2, SP, CH |
| IF (V.stateb = 0)c & (dX < inf)e THENf |
0005 | b(80E00004): LDR R0, SP, 4H |
0006 | b(D103264C): BLEQ MT [trap=4, pos=806] |
0007 | c .PROC 2 |
0007 | c(8000001C): LDR R0, R0, 1CH |
0008 | d(E90000E6): BNE 230 [00EFH] |
0009 | e(80E00008): LDR R0, SP, 8H |
000A | e(4009FFFF): SUB R0, R0, FFFFFFFFH |
000B | f(ED0000E3): BGE 227 [00EFH] |
| IF Y > DH THENg Y := DH ENDh; |
000C | g(80E0000C): LDR R0, SP, CH |
000D | g .FIXUP D |
000D | g(8D00000D): LDR SB, MT, MOD0 [Viewers] |
000E | g(81D00058): LDR R1, SB, 58H [data] |
000F | g(00090001): SUB R0, R0, R1 |
0010 | g(E6000003): BLE 3 [0014H] |
0011 | h .FIXUP D |
0011 | h(8D000004): LDR SB, MT, MOD0 [Viewers] |
0012 | h(80D00058): LDR R0, SB, 58H [data] |
0013 | h(A0E0000C): STR R0, SP, CH |
| T := FillerTrack.nexti;j |
0014 | i .PROC 3 |
0014 | i .FIXUP D |
0014 | i(8D000003): LDR SB, MT, MOD0 [Viewers] |
0015 | i .PROC 4 |
0015 | i(80D0005C): LDR R0, SB, 5CH [data] |
0016 | i(D1037A4C): BLEQ MT [trap=4, pos=890] |
0017 | j(80000000): LDR R0, R0, 0H |
0018 | j(A0E00010): STR R0, SP, 10H |
| WHILE X >= T.Xk + T.Wl DOm T := T.nextn ENDo; |
0019 | k(80E00010): LDR R0, SP, 10H |
001A | k(D103904C): BLEQ MT [trap=4, pos=912] |
001B | l(81E00010): LDR R1, SP, 10H |
001C | l(D103964C): BLEQ MT [trap=4, pos=918] |
001D | m(80000008): LDR R0, R0, 8H |
001E | m(81100010): LDR R1, R1, 10H |
001F | m(00080001): ADD R0, R0, R1 |
0020 | m(81E00008): LDR R1, SP, 8H |
0021 | m(01190000): SUB R1, R1, R0 |
0022 | m(E5000005): BLT 5 [0028H] |
0023 | n(80E00010): LDR R0, SP, 10H |
0024 | n(D103A54C): BLEQ MT [trap=4, pos=933] |
0025 | o(80000000): LDR R0, R0, 0H |
0026 | o(A0E00010): STR R0, SP, 10H |
0027 | o(E7FFFFF1): B -15 [0019H] |
| u := T.dscp;q v := u.nextr;s |
0028 | p(80E00010): LDR R0, SP, 10H |
0029 | p(D103BB4C): BLEQ MT [trap=4, pos=955] |
002A | q(80000004): LDR R0, R0, 4H |
002B | q(A0E00014): STR R0, SP, 14H |
002C | r(80E00014): LDR R0, SP, 14H |
002D | r(D103C84C): BLEQ MT [trap=4, pos=968] |
002E | s(80000000): LDR R0, R0, 0H |
002F | s(A0E00018): STR R0, SP, 18H |
| WHILE Y > v.Yt + v.Hu DOv u := v;w v := u.nextx ENDy; |
0030 | t(80E00018): LDR R0, SP, 18H |
0031 | t(D103DD4C): BLEQ MT [trap=4, pos=989] |
0032 | u(81E00018): LDR R1, SP, 18H |
0033 | u(D103E34C): BLEQ MT [trap=4, pos=995] |
0034 | v(8000000C): LDR R0, R0, CH |
0035 | v(81100014): LDR R1, R1, 14H |
0036 | v(00080001): ADD R0, R0, R1 |
0037 | v(81E0000C): LDR R1, SP, CH |
0038 | v(01190000): SUB R1, R1, R0 |
0039 | v(E6000007): BLE 7 [0041H] |
003A | w(80E00018): LDR R0, SP, 18H |
003B | w(A0E00014): STR R0, SP, 14H |
003C | x(80E00014): LDR R0, SP, 14H |
003D | x(D103FA4C): BLEQ MT [trap=4, pos=1018] |
003E | y(80000000): LDR R0, R0, 0H |
003F | y(A0E00018): STR R0, SP, 18H |
0040 | y(E7FFFFEF): B -17 [0030H] |
| IF Y < v.Yz + minH THENa Y := v.Yb + minH ENDc; |
0041 | z(80E00018): LDR R0, SP, 18H |
0042 | z(D104104C): BLEQ MT [trap=4, pos=1040] |
0043 | a(8000000C): LDR R0, R0, CH |
0044 | a .FIXUP D |
0044 | a(8D000030): LDR SB, MT, MOD0 [Viewers] |
0045 | a(81D00054): LDR R1, SB, 54H [data] |
0046 | a(00080001): ADD R0, R0, R1 |
0047 | a(81E0000C): LDR R1, SP, CH |
0048 | a(01190000): SUB R1, R1, R0 |
0049 | a(ED000007): BGE 7 [0051H] |
004A | b(80E00018): LDR R0, SP, 18H |
004B | b(D104254C): BLEQ MT [trap=4, pos=1061] |
004C | c(8000000C): LDR R0, R0, CH |
004D | c .FIXUP D |
004D | c(8D000009): LDR SB, MT, MOD0 [Viewers] |
004E | c(81D00054): LDR R1, SB, 54H [data] |
004F | c(00080001): ADD R0, R0, R1 |
0050 | c(A0E0000C): STR R0, SP, CH |
| IF (v.nextd.Ye # 0)f & (gY > v.Yh + v.Hi -j minH)k THENl |
0051 | d(80E00018): LDR R0, SP, 18H |
0052 | d(D104424C): BLEQ MT [trap=4, pos=1090] |
0053 | e(80000000): LDR R0, R0, 0H |
0054 | e(D104444C): BLEQ MT [trap=4, pos=1092] |
0055 | f(8000000C): LDR R0, R0, CH |
0056 | g(E100004F): BEQ 79 [00A6H] |
0057 | h(80E00018): LDR R0, SP, 18H |
0058 | h(D104544C): BLEQ MT [trap=4, pos=1108] |
0059 | i(81E00018): LDR R1, SP, 18H |
005A | i(D1045A4C): BLEQ MT [trap=4, pos=1114] |
005B | j(8000000C): LDR R0, R0, CH |
005C | j(81100014): LDR R1, R1, 14H |
005D | j(00080001): ADD R0, R0, R1 |
005E | k .FIXUP D |
005E | k(8D000011): LDR SB, MT, MOD0 [Viewers] |
005F | k(81D00054): LDR R1, SB, 54H [data] |
0060 | k(00090001): SUB R0, R0, R1 |
0061 | k(81E0000C): LDR R1, SP, CH |
0062 | k(01190000): SUB R1, R1, R0 |
0063 | l(E6000042): BLE 66 [00A6H] |
| V.Xm := T.Xn;o V.Wp := T.Wq;r V.Ys := v.Yt;u V.Hv := v.Hw;x |
0064 | m(80E00004): LDR R0, SP, 4H |
0065 | m(D104734C): BLEQ MT [trap=4, pos=1139] |
0066 | n(81E00010): LDR R1, SP, 10H |
0067 | n(D1047A4C): BLEQ MT [trap=4, pos=1146] |
0068 | o(81100008): LDR R1, R1, 8H |
0069 | o(A1000008): STR R1, R0, 8H |
006A | p(80E00004): LDR R0, SP, 4H |
006B | p(D1047F4C): BLEQ MT [trap=4, pos=1151] |
006C | q(81E00010): LDR R1, SP, 10H |
006D | q(D104864C): BLEQ MT [trap=4, pos=1158] |
006E | r(81100010): LDR R1, R1, 10H |
006F | r(A1000010): STR R1, R0, 10H |
0070 | s(80E00004): LDR R0, SP, 4H |
0071 | s(D1048B4C): BLEQ MT [trap=4, pos=1163] |
0072 | t(81E00018): LDR R1, SP, 18H |
0073 | t(D104924C): BLEQ MT [trap=4, pos=1170] |
0074 | u(8110000C): LDR R1, R1, CH |
0075 | u(A100000C): STR R1, R0, CH |
0076 | v(80E00004): LDR R0, SP, 4H |
0077 | v(D104974C): BLEQ MT [trap=4, pos=1175] |
0078 | w(81E00018): LDR R1, SP, 18H |
0079 | w(D1049E4C): BLEQ MT [trap=4, pos=1182] |
007A | x(81100014): LDR R1, R1, 14H |
007B | x(A1000014): STR R1, R0, 14H |
| M.id := suspend;y M.state := 0;z |
007C | y(40000002): MOV R0, R0, 2H |
007D | y(A0E0001C): STR R0, SP, 1CH |
007E | z(40000000): MOV R0, R0, 0H |
007F | z(A0E00030): STR R0, SP, 30H |
| v.handlea(vb,c M)d;e v(Viewer)f.state := 0;g |
0080 | a(80E00018): LDR R0, SP, 18H |
0081 | a(D104D74C): BLEQ MT [trap=4, pos=1239] |
0082 | b(80000018): LDR R0, R0, 18H |
0083 | b(4EE90004): SUB SP, SP, 4H |
0084 | b(A0E00000): STR R0, SP, 0H |
0085 | c(80E0001C): LDR R0, SP, 1CH |
0086 | d(41E80020): ADD R1, SP, 20H |
0087 | d .FIXUP D |
0087 | d(8D000029): LDR SB, MT, MOD0 [Viewers] |
0088 | d(42D8001C): ADD R2, SB, 1CH [data] |
0089 | e(83E00000): LDR R3, SP, 0H |
008A | e(4EE80004): ADD SP, SP, 4H |
008B | e(D104DE5C): BLEQ MT [trap=5, pos=1246] |
008C | e(D7000003): BL R3 |
008D | f(80E00018): LDR R0, SP, 18H |
008E | f(E1000005): BEQ 5 [0094H] |
008F | f(810FFFF8): LDR R1, R0, FFFFFFF8H |
0090 | f(81100004): LDR R1, R1, 4H |
0091 | f .FIXUP D |
0091 | f(8D00000A): LDR SB, MT, MOD0 [Viewers] |
0092 | f(42D80000): ADD R2, SB, 0H [data] |
0093 | f(02290001): SUB R2, R2, R1 |
0094 | f(D904E82C): BLNE MT [trap=2, pos=1256] |
0095 | g(41000000): MOV R1, R0, 0H |
0096 | g(A100001C): STR R1, R0, 1CH |
| V.nexth := v.nexti;j u.nextk := V;l V.statem := 2 |
0097 | h(80E00004): LDR R0, SP, 4H |
0098 | h(D105034C): BLEQ MT [trap=4, pos=1283] |
0099 | i(81E00018): LDR R1, SP, 18H |
009A | i(D1050D4C): BLEQ MT [trap=4, pos=1293] |
009B | j(81100000): LDR R1, R1, 0H |
009C | j(A1000000): STR R1, R0, 0H |
009D | k(80E00014): LDR R0, SP, 14H |
009E | k(D105154C): BLEQ MT [trap=4, pos=1301] |
009F | l(81E00004): LDR R1, SP, 4H |
00A0 | l(A1000000): STR R1, R0, 0H |
00A1 | m(80E00004): LDR R0, SP, 4H |
00A2 | m(D105234C): BLEQ MT [trap=4, pos=1315] |
| ELSEn Vo.Xp := T.Xq;r V.Ws := T.Wt;u V.Yv := v.Yw;x V.Hy := Y - v.Yz;a |
00A3 | n(41000002): MOV R1, R0, 2H |
00A4 | n(A100001C): STR R1, R0, 1CH |
00A5 | o(E7000049): B 73 [00EFH] |
00A6 | p(80E00004): LDR R0, SP, 4H |
00A7 | p(D105374C): BLEQ MT [trap=4, pos=1335] |
00A8 | q(81E00010): LDR R1, SP, 10H |
00A9 | q(D1053E4C): BLEQ MT [trap=4, pos=1342] |
00AA | r(81100008): LDR R1, R1, 8H |
00AB | r(A1000008): STR R1, R0, 8H |
00AC | s(80E00004): LDR R0, SP, 4H |
00AD | s(D105434C): BLEQ MT [trap=4, pos=1347] |
00AE | t(81E00010): LDR R1, SP, 10H |
00AF | t(D1054A4C): BLEQ MT [trap=4, pos=1354] |
00B0 | u(81100010): LDR R1, R1, 10H |
00B1 | u(A1000010): STR R1, R0, 10H |
00B2 | v(80E00004): LDR R0, SP, 4H |
00B3 | v(D1054F4C): BLEQ MT [trap=4, pos=1359] |
00B4 | w(81E00018): LDR R1, SP, 18H |
00B5 | w(D105564C): BLEQ MT [trap=4, pos=1366] |
00B6 | x(8110000C): LDR R1, R1, CH |
00B7 | x(A100000C): STR R1, R0, CH |
00B8 | y(80E00004): LDR R0, SP, 4H |
00B9 | y(D1055B4C): BLEQ MT [trap=4, pos=1371] |
00BA | z(81E00018): LDR R1, SP, 18H |
00BB | z(D105664C): BLEQ MT [trap=4, pos=1382] |
00BC | a(82E0000C): LDR R2, SP, CH |
00BD | a(8110000C): LDR R1, R1, CH |
00BE | a(01290001): SUB R1, R2, R1 |
00BF | a(A1000014): STR R1, R0, 14H |
| M.id := modify;b M.Y := Y;c M.H := v.Yd + v.He -f Y;g |
00C0 | b(40000001): MOV R0, R0, 1H |
00C1 | b(A0E0001C): STR R0, SP, 1CH |
00C2 | c(80E0000C): LDR R0, SP, CH |
00C3 | c(A0E00024): STR R0, SP, 24H |
00C4 | d(80E00018): LDR R0, SP, 18H |
00C5 | d(D105944C): BLEQ MT [trap=4, pos=1428] |
00C6 | e(81E00018): LDR R1, SP, 18H |
00C7 | e(D1059A4C): BLEQ MT [trap=4, pos=1434] |
00C8 | f(8000000C): LDR R0, R0, CH |
00C9 | f(81100014): LDR R1, R1, 14H |
00CA | f(00080001): ADD R0, R0, R1 |
00CB | g(81E0000C): LDR R1, SP, CH |
00CC | g(00090001): SUB R0, R0, R1 |
00CD | g(A0E0002C): STR R0, SP, 2CH |
| v.handleh(vi,j M)k;l v.Ym := M.Y;n v.Ho := M.H;p |
00CE | h(80E00018): LDR R0, SP, 18H |
00CF | h(D105B04C): BLEQ MT [trap=4, pos=1456] |
00D0 | i(80000018): LDR R0, R0, 18H |
00D1 | i(4EE90004): SUB SP, SP, 4H |
00D2 | i(A0E00000): STR R0, SP, 0H |
00D3 | j(80E0001C): LDR R0, SP, 1CH |
00D4 | k(41E80020): ADD R1, SP, 20H |
00D5 | k .FIXUP D |
00D5 | k(8D000044): LDR SB, MT, MOD0 [Viewers] |
00D6 | k(42D8001C): ADD R2, SB, 1CH [data] |
00D7 | l(83E00000): LDR R3, SP, 0H |
00D8 | l(4EE80004): ADD SP, SP, 4H |
00D9 | l(D105B75C): BLEQ MT [trap=5, pos=1463] |
00DA | l(D7000003): BL R3 |
00DB | m(80E00018): LDR R0, SP, 18H |
00DC | m(D105BB4C): BLEQ MT [trap=4, pos=1467] |
00DD | n(81E00024): LDR R1, SP, 24H |
00DE | n(A100000C): STR R1, R0, CH |
00DF | o(80E00018): LDR R0, SP, 18H |
00E0 | o(D105C74C): BLEQ MT [trap=4, pos=1479] |
00E1 | p(81E0002C): LDR R1, SP, 2CH |
00E2 | p(A1000014): STR R1, R0, 14H |
| V.nextq := v;r u.nexts := V;t V.stateu := 2 |
00E3 | q(80E00004): LDR R0, SP, 4H |
00E4 | q(D105DE4C): BLEQ MT [trap=4, pos=1502] |
00E5 | r(81E00018): LDR R1, SP, 18H |
00E6 | r(A1000000): STR R1, R0, 0H |
00E7 | s(80E00014): LDR R0, SP, 14H |
00E8 | s(D105EB4C): BLEQ MT [trap=4, pos=1515] |
00E9 | t(81E00004): LDR R1, SP, 4H |
00EA | t(A1000000): STR R1, R0, 0H |
00EB | u(80E00004): LDR R0, SP, 4H |
00EC | u(D105F94C): BLEQ MT [trap=4, pos=1529] |
| ENDv |
00ED | v(41000002): MOV R1, R0, 2H |
00EE | v(A100001C): STR R1, R0, 1CH |
| END |
| ENDw Open; |
00EF | w(8FE00000): LDR LNK, SP, 0H |
00F0 | w(4EE80034): ADD SP, SP, 34H |
00F1 | w(C700000F): B LNK |
| |
| PROCEDURE Change* (V: Viewer; Y: INTEGER); |
| VAR v: Display.Frame; M: ViewerMsg; |
| BEGINx |
00F2 | x .PROC 6 |
00F2 | x(4EE90028): SUB SP, SP, 28H |
00F3 | x(AFE00000): STR LNK, SP, 0H |
00F4 | x(A0E00004): STR R0, SP, 4H |
00F5 | x(A1E00008): STR R1, SP, 8H |
| IF V.statey > 1 THENz |
00F6 | y(80E00004): LDR R0, SP, 4H |
00F7 | y(D106894C): BLEQ MT [trap=4, pos=1673] |
00F8 | z(8000001C): LDR R0, R0, 1CH |
00F9 | z(40090001): SUB R0, R0, 1H |
00FA | z(E600005E): BLE 94 [0159H] |
| IF Y > DH THENa Y := DH ENDb; |
00FB | a(80E00008): LDR R0, SP, 8H |
00FC | a .FIXUP D |
00FC | a(8D000027): LDR SB, MT, MOD0 [Viewers] |
00FD | a(81D00058): LDR R1, SB, 58H [data] |
00FE | a(00090001): SUB R0, R0, R1 |
00FF | a(E6000003): BLE 3 [0103H] |
0100 | b .FIXUP D |
0100 | b(8D000004): LDR SB, MT, MOD0 [Viewers] |
0101 | b(80D00058): LDR R0, SB, 58H [data] |
0102 | b(A0E00008): STR R0, SP, 8H |
| v := V.nextc;d |
0103 | c(80E00004): LDR R0, SP, 4H |
0104 | c(D106C64C): BLEQ MT [trap=4, pos=1734] |
0105 | d(80000000): LDR R0, R0, 0H |
0106 | d(A0E0000C): STR R0, SP, CH |
| IF (v.nexte.Yf # 0)g & (hY > v.Yi + v.Hj -k minH)l THENm Y := v.Yn + v.Ho -p minH ENDq; |
0107 | e(80E0000C): LDR R0, SP, CH |
0108 | e(D106D84C): BLEQ MT [trap=4, pos=1752] |
0109 | f(80000000): LDR R0, R0, 0H |
010A | f(D106DA4C): BLEQ MT [trap=4, pos=1754] |
010B | g(8000000C): LDR R0, R0, CH |
010C | h(E1000018): BEQ 24 [0125H] |
010D | i(80E0000C): LDR R0, SP, CH |
010E | i(D106EA4C): BLEQ MT [trap=4, pos=1770] |
010F | j(81E0000C): LDR R1, SP, CH |
0110 | j(D106F04C): BLEQ MT [trap=4, pos=1776] |
0111 | k(8000000C): LDR R0, R0, CH |
0112 | k(81100014): LDR R1, R1, 14H |
0113 | k(00080001): ADD R0, R0, R1 |
0114 | l .FIXUP D |
0114 | l(8D000014): LDR SB, MT, MOD0 [Viewers] |
0115 | l(81D00054): LDR R1, SB, 54H [data] |
0116 | l(00090001): SUB R0, R0, R1 |
0117 | l(81E00008): LDR R1, SP, 8H |
0118 | l(01190000): SUB R1, R1, R0 |
0119 | m(E600000B): BLE 11 [0125H] |
011A | n(80E0000C): LDR R0, SP, CH |
011B | n(D107064C): BLEQ MT [trap=4, pos=1798] |
011C | o(81E0000C): LDR R1, SP, CH |
011D | o(D1070C4C): BLEQ MT [trap=4, pos=1804] |
011E | p(8000000C): LDR R0, R0, CH |
011F | p(81100014): LDR R1, R1, 14H |
0120 | p(00080001): ADD R0, R0, R1 |
0121 | q .FIXUP D |
0121 | q(8D00000D): LDR SB, MT, MOD0 [Viewers] |
0122 | q(81D00054): LDR R1, SB, 54H [data] |
0123 | q(00090001): SUB R0, R0, R1 |
0124 | q(A0E00008): STR R0, SP, 8H |
| IF Y >= V.Yr + minH THENs |
0125 | r(80E00004): LDR R0, SP, 4H |
0126 | r(D1072A4C): BLEQ MT [trap=4, pos=1834] |
0127 | s(8000000C): LDR R0, R0, CH |
0128 | s .FIXUP D |
0128 | s(8D000007): LDR SB, MT, MOD0 [Viewers] |
0129 | s(81D00054): LDR R1, SB, 54H [data] |
012A | s(00080001): ADD R0, R0, R1 |
012B | s(81E00008): LDR R1, SP, 8H |
012C | s(01190000): SUB R1, R1, R0 |
012D | s(E500002B): BLT 43 [0159H] |
| M.id := modify;t M.Y := Y;u M.H := v.Yv + v.Hw -x Y;y |
012E | t(40000001): MOV R0, R0, 1H |
012F | t(A0E00010): STR R0, SP, 10H |
0130 | u(80E00008): LDR R0, SP, 8H |
0131 | u(A0E00018): STR R0, SP, 18H |
0132 | v(80E0000C): LDR R0, SP, CH |
0133 | v(D107634C): BLEQ MT [trap=4, pos=1891] |
0134 | w(81E0000C): LDR R1, SP, CH |
0135 | w(D107694C): BLEQ MT [trap=4, pos=1897] |
0136 | x(8000000C): LDR R0, R0, CH |
0137 | x(81100014): LDR R1, R1, 14H |
0138 | x(00080001): ADD R0, R0, R1 |
0139 | y(81E00008): LDR R1, SP, 8H |
013A | y(00090001): SUB R0, R0, R1 |
013B | y(A0E00020): STR R0, SP, 20H |
| v.handlez(va,b M)c;d v.Ye := M.Y;f v.Hg := M.H;h V.Hi := Y - V.Yj |
013C | z(80E0000C): LDR R0, SP, CH |
013D | z(D1077F4C): BLEQ MT [trap=4, pos=1919] |
013E | a(80000018): LDR R0, R0, 18H |
013F | a(4EE90004): SUB SP, SP, 4H |
0140 | a(A0E00000): STR R0, SP, 0H |
0141 | b(80E00010): LDR R0, SP, 10H |
0142 | c(41E80014): ADD R1, SP, 14H |
0143 | c .FIXUP D |
0143 | c(8D00001B): LDR SB, MT, MOD0 [Viewers] |
0144 | c(42D8001C): ADD R2, SB, 1CH [data] |
0145 | d(83E00000): LDR R3, SP, 0H |
0146 | d(4EE80004): ADD SP, SP, 4H |
0147 | d(D107865C): BLEQ MT [trap=5, pos=1926] |
0148 | d(D7000003): BL R3 |
0149 | e(80E0000C): LDR R0, SP, CH |
014A | e(D1078A4C): BLEQ MT [trap=4, pos=1930] |
014B | f(81E00018): LDR R1, SP, 18H |
014C | f(A100000C): STR R1, R0, CH |
014D | g(80E0000C): LDR R0, SP, CH |
014E | g(D107964C): BLEQ MT [trap=4, pos=1942] |
014F | h(81E00020): LDR R1, SP, 20H |
0150 | h(A1000014): STR R1, R0, 14H |
0151 | i(80E00004): LDR R0, SP, 4H |
0152 | i(D107A24C): BLEQ MT [trap=4, pos=1954] |
0153 | j(81E00004): LDR R1, SP, 4H |
0154 | j(D107AD4C): BLEQ MT [trap=4, pos=1965] |
| ENDk |
0155 | k(82E00008): LDR R2, SP, 8H |
0156 | k(8110000C): LDR R1, R1, CH |
0157 | k(01290001): SUB R1, R2, R1 |
0158 | k(A1000014): STR R1, R0, 14H |
| END |
| ENDl Change; |
0159 | l(8FE00000): LDR LNK, SP, 0H |
015A | l(4EE80028): ADD SP, SP, 28H |
015B | l(C700000F): B LNK |
| |
| PROCEDURE RestoreTrack (S: Display.Frame); |
| VAR T, t, v: Display.Frame; M: ViewerMsg; |
| BEGINm t := S.nextn;o |
015C | m(4EE9002C): SUB SP, SP, 2CH |
015D | m(AFE00000): STR LNK, SP, 0H |
015E | m(A0E00004): STR R0, SP, 4H |
015F | n(80E00004): LDR R0, SP, 4H |
0160 | n(D1083D4C): BLEQ MT [trap=4, pos=2109] |
0161 | o(80000000): LDR R0, R0, 0H |
0162 | o(A0E0000C): STR R0, SP, CH |
| WHILE t.nextp # S DOq t := t.nextr ENDs; |
0163 | p(80E0000C): LDR R0, SP, CH |
0164 | p(D1084F4C): BLEQ MT [trap=4, pos=2127] |
0165 | q(80000000): LDR R0, R0, 0H |
0166 | q(81E00004): LDR R1, SP, 4H |
0167 | q(00090001): SUB R0, R0, R1 |
0168 | q(E1000005): BEQ 5 [016EH] |
0169 | r(80E0000C): LDR R0, SP, CH |
016A | r(D108624C): BLEQ MT [trap=4, pos=2146] |
016B | s(80000000): LDR R0, R0, 0H |
016C | s(A0E0000C): STR R0, SP, CH |
016D | s(E7FFFFF5): B -11 [0163H] |
| T := S(Track)t.under;u |
016E | t(80E00004): LDR R0, SP, 4H |
016F | t(E1000005): BEQ 5 [0175H] |
0170 | t(810FFFF8): LDR R1, R0, FFFFFFF8H |
0171 | t(81100008): LDR R1, R1, 8H |
0172 | t .FIXUP D |
0172 | t(8D00002F): LDR SB, MT, MOD0 [Viewers] |
0173 | t(42D80030): ADD R2, SB, 30H [data] |
0174 | t(02290001): SUB R2, R2, R1 |
0175 | t(D908792C): BLNE MT [trap=2, pos=2169] |
0176 | u(80000020): LDR R0, R0, 20H |
0177 | u(A0E00008): STR R0, SP, 8H |
| WHILE T.nextv # NIL DOw T := T.nextx ENDy; |
0178 | v(80E00008): LDR R0, SP, 8H |
0179 | v(D108914C): BLEQ MT [trap=4, pos=2193] |
017A | w(80000000): LDR R0, R0, 0H |
017B | w(E1000005): BEQ 5 [0181H] |
017C | x(80E00008): LDR R0, SP, 8H |
017D | x(D108A64C): BLEQ MT [trap=4, pos=2214] |
017E | y(80000000): LDR R0, R0, 0H |
017F | y(A0E00008): STR R0, SP, 8H |
0180 | y(E7FFFFF7): B -9 [0178H] |
| t.nextz := S(Track)a.under;b T.nextc := S.nextd;e M.id := restore;f |
0181 | z(80E0000C): LDR R0, SP, CH |
0182 | z(D108B64C): BLEQ MT [trap=4, pos=2230] |
0183 | a(81E00004): LDR R1, SP, 4H |
0184 | a(E1000005): BEQ 5 [018AH] |
0185 | a(821FFFF8): LDR R2, R1, FFFFFFF8H |
0186 | a(82200008): LDR R2, R2, 8H |
0187 | a .FIXUP D |
0187 | a(8D000015): LDR SB, MT, MOD0 [Viewers] |
0188 | a(43D80030): ADD R3, SB, 30H [data] |
0189 | a(03390002): SUB R3, R3, R2 |
018A | a(D908C22C): BLNE MT [trap=2, pos=2242] |
018B | b(81100020): LDR R1, R1, 20H |
018C | b(A1000000): STR R1, R0, 0H |
018D | c(80E00008): LDR R0, SP, 8H |
018E | c(D108D04C): BLEQ MT [trap=4, pos=2256] |
018F | d(81E00004): LDR R1, SP, 4H |
0190 | d(D108DA4C): BLEQ MT [trap=4, pos=2266] |
0191 | e(81100000): LDR R1, R1, 0H |
0192 | e(A1000000): STR R1, R0, 0H |
0193 | f(40000000): MOV R0, R0, 0H |
0194 | f(A0E00014): STR R0, SP, 14H |
| REPEAT t := t.nextg;h v := t.dsci;j |
0195 | g(80E0000C): LDR R0, SP, CH |
0196 | g(D109034C): BLEQ MT [trap=4, pos=2307] |
0197 | h(80000000): LDR R0, R0, 0H |
0198 | h(A0E0000C): STR R0, SP, CH |
0199 | i(80E0000C): LDR R0, SP, CH |
019A | i(D1090F4C): BLEQ MT [trap=4, pos=2319] |
019B | j(80000004): LDR R0, R0, 4H |
019C | j(A0E00010): STR R0, SP, 10H |
| REPEAT v := v.nextk;l v.handlem(vn,o M)p;q v(Viewer)r.state := - v(Viewer)s.state |
019D | k(80E00010): LDR R0, SP, 10H |
019E | k(D109294C): BLEQ MT [trap=4, pos=2345] |
019F | l(80000000): LDR R0, R0, 0H |
01A0 | l(A0E00010): STR R0, SP, 10H |
01A1 | m(80E00010): LDR R0, SP, 10H |
01A2 | m(D109334C): BLEQ MT [trap=4, pos=2355] |
01A3 | n(80000018): LDR R0, R0, 18H |
01A4 | n(4EE90004): SUB SP, SP, 4H |
01A5 | n(A0E00000): STR R0, SP, 0H |
01A6 | o(80E00014): LDR R0, SP, 14H |
01A7 | p(41E80018): ADD R1, SP, 18H |
01A8 | p .FIXUP D |
01A8 | p(8D000021): LDR SB, MT, MOD0 [Viewers] |
01A9 | p(42D8001C): ADD R2, SB, 1CH [data] |
01AA | q(83E00000): LDR R3, SP, 0H |
01AB | q(4EE80004): ADD SP, SP, 4H |
01AC | q(D1093A5C): BLEQ MT [trap=5, pos=2362] |
01AD | q(D7000003): BL R3 |
01AE | r(80E00010): LDR R0, SP, 10H |
01AF | r(E1000005): BEQ 5 [01B5H] |
01B0 | r(810FFFF8): LDR R1, R0, FFFFFFF8H |
01B1 | r(81100004): LDR R1, R1, 4H |
01B2 | r .FIXUP D |
01B2 | r(8D00000A): LDR SB, MT, MOD0 [Viewers] |
01B3 | r(42D80000): ADD R2, SB, 0H [data] |
01B4 | r(02290001): SUB R2, R2, R1 |
01B5 | r(D909442C): BLNE MT [trap=2, pos=2372] |
01B6 | s(81E00010): LDR R1, SP, 10H |
01B7 | s(E1000004): BEQ 4 [01BCH] |
01B8 | s(821FFFF8): LDR R2, R1, FFFFFFF8H |
01B9 | s(82200004): LDR R2, R2, 4H |
01BA | s(43D80000): ADD R3, SB, 0H |
01BB | s(03390002): SUB R3, R3, R2 |
01BC | s(D909592C): BLNE MT [trap=2, pos=2393] |
| UNTILt v = t.dscu |
01BD | t(8110001C): LDR R1, R1, 1CH |
01BE | t(42000000): MOV R2, R0, 0H |
01BF | t(01290001): SUB R1, R2, R1 |
01C0 | t(A100001C): STR R1, R0, 1CH |
01C1 | u(80E0000C): LDR R0, SP, CH |
01C2 | u(D109754C): BLEQ MT [trap=4, pos=2421] |
| UNTILv t = T |
01C3 | v(81E00010): LDR R1, SP, 10H |
01C4 | v(80000004): LDR R0, R0, 4H |
01C5 | v(01190000): SUB R1, R1, R0 |
01C6 | v(E9FFFFD6): BNE -42 [019DH] |
| ENDw RestoreTrack; |
01C7 | w(80E0000C): LDR R0, SP, CH |
01C8 | w(81E00008): LDR R1, SP, 8H |
01C9 | w(00090001): SUB R0, R0, R1 |
01CA | w(E9FFFFCA): BNE -54 [0195H] |
01CB | w(8FE00000): LDR LNK, SP, 0H |
01CC | w(4EE8002C): ADD SP, SP, 2CH |
01CD | w(C700000F): B LNK |
| |
| PROCEDURE Close* (V: Viewer); |
| VAR T, U: Display.Frame; M: ViewerMsg; |
| BEGINx |
01CE | x .PROC 7 |
01CE | x(4EE90028): SUB SP, SP, 28H |
01CF | x(AFE00000): STR LNK, SP, 0H |
01D0 | x(A0E00004): STR R0, SP, 4H |
| IF V.statey > 1 THENz |
01D1 | y(80E00004): LDR R0, SP, 4H |
01D2 | y(D109FC4C): BLEQ MT [trap=4, pos=2556] |
01D3 | z(8000001C): LDR R0, R0, 1CH |
01D4 | z(40090001): SUB R0, R0, 1H |
01D5 | z(E60000A3): BLE 163 [0279H] |
| U := V.nexta;b T := FillerTrack;c |
01D6 | a(80E00004): LDR R0, SP, 4H |
01D7 | a(D10A174C): BLEQ MT [trap=4, pos=2583] |
01D8 | b(80000000): LDR R0, R0, 0H |
01D9 | b(A0E0000C): STR R0, SP, CH |
01DA | c .FIXUP D |
01DA | c(8D000028): LDR SB, MT, MOD0 [Viewers] |
01DB | c(80D0005C): LDR R0, SB, 5CH [data] |
01DC | c(A0E00008): STR R0, SP, 8H |
| REPEAT T := T.nextd UNTILe V.Xf < T.Xg + T.Wh;i |
01DD | d(80E00008): LDR R0, SP, 8H |
01DE | d(D10A434C): BLEQ MT [trap=4, pos=2627] |
01DF | e(80000000): LDR R0, R0, 0H |
01E0 | e(A0E00008): STR R0, SP, 8H |
01E1 | f(80E00004): LDR R0, SP, 4H |
01E2 | f(D10A4D4C): BLEQ MT [trap=4, pos=2637] |
01E3 | g(81E00008): LDR R1, SP, 8H |
01E4 | g(D10A534C): BLEQ MT [trap=4, pos=2643] |
01E5 | h(82E00008): LDR R2, SP, 8H |
01E6 | h(D10A594C): BLEQ MT [trap=4, pos=2649] |
01E7 | i(81100008): LDR R1, R1, 8H |
01E8 | i(82200010): LDR R2, R2, 10H |
01E9 | i(01180002): ADD R1, R1, R2 |
01EA | i(80000008): LDR R0, R0, 8H |
01EB | i(00090001): SUB R0, R0, R1 |
01EC | i(EDFFFFF0): BGE -16 [01DDH] |
| IF (T(Track)j.under = NIL)k OR (lU.nextm # V)n THENo |
01ED | j(80E00008): LDR R0, SP, 8H |
01EE | j(E1000005): BEQ 5 [01F4H] |
01EF | j(810FFFF8): LDR R1, R0, FFFFFFF8H |
01F0 | j(81100008): LDR R1, R1, 8H |
01F1 | j .FIXUP D |
01F1 | j(8D000017): LDR SB, MT, MOD0 [Viewers] |
01F2 | j(42D80030): ADD R2, SB, 30H [data] |
01F3 | j(02290001): SUB R2, R2, R1 |
01F4 | j(D90A6D2C): BLNE MT [trap=2, pos=2669] |
01F5 | k(80000020): LDR R0, R0, 20H |
01F6 | l(E1000006): BEQ 6 [01FDH] |
01F7 | m(80E0000C): LDR R0, SP, CH |
01F8 | m(D10A854C): BLEQ MT [trap=4, pos=2693] |
01F9 | n(80000000): LDR R0, R0, 0H |
01FA | n(81E00004): LDR R1, SP, 4H |
01FB | n(00090001): SUB R0, R0, R1 |
01FC | o(E100004C): BEQ 76 [0249H] |
| M.id := suspend;p M.state := 0;q |
01FD | p(40000002): MOV R0, R0, 2H |
01FE | p(A0E00010): STR R0, SP, 10H |
01FF | q(40000000): MOV R0, R0, 0H |
0200 | q(A0E00024): STR R0, SP, 24H |
| V.handler(Vs,t M)u;v V.statew := 0;x backup := V;y |
0201 | r(80E00004): LDR R0, SP, 4H |
0202 | r(D10AC74C): BLEQ MT [trap=4, pos=2759] |
0203 | s(80000018): LDR R0, R0, 18H |
0204 | s(4EE90004): SUB SP, SP, 4H |
0205 | s(A0E00000): STR R0, SP, 0H |
0206 | t(80E00008): LDR R0, SP, 8H |
0207 | u(41E80014): ADD R1, SP, 14H |
0208 | u .FIXUP D |
0208 | u(8D000017): LDR SB, MT, MOD0 [Viewers] |
0209 | u(42D8001C): ADD R2, SB, 1CH [data] |
020A | v(83E00000): LDR R3, SP, 0H |
020B | v(4EE80004): ADD SP, SP, 4H |
020C | v(D10ACE5C): BLEQ MT [trap=5, pos=2766] |
020D | v(D7000003): BL R3 |
020E | w(80E00004): LDR R0, SP, 4H |
020F | w(D10AD64C): BLEQ MT [trap=4, pos=2774] |
0210 | x(41000000): MOV R1, R0, 0H |
0211 | x(A100001C): STR R1, R0, 1CH |
0212 | y(80E00004): LDR R0, SP, 4H |
0213 | y .FIXUP D |
0213 | y(8D00000B): LDR SB, MT, MOD0 [Viewers] |
0214 | y(A0D00064): STR R0, SB, 64H [data] |
| M.id := modify;z M.Y := V.Ya;b M.H := V.Hc + U.Hd;e |
0215 | z(40000001): MOV R0, R0, 1H |
0216 | z(A0E00010): STR R0, SP, 10H |
0217 | a(80E00004): LDR R0, SP, 4H |
0218 | a(D10B0C4C): BLEQ MT [trap=4, pos=2828] |
0219 | b(8000000C): LDR R0, R0, CH |
021A | b(A0E00018): STR R0, SP, 18H |
021B | c(80E00004): LDR R0, SP, 4H |
021C | c(D10B184C): BLEQ MT [trap=4, pos=2840] |
021D | d(81E0000C): LDR R1, SP, CH |
021E | d(D10B1E4C): BLEQ MT [trap=4, pos=2846] |
021F | e(80000014): LDR R0, R0, 14H |
0220 | e(81100014): LDR R1, R1, 14H |
0221 | e(00080001): ADD R0, R0, R1 |
0222 | e(A0E00020): STR R0, SP, 20H |
| U.handlef(Ug,h M)i;j U.Yk := M.Y;l U.Hm := M.H;n |
0223 | f(80E0000C): LDR R0, SP, CH |
0224 | f(D10B304C): BLEQ MT [trap=4, pos=2864] |
0225 | g(80000018): LDR R0, R0, 18H |
0226 | g(4EE90004): SUB SP, SP, 4H |
0227 | g(A0E00000): STR R0, SP, 0H |
0228 | h(80E00010): LDR R0, SP, 10H |
0229 | i(41E80014): ADD R1, SP, 14H |
022A | i(42D8001C): ADD R2, SB, 1CH |
022B | j(83E00000): LDR R3, SP, 0H |
022C | j(4EE80004): ADD SP, SP, 4H |
022D | j(D10B375C): BLEQ MT [trap=5, pos=2871] |
022E | j(D7000003): BL R3 |
022F | k(80E0000C): LDR R0, SP, CH |
0230 | k(D10B3B4C): BLEQ MT [trap=4, pos=2875] |
0231 | l(81E00018): LDR R1, SP, 18H |
0232 | l(A100000C): STR R1, R0, CH |
0233 | m(80E0000C): LDR R0, SP, CH |
0234 | m(D10B474C): BLEQ MT [trap=4, pos=2887] |
0235 | n(81E00020): LDR R1, SP, 20H |
0236 | n(A1000014): STR R1, R0, 14H |
| WHILE U.nexto # V DOp U := U.nextq ENDr; |
0237 | o(80E0000C): LDR R0, SP, CH |
0238 | o(D10B644C): BLEQ MT [trap=4, pos=2916] |
0239 | p(80000000): LDR R0, R0, 0H |
023A | p(81E00004): LDR R1, SP, 4H |
023B | p(00090001): SUB R0, R0, R1 |
023C | p(E1000005): BEQ 5 [0242H] |
023D | q(80E0000C): LDR R0, SP, CH |
023E | q(D10B774C): BLEQ MT [trap=4, pos=2935] |
023F | r(80000000): LDR R0, R0, 0H |
0240 | r(A0E0000C): STR R0, SP, CH |
0241 | r(E7FFFFF5): B -11 [0237H] |
| U.nexts := V.nextt |
0242 | s(80E0000C): LDR R0, SP, CH |
0243 | s(D10B8B4C): BLEQ MT [trap=4, pos=2955] |
0244 | t(81E00004): LDR R1, SP, 4H |
0245 | t(D10B954C): BLEQ MT [trap=4, pos=2965] |
| ELSEu (*close track*) |
0246 | u(81100000): LDR R1, R1, 0H |
0247 | u(A1000000): STR R1, R0, 0H |
| Mv.id := suspend;w M.state := 0;x |
0248 | v(E7000030): B 48 [0279H] |
0249 | w(40000002): MOV R0, R0, 2H |
024A | w(A0E00010): STR R0, SP, 10H |
024B | x(40000000): MOV R0, R0, 0H |
024C | x(A0E00024): STR R0, SP, 24H |
| V.handley(Vz,a M)b;c V.stated := 0;e backup := V;f |
024D | y(80E00004): LDR R0, SP, 4H |
024E | y(D10BE84C): BLEQ MT [trap=4, pos=3048] |
024F | z(80000018): LDR R0, R0, 18H |
0250 | z(4EE90004): SUB SP, SP, 4H |
0251 | z(A0E00000): STR R0, SP, 0H |
0252 | a(80E00008): LDR R0, SP, 8H |
0253 | b(41E80014): ADD R1, SP, 14H |
0254 | b .FIXUP D |
0254 | b(8D000041): LDR SB, MT, MOD0 [Viewers] |
0255 | b(42D8001C): ADD R2, SB, 1CH [data] |
0256 | c(83E00000): LDR R3, SP, 0H |
0257 | c(4EE80004): ADD SP, SP, 4H |
0258 | c(D10BEF5C): BLEQ MT [trap=5, pos=3055] |
0259 | c(D7000003): BL R3 |
025A | d(80E00004): LDR R0, SP, 4H |
025B | d(D10BF74C): BLEQ MT [trap=4, pos=3063] |
025C | e(41000000): MOV R1, R0, 0H |
025D | e(A100001C): STR R1, R0, 1CH |
025E | f(80E00004): LDR R0, SP, 4H |
025F | f .FIXUP D |
025F | f(8D00000B): LDR SB, MT, MOD0 [Viewers] |
0260 | f(A0D00064): STR R0, SB, 64H [data] |
| U.handleg(Uh,i M)j;k U(Viewer)l.state := 0;m |
0261 | g(80E0000C): LDR R0, SP, CH |
0262 | g(D10C1B4C): BLEQ MT [trap=4, pos=3099] |
0263 | h(80000018): LDR R0, R0, 18H |
0264 | h(4EE90004): SUB SP, SP, 4H |
0265 | h(A0E00000): STR R0, SP, 0H |
0266 | i(80E00010): LDR R0, SP, 10H |
0267 | j(41E80014): ADD R1, SP, 14H |
0268 | j(42D8001C): ADD R2, SB, 1CH |
0269 | k(83E00000): LDR R3, SP, 0H |
026A | k(4EE80004): ADD SP, SP, 4H |
026B | k(D10C225C): BLEQ MT [trap=5, pos=3106] |
026C | k(D7000003): BL R3 |
026D | l(80E0000C): LDR R0, SP, CH |
026E | l(E1000005): BEQ 5 [0274H] |
026F | l(810FFFF8): LDR R1, R0, FFFFFFF8H |
0270 | l(81100004): LDR R1, R1, 4H |
0271 | l .FIXUP D |
0271 | l(8D000012): LDR SB, MT, MOD0 [Viewers] |
0272 | l(42D80000): ADD R2, SB, 0H [data] |
0273 | l(02290001): SUB R2, R2, R1 |
0274 | l(D90C2C2C): BLNE MT [trap=2, pos=3116] |
0275 | m(41000000): MOV R1, R0, 0H |
0276 | m(A100001C): STR R1, R0, 1CH |
| RestoreTrack(T)n |
0277 | n(80E00008): LDR R0, SP, 8H |
| ENDo |
0278 | o(F7FFFEE3): BL -285 [015CH] |
| END |
| ENDp Close; |
0279 | p(8FE00000): LDR LNK, SP, 0H |
027A | p(4EE80028): ADD SP, SP, 28H |
027B | p(C700000F): B LNK |
| |
| PROCEDURE Recall* (VAR V: Viewer); |
| BEGINq V := backup |
027C | q .PROC 8 |
027C | q(4EE90008): SUB SP, SP, 8H |
027D | q(AFE00000): STR LNK, SP, 0H |
027E | q(A0E00004): STR R0, SP, 4H |
| ENDr Recall; |
027F | r .FIXUP D |
027F | r(8D00000E): LDR SB, MT, MOD0 [Viewers] |
0280 | r(80D00064): LDR R0, SB, 64H [data] |
0281 | r(81E00004): LDR R1, SP, 4H |
0282 | r(A0100000): STR R0, R1, 0H |
0283 | r(8FE00000): LDR LNK, SP, 0H |
0284 | r(4EE80008): ADD SP, SP, 8H |
0285 | r(C700000F): B LNK |
| |
| PROCEDURE This* (X, Y: INTEGER): Viewer; |
| VAR T, V: Display.Frame; |
| BEGINs |
0286 | s .PROC 9 |
0286 | s(4EE90014): SUB SP, SP, 14H |
0287 | s(AFE00000): STR LNK, SP, 0H |
0288 | s(A0E00004): STR R0, SP, 4H |
0289 | s(A1E00008): STR R1, SP, 8H |
| IF (X < inf)t & (uY < DH)v THENw |
028A | t(80E00004): LDR R0, SP, 4H |
028B | t(4009FFFF): SUB R0, R0, FFFFFFFFH |
028C | u(ED000029): BGE 41 [02B6H] |
028D | v(80E00008): LDR R0, SP, 8H |
028E | v .FIXUP D |
028E | v(8D00000F): LDR SB, MT, MOD0 [Viewers] |
028F | v(81D00058): LDR R1, SB, 58H [data] |
0290 | v(00090001): SUB R0, R0, R1 |
0291 | w(ED000024): BGE 36 [02B6H] |
| T := FillerTrack;x |
0292 | x .FIXUP D |
0292 | x(8D000004): LDR SB, MT, MOD0 [Viewers] |
0293 | x(80D0005C): LDR R0, SB, 5CH [data] |
0294 | x(A0E0000C): STR R0, SP, CH |
| REPEAT T := T.nexty UNTILz X < T.Xa + T.Wb;c |
0295 | y(80E0000C): LDR R0, SP, CH |
0296 | y(D10D5A4C): BLEQ MT [trap=4, pos=3418] |
0297 | z(80000000): LDR R0, R0, 0H |
0298 | z(A0E0000C): STR R0, SP, CH |
0299 | a(80E0000C): LDR R0, SP, CH |
029A | a(D10D684C): BLEQ MT [trap=4, pos=3432] |
029B | b(81E0000C): LDR R1, SP, CH |
029C | b(D10D6E4C): BLEQ MT [trap=4, pos=3438] |
029D | c(80000008): LDR R0, R0, 8H |
029E | c(81100010): LDR R1, R1, 10H |
029F | c(00080001): ADD R0, R0, R1 |
02A0 | c(81E00004): LDR R1, SP, 4H |
02A1 | c(01190000): SUB R1, R1, R0 |
02A2 | c(EDFFFFF2): BGE -14 [0295H] |
| V := T.dscd;e |
02A3 | d(80E0000C): LDR R0, SP, CH |
02A4 | d(D10D804C): BLEQ MT [trap=4, pos=3456] |
02A5 | e(80000004): LDR R0, R0, 4H |
02A6 | e(A0E00010): STR R0, SP, 10H |
| REPEAT V := V.nextf UNTILg Y < V.Yh + V.Hi |
02A7 | f(80E00010): LDR R0, SP, 10H |
02A8 | f(D10D9A4C): BLEQ MT [trap=4, pos=3482] |
02A9 | g(80000000): LDR R0, R0, 0H |
02AA | g(A0E00010): STR R0, SP, 10H |
02AB | h(80E00010): LDR R0, SP, 10H |
02AC | h(D10DA84C): BLEQ MT [trap=4, pos=3496] |
02AD | i(81E00010): LDR R1, SP, 10H |
02AE | i(D10DAE4C): BLEQ MT [trap=4, pos=3502] |
| ELSEj Vk := NIL |
02AF | j(8000000C): LDR R0, R0, CH |
02B0 | j(81100014): LDR R1, R1, 14H |
02B1 | j(00080001): ADD R0, R0, R1 |
02B2 | j(81E00008): LDR R1, SP, 8H |
02B3 | j(01190000): SUB R1, R1, R0 |
02B4 | j(EDFFFFF2): BGE -14 [02A7H] |
02B5 | k(E7000002): B 2 [02B8H] |
| ENDl ; |
02B6 | l(40000000): MOV R0, R0, 0H |
02B7 | l(A0E00010): STR R0, SP, 10H |
| RETURN V(Viewer)m |
02B8 | m(80E00010): LDR R0, SP, 10H |
02B9 | m(E1000005): BEQ 5 [02BFH] |
02BA | m(810FFFF8): LDR R1, R0, FFFFFFF8H |
02BB | m(81100004): LDR R1, R1, 4H |
02BC | m .FIXUP D |
02BC | m(8D00002A): LDR SB, MT, MOD0 [Viewers] |
02BD | m(42D80000): ADD R2, SB, 0H [data] |
02BE | m(02290001): SUB R2, R2, R1 |
02BF | m(D90DDF2C): BLNE MT [trap=2, pos=3551] |
| ENDn This; |
02C0 | n(8FE00000): LDR LNK, SP, 0H |
02C1 | n(4EE80014): ADD SP, SP, 14H |
02C2 | n(C700000F): B LNK |
| |
| PROCEDURE Next* (V: Viewer): Viewer; |
| BEGINo RETURN V.nextp(Viewer)q |
02C3 | o .PROC 10 |
02C3 | o(4EE90008): SUB SP, SP, 8H |
02C4 | o(AFE00000): STR LNK, SP, 0H |
02C5 | o(A0E00004): STR R0, SP, 4H |
02C6 | p(80E00004): LDR R0, SP, 4H |
02C7 | p(D10E294C): BLEQ MT [trap=4, pos=3625] |
02C8 | q(80000000): LDR R0, R0, 0H |
02C9 | q(E1000005): BEQ 5 [02CFH] |
02CA | q(810FFFF8): LDR R1, R0, FFFFFFF8H |
02CB | q(81100004): LDR R1, R1, 4H |
02CC | q .FIXUP D |
02CC | q(8D000010): LDR SB, MT, MOD0 [Viewers] |
02CD | q(42D80000): ADD R2, SB, 0H [data] |
02CE | q(02290001): SUB R2, R2, R1 |
02CF | q(D90E312C): BLNE MT [trap=2, pos=3633] |
| ENDr Next; |
02D0 | r(8FE00000): LDR LNK, SP, 0H |
02D1 | r(4EE80008): ADD SP, SP, 8H |
02D2 | r(C700000F): B LNK |
| |
| PROCEDURE Locate* (X, H: INTEGER; VAR fil, bot, alt, max: Display.Frame); |
| VAR T, V: Display.Frame; |
| BEGINs |
02D3 | s .PROC 11 |
02D3 | s(4EE90024): SUB SP, SP, 24H |
02D4 | s(AFE00000): STR LNK, SP, 0H |
02D5 | s(A0E00004): STR R0, SP, 4H |
02D6 | s(A1E00008): STR R1, SP, 8H |
02D7 | s(A2E0000C): STR R2, SP, CH |
02D8 | s(A3E00010): STR R3, SP, 10H |
02D9 | s(A4E00014): STR R4, SP, 14H |
02DA | s(A5E00018): STR R5, SP, 18H |
| IF X < inf THENt |
02DB | t(80E00004): LDR R0, SP, 4H |
02DC | t(4009FFFF): SUB R0, R0, FFFFFFFFH |
02DD | t(ED000071): BGE 113 [034FH] |
| T := FillerTrack;u |
02DE | u .FIXUP D |
02DE | u(8D000012): LDR SB, MT, MOD0 [Viewers] |
02DF | u(80D0005C): LDR R0, SB, 5CH [data] |
02E0 | u(A0E0001C): STR R0, SP, 1CH |
| REPEAT T := T.nextv UNTILw X < T.Xx + T.Wy;z |
02E1 | v(80E0001C): LDR R0, SP, 1CH |
02E2 | v(D10EF44C): BLEQ MT [trap=4, pos=3828] |
02E3 | w(80000000): LDR R0, R0, 0H |
02E4 | w(A0E0001C): STR R0, SP, 1CH |
02E5 | x(80E0001C): LDR R0, SP, 1CH |
02E6 | x(D10F024C): BLEQ MT [trap=4, pos=3842] |
02E7 | y(81E0001C): LDR R1, SP, 1CH |
02E8 | y(D10F084C): BLEQ MT [trap=4, pos=3848] |
02E9 | z(80000008): LDR R0, R0, 8H |
02EA | z(81100010): LDR R1, R1, 10H |
02EB | z(00080001): ADD R0, R0, R1 |
02EC | z(81E00004): LDR R1, SP, 4H |
02ED | z(01190000): SUB R1, R1, R0 |
02EE | z(EDFFFFF2): BGE -14 [02E1H] |
| fil := T.dsca;b bot := fil.nextc;d |
02EF | a(80E0001C): LDR R0, SP, 1CH |
02F0 | a(D10F1C4C): BLEQ MT [trap=4, pos=3868] |
02F1 | b(80000004): LDR R0, R0, 4H |
02F2 | b(81E0000C): LDR R1, SP, CH |
02F3 | b(A0100000): STR R0, R1, 0H |
02F4 | c(80E0000C): LDR R0, SP, CH |
02F5 | c(80000000): LDR R0, R0, 0H |
02F6 | c(D10F2D4C): BLEQ MT [trap=4, pos=3885] |
02F7 | d(80000000): LDR R0, R0, 0H |
02F8 | d(81E00010): LDR R1, SP, 10H |
02F9 | d(A0100000): STR R0, R1, 0H |
| IF bot.nexte # fil THENf |
02FA | e(80E00010): LDR R0, SP, 10H |
02FB | e(80000000): LDR R0, R0, 0H |
02FC | e(D10F404C): BLEQ MT [trap=4, pos=3904] |
02FD | f(80000000): LDR R0, R0, 0H |
02FE | f(81E0000C): LDR R1, SP, CH |
02FF | f(81100000): LDR R1, R1, 0H |
0300 | f(00090001): SUB R0, R0, R1 |
0301 | f(E1000029): BEQ 41 [032BH] |
| alt := bot.nextg;h V := alt.nexti;j |
0302 | g(80E00010): LDR R0, SP, 10H |
0303 | g(80000000): LDR R0, R0, 0H |
0304 | g(D10F634C): BLEQ MT [trap=4, pos=3939] |
0305 | h(80000000): LDR R0, R0, 0H |
0306 | h(81E00014): LDR R1, SP, 14H |
0307 | h(A0100000): STR R0, R1, 0H |
0308 | i(80E00014): LDR R0, SP, 14H |
0309 | i(80000000): LDR R0, R0, 0H |
030A | i(D10F724C): BLEQ MT [trap=4, pos=3954] |
030B | j(80000000): LDR R0, R0, 0H |
030C | j(A0E00020): STR R0, SP, 20H |
| WHILE (V # fil)k & (lalt.Hm < H)n DOo |
030D | k(80E00020): LDR R0, SP, 20H |
030E | k(81E0000C): LDR R1, SP, CH |
030F | k(81100000): LDR R1, R1, 0H |
0310 | k(00090001): SUB R0, R0, R1 |
0311 | l(E1000018): BEQ 24 [032AH] |
0312 | m(80E00014): LDR R0, SP, 14H |
0313 | m(80000000): LDR R0, R0, 0H |
0314 | m(D10F944C): BLEQ MT [trap=4, pos=3988] |
0315 | n(80000014): LDR R0, R0, 14H |
0316 | n(81E00008): LDR R1, SP, 8H |
0317 | n(00090001): SUB R0, R0, R1 |
0318 | o(ED000011): BGE 17 [032AH] |
| IF V.Hp > alt.Hq THENr alt := V ENDs; |
0319 | p(80E00020): LDR R0, SP, 20H |
031A | p(D10FAD4C): BLEQ MT [trap=4, pos=4013] |
031B | q(81E00014): LDR R1, SP, 14H |
031C | q(81100000): LDR R1, R1, 0H |
031D | q(D10FB54C): BLEQ MT [trap=4, pos=4021] |
031E | r(80000014): LDR R0, R0, 14H |
031F | r(81100014): LDR R1, R1, 14H |
0320 | r(00090001): SUB R0, R0, R1 |
0321 | r(E6000003): BLE 3 [0325H] |
0322 | s(80E00020): LDR R0, SP, 20H |
0323 | s(81E00014): LDR R1, SP, 14H |
0324 | s(A0100000): STR R0, R1, 0H |
| V := V.nextt |
0325 | t(80E00020): LDR R0, SP, 20H |
0326 | t(D10FDE4C): BLEQ MT [trap=4, pos=4062] |
| ENDu |
0327 | u(80000000): LDR R0, R0, 0H |
0328 | u(A0E00020): STR R0, SP, 20H |
0329 | u(E7FFFFE3): B -29 [030DH] |
| ELSE altv := bot |
032A | v(E7000004): B 4 [032FH] |
| ENDw; |
032B | w(80E00010): LDR R0, SP, 10H |
032C | w(80000000): LDR R0, R0, 0H |
032D | w(81E00014): LDR R1, SP, 14H |
032E | w(A0100000): STR R0, R1, 0H |
| max := T.dscx;y V := max.nextz;a |
032F | x(80E0001C): LDR R0, SP, 1CH |
0330 | x(D1101E4C): BLEQ MT [trap=4, pos=4126] |
0331 | y(80000004): LDR R0, R0, 4H |
0332 | y(81E00018): LDR R1, SP, 18H |
0333 | y(A0100000): STR R0, R1, 0H |
0334 | z(80E00018): LDR R0, SP, 18H |
0335 | z(80000000): LDR R0, R0, 0H |
0336 | z(D1102D4C): BLEQ MT [trap=4, pos=4141] |
0337 | a(80000000): LDR R0, R0, 0H |
0338 | a(A0E00020): STR R0, SP, 20H |
| WHILE V # fil DOb |
0339 | b(80E00020): LDR R0, SP, 20H |
033A | b(81E0000C): LDR R1, SP, CH |
033B | b(81100000): LDR R1, R1, 0H |
033C | b(00090001): SUB R0, R0, R1 |
033D | b(E1000011): BEQ 17 [034FH] |
| IF V.Hc > max.Hd THENe max := V ENDf; |
033E | c(80E00020): LDR R0, SP, 20H |
033F | c(D110544C): BLEQ MT [trap=4, pos=4180] |
0340 | d(81E00018): LDR R1, SP, 18H |
0341 | d(81100000): LDR R1, R1, 0H |
0342 | d(D1105C4C): BLEQ MT [trap=4, pos=4188] |
0343 | e(80000014): LDR R0, R0, 14H |
0344 | e(81100014): LDR R1, R1, 14H |
0345 | e(00090001): SUB R0, R0, R1 |
0346 | e(E6000003): BLE 3 [034AH] |
0347 | f(80E00020): LDR R0, SP, 20H |
0348 | f(81E00018): LDR R1, SP, 18H |
0349 | f(A0100000): STR R0, R1, 0H |
| V := V.nextg |
034A | g(80E00020): LDR R0, SP, 20H |
034B | g(D110834C): BLEQ MT [trap=4, pos=4227] |
| ENDh |
034C | h(80000000): LDR R0, R0, 0H |
034D | h(A0E00020): STR R0, SP, 20H |
034E | h(E7FFFFEA): B -22 [0339H] |
| END |
| ENDi Locate; |
034F | i(8FE00000): LDR LNK, SP, 0H |
0350 | i(4EE80024): ADD SP, SP, 24H |
0351 | i(C700000F): B LNK |
| |
| PROCEDURE InitTrack* (W, H: INTEGER; Filler: Viewer); |
| VAR S: Display.Frame; T: Track; |
| BEGINj |
0352 | j .PROC 12 |
0352 | j(4EE90018): SUB SP, SP, 18H |
0353 | j(AFE00000): STR LNK, SP, 0H |
0354 | j(A0E00004): STR R0, SP, 4H |
0355 | j(A1E00008): STR R1, SP, 8H |
0356 | j(A2E0000C): STR R2, SP, CH |
| IF Filler.statek = 0 THENl |
0357 | k(80E0000C): LDR R0, SP, CH |
0358 | k(D1111C4C): BLEQ MT [trap=4, pos=4380] |
0359 | l(8000001C): LDR R0, R0, 1CH |
035A | l(E900006A): BNE 106 [03C5H] |
| Filler.Xm := curW;n Filler.Wo := W;p Filler.Yq := 0;r Filler.Hs := H;t |
035B | m(80E0000C): LDR R0, SP, CH |
035C | m(D111344C): BLEQ MT [trap=4, pos=4404] |
035D | n .FIXUP D |
035D | n(8D00007F): LDR SB, MT, MOD0 [Viewers] |
035E | n(81D00050): LDR R1, SB, 50H [data] |
035F | n(A1000008): STR R1, R0, 8H |
0360 | o(80E0000C): LDR R0, SP, CH |
0361 | o(D111464C): BLEQ MT [trap=4, pos=4422] |
0362 | p(81E00004): LDR R1, SP, 4H |
0363 | p(A1000010): STR R1, R0, 10H |
0364 | q(80E0000C): LDR R0, SP, CH |
0365 | q(D111554C): BLEQ MT [trap=4, pos=4437] |
0366 | r(41000000): MOV R1, R0, 0H |
0367 | r(A100000C): STR R1, R0, CH |
0368 | s(80E0000C): LDR R0, SP, CH |
0369 | s(D111644C): BLEQ MT [trap=4, pos=4452] |
036A | t(81E00008): LDR R1, SP, 8H |
036B | t(A1000014): STR R1, R0, 14H |
| Filler.stateu := 1;v Filler.nextw := Filler;x |
036C | u(80E0000C): LDR R0, SP, CH |
036D | u(D1117D4C): BLEQ MT [trap=4, pos=4477] |
036E | v(41000001): MOV R1, R0, 1H |
036F | v(A100001C): STR R1, R0, 1CH |
0370 | w(80E0000C): LDR R0, SP, CH |
0371 | w(D1118F4C): BLEQ MT [trap=4, pos=4495] |
0372 | x(81E0000C): LDR R1, SP, CH |
0373 | x(A1000000): STR R1, R0, 0H |
| NEW(T);y T.Xz := curW;a T.Wb := W;c T.Yd := 0;e T.Hf := H;g T.dsch := Filler;i T.underj := NIL;k |
0374 | y(40E80014): ADD R0, SP, 14H |
0375 | y(41D80030): ADD R1, SB, 30H |
0376 | y(D711A80C): BL MT [trap=0, pos=4520] |
0377 | z(80E00014): LDR R0, SP, 14H |
0378 | z(D111AC4C): BLEQ MT [trap=4, pos=4524] |
0379 | a .FIXUP D |
0379 | a(8D00001C): LDR SB, MT, MOD0 [Viewers] |
037A | a(81D00050): LDR R1, SB, 50H [data] |
037B | a(A1000008): STR R1, R0, 8H |
037C | b(80E00014): LDR R0, SP, 14H |
037D | b(D111B94C): BLEQ MT [trap=4, pos=4537] |
037E | c(81E00004): LDR R1, SP, 4H |
037F | c(A1000010): STR R1, R0, 10H |
0380 | d(80E00014): LDR R0, SP, 14H |
0381 | d(D111C34C): BLEQ MT [trap=4, pos=4547] |
0382 | e(41000000): MOV R1, R0, 0H |
0383 | e(A100000C): STR R1, R0, CH |
0384 | f(80E00014): LDR R0, SP, 14H |
0385 | f(D111CD4C): BLEQ MT [trap=4, pos=4557] |
0386 | g(81E00008): LDR R1, SP, 8H |
0387 | g(A1000014): STR R1, R0, 14H |
0388 | h(80E00014): LDR R0, SP, 14H |
0389 | h(D111D94C): BLEQ MT [trap=4, pos=4569] |
038A | i(81E0000C): LDR R1, SP, CH |
038B | i(A1000004): STR R1, R0, 4H |
038C | j(80E00014): LDR R0, SP, 14H |
038D | j(D111EC4C): BLEQ MT [trap=4, pos=4588] |
038E | k(41000000): MOV R1, R0, 0H |
038F | k(A1000020): STR R1, R0, 20H |
| FillerViewer.Xl := curW + W;m FillerViewer.Wn := inf - FillerViewer.Xo;p |
0390 | l(80D00060): LDR R0, SB, 60H |
0391 | l(D112094C): BLEQ MT [trap=4, pos=4617] |
0392 | m(81D00050): LDR R1, SB, 50H |
0393 | m(82E00004): LDR R2, SP, 4H |
0394 | m(01180002): ADD R1, R1, R2 |
0395 | m(A1000008): STR R1, R0, 8H |
0396 | n(80D00060): LDR R0, SB, 60H |
0397 | n(D112254C): BLEQ MT [trap=4, pos=4645] |
0398 | o(81D00060): LDR R1, SB, 60H |
0399 | o(D1123D4C): BLEQ MT [trap=4, pos=4669] |
039A | p(4200FFFF): MOV R2, R0, FFFFFFFFH |
039B | p(81100008): LDR R1, R1, 8H |
039C | p(01290001): SUB R1, R2, R1 |
039D | p(A1000010): STR R1, R0, 10H |
| FillerTrack.Xq := FillerViewer.Xr;s FillerTrack.Wt := FillerViewer.Wu;v |
039E | q(80D0005C): LDR R0, SB, 5CH |
039F | q(D112524C): BLEQ MT [trap=4, pos=4690] |
03A0 | r(81D00060): LDR R1, SB, 60H |
03A1 | r(D112644C): BLEQ MT [trap=4, pos=4708] |
03A2 | s(81100008): LDR R1, R1, 8H |
03A3 | s(A1000008): STR R1, R0, 8H |
03A4 | t(80D0005C): LDR R0, SB, 5CH |
03A5 | t(D112734C): BLEQ MT [trap=4, pos=4723] |
03A6 | u(81D00060): LDR R1, SB, 60H |
03A7 | u(D112854C): BLEQ MT [trap=4, pos=4741] |
03A8 | v(81100010): LDR R1, R1, 10H |
03A9 | v(A1000010): STR R1, R0, 10H |
| S := FillerTrack;w |
03AA | w(80D0005C): LDR R0, SB, 5CH |
03AB | w(A0E00010): STR R0, SP, 10H |
| WHILE S.nextx # FillerTrack DOy S := S.nextz ENDa; |
03AC | x(80E00010): LDR R0, SP, 10H |
03AD | x(D112B14C): BLEQ MT [trap=4, pos=4785] |
03AE | y(80000000): LDR R0, R0, 0H |
03AF | y .FIXUP D |
03AF | y(8D000036): LDR SB, MT, MOD0 [Viewers] |
03B0 | y(81D0005C): LDR R1, SB, 5CH [data] |
03B1 | y(00090001): SUB R0, R0, R1 |
03B2 | y(E1000005): BEQ 5 [03B8H] |
03B3 | z(80E00010): LDR R0, SP, 10H |
03B4 | z(D112CE4C): BLEQ MT [trap=4, pos=4814] |
03B5 | a(80000000): LDR R0, R0, 0H |
03B6 | a(A0E00010): STR R0, SP, 10H |
03B7 | a(E7FFFFF4): B -12 [03ACH] |
| S.nextb := T;c T.nextd := FillerTrack;e curW := curW + W |
03B8 | b(80E00010): LDR R0, SP, 10H |
03B9 | b(D112E04C): BLEQ MT [trap=4, pos=4832] |
03BA | c(81E00014): LDR R1, SP, 14H |
03BB | c(A1000000): STR R1, R0, 0H |
03BC | d(80E00014): LDR R0, SP, 14H |
03BD | d(D112ED4C): BLEQ MT [trap=4, pos=4845] |
03BE | e .FIXUP D |
03BE | e(8D00000F): LDR SB, MT, MOD0 [Viewers] |
03BF | e(81D0005C): LDR R1, SB, 5CH [data] |
03C0 | e(A1000000): STR R1, R0, 0H |
| ENDf |
03C1 | f(80D00050): LDR R0, SB, 50H |
03C2 | f(81E00004): LDR R1, SP, 4H |
03C3 | f(00080001): ADD R0, R0, R1 |
03C4 | f(A0D00050): STR R0, SB, 50H |
| ENDg InitTrack; |
03C5 | g(8FE00000): LDR LNK, SP, 0H |
03C6 | g(4EE80018): ADD SP, SP, 18H |
03C7 | g(C700000F): B LNK |
| |
| PROCEDURE OpenTrack* (X, W: INTEGER; Filler: Viewer); |
| VAR newT: Track; S, T, t, v: Display.Frame; M: ViewerMsg; v0: Viewer; |
| BEGINh |
03C8 | h .PROC 13 |
03C8 | h(4EE90040): SUB SP, SP, 40H |
03C9 | h(AFE00000): STR LNK, SP, 0H |
03CA | h(A0E00004): STR R0, SP, 4H |
03CB | h(A1E00008): STR R1, SP, 8H |
03CC | h(A2E0000C): STR R2, SP, CH |
| IF (X < inf)i & (jFiller.statek = 0)l THENm |
03CD | i(80E00004): LDR R0, SP, 4H |
03CE | i(4009FFFF): SUB R0, R0, FFFFFFFFH |
03CF | j(ED0000C2): BGE 194 [0492H] |
03D0 | k(80E0000C): LDR R0, SP, CH |
03D1 | k(D113D34C): BLEQ MT [trap=4, pos=5075] |
03D2 | l(8000001C): LDR R0, R0, 1CH |
03D3 | m(E90000BE): BNE 190 [0492H] |
| S := FillerTrack;n T := S.nexto;p |
03D4 | n .FIXUP D |
03D4 | n(8D000016): LDR SB, MT, MOD0 [Viewers] |
03D5 | n(80D0005C): LDR R0, SB, 5CH [data] |
03D6 | n(A0E00014): STR R0, SP, 14H |
03D7 | o(80E00014): LDR R0, SP, 14H |
03D8 | o(D114014C): BLEQ MT [trap=4, pos=5121] |
03D9 | p(80000000): LDR R0, R0, 0H |
03DA | p(A0E00018): STR R0, SP, 18H |
| WHILE X >= T.Xq + T.Wr DOs S := T;t T := S.nextu ENDv; |
03DB | q(80E00018): LDR R0, SP, 18H |
03DC | q(D114174C): BLEQ MT [trap=4, pos=5143] |
03DD | r(81E00018): LDR R1, SP, 18H |
03DE | r(D1141D4C): BLEQ MT [trap=4, pos=5149] |
03DF | s(80000008): LDR R0, R0, 8H |
03E0 | s(81100010): LDR R1, R1, 10H |
03E1 | s(00080001): ADD R0, R0, R1 |
03E2 | s(81E00004): LDR R1, SP, 4H |
03E3 | s(01190000): SUB R1, R1, R0 |
03E4 | s(E5000007): BLT 7 [03ECH] |
03E5 | t(80E00018): LDR R0, SP, 18H |
03E6 | t(A0E00014): STR R0, SP, 14H |
03E7 | u(80E00014): LDR R0, SP, 14H |
03E8 | u(D114344C): BLEQ MT [trap=4, pos=5172] |
03E9 | v(80000000): LDR R0, R0, 0H |
03EA | v(A0E00018): STR R0, SP, 18H |
03EB | v(E7FFFFEF): B -17 [03DBH] |
| WHILE X + W >w T.Xx + T.Wy DOz T := T.nexta ENDb; |
03EC | w(80E00004): LDR R0, SP, 4H |
03ED | w(81E00008): LDR R1, SP, 8H |
03EE | w(00080001): ADD R0, R0, R1 |
03EF | x(81E00018): LDR R1, SP, 18H |
03F0 | x(D114514C): BLEQ MT [trap=4, pos=5201] |
03F1 | y(82E00018): LDR R2, SP, 18H |
03F2 | y(D114574C): BLEQ MT [trap=4, pos=5207] |
03F3 | z(81100008): LDR R1, R1, 8H |
03F4 | z(82200010): LDR R2, R2, 10H |
03F5 | z(01180002): ADD R1, R1, R2 |
03F6 | z(00090001): SUB R0, R0, R1 |
03F7 | z(E6000005): BLE 5 [03FDH] |
03F8 | a(80E00018): LDR R0, SP, 18H |
03F9 | a(D114664C): BLEQ MT [trap=4, pos=5222] |
03FA | b(80000000): LDR R0, R0, 0H |
03FB | b(A0E00018): STR R0, SP, 18H |
03FC | b(E7FFFFEF): B -17 [03ECH] |
| M.id := suspend;c t := S;d |
03FD | c(40000002): MOV R0, R0, 2H |
03FE | c(A0E00024): STR R0, SP, 24H |
03FF | d(80E00014): LDR R0, SP, 14H |
0400 | d(A0E0001C): STR R0, SP, 1CH |
| REPEAT t := t.nexte;f v := t.dscg;h |
0401 | e(80E0001C): LDR R0, SP, 1CH |
0402 | e(D114A34C): BLEQ MT [trap=4, pos=5283] |
0403 | f(80000000): LDR R0, R0, 0H |
0404 | f(A0E0001C): STR R0, SP, 1CH |
0405 | g(80E0001C): LDR R0, SP, 1CH |
0406 | g(D114AF4C): BLEQ MT [trap=4, pos=5295] |
0407 | h(80000004): LDR R0, R0, 4H |
0408 | h(A0E00020): STR R0, SP, 20H |
| REPEAT v := v.nexti;j M.state := -v(Viewer)k.state;l v.handlem(vn,o M)p;q v(Viewer)r.state := M.state |
0409 | i(80E00020): LDR R0, SP, 20H |
040A | i(D114CB4C): BLEQ MT [trap=4, pos=5323] |
040B | j(80000000): LDR R0, R0, 0H |
040C | j(A0E00020): STR R0, SP, 20H |
040D | k(80E00020): LDR R0, SP, 20H |
040E | k(E1000005): BEQ 5 [0414H] |
040F | k(810FFFF8): LDR R1, R0, FFFFFFF8H |
0410 | k(81100004): LDR R1, R1, 4H |
0411 | k .FIXUP D |
0411 | k(8D00003D): LDR SB, MT, MOD0 [Viewers] |
0412 | k(42D80000): ADD R2, SB, 0H [data] |
0413 | k(02290001): SUB R2, R2, R1 |
0414 | k(D914E22C): BLNE MT [trap=2, pos=5346] |
0415 | l(8000001C): LDR R0, R0, 1CH |
0416 | l(41000000): MOV R1, R0, 0H |
0417 | l(00190000): SUB R0, R1, R0 |
0418 | l(A0E00038): STR R0, SP, 38H |
0419 | m(80E00020): LDR R0, SP, 20H |
041A | m(D114F24C): BLEQ MT [trap=4, pos=5362] |
041B | n(80000018): LDR R0, R0, 18H |
041C | n(4EE90004): SUB SP, SP, 4H |
041D | n(A0E00000): STR R0, SP, 0H |
041E | o(80E00024): LDR R0, SP, 24H |
041F | p(41E80028): ADD R1, SP, 28H |
0420 | p(42D8001C): ADD R2, SB, 1CH |
0421 | q(83E00000): LDR R3, SP, 0H |
0422 | q(4EE80004): ADD SP, SP, 4H |
0423 | q(D114F95C): BLEQ MT [trap=5, pos=5369] |
0424 | q(D7000003): BL R3 |
0425 | r(80E00020): LDR R0, SP, 20H |
0426 | r(E1000005): BEQ 5 [042CH] |
0427 | r(810FFFF8): LDR R1, R0, FFFFFFF8H |
0428 | r(81100004): LDR R1, R1, 4H |
0429 | r .FIXUP D |
0429 | r(8D000018): LDR SB, MT, MOD0 [Viewers] |
042A | r(42D80000): ADD R2, SB, 0H [data] |
042B | r(02290001): SUB R2, R2, R1 |
042C | r(D915032C): BLNE MT [trap=2, pos=5379] |
| UNTILs v = t.dsct |
042D | s(81E00038): LDR R1, SP, 38H |
042E | s(A100001C): STR R1, R0, 1CH |
042F | t(80E0001C): LDR R0, SP, 1CH |
0430 | t(D1152C4C): BLEQ MT [trap=4, pos=5420] |
| UNTILu t = T;v |
0431 | u(81E00020): LDR R1, SP, 20H |
0432 | u(80000004): LDR R0, R0, 4H |
0433 | u(01190000): SUB R1, R1, R0 |
0434 | u(E9FFFFD4): BNE -44 [0409H] |
0435 | v(80E0001C): LDR R0, SP, 1CH |
0436 | v(81E00018): LDR R1, SP, 18H |
0437 | v(00090001): SUB R0, R0, R1 |
0438 | v(E9FFFFC8): BNE -56 [0401H] |
| Filler.Xw := S.nextx.Xy;z Filler.Wa := T.Xb + T.Wc -d S.nexte.Xf;g Filler.Yh := 0;i Filler.Hj := DH;k |
0439 | w(80E0000C): LDR R0, SP, CH |
043A | w(D1154E4C): BLEQ MT [trap=4, pos=5454] |
043B | x(81E00014): LDR R1, SP, 14H |
043C | x(D115584C): BLEQ MT [trap=4, pos=5464] |
043D | y(81100000): LDR R1, R1, 0H |
043E | y(D1155A4C): BLEQ MT [trap=4, pos=5466] |
043F | z(81100008): LDR R1, R1, 8H |
0440 | z(A1000008): STR R1, R0, 8H |
0441 | a(80E0000C): LDR R0, SP, CH |
0442 | a(D115644C): BLEQ MT [trap=4, pos=5476] |
0443 | b(81E00018): LDR R1, SP, 18H |
0444 | b(D1156B4C): BLEQ MT [trap=4, pos=5483] |
0445 | c(82E00018): LDR R2, SP, 18H |
0446 | c(D115714C): BLEQ MT [trap=4, pos=5489] |
0447 | d(81100008): LDR R1, R1, 8H |
0448 | d(82200010): LDR R2, R2, 10H |
0449 | d(01180002): ADD R1, R1, R2 |
044A | e(82E00014): LDR R2, SP, 14H |
044B | e(D1157A4C): BLEQ MT [trap=4, pos=5498] |
044C | f(82200000): LDR R2, R2, 0H |
044D | f(D1157C4C): BLEQ MT [trap=4, pos=5500] |
044E | g(82200008): LDR R2, R2, 8H |
044F | g(01190002): SUB R1, R1, R2 |
0450 | g(A1000010): STR R1, R0, 10H |
0451 | h(80E0000C): LDR R0, SP, CH |
0452 | h(D115864C): BLEQ MT [trap=4, pos=5510] |
0453 | i(41000000): MOV R1, R0, 0H |
0454 | i(A100000C): STR R1, R0, CH |
0455 | j(80E0000C): LDR R0, SP, CH |
0456 | j(D115954C): BLEQ MT [trap=4, pos=5525] |
0457 | k .FIXUP D |
0457 | k(8D00002E): LDR SB, MT, MOD0 [Viewers] |
0458 | k(81D00058): LDR R1, SB, 58H [data] |
0459 | k(A1000014): STR R1, R0, 14H |
| Filler.statel := 1;m Filler.nextn := Filler;o |
045A | l(80E0000C): LDR R0, SP, CH |
045B | l(D115AF4C): BLEQ MT [trap=4, pos=5551] |
045C | m(41000001): MOV R1, R0, 1H |
045D | m(A100001C): STR R1, R0, 1CH |
045E | n(80E0000C): LDR R0, SP, CH |
045F | n(D115C14C): BLEQ MT [trap=4, pos=5569] |
0460 | o(81E0000C): LDR R1, SP, CH |
0461 | o(A1000000): STR R1, R0, 0H |
| NEW(newT);p newT.Xq := Filler.Xr;s newT.Wt := Filler.Wu;v newT.Yw := 0;x newT.Hy := DH;z |
0462 | p(40E80010): ADD R0, SP, 10H |
0463 | p(41D80030): ADD R1, SB, 30H |
0464 | p(D715DD0C): BL MT [trap=0, pos=5597] |
0465 | q(80E00010): LDR R0, SP, 10H |
0466 | q(D115E44C): BLEQ MT [trap=4, pos=5604] |
0467 | r(81E0000C): LDR R1, SP, CH |
0468 | r(D115F04C): BLEQ MT [trap=4, pos=5616] |
0469 | s(81100008): LDR R1, R1, 8H |
046A | s(A1000008): STR R1, R0, 8H |
046B | t(80E00010): LDR R0, SP, 10H |
046C | t(D115F84C): BLEQ MT [trap=4, pos=5624] |
046D | u(81E0000C): LDR R1, SP, CH |
046E | u(D116044C): BLEQ MT [trap=4, pos=5636] |
046F | v(81100010): LDR R1, R1, 10H |
0470 | v(A1000010): STR R1, R0, 10H |
0471 | w(80E00010): LDR R0, SP, 10H |
0472 | w(D1160C4C): BLEQ MT [trap=4, pos=5644] |
0473 | x(41000000): MOV R1, R0, 0H |
0474 | x(A100000C): STR R1, R0, CH |
0475 | y(80E00010): LDR R0, SP, 10H |
0476 | y(D116194C): BLEQ MT [trap=4, pos=5657] |
0477 | z .FIXUP D |
0477 | z(8D000020): LDR SB, MT, MOD0 [Viewers] |
0478 | z(81D00058): LDR R1, SB, 58H [data] |
0479 | z(A1000014): STR R1, R0, 14H |
| newT.dsca := Filler;b newT.underc := S.nextd;e S.nextf := newT;g |
047A | a(80E00010): LDR R0, SP, 10H |
047B | a(D1162F4C): BLEQ MT [trap=4, pos=5679] |
047C | b(81E0000C): LDR R1, SP, CH |
047D | b(A1000004): STR R1, R0, 4H |
047E | c(80E00010): LDR R0, SP, 10H |
047F | c(D116454C): BLEQ MT [trap=4, pos=5701] |
0480 | d(81E00014): LDR R1, SP, 14H |
0481 | d(D1164F4C): BLEQ MT [trap=4, pos=5711] |
0482 | e(81100000): LDR R1, R1, 0H |
0483 | e(A1000020): STR R1, R0, 20H |
0484 | f(80E00014): LDR R0, SP, 14H |
0485 | f(D116574C): BLEQ MT [trap=4, pos=5719] |
0486 | g(81E00010): LDR R1, SP, 10H |
0487 | g(A1000000): STR R1, R0, 0H |
| newT.nexth := T.nexti;j T.nextk := NIL |
0488 | h(80E00010): LDR R0, SP, 10H |
0489 | h(D116704C): BLEQ MT [trap=4, pos=5744] |
048A | i(81E00018): LDR R1, SP, 18H |
048B | i(D1167A4C): BLEQ MT [trap=4, pos=5754] |
048C | j(81100000): LDR R1, R1, 0H |
048D | j(A1000000): STR R1, R0, 0H |
048E | k(80E00018): LDR R0, SP, 18H |
048F | k(D116824C): BLEQ MT [trap=4, pos=5762] |
| ENDl |
0490 | l(41000000): MOV R1, R0, 0H |
0491 | l(A1000000): STR R1, R0, 0H |
| ENDm OpenTrack; |
0492 | m(8FE00000): LDR LNK, SP, 0H |
0493 | m(4EE80040): ADD SP, SP, 40H |
0494 | m(C700000F): B LNK |
| |
| PROCEDURE CloseTrack* (X: INTEGER); |
| VAR T, V: Display.Frame; M: ViewerMsg; |
| BEGINn |
0495 | n .PROC 14 |
0495 | n(4EE90028): SUB SP, SP, 28H |
0496 | n(AFE00000): STR LNK, SP, 0H |
0497 | n(A0E00004): STR R0, SP, 4H |
| IF X < inf THENo |
0498 | o(80E00004): LDR R0, SP, 4H |
0499 | o(4009FFFF): SUB R0, R0, FFFFFFFFH |
049A | o(ED000046): BGE 70 [04E1H] |
| T := FillerTrack;p |
049B | p .FIXUP D |
049B | p(8D000024): LDR SB, MT, MOD0 [Viewers] |
049C | p(80D0005C): LDR R0, SB, 5CH [data] |
049D | p(A0E00008): STR R0, SP, 8H |
| REPEAT T := T.nextq UNTILr X < T.Xs + T.Wt;u |
049E | q(80E00008): LDR R0, SP, 8H |
049F | q(D117414C): BLEQ MT [trap=4, pos=5953] |
04A0 | r(80000000): LDR R0, R0, 0H |
04A1 | r(A0E00008): STR R0, SP, 8H |
04A2 | s(80E00008): LDR R0, SP, 8H |
04A3 | s(D1174F4C): BLEQ MT [trap=4, pos=5967] |
04A4 | t(81E00008): LDR R1, SP, 8H |
04A5 | t(D117554C): BLEQ MT [trap=4, pos=5973] |
04A6 | u(80000008): LDR R0, R0, 8H |
04A7 | u(81100010): LDR R1, R1, 10H |
04A8 | u(00080001): ADD R0, R0, R1 |
04A9 | u(81E00004): LDR R1, SP, 4H |
04AA | u(01190000): SUB R1, R1, R0 |
04AB | u(EDFFFFF2): BGE -14 [049EH] |
| IF T(Track)v.under # NIL THENw |
04AC | v(80E00008): LDR R0, SP, 8H |
04AD | v(E1000005): BEQ 5 [04B3H] |
04AE | v(810FFFF8): LDR R1, R0, FFFFFFF8H |
04AF | v(81100008): LDR R1, R1, 8H |
04B0 | v .FIXUP D |
04B0 | v(8D000015): LDR SB, MT, MOD0 [Viewers] |
04B1 | v(42D80030): ADD R2, SB, 30H [data] |
04B2 | v(02290001): SUB R2, R2, R1 |
04B3 | v(D917682C): BLNE MT [trap=2, pos=5992] |
04B4 | w(80000020): LDR R0, R0, 20H |
04B5 | w(E100002B): BEQ 43 [04E1H] |
| M.id := suspend;x M.state := 0;y V := T.dscz;a |
04B6 | x(40000002): MOV R0, R0, 2H |
04B7 | x(A0E00010): STR R0, SP, 10H |
04B8 | y(40000000): MOV R0, R0, 0H |
04B9 | y(A0E00024): STR R0, SP, 24H |
04BA | z(80E00008): LDR R0, SP, 8H |
04BB | z(D117AB4C): BLEQ MT [trap=4, pos=6059] |
04BC | a(80000004): LDR R0, R0, 4H |
04BD | a(A0E0000C): STR R0, SP, CH |
| REPEAT V := V.nextb;c V.handled(Ve,f M)g;h V(Viewer)i.state := 0 UNTILj V = T.dsck;l |
04BE | b(80E0000C): LDR R0, SP, CH |
04BF | b(D117C74C): BLEQ MT [trap=4, pos=6087] |
04C0 | c(80000000): LDR R0, R0, 0H |
04C1 | c(A0E0000C): STR R0, SP, CH |
04C2 | d(80E0000C): LDR R0, SP, CH |
04C3 | d(D117D14C): BLEQ MT [trap=4, pos=6097] |
04C4 | e(80000018): LDR R0, R0, 18H |
04C5 | e(4EE90004): SUB SP, SP, 4H |
04C6 | e(A0E00000): STR R0, SP, 0H |
04C7 | f(80E00010): LDR R0, SP, 10H |
04C8 | g(41E80014): ADD R1, SP, 14H |
04C9 | g .FIXUP D |
04C9 | g(8D000019): LDR SB, MT, MOD0 [Viewers] |
04CA | g(42D8001C): ADD R2, SB, 1CH [data] |
04CB | h(83E00000): LDR R3, SP, 0H |
04CC | h(4EE80004): ADD SP, SP, 4H |
04CD | h(D117D85C): BLEQ MT [trap=5, pos=6104] |
04CE | h(D7000003): BL R3 |
04CF | i(80E0000C): LDR R0, SP, CH |
04D0 | i(E1000005): BEQ 5 [04D6H] |
04D1 | i(810FFFF8): LDR R1, R0, FFFFFFF8H |
04D2 | i(81100004): LDR R1, R1, 4H |
04D3 | i .FIXUP D |
04D3 | i(8D00000A): LDR SB, MT, MOD0 [Viewers] |
04D4 | i(42D80000): ADD R2, SB, 0H [data] |
04D5 | i(02290001): SUB R2, R2, R1 |
04D6 | i(D917E22C): BLNE MT [trap=2, pos=6114] |
04D7 | j(41000000): MOV R1, R0, 0H |
04D8 | j(A100001C): STR R1, R0, 1CH |
04D9 | k(80E00008): LDR R0, SP, 8H |
04DA | k(D117FD4C): BLEQ MT [trap=4, pos=6141] |
04DB | l(81E0000C): LDR R1, SP, CH |
04DC | l(80000004): LDR R0, R0, 4H |
04DD | l(01190000): SUB R1, R1, R0 |
04DE | l(E9FFFFDF): BNE -33 [04BEH] |
| RestoreTrack(T)m |
04DF | m(80E00008): LDR R0, SP, 8H |
| ENDn |
04E0 | n(F7FFFC7B): BL -901 [015CH] |
| END |
| ENDo CloseTrack; |
04E1 | o(8FE00000): LDR LNK, SP, 0H |
04E2 | o(4EE80028): ADD SP, SP, 28H |
04E3 | o(C700000F): B LNK |
| |
| PROCEDURE Broadcast* (VAR M: Display.FrameMsg); |
| VAR T, V: Display.Frame; |
| BEGINp T := FillerTrack.nextq;r |
04E4 | p .PROC 15 |
04E4 | p(4EE90014): SUB SP, SP, 14H |
04E5 | p(AFE00000): STR LNK, SP, 0H |
04E6 | p(A0E00004): STR R0, SP, 4H |
04E7 | p(A1E00008): STR R1, SP, 8H |
04E8 | q .FIXUP D |
04E8 | q(8D000015): LDR SB, MT, MOD0 [Viewers] |
04E9 | q(80D0005C): LDR R0, SB, 5CH [data] |
04EA | q(D118A84C): BLEQ MT [trap=4, pos=6312] |
04EB | r(80000000): LDR R0, R0, 0H |
04EC | r(A0E0000C): STR R0, SP, CH |
| WHILE T # FillerTrack DOs |
04ED | s(80E0000C): LDR R0, SP, CH |
04EE | s .FIXUP D |
04EE | s(8D000006): LDR SB, MT, MOD0 [Viewers] |
04EF | s(81D0005C): LDR R1, SB, 5CH [data] |
04F0 | s(00090001): SUB R0, R0, R1 |
04F1 | s(E100001F): BEQ 31 [0511H] |
| V := T.dsct;u |
04F2 | t(80E0000C): LDR R0, SP, CH |
04F3 | t(D118D74C): BLEQ MT [trap=4, pos=6359] |
04F4 | u(80000004): LDR R0, R0, 4H |
04F5 | u(A0E00010): STR R0, SP, 10H |
| REPEAT V := V.nextv;w V.handlex(Vy,z M)a UNTILb V = T.dscc;d |
04F6 | v(80E00010): LDR R0, SP, 10H |
04F7 | v(D118F24C): BLEQ MT [trap=4, pos=6386] |
04F8 | w(80000000): LDR R0, R0, 0H |
04F9 | w(A0E00010): STR R0, SP, 10H |
04FA | x(80E00010): LDR R0, SP, 10H |
04FB | x(D118FC4C): BLEQ MT [trap=4, pos=6396] |
04FC | y(80000018): LDR R0, R0, 18H |
04FD | y(4EE90004): SUB SP, SP, 4H |
04FE | y(A0E00000): STR R0, SP, 0H |
04FF | z(80E00014): LDR R0, SP, 14H |
0500 | a(81E00008): LDR R1, SP, 8H |
0501 | a(82E0000C): LDR R2, SP, CH |
0502 | b(83E00000): LDR R3, SP, 0H |
0503 | b(4EE80004): ADD SP, SP, 4H |
0504 | b(D119085C): BLEQ MT [trap=5, pos=6408] |
0505 | b(D7000003): BL R3 |
0506 | c(80E0000C): LDR R0, SP, CH |
0507 | c(D119124C): BLEQ MT [trap=4, pos=6418] |
0508 | d(81E00010): LDR R1, SP, 10H |
0509 | d(80000004): LDR R0, R0, 4H |
050A | d(01190000): SUB R1, R1, R0 |
050B | d(E9FFFFEA): BNE -22 [04F6H] |
| T := T.nexte |
050C | e(80E0000C): LDR R0, SP, CH |
050D | e(D119254C): BLEQ MT [trap=4, pos=6437] |
| ENDf |
050E | f(80000000): LDR R0, R0, 0H |
050F | f(A0E0000C): STR R0, SP, CH |
0510 | f(E7FFFFDC): B -36 [04EDH] |
| ENDg Broadcast; |
0511 | g(8FE00000): LDR LNK, SP, 0H |
0512 | g(4EE80014): ADD SP, SP, 14H |
0513 | g(C700000F): B LNK |
| |
| BEGINh backup := NIL;i curW := 0;j minH := 1;k DH := Display.Height;l |
0514 | h .PROC 0 |
0514 | h .ENTRYPOINT |
0514 | h(4EE90004): SUB SP, SP, 4H |
0515 | h(AFE00000): STR LNK, SP, 0H |
0516 | i(40000000): MOV R0, R0, 0H |
0517 | i .FIXUP D |
0517 | i(8D000029): LDR SB, MT, MOD0 [Viewers] |
0518 | i(A0D00064): STR R0, SB, 64H [data] |
0519 | j(40000000): MOV R0, R0, 0H |
051A | j(A0D00050): STR R0, SB, 50H |
051B | k(40000001): MOV R0, R0, 1H |
051C | k(A0D00054): STR R0, SB, 54H |
051D | l .FIXUP D |
051D | l(8D100006): LDR SB, MT, MOD1 [Display] |
051E | l(80D00005): LDR R0, SB, VAR5 |
051F | l .FIXUP D |
051F | l(8D000002): LDR SB, MT, MOD0 [Viewers] |
0520 | l(A0D00058): STR R0, SB, 58H [data] |
| NEW(FillerViewer);m FillerViewer.Xn := 0;o FillerViewer.Wp := inf;q FillerViewer.Yr := 0;s FillerViewer.Ht := DH;u |
0521 | m(40D80060): ADD R0, SB, 60H |
0522 | m(41D80000): ADD R1, SB, 0H |
0523 | m(D719950C): BL MT [trap=0, pos=6549] |
0524 | n .FIXUP D |
0524 | n(8D000005): LDR SB, MT, MOD0 [Viewers] |
0525 | n(80D00060): LDR R0, SB, 60H [data] |
0526 | n(D119A44C): BLEQ MT [trap=4, pos=6564] |
0527 | o(41000000): MOV R1, R0, 0H |
0528 | o(A1000008): STR R1, R0, 8H |
0529 | p(80D00060): LDR R0, SB, 60H |
052A | p(D119B94C): BLEQ MT [trap=4, pos=6585] |
052B | q(4100FFFF): MOV R1, R0, FFFFFFFFH |
052C | q(A1000010): STR R1, R0, 10H |
052D | r(80D00060): LDR R0, SB, 60H |
052E | r(D119D04C): BLEQ MT [trap=4, pos=6608] |
052F | s(41000000): MOV R1, R0, 0H |
0530 | s(A100000C): STR R1, R0, CH |
0531 | t(80D00060): LDR R0, SB, 60H |
0532 | t(D119E54C): BLEQ MT [trap=4, pos=6629] |
0533 | u(81D00058): LDR R1, SB, 58H |
0534 | u(A1000014): STR R1, R0, 14H |
| FillerViewer.nextv := FillerViewer;w |
0535 | v(80D00060): LDR R0, SB, 60H |
0536 | v(D11A004C): BLEQ MT [trap=4, pos=6656] |
0537 | w(81D00060): LDR R1, SB, 60H |
0538 | w(A1000000): STR R1, R0, 0H |
| NEW(FillerTrack);x |
0539 | x(40D8005C): ADD R0, SB, 5CH |
053A | x(41D80030): ADD R1, SB, 30H |
053B | x(D71A250C): BL MT [trap=0, pos=6693] |
| FillerTrack.Xy := 0;z FillerTrack.Wa := inf;b FillerTrack.Yc := 0;d FillerTrack.He := DH;f |
053C | y .FIXUP D |
053C | y(8D000018): LDR SB, MT, MOD0 [Viewers] |
053D | y(80D0005C): LDR R0, SB, 5CH [data] |
053E | y(D11A354C): BLEQ MT [trap=4, pos=6709] |
053F | z(41000000): MOV R1, R0, 0H |
0540 | z(A1000008): STR R1, R0, 8H |
0541 | a(80D0005C): LDR R0, SB, 5CH |
0542 | a(D11A494C): BLEQ MT [trap=4, pos=6729] |
0543 | b(4100FFFF): MOV R1, R0, FFFFFFFFH |
0544 | b(A1000010): STR R1, R0, 10H |
0545 | c(80D0005C): LDR R0, SB, 5CH |
0546 | c(D11A5F4C): BLEQ MT [trap=4, pos=6751] |
0547 | d(41000000): MOV R1, R0, 0H |
0548 | d(A100000C): STR R1, R0, CH |
0549 | e(80D0005C): LDR R0, SB, 5CH |
054A | e(D11A734C): BLEQ MT [trap=4, pos=6771] |
054B | f(81D00058): LDR R1, SB, 58H |
054C | f(A1000014): STR R1, R0, 14H |
| FillerTrack.dscg := FillerViewer;h FillerTrack.nexti := FillerTrack |
054D | g(80D0005C): LDR R0, SB, 5CH |
054E | g(D11A8C4C): BLEQ MT [trap=4, pos=6796] |
054F | h(81D00060): LDR R1, SB, 60H |
0550 | h(A1000004): STR R1, R0, 4H |
0551 | i(80D0005C): LDR R0, SB, 5CH |
0552 | i(D11AAE4C): BLEQ MT [trap=4, pos=6830] |
| ENDj Viewers.k |
0553 | j(81D0005C): LDR R1, SB, 5CH |
0554 | j(A1000000): STR R1, R0, 0H |
0555 | k(8FE00000): LDR LNK, SP, 0H |
0556 | k(4EE80004): ADD SP, SP, 4H |
0557 | k(C700000F): B LNK |