silversurfer.device TYPE_LOADSEG header (segments: first=0, last=0, table size=1) #000 CODE 000037f4 reloc absreloc32 #1 To Segment #0: 23 entries 00000000: 70 ff 4e 75 70 00 4e 75 4a fc 00 00 00 08 00 00 pˇNup.NuJ¸...... 00000010: 37 f2 80 02 03 05 00 00 00 24 00 00 00 81 00 00 7ÚÄ......$...Å.. 00000020: 00 c8 00 00 *73 69 6c 76 65 72 73 75 72 66 65 72 .»..silversurfer 00000030: 2e 64 65 76 69 63 65 00 53 69 6c 76 65 72 53 75 .device.SilverSu 00000040: 72 66 65 72 20 42 6f 61 72 64 2d 00 20 55 6e 69 rfer Board-. Uni 00000050: 74 00 00 00 20 52 00 00 20 57 00 00 53 69 6c 76 t... R.. W..Silv 00000060: 65 72 53 75 72 66 65 72 20 6c 69 67 68 74 73 70 erSurfer lightsp 00000070: 65 65 64 20 53 65 72 76 65 72 00 00 24 56 45 52 eed Server..$VER 00000080: 3a 53 69 6c 76 65 72 53 75 72 66 65 72 20 32 2e :SilverSurfer 2. 00000090: 31 30 34 20 28 31 33 2e 31 31 2e 30 30 29 0d 0a 104 (13.11.00).. 000000a0: 28 63 29 20 31 39 39 31 2d 45 56 45 52 20 62 79 (c) 1991-EVER by 000000b0: 20 56 4d 43 20 48 61 72 61 6c 64 20 46 72 61 6e VMC Harald Fran 000000c0: 6b 0d 0a 0d 0a 00 00 00 00 00 00 f4 00 00 00 d8 k..........Ù...ÿ 000000d0: 00 00 00 ec 00 00 01 ce ff ff 01 98 02 fc 03 e8 ...Ï...Œˇˇ.ò.¸.Ë 00000000 70ff moveq #-0x1,d0 00000002 4e75 rts 00000004 7000 moveq #0,d0 00000006 4e75 rts Resident Structure: 00000008 4afc illegal ; rt_MatchWord 0000000a 0000 0008 ori.b #0x8,d0 ; rt_MatchTag absreloc32: self: 00000008 0000000e 0000 37f2 ori.b #-0xe,d0 ; rt_EndSkip 00000012 8002 or.b d2,d0 ; flags=0x80 (RTF_AUTOINIT) version=0x02 00000014 0305 btst d1,d5 ; type=NT_DEVICE(0x03) pri=0x05 00000016 0000 0024 ori.b #0x24,d0 ; rt_Name: absreloc32: self: 00000024 0000001a 0000 0081 ori.b #-0x7f,d0 ; rt_IdString absreloc32: self: 00000081 0000001e 0000 00c8 ori.b #-0x38,d0 ; rt_Init: absreloc32: self: 000000c8 ; rt_Name 00000020: -- -- -- -- 73 69 6c 76 65 72 73 75 72 66 65 72 ----silversurfer 00000030: 2e 64 65 76 69 63 65 00 -- -- -- -- -- -- -- -- .device. ; rt_IdString 00000080: -- 53 69 6c 76 65 72 53 75 72 66 65 72 20 32 2e -SilverSurfer 2. 00000090: 31 30 34 20 28 31 33 2e 31 31 2e 30 30 29 0d 0a 104 (13.11.00).. 000000a0: 28 63 29 20 31 39 39 31 2d 45 56 45 52 20 62 79 (c) 1991-EVER by 000000b0: 20 56 4d 43 20 48 61 72 61 6c 64 20 46 72 61 6e VMC Harald Fran 000000c0: 6b 0d 0a 0d 0a 00 ; rt_Init 000000c0: -- -- -- -- -- -- -- -- 00 00 00 f4 00 00 00 d8 k..........Ù...ÿ 000000d0: 00 00 00 ec 00 00 01 ce ff ff 01 98 02 fc 03 e8 ...Ï...Œˇˇ.ò.¸.Ë dataSize: 000000f4 <--- library size vectors: 000000d8 structure: 000000ec init: 000001ce ; vectors @ d8 000000d0: 00 00 00 ec 00 00 01 ce ff ff 01 98 02 fc 03 e8 ...Ï...Œˇˇ.ò.¸.Ë 000000e0: ff 2c 05 f0 04 4c 00 34 ff ff 00 00 a0 08 03 00 ˇ,..L.4ˇˇ..†... ffff <- 16 bit -> + vectors offset (d8) 0198 -> 0270 -6 Open 02fc -> 03d4 -12 Close 03e8 -> 04c0 -18 Expunge ff2c -> 0004 ? -24 ExtFunc 05f0 -> 06c8 -30 BeginIO 044c -> 0524 -36 AbortIO 0034 -> 010c -42 ? ffff <- end ; structure @ ec INITBYTE a0 00 INITBYTE e0 00 00 INITWORD 90 INITWORD d0 00 INITLONG 80 INITLONG c0 00 000000e0: ff 2c 05 f0 04 4c 00 34 ff ff 00 00 a0 08 03 00 ,..L.4..... 000000f0: 80 0a 00 00 00 24 a0 0e 0e 00 90 14 00 02 90 16 <80>....$...<90>...<90>. 00000100: 00 5e 80 18 00 00 00 81 00 00 00 00 48 e7 ff 7e .^<80>....<81>....H~ INIT_BYTE(08,03) ln_Type = NT_DEVICE INIT_LONG(0a,00000024) @f2 -> reloc ln_Name = "silversurfer.device" INIT_LONG(0e,0e) lib_Flags = INIT_WORD(14,0002) lib_Version = 2 INIT_WORD(16,005e) lib_Revision = 0x5e INIT_LONG(18,00000081) @104 -> reloc lib_ldString = "SilverSurfer..." @108: 00 END ; LibNode: @0000 Library { @0000 Node { 0000 @0000/0000 +0004 Node* ln_Succ (ptr=True, sub=False) 0001 @0004/0004 +0004 Node* ln_Pred (ptr=True, sub=False) 0002 @0008/0008 +0001 UBYTE ln_Type (ptr=False, sub=False) 0003 @0009/0009 +0001 BYTE ln_Pri (ptr=False, sub=False) 0004 @0010/000a +0004 char* ln_Name (ptr=True, sub=False) @0014 =0014 } lib_Node 0005 @0014/000e +0001 UBYTE lib_Flags (ptr=False, sub=False) 0006 @0015/000f +0001 UBYTE lib_pad (ptr=False, sub=False) 0007 @0016/0010 +0002 UWORD lib_NegSize (ptr=False, sub=False) 0008 @0018/0012 +0002 UWORD lib_PosSize (ptr=False, sub=False) 0009 @0020/0014 +0002 UWORD lib_Version (ptr=False, sub=False) 0010 @0022/0016 +0002 UWORD lib_Revision (ptr=False, sub=False) 0011 @0024/0018 +0004 APTR lib_ldString (ptr=False, sub=False) 0012 @0028/001c +0004 ULONG lib_Sum (ptr=False, sub=False) 0013 @0032/0020 +0002 UWORD lib_OpenCnt (ptr=False, sub=False) @0034 =0034 } LibNode ----- DeviceData -------------------------------------------------------------- hex: 0020 open count? 0024 ExecBase 002c Timer Device ptr 0034 setList Ptr 003c ExecBase 0040 ExpansionBase 0058 Count SS Structs 0064 0x30 bei init '0' ASCII 0068 Unit 0 006C Unit 1 0090 SignalSemaphore 00cc IoReq timer device ; --- Func -42 ---------------------------------------------------------------- ; d0 = unit ; a6 = device 0000010c 48e7 ff7e movem.l d0-d7/a1-a6,-(sp) 00000110 41ee 0068 lea 0x68(a6),a0 00000114 e588 lsl.l #2,d0 00000116 d1c0 adda.l d0,a0 00000118 2650 movea.l (a0),a3 ; unit struct 0000011a 200b move.l a3,d0 0000011c 660a bne.b 0x128 ; is available 0000011e 4cdf 7eff movem.l (sp)+,d0-d7/a1-a6 00000122 7001 moveq #0x1,d0 ; d0=1 fail! 00000124 4e75 rts 00000128 41eb 04a8 lea 0x4a8(a3),a0 0000012c 20ab 024c move.l 0x24c(a3),(a0) 00000130 216b 0250 0004 move.l 0x250(a3),0x4(a0) 00000136 216b 0254 0008 move.l 0x254(a3),0x8(a0) 0000013c 216b 0258 000c move.l 0x258(a3),0xc(a0) 00000142 216b 025c 0010 move.l 0x25c(a3),0x10(a0) 00000148 216b 0260 0014 move.l 0x260(a3),0x14(a0) 0000014e 216b 0264 0018 move.l 0x264(a3),0x18(a0) 00000154 216b 0268 001c move.l 0x268(a3),0x1c(a0) 0000015a 216b 026c 0020 move.l 0x26c(a3),0x20(a0) 00000160 216b 0270 0024 move.l 0x270(a3),0x24(a0) 00000166 216b 02bc 0028 move.l 0x2bc(a3),0x28(a0) 0000016c 216b 02e4 0030 move.l 0x2e4(a3),0x30(a0) 00000172 216b 02e8 0034 move.l 0x2e8(a3),0x34(a0) 00000178 216b 02ec 0038 move.l 0x2ec(a3),0x38(a0) 0000017e 216b 02f0 003c move.l 0x2f0(a3),0x3c(a0) 00000184 216b 02f4 0040 move.l 0x2f4(a3),0x40(a0) 0000018a 216b 02f8 0044 move.l 0x2f8(a3),0x44(a0) 00000190 216b 02fc 0048 move.l 0x2fc(a3),0x48(a0) 00000196 216b 0300 004c move.l 0x300(a3),0x4c(a0) 0000019c 216b 03d0 0050 move.l 0x3d0(a3),0x50(a0) 000001a2 216b 03d4 0054 move.l 0x3d4(a3),0x54(a0) 000001a8 216b 0424 0058 move.l 0x424(a3),0x58(a0) 000001ae 216b 03d8 005c move.l 0x3d8(a3),0x5c(a0) 000001b4 116b 0138 0064 move.b 0x138(a3),0x64(a0) 000001ba 116b 0139 0065 move.b 0x139(a3),0x65(a0) 000001c0 116b 013a 0066 move.b 0x13a(a3),0x66(a0) 000001c6 4cdf 7eff movem.l (sp)+,d0-d7/a1-a6 000001ca 7000 moveq #0,d0 ; d0=0 ok! 000001cc 4e75 rts ; --- Device rt_Init ----------------------------------------------------- ; called with ; d0 = libAddr ; a0 = segList ; a6 = ExecBase 000001ce 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 000001d2 2a40 movea.l d0,a5 ; a6 = libAddr 000001d4 2b48 0034 move.l a0,0x34(a5) ; save segList 000001d8 2b4e 0024 move.l a6,0x24(a5) ; save ExecBase 000001dc 2b4e 003c move.l a6,0x3c(a5) ; ditto 000001e0 2b7c 0000 0030 0064 move.l #0x30,0x64(a5) ; unit no '0' 000001e8 7000 moveq #0,d0 ; V0 000001ea 43fa 35f3 lea 0x37df(pc),a1 ; "expansion.library" 000001ee 4eae fdd8 jsr -0x228(a6) ; OpenLibrary [libName,a1][version,d0] 000001f2 4a80 tst.l d0 000001f4 6700 0058 beq.w 0x24e ; bail out 000001f8 2b40 0040 move.l d0,0x40(a5) ; save expansion base 000001fc 43ed 00cc lea 0xcc(a5),a1 ; IoReq for timer 00000200 41fa 357e lea 0x3780(pc),a0 ; "timer.device" 00000204 7001 moveq #0x1,d0 ; unit 0 00000206 4281 clr.l d1 ; no flags 00000208 2f0e move.l a6,-(sp) ; save my lib 0000020a 2c6d 0024 movea.l 0x24(a5),a6 ; load exec base 0000020e 4eae fe44 jsr -0x1bc(a6) ; OpenDevice [devName,a0][unit,d0][ioRequest,a1][flags,d1] 00000212 2c5f movea.l (sp)+,a6 ; restore my lib 00000214 4a80 tst.l d0 00000216 6636 bne.b 0x24e ; bail out! 00000218 43ed 00cc lea 0xcc(a5),a1 ; ioReq timer device 0000021c 2b69 0014 002c move.l 0x14(a1),0x2c(a5) ; save io_Device of timer device 00000222 43ed 00cc lea 0xcc(a5),a1 00000226 2f0e move.l a6,-(sp) 00000228 2c6d 0024 movea.l 0x24(a5),a6 0000022c 4eae fe3e jsr -0x1c2(a6) ; CloseDevice [ioRequest,a1] 00000230 2c5f movea.l (sp)+,a6 00000232 41ed 0090 lea 0x90(a5),a0 ; struct SignalSemaphore 00000236 2f0e move.l a6,-(sp) 00000238 2c6d 0024 movea.l 0x24(a5),a6 0000023c 4eae fdd2 jsr -0x22e(a6) ; InitSemaphore [sigSem,a0] 00000240 2c5f movea.l (sp)+,a6 00000242 2c4d movea.l a5,a6 ; my lib addr 00000244 6100 2e90 bsr.w 0x30d6 ; ---> more init 00000248 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000024c 4e75 rts ; bail! 0000024e 226d 0040 movea.l 0x40(a5),a1 ; a1 = expansion base 00000252 b3fc 0000 0000 cmpa.l #0,a1 00000258 670c beq.b 0x266 ; skip close if no lib 0000025a 2f0e move.l a6,-(sp) 0000025c 2c6d 0024 movea.l 0x24(a5),a6 ; a6 = ExecBase 00000260 4eae fe62 jsr -0x19e(a6) ; CloseLibrary [library,a1] 00000264 2c5f movea.l (sp)+,a6 00000266 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000026a 7000 moveq #0,d0 ; 0000026c 4e75 rts ; ----------------------------------------------------------------------------- ; IOReq ---- struct IOStdReq { ---- struct Message { ---- struct Node { 0000 struct Node *ln_Succ; 0004 struct Node *ln_Pred; 0008 UBYTE ln_Type; /* NT_MESSAGE = 5 NT_REPLYMSG = 7 */ 0009 BYTE ln_Pri; 000a char *ln_Name; ---- } mn_Node; 000e struct MsgPort *mn_ReplyPort; 0012 UWORD mn_Length; } io_Message; 0014 struct Device *io_Device; 0018 struct Unit *io_Unit; 001c UWORD io_Command; 001e UBYTE io_Flags; /* IOF_QUICK = 1 */ 001f BYTE io_Error; 0020 ULONG io_Actual; 0024 ULONG io_Length; 0028 APTR io_Data; 002c ULONG io_Offset; 0030 }; ; ----- 0x270: Open() --------------------------------------------------------- ; d0 = Unit ; d1 = Flags ; a1 = IOReq Ptr ; a6 = DeviceNode Ptr 00000270 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00000274 42a9 0014 clr.l 0x14(a1) ; io_Device 00000278 42a9 0018 clr.l 0x18(a1) ; io_Unit 0000027c 2a4e movea.l a6,a5 0000027e 48e7 c040 movem.l d0-d1/a1,-(sp) 00000282 41ee 0090 lea 0x90(a6),a0 ; signal semaphore 00000286 2f0e move.l a6,-(sp) ; a6= DeviceNode 00000288 2c6d 0024 movea.l 0x24(a5),a6 ; a6= ExecBase ? 0000028c 4eae fdcc jsr -0x234(a6) ; OptainSemaphore(sigSem=a0) 00000290 2c5f movea.l (sp)+,a6 ; a6= DeviceNode 00000292 4cdf 0203 movem.l (sp)+,d0-d1/a1 00000296 0c80 ffff ffff cmpi.l #-0x1,d0 ; check unit 0000029c 6700 0112 beq.w 0x3b0 000002a0 0280 0000 ffff andi.l #0xffff,d0 000002a6 2400 move.l d0,d2 ; d2 = unit 000002a8 41ee 0068 lea 0x68(a6),a0 000002ac e588 lsl.l #2,d0 ; * 4 000002ae d1c0 adda.l d0,a0 000002b0 2650 movea.l (a0),a3 ; a3 = unit data struct? 000002b2 200b move.l a3,d0 000002b4 663a bne.b 0x2f0 ; ok! unit already here 000002b6 526e 0020 addq.w #0x1,0x20(a6) ; usage count?? 000002ba 2002 move.l d2,d0 ; d0 = unit 000002bc 6100 0fec bsr.w 0x12aa ; --> setup unit (return d0 if its ok) 000002c0 536e 0020 subq.w #0x1,0x20(a6) ; hmm 000002c4 0c80 ffff ffff cmpi.l #-0x1,d0 000002ca 6700 00f0 beq.w 0x3bc ; fail! 000002ce 2648 movea.l a0,a3 000002d0 41ee 0068 lea 0x68(a6),a0 ; again unit table 000002d4 e588 lsl.l #2,d0 000002d6 d1c0 adda.l d0,a0 000002d8 208b move.l a3,(a0) ; store unit struct 000002da 1769 004f 0467 move.b 0x4f(a1),0x467(a3) 000002e0 0829 0005 004f btst #0x5,0x4f(a1) 000002e6 6700 002c beq.w 0x314 000002ea 08eb 0005 0467 bset #0x5,0x467(a3) ; we have unit in a3 000002f0 4a6b 0024 tst.w 0x24(a3) 000002f4 6714 beq.b 0x30a 000002f6 082b 0005 0467 btst #0x5,0x467(a3) 000002fc 6700 00be beq.w 0x3bc ; fail! 00000300 0829 0005 004f btst #0x5,0x4f(a1) 00000306 6700 00b4 beq.w 0x3bc ; fail! 0000030a 1769 004f 0467 move.b 0x4f(a1),0x467(a3) 00000310 6008 bra.b 0x31a 00000314 136b 0467 004f move.b 0x467(a3),0x4f(a1) 0000031a 236b 0448 0030 move.l 0x448(a3),0x30(a1) 00000320 236b 044c 0034 move.l 0x44c(a3),0x34(a1) 00000326 4269 0050 clr.w 0x50(a1) 0000032a 236b 0464 004c move.l 0x464(a3),0x4c(a1) 00000330 236b 0454 003c move.l 0x454(a3),0x3c(a1) 00000336 236b 0458 0040 move.l 0x458(a3),0x40(a1) 0000033c 236b 0450 0038 move.l 0x450(a3),0x38(a1) 00000342 236b 045c 0044 move.l 0x45c(a3),0x44(a1) 00000348 236b 0460 0048 move.l 0x460(a3),0x48(a1) 0000034e 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000352 2a4e movea.l a6,a5 00000354 2c6b 0030 movea.l 0x30(a3),a6 ; 00000358 7000 moveq #0,d0 0000035a 7200 moveq #0,d1 0000035c 08c0 0001 bset #0x1,d0 00000360 08c0 0000 bset #0,d0 00000364 4eae 002a jsr 0x2a(a6) 00000368 103c 000f move.b #0xf,d0 0000036c 123c 0000 move.b #0,d1 00000370 4eae 0012 jsr 0x12(a6) 00000374 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000378 526e 0020 addq.w #0x1,0x20(a6) 0000037c 526b 0024 addq.w #0x1,0x24(a3) 00000380 234b 0018 move.l a3,0x18(a1) 00000384 234e 0014 move.l a6,0x14(a1) 00000388 4229 001f clr.b 0x1f(a1) 0000038c 7000 moveq #0,d0 ; exit 0000038e 137c 0007 0008 move.b #0x7,0x8(a1) ; io_Type 00000394 2f00 move.l d0,-(sp) 00000396 41ee 0090 lea 0x90(a6),a0 ; semaphore struct 0000039a 2f0e move.l a6,-(sp) 0000039c 2c6d 0024 movea.l 0x24(a5),a6 000003a0 4eae fdc6 jsr -0x23a(a6) ; ReleaseSemaphore(sigSem=a0) 000003a4 2c5f movea.l (sp)+,a6 000003a6 201f move.l (sp)+,d0 000003a8 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000003ac 4e75 rts ; ok 000003b0 234e 0014 move.l a6,0x14(a1) ; io_Device 000003b4 4229 001f clr.b 0x1f(a1) 000003b8 7000 moveq #0,d0 000003ba 60d2 bra.b 0x38e ; fail1 000003bc 137c 0001 001f move.b #0x1,0x1f(a1) ; set io_Error 000003c2 7000 moveq #0,d0 000003c4 7001 moveq #0x1,d0 ; return value: d0=1 000003c6 60c6 bra.b 0x38e ; fail2 000003c8 137c 0004 001f move.b #0x4,0x1f(a1) ; set io_Error 000003ce 7000 moveq #0,d0 000003d0 7004 moveq #0x4,d0 ; return value: d0=4 000003d2 60ba bra.b 0x38e ; ----- Close() ----- 000003d4 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000003d8 2a4e movea.l a6,a5 000003da 7000 moveq #0,d0 000003dc 4aa9 0018 tst.l 0x18(a1) 000003e0 6700 00c6 beq.w 0x4a8 000003e4 48e7 c040 movem.l d0-d1/a1,-(sp) 000003e8 41ee 0090 lea 0x90(a6),a0 000003ec 2f0e move.l a6,-(sp) 000003ee 2c6d 0024 movea.l 0x24(a5),a6 000003f2 4eae fdcc jsr -0x234(a6) 000003f6 2c5f movea.l (sp)+,a6 000003f8 4cdf 0203 movem.l (sp)+,d0-d1/a1 000003fc 2669 0018 movea.l 0x18(a1),a3 00000400 536b 0024 subq.w #0x1,0x24(a3) 00000404 667a bne.b 0x480 00000406 41eb 0308 lea 0x308(a3),a0 0000040a 61ff 0000 02a6 bsr.l 0x6b2 00000410 41eb 036c lea 0x36c(a3),a0 00000414 61ff 0000 029c bsr.l 0x6b2 0000041a 6100 039e bsr.w 0x7ba 0000041e 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000422 2a4e movea.l a6,a5 00000424 2c6b 0030 movea.l 0x30(a3),a6 00000428 7000 moveq #0,d0 0000042a 7200 moveq #0,d1 0000042c 08c1 0001 bset #0x1,d1 00000430 08c1 0000 bset #0,d1 00000434 08c1 0002 bset #0x2,d1 00000438 4eae 002a jsr 0x2a(a6) 0000043c 103c 0000 move.b #0,d0 00000440 123c 000f move.b #0xf,d1 00000444 4eae 0012 jsr 0x12(a6) 00000448 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000044c 2f0e move.l a6,-(sp) 0000044e 2c6d 0024 movea.l 0x24(a5),a6 00000452 4eae ff88 jsr -0x78(a6) 00000456 2c5f movea.l (sp)+,a6 00000458 48e7 c0c0 movem.l d0-d1/a0-a1,-(sp) 0000045c 41ee 0068 lea 0x68(a6),a0 00000460 7000 moveq #0,d0 00000462 102b 0028 move.b 0x28(a3),d0 00000466 e588 lsl.l #2,d0 00000468 d1c0 adda.l d0,a0 0000046a 4290 clr.l (a0) 0000046c 4cdf 0303 movem.l (sp)+,d0-d1/a0-a1 00000470 2f0e move.l a6,-(sp) 00000472 2c6d 0024 movea.l 0x24(a5),a6 00000476 4eae ff82 jsr -0x7e(a6) 0000047a 2c5f movea.l (sp)+,a6 0000047c 6100 1294 bsr.w 0x1712 00000480 7000 moveq #0,d0 00000482 2f00 move.l d0,-(sp) 00000484 41ee 0090 lea 0x90(a6),a0 00000488 2f0e move.l a6,-(sp) 0000048a 2c6d 0024 movea.l 0x24(a5),a6 0000048e 4eae fdc6 jsr -0x23a(a6) 00000492 2c5f movea.l (sp)+,a6 00000494 201f move.l (sp)+,d0 00000496 536e 0020 subq.w #0x1,0x20(a6) 0000049a 660c bne.b 0x4a8 0000049c 082e 0003 000e btst #0x3,0xe(a6) 000004a2 6704 beq.b 0x4a8 000004a4 6100 001a bsr.w 0x4c0 000004a8 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000004ac 08e9 0005 001e bset #0x5,0x1e(a1) 000004b2 42a9 0018 clr.l 0x18(a1) 000004b6 42a9 0014 clr.l 0x14(a1) 000004ba 4229 001f clr.b 0x1f(a1) 000004be 4e75 rts ; ----- Expunge ----- 000004c0 48e7 60c6 movem.l d1-d2/a0-a1/a5-a6,-(sp) 000004c4 2a4e movea.l a6,a5 000004c6 4a6d 0020 tst.w 0x20(a5) 000004ca 6704 beq.b 0x4d0 000004cc 7000 moveq #0,d0 000004ce 604e bra.b 0x51e 000004d0 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 000004d4 226d 0030 movea.l 0x30(a5),a1 000004d8 b3fc 0000 0000 cmpa.l #0,a1 000004de 670c beq.b 0x4ec 000004e0 2f0e move.l a6,-(sp) 000004e2 2c6d 0024 movea.l 0x24(a5),a6 000004e6 4eae fe62 jsr -0x19e(a6) 000004ea 2c5f movea.l (sp)+,a6 000004ec 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000004f0 242e 0034 move.l 0x34(a6),d2 000004f4 224e movea.l a6,a1 000004f6 2051 movea.l (a1),a0 000004f8 2269 0004 movea.l 0x4(a1),a1 000004fc 2288 move.l a0,(a1) 000004fe 2149 0004 move.l a1,0x4(a0) 00000502 224e movea.l a6,a1 00000504 7000 moveq #0,d0 00000506 302d 0010 move.w 0x10(a5),d0 0000050a 93c0 suba.l d0,a1 0000050c d06d 0012 add.w 0x12(a5),d0 00000510 2f0e move.l a6,-(sp) 00000512 2c6d 0024 movea.l 0x24(a5),a6 00000516 4eae ff2e jsr -0xd2(a6) 0000051a 2c5f movea.l (sp)+,a6 0000051c 2002 move.l d2,d0 0000051e 4cdf 6306 movem.l (sp)+,d1-d2/a0-a1/a5-a6 00000522 4e75 rts ; ----- AbortIO ----- 00000524 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000528 2a4e movea.l a6,a5 0000052a 2669 0018 movea.l 0x18(a1),a3 0000052e 08eb 0007 013a bset #0x7,0x13a(a3) 00000534 0c69 0002 001c cmpi.w #0x2,0x1c(a1) 0000053a 6750 beq.b 0x58c 0000053c 0c69 0003 001c cmpi.w #0x3,0x1c(a1) 00000542 6700 00c0 beq.w 0x604 00000546 0c69 000a 001c cmpi.w #0xa,0x1c(a1) 0000054c 6700 00b6 beq.w 0x604 00000550 6026 bra.b 0x578 00000552 08e9 0005 001e bset #0x5,0x1e(a1) 00000558 0229 00af 001e andi.b #-0x51,0x1e(a1) 0000055e 137c 00fe 001f move.b #-0x2,0x1f(a1) 00000564 0829 0000 001e btst #0,0x1e(a1) 0000056a 660c bne.b 0x578 0000056c 2f0e move.l a6,-(sp) 0000056e 2c6d 0024 movea.l 0x24(a5),a6 00000572 4eae fe86 jsr -0x17a(a6) 00000576 2c5f movea.l (sp)+,a6 00000578 08ab 0007 013a bclr #0x7,0x13a(a3) 0000057e 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000586 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000058a 4e75 rts 0000058c b3eb 026c cmpa.l 0x26c(a3),a1 00000590 662c bne.b 0x5be 00000592 2f0e move.l a6,-(sp) 00000594 2c6d 0024 movea.l 0x24(a5),a6 00000598 4eae ff88 jsr -0x78(a6) 0000059c 2c5f movea.l (sp)+,a6 0000059e 42ab 026c clr.l 0x26c(a3) 000005a2 42ab 0270 clr.l 0x270(a3) 000005a6 422b 013b clr.b 0x13b(a3) 000005aa 08ab 0001 013a bclr #0x1,0x13a(a3) 000005b0 2f0e move.l a6,-(sp) 000005b2 2c6d 0024 movea.l 0x24(a5),a6 000005b6 4eae ff82 jsr -0x7e(a6) 000005ba 2c5f movea.l (sp)+,a6 000005bc 6094 bra.b 0x552 000005be 0829 0006 001e btst #0x6,0x1e(a1) 000005c4 67b2 beq.b 0x578 000005c6 277c 0000 0001 0274 move.l #0x1,0x274(a3) 000005ce 2f0e move.l a6,-(sp) 000005d0 2c6d 0024 movea.l 0x24(a5),a6 000005d4 4eae ff88 jsr -0x78(a6) 000005d8 2c5f movea.l (sp)+,a6 000005da 2f09 move.l a1,-(sp) 000005dc 2051 movea.l (a1),a0 000005de 2269 0004 movea.l 0x4(a1),a1 000005e2 2288 move.l a0,(a1) 000005e4 2149 0004 move.l a1,0x4(a0) 000005e8 225f movea.l (sp)+,a1 000005ea 53ab 02bc subq.l #0x1,0x2bc(a3) 000005ee 2f0e move.l a6,-(sp) 000005f0 2c6d 0024 movea.l 0x24(a5),a6 000005f4 4eae ff82 jsr -0x7e(a6) 000005f8 2c5f movea.l (sp)+,a6 000005fa 42ab 0274 clr.l 0x274(a3) 000005fe 6000 ff52 bra.w 0x552 00000602 0000 b3eb ori.b #-0x15,d0 00000606 03d0 bset d1,(a0) 00000608 6600 0062 bne.w 0x66c 0000060c 0c69 000a 001c cmpi.w #0xa,0x1c(a1) 00000612 6622 bne.b 0x636 00000614 08ab 0005 0138 bclr #0x5,0x138(a3) 0000061a 6700 001a beq.w 0x636 0000061e 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000622 2c6b 0030 movea.l 0x30(a3),a6 00000626 7000 moveq #0,d0 00000628 7200 moveq #0,d1 0000062a 08c1 0002 bset #0x2,d1 0000062e 4eae 002a jsr 0x2a(a6) 00000632 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000636 41eb 0308 lea 0x308(a3),a0 0000063a 6100 0076 bsr.w 0x6b2 0000063e 2f0e move.l a6,-(sp) 00000640 2c6d 0024 movea.l 0x24(a5),a6 00000644 4eae ff88 jsr -0x78(a6) 00000648 2c5f movea.l (sp)+,a6 0000064a 42ab 03d0 clr.l 0x3d0(a3) 0000064e 42ab 03d8 clr.l 0x3d8(a3) 00000652 42ab 03d4 clr.l 0x3d4(a3) 00000656 08ab 0004 013a bclr #0x4,0x13a(a3) 0000065c 2f0e move.l a6,-(sp) 0000065e 2c6d 0024 movea.l 0x24(a5),a6 00000662 4eae ff82 jsr -0x7e(a6) 00000666 2c5f movea.l (sp)+,a6 00000668 6000 fee8 bra.w 0x552 0000066c 0829 0006 001e btst #0x6,0x1e(a1) 00000672 6700 ff04 beq.w 0x578 00000676 277c 0000 0001 03dc move.l #0x1,0x3dc(a3) 0000067e 2f0e move.l a6,-(sp) 00000680 2c6d 0024 movea.l 0x24(a5),a6 00000684 4eae ff88 jsr -0x78(a6) 00000688 2c5f movea.l (sp)+,a6 0000068a 2f09 move.l a1,-(sp) 0000068c 2051 movea.l (a1),a0 0000068e 2269 0004 movea.l 0x4(a1),a1 00000692 2288 move.l a0,(a1) 00000694 2149 0004 move.l a1,0x4(a0) 00000698 225f movea.l (sp)+,a1 0000069a 53ab 0424 subq.l #0x1,0x424(a3) 0000069e 2f0e move.l a6,-(sp) 000006a0 2c6d 0024 movea.l 0x24(a5),a6 000006a4 4eae ff82 jsr -0x7e(a6) 000006a8 2c5f movea.l (sp)+,a6 000006aa 42ab 03dc clr.l 0x3dc(a3) 000006ae 6000 fea2 bra.w 0x552 000006b2 2f09 move.l a1,-(sp) 000006b4 2248 movea.l a0,a1 000006b6 2f0e move.l a6,-(sp) 000006b8 2c6d 0024 movea.l 0x24(a5),a6 000006bc 4eae fe20 jsr -0x1e0(a6) 000006c0 2c5f movea.l (sp)+,a6 000006c2 225f movea.l (sp)+,a1 000006c4 4e75 rts ; ----- 0x6c8 BeginIO 000006c6 0000 48e7 ori.b #-0x19,d0 000006ca fffe linef 000006cc 2a4e movea.l a6,a5 000006ce 137c 0005 0008 move.b #0x5,0x8(a1) 000006d4 0229 008f 001e andi.b #-0x71,0x1e(a1) 000006da 7000 moveq #0,d0 000006dc 3029 001c move.w 0x1c(a1),d0 000006e0 2669 0018 movea.l 0x18(a1),a3 000006e4 0c40 4000 cmpi.w #0x4000,d0 000006e8 6700 0036 beq.w 0x720 000006ec 0c40 000b cmpi.w #0xb,d0 000006f0 6200 009a bhi.w 0x78c 000006f4 4229 001f clr.b 0x1f(a1) 000006f8 42a9 0020 clr.l 0x20(a1) 000006fc e348 lsl.w #1,d0 000006fe 303b 0008 move.w (0x8,pc,d0.w),d0 00000702 4efb 0004 jmp (0x4,pc,d0.w) 00000706 0000 0084 ori.b #-0x7c,d0 0000070a 00ac 01a8 04b0 0084 ori.l #0x1a804b0,0x84(a4) 00000712 0568 05a0 bchg d2,0x5a0(a0) 00000716 05bc bclr d2, 00000718 05dc bset d2,(a4)+ 0000071a 06ac 072c 07ee 42a9 addi.l #0x72c07ee,0x42a9(a4) 00000722 0020 4aa9 ori.b #-0x57,-(a0) 00000726 0028 6732 2469 ori.b #0x32,0x2469(a0) 0000072c 0028 2029 0024 ori.b #0x29,0x24(a0) 00000732 0c80 0000 000f cmpi.l #0xf,d0 00000738 6f22 ble.b 0x75c 0000073a 41fa 002c lea 0x768(pc),a0 0000073e 24d8 move.l (a0)+,(a2)+ 00000740 24d8 move.l (a0)+,(a2)+ 00000742 34d8 move.w (a0)+,(a2)+ 00000744 34d8 move.w (a0)+,(a2)+ 00000746 41fa 002c lea 0x774(pc),a0 0000074a 2488 move.l a0,(a2) 0000074c 237c 0000 0010 0020 move.l #0x10,0x20(a1) 00000754 4229 001f clr.b 0x1f(a1) 00000758 6000 003e bra.w 0x798 0000075c 42a9 0020 clr.l 0x20(a1) 00000760 4229 001f clr.b 0x1f(a1) 00000764 6000 0032 bra.w 0x798 00000768 0000 0000 ori.b #0,d0 0000076c 0000 0010 ori.b #0x10,d0 00000770 000b 0000 ori.b #0,a3 00000774 0001 0002 ori.b #0x2,d1 00000778 0003 0004 ori.b #0x4,d3 0000077c 0005 0006 ori.b #0x6,d5 00000780 0007 0008 ori.b #0x8,d7 00000784 0009 000a ori.b #0xa,a1 00000788 000b 0000 ori.b #0,a3 0000078c 137c 00fd 001f move.b #-0x3,0x1f(a1) 00000792 6000 0004 bra.w 0x798 00000796 0000 0829 ori.b #0x29,d0 0000079a 0000 001e ori.b #0x1e,d0 0000079e 660c bne.b 0x7ac 000007a0 2f0e move.l a6,-(sp) 000007a2 2c6d 0024 movea.l 0x24(a5),a6 000007a6 4eae fe86 jsr -0x17a(a6) 000007aa 2c5f movea.l (sp)+,a6 000007ac 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000007b0 4e75 rts 000007b2 0000 6100 ori.b #0,d0 000007b6 0004 60de ori.b #-0x22,d4 000007ba 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 000007be 277c 0000 0001 0274 move.l #0x1,0x274(a3) 000007c6 6100 0524 bsr.w 0xcec 000007ca 42ab 0274 clr.l 0x274(a3) 000007ce 4aab 026c tst.l 0x26c(a3) 000007d2 6710 beq.b 0x7e4 000007d4 206b 026c movea.l 0x26c(a3),a0 000007d8 6100 fed8 bsr.w 0x6b2 000007dc 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 000007e4 4aab 03d0 tst.l 0x3d0(a3) 000007e8 6710 beq.b 0x7fa 000007ea 206b 03d0 movea.l 0x3d0(a3),a0 000007ee 6100 fec2 bsr.w 0x6b2 000007f2 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 000007fa 422b 013a clr.b 0x13a(a3) 000007fe 6100 0478 bsr.w 0xc78 00000802 276b 046c 0448 move.l 0x46c(a3),0x448(a3) 00000808 276b 0470 044c move.l 0x470(a3),0x44c(a3) 0000080e 276b 0474 0450 move.l 0x474(a3),0x450(a3) 00000814 276b 0478 0454 move.l 0x478(a3),0x454(a3) 0000081a 276b 047c 0458 move.l 0x47c(a3),0x458(a3) 00000820 176b 0488 0464 move.b 0x488(a3),0x464(a3) 00000826 176b 0489 0465 move.b 0x489(a3),0x465(a3) 0000082c 176b 048a 0466 move.b 0x48a(a3),0x466(a3) 00000832 176b 048b 0467 move.b 0x48b(a3),0x467(a3) 00000838 276b 0480 045c move.l 0x480(a3),0x45c(a3) 0000083e 276b 0484 0460 move.l 0x484(a3),0x460(a3) 00000844 236b 0448 0030 move.l 0x448(a3),0x30(a1) 0000084a 236b 044c 0034 move.l 0x44c(a3),0x34(a1) 00000850 236b 0450 0038 move.l 0x450(a3),0x38(a1) 00000856 236b 0454 003c move.l 0x454(a3),0x3c(a1) 0000085c 236b 0458 0040 move.l 0x458(a3),0x40(a1) 00000862 136b 0464 004c move.b 0x464(a3),0x4c(a1) 00000868 136b 0465 004d move.b 0x465(a3),0x4d(a1) 0000086e 136b 0466 004e move.b 0x466(a3),0x4e(a1) 00000874 41e9 0044 lea 0x44(a1),a0 00000878 4298 clr.l (a0)+ 0000087a 4290 clr.l (a0) 0000087c 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000880 222b 0454 move.l 0x454(a3),d1 00000884 744e moveq #0x4e,d2 00000886 7600 moveq #0,d3 00000888 162b 0464 move.b 0x464(a3),d3 0000088c 7800 moveq #0,d4 0000088e 182b 0466 move.b 0x466(a3),d4 00000892 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000896 2a4e movea.l a6,a5 00000898 2c6b 0030 movea.l 0x30(a3),a6 0000089c 4eae 000c jsr 0xc(a6) 000008a0 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000008a4 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000008a8 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000008ac 4e75 rts 000008ae 0000 2069 ori.b #0x69,d0 000008b2 0028 4210 2229 ori.b #0x10,0x2229(a0) 000008b8 0024 6700 ori.b #0,-(a4) 000008bc 0070 4aab 026c ori.w #0x4aab,(0x6c,a0,d0.w*2) 000008c2 660e bne.b 0x8d2 000008c4 4aab 02bc tst.l 0x2bc(a3) 000008c8 6608 bne.b 0x8d2 000008ca 4aab 0264 tst.l 0x264(a3) 000008ce 6600 00a8 bne.w 0x978 000008d2 2f0e move.l a6,-(sp) 000008d4 2c6d 0024 movea.l 0x24(a5),a6 000008d8 4eae ff88 jsr -0x78(a6) 000008dc 2c5f movea.l (sp)+,a6 000008de 08a9 0000 001e bclr #0,0x1e(a1) 000008e4 08e9 0006 001e bset #0x6,0x1e(a1) 000008ea 277c 0000 0001 0274 move.l #0x1,0x274(a3) 000008f2 41eb 02c0 lea 0x2c0(a3),a0 000008f6 5888 addq.l #0x4,a0 000008f8 2028 0004 move.l 0x4(a0),d0 000008fc 2149 0004 move.l a1,0x4(a0) 00000900 2288 move.l a0,(a1) 00000902 2340 0004 move.l d0,0x4(a1) 00000906 2040 movea.l d0,a0 00000908 2089 move.l a1,(a0) 0000090a 52ab 02bc addq.l #0x1,0x2bc(a3) 0000090e 42ab 0274 clr.l 0x274(a3) 00000912 2f0e move.l a6,-(sp) 00000914 2c6d 0024 movea.l 0x24(a5),a6 00000918 4eae ff82 jsr -0x7e(a6) 0000091c 2c5f movea.l (sp)+,a6 0000091e 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000926 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000092a 4e75 rts 0000092c 6000 fe6a bra.w 0x798 00000930 2f0e move.l a6,-(sp) 00000932 2c6d 0024 movea.l 0x24(a5),a6 00000936 4eae ff88 jsr -0x78(a6) 0000093a 2c5f movea.l (sp)+,a6 0000093c 08a9 0000 001e bclr #0,0x1e(a1) 00000942 08e9 0004 001e bset #0x4,0x1e(a1) 00000948 08a9 0006 001e bclr #0x6,0x1e(a1) 0000094e 2769 0024 0270 move.l 0x24(a1),0x270(a3) 00000954 2749 026c move.l a1,0x26c(a3) 00000958 08ab 0001 013a bclr #0x1,0x13a(a3) 0000095e 2f0e move.l a6,-(sp) 00000960 2c6d 0024 movea.l 0x24(a5),a6 00000964 4eae ff82 jsr -0x7e(a6) 00000968 2c5f movea.l (sp)+,a6 0000096a 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000972 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000976 4e75 rts 00000978 08eb 0001 013a bset #0x1,0x13a(a3) 0000097e 2749 026c move.l a1,0x26c(a3) 00000982 0ca9 ffff ffff 0024 cmpi.l #-0x1,0x24(a1) 0000098a 67a4 beq.b 0x930 0000098c 0829 0006 004f btst #0x6,0x4f(a1) 00000992 669c bne.b 0x930 00000994 08e9 0004 001e bset #0x4,0x1e(a1) 0000099a 08a9 0006 001e bclr #0x6,0x1e(a1) 000009a0 2769 0024 0270 move.l 0x24(a1),0x270(a3) 000009a6 2749 026c move.l a1,0x26c(a3) 000009aa 0ca9 0000 0001 0024 cmpi.l #0x1,0x24(a1) 000009b2 6646 bne.b 0x9fa 000009b4 2069 0028 movea.l 0x28(a1),a0 000009b8 d1e9 0020 adda.l 0x20(a1),a0 000009bc 246b 0258 movea.l 0x258(a3),a2 000009c0 b5eb 0250 cmpa.l 0x250(a3),a2 000009c4 6604 bne.b 0x9ca 000009c6 246b 024c movea.l 0x24c(a3),a2 000009ca 10da move.b (a2)+,(a0)+ 000009cc 52a9 0020 addq.l #0x1,0x20(a1) 000009d0 53ab 0264 subq.l #0x1,0x264(a3) 000009d4 274a 0258 move.l a2,0x258(a3) 000009d8 6100 1bc8 bsr.w 0x25a2 000009dc 42ab 026c clr.l 0x26c(a3) 000009e0 42ab 0270 clr.l 0x270(a3) 000009e4 422b 013b clr.b 0x13b(a3) 000009e8 08ab 0001 013a bclr #0x1,0x13a(a3) 000009ee 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 000009f6 6000 ff34 bra.w 0x92c 000009fa 2069 0028 movea.l 0x28(a1),a0 000009fe d1e9 0020 adda.l 0x20(a1),a0 00000a02 2a29 0024 move.l 0x24(a1),d5 00000a06 9aa9 0020 sub.l 0x20(a1),d5 00000a0a 246b 0258 movea.l 0x258(a3),a2 00000a0e 284a movea.l a2,a4 00000a10 d9c5 adda.l d5,a4 00000a12 b9eb 0250 cmpa.l 0x250(a3),a4 00000a16 6f1e ble.b 0xa36 00000a18 b5eb 0250 cmpa.l 0x250(a3),a2 00000a1c 6606 bne.b 0xa24 00000a1e 246b 024c movea.l 0x24c(a3),a2 00000a22 6054 bra.b 0xa78 00000a24 10da move.b (a2)+,(a0)+ 00000a26 52a9 0020 addq.l #0x1,0x20(a1) 00000a2a 53ab 0264 subq.l #0x1,0x264(a3) 00000a2e 6758 beq.b 0xa88 00000a30 5385 subq.l #0x1,d5 00000a32 66e4 bne.b 0xa18 00000a34 6052 bra.b 0xa88 00000a36 baab 0264 cmp.l 0x264(a3),d5 00000a3a 6f04 ble.b 0xa40 00000a3c 6702 beq.b 0xa40 00000a3e 6038 bra.b 0xa78 00000a40 274a 0258 move.l a2,0x258(a3) 00000a44 0c85 0000 01ff cmpi.l #0x1ff,d5 00000a4a 6f2c ble.b 0xa78 00000a4c 6100 006e bsr.w 0xabc 00000a50 2369 0024 0020 move.l 0x24(a1),0x20(a1) 00000a56 6100 1b4a bsr.w 0x25a2 00000a5a 42ab 026c clr.l 0x26c(a3) 00000a5e 42ab 0270 clr.l 0x270(a3) 00000a62 422b 013b clr.b 0x13b(a3) 00000a66 08ab 0001 013a bclr #0x1,0x13a(a3) 00000a6c 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000a74 6000 feb6 bra.w 0x92c 00000a78 10da move.b (a2)+,(a0)+ 00000a7a 52a9 0020 addq.l #0x1,0x20(a1) 00000a7e 53ab 0264 subq.l #0x1,0x264(a3) 00000a82 6704 beq.b 0xa88 00000a84 5385 subq.l #0x1,d5 00000a86 66f0 bne.b 0xa78 00000a88 274a 0258 move.l a2,0x258(a3) 00000a8c 6100 1b14 bsr.w 0x25a2 00000a90 2a29 0020 move.l 0x20(a1),d5 00000a94 baa9 0024 cmp.l 0x24(a1),d5 00000a98 661e bne.b 0xab8 00000a9a 42ab 026c clr.l 0x26c(a3) 00000a9e 42ab 0270 clr.l 0x270(a3) 00000aa2 422b 013b clr.b 0x13b(a3) 00000aa6 08ab 0001 013a bclr #0x1,0x13a(a3) 00000aac 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000ab4 6000 fe76 bra.w 0x92c 00000ab8 6000 fe76 bra.w 0x930 00000abc 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000ac0 08a9 0006 001e bclr #0x6,0x1e(a1) 00000ac6 08e9 0004 001e bset #0x4,0x1e(a1) 00000acc 2069 0028 movea.l 0x28(a1),a0 00000ad0 d1e9 0020 adda.l 0x20(a1),a0 00000ad4 2029 0024 move.l 0x24(a1),d0 00000ad8 90a9 0020 sub.l 0x20(a1),d0 00000adc 226b 0258 movea.l 0x258(a3),a1 00000ae0 0c80 0000 01ff cmpi.l #0x1ff,d0 00000ae6 6204 bhi.b 0xaec 00000ae8 6000 00b8 bra.w 0xba2 00000aec 2208 move.l a0,d1 00000aee 0281 0000 0001 andi.l #0x1,d1 00000af4 2409 move.l a1,d2 00000af6 0282 0000 0001 andi.l #0x1,d2 00000afc e38a lsl.l #1,d2 00000afe 8481 or.l d1,d2 00000b00 4a02 tst.b d2 00000b02 6716 beq.b 0xb1a 00000b04 0c02 0003 cmpi.b #0x3,d2 00000b08 6600 0098 bne.w 0xba2 00000b0c 10d9 move.b (a1)+,(a0)+ 00000b0e 04ab 0000 0001 0264 subi.l #0x1,0x264(a3) 00000b16 5380 subq.l #0x1,d0 00000b18 60c6 bra.b 0xae0 00000b1a 48e7 8010 movem.l d0/a3,-(sp) 00000b1e 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b22 48d0 7cff movem.l d0-d7/a2-a6,(a0) 00000b26 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b2a 48e8 7cff 0034 movem.l d0-d7/a2-a6,0x34(a0) 00000b30 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b34 48e8 7cff 0068 movem.l d0-d7/a2-a6,0x68(a0) 00000b3a 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b3e 48e8 7cff 009c movem.l d0-d7/a2-a6,0x9c(a0) 00000b44 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b48 48e8 7cff 00d0 movem.l d0-d7/a2-a6,0xd0(a0) 00000b4e 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b52 48e8 7cff 0104 movem.l d0-d7/a2-a6,0x104(a0) 00000b58 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b5c 48e8 7cff 0138 movem.l d0-d7/a2-a6,0x138(a0) 00000b62 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b66 48e8 7cff 016c movem.l d0-d7/a2-a6,0x16c(a0) 00000b6c 4cd9 7cff movem.l (a1)+,d0-d7/a2-a6 00000b70 48e8 7cff 01a0 movem.l d0-d7/a2-a6,0x1a0(a0) 00000b76 4cd9 1cff movem.l (a1)+,d0-d7/a2-a4 00000b7a 48e8 1cff 01d4 movem.l d0-d7/a2-a4,0x1d4(a0) 00000b80 4cdf 0801 movem.l (sp)+,d0/a3 00000b84 04ab 0000 0200 0264 subi.l #0x200,0x264(a3) 00000b8c d0fc 0200 adda.w #0x200,a0 00000b90 0480 0000 0200 subi.l #0x200,d0 00000b96 6714 beq.b 0xbac 00000b98 0c80 0000 01ff cmpi.l #0x1ff,d0 00000b9e 6200 ff7a bhi.w 0xb1a 00000ba2 10d9 move.b (a1)+,(a0)+ 00000ba4 53ab 0264 subq.l #0x1,0x264(a3) 00000ba8 5380 subq.l #0x1,d0 00000baa 66f6 bne.b 0xba2 00000bac 2749 0258 move.l a1,0x258(a3) 00000bb0 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000bb4 4e75 rts 00000bb6 0000 4aa9 ori.b #-0x57,d0 00000bba 0024 675a ori.b #0x5a,-(a4) 00000bbe 08a9 0000 001e bclr #0,0x1e(a1) 00000bc4 08eb 0007 013a bset #0x7,0x13a(a3) 00000bca 2f0e move.l a6,-(sp) 00000bcc 2c6d 0024 movea.l 0x24(a5),a6 00000bd0 4eae ff88 jsr -0x78(a6) 00000bd4 2c5f movea.l (sp)+,a6 00000bd6 4aab 0424 tst.l 0x424(a3) 00000bda 6640 bne.b 0xc1c 00000bdc 4aab 03d0 tst.l 0x3d0(a3) 00000be0 663a bne.b 0xc1c 00000be2 08e9 0004 001e bset #0x4,0x1e(a1) 00000be8 2769 0028 03d4 move.l 0x28(a1),0x3d4(a3) 00000bee 2769 0024 03d8 move.l 0x24(a1),0x3d8(a3) 00000bf4 2749 03d0 move.l a1,0x3d0(a3) 00000bf8 2f0e move.l a6,-(sp) 00000bfa 2c6d 0024 movea.l 0x24(a5),a6 00000bfe 4eae ff82 jsr -0x7e(a6) 00000c02 2c5f movea.l (sp)+,a6 00000c04 08ab 0007 013a bclr #0x7,0x13a(a3) 00000c0a 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000c12 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000c16 4e75 rts 00000c18 6000 fb7e bra.w 0x798 00000c1c 08e9 0006 001e bset #0x6,0x1e(a1) 00000c22 277c 0000 0001 03dc move.l #0x1,0x3dc(a3) 00000c2a 41eb 0428 lea 0x428(a3),a0 00000c2e 5888 addq.l #0x4,a0 00000c30 2028 0004 move.l 0x4(a0),d0 00000c34 2149 0004 move.l a1,0x4(a0) 00000c38 2288 move.l a0,(a1) 00000c3a 2340 0004 move.l d0,0x4(a1) 00000c3e 2040 movea.l d0,a0 00000c40 2089 move.l a1,(a0) 00000c42 52ab 0424 addq.l #0x1,0x424(a3) 00000c46 42ab 03dc clr.l 0x3dc(a3) 00000c4a 2f0e move.l a6,-(sp) 00000c4c 2c6d 0024 movea.l 0x24(a5),a6 00000c50 4eae ff82 jsr -0x7e(a6) 00000c54 2c5f movea.l (sp)+,a6 00000c56 08ab 0007 013a bclr #0x7,0x13a(a3) 00000c5c 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000c64 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000c68 4e75 rts 00000c6a 0000 6000 ori.b #0,d0 00000c6e fb1e linef 00000c70 6100 0006 bsr.w 0xc78 00000c74 6000 fb22 bra.w 0x798 00000c78 2f0e move.l a6,-(sp) 00000c7a 2c6d 0024 movea.l 0x24(a5),a6 00000c7e 4eae ff88 jsr -0x78(a6) 00000c82 2c5f movea.l (sp)+,a6 00000c84 276b 0254 0258 move.l 0x254(a3),0x258(a3) 00000c8a 42ab 0264 clr.l 0x264(a3) 00000c8e 276b 02ec 02f0 move.l 0x2ec(a3),0x2f0(a3) 00000c94 42ab 02fc clr.l 0x2fc(a3) 00000c98 2f0e move.l a6,-(sp) 00000c9a 2c6d 0024 movea.l 0x24(a5),a6 00000c9e 4eae ff82 jsr -0x7e(a6) 00000ca2 2c5f movea.l (sp)+,a6 00000ca4 4e75 rts 00000ca6 0000 202b ori.b #0x2b,d0 00000caa 03d0 bset d1,(a0) 00000cac 6706 beq.b 0xcb4 00000cae 08eb 0002 013a bset #0x2,0x13a(a3) 00000cb4 202b 026c move.l 0x26c(a3),d0 00000cb8 6704 beq.b 0xcbe 00000cba 6100 1da6 bsr.w 0x2a62 00000cbe 6000 fad8 bra.w 0x798 00000cc2 0000 08ab ori.b #-0x55,d0 00000cc6 0002 013a ori.b #0x3a,d2 00000cca 202b 026c move.l 0x26c(a3),d0 00000cce 6704 beq.b 0xcd4 00000cd0 6100 1d4e bsr.w 0x2a20 00000cd4 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000cdc 60ff ffff faba bra.l 0x798 00000ce2 0000 6100 ori.b #0,d0 00000ce6 0006 6000 ori.b #0,d6 00000cea faae 48e7 linef 00000cee fffe linef 00000cf0 2f0e move.l a6,-(sp) 00000cf2 2c6d 0024 movea.l 0x24(a5),a6 00000cf6 4eae ff88 jsr -0x78(a6) 00000cfa 2c5f movea.l (sp)+,a6 00000cfc 277c 0000 0001 0274 move.l #0x1,0x274(a3) 00000d04 41eb 02c0 lea 0x2c0(a3),a0 00000d08 6100 0052 bsr.w 0xd5c 00000d0c 42ab 02bc clr.l 0x2bc(a3) 00000d10 41eb 02c0 lea 0x2c0(a3),a0 00000d14 2088 move.l a0,(a0) 00000d16 5890 addq.l #0x4,(a0) 00000d18 42a8 0004 clr.l 0x4(a0) 00000d1c 2148 0008 move.l a0,0x8(a0) 00000d20 42ab 0274 clr.l 0x274(a3) 00000d24 2f0e move.l a6,-(sp) 00000d26 2c6d 0024 movea.l 0x24(a5),a6 00000d2a 4eae ff82 jsr -0x7e(a6) 00000d2e 2c5f movea.l (sp)+,a6 00000d30 277c 0000 0001 03dc move.l #0x1,0x3dc(a3) 00000d38 41eb 0428 lea 0x428(a3),a0 00000d3c 611e bsr.b 0xd5c 00000d3e 42ab 0424 clr.l 0x424(a3) 00000d42 41eb 0428 lea 0x428(a3),a0 00000d46 2088 move.l a0,(a0) 00000d48 5890 addq.l #0x4,(a0) 00000d4a 42a8 0004 clr.l 0x4(a0) 00000d4e 2148 0008 move.l a0,0x8(a0) 00000d52 42ab 03dc clr.l 0x3dc(a3) 00000d56 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000d5a 4e75 rts 00000d5c 2250 movea.l (a0),a1 00000d5e 2011 move.l (a1),d0 00000d60 6708 beq.b 0xd6a 00000d62 2080 move.l d0,(a0) 00000d64 c189 exg d0,a1 00000d66 2348 0004 move.l a0,0x4(a1) 00000d6a 4a80 tst.l d0 00000d6c 6706 beq.b 0xd74 00000d6e 2240 movea.l d0,a1 00000d70 6106 bsr.b 0xd78 00000d72 60e8 bra.b 0xd5c 00000d74 4e75 rts 00000d76 0000 48e7 ori.b #-0x19,d0 00000d7a c0c0 mulu.w d0,d0 00000d7c 137c 00fe 001f move.b #-0x2,0x1f(a1) 00000d82 08a9 0004 001e bclr #0x4,0x1e(a1) 00000d88 08a9 0006 001e bclr #0x6,0x1e(a1) 00000d8e 08e9 0005 001e bset #0x5,0x1e(a1) 00000d94 137c 00fe 001f move.b #-0x2,0x1f(a1) 00000d9a 0829 0000 001e btst #0,0x1e(a1) 00000da0 660c bne.b 0xdae 00000da2 2f0e move.l a6,-(sp) 00000da4 2c6d 0024 movea.l 0x24(a5),a6 00000da8 4eae fe86 jsr -0x17a(a6) 00000dac 2c5f movea.l (sp)+,a6 00000dae 4cdf 0303 movem.l (sp)+,d0-d1/a0-a1 00000db2 4e75 rts 00000db4 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000db8 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00000dbc 2c6b 0030 movea.l 0x30(a3),a6 00000dc0 4eae 0030 jsr 0x30(a6) 00000dc4 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00000dc8 7200 moveq #0,d1 00000dca 0800 0000 btst #0,d0 00000dce 6704 beq.b 0xdd4 00000dd0 0001 0080 ori.b #-0x80,d1 00000dd4 0800 0001 btst #0x1,d0 00000dd8 6704 beq.b 0xdde 00000dda 0001 0040 ori.b #0x40,d1 00000dde 0800 0003 btst #0x3,d0 00000de2 6704 beq.b 0xde8 00000de4 0001 0020 ori.b #0x20,d1 00000de8 0800 0004 btst #0x4,d0 00000dec 6704 beq.b 0xdf2 00000dee 0001 0010 ori.b #0x10,d1 00000df2 0800 0005 btst #0x5,d0 00000df6 6704 beq.b 0xdfc 00000df8 0001 0008 ori.b #0x8,d1 00000dfc 0800 0006 btst #0x6,d0 00000e00 6704 beq.b 0xe06 00000e02 0001 0004 ori.b #0x4,d1 00000e06 1741 0139 move.b d1,0x139(a3) 00000e0a 0201 00fc andi.b #-0x4,d1 00000e0e 1341 0051 move.b d1,0x51(a1) 00000e12 136b 0138 0050 move.b 0x138(a3),0x50(a1) 00000e18 0229 001f 0050 andi.b #0x1f,0x50(a1) 00000e1e 022b 00f9 0138 andi.b #-0x7,0x138(a3) 00000e24 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000e28 236b 0264 0020 move.l 0x264(a3),0x20(a1) 00000e2e 6000 f968 bra.w 0x798 00000e32 0000 08a9 ori.b #-0x57,d0 00000e36 0000 001e ori.b #0x1e,d0 00000e3a 0829 0003 004f btst #0x3,0x4f(a1) 00000e40 6714 beq.b 0xe56 00000e42 4a6b 0424 tst.w 0x424(a3) 00000e46 66ff ffff fdd4 bne.l 0xc1c 00000e4c 4aab 03d0 tst.l 0x3d0(a3) 00000e50 66ff ffff fdca bne.l 0xc1c 00000e56 08eb 0005 0138 bset #0x5,0x138(a3) 00000e5c 202b 0458 move.l 0x458(a3),d0 00000e60 61ff 0000 1ace bsr.l 0x2930 00000e66 2749 03d0 move.l a1,0x3d0(a3) 00000e6a 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000e6e 2c6b 0030 movea.l 0x30(a3),a6 00000e72 7000 moveq #0,d0 00000e74 7200 moveq #0,d1 00000e76 08c0 0001 bset #0x1,d0 00000e7a 08c0 0000 bset #0,d0 00000e7e 08c0 0002 bset #0x2,d0 00000e82 4eae 002a jsr 0x2a(a6) 00000e86 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000e8a 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000e8e 4e75 rts 00000e90 08a9 0005 0138 bclr #0x5,0x138(a1) 00000e96 674c beq.b 0xee4 00000e98 48e7 0056 movem.l a1/a3/a5-a6,-(sp) 00000e9c 2649 movea.l a1,a3 00000e9e 226b 03d0 movea.l 0x3d0(a3),a1 00000ea2 673c beq.b 0xee0 00000ea4 2a6b 002c movea.l 0x2c(a3),a5 00000ea8 2c4d movea.l a5,a6 00000eaa 0c69 000a 001c cmpi.w #0xa,0x1c(a1) 00000eb0 662e bne.b 0xee0 00000eb2 08eb 0001 0138 bset #0x1,0x138(a3) 00000eb8 42ab 03d0 clr.l 0x3d0(a3) 00000ebc 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00000ec0 2c6b 0030 movea.l 0x30(a3),a6 00000ec4 7000 moveq #0,d0 00000ec6 7200 moveq #0,d1 00000ec8 08c1 0002 bset #0x2,d1 00000ecc 4eae 002a jsr 0x2a(a6) 00000ed0 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00000ed4 2f0e move.l a6,-(sp) 00000ed6 2c6d 0024 movea.l 0x24(a5),a6 00000eda 4eae fe86 jsr -0x17a(a6) 00000ede 2c5f movea.l (sp)+,a6 00000ee0 4cdf 6a00 movem.l (sp)+,a1/a3/a5-a6 00000ee4 0829 0007 013a btst #0x7,0x13a(a1) 00000eea 66f8 bne.b 0xee4 00000eec 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000ef4 4e75 rts 00000ef6 0829 0007 004f btst #0x7,0x4f(a1) 00000efc 6726 beq.b 0xf24 00000efe 08eb 0007 0467 bset #0x7,0x467(a3) 00000f04 08ab 0002 013a bclr #0x2,0x13a(a3) 00000f0a 082b 0003 013a btst #0x3,0x13a(a3) 00000f10 6718 beq.b 0xf2a 00000f12 08a9 0007 004f bclr #0x7,0x4f(a1) 00000f18 6100 1b06 bsr.w 0x2a20 00000f1c 08e9 0007 004f bset #0x7,0x4f(a1) 00000f22 6006 bra.b 0xf2a 00000f24 08ab 0007 0467 bclr #0x7,0x467(a3) 00000f2a 082b 0001 013a btst #0x1,0x13a(a3) 00000f30 6600 0016 bne.w 0xf48 00000f34 4aab 03d4 tst.l 0x3d4(a3) 00000f38 660e bne.b 0xf48 00000f3a 0829 0004 001e btst #0x4,0x1e(a1) 00000f40 6606 bne.b 0xf48 00000f42 4aab 02bc tst.l 0x2bc(a3) 00000f46 670a beq.b 0xf52 00000f48 137c 0001 001f move.b #0x1,0x1f(a1) 00000f4e 6000 000e bra.w 0xf5e 00000f52 6100 0016 bsr.w 0xf6a 00000f56 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00000f5e 08a9 0004 001e bclr #0x4,0x1e(a1) 00000f64 60ff ffff f832 bra.l 0x798 00000f6a 48e7 2010 movem.l d2/a3,-(sp) 00000f6e 4a29 004c tst.b 0x4c(a1) 00000f72 67ff 0000 01a8 beq.l 0x111c 00000f78 0c29 0008 004c cmpi.b #0x8,0x4c(a1) 00000f7e 6eff 0000 019c bgt.l 0x111c 00000f84 4a29 004d tst.b 0x4d(a1) 00000f88 67ff 0000 0192 beq.l 0x111c 00000f8e 0c29 0008 004d cmpi.b #0x8,0x4d(a1) 00000f94 6eff 0000 0186 bgt.l 0x111c 00000f9a 0c29 0002 004e cmpi.b #0x2,0x4e(a1) 00000fa0 6eff 0000 017a bgt.l 0x111c 00000fa6 2029 003c move.l 0x3c(a1),d0 00000faa 0c80 0000 0070 cmpi.l #0x70,d0 00000fb0 6dff 0000 016a blt.l 0x111c 00000fb6 0c80 0007 0800 cmpi.l #0x70800,d0 00000fbc 6eff 0000 015e bgt.l 0x111c 00000fc2 0c80 0000 7a12 cmpi.l #0x7a12,d0 00000fc8 660a bne.b 0xfd4 00000fca 203c 0000 7800 move.l #0x7800,d0 00000fd0 2340 003c move.l d0,0x3c(a1) 00000fd4 4aa9 0030 tst.l 0x30(a1) 00000fd8 67ff 0000 0142 beq.l 0x111c 00000fde 0c29 0001 004c cmpi.b #0x1,0x4c(a1) 00000fe4 660c bne.b 0xff2 00000fe6 137c 0008 004c move.b #0x8,0x4c(a1) 00000fec 2a3c 4d49 4345 move.l #0x4d494345,d5 00000ff2 1769 004c 0464 move.b 0x4c(a1),0x464(a3) 00000ff8 1769 004d 0465 move.b 0x4d(a1),0x465(a3) 00000ffe 1769 004e 0466 move.b 0x4e(a1),0x466(a3) 00001004 2769 0030 0448 move.l 0x30(a1),0x448(a3) 0000100a 2769 0038 0450 move.l 0x38(a1),0x450(a3) 00001010 0829 0004 004f btst #0x4,0x4f(a1) 00001016 6706 beq.b 0x101e 00001018 08e9 0007 004f bset #0x7,0x4f(a1) 0000101e 0829 0001 003b btst #0x1,0x3b(a1) 00001024 6706 beq.b 0x102c 00001026 08e9 0000 004f bset #0,0x4f(a1) 0000102c 102b 0467 move.b 0x467(a3),d0 00001030 0200 0020 andi.b #0x20,d0 00001034 1769 004f 0467 move.b 0x4f(a1),0x467(a3) 0000103a 812b 0467 or.b d0,0x467(a3) 0000103e 136b 0467 004f move.b 0x467(a3),0x4f(a1) 00001044 2769 003c 0454 move.l 0x3c(a1),0x454(a3) 0000104a 61ff 0000 00ec bsr.l 0x1138 00001050 0ca9 7e52 5252 0044 cmpi.l #0x7e525252,0x44(a1) 00001058 661a bne.b 0x1074 0000105a 0ca9 5252 5252 0048 cmpi.l #0x52525252,0x48(a1) 00001062 6610 bne.b 0x1074 00001064 237c 7e7e 7e7e 0044 move.l #0x7e7e7e7e,0x44(a1) 0000106c 237c 7e7e 7e7e 0048 move.l #0x7e7e7e7e,0x48(a1) 00001074 2769 0044 045c move.l 0x44(a1),0x45c(a3) 0000107a 2769 0048 0460 move.l 0x48(a1),0x460(a3) 00001080 61ff 0000 003e bsr.l 0x10c0 00001086 4aa9 0040 tst.l 0x40(a1) 0000108a 67ff 0000 0090 beq.l 0x111c 00001090 2769 0040 0458 move.l 0x40(a1),0x458(a3) 00001096 202b 0244 move.l 0x244(a3),d0 0000109a b0a9 0034 cmp.l 0x34(a1),d0 0000109e 671a beq.b 0x10ba 000010a0 2429 0034 move.l 0x34(a1),d2 000010a4 0c82 0000 0040 cmpi.l #0x40,d2 000010aa 6d08 blt.b 0x10b4 000010ac 6100 00f0 bsr.w 0x119e 000010b0 4a80 tst.l d0 000010b2 6706 beq.b 0x10ba 000010b4 137c 0004 001f move.b #0x4,0x1f(a1) 000010ba 4cdf 0804 movem.l (sp)+,d2/a3 000010be 4e75 rts 000010c0 4280 clr.l d0 000010c2 4281 clr.l d1 000010c4 1029 004d move.b 0x4d(a1),d0 000010c8 4a29 004e tst.b 0x4e(a1) 000010cc 670e beq.b 0x10dc 000010ce 01c1 bset d0,d1 000010d0 0c29 0002 004e cmpi.b #0x2,0x4e(a1) 000010d6 6604 bne.b 0x10dc 000010d8 e349 lsl.w #1,d1 000010da 01c1 bset d0,d1 000010dc 082b 0000 0467 btst #0,0x467(a3) 000010e2 6702 beq.b 0x10e6 000010e4 e349 lsl.w #1,d1 000010e6 3741 0444 move.w d1,0x444(a3) 000010ea 61ff 0000 001a bsr.l 0x1106 000010f0 3740 0442 move.w d0,0x442(a3) 000010f4 4240 clr.w d0 000010f6 1029 004c move.b 0x4c(a1),d0 000010fa 61ff 0000 000a bsr.l 0x1106 00001100 3740 0440 move.w d0,0x440(a3) 00001104 4e75 rts 00001106 082b 0000 0467 btst #0,0x467(a3) 0000110c 6602 bne.b 0x1110 0000110e 5340 subq.w #0x1,d0 00001110 e348 lsl.w #1,d0 00001112 41fa 0010 lea 0x1124(pc),a0 00001116 3030 0000 move.w (0,a0,d0.w),d0 0000111a 4e75 rts 0000111c 137c 0005 001f move.b #0x5,0x1f(a1) 00001122 6096 bra.b 0x10ba 00001124 0001 0003 ori.b #0x3,d1 00001128 0007 000f ori.b #0xf,d7 0000112c 001f 003f ori.b #0x3f,(sp)+ 00001130 007f 00ff 01ff 03ff 48e7 ori.w #0xff,([0x3ff48e7,zpc],0,-0x1ddd5) 0000113e 0454 143c subi.w #0x143c,(a4) 00001142 004e 162b ori.w #0x162b,a6 00001146 0464 182b subi.w #0x182b,-(a4) 0000114a 0466 2a4e subi.w #0x2a4e,-(a6) 0000114e 2c6b 0030 movea.l 0x30(a3),a6 00001152 4eae 000c jsr 0xc(a6) 00001156 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000115a 202b 0454 move.l 0x454(a3),d0 0000115e 2200 move.l d0,d1 00001160 e788 lsl.l #3,d0 00001162 9081 sub.l d1,d0 00001164 0c80 0000 ffff cmpi.l #0xffff,d0 0000116a 6f0e ble.b 0x117a 0000116c ea88 lsr.l #5,d0 0000116e 82c0 divu.w d0,d1 00001170 0281 0000 ffff andi.l #0xffff,d1 00001176 ea89 lsr.l #5,d1 00001178 6002 bra.b 0x117c 0000117a 82c0 divu.w d0,d1 0000117c 08ab 0005 013a bclr #0x5,0x13a(a3) 00001182 0c2b 0008 0464 cmpi.b #0x8,0x464(a3) 00001188 6612 bne.b 0x119c 0000118a 082b 0000 0467 btst #0,0x467(a3) 00001190 670a beq.b 0x119c 00001192 08c0 000f bset #0xf,d0 00001196 08eb 0005 013a bset #0x5,0x13a(a3) 0000119c 4e75 rts 0000119e 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000011a2 0c80 0000 4000 cmpi.l #0x4000,d0 000011a8 6700 000c beq.w 0x11b6 000011ac 6200 0008 bhi.w 0x11b6 000011b0 203c 0000 2000 move.l #0x2000,d0 000011b6 2e00 move.l d0,d7 000011b8 2f0e move.l a6,-(sp) 000011ba 2c6d 0024 movea.l 0x24(a5),a6 000011be 4eae ff88 jsr -0x78(a6) 000011c2 2c5f movea.l (sp)+,a6 000011c4 4a87 tst.l d7 000011c6 6768 beq.b 0x1230 000011c8 202b 0244 move.l 0x244(a3),d0 000011cc 226b 0240 movea.l 0x240(a3),a1 000011d0 b3fc 0000 0000 cmpa.l #0,a1 000011d6 670c beq.b 0x11e4 000011d8 2f0e move.l a6,-(sp) 000011da 2c6d 0024 movea.l 0x24(a5),a6 000011de 4eae ff2e jsr -0xd2(a6) 000011e2 2c5f movea.l (sp)+,a6 000011e4 2007 move.l d7,d0 000011e6 223c 0001 0000 move.l #0x10000,d1 000011ec 2f0e move.l a6,-(sp) 000011ee 2c6d 0024 movea.l 0x24(a5),a6 000011f2 4eae ff3a jsr -0xc6(a6) 000011f6 2c5f movea.l (sp)+,a6 000011f8 4a80 tst.l d0 000011fa 6748 beq.b 0x1244 000011fc 2607 move.l d7,d3 000011fe 2743 0244 move.l d3,0x244(a3) 00001202 2740 0240 move.l d0,0x240(a3) 00001206 2740 024c move.l d0,0x24c(a3) 0000120a 2740 0250 move.l d0,0x250(a3) 0000120e d7ab 0250 add.l d3,0x250(a3) 00001212 2740 0254 move.l d0,0x254(a3) 00001216 2740 0258 move.l d0,0x258(a3) 0000121a 2003 move.l d3,d0 0000121c e488 lsr.l #2,d0 0000121e 2740 025c move.l d0,0x25c(a3) 00001222 9680 sub.l d0,d3 00001224 2743 0260 move.l d3,0x260(a3) 00001228 42ab 0264 clr.l 0x264(a3) 0000122c 42ab 02fc clr.l 0x2fc(a3) 00001230 2f0e move.l a6,-(sp) 00001232 2c6d 0024 movea.l 0x24(a5),a6 00001236 4eae ff82 jsr -0x7e(a6) 0000123a 2c5f movea.l (sp)+,a6 0000123c 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00001240 7000 moveq #0,d0 00001242 4e75 rts 00001244 2e2b 0248 move.l 0x248(a3),d7 00001248 2007 move.l d7,d0 0000124a 223c 0001 0000 move.l #0x10000,d1 00001250 2f0e move.l a6,-(sp) 00001252 2c6d 0024 movea.l 0x24(a5),a6 00001256 4eae ff3a jsr -0xc6(a6) 0000125a 2c5f movea.l (sp)+,a6 0000125c 4a80 tst.l d0 0000125e 6700 0036 beq.w 0x1296 00001262 2607 move.l d7,d3 00001264 2743 0244 move.l d3,0x244(a3) 00001268 2740 0240 move.l d0,0x240(a3) 0000126c 2740 024c move.l d0,0x24c(a3) 00001270 2740 0250 move.l d0,0x250(a3) 00001274 d7ab 0250 add.l d3,0x250(a3) 00001278 2740 0254 move.l d0,0x254(a3) 0000127c 2740 0258 move.l d0,0x258(a3) 00001280 2003 move.l d3,d0 00001282 e488 lsr.l #2,d0 00001284 2740 025c move.l d0,0x25c(a3) 00001288 9680 sub.l d0,d3 0000128a 2743 0260 move.l d3,0x260(a3) 0000128e 42ab 0264 clr.l 0x264(a3) 00001292 42ab 02fc clr.l 0x2fc(a3) 00001296 2f0e move.l a6,-(sp) 00001298 2c6d 0024 movea.l 0x24(a5),a6 0000129c 4eae ff82 jsr -0x7e(a6) 000012a0 2c5f movea.l (sp)+,a6 000012a2 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000012a6 7001 moveq #0x1,d0 000012a8 4e75 rts ; ----- setup_unit ------------------------------------------------------------ 000012aa 48e7 7f7e movem.l d1-d7/a1-a6,-(sp) 000012ae 2c00 move.l d0,d6 000012b0 203c 0000 0510 move.l #0x510,d0 ; size of unit struct 0x510 000012b6 223c 0001 0001 move.l #0x10001,d1 000012bc 2f0e move.l a6,-(sp) 000012be 2c6d 0024 movea.l 0x24(a5),a6 ; execbase 000012c2 4eae ff3a jsr -0xc6(a6) ; AllocMem [byteSize,d0][requirements,d1] 000012c6 2c5f movea.l (sp)+,a6 000012c8 4a80 tst.l d0 000012ca 6700 02c6 beq.w 0x1592 ; out of memory 000012ce 2640 movea.l d0,a3 ; a3 = unit struct ; init unit struct 000012d0 1746 0028 move.b d6,0x28(a3) ; unit no 000012d4 274d 002c move.l a5,0x2c(a3) ; device node 000012d8 42ab 0244 clr.l 0x244(a3) 000012dc 277c 0000 4000 0248 move.l #0x4000,0x248(a3) 000012e4 42ab 02dc clr.l 0x2dc(a3) 000012e8 277c 0000 4000 02e0 move.l #0x4000,0x2e0(a3) ; string: 0x34 000012f0 43fa ed46 lea 0x38(pc),a1 ; "SilverSurfer-" 000012f4 41eb 0034 lea 0x34(a3),a0 000012f8 10d9 move.b (a1)+,(a0)+ 000012fa 66fc bne.b 0x12f8 ; copy string 000012fc 5388 subq.l #0x1,a0 000012fe 202d 0064 move.l 0x64(a5),d0 ; append unit no ascii 00001302 10c0 move.b d0,(a0)+ 00001304 43fa ed46 lea 0x4c(pc),a1 ; " Unit" 00001308 10d9 move.b (a1)+,(a0)+ 0000130a 66fc bne.b 0x1308 0000130c 5388 subq.l #0x1,a0 0000130e 7000 moveq #0,d0 00001310 102b 0028 move.b 0x28(a3),d0 ; unit no 00001314 0600 0030 addi.b #0x30,d0 ; to ascii 00001318 10c0 move.b d0,(a0)+ ; append 0000131a 43fa ed3c lea 0x58(pc),a1 ;"Silver Su" 0000131e 10d9 move.b (a1)+,(a0)+ 00001320 66fc bne.b 0x131e 00001322 43fa ed14 lea 0x38(pc),a1 00001326 41eb 0074 lea 0x74(a3),a0 0000132a 10d9 move.b (a1)+,(a0)+ 0000132c 66fc bne.b 0x132a 0000132e 5388 subq.l #0x1,a0 00001330 202d 0064 move.l 0x64(a5),d0 00001334 10c0 move.b d0,(a0)+ 00001336 43fa ed14 lea 0x4c(pc),a1 ; " Unit" 0000133a 10d9 move.b (a1)+,(a0)+ 0000133c 66fc bne.b 0x133a 0000133e 5388 subq.l #0x1,a0 00001340 7000 moveq #0,d0 00001342 102b 0028 move.b 0x28(a3),d0 00001346 0600 0030 addi.b #0x30,d0 0000134a 10c0 move.b d0,(a0)+ 0000134c 43fa ed06 lea 0x54(pc),a1 " R" 00001350 10d9 move.b (a1)+,(a0)+ 00001352 66fc bne.b 0x1350 ; more init 00001354 422b 013a clr.b 0x13a(a3) 00001358 422b 0138 clr.b 0x138(a3) 0000135c 277c 0000 05dc 0304 move.l #0x5dc,0x304(a3) 00001364 43eb 0330 lea 0x330(a3),a1 00001368 41eb 0354 lea 0x354(a3),a0 0000136c 2348 0010 move.l a0,0x10(a1) 00001370 117c 0010 0009 move.b #0x10,0x9(a0) 00001376 45fa ecac lea 0x24(pc),a2 0000137a 214a 000a move.l a2,0xa(a0) 0000137e 45fa fb10 lea 0xe90(pc),a2 00001382 214a 0012 move.l a2,0x12(a0) 00001386 214b 000e move.l a3,0xe(a0) 0000138a 43eb 0308 lea 0x308(a3),a1 ; io_Req timer device 0000138e 137c 0007 0008 move.b #0x7,0x8(a1) 00001394 43eb 0308 lea 0x308(a3),a1 00001398 45eb 0330 lea 0x330(a3),a2 0000139c 234a 000e move.l a2,0xe(a1) 000013a0 41fa 23de lea 0x3780(pc),a0 ; "timer.device" 000013a4 7001 moveq #0x1,d0 ; Unit #1 000013a6 4281 clr.l d1 000013a8 2f0e move.l a6,-(sp) 000013aa 2c6d 0024 movea.l 0x24(a5),a6 000013ae 4eae fe44 jsr -0x1bc(a6) ; OpenDevice [devName,a0][unit,d0][ioRequest,a1][flags,d1] 000013b2 2c5f movea.l (sp)+,a6 000013b4 4a80 tst.l d0 000013b6 6600 01da bne.w 0x1592 000013ba 43eb 0394 lea 0x394(a3),a1 000013be 41eb 03b8 lea 0x3b8(a3),a0 000013c2 2348 0010 move.l a0,0x10(a1) 000013c6 117c 0010 0009 move.b #0x10,0x9(a0) 000013cc 45fa ec56 lea 0x24(pc),a2 000013d0 214a 000a move.l a2,0xa(a0) 000013d4 45fa 15e2 lea 0x29b8(pc),a2 000013d8 214a 0012 move.l a2,0x12(a0) 000013dc 214b 000e move.l a3,0xe(a0) 000013e0 43eb 036c lea 0x36c(a3),a1 000013e4 137c 0007 0008 move.b #0x7,0x8(a1) 000013ea 43eb 036c lea 0x36c(a3),a1 000013ee 45eb 0394 lea 0x394(a3),a2 ; io_Req struct 000013f2 234a 000e move.l a2,0xe(a1) 000013f6 41fa 2388 lea 0x3780(pc),a0 ; "timer.device" 000013fa 7001 moveq #0x1,d0 ; Unit #1 000013fc 4281 clr.l d1 000013fe 2f0e move.l a6,-(sp) 00001400 2c6d 0024 movea.l 0x24(a5),a6 00001404 4eae fe44 jsr -0x1bc(a6) ; OpenDevice [devName,a0][unit,d0][ioRequest,a1][flags,d1] 00001408 2c5f movea.l (sp)+,a6 0000140a 4a80 tst.l d0 0000140c 6600 0184 bne.w 0x1592 00001410 7000 moveq #0,d0 00001412 7200 moveq #0,d1 00001414 7400 moveq #0,d2 00001416 142b 0028 move.b 0x28(a3),d2 0000141a 122b 0028 move.b 0x28(a3),d1 0000141e 7400 moveq #0,d2 00001420 6100 1e46 bsr.w 0x3268 00001424 4a80 tst.l d0 00001426 6700 016a beq.w 0x1592 0000142a 0c80 ffff ffff cmpi.l #-0x1,d0 00001430 6700 0160 beq.w 0x1592 00001434 2040 movea.l d0,a0 00001436 2748 0134 move.l a0,0x134(a3) 0000143a 41fa 09d4 lea 0x1e10(pc),a0 0000143e 2748 0030 move.l a0,0x30(a3) 00001442 41eb 02c0 lea 0x2c0(a3),a0 00001446 2088 move.l a0,(a0) 00001448 5890 addq.l #0x4,(a0) 0000144a 42a8 0004 clr.l 0x4(a0) 0000144e 2148 0008 move.l a0,0x8(a0) 00001452 41eb 028c lea 0x28c(a3),a0 00001456 2f0e move.l a6,-(sp) 00001458 2c6d 0024 movea.l 0x24(a5),a6 0000145c 4eae fdd2 jsr -0x22e(a6) ; InitSemaphore [sigSem,a0] 00001460 2c5f movea.l (sp)+,a6 00001462 41eb 0428 lea 0x428(a3),a0 00001466 2088 move.l a0,(a0) 00001468 5890 addq.l #0x4,(a0) 0000146a 42a8 0004 clr.l 0x4(a0) 0000146e 2148 0008 move.l a0,0x8(a0) 00001472 41eb 03f4 lea 0x3f4(a3),a0 00001476 2f0e move.l a6,-(sp) 00001478 2c6d 0024 movea.l 0x24(a5),a6 0000147c 4eae fdd2 jsr -0x22e(a6) ; InitSemaphore [sigSem,a0] 00001480 2c5f movea.l (sp)+,a6 00001482 177c 0000 0029 move.b #0,0x29(a3) 00001488 6100 0116 bsr.w 0x15a0 0000148c 0c80 ffff ffff cmpi.l #-0x1,d0 00001492 6700 00fe beq.w 0x1592 00001496 277c 1113 0000 046c move.l #0x11130000,0x46c(a3) 0000149e 276b 0244 0470 move.l 0x244(a3),0x470(a3) 000014a4 277c 0000 0000 0474 move.l #0,0x474(a3) 000014ac 277c 0001 c200 0478 move.l #0x1c200,0x478(a3) 000014b4 277c 0003 d090 047c move.l #0x3d090,0x47c(a3) 000014bc 177c 0008 0488 move.b #0x8,0x488(a3) 000014c2 177c 0008 0489 move.b #0x8,0x489(a3) 000014c8 177c 0001 048a move.b #0x1,0x48a(a3) 000014ce 177c 0020 048b move.b #0x20,0x48b(a3) 000014d4 277c 512f 0403 0480 move.l #0x512f0403,0x480(a3) 000014dc 277c 0303 0303 0484 move.l #0x3030303,0x484(a3) 000014e4 277c 1113 0000 0448 move.l #0x11130000,0x448(a3) 000014ec 276b 0244 044c move.l 0x244(a3),0x44c(a3) 000014f2 277c 0000 0000 0450 move.l #0,0x450(a3) 000014fa 277c 0001 c200 0454 move.l #0x1c200,0x454(a3) 00001502 277c 0003 d090 0458 move.l #0x3d090,0x458(a3) 0000150a 177c 0008 0464 move.b #0x8,0x464(a3) 00001510 177c 0008 0465 move.b #0x8,0x465(a3) 00001516 177c 0001 0466 move.b #0x1,0x466(a3) 0000151c 177c 0020 0467 move.b #0x20,0x467(a3) 00001522 277c 512f 0403 045c move.l #0x512f0403,0x45c(a3) 0000152a 277c 0303 0303 0460 move.l #0x3030303,0x460(a3) 00001532 41eb 0490 lea 0x490(a3),a0 00001536 117c 0002 0008 move.b #0x2,0x8(a0) 0000153c 117c 007d 0009 move.b #0x7d,0x9(a0) 00001542 43fa eb18 lea 0x5c(pc),a1 00001546 2149 000a move.l a1,0xa(a0) 0000154a 43fa 0c20 lea 0x216c(pc),a1 0000154e 2149 0012 move.l a1,0x12(a0) 00001552 214b 000e move.l a3,0xe(a0) 00001556 700d moveq #0xd,d0 ; intNumber 00001558 43eb 0490 lea 0x490(a3),a1 ; interrupt 0000155c 2f0e move.l a6,-(sp) 0000155e 2c6d 0024 movea.l 0x24(a5),a6 00001562 4eae ff58 jsr -0xa8(a6) ; AddIntServer [intNumber,d0][interrupt,a1] 00001566 2c5f movea.l (sp)+,a6 00001568 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 0000156c 222b 0454 move.l 0x454(a3),d1 00001570 744e moveq #0x4e,d2 00001572 162b 0464 move.b 0x464(a3),d3 00001576 182b 0466 move.b 0x466(a3),d4 0000157a 2a4e movea.l a6,a5 0000157c 4dfa 0892 lea 0x1e10(pc),a6 00001580 4eae 000c jsr 0xc(a6) 00001584 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 ; ok 00001588 204b movea.l a3,a0 0000158a 2006 move.l d6,d0 0000158c 4cdf 7efe movem.l (sp)+,d1-d7/a1-a6 00001590 4e75 rts ; fail 00001592 6100 017e bsr.w 0x1712 00001596 70ff moveq #-0x1,d0 00001598 91c8 suba.l a0,a0 0000159a 4cdf 7efe movem.l (sp)+,d1-d7/a1-a6 0000159e 4e75 rts ; ------ 000015a0 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000015a4 262b 0244 move.l 0x244(a3),d3 000015a8 660a bne.b 0x15b4 000015aa 276b 0248 0244 move.l 0x248(a3),0x244(a3) 000015b0 262b 0244 move.l 0x244(a3),d3 000015b4 2003 move.l d3,d0 000015b6 223c 0001 0001 move.l #0x10001,d1 000015bc 2f0e move.l a6,-(sp) 000015be 2c6d 0024 movea.l 0x24(a5),a6 000015c2 4eae ff3a jsr -0xc6(a6) 000015c6 2c5f movea.l (sp)+,a6 000015c8 4a80 tst.l d0 000015ca 6700 0030 beq.w 0x15fc 000015ce 2740 0240 move.l d0,0x240(a3) 000015d2 2740 024c move.l d0,0x24c(a3) 000015d6 2740 0250 move.l d0,0x250(a3) 000015da d7ab 0250 add.l d3,0x250(a3) 000015de 2740 0254 move.l d0,0x254(a3) 000015e2 2740 0258 move.l d0,0x258(a3) 000015e6 2003 move.l d3,d0 000015e8 e488 lsr.l #2,d0 000015ea 2740 025c move.l d0,0x25c(a3) 000015ee 9680 sub.l d0,d3 000015f0 2743 0260 move.l d3,0x260(a3) 000015f4 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000015f8 7000 moveq #0,d0 000015fa 4e75 rts 000015fc 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00001600 70ff moveq #-0x1,d0 00001602 4e75 rts 00001604 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00001608 262b 02dc move.l 0x2dc(a3),d3 0000160c 660a bne.b 0x1618 0000160e 276b 02e0 02dc move.l 0x2e0(a3),0x2dc(a3) 00001614 262b 02dc move.l 0x2dc(a3),d3 00001618 2003 move.l d3,d0 0000161a 223c 0001 0001 move.l #0x10001,d1 00001620 2f0e move.l a6,-(sp) 00001622 2c6d 0024 movea.l 0x24(a5),a6 00001626 4eae ff3a jsr -0xc6(a6) 0000162a 2c5f movea.l (sp)+,a6 0000162c 4a80 tst.l d0 0000162e 6700 00da beq.w 0x170a 00001632 2740 02d8 move.l d0,0x2d8(a3) 00001636 2740 02e4 move.l d0,0x2e4(a3) 0000163a 2740 02e8 move.l d0,0x2e8(a3) 0000163e d7ab 02e8 add.l d3,0x2e8(a3) 00001642 2740 02ec move.l d0,0x2ec(a3) 00001646 2740 02f0 move.l d0,0x2f0(a3) 0000164a 2003 move.l d3,d0 0000164c e488 lsr.l #2,d0 0000164e 2740 02f4 move.l d0,0x2f4(a3) 00001652 9680 sub.l d0,d3 00001654 2743 02f8 move.l d3,0x2f8(a3) 00001658 2f0e move.l a6,-(sp) 0000165a 2c6d 0024 movea.l 0x24(a5),a6 0000165e 4eae ff7c jsr -0x84(a6) 00001662 2c5f movea.l (sp)+,a6 00001664 7000 moveq #0,d0 00001666 7200 moveq #0,d1 00001668 08c1 0010 bset #0x10,d1 0000166c 2f0e move.l a6,-(sp) 0000166e 2c6d 0024 movea.l 0x24(a5),a6 00001672 4eae fece jsr -0x132(a6) 00001676 2c5f movea.l (sp)+,a6 00001678 93c9 suba.l a1,a1 0000167a 2f0e move.l a6,-(sp) 0000167c 2c6d 0024 movea.l 0x24(a5),a6 00001680 4eae feda jsr -0x126(a6) 00001684 2c5f movea.l (sp)+,a6 00001686 41ed 00c0 lea 0xc0(a5),a0 0000168a 2a08 move.l a0,d5 0000168c 208d move.l a5,(a0) 0000168e 214b 0004 move.l a3,0x4(a0) 00001692 2140 0008 move.l d0,0x8(a0) 00001696 41fa 0238 lea 0x18d0(pc),a0 0000169a 2008 move.l a0,d0 0000169c e488 lsr.l #2,d0 0000169e 2740 03ec move.l d0,0x3ec(a3) 000016a2 740a moveq #0xa,d2 000016a4 262b 03ec move.l 0x3ec(a3),d3 000016a8 283c 0000 1000 move.l #0x1000,d4 000016ae 41eb 0034 lea 0x34(a3),a0 000016b2 2208 move.l a0,d1 000016b4 2f0e move.l a6,-(sp) 000016b6 2c6d 0028 movea.l 0x28(a5),a6 000016ba 4eae ff76 jsr -0x8a(a6) 000016be 2c5f movea.l (sp)+,a6 000016c0 4a80 tst.l d0 000016c2 673a beq.b 0x16fe 000016c4 2740 03e0 move.l d0,0x3e0(a3) 000016c8 0480 0000 005c subi.l #0x5c,d0 000016ce 2740 03e4 move.l d0,0x3e4(a3) 000016d2 2040 movea.l d0,a0 000016d4 2145 0058 move.l d5,0x58(a0) 000016d8 7000 moveq #0,d0 000016da 08c0 0010 bset #0x10,d0 000016de 2f0e move.l a6,-(sp) 000016e0 2c6d 0024 movea.l 0x24(a5),a6 000016e4 4eae fec2 jsr -0x13e(a6) 000016e8 2c5f movea.l (sp)+,a6 000016ea 2f0e move.l a6,-(sp) 000016ec 2c6d 0024 movea.l 0x24(a5),a6 000016f0 4eae ff76 jsr -0x8a(a6) 000016f4 2c5f movea.l (sp)+,a6 000016f6 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000016fa 7000 moveq #0,d0 000016fc 4e75 rts 000016fe 2f0e move.l a6,-(sp) 00001700 2c6d 0024 movea.l 0x24(a5),a6 00001704 4eae ff76 jsr -0x8a(a6) 00001708 2c5f movea.l (sp)+,a6 0000170a 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 0000170e 70ff moveq #-0x1,d0 00001710 4e75 rts 00001712 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00001716 2a4e movea.l a6,a5 00001718 43eb 0308 lea 0x308(a3),a1 0000171c 2f0e move.l a6,-(sp) 0000171e 2c6d 0024 movea.l 0x24(a5),a6 00001722 4eae fe3e jsr -0x1c2(a6) 00001726 2c5f movea.l (sp)+,a6 00001728 43eb 036c lea 0x36c(a3),a1 0000172c 2f0e move.l a6,-(sp) 0000172e 2c6d 0024 movea.l 0x24(a5),a6 00001732 4eae fe3e jsr -0x1c2(a6) 00001736 2c5f movea.l (sp)+,a6 00001738 6100 0086 bsr.w 0x17c0 0000173c 6100 010a bsr.w 0x1848 00001740 700d moveq #0xd,d0 00001742 43eb 0490 lea 0x490(a3),a1 00001746 4aa9 0004 tst.l 0x4(a1) 0000174a 670c beq.b 0x1758 0000174c 2f0e move.l a6,-(sp) 0000174e 2c6d 0024 movea.l 0x24(a5),a6 00001752 4eae ff52 jsr -0xae(a6) 00001756 2c5f movea.l (sp)+,a6 00001758 4aab 0134 tst.l 0x134(a3) 0000175c 670c beq.b 0x176a 0000175e 206b 0134 movea.l 0x134(a3),a0 00001762 6100 1b54 bsr.w 0x32b8 00001766 42ab 0134 clr.l 0x134(a3) 0000176a 202b 0244 move.l 0x244(a3),d0 0000176e 4aab 024c tst.l 0x24c(a3) 00001772 6710 beq.b 0x1784 00001774 226b 024c movea.l 0x24c(a3),a1 00001778 2f0e move.l a6,-(sp) 0000177a 2c6d 0024 movea.l 0x24(a5),a6 0000177e 4eae ff2e jsr -0xd2(a6) 00001782 2c5f movea.l (sp)+,a6 00001784 202b 02dc move.l 0x2dc(a3),d0 00001788 4aab 02e4 tst.l 0x2e4(a3) 0000178c 6710 beq.b 0x179e 0000178e 226b 02e4 movea.l 0x2e4(a3),a1 00001792 2f0e move.l a6,-(sp) 00001794 2c6d 0024 movea.l 0x24(a5),a6 00001798 4eae ff2e jsr -0xd2(a6) 0000179c 2c5f movea.l (sp)+,a6 0000179e 203c 0000 0510 move.l #0x510,d0 000017a4 224b movea.l a3,a1 000017a6 b3fc 0000 0000 cmpa.l #0,a1 000017ac 670c beq.b 0x17ba 000017ae 2f0e move.l a6,-(sp) 000017b0 2c6d 0024 movea.l 0x24(a5),a6 000017b4 4eae ff2e jsr -0xd2(a6) 000017b8 2c5f movea.l (sp)+,a6 000017ba 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000017be 4e75 rts 000017c0 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 000017c4 4aab 027c tst.l 0x27c(a3) 000017c8 6778 beq.b 0x1842 000017ca 2f0e move.l a6,-(sp) 000017cc 2c6d 0024 movea.l 0x24(a5),a6 000017d0 4eae ff7c jsr -0x84(a6) 000017d4 2c5f movea.l (sp)+,a6 000017d6 7000 moveq #0,d0 000017d8 7200 moveq #0,d1 000017da 08c1 0010 bset #0x10,d1 000017de 2f0e move.l a6,-(sp) 000017e0 2c6d 0024 movea.l 0x24(a5),a6 000017e4 4eae fece jsr -0x132(a6) 000017e8 2c5f movea.l (sp)+,a6 000017ea 93c9 suba.l a1,a1 000017ec 2f0e move.l a6,-(sp) 000017ee 2c6d 0024 movea.l 0x24(a5),a6 000017f2 4eae feda jsr -0x126(a6) 000017f6 2c5f movea.l (sp)+,a6 000017f8 41ed 00c0 lea 0xc0(a5),a0 000017fc 2140 0008 move.l d0,0x8(a0) 00001800 226b 027c movea.l 0x27c(a3),a1 00001804 2348 0058 move.l a0,0x58(a1) 00001808 277c ffff ffff 0274 move.l #-0x1,0x274(a3) 00001810 202b 0280 move.l 0x280(a3),d0 00001814 226b 027c movea.l 0x27c(a3),a1 00001818 2f0e move.l a6,-(sp) 0000181a 2c6d 0024 movea.l 0x24(a5),a6 0000181e 4eae febc jsr -0x144(a6) 00001822 2c5f movea.l (sp)+,a6 00001824 7000 moveq #0,d0 00001826 08c0 0010 bset #0x10,d0 0000182a 2f0e move.l a6,-(sp) 0000182c 2c6d 0024 movea.l 0x24(a5),a6 00001830 4eae fec2 jsr -0x13e(a6) 00001834 2c5f movea.l (sp)+,a6 00001836 2f0e move.l a6,-(sp) 00001838 2c6d 0024 movea.l 0x24(a5),a6 0000183c 4eae ff76 jsr -0x8a(a6) 00001840 2c5f movea.l (sp)+,a6 00001842 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00001846 4e75 rts 00001848 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 0000184c 4aab 03e4 tst.l 0x3e4(a3) 00001850 6778 beq.b 0x18ca 00001852 2f0e move.l a6,-(sp) 00001854 2c6d 0024 movea.l 0x24(a5),a6 00001858 4eae ff7c jsr -0x84(a6) 0000185c 2c5f movea.l (sp)+,a6 0000185e 7000 moveq #0,d0 00001860 7200 moveq #0,d1 00001862 08c1 0010 bset #0x10,d1 00001866 2f0e move.l a6,-(sp) 00001868 2c6d 0024 movea.l 0x24(a5),a6 0000186c 4eae fece jsr -0x132(a6) 00001870 2c5f movea.l (sp)+,a6 00001872 93c9 suba.l a1,a1 00001874 2f0e move.l a6,-(sp) 00001876 2c6d 0024 movea.l 0x24(a5),a6 0000187a 4eae feda jsr -0x126(a6) 0000187e 2c5f movea.l (sp)+,a6 00001880 41ed 00c0 lea 0xc0(a5),a0 00001884 2140 0008 move.l d0,0x8(a0) 00001888 226b 03e4 movea.l 0x3e4(a3),a1 0000188c 2348 0058 move.l a0,0x58(a1) 00001890 277c ffff ffff 03dc move.l #-0x1,0x3dc(a3) 00001898 202b 03e8 move.l 0x3e8(a3),d0 0000189c 226b 03e4 movea.l 0x3e4(a3),a1 000018a0 2f0e move.l a6,-(sp) 000018a2 2c6d 0024 movea.l 0x24(a5),a6 000018a6 4eae febc jsr -0x144(a6) 000018aa 2c5f movea.l (sp)+,a6 000018ac 7000 moveq #0,d0 000018ae 08c0 0010 bset #0x10,d0 000018b2 2f0e move.l a6,-(sp) 000018b4 2c6d 0024 movea.l 0x24(a5),a6 000018b8 4eae fec2 jsr -0x13e(a6) 000018bc 2c5f movea.l (sp)+,a6 000018be 2f0e move.l a6,-(sp) 000018c0 2c6d 0024 movea.l 0x24(a5),a6 000018c4 4eae ff76 jsr -0x8a(a6) 000018c8 2c5f movea.l (sp)+,a6 000018ca 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000018ce 4e75 rts 000018d0 0000 0000 ori.b #0,d0 000018d4 93c9 suba.l a1,a1 000018d6 2f0e move.l a6,-(sp) 000018d8 2c78 0004 movea.l 0x4.w,a6 000018dc 4eae feda jsr -0x126(a6) 000018e0 2c5f movea.l (sp)+,a6 000018e2 2600 move.l d0,d3 000018e4 2040 movea.l d0,a0 000018e6 2268 0058 movea.l 0x58(a0),a1 000018ea 2a51 movea.l (a1),a5 000018ec 2669 0004 movea.l 0x4(a1),a3 000018f0 2269 0008 movea.l 0x8(a1),a1 000018f4 7000 moveq #0,d0 000018f6 08c0 0010 bset #0x10,d0 000018fa 2f0e move.l a6,-(sp) 000018fc 2c6d 0024 movea.l 0x24(a5),a6 00001900 4eae febc jsr -0x144(a6) 00001904 2c5f movea.l (sp)+,a6 00001906 70ff moveq #-0x1,d0 00001908 2f0e move.l a6,-(sp) 0000190a 2c6d 0024 movea.l 0x24(a5),a6 0000190e 4eae feb6 jsr -0x14a(a6) 00001912 2c5f movea.l (sp)+,a6 00001914 7200 moveq #0,d1 00001916 01c1 bset d0,d1 00001918 2741 03e8 move.l d1,0x3e8(a3) 0000191c 2743 03e4 move.l d3,0x3e4(a3) 00001920 601e bra.b 0x1940 00001922 0000 202b ori.b #0x2b,d0 00001926 03e8 2f0e bset d1,0x2f0e(a0) 0000192a 2c6d 0024 movea.l 0x24(a5),a6 0000192e 4eae fec2 jsr -0x13e(a6) 00001932 2c5f movea.l (sp)+,a6 00001934 0cab ffff ffff 03dc cmpi.l #-0x1,0x3dc(a3) 0000193c 6700 016a beq.w 0x1aa8 00001940 4aab 0424 tst.l 0x424(a3) 00001944 67de beq.b 0x1924 00001946 41eb 03f4 lea 0x3f4(a3),a0 0000194a 2f0e move.l a6,-(sp) 0000194c 2c6d 0024 movea.l 0x24(a5),a6 00001950 4eae fdcc jsr -0x234(a6) 00001954 2c5f movea.l (sp)+,a6 00001956 41eb 0428 lea 0x428(a3),a0 0000195a 2250 movea.l (a0),a1 0000195c 2011 move.l (a1),d0 0000195e 6708 beq.b 0x1968 00001960 2080 move.l d0,(a0) 00001962 c189 exg d0,a1 00001964 2348 0004 move.l a0,0x4(a1) 00001968 53ab 0424 subq.l #0x1,0x424(a3) 0000196c 4aab 0424 tst.l 0x424(a3) 00001970 6610 bne.b 0x1982 00001972 41eb 0428 lea 0x428(a3),a0 00001976 2088 move.l a0,(a0) 00001978 5890 addq.l #0x4,(a0) 0000197a 42a8 0004 clr.l 0x4(a0) 0000197e 2148 0008 move.l a0,0x8(a0) 00001982 41eb 03f4 lea 0x3f4(a3),a0 00001986 2f0e move.l a6,-(sp) 00001988 2c6d 0024 movea.l 0x24(a5),a6 0000198c 4eae fdc6 jsr -0x23a(a6) 00001990 2c5f movea.l (sp)+,a6 00001992 4a80 tst.l d0 00001994 67aa beq.b 0x1940 00001996 2240 movea.l d0,a1 00001998 08e9 0004 001e bset #0x4,0x1e(a1) 0000199e 08a9 0006 001e bclr #0x6,0x1e(a1) 000019a4 0c69 0003 001c cmpi.w #0x3,0x1c(a1) 000019aa 6600 00be bne.w 0x1a6a 000019ae 42ab 0300 clr.l 0x300(a3) 000019b2 2769 0028 03d4 move.l 0x28(a1),0x3d4(a3) 000019b8 2769 0024 03d8 move.l 0x24(a1),0x3d8(a3) 000019be 2749 03d0 move.l a1,0x3d0(a3) 000019c2 2069 0028 movea.l 0x28(a1),a0 000019c6 2029 0024 move.l 0x24(a1),d0 000019ca 0ca9 ffff ffff 0024 cmpi.l #-0x1,0x24(a1) 000019d2 660e bne.b 0x19e2 000019d4 7000 moveq #0,d0 000019d6 5280 addq.l #0x1,d0 000019d8 4a18 tst.b (a0)+ 000019da 67fa beq.b 0x19d6 000019dc 5380 subq.l #0x1,d0 000019de 2069 0028 movea.l 0x28(a1),a0 000019e2 42ab 0300 clr.l 0x300(a3) 000019e6 246b 02f0 movea.l 0x2f0(a3),a2 000019ea 242b 02fc move.l 0x2fc(a3),d2 000019ee d4a9 0024 add.l 0x24(a1),d2 000019f2 b4ab 02f8 cmp.l 0x2f8(a3),d2 000019f6 6730 beq.b 0x1a28 000019f8 6f2e ble.b 0x1a28 000019fa 277c 0000 0001 03dc move.l #0x1,0x3dc(a3) 00001a02 48e7 c0c0 movem.l d0-d1/a0-a1,-(sp) 00001a06 202b 03e8 move.l 0x3e8(a3),d0 00001a0a 2f0e move.l a6,-(sp) 00001a0c 2c6d 0024 movea.l 0x24(a5),a6 00001a10 4eae fec2 jsr -0x13e(a6) 00001a14 2c5f movea.l (sp)+,a6 00001a16 4cdf 0303 movem.l (sp)+,d0-d1/a0-a1 00001a1a 0829 0005 001e btst #0x5,0x1e(a1) 00001a20 6606 bne.b 0x1a28 00001a22 4aab 03dc tst.l 0x3dc(a3) 00001a26 66da bne.b 0x1a02 00001a28 0829 0005 001e btst #0x5,0x1e(a1) 00001a2e 662a bne.b 0x1a5a 00001a30 b5eb 02e8 cmpa.l 0x2e8(a3),a2 00001a34 6712 beq.b 0x1a48 00001a36 14d8 move.b (a0)+,(a2)+ 00001a38 52ab 02fc addq.l #0x1,0x2fc(a3) 00001a3c 52ab 0300 addq.l #0x1,0x300(a3) 00001a40 5380 subq.l #0x1,d0 00001a42 66e4 bne.b 0x1a28 00001a44 6014 bra.b 0x1a5a 00001a46 0000 246b ori.b #0x6b,d0 00001a4a 02e4 14d8 cmp2.w -(a4),d1 00001a4e 52ab 02fc addq.l #0x1,0x2fc(a3) 00001a52 52ab 0300 addq.l #0x1,0x300(a3) 00001a56 5380 subq.l #0x1,d0 00001a58 66ce bne.b 0x1a28 00001a5a 274a 02f0 move.l a2,0x2f0(a3) 00001a5e 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00001a66 42ab 03d0 clr.l 0x3d0(a3) 00001a6a 236b 0300 0020 move.l 0x300(a3),0x20(a1) 00001a70 4229 001f clr.b 0x1f(a1) 00001a74 137c 0007 0008 move.b #0x7,0x8(a1) 00001a7a 08a9 0004 001e bclr #0x4,0x1e(a1) 00001a80 0829 0005 001e btst #0x5,0x1e(a1) 00001a86 6706 beq.b 0x1a8e 00001a88 137c 00fe 001f move.b #-0x2,0x1f(a1) 00001a8e 0829 0000 001e btst #0,0x1e(a1) 00001a94 660e bne.b 0x1aa4 00001a96 2f0e move.l a6,-(sp) 00001a98 2c6d 0024 movea.l 0x24(a5),a6 00001a9c 4eae fe86 jsr -0x17a(a6) 00001aa0 2c5f movea.l (sp)+,a6 00001aa2 93c9 suba.l a1,a1 00001aa4 6000 fe9a bra.w 0x1940 00001aa8 93c9 suba.l a1,a1 00001aaa 2f0e move.l a6,-(sp) 00001aac 2c78 0004 movea.l 0x4.w,a6 00001ab0 4eae feda jsr -0x126(a6) 00001ab4 2c5f movea.l (sp)+,a6 00001ab6 2040 movea.l d0,a0 00001ab8 2268 0058 movea.l 0x58(a0),a1 00001abc 2269 0008 movea.l 0x8(a1),a1 00001ac0 42ab 03e4 clr.l 0x3e4(a3) 00001ac4 7000 moveq #0,d0 00001ac6 08c0 0010 bset #0x10,d0 00001aca 2f0e move.l a6,-(sp) 00001acc 2c6d 0024 movea.l 0x24(a5),a6 00001ad0 4eae febc jsr -0x144(a6) 00001ad4 2c5f movea.l (sp)+,a6 00001ad6 4e75 rts 00001ad8 0000 0000 ori.b #0,d0 00001adc 93c9 suba.l a1,a1 00001ade 2f0e move.l a6,-(sp) 00001ae0 2c78 0004 movea.l 0x4.w,a6 00001ae4 4eae feda jsr -0x126(a6) 00001ae8 2c5f movea.l (sp)+,a6 00001aea 2600 move.l d0,d3 00001aec 2040 movea.l d0,a0 00001aee 2268 0058 movea.l 0x58(a0),a1 00001af2 2a51 movea.l (a1),a5 00001af4 2669 0004 movea.l 0x4(a1),a3 00001af8 2269 0008 movea.l 0x8(a1),a1 00001afc 7000 moveq #0,d0 00001afe 08c0 0010 bset #0x10,d0 00001b02 2f0e move.l a6,-(sp) 00001b04 2c6d 0024 movea.l 0x24(a5),a6 00001b08 4eae febc jsr -0x144(a6) 00001b0c 2c5f movea.l (sp)+,a6 00001b0e 70ff moveq #-0x1,d0 00001b10 2f0e move.l a6,-(sp) 00001b12 2c6d 0024 movea.l 0x24(a5),a6 00001b16 4eae feb6 jsr -0x14a(a6) 00001b1a 2c5f movea.l (sp)+,a6 00001b1c 7200 moveq #0,d1 00001b1e 01c1 bset d0,d1 00001b20 2741 0280 move.l d1,0x280(a3) 00001b24 2743 027c move.l d3,0x27c(a3) 00001b28 601e bra.b 0x1b48 00001b2a 0000 202b ori.b #0x2b,d0 00001b2e 0280 2f0e 2c6d andi.l #0x2f0e2c6d,d0 00001b34 0024 4eae ori.b #-0x52,-(a4) 00001b38 fec2 2c5f 0cab linef 00001b3e ffff linef 00001b40 ffff linef 00001b42 0274 6700 029a andi.w #0x6700,(-0x66,a4,d0.w*2) 00001b48 4aab 02bc tst.l 0x2bc(a3) 00001b4c 67de beq.b 0x1b2c 00001b4e 41eb 028c lea 0x28c(a3),a0 00001b52 2f0e move.l a6,-(sp) 00001b54 2c6d 0024 movea.l 0x24(a5),a6 00001b58 4eae fdcc jsr -0x234(a6) 00001b5c 2c5f movea.l (sp)+,a6 00001b5e 41eb 02c0 lea 0x2c0(a3),a0 00001b62 2250 movea.l (a0),a1 00001b64 2011 move.l (a1),d0 00001b66 6708 beq.b 0x1b70 00001b68 2080 move.l d0,(a0) 00001b6a c189 exg d0,a1 00001b6c 2348 0004 move.l a0,0x4(a1) 00001b70 53ab 02bc subq.l #0x1,0x2bc(a3) 00001b74 4aab 02bc tst.l 0x2bc(a3) 00001b78 6610 bne.b 0x1b8a 00001b7a 41eb 02c0 lea 0x2c0(a3),a0 00001b7e 2088 move.l a0,(a0) 00001b80 5890 addq.l #0x4,(a0) 00001b82 42a8 0004 clr.l 0x4(a0) 00001b86 2148 0008 move.l a0,0x8(a0) 00001b8a 41eb 028c lea 0x28c(a3),a0 00001b8e 2f0e move.l a6,-(sp) 00001b90 2c6d 0024 movea.l 0x24(a5),a6 00001b94 4eae fdc6 jsr -0x23a(a6) 00001b98 2c5f movea.l (sp)+,a6 00001b9a 4a80 tst.l d0 00001b9c 67aa beq.b 0x1b48 00001b9e 2240 movea.l d0,a1 00001ba0 2749 026c move.l a1,0x26c(a3) 00001ba4 42ab 0270 clr.l 0x270(a3) 00001ba8 08eb 0001 013a bset #0x1,0x13a(a3) 00001bae 08e9 0004 001e bset #0x4,0x1e(a1) 00001bb4 08a9 0006 001e bclr #0x6,0x1e(a1) 00001bba 0829 0005 001e btst #0x5,0x1e(a1) 00001bc0 6600 019e bne.w 0x1d60 00001bc4 0ca9 ffff ffff 0024 cmpi.l #-0x1,0x24(a1) 00001bcc 6700 00de beq.w 0x1cac 00001bd0 0829 0006 004f btst #0x6,0x4f(a1) 00001bd6 6600 0006 bne.w 0x1bde 00001bda 6000 013c bra.w 0x1d18 00001bde 246b 0258 movea.l 0x258(a3),a2 00001be2 2869 0028 movea.l 0x28(a1),a4 00001be6 2a29 0024 move.l 0x24(a1),d5 00001bea baab 0264 cmp.l 0x264(a3),d5 00001bee 6700 0082 beq.w 0x1c72 00001bf2 6f7e ble.b 0x1c72 00001bf4 2769 0024 0270 move.l 0x24(a1),0x270(a3) 00001bfa 4aab 0264 tst.l 0x264(a3) 00001bfe 6700 006e beq.w 0x1c6e 00001c02 2f0e move.l a6,-(sp) 00001c04 2c6d 0024 movea.l 0x24(a5),a6 00001c08 4eae ff88 jsr -0x78(a6) 00001c0c 2c5f movea.l (sp)+,a6 00001c0e 246b 0258 movea.l 0x258(a3),a2 00001c12 2a2b 0264 move.l 0x264(a3),d5 00001c16 b5eb 0250 cmpa.l 0x250(a3),a2 00001c1a 6604 bne.b 0x1c20 00001c1c 246b 024c movea.l 0x24c(a3),a2 00001c20 101a move.b (a2)+,d0 00001c22 18c0 move.b d0,(a4)+ 00001c24 52a9 0020 addq.l #0x1,0x20(a1) 00001c28 53ab 0264 subq.l #0x1,0x264(a3) 00001c2c 41eb 045c lea 0x45c(a3),a0 00001c30 7207 moveq #0x7,d1 00001c32 b018 cmp.b (a0)+,d0 00001c34 54c9 fffc dbcc d1,0x1c32 00001c38 6614 bne.b 0x1c4e 00001c3a 274a 0258 move.l a2,0x258(a3) 00001c3e 2f0e move.l a6,-(sp) 00001c40 2c6d 0024 movea.l 0x24(a5),a6 00001c44 4eae ff82 jsr -0x7e(a6) 00001c48 2c5f movea.l (sp)+,a6 00001c4a 6000 0114 bra.w 0x1d60 00001c4e 5385 subq.l #0x1,d5 00001c50 66c4 bne.b 0x1c16 00001c52 274a 0258 move.l a2,0x258(a3) 00001c56 2029 0024 move.l 0x24(a1),d0 00001c5a 90a9 0020 sub.l 0x20(a1),d0 00001c5e 2740 0270 move.l d0,0x270(a3) 00001c62 2f0e move.l a6,-(sp) 00001c64 2c6d 0024 movea.l 0x24(a5),a6 00001c68 4eae ff82 jsr -0x7e(a6) 00001c6c 2c5f movea.l (sp)+,a6 00001c6e 6100 0140 bsr.w 0x1db0 00001c72 0829 0005 001e btst #0x5,0x1e(a1) 00001c78 6600 002a bne.w 0x1ca4 00001c7c b5eb 0250 cmpa.l 0x250(a3),a2 00001c80 6604 bne.b 0x1c86 00001c82 246b 024c movea.l 0x24c(a3),a2 00001c86 101a move.b (a2)+,d0 00001c88 18c0 move.b d0,(a4)+ 00001c8a 52a9 0020 addq.l #0x1,0x20(a1) 00001c8e 53ab 0264 subq.l #0x1,0x264(a3) 00001c92 41eb 045c lea 0x45c(a3),a0 00001c96 7207 moveq #0x7,d1 00001c98 b018 cmp.b (a0)+,d0 00001c9a 54c9 fffc dbcc d1,0x1c98 00001c9e 6704 beq.b 0x1ca4 00001ca0 5385 subq.l #0x1,d5 00001ca2 66ce bne.b 0x1c72 00001ca4 274a 0258 move.l a2,0x258(a3) 00001ca8 6000 00b6 bra.w 0x1d60 00001cac 2f0e move.l a6,-(sp) 00001cae 2c6d 0024 movea.l 0x24(a5),a6 00001cb2 4eae ff88 jsr -0x78(a6) 00001cb6 2c5f movea.l (sp)+,a6 00001cb8 4aab 0264 tst.l 0x264(a3) 00001cbc 674e beq.b 0x1d0c 00001cbe 246b 0258 movea.l 0x258(a3),a2 00001cc2 202b 0264 move.l 0x264(a3),d0 00001cc6 7200 moveq #0,d1 00001cc8 6004 bra.b 0x1cce 00001cca 5380 subq.l #0x1,d0 00001ccc 673e beq.b 0x1d0c 00001cce 5281 addq.l #0x1,d1 00001cd0 4a1a tst.b (a2)+ 00001cd2 66f6 bne.b 0x1cca 00001cd4 2a01 move.l d1,d5 00001cd6 2f0e move.l a6,-(sp) 00001cd8 2c6d 0024 movea.l 0x24(a5),a6 00001cdc 4eae ff82 jsr -0x7e(a6) 00001ce0 2c5f movea.l (sp)+,a6 00001ce2 0829 0005 001e btst #0x5,0x1e(a1) 00001ce8 6600 001a bne.w 0x1d04 00001cec b5eb 0250 cmpa.l 0x250(a3),a2 00001cf0 6604 bne.b 0x1cf6 00001cf2 246b 024c movea.l 0x24c(a3),a2 00001cf6 18da move.b (a2)+,(a4)+ 00001cf8 52a9 0020 addq.l #0x1,0x20(a1) 00001cfc 53ab 0264 subq.l #0x1,0x264(a3) 00001d00 5385 subq.l #0x1,d5 00001d02 66de bne.b 0x1ce2 00001d04 274a 0258 move.l a2,0x258(a3) 00001d08 6000 0056 bra.w 0x1d60 00001d0c 2f0e move.l a6,-(sp) 00001d0e 2c6d 0024 movea.l 0x24(a5),a6 00001d12 4eae ff82 jsr -0x7e(a6) 00001d16 2c5f movea.l (sp)+,a6 00001d18 246b 0258 movea.l 0x258(a3),a2 00001d1c 2869 0028 movea.l 0x28(a1),a4 00001d20 2a29 0024 move.l 0x24(a1),d5 00001d24 baab 0264 cmp.l 0x264(a3),d5 00001d28 670c beq.b 0x1d36 00001d2a 6f0a ble.b 0x1d36 00001d2c 2769 0024 0270 move.l 0x24(a1),0x270(a3) 00001d32 6100 007c bsr.w 0x1db0 00001d36 0829 0005 001e btst #0x5,0x1e(a1) 00001d3c 6600 001a bne.w 0x1d58 00001d40 b5eb 0250 cmpa.l 0x250(a3),a2 00001d44 6604 bne.b 0x1d4a 00001d46 246b 024c movea.l 0x24c(a3),a2 00001d4a 18da move.b (a2)+,(a4)+ 00001d4c 53ab 0264 subq.l #0x1,0x264(a3) 00001d50 52a9 0020 addq.l #0x1,0x20(a1) 00001d54 5385 subq.l #0x1,d5 00001d56 66de bne.b 0x1d36 00001d58 274a 0258 move.l a2,0x258(a3) 00001d5c 6002 bra.b 0x1d60 00001d5e 0000 42ab ori.b #-0x55,d0 00001d62 0270 42ab 026c andi.w #0x42ab,(0x6c,a0,d0.w*2) 00001d68 202b 0264 move.l 0x264(a3),d0 00001d6c b0ab 0260 cmp.l 0x260(a3),d0 00001d70 6204 bhi.b 0x1d76 00001d72 6100 0cac bsr.w 0x2a20 00001d76 08ab 0001 013a bclr #0x1,0x13a(a3) 00001d7c 137c 0007 0008 move.b #0x7,0x8(a1) 00001d82 08a9 0004 001e bclr #0x4,0x1e(a1) 00001d88 0829 0005 001e btst #0x5,0x1e(a1) 00001d8e 6706 beq.b 0x1d96 00001d90 137c 00fe 001f move.b #-0x2,0x1f(a1) 00001d96 0829 0000 001e btst #0,0x1e(a1) 00001d9c 660c bne.b 0x1daa 00001d9e 2f0e move.l a6,-(sp) 00001da0 2c6d 0024 movea.l 0x24(a5),a6 00001da4 4eae fe86 jsr -0x17a(a6) 00001da8 2c5f movea.l (sp)+,a6 00001daa 6000 fd9c bra.w 0x1b48 00001dae 0000 277c ori.b #0x7c,d0 00001db2 0000 0001 ori.b #0x1,d0 00001db6 0274 33fc a000 andi.w #0x33fc,(0,a4,a2.w) 00001dbc 00df f09c cmp2.b (sp)+,sp 00001dc0 48e7 c0c0 movem.l d0-d1/a0-a1,-(sp) 00001dc4 202b 0280 move.l 0x280(a3),d0 00001dc8 2f0e move.l a6,-(sp) 00001dca 2c6d 0024 movea.l 0x24(a5),a6 00001dce 4eae fec2 jsr -0x13e(a6) 00001dd2 2c5f movea.l (sp)+,a6 00001dd4 4cdf 0303 movem.l (sp)+,d0-d1/a0-a1 00001dd8 4aab 0274 tst.l 0x274(a3) 00001ddc 66e2 bne.b 0x1dc0 00001dde 4e75 rts 00001de0 93c9 suba.l a1,a1 00001de2 2f0e move.l a6,-(sp) 00001de4 2c78 0004 movea.l 0x4.w,a6 00001de8 4eae feda jsr -0x126(a6) 00001dec 2c5f movea.l (sp)+,a6 00001dee 2040 movea.l d0,a0 00001df0 2268 0058 movea.l 0x58(a0),a1 00001df4 2269 0008 movea.l 0x8(a1),a1 00001df8 42ab 027c clr.l 0x27c(a3) 00001dfc 7000 moveq #0,d0 00001dfe 08c0 0010 bset #0x10,d0 00001e02 2f0e move.l a6,-(sp) 00001e04 2c6d 0024 movea.l 0x24(a5),a6 00001e08 4eae febc jsr -0x144(a6) 00001e0c 2c5f movea.l (sp)+,a6 00001e0e 4e75 rts 00001e10 4ef9 0000 1ffa jmp 0x1ffa.l ; absreloc32: self: 00001ffa 00001e16 4ef9 0000 2038 jmp 0x2038.l ; absreloc32: self: 00002038 00001e1c 4ef9 0000 206e jmp 0x206e.l ; absreloc32: self: 0000206e 00001e22 4ef9 0000 1f84 jmp 0x1f84.l ; absreloc32: self: 00001f84 00001e28 4ef9 0000 1f70 jmp 0x1f70.l ; absreloc32: self: 00001f70 00001e2e 4ef9 0000 1f5c jmp 0x1f5c.l ; absreloc32: self: 00001f5c 00001e34 4ef9 0000 1f3a jmp 0x1f3a.l ; absreloc32: self: 00001f3a 00001e3a 4ef9 0000 1eb8 jmp 0x1eb8.l ; absreloc32: self: 00001eb8 00001e40 4ef9 0000 1e48 jmp 0x1e48.l ; absreloc32: self: 00001e48 00001e46 0000 48e7 ori.b #-0x19,d0 00001e4a 2018 move.l (a0)+,d0 00001e4c 266b 0134 movea.l 0x134(a3),a3 00001e50 6100 0310 bsr.w 0x2162 00001e54 7000 moveq #0,d0 00001e56 286b 01a8 movea.l 0x1a8(a3),a4 00001e5a 1414 move.b (a4),d2 00001e5c 0802 0007 btst #0x7,d2 00001e60 6604 bne.b 0x1e66 00001e62 0000 0008 ori.b #0x8,d0 00001e66 0802 0006 btst #0x6,d2 00001e6a 6704 beq.b 0x1e70 00001e6c 0000 0040 ori.b #0x40,d0 00001e70 0802 0005 btst #0x5,d2 00001e74 6604 bne.b 0x1e7a 00001e76 0000 0020 ori.b #0x20,d0 00001e7a 0802 0004 btst #0x4,d2 00001e7e 6604 bne.b 0x1e84 00001e80 0000 0010 ori.b #0x10,d0 00001e84 286b 01a0 movea.l 0x1a0(a3),a4 00001e88 1414 move.b (a4),d2 00001e8a 0802 0000 btst #0,d2 00001e8e 6604 bne.b 0x1e94 00001e90 0000 0001 ori.b #0x1,d0 00001e94 0802 0001 btst #0x1,d2 00001e98 6604 bne.b 0x1e9e 00001e9a 0000 0002 ori.b #0x2,d0 00001e9e 286b 01a4 movea.l 0x1a4(a3),a4 00001ea2 1414 move.b (a4),d2 00001ea4 0802 0004 btst #0x4,d2 00001ea8 6704 beq.b 0x1eae 00001eaa 0000 0004 ori.b #0x4,d0 00001eae 6100 02b8 bsr.w 0x2168 00001eb2 4cdf 1804 movem.l (sp)+,d2/a3-a4 00001eb6 4e75 rts 00001eb8 48e7 2018 movem.l d2/a3-a4,-(sp) 00001ebc 266b 0134 movea.l 0x134(a3),a3 00001ec0 6100 02a0 bsr.w 0x2162 00001ec4 0240 0007 andi.w #0x7,d0 00001ec8 0241 0007 andi.w #0x7,d1 00001ecc 7400 moveq #0,d2 00001ece 142b 018b move.b 0x18b(a3),d2 00001ed2 0801 0002 btst #0x2,d1 00001ed6 6704 beq.b 0x1edc 00001ed8 0882 0006 bclr #0x6,d2 00001edc 0800 0002 btst #0x2,d0 00001ee0 6704 beq.b 0x1ee6 00001ee2 08c2 0006 bset #0x6,d2 00001ee6 1742 018b move.b d2,0x18b(a3) 00001eea 286b 019c movea.l 0x19c(a3),a4 00001eee 18ab 018b move.b 0x18b(a3),(a4) 00001ef2 0801 0001 btst #0x1,d1 00001ef6 6706 beq.b 0x1efe 00001ef8 08ab 0001 0188 bclr #0x1,0x188(a3) 00001efe 0801 0000 btst #0,d1 00001f02 6706 beq.b 0x1f0a 00001f04 08ab 0000 0188 bclr #0,0x188(a3) 00001f0a 0800 0001 btst #0x1,d0 00001f0e 6706 beq.b 0x1f16 00001f10 08eb 0001 0188 bset #0x1,0x188(a3) 00001f16 0800 0000 btst #0,d0 00001f1a 6706 beq.b 0x1f22 00001f1c 08eb 0000 0188 bset #0,0x188(a3) 00001f22 08ab 0005 0188 bclr #0x5,0x188(a3) 00001f28 286b 01a0 movea.l 0x1a0(a3),a4 00001f2c 18ab 0188 move.b 0x188(a3),(a4) 00001f30 6100 0236 bsr.w 0x2168 00001f34 4cdf 1804 movem.l (sp)+,d2/a3-a4 00001f38 4e75 rts 00001f3a 48e7 2010 movem.l d2/a3,-(sp) 00001f3e 266b 0134 movea.l 0x134(a3),a3 00001f42 342b 007c move.w 0x7c(a3),d2 00001f46 0280 0000 1111 andi.l #0x1111,d0 00001f4c c440 and.w d0,d2 00001f4e b342 eor.w d1,d2 00001f50 3002 move.w d2,d0 00001f52 3740 007c move.w d0,0x7c(a3) 00001f56 4cdf 0804 movem.l (sp)+,d2/a3 00001f5a 4e75 rts 00001f5c 2f0b move.l a3,-(sp) 00001f5e 266b 0134 movea.l 0x134(a3),a3 00001f62 302b 007a move.w 0x7a(a3),d0 00001f66 0280 0000 1111 andi.l #0x1111,d0 00001f6c 265f movea.l (sp)+,a3 00001f6e 4e75 rts 00001f70 2f0b move.l a3,-(sp) 00001f72 266b 0134 movea.l 0x134(a3),a3 00001f76 302b 0078 move.w 0x78(a3),d0 00001f7a 0280 0000 1111 andi.l #0x1111,d0 00001f80 265f movea.l (sp)+,a3 00001f82 4e75 rts 00001f84 48e7 2018 movem.l d2/a3-a4,-(sp) 00001f88 266b 0134 movea.l 0x134(a3),a3 00001f8c 6100 01d4 bsr.w 0x2162 00001f90 0280 0000 000f andi.l #0xf,d0 00001f96 0281 0000 000f andi.l #0xf,d1 00001f9c 7400 moveq #0,d2 00001f9e 142b 018c move.b 0x18c(a3),d2 00001fa2 8400 or.b d0,d2 00001fa4 b302 eor.b d1,d2 00001fa6 2002 move.l d2,d0 00001fa8 286b 0194 movea.l 0x194(a3),a4 00001fac 1742 018c move.b d2,0x18c(a3) 00001fb0 1882 move.b d2,(a4) 00001fb2 4a2b 018c tst.b 0x18c(a3) 00001fb6 6726 beq.b 0x1fde 00001fb8 286b 0198 movea.l 0x198(a3),a4 00001fbc 18ab 018a move.b 0x18a(a3),(a4) 00001fc0 142b 0188 move.b 0x188(a3),d2 00001fc4 08c2 0003 bset #0x3,d2 00001fc8 1742 0188 move.b d2,0x188(a3) 00001fcc 286b 01a0 movea.l 0x1a0(a3),a4 00001fd0 18ab 0188 move.b 0x188(a3),(a4) 00001fd4 6100 0192 bsr.w 0x2168 00001fd8 4cdf 1804 movem.l (sp)+,d2/a3-a4 00001fdc 4e75 rts 00001fde 142b 0188 move.b 0x188(a3),d2 00001fe2 0882 0003 bclr #0x3,d2 00001fe6 1742 0188 move.b d2,0x188(a3) 00001fea 286b 01a0 movea.l 0x1a0(a3),a4 00001fee 1882 move.b d2,(a4) 00001ff0 6100 0176 bsr.w 0x2168 00001ff4 4cdf 1804 movem.l (sp)+,d2/a3-a4 00001ff8 4e75 rts 00001ffa 48e7 2018 movem.l d2/a3-a4,-(sp) 00001ffe 266b 0134 movea.l 0x134(a3),a3 00002002 6100 015e bsr.w 0x2162 00002006 142b 0188 move.b 0x188(a3),d2 0000200a 0002 0008 ori.b #0x8,d2 0000200e 1742 0188 move.b d2,0x188(a3) 00002012 286b 01a0 movea.l 0x1a0(a3),a4 00002016 1882 move.b d2,(a4) 00002018 286b 0198 movea.l 0x198(a3),a4 0000201c 18ab 018a move.b 0x18a(a3),(a4) 00002020 177c 000f 018c move.b #0xf,0x18c(a3) 00002026 286b 0194 movea.l 0x194(a3),a4 0000202a 18ab 018c move.b 0x18c(a3),(a4) 0000202e 6100 0138 bsr.w 0x2168 00002032 4cdf 1804 movem.l (sp)+,d2/a3-a4 00002036 4e75 rts 00002038 48e7 2018 movem.l d2/a3-a4,-(sp) 0000203c 266b 0134 movea.l 0x134(a3),a3 00002040 6100 0120 bsr.w 0x2162 00002044 286b 0194 movea.l 0x194(a3),a4 00002048 18bc 0000 move.b #0,(a4) 0000204c 177c 0000 018c move.b #0,0x18c(a3) 00002052 142b 0188 move.b 0x188(a3),d2 00002056 0a02 0008 eori.b #0x8,d2 0000205a 1742 0188 move.b d2,0x188(a3) 0000205e 286b 01a0 movea.l 0x1a0(a3),a4 00002062 1882 move.b d2,(a4) 00002064 6100 0102 bsr.w 0x2168 00002068 4cdf 1804 movem.l (sp)+,d2/a3-a4 0000206c 4e75 rts 0000206e 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00002072 0282 0000 00ff andi.l #0xff,d2 00002078 0283 0000 00ff andi.l #0xff,d3 0000207e 0284 0000 00ff andi.l #0xff,d4 00002084 266b 0134 movea.l 0x134(a3),a3 00002088 6100 00d8 bsr.w 0x2162 0000208c 08eb 0007 018b bset #0x7,0x18b(a3) 00002092 286b 019c movea.l 0x19c(a3),a4 00002096 18ab 018b move.b 0x18b(a3),(a4) 0000209a 4a81 tst.l d1 0000209c 6606 bne.b 0x20a4 0000209e 223c 0001 c200 move.l #0x1c200,d1 000020a4 2e2b 0184 move.l 0x184(a3),d7 000020a8 2007 move.l d7,d0 000020aa 6100 0a3c bsr.w 0x2ae8 000020ae 2e00 move.l d0,d7 000020b0 286b 0190 movea.l 0x190(a3),a4 000020b4 1887 move.b d7,(a4) 000020b6 e05f ror.w #8,d7 000020b8 286b 0194 movea.l 0x194(a3),a4 000020bc 1887 move.b d7,(a4) 000020be 5384 subq.l #0x1,d4 000020c0 e58c lsl.l #2,d4 000020c2 5b83 subq.l #0x5,d3 000020c4 8803 or.b d3,d4 000020c6 0c02 004e cmpi.b #0x4e,d2 000020ca 6606 bne.b 0x20d2 000020cc 0204 00c7 andi.b #-0x39,d4 000020d0 6036 bra.b 0x2108 000020d2 0c02 0045 cmpi.b #0x45,d2 000020d6 660a bne.b 0x20e2 000020d8 0204 00df andi.b #-0x21,d4 000020dc 0004 0018 ori.b #0x18,d4 000020e0 6026 bra.b 0x2108 000020e2 0c02 004f cmpi.b #0x4f,d2 000020e6 660a bne.b 0x20f2 000020e8 0204 00df andi.b #-0x21,d4 000020ec 0004 0008 ori.b #0x8,d4 000020f0 6016 bra.b 0x2108 000020f2 0c02 004d cmpi.b #0x4d,d2 000020f6 6606 bne.b 0x20fe 000020f8 0004 0028 ori.b #0x28,d4 000020fc 600a bra.b 0x2108 000020fe 0c02 0053 cmpi.b #0x53,d2 00002102 6604 bne.b 0x2108 00002104 0004 0038 ori.b #0x38,d4 00002108 0204 007f andi.b #0x7f,d4 0000210c 1744 018b move.b d4,0x18b(a3) 00002110 286b 019c movea.l 0x19c(a3),a4 00002114 18ab 018b move.b 0x18b(a3),(a4) 00002118 0c85 4d49 4345 cmpi.l #0x4d494345,d5 0000211e 6616 bne.b 0x2136 00002120 177c 0000 018a move.b #0,0x18a(a3) 00002126 286b 0198 movea.l 0x198(a3),a4 0000212a 18bc 0000 move.b #0,(a4) 0000212e 4a39 00bf e001 tst.b 0xbfe001.l 00002134 6014 bra.b 0x214a 00002136 177c 0087 018a move.b #-0x79,0x18a(a3) 0000213c 286b 0198 movea.l 0x198(a3),a4 00002140 18bc 0001 move.b #0x1,(a4) 00002144 4a39 00bf e001 tst.b 0xbfe001.l 0000214a 286b 0198 movea.l 0x198(a3),a4 0000214e 18ab 018a move.b 0x18a(a3),(a4) 00002152 4a39 00bf e001 tst.b 0xbfe001.l 00002158 6100 000e bsr.w 0x2168 0000215c 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00002160 4e75 rts 00002162 286b 0058 movea.l 0x58(a3),a4 00002166 4e75 rts 00002168 4e75 rts 0000216a 0000 48e7 ori.b #-0x19,d0 0000216e 3fb8 2649 2a6b move.w 0x2649.w,(0x6b,sp,d2.l*2) 00002174 002c 2c4d 286b ori.b #0x4d,0x286b(a4) 0000217a 0134 286c btst d0,(0x6c,a4,d2.l) 0000217e 0198 bclr d0,(a0)+ 00002180 1214 move.b (a4),d1 00002182 0241 000f andi.w #0xf,d1 00002186 e349 lsl.w #1,d1 00002188 323b 1022 move.w (0x22,pc,d1.w),d1 0000218c 4ebb 101e jsr (0x1e,pc,d1.w) 00002190 286b 0134 movea.l 0x134(a3),a4 00002194 286c 0198 movea.l 0x198(a4),a4 00002198 1214 move.b (a4),d1 0000219a 0241 000f andi.w #0xf,d1 0000219e 0c01 0001 cmpi.b #0x1,d1 000021a2 66e2 bne.b 0x2186 000021a4 4cdf 1dfc movem.l (sp)+,d2-d7/a0/a2-a4 000021a8 7000 moveq #0,d0 000021aa 4e75 rts 000021ac 002c 0034 0034 ori.b #0x34,0x34(a4) 000021b2 0024 003c ori.b #0x3c,-(a4) 000021b6 0024 0044 ori.b #0x44,-(a4) 000021ba 0024 0024 ori.b #0x24,-(a4) 000021be 0024 0024 ori.b #0x24,-(a4) 000021c2 0024 003c ori.b #0x3c,-(a4) 000021c6 0024 0024 ori.b #0x24,-(a4) 000021ca 0024 0000 ori.b #0,-(a4) 000021ce 0000 4e75 ori.b #0x75,d0 000021d2 0000 0000 ori.b #0,d0 000021d6 0000 6122 ori.b #0x22,d0 000021da 6174 bsr.b 0x2250 000021dc 6000 047a bra.w 0x2658 000021e0 6100 0476 bsr.w 0x2658 000021e4 606a bra.b 0x2250 000021e6 0000 6166 ori.b #0x66,d0 000021ea 6000 046c bra.w 0x2658 000021ee 0000 6100 ori.b #0,d0 000021f2 044a 615a subi.w #0x615a,a2 000021f6 6000 0460 bra.w 0x2658 000021fa 0000 2f0c ori.b #0xc,d0 000021fe 286b 0134 movea.l 0x134(a3),a4 00002202 286c 01a8 movea.l 0x1a8(a4),a4 00002206 1414 move.b (a4),d2 00002208 285f movea.l (sp)+,a4 0000220a 4e75 rts 0000220c 7000 moveq #0,d0 0000220e 0802 0007 btst #0x7,d2 00002212 6604 bne.b 0x2218 00002214 0000 0020 ori.b #0x20,d0 00002218 0802 0006 btst #0x6,d2 0000221c 6604 bne.b 0x2222 0000221e 0000 0004 ori.b #0x4,d0 00002222 0802 0005 btst #0x5,d2 00002226 6604 bne.b 0x222c 00002228 0000 0008 ori.b #0x8,d0 0000222c 0802 0004 btst #0x4,d2 00002230 6604 bne.b 0x2236 00002232 0000 0010 ori.b #0x10,d0 00002236 142c 01a0 move.b 0x1a0(a4),d2 0000223a 0802 0000 btst #0,d2 0000223e 6604 bne.b 0x2244 00002240 0000 0080 ori.b #-0x80,d0 00002244 0802 0001 btst #0x1,d2 00002248 6604 bne.b 0x224e 0000224a 0000 0040 ori.b #0x40,d0 0000224e 4e75 rts 00002250 286b 0134 movea.l 0x134(a3),a4 00002254 286c 01a4 movea.l 0x1a4(a4),a4 00002258 0814 0000 btst #0,(a4) 0000225c 6700 0198 beq.w 0x23f6 00002260 08ab 0006 0138 bclr #0x6,0x138(a3) 00002266 6706 beq.b 0x226e 00002268 61ff 0000 078a bsr.l 0x29f4 0000226e 4aab 0264 tst.l 0x264(a3) 00002272 6600 00e4 bne.w 0x2358 00002276 4aab 026c tst.l 0x26c(a3) 0000227a 6700 00dc beq.w 0x2358 0000227e 082b 0001 013a btst #0x1,0x13a(a3) 00002284 6600 00d2 bne.w 0x2358 00002288 226b 026c movea.l 0x26c(a3),a1 0000228c 2069 0028 movea.l 0x28(a1),a0 00002290 d1e9 0020 adda.l 0x20(a1),a0 00002294 2a29 0024 move.l 0x24(a1),d5 00002298 9aa9 0020 sub.l 0x20(a1),d5 0000229c 0829 0006 004f btst #0x6,0x4f(a1) 000022a2 6660 bne.b 0x2304 000022a4 0ca9 ffff ffff 0024 cmpi.l #-0x1,0x24(a1) 000022ac 672c beq.b 0x22da 000022ae 286b 0134 movea.l 0x134(a3),a4 000022b2 286c 0190 movea.l 0x190(a4),a4 000022b6 10d4 move.b (a4),(a0)+ 000022b8 1028 ffff move.b -0x1(a0),d0 000022bc 52a9 0020 addq.l #0x1,0x20(a1) 000022c0 6100 07e2 bsr.w 0x2aa4 000022c4 5385 subq.l #0x1,d5 000022c6 6700 008a beq.w 0x2352 000022ca 286b 0134 movea.l 0x134(a3),a4 000022ce 286c 01a4 movea.l 0x1a4(a4),a4 000022d2 0814 0000 btst #0,(a4) 000022d6 66d6 bne.b 0x22ae 000022d8 4e75 rts 000022da 286b 0134 movea.l 0x134(a3),a4 000022de 286c 0190 movea.l 0x190(a4),a4 000022e2 10d4 move.b (a4),(a0)+ 000022e4 1028 ffff move.b -0x1(a0),d0 000022e8 52a9 0020 addq.l #0x1,0x20(a1) 000022ec 6100 07b6 bsr.w 0x2aa4 000022f0 4a00 tst.b d0 000022f2 675e beq.b 0x2352 000022f4 286b 0134 movea.l 0x134(a3),a4 000022f8 286c 01a4 movea.l 0x1a4(a4),a4 000022fc 0814 0000 btst #0,(a4) 00002300 66d8 bne.b 0x22da 00002302 4e75 rts 00002304 286b 0134 movea.l 0x134(a3),a4 00002308 286c 0190 movea.l 0x190(a4),a4 0000230c 10d4 move.b (a4),(a0)+ 0000230e 1028 ffff move.b -0x1(a0),d0 00002312 52a9 0020 addq.l #0x1,0x20(a1) 00002316 6100 078c bsr.w 0x2aa4 0000231a 5385 subq.l #0x1,d5 0000231c 6734 beq.b 0x2352 0000231e 45eb 045c lea 0x45c(a3),a2 00002322 b01a cmp.b (a2)+,d0 00002324 672c beq.b 0x2352 00002326 b01a cmp.b (a2)+,d0 00002328 6728 beq.b 0x2352 0000232a b01a cmp.b (a2)+,d0 0000232c 6724 beq.b 0x2352 0000232e b01a cmp.b (a2)+,d0 00002330 6720 beq.b 0x2352 00002332 b01a cmp.b (a2)+,d0 00002334 671c beq.b 0x2352 00002336 b01a cmp.b (a2)+,d0 00002338 6718 beq.b 0x2352 0000233a b01a cmp.b (a2)+,d0 0000233c 6714 beq.b 0x2352 0000233e b012 cmp.b (a2),d0 00002340 6710 beq.b 0x2352 00002342 286b 0134 movea.l 0x134(a3),a4 00002346 286c 01a4 movea.l 0x1a4(a4),a4 0000234a 0814 0000 btst #0,(a4) 0000234e 66b4 bne.b 0x2304 00002350 4e75 rts 00002352 177c 0001 013b move.b #0x1,0x13b(a3) 00002358 286b 0134 movea.l 0x134(a3),a4 0000235c 286c 01a4 movea.l 0x1a4(a4),a4 00002360 0814 0000 btst #0,(a4) 00002364 676a beq.b 0x23d0 00002366 246b 0254 movea.l 0x254(a3),a2 0000236a 204a movea.l a2,a0 0000236c d0fc 0080 adda.w #0x80,a0 00002370 b1eb 0250 cmpa.l 0x250(a3),a0 00002374 6f32 ble.b 0x23a8 00002376 b5eb 0250 cmpa.l 0x250(a3),a2 0000237a 6606 bne.b 0x2382 0000237c 246b 024c movea.l 0x24c(a3),a2 00002380 6026 bra.b 0x23a8 00002382 286b 0134 movea.l 0x134(a3),a4 00002386 286c 0190 movea.l 0x190(a4),a4 0000238a 14d4 move.b (a4),(a2)+ 0000238c 102a ffff move.b -0x1(a2),d0 00002390 52ab 0264 addq.l #0x1,0x264(a3) 00002394 6100 070e bsr.w 0x2aa4 00002398 286b 0134 movea.l 0x134(a3),a4 0000239c 286c 01a4 movea.l 0x1a4(a4),a4 000023a0 0814 0000 btst #0,(a4) 000023a4 66d0 bne.b 0x2376 000023a6 6024 bra.b 0x23cc 000023a8 286b 0134 movea.l 0x134(a3),a4 000023ac 286c 0190 movea.l 0x190(a4),a4 000023b0 14d4 move.b (a4),(a2)+ 000023b2 102a ffff move.b -0x1(a2),d0 000023b6 52ab 0264 addq.l #0x1,0x264(a3) 000023ba 6100 06e8 bsr.w 0x2aa4 000023be 286b 0134 movea.l 0x134(a3),a4 000023c2 286c 01a4 movea.l 0x1a4(a4),a4 000023c6 0814 0000 btst #0,(a4) 000023ca 66dc bne.b 0x23a8 000023cc 274a 0254 move.l a2,0x254(a3) 000023d0 202b 0264 move.l 0x264(a3),d0 000023d4 b0ab 0260 cmp.l 0x260(a3),d0 000023d8 6f0c ble.b 0x23e6 000023da 082b 0002 0467 btst #0x2,0x467(a3) 000023e0 6704 beq.b 0x23e6 000023e2 6100 067e bsr.w 0x2a62 000023e6 4a2b 013b tst.b 0x13b(a3) 000023ea 6600 01ae bne.w 0x259a 000023ee 4aab 026c tst.l 0x26c(a3) 000023f2 6616 bne.b 0x240a 000023f4 6006 bra.b 0x23fc 000023f6 4aab 026c tst.l 0x26c(a3) 000023fa 660e bne.b 0x240a 000023fc 6100 01bc bsr.w 0x25ba 00002400 4aab 026c tst.l 0x26c(a3) 00002404 6604 bne.b 0x240a 00002406 6000 019a bra.w 0x25a2 0000240a 082b 0001 013a btst #0x1,0x13a(a3) 00002410 6600 0190 bne.w 0x25a2 00002414 4aab 0264 tst.l 0x264(a3) 00002418 6700 0188 beq.w 0x25a2 0000241c 226b 026c movea.l 0x26c(a3),a1 00002420 2069 0028 movea.l 0x28(a1),a0 00002424 d1e9 0020 adda.l 0x20(a1),a0 00002428 2a29 0024 move.l 0x24(a1),d5 0000242c 9aa9 0020 sub.l 0x20(a1),d5 00002430 0829 0006 004f btst #0x6,0x4f(a1) 00002436 6700 00aa beq.w 0x24e2 0000243a 246b 0258 movea.l 0x258(a3),a2 0000243e 2f0c move.l a4,-(sp) 00002440 284a movea.l a2,a4 00002442 d9c5 adda.l d5,a4 00002444 b9eb 0250 cmpa.l 0x250(a3),a4 00002448 6f48 ble.b 0x2492 0000244a b5eb 0250 cmpa.l 0x250(a3),a2 0000244e 6604 bne.b 0x2454 00002450 246b 024c movea.l 0x24c(a3),a2 00002454 10da move.b (a2)+,(a0)+ 00002456 1028 ffff move.b -0x1(a0),d0 0000245a 52a9 0020 addq.l #0x1,0x20(a1) 0000245e 53ab 0264 subq.l #0x1,0x264(a3) 00002462 5385 subq.l #0x1,d5 00002464 6772 beq.b 0x24d8 00002466 49eb 045c lea 0x45c(a3),a4 0000246a b01c cmp.b (a4)+,d0 0000246c 676a beq.b 0x24d8 0000246e b01c cmp.b (a4)+,d0 00002470 6766 beq.b 0x24d8 00002472 b01c cmp.b (a4)+,d0 00002474 6762 beq.b 0x24d8 00002476 b01c cmp.b (a4)+,d0 00002478 675e beq.b 0x24d8 0000247a b01c cmp.b (a4)+,d0 0000247c 675a beq.b 0x24d8 0000247e b01c cmp.b (a4)+,d0 00002480 6756 beq.b 0x24d8 00002482 b01c cmp.b (a4)+,d0 00002484 6752 beq.b 0x24d8 00002486 b014 cmp.b (a4),d0 00002488 674e beq.b 0x24d8 0000248a 4aab 0264 tst.l 0x264(a3) 0000248e 66ba bne.b 0x244a 00002490 603c bra.b 0x24ce 00002492 10da move.b (a2)+,(a0)+ 00002494 1028 ffff move.b -0x1(a0),d0 00002498 52a9 0020 addq.l #0x1,0x20(a1) 0000249c 53ab 0264 subq.l #0x1,0x264(a3) 000024a0 5385 subq.l #0x1,d5 000024a2 6734 beq.b 0x24d8 000024a4 49eb 045c lea 0x45c(a3),a4 000024a8 b01c cmp.b (a4)+,d0 000024aa 672c beq.b 0x24d8 000024ac b01c cmp.b (a4)+,d0 000024ae 6728 beq.b 0x24d8 000024b0 b01c cmp.b (a4)+,d0 000024b2 6724 beq.b 0x24d8 000024b4 b01c cmp.b (a4)+,d0 000024b6 6720 beq.b 0x24d8 000024b8 b01c cmp.b (a4)+,d0 000024ba 671c beq.b 0x24d8 000024bc b01c cmp.b (a4)+,d0 000024be 6718 beq.b 0x24d8 000024c0 b01c cmp.b (a4)+,d0 000024c2 6714 beq.b 0x24d8 000024c4 b014 cmp.b (a4),d0 000024c6 6710 beq.b 0x24d8 000024c8 4aab 0264 tst.l 0x264(a3) 000024cc 66c4 bne.b 0x2492 000024ce 274a 0258 move.l a2,0x258(a3) 000024d2 285f movea.l (sp)+,a4 000024d4 6000 00b4 bra.w 0x258a 000024d8 274a 0258 move.l a2,0x258(a3) 000024dc 285f movea.l (sp)+,a4 000024de 6000 00ba bra.w 0x259a 000024e2 246b 0258 movea.l 0x258(a3),a2 000024e6 0cab ffff ffff 0270 cmpi.l #-0x1,0x270(a3) 000024ee 6772 beq.b 0x2562 000024f0 202b 0264 move.l 0x264(a3),d0 000024f4 2a29 0024 move.l 0x24(a1),d5 000024f8 9aa9 0020 sub.l 0x20(a1),d5 000024fc b085 cmp.l d5,d0 000024fe 6f00 0026 ble.w 0x2526 00002502 202b 0258 move.l 0x258(a3),d0 00002506 d085 add.l d5,d0 00002508 b0ab 0250 cmp.l 0x250(a3),d0 0000250c 6302 bls.b 0x2510 0000250e 6016 bra.b 0x2526 00002510 0c85 0000 0200 cmpi.l #0x200,d5 00002516 632a bls.b 0x2542 00002518 6100 e5a2 bsr.w 0xabc 0000251c 2369 0024 0020 move.l 0x24(a1),0x20(a1) 00002522 6000 0076 bra.w 0x259a 00002526 b5eb 0250 cmpa.l 0x250(a3),a2 0000252a 6604 bne.b 0x2530 0000252c 246b 024c movea.l 0x24c(a3),a2 00002530 10da move.b (a2)+,(a0)+ 00002532 52a9 0020 addq.l #0x1,0x20(a1) 00002536 53ab 0264 subq.l #0x1,0x264(a3) 0000253a 6716 beq.b 0x2552 0000253c 5385 subq.l #0x1,d5 0000253e 66e6 bne.b 0x2526 00002540 6010 bra.b 0x2552 00002542 10da move.b (a2)+,(a0)+ 00002544 52a9 0020 addq.l #0x1,0x20(a1) 00002548 53ab 0264 subq.l #0x1,0x264(a3) 0000254c 6704 beq.b 0x2552 0000254e 5385 subq.l #0x1,d5 00002550 66f0 bne.b 0x2542 00002552 274a 0258 move.l a2,0x258(a3) 00002556 2a29 0024 move.l 0x24(a1),d5 0000255a baa9 0020 cmp.l 0x20(a1),d5 0000255e 662a bne.b 0x258a 00002560 6038 bra.b 0x259a 00002562 b5eb 0250 cmpa.l 0x250(a3),a2 00002566 6604 bne.b 0x256c 00002568 246b 024c movea.l 0x24c(a3),a2 0000256c 10da move.b (a2)+,(a0)+ 0000256e 52a9 0020 addq.l #0x1,0x20(a1) 00002572 53ab 0264 subq.l #0x1,0x264(a3) 00002576 6706 beq.b 0x257e 00002578 4a28 ffff tst.b -0x1(a0) 0000257c 66e4 bne.b 0x2562 0000257e 274a 0258 move.l a2,0x258(a3) 00002582 4a28 ffff tst.b -0x1(a0) 00002586 6602 bne.b 0x258a 00002588 6010 bra.b 0x259a 0000258a 4aab 026c tst.l 0x26c(a3) 0000258e 6700 fcc0 beq.w 0x2250 00002592 4a2b 013b tst.b 0x13b(a3) 00002596 6700 fcb8 beq.w 0x2250 0000259a 6100 0064 bsr.w 0x2600 0000259e 6000 fe56 bra.w 0x23f6 000025a2 082b 0002 0467 btst #0x2,0x467(a3) 000025a8 670e beq.b 0x25b8 000025aa 202b 0264 move.l 0x264(a3),d0 000025ae b0ab 025c cmp.l 0x25c(a3),d0 000025b2 6204 bhi.b 0x25b8 000025b4 6100 046a bsr.w 0x2a20 000025b8 4e75 rts 000025ba 7000 moveq #0,d0 000025bc 4aab 0274 tst.l 0x274(a3) 000025c0 663c bne.b 0x25fe 000025c2 4aab 02bc tst.l 0x2bc(a3) 000025c6 6736 beq.b 0x25fe 000025c8 082b 0001 013a btst #0x1,0x13a(a3) 000025ce 662e bne.b 0x25fe 000025d0 41eb 02c0 lea 0x2c0(a3),a0 000025d4 2250 movea.l (a0),a1 000025d6 2011 move.l (a1),d0 000025d8 6708 beq.b 0x25e2 000025da 2080 move.l d0,(a0) 000025dc c189 exg d0,a1 000025de 2348 0004 move.l a0,0x4(a1) 000025e2 53ab 02bc subq.l #0x1,0x2bc(a3) 000025e6 2240 movea.l d0,a1 000025e8 2749 026c move.l a1,0x26c(a3) 000025ec 2769 0024 0270 move.l 0x24(a1),0x270(a3) 000025f2 08e9 0004 001e bset #0x4,0x1e(a1) 000025f8 08a9 0006 001e bclr #0x6,0x1e(a1) 000025fe 4e75 rts 00002600 202b 0264 move.l 0x264(a3),d0 00002604 b0ab 025c cmp.l 0x25c(a3),d0 00002608 6204 bhi.b 0x260e 0000260a 6100 0414 bsr.w 0x2a20 0000260e 226b 026c movea.l 0x26c(a3),a1 00002612 08a9 0004 001e bclr #0x4,0x1e(a1) 00002618 0829 0000 001e btst #0,0x1e(a1) 0000261e 660c bne.b 0x262c 00002620 2f0e move.l a6,-(sp) 00002622 2c6d 0024 movea.l 0x24(a5),a6 00002626 4eae fe86 jsr -0x17a(a6) 0000262a 2c5f movea.l (sp)+,a6 0000262c 42ab 026c clr.l 0x26c(a3) 00002630 42ab 0270 clr.l 0x270(a3) 00002634 422b 013b clr.b 0x13b(a3) 00002638 4e75 rts 0000263a 0000 48e7 ori.b #-0x19,d0 0000263e 8008 or.b a0,d0 00002640 286b 0134 movea.l 0x134(a3),a4 00002644 286c 01a4 movea.l 0x1a4(a4),a4 00002648 1014 move.b (a4),d0 0000264a 0800 0004 btst #0x4,d0 0000264e 6702 beq.b 0x2652 00002650 4e71 nop 00002652 4cdf 1001 movem.l (sp)+,d0/a4 00002656 4e75 rts 00002658 4a2b 013c tst.b 0x13c(a3) 0000265c 6600 0294 bne.w 0x28f2 00002660 082b 0005 0138 btst #0x5,0x138(a3) 00002666 6704 beq.b 0x266c 00002668 4e75 rts 0000266a 0000 4aab ori.b #-0x55,d0 0000266e 03d0 bset d1,(a0) 00002670 6700 0194 beq.w 0x2806 00002674 226b 03d0 movea.l 0x3d0(a3),a1 00002678 246b 03d4 movea.l 0x3d4(a3),a2 0000267c 082b 0002 013a btst #0x2,0x13a(a3) 00002682 66e4 bne.b 0x2668 00002684 082b 0002 0467 btst #0x2,0x467(a3) 0000268a 6760 beq.b 0x26ec 0000268c 7000 moveq #0,d0 0000268e 286b 0134 movea.l 0x134(a3),a4 00002692 286c 01a8 movea.l 0x1a8(a4),a4 00002696 1014 move.b (a4),d0 00002698 0200 0030 andi.b #0x30,d0 0000269c 6600 0032 bne.w 0x26d0 000026a0 1014 move.b (a4),d0 000026a2 0800 0005 btst #0x5,d0 000026a6 660a bne.b 0x26b2 000026a8 137c 000d 001f move.b #0xd,0x1f(a1) 000026ae 6000 012e bra.w 0x27de 000026b2 53ab 0304 subq.l #0x1,0x304(a3) 000026b6 660a bne.b 0x26c2 000026b8 137c 000b 001f move.b #0xb,0x1f(a1) 000026be 6000 011e bra.w 0x27de 000026c2 203c 0000 1840 move.l #0x1840,d0 000026c8 61ff 0000 0266 bsr.l 0x2930 000026ce 4e75 rts 000026d0 277c 0000 05dc 0304 move.l #0x5dc,0x304(a3) 000026d8 286b 0134 movea.l 0x134(a3),a4 000026dc 286c 01a8 movea.l 0x1a8(a4),a4 000026e0 0814 0004 btst #0x4,(a4) 000026e4 6606 bne.b 0x26ec 000026e6 274a 03d4 move.l a2,0x3d4(a3) 000026ea 4e75 rts 000026ec 286b 0134 movea.l 0x134(a3),a4 000026f0 286c 01a4 movea.l 0x1a4(a4),a4 000026f4 0814 0005 btst #0x5,(a4) 000026f8 6606 bne.b 0x2700 000026fa 274a 03d4 move.l a2,0x3d4(a3) 000026fe 4e75 rts 00002700 7410 moveq #0x10,d2 00002702 0cab ffff ffff 03d8 cmpi.l #-0x1,0x3d8(a3) 0000270a 6700 0072 beq.w 0x277e 0000270e 082b 0002 0467 btst #0x2,0x467(a3) 00002714 6738 beq.b 0x274e 00002716 286b 0134 movea.l 0x134(a3),a4 0000271a 286c 01a8 movea.l 0x1a8(a4),a4 0000271e 0814 0004 btst #0x4,(a4) 00002722 6606 bne.b 0x272a 00002724 274a 03d4 move.l a2,0x3d4(a3) 00002728 4e75 rts 0000272a 101a move.b (a2)+,d0 0000272c 806b 0444 or.w 0x444(a3),d0 00002730 286b 0134 movea.l 0x134(a3),a4 00002734 286c 0190 movea.l 0x190(a4),a4 00002738 1880 move.b d0,(a4) 0000273a 52a9 0020 addq.l #0x1,0x20(a1) 0000273e 53ab 03d8 subq.l #0x1,0x3d8(a3) 00002742 672e beq.b 0x2772 00002744 5382 subq.l #0x1,d2 00002746 66ce bne.b 0x2716 00002748 274a 03d4 move.l a2,0x3d4(a3) 0000274c 4e75 rts 0000274e 101a move.b (a2)+,d0 00002750 806b 0444 or.w 0x444(a3),d0 00002754 286b 0134 movea.l 0x134(a3),a4 00002758 286c 0190 movea.l 0x190(a4),a4 0000275c 1880 move.b d0,(a4) 0000275e 52a9 0020 addq.l #0x1,0x20(a1) 00002762 53ab 03d8 subq.l #0x1,0x3d8(a3) 00002766 670a beq.b 0x2772 00002768 5382 subq.l #0x1,d2 0000276a 66e2 bne.b 0x274e 0000276c 274a 03d4 move.l a2,0x3d4(a3) 00002770 4e75 rts 00002772 274a 03d4 move.l a2,0x3d4(a3) 00002776 4229 001f clr.b 0x1f(a1) 0000277a 6000 0062 bra.w 0x27de 0000277e 082b 0002 0467 btst #0x2,0x467(a3) 00002784 6736 beq.b 0x27bc 00002786 286b 0134 movea.l 0x134(a3),a4 0000278a 286c 01a8 movea.l 0x1a8(a4),a4 0000278e 0814 0004 btst #0x4,(a4) 00002792 6606 bne.b 0x279a 00002794 274a 03d4 move.l a2,0x3d4(a3) 00002798 4e75 rts 0000279a 101a move.b (a2)+,d0 0000279c 67d4 beq.b 0x2772 0000279e 101a move.b (a2)+,d0 000027a0 806b 0444 or.w 0x444(a3),d0 000027a4 286b 0134 movea.l 0x134(a3),a4 000027a8 286c 0190 movea.l 0x190(a4),a4 000027ac 1880 move.b d0,(a4) 000027ae 52a9 0020 addq.l #0x1,0x20(a1) 000027b2 5382 subq.l #0x1,d2 000027b4 66d0 bne.b 0x2786 000027b6 274a 03d4 move.l a2,0x3d4(a3) 000027ba 4e75 rts 000027bc 101a move.b (a2)+,d0 000027be 67b2 beq.b 0x2772 000027c0 101a move.b (a2)+,d0 000027c2 806b 0444 or.w 0x444(a3),d0 000027c6 286b 0134 movea.l 0x134(a3),a4 000027ca 286c 0190 movea.l 0x190(a4),a4 000027ce 1880 move.b d0,(a4) 000027d0 52a9 0020 addq.l #0x1,0x20(a1) 000027d4 5382 subq.l #0x1,d2 000027d6 66e4 bne.b 0x27bc 000027d8 274a 03d4 move.l a2,0x3d4(a3) 000027dc 4e75 rts 000027de 226b 03d0 movea.l 0x3d0(a3),a1 000027e2 137c 0007 0008 move.b #0x7,0x8(a1) 000027e8 08a9 0004 001e bclr #0x4,0x1e(a1) 000027ee 2f0e move.l a6,-(sp) 000027f0 2c6d 0024 movea.l 0x24(a5),a6 000027f4 4eae fe86 jsr -0x17a(a6) 000027f8 2c5f movea.l (sp)+,a6 000027fa 42ab 03d0 clr.l 0x3d0(a3) 000027fe 42ab 03d8 clr.l 0x3d8(a3) 00002802 42ab 03d4 clr.l 0x3d4(a3) 00002806 4aab 0424 tst.l 0x424(a3) 0000280a 6700 0022 beq.w 0x282e 0000280e 4aab 03dc tst.l 0x3dc(a3) 00002812 6600 001a bne.w 0x282e 00002816 41eb 0428 lea 0x428(a3),a0 0000281a 2250 movea.l (a0),a1 0000281c 2011 move.l (a1),d0 0000281e 6708 beq.b 0x2828 00002820 2080 move.l d0,(a0) 00002822 c189 exg d0,a1 00002824 2348 0004 move.l a0,0x4(a1) 00002828 53ab 0424 subq.l #0x1,0x424(a3) 0000282c 6002 bra.b 0x2830 0000282e 4e75 rts 00002830 2240 movea.l d0,a1 00002832 2749 03d0 move.l a1,0x3d0(a3) 00002836 0829 0005 001e btst #0x5,0x1e(a1) 0000283c 66a0 bne.b 0x27de 0000283e 08e9 0004 001e bset #0x4,0x1e(a1) 00002844 08a9 0006 001e bclr #0x6,0x1e(a1) 0000284a 0c69 000a 001c cmpi.w #0xa,0x1c(a1) 00002850 6700 0026 beq.w 0x2878 00002854 0c69 0003 001c cmpi.w #0x3,0x1c(a1) 0000285a 6682 bne.b 0x27de 0000285c 2769 0028 03d4 move.l 0x28(a1),0x3d4(a3) 00002862 0829 0006 004f btst #0x6,0x4f(a1) 00002868 6704 beq.b 0x286e 0000286a 6100 003a bsr.w 0x28a6 0000286e 2769 0024 03d8 move.l 0x24(a1),0x3d8(a3) 00002874 6000 fdfe bra.w 0x2674 00002878 08eb 0005 0138 bset #0x5,0x138(a3) 0000287e 202b 0458 move.l 0x458(a3),d0 00002882 61ff 0000 00ac bsr.l 0x2930 00002888 2749 03d0 move.l a1,0x3d0(a3) 0000288c 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00002890 2c6b 0030 movea.l 0x30(a3),a6 00002894 7000 moveq #0,d0 00002896 7200 moveq #0,d1 00002898 08c0 0002 bset #0x2,d0 0000289c 4eae 002a jsr 0x2a(a6) 000028a0 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000028a4 4e75 rts 000028a6 48e7 f0e0 movem.l d0-d3/a0-a2,-(sp) 000028aa 2069 0028 movea.l 0x28(a1),a0 000028ae 2429 0024 move.l 0x24(a1),d2 000028b2 2629 0024 move.l 0x24(a1),d3 000028b6 7200 moveq #0,d1 000028b8 5281 addq.l #0x1,d1 000028ba 1018 move.b (a0)+,d0 000028bc b283 cmp.l d3,d1 000028be 6728 beq.b 0x28e8 000028c0 45eb 045c lea 0x45c(a3),a2 000028c4 b01a cmp.b (a2)+,d0 000028c6 6720 beq.b 0x28e8 000028c8 b01a cmp.b (a2)+,d0 000028ca 671c beq.b 0x28e8 000028cc b01a cmp.b (a2)+,d0 000028ce 6718 beq.b 0x28e8 000028d0 b01a cmp.b (a2)+,d0 000028d2 6714 beq.b 0x28e8 000028d4 b01a cmp.b (a2)+,d0 000028d6 6710 beq.b 0x28e8 000028d8 b01a cmp.b (a2)+,d0 000028da 670c beq.b 0x28e8 000028dc b01a cmp.b (a2)+,d0 000028de 6708 beq.b 0x28e8 000028e0 b012 cmp.b (a2),d0 000028e2 6704 beq.b 0x28e8 000028e4 5382 subq.l #0x1,d2 000028e6 66d0 bne.b 0x28b8 000028e8 2341 0024 move.l d1,0x24(a1) 000028ec 4cdf 070f movem.l (sp)+,d0-d3/a0-a2 000028f0 4e75 rts 000028f2 286b 0134 movea.l 0x134(a3),a4 000028f6 286c 01a4 movea.l 0x1a4(a4),a4 000028fa 0814 0005 btst #0x5,(a4) 000028fe 67f2 beq.b 0x28f2 00002900 4241 clr.w d1 00002902 122b 013c move.b 0x13c(a3),d1 00002906 826b 0444 or.w 0x444(a3),d1 0000290a 422b 013c clr.b 0x13c(a3) 0000290e 286b 0134 movea.l 0x134(a3),a4 00002912 286c 0190 movea.l 0x190(a4),a4 00002916 18ab 013c move.b 0x13c(a3),(a4) 0000291a 4aab 03d0 tst.l 0x3d0(a3) 0000291e 660e bne.b 0x292e 00002920 4aab 0424 tst.l 0x424(a3) 00002924 6608 bne.b 0x292e 00002926 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 0000292e 4e75 rts 00002930 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00002934 43eb 0308 lea 0x308(a3),a1 00002938 0c29 0005 0008 cmpi.b #0x5,0x8(a1) 0000293e 672c beq.b 0x296c 00002940 42a9 0020 clr.l 0x20(a1) 00002944 0c80 0000 0258 cmpi.l #0x258,d0 0000294a 6206 bhi.b 0x2952 0000294c 203c 0000 0258 move.l #0x258,d0 00002952 0000 00ff ori.b #-0x1,d0 00002956 2340 0024 move.l d0,0x24(a1) 0000295a 337c 0009 001c move.w #0x9,0x1c(a1) 00002960 4229 001e clr.b 0x1e(a1) 00002964 2c69 0014 movea.l 0x14(a1),a6 00002968 4eae ffe2 jsr -0x1e(a6) 0000296c 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00002970 4e75 rts 00002972 0000 48e7 ori.b #-0x19,d0 00002976 fffe linef 00002978 08eb 0006 0138 bset #0x6,0x138(a3) 0000297e 6630 bne.b 0x29b0 00002980 43eb 036c lea 0x36c(a3),a1 00002984 0c29 0005 0008 cmpi.b #0x5,0x8(a1) 0000298a 6724 beq.b 0x29b0 0000298c 42a9 0020 clr.l 0x20(a1) 00002990 202b 0458 move.l 0x458(a3),d0 00002994 e288 lsr.l #1,d0 00002996 6602 bne.b 0x299a 00002998 707f moveq #0x7f,d0 0000299a 2340 0024 move.l d0,0x24(a1) 0000299e 337c 0009 001c move.w #0x9,0x1c(a1) 000029a4 4229 001e clr.b 0x1e(a1) 000029a8 2c69 0014 movea.l 0x14(a1),a6 000029ac 4eae ffe2 jsr -0x1e(a6) 000029b0 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000029b4 4e75 rts 000029b6 0000 48e7 ori.b #-0x19,d0 000029ba fffe linef 000029bc 2649 movea.l a1,a3 000029be 2c6b 002c movea.l 0x2c(a3),a6 000029c2 2a4e movea.l a6,a5 000029c4 08ab 0006 0138 bclr #0x6,0x138(a3) 000029ca 6720 beq.b 0x29ec 000029cc 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000029d0 2a4e movea.l a6,a5 000029d2 2c6b 0030 movea.l 0x30(a3),a6 000029d6 4eae 0030 jsr 0x30(a6) 000029da 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000029de 0800 0002 btst #0x2,d0 000029e2 6700 0008 beq.w 0x29ec 000029e6 08eb 0002 0138 bset #0x2,0x138(a3) 000029ec 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000029f0 4e75 rts 000029f2 0000 48e7 ori.b #-0x19,d0 000029f6 fffe linef 000029f8 43eb 036c lea 0x36c(a3),a1 000029fc 2f29 0014 move.l 0x14(a1),-(sp) 00002a00 42a9 0014 clr.l 0x14(a1) 00002a04 2f0e move.l a6,-(sp) 00002a06 2c6d 0024 movea.l 0x24(a5),a6 00002a0a 4eae fe20 jsr -0x1e0(a6) 00002a0e 2c5f movea.l (sp)+,a6 00002a10 43eb 036c lea 0x36c(a3),a1 00002a14 235f 0014 move.l (sp)+,0x14(a1) 00002a18 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00002a1c 4e75 rts 00002a1e 0000 08ab ori.b #-0x55,d0 00002a22 0003 013a ori.b #0x3a,d3 00002a26 6738 beq.b 0x2a60 00002a28 082b 0002 0467 btst #0x2,0x467(a3) 00002a2e 671a beq.b 0x2a4a 00002a30 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00002a34 2c6b 0030 movea.l 0x30(a3),a6 00002a38 7000 moveq #0,d0 00002a3a 7200 moveq #0,d1 00002a3c 08c0 0001 bset #0x1,d0 00002a40 4eae 002a jsr 0x2a(a6) 00002a44 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00002a48 4e75 rts 00002a4a 082b 0007 0467 btst #0x7,0x467(a3) 00002a50 6606 bne.b 0x2a58 00002a52 176b 0448 013c move.b 0x448(a3),0x13c(a3) 00002a58 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00002a60 4e75 rts 00002a62 08eb 0003 013a bset #0x3,0x13a(a3) 00002a68 6638 bne.b 0x2aa2 00002a6a 082b 0002 0467 btst #0x2,0x467(a3) 00002a70 671a beq.b 0x2a8c 00002a72 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 00002a76 2c6b 0030 movea.l 0x30(a3),a6 00002a7a 7000 moveq #0,d0 00002a7c 7200 moveq #0,d1 00002a7e 08c1 0001 bset #0x1,d1 00002a82 4eae 002a jsr 0x2a(a6) 00002a86 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00002a8a 4e75 rts 00002a8c 082b 0007 0467 btst #0x7,0x467(a3) 00002a92 6606 bne.b 0x2a9a 00002a94 176b 0449 013c move.b 0x449(a3),0x13c(a3) 00002a9a 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00002aa2 4e75 rts 00002aa4 082b 0007 0467 btst #0x7,0x467(a3) 00002aaa 663a bne.b 0x2ae6 00002aac 1200 move.b d0,d1 00002aae 082b 0000 0467 btst #0,0x467(a3) 00002ab4 6706 beq.b 0x2abc 00002ab6 142b 0464 move.b 0x464(a3),d2 00002aba 0581 bclr d2,d1 00002abc b22b 0449 cmp.b 0x449(a3),d1 00002ac0 6608 bne.b 0x2aca 00002ac2 08eb 0002 013a bset #0x2,0x13a(a3) 00002ac8 601c bra.b 0x2ae6 00002aca b22b 0448 cmp.b 0x448(a3),d1 00002ace 6616 bne.b 0x2ae6 00002ad0 082b 0002 013a btst #0x2,0x13a(a3) 00002ad6 670e beq.b 0x2ae6 00002ad8 08ab 0002 013a bclr #0x2,0x13a(a3) 00002ade 33fc a000 00df f09c move.w #-0x6000,0xdff09c.l 00002ae6 4e75 rts 00002ae8 2f03 move.l d3,-(sp) 00002aea 4841 swap d1 00002aec 4a41 tst.w d1 00002aee 661e bne.b 0x2b0e 00002af0 4841 swap d1 00002af2 2601 move.l d1,d3 00002af4 4840 swap d0 00002af6 3600 move.w d0,d3 00002af8 6704 beq.b 0x2afe 00002afa 86c1 divu.w d1,d3 00002afc 3003 move.w d3,d0 00002afe 4840 swap d0 00002b00 3600 move.w d0,d3 00002b02 86c1 divu.w d1,d3 00002b04 3003 move.w d3,d0 00002b06 4843 swap d3 00002b08 3203 move.w d3,d1 00002b0a 261f move.l (sp)+,d3 00002b0c 4e75 rts 00002b0e 4841 swap d1 00002b10 3f02 move.w d2,-(sp) 00002b12 760f moveq #0xf,d3 00002b14 3403 move.w d3,d2 00002b16 2601 move.l d1,d3 00002b18 2200 move.l d0,d1 00002b1a 4241 clr.w d1 00002b1c 4841 swap d1 00002b1e 4840 swap d0 00002b20 4240 clr.w d0 00002b22 d080 add.l d0,d0 00002b24 d381 addx.l d1,d1 00002b26 b681 cmp.l d1,d3 00002b28 6204 bhi.b 0x2b2e 00002b2a 9283 sub.l d3,d1 00002b2c 5240 addq.w #0x1,d0 00002b2e 51ca fff2 dbf d2,0x2b22 00002b32 341f move.w (sp)+,d2 00002b34 261f move.l (sp)+,d3 00002b36 4e75 rts 00002b38 2f02 move.l d2,-(sp) 00002b3a 7400 moveq #0,d2 00002b3c 4a80 tst.l d0 00002b3e 6a04 bpl.b 0x2b44 00002b40 4480 neg.l d0 00002b42 5282 addq.l #0x1,d2 00002b44 4a81 tst.l d1 00002b46 6a04 bpl.b 0x2b4c 00002b48 4481 neg.l d1 00002b4a 5382 subq.l #0x1,d2 00002b4c 6112 bsr.b 0x2b60 00002b4e 4a82 tst.l d2 00002b50 670a beq.b 0x2b5c 00002b52 7400 moveq #0,d2 00002b54 4680 not.l d0 00002b56 4681 not.l d1 00002b58 5280 addq.l #0x1,d0 00002b5a d382 addx.l d2,d1 00002b5c 241f move.l (sp)+,d2 00002b5e 4e75 rts 00002b60 48e7 3800 movem.l d2-d4,-(sp) 00002b64 2601 move.l d1,d3 00002b66 c6c0 mulu.w d0,d3 00002b68 2401 move.l d1,d2 00002b6a 4842 swap d2 00002b6c 4840 swap d0 00002b6e c4c0 mulu.w d0,d2 00002b70 4843 swap d3 00002b72 2801 move.l d1,d4 00002b74 c8c0 mulu.w d0,d4 00002b76 d644 add.w d4,d3 00002b78 4244 clr.w d4 00002b7a 4844 swap d4 00002b7c d584 addx.l d4,d2 00002b7e 4840 swap d0 00002b80 4841 swap d1 00002b82 2801 move.l d1,d4 00002b84 c8c0 mulu.w d0,d4 00002b86 d644 add.w d4,d3 00002b88 4244 clr.w d4 00002b8a 4844 swap d4 00002b8c d584 addx.l d4,d2 00002b8e 4843 swap d3 00002b90 2002 move.l d2,d0 00002b92 2203 move.l d3,d1 00002b94 4cdf 001c movem.l (sp)+,d2-d4 00002b98 4e75 rts ; ----- detecte silver surfer ----- 00002b9c 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00002ba0 2f0e move.l a6,-(sp) 00002ba2 2c6e 003c movea.l 0x3c(a6),a6 ; a6 = ExecBase 00002ba6 43fa 0be8 lea 0x3790(pc),a1 ; a1 = "card.resource" 00002baa 4eae fe0e jsr -0x1f2(a6) ; OpenResource [resName,a1] 00002bae 2c5f movea.l (sp)+,a6 ; libaddr 00002bb0 4a80 tst.l d0 00002bb2 6648 bne.b 0x2bfc ; ok! -> look for 00002bb4 48e7 0022 movem.l a2/a6,-(sp) 00002bb8 2c78 0004 movea.l 0x4.w,a6 00002bbc 45fa 0018 lea 0x2bd6(pc),a2 00002bc0 201a move.l (a2)+,d0 00002bc2 672a beq.b 0x2bee 00002bc4 2240 movea.l d0,a1 ; a1 = from table below 00002bc6 4eae ffa0 jsr -0x60(a6) ; FindResident [name a1] 00002bca 4a80 tst.l d0 00002bcc 67f2 beq.b 0x2bc0 00002bce 4cdf 4400 movem.l (sp)+,a2/a6 00002bd2 6000 0214 bra.w 0x2de8 00002bd6 0000 37a0 ori.b #-0x60,d0 ; absreloc32: self: 000037a0 ; "draco.resource" 00002bda 0000 37bb ori.b #-0x45,d0 ; absreloc32: self: 000037bb ; "Á3000 Bonus" 00002bde 0000 37c7 ori.b #-0x39,d0 ; absreloc32: self: 000037c7 ; "A3000 bonus" 00002be2 0000 37d3 ori.b #-0x2d,d0 ; absreloc32: self: 000037d3 ; "A1000 Bonus" 00002be6 0000 37af ori.b #-0x51,d0 ; absreloc32: self: 000037af ; "A4000 bonus" 00002bea 0000 0000 ori.b #0,d0 00002bee 4cdf 4400 movem.l (sp)+,a2/a6 ; no resident found 00002bf2 6100 0536 bsr.w 0x312a 00002bf6 4a80 tst.l d0 00002bf8 6700 01ee beq.w 0x2de8 ; SCAN FOR SILVER SURFER ; -> try to detect silver surfer!!!! 00002bfc 287c 00d8 0021 movea.l #0xd80021,a4 ; clockport B (mirror ?) 00002c02 267c 00d8 0001 movea.l #0xd80001,a3 ; clockport A 00002c08 177c 0000 001c move.b #0,0x1c(a3) ; SS: ScratchPad Register 00002c0e 197c 0000 001c move.b #0,0x1c(a4) 00002c14 177c 0030 001c move.b #0x30,0x1c(a3) ; write test byte 0x30 00002c1a 177c 0000 0010 move.b #0,0x10(a3) ; SS: Modem Control Register 00002c20 102b 001c move.b 0x1c(a3),d0 ; check if scratch reads correctly 00002c24 0c00 0030 cmpi.b #0x30,d0 00002c28 6700 001e beq.w 0x2c48 ; ok ! -> clockport seems to be ok 00002c2c 197c 0030 001c move.b #0x30,0x1c(a4) ; try again with clockport B (mirror) 00002c32 197c 0000 0010 move.b #0,0x10(a4) 00002c38 102c 001c move.b 0x1c(a4),d0 00002c3c 0c00 0030 cmpi.b #0x30,d0 00002c40 6700 0006 beq.w 0x2c48 ; ok! -> found 00002c44 6000 005e bra.w 0x2ca4 ; not ok? -> try next 00002c48 177c 0031 001c move.b #0x31,0x1c(a3) ; try test byte 0x31 00002c4e 177c 0000 0010 move.b #0,0x10(a3) ; Modem Control 00002c54 102c 001c move.b 0x1c(a4),d0 ; 00002c58 0c00 0000 cmpi.b #0,d0 ; still zero? (should be 0x31) 00002c5c 6700 0046 beq.w 0x2ca4 ; not ok -> try next 00002c60 102b 001c move.b 0x1c(a3),d0 ; clockport A scratch 00002c64 122c 001c move.b 0x1c(a4),d1 ; clockport B scratch 00002c68 b200 cmp.b d0,d1 ; equal? 00002c6a 6730 beq.b 0x2c9c ; seems to be mirrored -> ok! 00002c6c 267c 00d8 0021 movea.l #0xd80021,a3 ; clockport B 00002c72 102b 001c move.b 0x1c(a3),d0 00002c76 0200 003f andi.b #0x3f,d0 00002c7a 0c00 0001 cmpi.b #0x1,d0 00002c7e 6716 beq.b 0x2c96 00002c80 0c00 0002 cmpi.b #0x2,d0 00002c84 6710 beq.b 0x2c96 00002c86 0c00 0003 cmpi.b #0x3,d0 00002c8a 670a beq.b 0x2c96 00002c8c 0c00 0004 cmpi.b #0x4,d0 00002c90 6704 beq.b 0x2c96 00002c92 6000 0010 bra.w 0x2ca4 00002c96 287c 00d8 0001 movea.l #0xd80001,a4 00002c9c 42ae 0060 clr.l 0x60(a6) ; found flag?! 00002ca0 6100 0846 bsr.w 0x34e8 ; SS Setup ; ----- try to detect @d84001 00002ca4 267c 00d8 0001 movea.l #0xd80001,a3 00002caa 287c 00d8 4021 movea.l #0xd84021,a4 ; mirror at d84021 00002cb0 177c 0000 001c move.b #0,0x1c(a3) 00002cb6 197c 0000 001c move.b #0,0x1c(a4) 00002cbc 177c 0030 001c move.b #0x30,0x1c(a3) 00002cc2 177c 0000 0010 move.b #0,0x10(a3) 00002cc8 102c 001c move.b 0x1c(a4),d0 00002ccc 0c00 0030 cmpi.b #0x30,d0 00002cd0 671e beq.b 0x2cf0 00002cd2 197c 0031 001c move.b #0x31,0x1c(a4) 00002cd8 197c 0000 0010 move.b #0,0x10(a4) 00002cde 102c 001c move.b 0x1c(a4),d0 00002ce2 0c00 0031 cmpi.b #0x31,d0 00002ce6 6608 bne.b 0x2cf0 00002ce8 42ae 0060 clr.l 0x60(a6) 00002cec 6100 07fa bsr.w 0x34e8 ; SS Setup ; ----- try to detect @d88021 00002cf0 267c 00d8 0001 movea.l #0xd80001,a3 00002cf6 287c 00d8 8021 movea.l #0xd88021,a4 00002cfc 177c 0000 001c move.b #0,0x1c(a3) 00002d02 197c 0000 001c move.b #0,0x1c(a4) 00002d08 177c 0030 001c move.b #0x30,0x1c(a3) 00002d0e 177c 0000 0010 move.b #0,0x10(a3) 00002d14 102c 001c move.b 0x1c(a4),d0 00002d18 0c00 0030 cmpi.b #0x30,d0 00002d1c 671e beq.b 0x2d3c 00002d1e 197c 0032 001c move.b #0x32,0x1c(a4) 00002d24 197c 0000 0010 move.b #0,0x10(a4) 00002d2a 102c 001c move.b 0x1c(a4),d0 00002d2e 0c00 0032 cmpi.b #0x32,d0 00002d32 6608 bne.b 0x2d3c 00002d34 42ae 0060 clr.l 0x60(a6) 00002d38 6100 07ae bsr.w 0x34e8 ; SS Setup ; ----- try to detect @d8c021 00002d3c 267c 00d8 0001 movea.l #0xd80001,a3 00002d42 287c 00d8 c021 movea.l #0xd8c021,a4 00002d48 177c 0000 001c move.b #0,0x1c(a3) 00002d4e 197c 0000 001c move.b #0,0x1c(a4) 00002d54 177c 0030 001c move.b #0x30,0x1c(a3) 00002d5a 177c 0000 0010 move.b #0,0x10(a3) 00002d60 102c 001c move.b 0x1c(a4),d0 00002d64 0c00 0030 cmpi.b #0x30,d0 00002d68 671e beq.b 0x2d88 00002d6a 197c 0033 001c move.b #0x33,0x1c(a4) 00002d70 197c 0000 0010 move.b #0,0x10(a4) 00002d76 102c 001c move.b 0x1c(a4),d0 00002d7a 0c00 0033 cmpi.b #0x33,d0 00002d7e 6608 bne.b 0x2d88 00002d80 42ae 0060 clr.l 0x60(a6) 00002d84 6100 0762 bsr.w 0x34e8 ; SS Setup ; 0xd87000 -> Zorro 4 Clockport ?? 00002d88 287c 00d8 0000 movea.l #0xd80000,a4 00002d8e 197c 0000 7000 move.b #0,0x7000(a4) 00002d94 197c 0030 7000 move.b #0x30,0x7000(a4) 00002d9a 197c 0000 4000 move.b #0,0x4000(a4) 00002da0 102c 7000 move.b 0x7000(a4),d0 00002da4 0c00 0030 cmpi.b #0x30,d0 00002da8 6608 bne.b 0x2db2 00002daa 42ae 0060 clr.l 0x60(a6) 00002dae 6100 0810 bsr.w 0x35c0 ; SS Setup (Z4) ; 0xd97000 -> Zorro 4 Clockport ?? 00002db2 287c 00d9 0000 movea.l #0xd90000,a4 00002db8 197c 0000 7000 move.b #0,0x7000(a4) 00002dbe 197c 0030 7000 move.b #0x30,0x7000(a4) 00002dc4 197c 0000 4000 move.b #0,0x4000(a4) 00002dca 102c 7000 move.b 0x7000(a4),d0 00002dce 0c00 0030 cmpi.b #0x30,d0 00002dd2 6608 bne.b 0x2ddc 00002dd4 42ae 0060 clr.l 0x60(a6) 00002dd8 6100 07e6 bsr.w 0x35c0 ; SS Setup (Z4) ; exit d0=1 00002ddc 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00002de0 7001 moveq #0x1,d0 00002de2 4e75 rts 00002de4 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 ; exit d0 00002de8 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00002dec 7000 moveq #0,d0 00002dee 4e75 rts ; ----- find via ConfigDev of expansion --------------------------------------- 00002df0 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00002df4 2f0e move.l a6,-(sp) 00002df6 203c 0000 1212 move.l #0x1212,d0 00002dfc 7200 moveq #0,d1 00002dfe 206e 0048 movea.l 0x48(a6),a0 00002e02 2c6e 0040 movea.l 0x40(a6),a6 00002e06 4eae ffb8 jsr -0x48(a6) ; expansion: AllocConfigDev 00002e0a 2c5f movea.l (sp)+,a6 00002e0c 4a80 tst.l d0 00002e0e 6604 bne.b 0x2e14 00002e10 6000 0056 bra.w 0x2e68 ; bail out! 00002e14 2d40 0048 move.l d0,0x48(a6) 00002e18 206e 0048 movea.l 0x48(a6),a0 00002e1c 43e8 0010 lea 0x10(a0),a1 00002e20 4aa9 0006 tst.l 0x6(a1) 00002e24 6700 004a beq.w 0x2e70 00002e28 2868 0020 movea.l 0x20(a0),a4 00002e2c d8fc 0e00 adda.w #0xe00,a4 00002e30 197c 0030 001c move.b #0x30,0x1c(a4) 00002e36 197c 0000 0010 move.b #0,0x10(a4) 00002e3c 102c 001c move.b 0x1c(a4),d0 00002e40 0c00 0030 cmpi.b #0x30,d0 00002e44 6600 002a bne.w 0x2e70 00002e48 d8fc 0020 adda.w #0x20,a4 00002e4c 102c 001c move.b 0x1c(a4),d0 00002e50 0c00 0030 cmpi.b #0x30,d0 00002e54 6600 0012 bne.w 0x2e68 00002e58 42ae 0060 clr.l 0x60(a6) 00002e5c 6100 068a bsr.w 0x34e8 ; SS Setup 00002e60 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00002e64 7001 moveq #0x1,d0 00002e66 4e75 rts 00002e68 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 ; fail 00002e6c 7000 moveq #0,d0 00002e6e 4e75 rts 00002e70 2868 0020 movea.l 0x20(a0),a4 00002e74 d8fc 0e00 adda.w #0xe00,a4 00002e78 197c 0030 003e move.b #0x30,0x3e(a4) 00002e7e 197c 0000 0038 move.b #0,0x38(a4) 00002e84 102c 003e move.b 0x3e(a4),d0 00002e88 0c00 0030 cmpi.b #0x30,d0 00002e8c 66d2 bne.b 0x2e60 00002e8e 102c 00be move.b 0xbe(a4),d0 00002e92 0c00 0030 cmpi.b #0x30,d0 00002e96 66c8 bne.b 0x2e60 00002e98 42ae 0060 clr.l 0x60(a6) 00002e9c 6100 0802 bsr.w 0x36a0 ; SS Setup (XX) 00002ea0 60be bra.b 0x2e60 ; ----- find via ConfigDev of expansion --------------------------------------- 00002ea4 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00002ea8 2f0e move.l a6,-(sp) 00002eaa 203c 0000 1212 move.l #0x1212,d0 00002eb0 7217 moveq #0x17,d1 00002eb2 206e 0044 movea.l 0x44(a6),a0 00002eb6 2c6e 0040 movea.l 0x40(a6),a6 00002eba 4eae ffb8 jsr -0x48(a6) ; expansion: AllocConfigDev -> d0 00002ebe 2c5f movea.l (sp)+,a6 00002ec0 4a80 tst.l d0 00002ec2 6604 bne.b 0x2ec8 00002ec4 6000 0088 bra.w 0x2f4e ; bail out 00002ec8 2d40 0044 move.l d0,0x44(a6) 00002ecc 206e 0044 movea.l 0x44(a6),a0 00002ed0 2868 0020 movea.l 0x20(a0),a4 00002ed4 d9fc 0000 c000 adda.l #0xc000,a4 00002eda 197c 0030 001c move.b #0x30,0x1c(a4) 00002ee0 197c 0000 0010 move.b #0,0x10(a4) 00002ee6 102c 001c move.b 0x1c(a4),d0 00002eea 0c00 0030 cmpi.b #0x30,d0 00002eee 6600 001a bne.w 0x2f0a 00002ef2 d8fc 0020 adda.w #0x20,a4 00002ef6 102c 001c move.b 0x1c(a4),d0 00002efa 0c00 0030 cmpi.b #0x30,d0 00002efe 6600 000a bne.w 0x2f0a 00002f02 42ae 0060 clr.l 0x60(a6) 00002f06 6100 05e0 bsr.w 0x34e8 ; SS Setup 00002f0a 2868 0020 movea.l 0x20(a0),a4 00002f0e d9fc 0000 a001 adda.l #0xa001,a4 00002f14 197c 0030 001c move.b #0x30,0x1c(a4) 00002f1a 197c 0000 0010 move.b #0,0x10(a4) 00002f20 102c 001c move.b 0x1c(a4),d0 00002f24 0c00 0030 cmpi.b #0x30,d0 00002f28 6600 001a bne.w 0x2f44 00002f2c d8fc 0020 adda.w #0x20,a4 00002f30 102c 001c move.b 0x1c(a4),d0 00002f34 0c00 0030 cmpi.b #0x30,d0 00002f38 6600 000a bne.w 0x2f44 00002f3c 42ae 0060 clr.l 0x60(a6) 00002f40 6100 05a6 bsr.w 0x34e8 : SS Setup 00002f44 6110 bsr.b 0x2f56 00002f46 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00002f4a 7001 moveq #0x1,d0 00002f4c 4e75 rts 00002f4e 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00002f52 7000 moveq #0,d0 00002f54 4e75 rts 00002f56 2868 0020 movea.l 0x20(a0),a4 00002f5a d9fc 0000 9000 adda.l #0x9000,a4 00002f60 197c 0030 003e move.b #0x30,0x3e(a4) 00002f66 197c 0000 0038 move.b #0,0x38(a4) 00002f6c 102c 003e move.b 0x3e(a4),d0 00002f70 0c00 0030 cmpi.b #0x30,d0 00002f74 6612 bne.b 0x2f88 00002f76 102c 00be move.b 0xbe(a4),d0 00002f7a 0c00 0030 cmpi.b #0x30,d0 00002f7e 6608 bne.b 0x2f88 00002f80 42ae 0060 clr.l 0x60(a6) 00002f84 6100 071a bsr.w 0x36a0 ; SS Setup (XX) 00002f88 4e75 rts ; ----- alloc via ConfigDev 00002f8c 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00002f90 45fa 002a lea 0x2fbc(pc),a2 00002f94 42a7 clr.l -(sp) 00002f96 201a move.l (a2)+,d0 00002f98 6700 00bc beq.w 0x3056 00002f9c 221a move.l (a2)+,d1 00002f9e 2057 movea.l (sp),a0 00002fa0 2f0e move.l a6,-(sp) 00002fa2 2c6e 0040 movea.l 0x40(a6),a6 00002fa6 4eae ffb8 jsr -0x48(a6) ; expansion AllocConfigDev 00002faa 2c5f movea.l (sp)+,a6 00002fac 2e80 move.l d0,(sp) 00002fae 67e6 beq.b 0x2f96 00002fb0 2040 movea.l d0,a0 00002fb2 2f0a move.l a2,-(sp) 00002fb4 6132 bsr.b 0x2fe8 00002fb6 245f movea.l (sp)+,a2 00002fb8 518a subq.l #0x8,a2 00002fba 60da bra.b 0x2f96 00002fbc 0000 1212 ori.b #0x12,d0 00002fc0 0000 0005 ori.b #0x5,d0 00002fc4 0000 088d ori.b #-0x73,d0 00002fc8 0000 0003 ori.b #0x3,d0 00002fcc 0000 1388 ori.b #-0x78,d0 00002fd0 0000 0001 ori.b #0x1,d0 00002fd4 0000 082c ori.b #0x2c,d0 00002fd8 0000 0040 ori.b #0x40,d0 00002fdc 0000 1389 ori.b #-0x77,d0 00002fe0 0000 0001 ori.b #0x1,d0 00002fe4 0000 0000 ori.b #0,d0 00002fe8 2868 0020 movea.l 0x20(a0),a4 00002fec d9fc 0000 8000 adda.l #0x8000,a4 00002ff2 197c 0055 001c move.b #0x55,0x1c(a4) 00002ff8 197c 0000 0010 move.b #0,0x10(a4) 00002ffe 102c 001c move.b 0x1c(a4),d0 00003002 0c00 0055 cmpi.b #0x55,d0 00003006 6600 001a bne.w 0x3022 0000300a d8fc 0020 adda.w #0x20,a4 0000300e 102c 001c move.b 0x1c(a4),d0 00003012 0c00 0055 cmpi.b #0x55,d0 00003016 6600 000a bne.w 0x3022 0000301a 42ae 0060 clr.l 0x60(a6) 0000301e 6100 04c8 bsr.w 0x34e8 ; SS Setup 00003022 2868 0020 movea.l 0x20(a0),a4 00003026 d9fc 0000 a000 adda.l #0xa000,a4 0000302c 197c 0055 003e move.b #0x55,0x3e(a4) 00003032 197c 0000 0038 move.b #0,0x38(a4) 00003038 102c 003e move.b 0x3e(a4),d0 0000303c 0c00 0055 cmpi.b #0x55,d0 00003040 6612 bne.b 0x3054 00003042 102c 00be move.b 0xbe(a4),d0 00003046 0c00 0055 cmpi.b #0x55,d0 0000304a 6608 bne.b 0x3054 0000304c 42ae 0060 clr.l 0x60(a6) 00003050 6100 064e bsr.w 0x36a0 ; SS Setup (XX) 00003054 4e75 rts 00003056 588f addq.l #0x4,sp 00003058 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 0000305c 4e75 rts ; ----- find via config 0000305e 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00003062 2f0e move.l a6,-(sp) 00003064 203c 0000 1212 move.l #0x1212,d0 0000306a 722a moveq #0x2a,d1 0000306c 206e 004c movea.l 0x4c(a6),a0 00003070 2c6e 0040 movea.l 0x40(a6),a6 00003074 4eae ffb8 jsr -0x48(a6) ; AllocConfigDev 00003078 2c5f movea.l (sp)+,a6 0000307a 4a80 tst.l d0 0000307c 6604 bne.b 0x3082 0000307e 6000 001a bra.w 0x309a 00003082 2d40 004c move.l d0,0x4c(a6) 00003086 206e 004c movea.l 0x4c(a6),a0 0000308a 43e8 0010 lea 0x10(a0),a1 0000308e 6000 0012 bra.w 0x30a2 00003092 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00003096 7001 moveq #0x1,d0 00003098 4e75 rts 0000309a 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 0000309e 7000 moveq #0,d0 000030a0 4e75 rts 000030a2 2868 0020 movea.l 0x20(a0),a4 000030a6 49ec 0e00 lea 0xe00(a4),a4 000030aa 197c 0030 003e move.b #0x30,0x3e(a4) 000030b0 197c 0000 0038 move.b #0,0x38(a4) 000030b6 102c 003e move.b 0x3e(a4),d0 000030ba 0c00 0030 cmpi.b #0x30,d0 000030be 66d2 bne.b 0x3092 000030c0 102c 00be move.b 0xbe(a4),d0 000030c4 0c00 0030 cmpi.b #0x30,d0 000030c8 66c8 bne.b 0x3092 000030ca 42ae 0060 clr.l 0x60(a6) 000030ce 6100 05d0 bsr.w 0x36a0 ; SS Setup (XX) 000030d2 60be bra.b 0x3092 ; ; ; ----- more init (end device init) ------------------------------------------- ; here the surfer is detected 000030d6 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000030da 2f0e move.l a6,-(sp) ; a6 = device base 000030dc 2c6e 003c movea.l 0x3c(a6),a6 ; a6 = ExecBase 000030e0 4eae ff88 jsr -0x78(a6) ; Disable() 000030e4 4eae ff7c jsr -0x84(a6) ; Forbid() 000030e8 2c5f movea.l (sp)+,a6 000030ea 6100 fab0 bsr.w 0x2b9c ; detect silver surfer 000030ee 6100 fd00 bsr.w 0x2df0 ; find via config dev 000030f2 4a80 tst.l d0 000030f4 66f8 bne.b 0x30ee 000030f6 6100 fdac bsr.w 0x2ea4 ; find via config dev 000030fa 4a80 tst.l d0 000030fc 66f8 bne.b 0x30f6 000030fe 6100 fe8c bsr.w 0x2f8c ; find via config dev 00003102 6100 ff5a bsr.w 0x305e ; find via config 00003106 4a80 tst.l d0 00003108 66f8 bne.b 0x3102 0000310a 2f0e move.l a6,-(sp) 0000310c 2c6e 003c movea.l 0x3c(a6),a6 00003110 4eae ff76 jsr -0x8a(a6) ; Permit 00003114 4eae ff82 jsr -0x7e(a6) ; Enable 00003118 2c5f movea.l (sp)+,a6 0000311a 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 0000311e 7000 moveq #0,d0 00003120 4e75 rts ; ----- xxx ----- 00003122 1011 move.b (a1),d0 00003124 e308 lsl.b #1,d0 00003126 e311 roxl.b #1,d1 00003128 4e75 rts ; ---- check ------------ 0000312a 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 0000312e 2c78 0004 movea.l 0x4.w,a6 00003132 2f0e move.l a6,-(sp) 00003134 41f9 00df f000 lea 0xdff000.l,a0 0000313a 43f9 00de 1000 lea 0xde1000.l,a1 00003140 2c78 0004 movea.l 0x4.w,a6 00003144 33fc 4000 00df f09a move.w #0x4000,0xdff09a.l 0000314c 522e 0126 addq.b #0x1,0x126(a6) 00003150 3f28 001c move.w 0x1c(a0),-(sp) 00003154 337c bfff 009a move.w #-0x4001,0x9a(a1) 0000315a 323c 3fff move.w #0x3fff,d1 0000315e b268 001c cmp.w 0x1c(a0),d1 00003162 660c bne.b 0x3170 00003164 3341 009a move.w d1,0x9a(a1) 00003168 4a68 001c tst.w 0x1c(a0) 0000316c 6602 bne.b 0x3170 0000316e 7200 moveq #0,d1 00003170 317c 3fff 009a move.w #0x3fff,0x9a(a0) 00003176 0057 8000 ori.w #-0x8000,(sp) 0000317a 315f 009a move.w (sp)+,0x9a(a0) 0000317e 532e 0126 subq.b #0x1,0x126(a6) 00003182 6c08 bge.b 0x318c 00003184 33fc c000 00df f09a move.w #-0x4000,0xdff09a.l 0000318c 2c5f movea.l (sp)+,a6 0000318e 4a41 tst.w d1 00003190 672c beq.b 0x31be 00003192 7200 moveq #0,d1 00003194 1281 move.b d1,(a1) 00003196 618a bsr.b 0x3122 00003198 6188 bsr.b 0x3122 0000319a 6186 bsr.b 0x3122 0000319c 6184 bsr.b 0x3122 0000319e 3401 move.w d1,d2 000031a0 6100 ff80 bsr.w 0x3122 000031a4 6100 ff7c bsr.w 0x3122 000031a8 6100 ff78 bsr.w 0x3122 000031ac 6100 ff74 bsr.w 0x3122 000031b0 0c02 000d cmpi.b #0xd,d2 000031b4 6608 bne.b 0x31be 000031b6 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000031ba 7001 moveq #0x1,d0 000031bc 4e75 rts 000031be 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000031c2 7000 moveq #0,d0 000031c4 4e75 rts ; ----- add to list ----------------------------------------------------------- ; d0 = ptr to add ; a0 = list 000031c8 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000031cc 2a40 movea.l d0,a5 ; a5 = node to add 000031ce 2448 movea.l a0,a2 ; a2 = list 000031d0 4a90 tst.l (a0) 000031d2 6608 bne.b 0x31dc ; already entries 000031d4 208d move.l a5,(a0) ; first entry: set 000031d6 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000031da 4e75 rts ; append to existing 000031dc 2452 movea.l (a2),a2 000031de 286a 0058 movea.l 0x58(a2),a4 000031e2 b9ed 0058 cmpa.l 0x58(a5),a4 000031e6 6214 bhi.b 0x31fc 000031e8 4a92 tst.l (a2) 000031ea 672c beq.b 0x3218 000031ec 60ee bra.b 0x31dc 000031ee 2a8a move.l a2,(a5) 000031f0 254d 0004 move.l a5,0x4(a2) 000031f4 208d move.l a5,(a0) 000031f6 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000031fa 4e75 rts 000031fc 4aaa 0004 tst.l 0x4(a2) 00003200 67ec beq.b 0x31ee 00003202 266a 0004 movea.l 0x4(a2),a3 00003206 268d move.l a5,(a3) 00003208 2a8a move.l a2,(a5) 0000320a 2b4b 0004 move.l a3,0x4(a5) 0000320e 254d 0004 move.l a5,0x4(a2) 00003212 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00003216 4e75 rts 00003218 248d move.l a5,(a2) 0000321a 2b4a 0004 move.l a2,0x4(a5) 0000321e 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 00003222 4e75 rts ; ----- alloc mem + semaphore for ss unit ------------------------------------- 00003224 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00003228 7000 moveq #0,d0 0000322a 203c 0000 01b8 move.l #0x1b8,d0 00003230 48e7 40c2 movem.l d1/a0-a1/a6,-(sp) 00003234 2c6e 003c movea.l 0x3c(a6),a6 00003238 223c 0001 0000 move.l #0x10000,d1 0000323e 4eae ff3a jsr -0xc6(a6) ; AllocMem [byteSize,d0][requirements,d1] 00003242 4cdf 4302 movem.l (sp)+,d1/a0-a1/a6 00003246 4a80 tst.l d0 00003248 6700 0016 beq.w 0x3260 ; bail out 0000324c 2440 movea.l d0,a2 0000324e 41ea 002a lea 0x2a(a2),a0 00003252 2f0e move.l a6,-(sp) 00003254 2c6e 003c movea.l 0x3c(a6),a6 00003258 4eae fdd2 jsr -0x22e(a6) ; InitSemaphore [sigSem,a0] 0000325c 2c5f movea.l (sp)+,a6 0000325e 200a move.l a2,d0 00003260 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00003264 4e75 rts ; return d0 = mem addr ; ------ 00003268 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 0000326c 2e00 move.l d0,d7 0000326e 7000 moveq #0,d0 00003270 41ee 0050 lea 0x50(a6),a0 00003274 4a90 tst.l (a0) 00003276 6730 beq.b 0x32a8 00003278 2450 movea.l (a0),a2 0000327a 6006 bra.b 0x3282 0000327c 4a92 tst.l (a2) 0000327e 6728 beq.b 0x32a8 00003280 2452 movea.l (a2),a2 00003282 beaa 000e cmp.l 0xe(a2),d7 00003286 66f4 bne.b 0x327c 00003288 b2aa 0012 cmp.l 0x12(a2),d1 0000328c 66ee bne.b 0x327c 0000328e b4aa 001a cmp.l 0x1a(a2),d2 00003292 66e8 bne.b 0x327c 00003294 262a 0026 move.l 0x26(a2),d3 00003298 0803 0000 btst #0,d3 0000329c 6610 bne.b 0x32ae 0000329e 08c3 0000 bset #0,d3 000032a2 2543 0026 move.l d3,0x26(a2) 000032a6 200a move.l a2,d0 000032a8 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000032ac 4e75 rts 000032ae 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000032b2 70ff moveq #-0x1,d0 000032b4 4e75 rts 000032b8 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000032bc 2628 0026 move.l 0x26(a0),d3 000032c0 0883 0000 bclr #0,d3 000032c4 2143 0026 move.l d3,0x26(a0) 000032c8 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000032cc 7000 moveq #0,d0 000032ce 4e75 rts ; ----- SS: Check -------------------------------------------------------------- ; ; a4 = SilverSurver Base 000032d0 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 000032d4 197c 001b 0010 move.b #0x1b,0x10(a4) ; Reg4: Modem Control: Bit 4 Enable Local Loop Back Mode 000032da 197c 0081 0008 move.b #0x81,0x8(a4) ; Reg2: Fifo Control 000032e0 4a39 00bf e001 tst.b 0xbfe001.l 000032e6 197c 0087 0008 move.b #0x87,0x8(a4) ; Reg2: Fifo Control: enable & clear FIFOs 000032ec 4a39 00bf e001 tst.b 0xbfe001.l 000032f2 7264 moveq #0x64,d1 000032f4 4a39 00bf e001 tst.b 0xbfe001.l ; delay 000032fa 51c9 fff8 dbf d1,0x32f4 000032fe 197c 0080 000c move.b #-0x80,0xc(a4) ; Reg3: DLAB=1 00003304 18bc 0001 move.b #0x1,(a4) ; Reg0: Divsor Latch Lo 00003308 197c 0000 0004 move.b #0,0x4(a4) ; Reg1: Divsor Latch Hi 0000330e 197c 0000 000c move.b #0,0xc(a4) ; Reg3: DLAB=0 00003314 7000 moveq #0,d0 ; send bytes 0x00, 0x01, 0x02 ... 0x1f via TX into FIFO 00003316 7220 moveq #0x20,d1 00003318 082c 0005 0014 btst #0x5,0x14(a4) ; Reg5: Line Status: Bit 5 Trans Holding Empty 0000331e 67f8 beq.b 0x3318 ; wait for Tx ready 00003320 4a39 00bf e001 tst.b 0xbfe001.l ; delay 00003326 1880 move.b d0,(a4) ; Reg0: Write byte to TX 00003328 5280 addq.l #0x1,d0 0000332a 5381 subq.l #0x1,d1 0000332c 66ea bne.b 0x3318 0000332e 7000 moveq #0,d0 ; now receive bytes from 00003330 223c 0000 0080 move.l #0x80,d1 00003336 082c 0000 0014 btst #0,0x14(a4) ; Reg5: Line Status: Bit 0 RX available 0000333c 6700 000c beq.w 0x334a ; end if nothing is available 00003340 1214 move.b (a4),d1 ; Reg0: RX via loop back 00003342 5280 addq.l #0x1,d0 ; count how many we got 00003344 5381 subq.l #0x1,d1 00003346 66ee bne.b 0x3336 00003348 602e bra.b 0x3378 0000334a 197c 0081 0008 move.b #0x81,0x8(a4) ; Reg2: Fifo Control 00003350 4a39 00bf e001 tst.b 0xbfe001.l ; delay 00003356 197c 0087 0008 move.b #0x87,0x8(a4) ; Reg2: Fifo Control: enable & clear FIFOs 0000335c 4a39 00bf e001 tst.b 0xbfe001.l ; delay 00003362 197c 0000 0010 move.b #0,0x10(a4) ; Reg4: Modem Control: Disable Local Loopback 00003368 0c80 0000 0014 cmpi.l #0x14,d0 ; test result 0000336e 6200 0008 bhi.w 0x3378 00003372 7001 moveq #0x1,d0 ; return d0=1 -> ok! 00003374 6000 0004 bra.w 0x337a 00003378 7000 moveq #0,d0 ; reutrn d0=0 -> fail! 0000337a 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 0000337e 4e75 rts ; ----- SS: (Z4) Check --------------------------------------------------------- 00003380 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 00003384 197c 001b 4000 move.b #0x1b,0x4000(a4) 0000338a 197c 0081 2000 move.b #-0x7f,0x2000(a4) 00003390 4a39 00bf e001 tst.b 0xbfe001.l 00003396 197c 0087 2000 move.b #-0x79,0x2000(a4) 0000339c 4a39 00bf e001 tst.b 0xbfe001.l 000033a2 197c 0080 3000 move.b #-0x80,0x3000(a4) 000033a8 18bc 0001 move.b #0x1,(a4) 000033ac 197c 0000 1000 move.b #0,0x1000(a4) 000033b2 197c 0000 3000 move.b #0,0x3000(a4) 000033b8 7000 moveq #0,d0 000033ba 082c 0005 5000 btst #0x5,0x5000(a4) 000033c0 67f8 beq.b 0x33ba 000033c2 4a39 00bf e001 tst.b 0xbfe001.l 000033c8 1880 move.b d0,(a4) 000033ca 5280 addq.l #0x1,d0 000033cc 0c80 0000 0020 cmpi.l #0x20,d0 000033d2 66e6 bne.b 0x33ba 000033d4 7000 moveq #0,d0 000033d6 223c 0000 0080 move.l #0x80,d1 000033dc 082c 0000 5000 btst #0,0x5000(a4) 000033e2 6700 000c beq.w 0x33f0 000033e6 1214 move.b (a4),d1 000033e8 5280 addq.l #0x1,d0 000033ea 5381 subq.l #0x1,d1 000033ec 6730 beq.b 0x341e 000033ee 60ec bra.b 0x33dc 000033f0 197c 0081 2000 move.b #-0x7f,0x2000(a4) 000033f6 4a39 00bf e001 tst.b 0xbfe001.l 000033fc 197c 0087 2000 move.b #-0x79,0x2000(a4) 00003402 4a39 00bf e001 tst.b 0xbfe001.l 00003408 197c 0000 4000 move.b #0,0x4000(a4) 0000340e 0c80 0000 0014 cmpi.l #0x14,d0 00003414 6200 0008 bhi.w 0x341e 00003418 7001 moveq #0x1,d0 0000341a 6000 0004 bra.w 0x3420 0000341e 7000 moveq #0,d0 00003420 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 00003424 4e75 rts ; ----- SS: (XX) Check --------------------------------------------------------- 00003428 48e7 7ffe movem.l d1-d7/a0-a6,-(sp) 0000342c 197c 001b 0038 move.b #0x1b,0x38(a4) 00003432 197c 0081 001c move.b #-0x7f,0x1c(a4) 00003438 4a39 00bf e001 tst.b 0xbfe001.l 0000343e 197c 0087 001c move.b #-0x79,0x1c(a4) 00003444 4a39 00bf e001 tst.b 0xbfe001.l 0000344a 197c 0080 001e move.b #-0x80,0x1e(a4) 00003450 197c 0001 0018 move.b #0x1,0x18(a4) 00003456 197c 0000 001a move.b #0,0x1a(a4) 0000345c 197c 0000 001e move.b #0,0x1e(a4) 00003462 7000 moveq #0,d0 00003464 4a39 00bf e001 tst.b 0xbfe001.l 0000346a 082c 0005 003a btst #0x5,0x3a(a4) 00003470 67f2 beq.b 0x3464 00003472 4a39 00bf e001 tst.b 0xbfe001.l 00003478 1940 0018 move.b d0,0x18(a4) 0000347c 5280 addq.l #0x1,d0 0000347e 0c80 0000 0020 cmpi.l #0x20,d0 00003484 66de bne.b 0x3464 00003486 7000 moveq #0,d0 00003488 223c 0000 0080 move.l #0x80,d1 0000348e 4a39 00bf e001 tst.b 0xbfe001.l 00003494 082c 0000 003a btst #0,0x3a(a4) 0000349a 6700 0014 beq.w 0x34b0 0000349e 4a39 00bf e001 tst.b 0xbfe001.l 000034a4 122c 0018 move.b 0x18(a4),d1 000034a8 5280 addq.l #0x1,d0 000034aa 5381 subq.l #0x1,d1 000034ac 66e0 bne.b 0x348e 000034ae 6030 bra.b 0x34e0 000034b0 197c 0081 001c move.b #-0x7f,0x1c(a4) 000034b6 4a39 00bf e001 tst.b 0xbfe001.l 000034bc 197c 0087 001c move.b #-0x79,0x1c(a4) 000034c2 4a39 00bf e001 tst.b 0xbfe001.l 000034c8 197c 0000 0038 move.b #0,0x38(a4) 000034ce 0c80 0000 0014 cmpi.l #0x14,d0 000034d4 6200 000a bhi.w 0x34e0 000034d8 7001 moveq #0x1,d0 000034da 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000034de 4e75 rts 000034e0 7000 moveq #0,d0 000034e2 4cdf 7ffe movem.l (sp)+,d1-d7/a0-a6 000034e6 4e75 rts ; ---- SS: Setup -------------------------------------------------------------- ; a6 = device node ; a4 = SS clockport base address 000034e8 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 000034ec 6100 fde2 bsr.w 0x32d0 ; check SS: do internal loop back test 000034f0 4a80 tst.l d0 000034f2 6700 00c6 beq.w 0x35ba ; d0=0 -> bail out 000034f6 6100 fd2c bsr.w 0x3224 ; alloc mem + init semaphore 000034fa 4a80 tst.l d0 ; d0 = allocated memory 000034fc 6700 00bc beq.w 0x35ba ; d0=0 -> bail out 00003500 2040 movea.l d0,a0 ; a0 = SS data struct 00003502 217c 0000 0000 000e move.l #0,0xe(a0) 0000350a 216e 0058 0012 move.l 0x58(a6),0x12(a0) ; number in hex 00003510 217c 0000 0000 0016 move.l #0,0x16(a0) 00003518 216e 0060 001a move.l 0x60(a6),0x1a(a0) ; number as ascii 0000351e 217c 0000 0014 0022 move.l #0x14,0x22(a0) 00003526 214c 0058 move.l a4,0x58(a0) ; 0x58 = SS Register 0 0000352a 317c 0000 0068 move.w #0,0x68(a0) 00003530 317c 000d 006a move.w #0xd,0x6a(a0) 00003536 217c 0007 0800 0184 move.l #0x70800,0x184(a0) 0000353e 214c 0190 move.l a4,0x190(a0) ; 0x190 = SS Register 0 00003542 06a8 0000 0000 0190 addi.l #0,0x190(a0) 0000354a 214c 0194 move.l a4,0x194(a0) ; 0x194 = SS Register 1 0000354e 58a8 0194 addq.l #0x4,0x194(a0) 00003552 214c 0198 move.l a4,0x198(a0) ; 0x198 = SS Register 2 00003556 50a8 0198 addq.l #0x8,0x198(a0) 0000355a 214c 019c move.l a4,0x19c(a0) ; 0x19c = SS Register 3 0000355e 06a8 0000 000c 019c addi.l #0xc,0x19c(a0) 00003566 214c 01a0 move.l a4,0x1a0(a0) ; 0x1a0 = SS Register 4 0000356a 06a8 0000 0010 01a0 addi.l #0x10,0x1a0(a0) 00003572 214c 01a4 move.l a4,0x1a4(a0) ; 0x1a4 = SS Register 5 00003576 06a8 0000 0014 01a4 addi.l #0x14,0x1a4(a0) 0000357e 214c 01a8 move.l a4,0x1a8(a0) ; 0x1a8 = SS Register 6 00003582 06a8 0000 0018 01a8 addi.l #0x18,0x1a8(a0) 0000358a 214c 01ac move.l a4,0x1ac(a0) ; 0x1ac = SS Register 7 0000358e 06a8 0000 001c 01ac addi.l #0x1c,0x1ac(a0) 00003596 214c 01b0 move.l a4,0x1b0(a0) ; 0x1b0 = SS Register 7 0000359a 06a8 0000 001c 01b0 addi.l #0x1c,0x1b0(a0) 000035a2 214c 01b4 move.l a4,0x1b4(a0) ; 0x1b4 = SS Register 7 000035a6 06a8 0000 001c 01b4 addi.l #0x1c,0x1b4(a0) 000035ae 41ee 0050 lea 0x50(a6),a0 ; link into list of device 000035b2 6100 fc14 bsr.w 0x31c8 ; d0= SS data struct, 0x50 000035b6 52ae 0058 addq.l #0x1,0x58(a6) ; count in device the number of silver surfer units 000035ba 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 000035be 4e75 rts ; ----- SS (Z4) Setup --------------------------------------------------------- 000035c0 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 000035c4 6100 fdba bsr.w 0x3380 000035c8 4a80 tst.l d0 000035ca 6700 00ce beq.w 0x369a 000035ce 6100 fc54 bsr.w 0x3224 000035d2 4a80 tst.l d0 000035d4 6700 00c4 beq.w 0x369a 000035d8 2040 movea.l d0,a0 000035da 217c 0000 0000 000e move.l #0,0xe(a0) 000035e2 216e 0058 0012 move.l 0x58(a6),0x12(a0) 000035e8 217c 0000 0000 0016 move.l #0,0x16(a0) 000035f0 216e 0060 001a move.l 0x60(a6),0x1a(a0) 000035f6 217c 0000 0014 0022 move.l #0x14,0x22(a0) 000035fe 214c 0058 move.l a4,0x58(a0) 00003602 317c 0000 0068 move.w #0,0x68(a0) 00003608 317c 000d 006a move.w #0xd,0x6a(a0) 0000360e 217c 0007 0800 0184 move.l #0x70800,0x184(a0) 00003616 214c 0190 move.l a4,0x190(a0) 0000361a 06a8 0000 0000 0190 addi.l #0,0x190(a0) 00003622 214c 0194 move.l a4,0x194(a0) 00003626 06a8 0000 1000 0194 addi.l #0x1000,0x194(a0) 0000362e 214c 0198 move.l a4,0x198(a0) 00003632 06a8 0000 2000 0198 addi.l #0x2000,0x198(a0) 0000363a 214c 019c move.l a4,0x19c(a0) 0000363e 06a8 0000 3000 019c addi.l #0x3000,0x19c(a0) 00003646 214c 01a0 move.l a4,0x1a0(a0) 0000364a 06a8 0000 4000 01a0 addi.l #0x4000,0x1a0(a0) 00003652 214c 01a4 move.l a4,0x1a4(a0) 00003656 06a8 0000 5000 01a4 addi.l #0x5000,0x1a4(a0) 0000365e 214c 01a8 move.l a4,0x1a8(a0) 00003662 06a8 0000 6000 01a8 addi.l #0x6000,0x1a8(a0) 0000366a 214c 01ac move.l a4,0x1ac(a0) 0000366e 06a8 0000 7000 01ac addi.l #0x7000,0x1ac(a0) 00003676 214c 01b0 move.l a4,0x1b0(a0) 0000367a 06a8 0000 7000 01b0 addi.l #0x7000,0x1b0(a0) 00003682 214c 01b4 move.l a4,0x1b4(a0) 00003686 06a8 0000 7000 01b4 addi.l #0x7000,0x1b4(a0) 0000368e 41ee 0050 lea 0x50(a6),a0 00003692 6100 fb34 bsr.w 0x31c8 00003696 52ae 0058 addq.l #0x1,0x58(a6) 0000369a 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000369e 4e75 rts ; ----- SS: Setup (XX) -------------------------------------------------------- 000036a0 48e7 fffe movem.l d0-d7/a0-a6,-(sp) 000036a4 6100 fd82 bsr.w 0x3428 000036a8 4a80 tst.l d0 000036aa 6700 00ce beq.w 0x377a 000036ae 6100 fb74 bsr.w 0x3224 000036b2 4a80 tst.l d0 000036b4 6700 00c4 beq.w 0x377a 000036b8 2040 movea.l d0,a0 000036ba 217c 0000 0000 000e move.l #0,0xe(a0) 000036c2 216e 0058 0012 move.l 0x58(a6),0x12(a0) 000036c8 217c 0000 0000 0016 move.l #0,0x16(a0) 000036d0 216e 0060 001a move.l 0x60(a6),0x1a(a0) 000036d6 217c 0000 001e 0022 move.l #0x1e,0x22(a0) 000036de 214c 0058 move.l a4,0x58(a0) 000036e2 317c 0000 0068 move.w #0,0x68(a0) 000036e8 317c 000d 006a move.w #0xd,0x6a(a0) 000036ee 217c 0007 0800 0184 move.l #0x70800,0x184(a0) 000036f6 214c 0190 move.l a4,0x190(a0) 000036fa 06a8 0000 0018 0190 addi.l #0x18,0x190(a0) 00003702 214c 0194 move.l a4,0x194(a0) 00003706 06a8 0000 001a 0194 addi.l #0x1a,0x194(a0) 0000370e 214c 0198 move.l a4,0x198(a0) 00003712 06a8 0000 001c 0198 addi.l #0x1c,0x198(a0) 0000371a 214c 019c move.l a4,0x19c(a0) 0000371e 06a8 0000 001e 019c addi.l #0x1e,0x19c(a0) 00003726 214c 01a0 move.l a4,0x1a0(a0) 0000372a 06a8 0000 0038 01a0 addi.l #0x38,0x1a0(a0) 00003732 214c 01a4 move.l a4,0x1a4(a0) 00003736 06a8 0000 003a 01a4 addi.l #0x3a,0x1a4(a0) 0000373e 214c 01a8 move.l a4,0x1a8(a0) 00003742 06a8 0000 003c 01a8 addi.l #0x3c,0x1a8(a0) 0000374a 214c 01ac move.l a4,0x1ac(a0) 0000374e 06a8 0000 003e 01ac addi.l #0x3e,0x1ac(a0) 00003756 214c 01b0 move.l a4,0x1b0(a0) 0000375a 06a8 0000 003e 01b0 addi.l #0x3e,0x1b0(a0) 00003762 214c 01b4 move.l a4,0x1b4(a0) 00003766 06a8 0000 003e 01b4 addi.l #0x3e,0x1b4(a0) 0000376e 41ee 0050 lea 0x50(a6),a0 00003772 6100 fa54 bsr.w 0x31c8 00003776 52ae 0058 addq.l #0x1,0x58(a6) 0000377a 4cdf 7fff movem.l (sp)+,d0-d7/a0-a6 0000377e 4e75 rts ----- Strings ----------------------------------------------------------------- 00003780: 74 69 6d 65 72 2e 64 65 76 69 63 65 00 00 00 00 timer.device.... 00003790: 63 61 72 64 2e 72 65 73 6f 75 72 63 65 00 00 00 card.resource... 000037a0: 64 72 61 63 6f 2e 72 65 73 6f 75 72 63 65 00 41 draco.resource.A 000037b0: 34 30 30 30 20 62 6f 6e 75 73 00 41 33 30 30 30 4000 bonus.A3000 000037c0: 20 42 6f 6e 75 73 00 41 33 30 30 30 20 62 6f 6e Bonus.A3000 bon 000037d0: 75 73 00 41 31 30 30 30 20 42 6f 6e 75 73 00 65 us.A1000 Bonus.e 000037e0: 78 70 61 6e 73 69 6f 6e 2e 6c 69 62 72 61 72 79 xpansion.library 000037f0: 00 00 00 00 .... EOF