MODULE Magic; (*---------------------------------------------------------------------------- * System-Version: MOS 3.5 *---------------------------------------------------------------------------- * Version : 1.0 *---------------------------------------------------------------------------- * Text-Version : V#00034 *---------------------------------------------------------------------------- * Modul-Holder : Meinolf Schneider *---------------------------------------------------------------------------- * Copyright May 1990 by Digital Art Meinolf Schneider *---------------------------------------------------------------------------- * MS : Meinolf Schneider *---------------------------------------------------------------------------- * Datum Autor Version Bemerkung (Arbeitsbericht) *---------------------------------------------------------------------------- * 01.05.90 MS 1.0 Grundversion *---------------------------------------------------------------------------- * Modul-Beschreibung: * * Residentes Gimmick-Programm fr Atari ST mit monochromen Monitor, bei dem * der Mauscursor viele kleine Sternchen auf dem Bildschirm hinterl„žt. *---------------------------------------------------------------------------- *) (*$S-,R-,C-,N+*) FROM System IMPORT ADDRESS, ADR, BYTE; FROM MSSystems IMPORT MinMaxRandom, EnterSupervisorMode, Allocate, WriteString, WriteLn, Write; FROM MSGraphics IMPORT Sprite, CopyScreen, Switch, SwitchSides, DisplayScreen, WorkScreen, GetSystemScreen; CONST MaxNoOfStars = 20; StarRate = 2; PicFreq = 3; (* Alle drei VBLs ein Bild malen *) StarArea = 10; Stars1 = 0; Stars2 = 1; StarType = Stars1; (* Um den anderen Sternentyp zu verwenden, muž hier nur * die Zeile in 'StarType = Stars2;' ausgetauscht werden *) TYPE StarRec = RECORD IsActive : BOOLEAN; X, Y : INTEGER; AnimationPhase : INTEGER; END; VAR VBLStack : ARRAY[0..99] OF CARDINAL; VBLTimer : CARDINAL; OldVBLIRQ : ADDRESS; Star : ARRAY[0..MaxNoOfStars] OF StarRec; StarRateCounter : CARDINAL; StarSprites : POINTER TO ARRAY[0..14] OF INTEGER; TOSScreen : ADDRESS; StarSpriteList : ADDRESS; TOSScreenOnDisplay : BOOLEAN; DirectTOSScreenShow : BOOLEAN; i : CARDINAL; MouseMoved : BOOLEAN; MouseXPos, MouseYPos : POINTER TO INTEGER; OldMouseXPos, OldMouseYPos : INTEGER; (*---------------------------------------------------------------------------*) (* Abfolge der einzelnen Sternchenbilder zum Aufblitzen *) TABLE.W (*$? StarType = Stars1: TabStarSprites : 0,1,2,3,4,5,6,6,5,4,3,2,1,0,0,0,0; *) (*$? StarType = Stars2: TabStarSprites : 8,7,6,5,4,3,2,1,0; *) (*$? StarType = Stars1: TABLE.L TabStarSpriteList: $00001404, $000A8000, $00000030, $00000144, $00000290, $00000424, $00000650, $0000093C, $00000DB0, $00000000, $00000000, $00000000, $FFFFFFFF, $00030003, $00080001, $0000004C, $00000058, $00000064, $00000070, $0000007C, $00000088, $00000094, $000000A2, $000000B0, $000000BC, $000000C8, $000000D4, $000000E0, $000000EC, $000000F8, $00000106, $0000000C, $00010003, $E0A0E0F4, $0000000C, $00010003, $70507000, $0000000C, $00010003, $38283800, $0000000C, $00010003, $1C141C80, $0000000C, $00010003, $0E0A0E18, $0000000C, $00010003, $07050700, $0000000E, $00020003, $03020380, $80800000, $000E0002, $00030101, $01C040C0, $0000000C, $00010003, $1F1F1FA0, $0000000C, $00010003, $8F8F8F00, $0000000C, $00010003, $C7C7C7D0, $0000000C, $00010003, $E3E3E300, $0000000C, $00010003, $F1F1F100, $0000000C, $00010003, $F8F8F800, $0000000E, $00020003, $FCFCFC7F, $7F7F0000, $000E0002, $0003FEFE, $FE3F3F3F, $FFFEFFFE, $00050005, $00080001, $0000004C, $0000005A, $00000068, $00000076, $00000084, $00000096, $000000A8, $000000BA, $000000CC, $000000DA, $000000E8, $000000F6, $00000104, $00000116, $00000128, $0000013A, $0000000E, $00010005, $70D888D8, $70000000, $000E0001, $0005386C, $446C3800, $0000000E, $00010005, $1C362236, $1C000000, $000E0001, $00050E1B, $111B0E00, $00000012, $00020005, $070D080D, $07008080, $80000000, $00120002, $00050306, $04060380, $C040C080, $00000012, $00020005, $01030203, $01C06020, $60C00000, $00120002, $00050001, $010100E0, $B010B0E0, $0000000E, $00010005, $8F070707, $8F000000, $000E0001, $0005C783, $8383C700, $0000000E, $00010005, $E3C1C1C1, $E3000000, $000E0001, $0005F1E0, $E0E0F100, $00000012, $00020005, $F8F0F0F0, $F8FF7F7F, $7FFF0000, $00120002, $0005FCF8, $F8F8FC7F, $3F3F3F7F, $00000012, $00020005, $FEFCFCFC, $FE3F1F1F, $1F3F0000, $00120002, $0005FFFE, $FEFEFF1F, $0F0F0F1F, $FFFDFFFD, $00070007, $00080001, $0000004C, $0000005C, $0000006C, $00000082, $00000098, $000000AE, $000000C4, $000000DA, $000000F0, $00000100, $00000110, $00000126, $0000013C, $00000152, $00000168, $0000017E, $00000010, $00010007, $3828EE82, $EE283800, $00000010, $00010007, $1C147741, $77141C00, $00000016, $00020007, $0E0A3B20, $3B0A0E00, $00808080, $00000000, $00160002, $00070705, $1D101D05, $070000C0, $40C00000, $00000016, $00020007, $03020E08, $0E020380, $80E020E0, $80800000, $00160002, $00070101, $07040701, $01C04070, $107040C0, $00000016, $00020007, $00000302, $030000E0, $A0B808B8, $A0E00000, $00160002, $00070000, $01010100, $007050DC, $04DC5070, $00000010, $00010007, $C7C70101, $01C7C755, $00000010, $00010007, $E3E38080, $80E3E355, $00000016, $00020007, $F1F1C0C0, $C0F1F1FF, $FF7F7F7F, $FFFF0000, $00160002, $0007F8F8, $E0E0E0F8, $F8FFFF3F, $3F3FFFFF, $00000016, $00020007, $FCFCF0F0, $F0FCFC7F, $7F1F1F1F, $7F7F0000, $00160002, $0007FEFE, $F8F8F8FE, $FE3F3F0F, $0F0F3F3F, $00000016, $00020007, $FFFFFCFC, $FCFFFF1F, $1F070707, $1F1F0000, $00160002, $0007FFFF, $FEFEFEFF, $FF8F8F03, $03038F8F, $FFFCFFFB, $0009000B, $00080001, $0000004C, $0000006A, $00000088, $000000A6, $000000C4, $000000E2, $00000100, $0000011E, $0000013C, $0000015A, $00000178, $00000196, $000001B4, $000001D2, $000001F0, $0000020E, $0000001E, $0002000B, $1C141434, $E780E734, $14141C00, $00000080, $80800000, $00000000, $001E0002, $000B0E0A, $0A1A7340, $731A0A0A, $0E000000, $00C040C0, $00000000, $0000001E, $0002000B, $0705050D, $3920390D, $05050700, $000000E0, $20E00000, $00000000, $001E0002, $000B0302, $02061C10, $1C060202, $03808080, $80F010F0, $80808080, $0000001E, $0002000B, $01010103, $0E080E03, $010101C0, $40404078, $08784040, $40C00000, $001E0002, $000B0000, $00010704, $07010000, $00E0A0A0, $A03C043C, $A0A0A0E0, $0000001E, $0002000B, $00000000, $03020300, $00000070, $5050D09E, $029ED050, $50700000, $001E0002, $000B0000, $00000101, $01000000, $00382828, $68CF01CF, $68282838, $0000001E, $0002000B, $E3E3E3C3, $000000C3, $E3E3E3FF, $FFFFFF7F, $7F7FFFFF, $FFFF0000, $001E0002, $000BF1F1, $F1E18080, $80E1F1F1, $F1FFFFFF, $FF3F3F3F, $FFFFFFFF, $0000001E, $0002000B, $F8F8F8F0, $C0C0C0F0, $F8F8F8FF, $FFFFFF1F, $1F1FFFFF, $FFFF0000, $001E0002, $000BFCFC, $FCF8E0E0, $E0F8FCFC, $FC7F7F7F, $7F0F0F0F, $7F7F7F7F, $0000001E, $0002000B, $FEFEFEFC, $F0F0F0FC, $FEFEFE3F, $3F3F3F07, $07073F3F, $3F3F0000, $001E0002, $000BFFFF, $FFFEF8F8, $F8FEFFFF, $FF1F1F1F, $1F030303, $1F1F1F1F, $0000001E, $0002000B, $FFFFFFFF, $FCFCFCFF, $FFFFFF8F, $8F8F0F01, $01010F8F, $8F8F0000, $001E0002, $000BFFFF, $FFFFFEFE, $FEFFFFFF, $FFC7C7C7, $87000000, $87C7C7C7, $FFFBFFF9, $000B000F, $00080001, $0000004C, $00000072, $00000098, $000000BE, $000000E4, $0000010A, $00000130, $00000166, $0000019C, $000001C2, $000001E8, $0000020E, $00000234, $0000025A, $00000280, $000002B6, $00000026, $0002000F, $0E0A0A0A, $1A13F180, $F1190B0A, $0A0A0E00, $00000000, $00E020E0, $00000000, $00000000, $00260002, $000F0705, $05050D09, $7840780C, $05050505, $07000000, $000080F0, $10F08080, $00000000, $00000026, $0002000F, $03020202, $06043C20, $3C060202, $02020380, $80808080, $C0780878, $40C08080, $80800000, $00260002, $000F0101, $01010302, $1E101E03, $01010101, $01C04040, $4040603C, $043C2060, $404040C0, $00000026, $0002000F, $00000000, $01010F08, $0F010000, $000000E0, $A0A0A0A0, $301E021E, $90B0A0A0, $A0E00000, $00260002, $000F0000, $00000000, $07040700, $00000000, $00705050, $50D0988F, $018FC858, $50505070, $00000036, $0003000F, $00000000, $00000302, $03000000, $00000038, $28282868, $4CC700C7, $642C2828, $28380000, $00000000, $80808000, $00000000, $00080000, $00360003, $000F0000, $00000000, $01010100, $00000000, $001C1414, $143426E3, $00E33216, $1414141C, $00000000, $0000C040, $C0000000, $0000005A, $00000026, $0002000F, $F1F1F1F1, $E1E00000, $00E0F0F1, $F1F1F1FF, $FFFFFFFF, $FF1F1F1F, $FFFFFFFF, $FFFF0000, $00260002, $000FF8F8, $F8F8F0F0, $808080F0, $F8F8F8F8, $F8FFFFFF, $FFFF7F0F, $0F0F7F7F, $FFFFFFFF, $00000026, $0002000F, $FCFCFCFC, $F8F8C0C0, $C0F8FCFC, $FCFCFC7F, $7F7F7F7F, $3F070707, $3F3F7F7F, $7F7F0000, $00260002, $000FFEFE, $FEFEFCFC, $E0E0E0FC, $FEFEFEFE, $FE3F3F3F, $3F3F1F03, $03031F1F, $3F3F3F3F, $00000026, $0002000F, $FFFFFFFF, $FEFEF0F0, $F0FEFFFF, $FFFFFF1F, $1F1F1F1F, $0F010101, $0F0F1F1F, $1F1F0000, $00260002, $000FFFFF, $FFFFFFFF, $F8F8F8FF, $FFFFFFFF, $FF8F8F8F, $8F0F0700, $00000787, $8F8F8F8F, $00000036, $0003000F, $FFFFFFFF, $FFFFFCFC, $FCFFFFFF, $FFFFFFC7, $C7C7C787, $83000000, $83C3C7C7, $C7C7FFFF, $FFFFFFFF, $7F7F7FFF, $FFFFFFFF, $FF000000, $00360003, $000FFFFF, $FFFFFFFF, $FEFEFEFF, $FFFFFFFF, $FFE3E3E3, $E3C3C100, $0000C1E1, $E3E3E3E3, $FFFFFFFF, $FFFF3F3F, $3FFFFFFF, $FFFFFF4C, $FFF9FFF6, $000F0015, $00080001, $0000004C, $0000007E, $000000B0, $000000F8, $00000140, $00000188, $000001D0, $00000218, $00000260, $00000292, $000002C4, $0000030C, $00000354, $0000039C, $000003E4, $0000042C, $00000032, $00020015, $03020202, $02020604, $0CF880F8, $0C040602, $02020202, $03808080, $80808080, $C0603E02, $3E6040C0, $80808080, $80800000, $00320002, $00150101, $01010101, $0302067C, $407C0602, $03010101, $010101C0, $40404040, $40406030, $1F011F30, $20604040, $404040C0, $00000048, $00030015, $00000000, $00000101, $033E203E, $03010100, $00000000, $00E0A0A0, $A0A0A0A0, $30180F00, $0F1810B0, $A0A0A0A0, $A0E00000, $00000000, $00000080, $80800000, $00000000, $00000012, $00000048, $00030015, $00000000, $00000000, $011F101F, $01000000, $00000000, $00705050, $505050D0, $988C0700, $078C88D8, $50505050, $50700000, $00000000, $000000C0, $40C00000, $00000000, $000000FD, $00000048, $00030015, $00000000, $00000000, $000F080F, $00000000, $00000000, $00382828, $28282868, $4CC68300, $83C6446C, $28282828, $28380000, $00000000, $000000E0, $20E00000, $00000000, $0000007E, $00000048, $00030015, $00000000, $00000000, $00070407, $00000000, $00000000, $001C1414, $14141434, $2663C100, $C1632236, $14141414, $141C0000, $00000000, $000000F0, $10F00000, $00000000, $00000000, $00000048, $00030015, $00000000, $00000000, $00030203, $00000000, $00000000, $000E0A0A, $0A0A0A1A, $1331E000, $E031111B, $0A0A0A0A, $0A0E0000, $00000000, $000080F8, $08F88000, $00000000, $00000000, $00000048, $00030015, $00000000, $00000000, $00010101, $00000000, $00000000, $00070505, $0505050D, $0918F000, $F018080D, $05050505, $05070000, $00000000, $0080C07C, $047CC080, $80000000, $0000007F, $00000032, $00020015, $FCFCFCFC, $FCFCF8F8, $F0000000, $F0F8F8FC, $FCFCFCFC, $FC7F7F7F, $7F7F7F7F, $3F1F0101, $011F3F3F, $7F7F7F7F, $7F7F0000, $00320002, $0015FEFE, $FEFEFEFE, $FCFCF880, $8080F8FC, $FCFEFEFE, $FEFEFE3F, $3F3F3F3F, $3F3F1F0F, $0000000F, $1F1F3F3F, $3F3F3F3F, $00000048, $00030015, $FFFFFFFF, $FFFFFEFE, $FCC0C0C0, $FCFEFEFF, $FFFFFFFF, $FF1F1F1F, $1F1F1F1F, $0F070000, $00070F0F, $1F1F1F1F, $1F1FFFFF, $FFFFFFFF, $FFFFFF7F, $7F7FFFFF, $FFFFFFFF, $FFFFFF96, $00000048, $00030015, $FFFFFFFF, $FFFFFFFF, $FEE0E0E0, $FEFFFFFF, $FFFFFFFF, $FF8F8F8F, $8F8F8F0F, $07030000, $00030707, $8F8F8F8F, $8F8FFFFF, $FFFFFFFF, $FFFFFF3F, $3F3FFFFF, $FFFFFFFF, $FFFFFF00, $00000048, $00030015, $FFFFFFFF, $FFFFFFFF, $FFF0F0F0, $FFFFFFFF, $FFFFFFFF, $FFC7C7C7, $C7C7C787, $83010000, $00018383, $C7C7C7C7, $C7C7FFFF, $FFFFFFFF, $FFFFFF1F, $1F1FFFFF, $FFFFFFFF, $FFFFFF0B, $00000048, $00030015, $FFFFFFFF, $FFFFFFFF, $FFF8F8F8, $FFFFFFFF, $FFFFFFFF, $FFE3E3E3, $E3E3E3C3, $C1800000, $0080C1C1, $E3E3E3E3, $E3E3FFFF, $FFFFFFFF, $FFFFFF0F, $0F0FFFFF, $FFFFFFFF, $FFFFFF00, $00000048, $00030015, $FFFFFFFF, $FFFFFFFF, $FFFCFCFC, $FFFFFFFF, $FFFFFFFF, $FFF1F1F1, $F1F1F1E1, $E0C00000, $00C0E0E0, $F1F1F1F1, $F1F1FFFF, $FFFFFFFF, $FFFF7F07, $07077FFF, $FFFFFFFF, $FFFFFF00, $00000048, $00030015, $FFFFFFFF, $FFFFFFFF, $FFFEFEFE, $FFFFFFFF, $FFFFFFFF, $FFF8F8F8, $F8F8F8F0, $F0E00000, $00E0F0F0, $F8F8F8F8, $F8F8FFFF, $FFFFFFFF, $FF7F3F03, $03033F7F, $7FFFFFFF, $FFFFFFE0, $FFF7FFF3, $0013001B, $00080001, $0000004C, $000000A6, $00000100, $0000015A, $000001B4, $0000020E, $00000268, $000002DC, $00000350, $000003AA, $00000404, $0000045E, $000004B8, $00000512, $0000056C, $000005E0, $0000005A, $0003001B, $00000000, $00000001, $01010302, $FE80FC06, $03010101, $00000000, $000000E0, $A0A0A0A0, $A0A0A020, $30101C07, $00071C10, $3020A0A0, $A0A0A0A0, $A0E00000, $00000000, $00000000, $0000E020, $E0000000, $00000000, $00000000, $00000000, $005A0003, $001B0000, $00000000, $00000000, $01017F40, $7E030100, $00000000, $00000000, $00705050, $50505050, $D0909888, $0E030003, $0E889890, $D0505050, $50505070, $00000000, $00000000, $00000000, $F010F000, $00000000, $00000000, $00000002, $0000005A, $0003001B, $00000000, $00000000, $00000000, $3F203F01, $00000000, $00000000, $00000038, $28282828, $28286848, $4CC48781, $000187C4, $4C486828, $28282828, $28380000, $00000000, $00000000, $0000F808, $F8000000, $00000000, $00000000, $00000000, $005A0003, $001B0000, $00000000, $00000000, $00001F10, $1F000000, $00000000, $00000000, $001C1414, $14141414, $34242662, $43C00080, $C3622624, $34141414, $1414141C, $00000000, $00000000, $00000080, $FC04FC80, $00000000, $00000000, $00000020, $0000005A, $0003001B, $00000000, $00000000, $00000000, $0F080F00, $00000000, $00000000, $0000000E, $0A0A0A0A, $0A0A1A12, $133121E0, $00C06131, $13121A0A, $0A0A0A0A, $0A0E0000, $00000000, $00000000, $00C07E02, $7EC00000, $00000000, $00000000, $001C0000, $005A0003, $001B0000, $00000000, $00000000, $00000704, $07000000, $00000000, $00000000, $00070505, $05050505, $0D090918, $10F000E0, $30180909, $0D050505, $05050507, $00000000, $00000000, $008080E0, $3F013FE0, $80800000, $00000000, $0000000F, $00000074, $0004001B, $00000000, $00000000, $00000000, $03020300, $00000000, $00000000, $00000003, $02020202, $02020604, $040C08F8, $00F0180C, $04040602, $02020202, $02038080, $80808080, $808080C0, $40701F00, $1F7040C0, $80808080, $80808080, $80000000, $00000000, $00000000, $00808080, $00000000, $00000000, $00000000, $00000074, $0004001B, $00000000, $00000000, $00000000, $01010100, $00000000, $00000000, $00000001, $01010101, $01010302, $020604FC, $00F80C06, $02020301, $01010101, $0101C040, $40404040, $40404060, $20380F00, $0F382060, $40404040, $40404040, $C0000000, $00000000, $00000000, $00C040C0, $00000000, $00000000, $00000000, $0000005A, $0003001B, $FFFFFFFF, $FFFFFFFE, $FEFEFCFC, $000000F8, $FCFEFEFE, $FFFFFFFF, $FFFFFF1F, $1F1F1F1F, $1F1F1F1F, $0F0F0300, $0000030F, $0F1F1F1F, $1F1F1F1F, $1F1FFFFF, $FFFFFFFF, $FFFFFFFF, $FFFF1F1F, $1FFFFFFF, $FFFFFFFF, $FFFFFFFF, $FF000000, $005A0003, $001BFFFF, $FFFFFFFF, $FFFFFFFF, $FEFE8080, $80FCFEFF, $FFFFFFFF, $FFFFFFFF, $FF8F8F8F, $8F8F8F8F, $0F0F0707, $01000000, $0107070F, $0F8F8F8F, $8F8F8F8F, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $0F0F0FFF, $FFFFFFFF, $FFFFFFFF, $FFFFFF03, $0000005A, $0003001B, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $C0C0C0FE, $FFFFFFFF, $FFFFFFFF, $FFFFFFC7, $C7C7C7C7, $C7C78787, $83030000, $00000003, $838787C7, $C7C7C7C7, $C7C7FFFF, $FFFFFFFF, $FFFFFFFF, $FFFF0707, $07FFFFFF, $FFFFFFFF, $FFFFFFFF, $FF000000, $005A0003, $001BFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFE0E0, $E0FFFFFF, $FFFFFFFF, $FFFFFFFF, $FFE3E3E3, $E3E3E3E3, $C3C3C181, $80000000, $0081C1C3, $C3E3E3E3, $E3E3E3E3, $FFFFFFFF, $FFFFFFFF, $FFFFFF7F, $0303037F, $FFFFFFFF, $FFFFFFFF, $FFFFFF48, $0000005A, $0003001B, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $F0F0F0FF, $FFFFFFFF, $FFFFFFFF, $FFFFFFF1, $F1F1F1F1, $F1F1E1E1, $E0C0C000, $000080C0, $E0E1E1F1, $F1F1F1F1, $F1F1FFFF, $FFFFFFFF, $FFFFFFFF, $FF3F0101, $013FFFFF, $FFFFFFFF, $FFFFFFFF, $FF000000, $005A0003, $001BFFFF, $FFFFFFFF, $FFFFFFFF, $FFFFF8F8, $F8FFFFFF, $FFFFFFFF, $FFFFFFFF, $FFF8F8F8, $F8F8F8F8, $F0F0F0E0, $E0000000, $C0E0F0F0, $F0F8F8F8, $F8F8F8F8, $FFFFFFFF, $FFFFFFFF, $FF7F7F1F, $0000001F, $7F7FFFFF, $FFFFFFFF, $FFFFFFFF, $00000074, $0004001B, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FCFCFCFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFC, $FCFCFCFC, $FCFCF8F8, $F8F0F000, $0000E0F0, $F8F8F8FC, $FCFCFCFC, $FCFC7F7F, $7F7F7F7F, $7F7F7F3F, $3F0F0000, $000F3F3F, $7F7F7F7F, $7F7F7F7F, $7FFFFFFF, $FFFFFFFF, $FFFFFFFF, $FF7F7F7F, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $00000074, $0004001B, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FEFEFEFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFFE, $FEFEFEFE, $FEFEFCFC, $FCF8F800, $0000F0F8, $FCFCFCFE, $FEFEFEFE, $FEFE3F3F, $3F3F3F3F, $3F3F3F1F, $1F070000, $00071F1F, $3F3F3F3F, $3F3F3F3F, $3FFFFFFF, $FFFFFFFF, $FFFFFFFF, $FF3F3F3F, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $00000000; *) (*$? StarType = Stars2: TABLE.L TabStarSpriteList: $00001B14, $000A8000, $00000030, $0000017C, $00000310, $000004FC, $00000758, $00000A34, $00000DA0, $000011AC, $00001660, $00000000, $FFFEFFFE, $00050005, $00080001, $0000004C, $0000005A, $00000068, $00000076, $00000084, $00000096, $000000A8, $000000BA, $000000CC, $000000DA, $000000E8, $000000F6, $00000104, $00000116, $00000128, $0000013A, $0000000E, $00010005, $70D888D8, $70000000, $000E0001, $0005386C, $446C380C, $0000000E, $00010005, $1C362236, $1C010000, $000E0001, $00050E1B, $111B0E03, $00000012, $00020005, $070D080D, $07008080, $80000000, $00120002, $00050306, $04060380, $C040C080, $00000012, $00020005, $01030203, $01C06020, $60C00000, $00120002, $00050001, $010100E0, $B010B0E0, $0000000E, $00010005, $8F070707, $8F010000, $000E0001, $0005C783, $8383C703, $0000000E, $00010005, $E3C1C1C1, $E3F80000, $000E0001, $0005F1E0, $E0E0F17F, $00000012, $00020005, $F8F0F0F0, $F8FF7F7F, $7FFF0000, $00120002, $0005FCF8, $F8F8FC7F, $3F3F3F7F, $00000012, $00020005, $FEFCFCFC, $FE3F1F1F, $1F3F0000, $00120002, $0005FFFE, $FEFEFF1F, $0F0F0F1F, $FFFDFFFD, $00070007, $00080001, $0000004C, $0000005C, $0000006C, $00000082, $00000098, $000000AE, $000000C4, $000000DA, $000000F0, $00000100, $00000110, $00000126, $0000013C, $00000152, $00000168, $0000017E, $00000010, $00010007, $386CC682, $C66C3880, $00000010, $00010007, $1C366341, $63361C80, $00000016, $00020007, $0E1B3120, $311B0E00, $00808080, $00000000, $00160002, $0007070D, $1810180D, $070080C0, $40C08000, $00000016, $00020007, $03060C08, $0C060380, $C0602060, $C0800000, $00160002, $00070103, $06040603, $01C06030, $103060C0, $00000016, $00020007, $00010302, $030100E0, $B0180818, $B0E00000, $00160002, $00070000, $01010100, $0070D88C, $048CD870, $00000010, $00010007, $C7830101, $0183C71F, $00000010, $00010007, $E3C18080, $80C1E31F, $00000016, $00020007, $F1E0C0C0, $C0E0F1FF, $FF7F7F7F, $FFFF0000, $00160002, $0007F8F0, $E0E0E0F0, $F8FF7F3F, $3F3F7FFF, $00000016, $00020007, $FCF8F0F0, $F0F8FC7F, $3F1F1F1F, $3F7F0000, $00160002, $0007FEFC, $F8F8F8FC, $FE3F1F0F, $0F0F1F3F, $00000016, $00020007, $FFFEFCFC, $FCFEFF1F, $0F070707, $0F1F0000, $00160002, $0007FFFF, $FEFEFEFF, $FF8F0703, $0303078F, $FFFCFFFC, $00090009, $00080001, $0000004C, $00000066, $00000080, $0000009A, $000000B4, $000000CE, $000000E8, $00000102, $0000011C, $00000136, $00000150, $0000016A, $00000184, $0000019E, $000001B8, $000001D2, $0000001A, $00020009, $1C7741D5, $88D54177, $1C000000, $80808000, $00000000, $001A0002, $00090E3B, $206A446A, $203B0E00, $8080C040, $C0808000, $0000001A, $00020009, $071D1035, $2235101D, $0700C040, $60206040, $C0000000, $001A0002, $0009030E, $081A111A, $080E0380, $E020B010, $B020E080, $0000001A, $00020009, $0107040D, $080D0407, $01C07010, $58885810, $70C00000, $001A0002, $00090003, $02060406, $020300E0, $B808AC44, $AC08B8E0, $0000001A, $00020009, $00010103, $02030101, $0070DC04, $56225604, $DC700000, $001A0002, $00090000, $00010101, $00000038, $EE82AB11, $AB82EE38, $0000001A, $00020009, $E3808000, $00008080, $E3FFFFFF, $7F7F7FFF, $FFFF0000, $001A0002, $0009F1C0, $C0808080, $C0C0F1FF, $7F7F3F3F, $3F7F7FFF, $0000001A, $00020009, $F8E0E0C0, $C0C0E0E0, $F8FF3F3F, $1F1F1F3F, $3FFF0000, $001A0002, $0009FCF0, $F0E0E0E0, $F0F0FC7F, $1F1F0F0F, $0F1F1F7F, $0000001A, $00020009, $FEF8F8F0, $F0F0F8F8, $FE3F0F0F, $0707070F, $0F3F0000, $001A0002, $0009FFFC, $FCF8F8F8, $FCFCFF1F, $07070303, $0307071F, $0000001A, $00020009, $FFFEFEFC, $FCFCFEFE, $FF8F0303, $01010103, $038F0000, $001A0002, $0009FFFF, $FFFEFEFE, $FFFFFFC7, $01010000, $000101C7, $FFFBFFFB, $000B000B, $00080001, $0000004C, $0000006A, $00000088, $000000A6, $000000C4, $000000E2, $00000100, $0000012A, $00000154, $00000172, $00000190, $000001AE, $000001CC, $000001EA, $00000208, $00000232, $0000001E, $0002000B, $0E7B516A, $DF8ADF6A, $517B0E00, $C040C060, $2060C040, $C0000000, $001E0002, $000B073D, $28356F45, $6F35283D, $0700E0A0, $60B010B0, $60A0E000, $0000001E, $0002000B, $031E141A, $3722371A, $141E0380, $F050B0D8, $88D8B050, $F0800000, $001E0002, $000B010F, $0A0D1B11, $1B0D0A0F, $01C07828, $58EC44EC, $582878C0, $0000001E, $0002000B, $00070506, $0D080D06, $050700E0, $BC14ACF6, $A2F6AC14, $BCE00000, $001E0002, $000B0003, $02030604, $06030203, $0070DE8A, $56FB51FB, $568ADE70, $0000002A, $0003000B, $00010101, $03020301, $01010038, $EF45AB7D, $287DAB45, $EF380000, $00008080, $80000000, $00FF0000, $002A0003, $000B0000, $00000101, $01000000, $001CF7A2, $D5BE14BE, $D5A2F71C, $00808080, $C040C080, $808000C7, $0000001E, $0002000B, $F1808080, $00040080, $8080F1FF, $3F3F3F1F, $1F1F3F3F, $3FFF0000, $001E0002, $000BF8C0, $C0C08082, $80C0C0C0, $F8FF1F1F, $1F0F0F0F, $1F1F1FFF, $0000001E, $0002000B, $FCE0E0E0, $C0C1C0E0, $E0E0FC7F, $0F0F0F07, $07070F0F, $0F7F0000, $001E0002, $000BFEF0, $F0F0E0E0, $E0F0F0F0, $FE3F0707, $07038303, $0707073F, $0000001E, $0002000B, $FFF8F8F8, $F0F0F0F8, $F8F8FF1F, $03030301, $41010303, $031F0000, $001E0002, $000BFFFC, $FCFCF8F8, $F8FCFCFC, $FF8F0101, $01002000, $0101018F, $0000002A, $0003000B, $FFFEFEFE, $FCFCFCFE, $FEFEFFC7, $00000000, $10000000, $00C7FFFF, $FFFF7F7F, $7FFFFFFF, $FF3C0000, $002A0003, $000BFFFF, $FFFFFEFE, $FEFFFFFF, $FFE30000, $00000800, $000000E3, $FF7F7F7F, $3F3F3F7F, $7F7FFFA0, $FFFAFFFA, $000D000D, $00080001, $0000004C, $0000006E, $00000090, $000000B2, $000000D4, $00000104, $00000134, $00000164, $00000194, $000001B6, $000001D8, $000001FA, $0000021C, $0000024C, $0000027C, $000002AC, $00000022, $0002000D, $073D6845, $6FDF8DDF, $6F45683D, $0700E0B0, $10B0D888, $D8B010B0, $E0000000, $00220002, $000D031E, $3422376F, $466F3722, $341E0380, $F05888D8, $ECC4ECD8, $8858F080, $00000022, $0002000D, $010F1A11, $1B372337, $1B111A0F, $01C0782C, $44ECF662, $F6EC442C, $78C00000, $00220002, $000D0007, $0D080D1B, $111B0D08, $0D0700E0, $BC16A2F6, $FBB1FBF6, $A216BCE0, $00000030, $0003000D, $00030604, $060D080D, $06040603, $0070DE8B, $51FBFDD8, $FDFB518B, $DE700000, $00000080, $80800000, $0000007F, $00000030, $0003000D, $00010302, $03060406, $03020301, $0038EF45, $287DFE6C, $FE7D2845, $EF380000, $808080C0, $40C08080, $8000000F, $00000030, $0003000D, $00000101, $01030203, $01010100, $001CF7A2, $14BE7F36, $7FBE14A2, $F71C0080, $C040C060, $2060C040, $C08000FF, $00000030, $0003000D, $00000000, $00010101, $00000000, $000E7BD1, $8ADFBF1B, $BFDF8AD1, $7B0E00C0, $602060B0, $10B06020, $60C00087, $00000022, $0002000D, $F8C08080, $80000000, $808080C0, $F8FF1F0F, $0F0F0707, $070F0F0F, $1FFF0000, $00220002, $000DFCE0, $C0C0C080, $8080C0C0, $C0E0FC7F, $0F070707, $03030307, $07070F7F, $00000022, $0002000D, $FEF0E0E0, $E0C0C0C0, $E0E0E0F0, $FE3F0703, $03030101, $01030303, $073F0000, $00220002, $000DFFF8, $F0F0F0E0, $E0E0F0F0, $F0F8FF1F, $03010101, $00000001, $0101031F, $00000030, $0003000D, $FFFCF8F8, $F8F0F0F0, $F8F8F8FC, $FF8F0100, $00000000, $00000000, $018FFFFF, $FFFFFF7F, $7F7FFFFF, $FFFFFF02, $00000030, $0003000D, $FFFEFCFC, $FCF8F8F8, $FCFCFCFE, $FFC70000, $00000000, $00000000, $00C7FFFF, $7F7F7F3F, $3F3F7F7F, $7FFFFF01, $00000030, $0003000D, $FFFFFEFE, $FEFCFCFC, $FEFEFEFF, $FFE30000, $00000000, $00000000, $00E3FF7F, $3F3F3F1F, $1F1F3F3F, $3F7FFF00, $00000030, $0003000D, $FFFFFFFF, $FFFEFEFE, $FFFFFFFF, $FFF18000, $00000000, $00000000, $80F1FF3F, $1F1F1F0F, $0F0F1F1F, $1F3FFF12, $FFF9FFF9, $000F000F, $00080001, $0000004C, $00000072, $00000098, $000000CE, $00000104, $0000013A, $00000170, $000001A6, $000001DC, $00000202, $00000228, $0000025E, $00000294, $000002CA, $00000300, $00000336, $00000026, $0002000F, $03061D36, $2B76DCA8, $DC762B36, $1D060380, $C070D8A8, $DC762A76, $DCA8D870, $C0800000, $00260002, $000F0103, $0E1B153B, $6E546E3B, $151B0E03, $01C060B8, $6CD46E3B, $153B6ED4, $6CB860C0, $00000036, $0003000F, $0001070D, $0A1D372A, $371D0A0D, $070100E0, $B05CB6EA, $B71D0A1D, $B7EAB65C, $B0E00000, $00000000, $80808000, $00000000, $00F00000, $00360003, $000F0000, $0306050E, $1B151B0E, $05060300, $0070D8AE, $DB75DB8E, $058EDB75, $DBAED870, $00000000, $0080C040, $C0800000, $0000001B, $00000036, $0003000F, $00000103, $02070D0A, $0D070203, $01000038, $6CD76DBA, $6DC782C7, $6DBA6DD7, $6C380000, $008080C0, $60A060C0, $80800000, $00000000, $00360003, $000F0000, $00010103, $06050603, $01010000, $001C36EB, $B65DB6E3, $41E3B65D, $B6EB361C, $000080C0, $40E0B050, $B0E040C0, $80000015, $00000036, $0003000F, $00000000, $00010302, $03010000, $0000000E, $1B75DBAE, $DB71A071, $DBAEDB75, $1B0E0000, $C060A070, $D8A8D870, $A060C000, $00FE0000, $00360003, $000F0000, $00000000, $01010100, $00000000, $00070D3A, $6D57EDB8, $50B8ED57, $6D3A0D07, $0080E0B0, $50B8EC54, $ECB850B0, $E08000FE, $00000026, $0002000F, $FCF8E0C0, $C0810307, $0381C0C0, $E0F8FC7F, $3F0F0707, $0381C181, $0307070F, $3F7F0000, $00260002, $000FFEFC, $F0E0E0C0, $818381C0, $E0E0F0FC, $FE3F1F07, $030381C0, $E0C08103, $03071F3F, $00000036, $0003000F, $FFFEF8F0, $F0E0C0C1, $C0E0F0F0, $F8FEFF1F, $0F030101, $40E0F0E0, $40010103, $0F1FFFFF, $FFFFFFFF, $7F7F7FFF, $FFFFFFFF, $FF000000, $00360003, $000FFFFF, $FCF8F8F0, $E0E0E0F0, $F8F8FCFF, $FF8F0701, $00002070, $F8702000, $0001078F, $FFFFFFFF, $FF7F3F3F, $3F7FFFFF, $FFFFFFFF, $00000036, $0003000F, $FFFFFEFC, $FCF8F0F0, $F0F8FCFC, $FEFFFFC7, $83000000, $10387C38, $10000000, $83C7FFFF, $FF7F7F3F, $1F1F1F3F, $7F7FFFFF, $FF800000, $00360003, $000FFFFF, $FFFEFEFC, $F8F8F8FC, $FEFEFFFF, $FFE3C100, $0000081C, $3E1C0800, $0000C1E3, $FFFF7F3F, $3F1F0F0F, $0F1F3F3F, $7FFFFFFC, $00000036, $0003000F, $FFFFFFFF, $FFFEFCFC, $FCFEFFFF, $FFFFFFF1, $E0800000, $040E1F0E, $04000080, $E0F1FFFF, $3F1F1F0F, $0707070F, $1F1F3FFF, $FF000000, $00360003, $000FFFFF, $FFFFFFFF, $FEFEFEFF, $FFFFFFFF, $FFF8F0C0, $80800207, $0F070280, $80C0F0F8, $FF7F1F0F, $0F070383, $03070F0F, $1F7FFFFF, $FFF8FFF8, $00110011, $00080001, $0000004C, $00000088, $000000C4, $00000100, $0000013C, $00000178, $000001B4, $000001F0, $0000022C, $00000268, $000002A4, $000002E0, $0000031C, $00000358, $00000394, $000003D0, $0000003C, $00030011, $01031E37, $2B367CD8, $A8D87C36, $2B371E03, $01C060BC, $76EA361F, $0D0A0D1F, $36EA76BC, $60C00000, $00000000, $00808080, $00000000, $00000020, $0000003C, $00030011, $00010F1B, $151B3E6C, $546C3E1B, $151B0F01, $00E0B05E, $BBF51B0F, $0605060F, $1BF5BB5E, $B0E00000, $00000000, $80C040C0, $80000000, $00000000, $0000003C, $00030011, $0000070D, $0A0D1F36, $2A361F0D, $0A0D0700, $0070D8AF, $DDFA8D07, $03020307, $8DFADDAF, $D8700000, $00808080, $C060A060, $C0808080, $00000000, $0000003C, $00030011, $00000306, $05060F1B, $151B0F06, $05060300, $00386CD7, $EE7DC683, $01010183, $C67DEED7, $6C380000, $80C040C0, $E0B050B0, $E0C040C0, $80000048, $0000003C, $00030011, $00000103, $0203070D, $0A0D0703, $02030100, $001C36EB, $77BE63C1, $808080C1, $63BE77EB, $361C0000, $C060A060, $F0D8A8D8, $F060A060, $C0000000, $0000003C, $00030011, $00000001, $01010306, $05060301, $01010000, $000E1BF5, $BB5FB1E0, $C040C0E0, $B15FBBF5, $1B0E0000, $E0B050B0, $F86C546C, $F8B050B0, $E0000080, $0000003C, $00030011, $00000000, $00000103, $02030100, $00000000, $00070D7A, $DDAFD8F0, $60A060F0, $D8AFDD7A, $0D070080, $F0D8A8D8, $7C362A36, $7CD8A8D8, $F0800012, $0000003C, $00030011, $00000000, $00000001, $01010000, $00000000, $0003063D, $6E576CF8, $B050B0F8, $6C576E3D, $060380C0, $78ECD46C, $3E1B151B, $3E6CD4EC, $78C08000, $0000003C, $00030011, $FEFCE0C0, $C0C18307, $070783C1, $C0C0E0FC, $FE3F1F03, $0101C1E0, $F0F0F0E0, $C1010103, $1F3FFFFF, $FFFFFFFF, $FF7F7F7F, $FFFFFFFF, $FFFFFFE0, $0000003C, $00030011, $FFFEF0E0, $E0E0C183, $8383C1E0, $E0E0F0FE, $FF1F0F01, $0000E0F0, $F8F8F8F0, $E0000001, $0F1FFFFF, $FFFFFFFF, $7F3F3F3F, $7FFFFFFF, $FFFFFF04, $0000003C, $00030011, $FFFFF8F0, $F0F0E0C1, $C1C1E0F0, $F0F0F8FF, $FF8F0700, $000070F8, $FCFCFCF8, $70000000, $078FFFFF, $FF7F7F7F, $3F1F1F1F, $3F7F7F7F, $FFFFFF80, $0000003C, $00030011, $FFFFFCF8, $F8F8F0E0, $E0E0F0F8, $F8F8FCFF, $FFC78300, $0000387C, $FEFEFE7C, $38000000, $83C7FFFF, $7F3F3F3F, $1F0F0F0F, $1F3F3F3F, $7FFFFFFC, $0000003C, $00030011, $FFFFFEFC, $FCFCF8F0, $F0F0F8FC, $FCFCFEFF, $FFE3C100, $00001C3E, $7F7F7F3E, $1C000000, $C1E3FFFF, $3F1F1F1F, $0F070707, $0F1F1F1F, $3FFFFF00, $0000003C, $00030011, $FFFFFFFE, $FEFEFCF8, $F8F8FCFE, $FEFEFFFF, $FFF1E000, $00000E1F, $3F3F3F1F, $0E000000, $E0F1FFFF, $1F0F0F0F, $07838383, $070F0F0F, $1FFFFF0F, $0000003C, $00030011, $FFFFFFFF, $FFFFFEFC, $FCFCFEFF, $FFFFFFFF, $FFF8F080, $0000070F, $1F1F1F0F, $07000080, $F0F8FF7F, $0F070707, $83C1C1C1, $83070707, $0F7FFF80, $0000003C, $00030011, $FFFFFFFF, $FFFFFFFE, $FEFEFFFF, $FFFFFFFF, $FFFCF8C0, $80808307, $0F0F0F07, $838080C0, $F8FC7F3F, $07030383, $C1E0E0E0, $C1830303, $073F7FFF, $FFF7FFF7, $00130013, $00080001, $0000004C, $0000008E, $000000D0, $00000112, $00000154, $00000196, $000001D8, $0000022C, $00000280, $000002C2, $00000304, $00000346, $00000388, $000003CA, $0000040C, $00000460, $00000042, $00030013, $0000382C, $341C0000, $F090F000, $001C342C, $380000E0, $A0A3E605, $07000001, $01010000, $0705E6A3, $A0E00000, $80808000, $0000E020, $E0000000, $80808000, $00C30000, $00420003, $00130000, $1C161A0E, $00007848, $7800000E, $1A161C00, $00705051, $73020300, $00000000, $00000302, $73515070, $0000C040, $C0800000, $F090F000, $0080C040, $C00000FF, $00000042, $00030013, $00000E0B, $0D070000, $3C243C00, $00070D0B, $0E000038, $28283901, $01000000, $00000000, $01013928, $28380000, $E0A060C0, $00007848, $780000C0, $60A0E000, $00FF0000, $00420003, $00130000, $07050603, $00001E12, $1E000003, $06050700, $001C1414, $9C808000, $00000000, $00008080, $9C14141C, $000070D0, $B0E00000, $3C243C00, $00E0B0D0, $700000F8, $00000042, $00030013, $00000302, $03010000, $0F090F00, $00010302, $0300000E, $0A8ACE40, $C0000000, $00000000, $C040CE8A, $0A0E0000, $38685870, $00001E12, $1E000070, $58683800, $00FC0000, $00420003, $00130000, $01010100, $00000704, $07000000, $01010100, $000705C5, $67A0E000, $00808080, $0000E0A0, $67C50507, $00001C34, $2C380000, $0F090F00, $00382C34, $1C00007F, $00000054, $00040013, $00000000, $00000000, $03020300, $00000000, $00000003, $02E2B3D0, $700000C0, $40C00000, $70D0B3E2, $02038080, $8E9A161C, $00000704, $0700001C, $169A8E80, $80000000, $00000000, $00808080, $00000000, $00000000, $00000054, $00040013, $00000000, $00000000, $01010100, $00000000, $00000001, $01715968, $380000E0, $20E00000, $38685971, $0101C040, $47CD0B0E, $00000302, $0300000E, $0BCD4740, $C0000000, $00000000, $00C040C0, $00000000, $00000000, $00000042, $00030013, $FFFFC7C3, $C3E3FFFF, $0F0F0FFF, $FFE3C3C3, $C7FFFF1F, $1F1C18F8, $F8FFFFFE, $FEFEFFFF, $F8F8181C, $1F1FFFFF, $7F7F7FFF, $FFFF1F1F, $1FFFFFFF, $7F7F7FFF, $FF3F0000, $00420003, $0013FFFF, $E3E1E1F1, $FFFF8787, $87FFFFF1, $E1E1E3FF, $FF8F8F8E, $8CFCFCFF, $FFFFFFFF, $FFFFFCFC, $8C8E8F8F, $FFFF3F3F, $3F7FFFFF, $0F0F0FFF, $FF7F3F3F, $3FFFFFFF, $00000042, $00030013, $FFFFF1F0, $F0F8FFFF, $C3C3C3FF, $FFF8F0F0, $F1FFFFC7, $C7C7C6FE, $FEFFFFFF, $FFFFFFFF, $FEFEC6C7, $C7C7FFFF, $1F1F1F3F, $FFFF8787, $87FFFF3F, $1F1F1FFF, $FFE30000, $00420003, $0013FFFF, $F8F8F8FC, $FFFFE1E1, $E1FFFFFC, $F8F8F8FF, $FFE3E3E3, $637F7FFF, $FFFFFFFF, $FFFF7F7F, $63E3E3E3, $FFFF8F0F, $0F1FFFFF, $C3C3C3FF, $FF1F0F0F, $8FFFFFE0, $00000042, $00030013, $FFFFFCFC, $FCFEFFFF, $F0F0F0FF, $FFFEFCFC, $FCFFFFF1, $F171313F, $3FFFFFFF, $FFFFFFFF, $3F3F3171, $F1F1FFFF, $C787878F, $FFFFE1E1, $E1FFFF8F, $8787C7FF, $FFE00000, $00420003, $0013FFFF, $FEFEFEFF, $FFFFF8F8, $F8FFFFFF, $FEFEFEFF, $FFF8F838, $181F1FFF, $FF7F7F7F, $FFFF1F1F, $1838F8F8, $FFFFE3C3, $C3C7FFFF, $F0F0F0FF, $FFC7C3C3, $E3FFFFB4, $00000054, $00040013, $FFFFFFFF, $FFFFFFFF, $FCFCFCFF, $FFFFFFFF, $FFFFFFFC, $FC1C0C0F, $8FFFFF3F, $3F3FFFFF, $8F0F0C1C, $FCFC7F7F, $7161E1E3, $FFFFF8F8, $F8FFFFE3, $E161717F, $7FFFFFFF, $FFFFFFFF, $FF7F7F7F, $FFFFFFFF, $FFFFFFFF, $00000054, $00040013, $FFFFFFFF, $FFFFFFFF, $FEFEFEFF, $FFFFFFFF, $FFFFFFFE, $FE8E8687, $C7FFFF1F, $1F1FFFFF, $C787868E, $FEFE3F3F, $3830F0F1, $FFFFFCFC, $FCFFFFF1, $F030383F, $3FFFFFFF, $FFFFFFFF, $FF3F3F3F, $FFFFFFFF, $FFFFFFFF, $FFF7FFF7, $00130013, $00080001, $0000004C, $0000008E, $000000D0, $00000112, $00000154, $00000196, $000001D8, $0000022C, $00000280, $000002C2, $00000304, $00000346, $00000388, $000003CA, $0000040C, $00000460, $00000042, $00030013, $00003828, $38000000, $E0A0E000, $00003828, $380000E0, $A0E30203, $00000000, $00000000, $000302E3, $A0E00000, $80808000, $0000E0A0, $E0000000, $80808000, $00000000, $00420003, $00130000, $1C141C00, $00007050, $70000000, $1C141C00, $00705071, $01010000, $00000000, $00000001, $01715070, $0000C040, $C0000000, $70507000, $0000C040, $C0000000, $00000042, $00030013, $00000E0A, $0E000000, $38283800, $00000E0A, $0E000038, $28380000, $00000000, $00000000, $00000038, $28380000, $E0A0E000, $00003828, $38000000, $E0A0E000, $00040000, $00420003, $00130000, $07050700, $00001C14, $1C000000, $07050700, $001C141C, $00000000, $00000000, $00000000, $001C141C, $00007050, $70000000, $1C141C00, $00007050, $70000000, $00000042, $00030013, $00000302, $03000000, $0E0A0E00, $00000302, $0300000E, $0A8E8080, $00000000, $00000000, $0080808E, $0A0E0000, $38283800, $00000E0A, $0E000000, $38283800, $00000000, $00420003, $00130000, $01010100, $00000705, $07000000, $01010100, $000705C7, $40C00000, $00000000, $000000C0, $40C70507, $00001C14, $1C000000, $07050700, $00001C14, $1C000001, $00000054, $00040013, $00000000, $00000000, $03020300, $00000000, $00000003, $02E3A0E0, $00000080, $80800000, $00E0A0E3, $02038080, $8E0A0E00, $00000302, $03000000, $0E0A8E80, $80000000, $00000000, $00808080, $00000000, $00000000, $00000054, $00040013, $00000000, $00000000, $01010100, $00000000, $00000001, $01715070, $000000C0, $40C00000, $00705071, $0101C040, $C7050700, $00000101, $01000000, $0705C740, $C0000000, $00000000, $00C040C0, $00000000, $00000000, $00000042, $00030013, $FFFFC7C7, $C7FFFFFF, $1F1F1FFF, $FFFFC7C7, $C7FFFF1F, $1F1CFCFC, $FFFFFFFF, $FFFFFFFF, $FFFCFC1C, $1F1FFFFF, $7F7F7FFF, $FFFF1F1F, $1FFFFFFF, $7F7F7FFF, $FF1F0000, $00420003, $0013FFFF, $E3E3E3FF, $FFFF8F8F, $8FFFFFFF, $E3E3E3FF, $FF8F8F8E, $FEFEFFFF, $FFFFFFFF, $FFFFFFFE, $FE8E8F8F, $FFFF3F3F, $3FFFFFFF, $8F8F8FFF, $FFFF3F3F, $3FFFFFFF, $00000042, $00030013, $FFFFF1F1, $F1FFFFFF, $C7C7C7FF, $FFFFF1F1, $F1FFFFC7, $C7C7FFFF, $FFFFFFFF, $FFFFFFFF, $FFFFFFC7, $C7C7FFFF, $1F1F1FFF, $FFFFC7C7, $C7FFFFFF, $1F1F1FFF, $FFFF0000, $00420003, $0013FFFF, $F8F8F8FF, $FFFFE3E3, $E3FFFFFF, $F8F8F8FF, $FFE3E3E3, $FFFFFFFF, $FFFFFFFF, $FFFFFFFF, $FFE3E3E3, $FFFF8F8F, $8FFFFFFF, $E3E3E3FF, $FFFF8F8F, $8FFFFF07, $00000042, $00030013, $FFFFFCFC, $FCFFFFFF, $F1F1F1FF, $FFFFFCFC, $FCFFFFF1, $F1717F7F, $FFFFFFFF, $FFFFFFFF, $FF7F7F71, $F1F1FFFF, $C7C7C7FF, $FFFFF1F1, $F1FFFFFF, $C7C7C7FF, $FF810000, $00420003, $0013FFFF, $FEFEFEFF, $FFFFF8F8, $F8FFFFFF, $FEFEFEFF, $FFF8F838, $3F3FFFFF, $FFFFFFFF, $FFFFFF3F, $3F38F8F8, $FFFFE3E3, $E3FFFFFF, $F8F8F8FF, $FFFFE3E3, $E3FFFFFF, $00000054, $00040013, $FFFFFFFF, $FFFFFFFF, $FCFCFCFF, $FFFFFFFF, $FFFFFFFC, $FC1C1F1F, $FFFFFF7F, $7F7FFFFF, $FF1F1F1C, $FCFC7F7F, $71F1F1FF, $FFFFFCFC, $FCFFFFFF, $F1F1717F, $7FFFFFFF, $FFFFFFFF, $FF7F7F7F, $FFFFFFFF, $FFFFFFFF, $00000054, $00040013, $FFFFFFFF, $FFFFFFFF, $FEFEFEFF, $FFFFFFFF, $FFFFFFFE, $FE8E8F8F, $FFFFFF3F, $3F3FFFFF, $FF8F8F8E, $FEFE3F3F, $38F8F8FF, $FFFFFEFE, $FEFFFFFF, $F8F8383F, $3FFFFFFF, $FFFFFFFF, $FF3F3F3F, $FFFFFFFF, $FFFFFFFF, $00000000; *) (*---------------------------------------------------------------------------*) PROCEDURE InitStar ( StarXPos, StarYPos : INTEGER ); VAR ok : BOOLEAN; StarNo : CARDINAL; BEGIN StarNo := 0; ok := FALSE; REPEAT IF ~Star[StarNo].IsActive THEN ok := TRUE; WITH Star[StarNo] DO IsActive := TRUE; (*$? StarType = Stars1: AnimationPhase := 14; *) (*$? StarType = Stars2: AnimationPhase := 8; *) X := StarXPos; Y := StarYPos; END; END; INC ( StarNo ); UNTIL ok OR (StarNo > MaxNoOfStars); END InitStar; PROCEDURE AnimateAndDrawStars; VAR StarNo : CARDINAL; BEGIN DirectTOSScreenShow := TRUE; FOR StarNo := 0 TO MaxNoOfStars DO WITH Star[StarNo] DO IF IsActive THEN DEC ( AnimationPhase ); IF AnimationPhase < 0 THEN IsActive := FALSE; ELSE DirectTOSScreenShow := FALSE; Sprite ( WorkScreen, StarSpriteList, StarSprites^[AnimationPhase], X, Y ); END; END; END; END; END AnimateAndDrawStars; PROCEDURE MakePicture; BEGIN MouseMoved := (MouseXPos^ # OldMouseXPos) OR (MouseYPos^ # OldMouseYPos); OldMouseXPos := MouseXPos^; OldMouseYPos := MouseYPos^; IF TOSScreenOnDisplay THEN IF DirectTOSScreenShow THEN IF MouseMoved THEN DirectTOSScreenShow := FALSE; END; Switch ( TOSScreen ); ELSE CopyScreen ( TOSScreen, WorkScreen ); IF MouseMoved THEN DEC (StarRateCounter); IF StarRateCounter = 0 THEN StarRateCounter := StarRate; InitStar ( OldMouseXPos + MinMaxRandom ( -StarArea, StarArea ), OldMouseYPos + MinMaxRandom ( -StarArea, StarArea ) ); END; END; AnimateAndDrawStars; SwitchSides; END; END; END MakePicture; (*---------------------------- VBL - Interrupt -----------------------------*) (*$L-*) PROCEDURE VBLXBRA; BEGIN ASSEMBLER asc 'XBRA' asc 'MSSY' dc.w 0 END; END VBLXBRA; (*$L+*) (*$L-*) PROCEDURE VBLIRQ; BEGIN ASSEMBLER subq.w #1,$452 bmi.w ED ; VBLHandler gesperrt subi.w #1,VBLTimer bpl.w ED ; Bildaufbau nur bei jedem ; 3. Monitorbild move.w #PicFreq-1,VBLTimer ; Timer zurcksetzen movem.l D0-D7/A0-A6,-(A7) clr.l D0 ; Lesen der aktuellen Bildschirmadresse move.l #$FF8201,A0 movep.w 0(A0),D0 lsl.l #8,D0 move.w #1,TOSScreenOnDisplay cmp.l TOSScreen,D0 beq go cmp.l DisplayScreen,D0 beq go clr.w TOSScreenOnDisplay ; Bildschirm wurde von jemand ; anderes umgesetzt !go lea VBLStack,A3 ; Jetzt nehmen wir unseren Stack, jsr MakePicture ; und malen das neue Bild movem.l (A7)+,D0-D7/A0-A6 !ED addq.w #1,$452 move.l OldVBLIRQ,-(A7) ; alte VBL-Routine macht weiter... END; END VBLIRQ; (*$L+*) (*$L-*) PROCEDURE InstallVBLIRQ; BEGIN ASSEMBLER jsr EnterSupervisorMode move.w SR,-(A7) ori.w #$0700,SR move.l $70,OldVBLIRQ lea VBLXBRA,A0 lea VBLIRQ,A0 move.l $70,-4(A0) ; XBRA-Vektor setzen move.l A0,$70 move.w (A7)+,SR andi.w #$DFFF,SR END; END InstallVBLIRQ; (*$L+*) (*--------------------------------------------------------------------------*) BEGIN Writeln; WriteString ( 'Magic Cursor installed.' ); Writeln; WriteString ( 'Written with MEGAMAX MODULA-2 for the TOS-Magazin by Meinolf Schneider' ); Writeln; WriteString ( '˝ May 1990 by Meinolf Schneider' ); Writeln; Writeln; FOR i := 0 TO 30000 DO END; FOR i := 0 TO 30000 DO END; ASSEMBLER move.l #TabStarSpriteList,StarSpriteList move.l #TabStarSprites,StarSprites ; Adressen der LineA-Variablen abfragen und setzen dc.w $A000 pea -$25A(A0) move.l (A7)+,MouseXPos pea -$258(A0) move.l (A7)+,MouseYPos END; StarRateCounter := 1; FOR i := 0 TO MaxNoOfStars DO Star[i].IsActive := FALSE; END; TOSScreen := GetSystemScreen(); TOSScreenOnDisplay := TRUE; DirectTOSScreenShow := TRUE; VBLTimer := PicFreq; InstallVBLIRQ; END Magic.