; IRA V2.10 (04.12.23) (c)1993-1995 Tim Ruehsen ; (c)2009-2015 Frank Wille, (c)2014-2019 Nicolas Bastien ;------------------------------------------------------------------ ;All notes made by fuse@op.pl ;------------------------------------------------------------------ ;assemble with ASM-One and save as an object ;search this file for the word MOD to read my notes ;known issues (the problem exists in the original library and has not yet been fixed): ;The delay after writing to the EEPROM memory is too short, about 10 times. ;After the lack of an ACK signal, two more write attempts occur, but the waiting time before the next commands is even shorter. ;All currently tested modern EEPROM memories cannot cope with this problem, which causes problems in saving the states of games such as: Cannon Fodder, Subwar 2050. ;This problem can be bypassed by using FRAM instead of EEPROM. ;header (offset $0): ;$0056a900 ;language selection (offset $08): ;UNKNOWN 0 ;AMERICAN 1 ;ENGLISH 2 ;GERMAN 3 ;FRENCH 4 ;SPANISH 5 ;ITALIAN 6 ;PORTUGUESE 7 ;DANISH 8 ;DUTCH 9 ;NORWEGIAN 10 ;FINNISH 11 ;SWEDISH 12 ;JAPANESE 13 ;CHINESE 14 ;ARABIC 15 ;GREEK 16 ;HEBREW 17 ;KOREAN 18 ;Recordings starting address: $18 ;The size of the free space is calculated by subtracting the value of address counter $A0 from $3E7, and not from $3E8, because 1 byte is occupied by the end of records marker ;Meaning of bytes: ; $A0 end of recordings marker ; probably the entire memory is scanned and the address of the last read value A0 is checked ; $20 start marker of the APP name + APP name length e.g.: $26 = six-character name e.g.: SubWar, $23 = three-character name e.g.: UFO ; $40 start marker of the ITEM + ITEM name length ; $60 record length marker ; $60 followed by the next byte means the number of bytes occupied by a given record (in the case of writing to $FF) ; $61 followed by the next byte + $100 means the number of bytes occupied by a given record (in the case of a record longer than $FF) ; $62 followed by the next byte + $200 means the number of bytes occupied by a given record (in the case of a record longer than $1FF) ; $63 followed by the next byte + $300 means the number of bytes occupied by a given record (in the case of a record longer than $2FF) ;after the application name there is a control byte, ;the oldest bit is the lock bit: ;1XXX XXXX locked ;0XXX XXXX unlocked ; Akiko addresses used: ; 0xb80030: I2C I/O bit 7 = SCL, bit 6 = SDA ; 0xb80032: I2C direction bit 7 = SCL, bit 6 = SDA (0 = input, 1 = output) ;2kB (2024 bytes for recods = 202 recording units) MOD V1 by fuse@op.pl ;starting address of records: $18 (org) ;known issues: ;during memory initialization (new chip memory or corrupted header), only 1024 bytes are cleared, but this has no negative effects ;summary of modifications: ;MOVE.L #$000007e8,(A2) ;0acc: 24bc000003e8 ;ORG #$000003e8 ;MOVE.L #$000007e7,D0 ;0f34: 203c000003e7 ;ORG #$000003e7 ;MOVEQ #8,D0 ;0f56: 7004 ;ORG #4 ;MOVEQ #8,D0 ;0fce: 7004 ;ORG #4 ;MOVEQ #8,D0 ;1008: 7004 ;ORG #4 ;MOVEQ #8,D0 ;1058: 7004 ;ORG #4 ;MOVEQ #8,D0 ;1070: 7004 ;ORG #4 ;2kB (2038 bytes for recods = 203 recording units) MOD V2 by fuse@op.pl ;starting address of records: $0A ;the Cannon Fodder game does not use the nonvolatile library or uses it in a non-standard way and the game save always starts from the address $18. ;known issues: ;during memory initialization (new chip memory or corrupted header), only 1024 bytes are cleared, but this has no negative effects ;summary of modifications: ;MOVE.B #$a0,10(A1) ;0a9e: 137c00a00018 ;ORG ,24 ;MOVE.L #$000007f6,(A2) ;0acc: 24bc000003e8 ;ORG #$000003e8 ;MOVEQ #1,D6 ;0d46: 7c0f ;ORG #15 ;MOVEA.L #$0000000a,A0 ;0ec8: 207c00000018 ;ORG #$00000018 ;MOVE.L #$000007f5,D0 ;0f34: 203c000003e7 ;ORG #$000003e7 ;MOVEQ #8,D0 ;0f56: 7004 ;ORG #4 ;MOVEQ #8,D0 ;0fce: 7004 ;ORG #4 ;MOVEQ #8,D0 ;1008: 7004 ;ORG #4 ;MOVEQ #8,D0 ;1058: 7004 ;ORG #4 ;MOVEQ #8,D0 ;1070: 7004 ;ORG #4 ;MOVEA.L #$0000000a,A0 ;1092: 207c00000018 ;ORG #$00000018 ;MOVEA.L #$0000000a,A0 ;116c: 207c00000018 ;ORG #$00000018 ;MOVEA.L #$0000000a,A0 ;11f2: 207c00000018 ;ORG #$00000018 ;MOVEA.L #$0000000a,A0 ;129c: 207c00000018 ;ORG #$00000018 ;MOVEA.L #$0000000a,A0 ;12fe: 207c00000018 ;ORG #$00000018 ;MOVEA.L #$0000000a,A0 ;1314: 207c00000018 ;ORG #$00000018 ;The addresses between the header, the language and the start of the game area are not used. ;Theoretically, you can move the language storage address and obtain an additional storage unit for games, ;but you would also need to modify the lowlevel library, because it reads the saved language, ;and reading values from outside the language table leads to damage to the graphics displayed on the language selection screen for the console. EXT_0000 EQU $B80030 ; MOD address of Akiko register CIAA_PRA EQU $BFE001 ; MOD address of CIAA port A register SECTION S_0,CODE SECSTRT_0: MOVEQ #-1,D0 ;0000: 70ff RTS ;0002: 4e75 ROMTAG: DC.W $4afc ;0004 DC.L ROMTAG ;0006: 00000004 DC.L ENDSKIP ;000a: 00001a10 DC.L $81280900 ;000e DC.L NONVOLATILELIBNAME ;0012: 000001b7 DC.L IDSTRING ;0016: 00000199 DC.L INIT ;001a: 0000001e INIT: DC.L $0000009c ;001e DC.L FUNCTABLE ;0022: 0000002e DS.L 1 ;0026 DC.L INITFUNCTION ;002a: 00000048 FUNCTABLE: DC.L $ffff0046,$00c600f4,$016405ce,$063a04ba ;002e DC.L $065c01ca,$026e045a ;003e DC.W $ffff ;0046 INITFUNCTION: MOVE.L A5,-(A7) ;0048: 2f0d MOVEA.L D0,A5 ;004a: 2a40 MOVE.L A0,36(A5) ;004c: 2b480024 MOVE.L A6,40(A5) ;0050: 2b4e0028 MOVE.W #$001f,22(A5) ;0054: 3b7c001f0016 LEA 110(A5),A0 ;005a: 41ed006e JSR -558(A6) ;005e: 4eaefdd2 LEA 64(A5),A0 ;0062: 41ed0040 JSR -558(A6) ;0066: 4eaefdd2 BSR.W LAB_0068 ;006a: 610009fc MOVE.L A5,D0 ;006e: 200d MOVEA.L (A7)+,A5 ;0070: 2a5f RTS ;0072: 4e75 OPEN: MOVEM.L A5-A6,-(A7) ;0074: 48e70006 MOVEA.L A6,A5 ;0078: 2a4e MOVEA.L 40(A5),A6 ;007a: 2c6d0028 TST.W 32(A5) ;007e: 4a6d0020 BNE.S LAB_0005 ;0082: 6626 LEA LAB_0016(PC),A1 ;0084: 43fa0151 MOVEQ #37,D0 ;0088: 7025 JSR -552(A6) ;008a: 4eaefdd8 MOVE.L D0,48(A5) ;008e: 2b400030 BEQ.S LAB_0009 ;0092: 675a LEA LAB_0017(PC),A1 ;0094: 43fa0151 MOVEQ #0,D0 ;0098: 7000 JSR -552(A6) ;009a: 4eaefdd8 MOVE.L D0,52(A5) ;009e: 2b400034 BNE.S LAB_0005 ;00a2: 6606 BSR.W LAB_0010 ;00a4: 610000da BRA.S LAB_0006 ;00a8: 602a LAB_0005: MOVE.L 44(A5),D0 ;00aa: 202d002c BNE.S LAB_0007 ;00ae: 6628 LEA LAB_0015(PC),A1 ;00b0: 43fa0119 LEA 378(A6),A0 ;00b4: 41ee017a JSR -276(A6) ;00b8: 4eaefeec TST.L D0 ;00bc: 4a80 BEQ.S LAB_0008 ;00be: 6722 LEA LAB_0015(PC),A1 ;00c0: 43fa0109 MOVEQ #37,D0 ;00c4: 7025 JSR -552(A6) ;00c6: 4eaefdd8 MOVE.L D0,44(A5) ;00ca: 2b40002c BNE.S LAB_0007 ;00ce: 6608 BSR.W LAB_000F ;00d0: 6100009e LAB_0006: MOVEQ #0,D0 ;00d4: 7000 BRA.S LAB_0009 ;00d6: 6016 LAB_0007: TST.L 60(A5) ;00d8: 4aad003c BNE.S LAB_0008 ;00dc: 6604 BSR.W LAB_0113 ;00de: 61001364 LAB_0008: ADDQ.W #1,32(A5) ;00e2: 526d0020 BCLR #3,14(A5) ;00e6: 08ad0003000e MOVE.L A5,D0 ;00ec: 200d LAB_0009: MOVEM.L (A7)+,A5-A6 ;00ee: 4cdf6000 RTS ;00f2: 4e75 CLOSE: MOVEM.L A5-A6,-(A7) ;00f4: 48e70006 MOVEA.L A6,A5 ;00f8: 2a4e MOVEA.L 40(A5),A6 ;00fa: 2c6d0028 SUBQ.W #1,32(A5) ;00fe: 536d0020 BNE.S LAB_000B ;0102: 6616 BSR.W LAB_011E ;0104: 61001440 BSR.S LAB_000E ;0108: 6156 BCLR #3,14(A5) ;010a: 08ad0003000e BEQ.S LAB_000B ;0110: 6708 TST.W 32(A5) ;0112: 4a6d0020 BNE.S LAB_000B ;0116: 6602 BSR.S LAB_000D ;0118: 6118 LAB_000B: MOVEQ #0,D0 ;011a: 7000 MOVEM.L (A7)+,A5-A6 ;011c: 4cdf6000 RTS ;0120: 4e75 EXPUNGE: TST.W 32(A6) ;0122: 4a6e0020 BEQ.S LAB_000D ;0126: 670a BSET #3,14(A6) ;0128: 08ee0003000e MOVEQ #0,D0 ;012e: 7000 RTS ;0130: 4e75 LAB_000D: MOVEM.L D2/A5-A6,-(A7) ;0132: 48e72006 MOVEA.L A6,A5 ;0136: 2a4e MOVEA.L 40(A5),A6 ;0138: 2c6d0028 MOVE.L 36(A5),D2 ;013c: 242d0024 MOVEA.L A5,A1 ;0140: 224d JSR -252(A6) ;0142: 4eaeff04 MOVEA.L A5,A1 ;0146: 224d MOVEQ #0,D0 ;0148: 7000 MOVE.W 16(A5),D0 ;014a: 302d0010 SUBA.L D0,A1 ;014e: 93c0 ADD.W 18(A5),D0 ;0150: d06d0012 JSR -210(A6) ;0154: 4eaeff2e MOVE.L D2,D0 ;0158: 2002 MOVEM.L (A7)+,D2/A5-A6 ;015a: 4cdf6004 RTS ;015e: 4e75 LAB_000E: MOVEA.L 44(A5),A1 ;0160: 226d002c JSR -414(A6) ;0164: 4eaefe62 MOVE.L #$00000000,44(A5) ;0168: 2b7c00000000002c LAB_000F: MOVEA.L 52(A5),A1 ;0170: 226d0034 JSR -414(A6) ;0174: 4eaefe62 MOVE.L #$00000000,52(A5) ;0178: 2b7c000000000034 LAB_0010: MOVEA.L 48(A5),A1 ;0180: 226d0030 JSR -414(A6) ;0184: 4eaefe62 MOVE.L #$00000000,48(A5) ;0188: 2b7c000000000030 RTS ;0190: 4e75 LIBFUNC_0: MOVEQ #0,D0 ;0192: 7000 RTS ;0194: 4e75 ADNAME1: DC.W $6164 ;0196 DC.B $5f ;0198 IDSTRING: ;0199 ;DC.B $6e,$6f,$6e,$76,$6f,$6c,$61,$74,$69,$6c,$65,$20,$34,$30,$2e,$33 ;DC.B $31,$20,$28,$32,$31,$2e,$35,$2e,$39,$33,$29,$0d,$0a,$00 DC.B "nonvolatile 40.32 (29.6.24)",13,10,0 NONVOLATILELIBNAME: ;01b7 ;DC.B $6e,$6f,$6e,$76,$6f,$6c,$61,$74,$69,$6c,$65,$2e,$6c,$69,$62,$72 ;DC.B $61,$72,$79,$00 DC.B "nonvolatile.library",0 LAB_0015: ;01cb ;DC.B $64,$6f,$73,$2e,$6c,$69,$62,$72,$61,$72,$79,$00 DC.B "dos.library",0 LAB_0016: ;01d7 ;DC.B $75,$74,$69,$6c,$69,$74,$79,$2e,$6c,$69,$62,$72,$61,$72,$79,$00 DC.B "utility.library",0 LAB_0017: ;01e7 ;DC.B $6c,$6f,$77,$6c,$65,$76,$65,$6c,$2e,$6c,$69,$62,$72,$61,$72,$79 ;DC.B $00 DC.B "lowlevel.library",0 LIBFUNC_5: MOVEM.L A5-A6,-(A7) ;01f8: 48e70006 MOVEA.L A6,A5 ;01fc: 2a4e MOVEA.L 40(A5),A6 ;01fe: 2c6d0028 EXT.L D1 ;0202: 48c1 MOVE.L D1,-(A7) ;0204: 2f01 BEQ.S LAB_0019 ;0206: 6716 TST.L 52(A5) ;0208: 4aad0034 BEQ.S LAB_0019 ;020c: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;020e: 48e7c0c2 MOVEA.L 52(A5),A6 ;0212: 2c6d0034 JSR -120(A6) ;0216: 4eaeff88 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;021a: 4cdf4303 LAB_0019: MOVEQ #12,D0 ;021e: 700c MOVE.L #$00010001,D1 ;0220: 223c00010001 JSR -198(A6) ;0226: 4eaeff3a TST.L D0 ;022a: 4a80 BEQ.S LAB_001D ;022c: 674e MOVE.L A4,-(A7) ;022e: 2f0c MOVEA.L D0,A4 ;0230: 2840 MOVE.L #$0000000c,(A4)+ ;0232: 28fc0000000c ADDQ.L #4,D0 ;0238: 5880 MOVEA.L A5,A6 ;023a: 2c4d BSR.W LAB_010F ;023c: 61001196 SUBQ.L #8,A7 ;0240: 518f MOVE.L A7,D0 ;0242: 200f BSR.W LAB_006C ;0244: 6100086c MOVE.L (A7),D0 ;0248: 2017 DC.W $b094 ;024a BMI.S LAB_001B ;024c: 6b0e MOVEA.L A4,A6 ;024e: 2c4c MOVE.W #$0001,D0 ;0250: 303c0001 LAB_001A: MOVE.L (A7)+,(A6)+ ;0254: 2cdf DBF D0,LAB_001A ;0256: 51c8fffc BRA.S LAB_001C ;025a: 6002 LAB_001B: ADDQ.L #8,A7 ;025c: 508f LAB_001C: MOVE.L A4,-(A7) ;025e: 2f0c MOVEA.L 48(A5),A6 ;0260: 2c6d0030 MOVE.L (A4),D0 ;0264: 2014 MOVEQ #10,D1 ;0266: 720a JSR -156(A6) ;0268: 4eaeff64 MOVE.L D0,(A4)+ ;026c: 28c0 MOVE.L (A4),D0 ;026e: 2014 MOVEQ #10,D1 ;0270: 720a JSR -156(A6) ;0272: 4eaeff64 MOVE.L D0,(A4)+ ;0276: 28c0 MOVE.L (A7)+,D0 ;0278: 201f MOVEA.L (A7)+,A4 ;027a: 285f LAB_001D: MOVE.L (A7)+,D1 ;027c: 221f BEQ.S LAB_001E ;027e: 6716 TST.L 52(A5) ;0280: 4aad0034 BEQ.S LAB_001E ;0284: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;0286: 48e7c0c2 MOVEA.L 52(A5),A6 ;028a: 2c6d0034 JSR -126(A6) ;028e: 4eaeff82 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;0292: 4cdf4303 LAB_001E: MOVEM.L (A7)+,A5-A6 ;0296: 4cdf6000 RTS ;029a: 4e75 LIBFUNC_6: MOVEM.L D1-D7/A1-A6,-(A7) ;029c: 48e77f7e MOVEA.L A6,A5 ;02a0: 2a4e MOVEA.L A0,A4 ;02a2: 2848 MOVE.L A0,D6 ;02a4: 2c08 MOVEA.L 40(A5),A6 ;02a6: 2c6d0028 EXT.L D1 ;02aa: 48c1 MOVE.L D1,-(A7) ;02ac: 2f01 BEQ.S LAB_0020 ;02ae: 6716 TST.L 52(A5) ;02b0: 4aad0034 BEQ.S LAB_0020 ;02b4: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;02b6: 48e7c0c2 MOVEA.L 52(A5),A6 ;02ba: 2c6d0034 JSR -120(A6) ;02be: 4eaeff88 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;02c2: 4cdf4303 LAB_0020: BSR.W LAB_0070 ;02c6: 61000820 BSR.W LAB_0073 ;02ca: 6100083c MOVE.L D0,-(A7) ;02ce: 2f00 BSR.W LAB_0123 ;02d0: 610012ca ADD.L (A7)+,D0 ;02d4: d09f ADDQ.L #8,D0 ;02d6: 5080 ADDQ.L #8,D0 ;02d8: 5080 MOVE.L D0,-(A7) ;02da: 2f00 MOVE.L #$00010001,D1 ;02dc: 223c00010001 JSR -198(A6) ;02e2: 4eaeff3a MOVE.L (A7)+,D1 ;02e6: 221f MOVE.L D0,-(A7) ;02e8: 2f00 BEQ.W LAB_002A ;02ea: 6700012a MOVEM.L D2-D4/A2-A3,-(A7) ;02ee: 48e73830 MOVEA.L D0,A3 ;02f2: 2640 MOVE.L D1,(A3)+ ;02f4: 26c1 MOVE.L A3,20(A7) ;02f6: 2f4b0014 MOVE.L A3,8(A3) ;02fa: 274b0008 ADDQ.L #4,A3 ;02fe: 588b CLR.L (A3) ;0300: 4293 MOVE.L A3,-(A3) ;0302: 270b LEA 12(A3),A3 ;0304: 47eb000c MOVEA.L A3,A2 ;0308: 244b ADDA.L -16(A3),A3 ;030a: d7ebfff0 SUBA.L #$00000011,A3 ;030e: 97fc00000011 MOVE.L A3,D3 ;0314: 260b DC.W $b7ca ;0316 BLT.W LAB_0029 ;0318: 6d0000f8 DC.W $b9fc ;031c ORI.B #$00,D0 ;031e: 00000000 BNE.S LAB_0022 ;0322: 6648 MOVE.L A2,D2 ;0324: 240a MOVE.L A3,D3 ;0326: 260b ADDQ.L #1,A2 ;0328: 528a BSR.W LAB_012F ;032a: 6100133c BSR.W LAB_007C ;032e: 61000842 BSR.W LAB_002C ;0332: 61000108 MOVEA.L A3,A4 ;0336: 284b MOVEA.L D2,A2 ;0338: 2442 LAB_0021: MOVE.L A4,8(A2) ;033a: 254c0008 MOVE.L #$00000000,12(A2) ;033e: 257c00000000000c MOVE.L #$80000000,16(A2) ;0346: 257c800000000010 MOVEA.L A2,A1 ;034e: 224a LEA 20(A2),A2 ;0350: 45ea0014 MOVEA.L 20(A7),A0 ;0354: 206f0014 ADDQ.L #4,A0 ;0358: 5888 MOVE.L 4(A0),D0 ;035a: 20280004 MOVE.L A1,4(A0) ;035e: 21490004 DC.W $c188 ;0362 MOVEM.L D0/A0,(A1) ;0364: 48d10101 MOVE.L A1,(A0) ;0368: 2089 SUBQ.L #1,A3 ;036a: 538b LAB_0022: MOVE.L A2,D2 ;036c: 240a MOVE.B #$00,(A2)+ ;036e: 14fc0000 BSR.W LAB_012F ;0372: 610012f4 BSR.W LAB_007C ;0376: 610007fa LEA -1(A2),A0 ;037a: 41eaffff DC.W $b488 ;037e BNE.S LAB_0024 ;0380: 6622 SUBA.L #$00000015,A2 ;0382: 95fc00000015 MOVEA.L A2,A1 ;0388: 224a MOVEA.L 20(A7),A0 ;038a: 206f0014 MOVEA.L 8(A0),A1 ;038e: 22680008 MOVE.L 4(A1),D0 ;0392: 20290004 BEQ.S LAB_0023 ;0396: 670a MOVE.L D0,8(A0) ;0398: 21400008 DC.W $c189 ;039c MOVE.L A0,(A1) ;039e: 2288 ADDQ.L #4,(A1) ;03a0: 5891 LAB_0023: BRA.S LAB_0028 ;03a2: 6060 LAB_0024: MOVE.L A3,D4 ;03a4: 280b BSR.W LAB_002C ;03a6: 61000094 MOVE.L A3,-(A7) ;03aa: 2f0b LAB_0025: DC.W $b7c4 ;03ac BGE.S LAB_0027 ;03ae: 6c52 MOVEA.L A2,A1 ;03b0: 224a MOVEA.L 24(A7),A0 ;03b2: 206f0018 ADDQ.L #4,A0 ;03b6: 5888 MOVE.L 4(A0),D0 ;03b8: 20280004 MOVE.L A1,4(A0) ;03bc: 21490004 DC.W $c188 ;03c0 MOVEM.L D0/A0,(A1) ;03c2: 48d10101 MOVE.L A1,(A0) ;03c6: 2089 MOVE.L A3,8(A2) ;03c8: 254b0008 MOVE.L #$00000000,12(A2) ;03cc: 257c00000000000c MOVE.L #$00000000,16(A2) ;03d4: 257c000000000010 LEA 12(A2),A2 ;03dc: 45ea000c BSR.W LAB_0135 ;03e0: 61001300 BSR.W LAB_0087 ;03e4: 61000816 MOVE.L (A2),D1 ;03e8: 2212 ADDQ.L #8,D1 ;03ea: 5081 ADDQ.L #1,D1 ;03ec: 5281 DIVU #$000a,D1 ;03ee: 82fc000a MOD divided by 10, one record = 10 Bytes ANDI.L #$0000ffff,D1 ;03f2: 02810000ffff MOVE.L D1,(A2) ;03f8: 2481 ADDQ.L #8,A2 ;03fa: 508a LAB_0026: TST.B (A3)+ ;03fc: 4a1b BNE.S LAB_0026 ;03fe: 66fc BRA.S LAB_0025 ;0400: 60aa LAB_0027: MOVEA.L (A7)+,A3 ;0402: 265f LAB_0028: TST.L D6 ;0404: 4a86 BNE.S LAB_0029 ;0406: 660a TST.B (A4)+ ;0408: 4a1c BNE.S LAB_0028 ;040a: 66f8 DC.W $b68c ;040c BGT.W LAB_0021 ;040e: 6e00ff2a LAB_0029: MOVEM.L (A7)+,D2-D4/A2-A3 ;0412: 4cdf0c1c LAB_002A: MOVE.L (A7)+,D0 ;0416: 201f BSR.W LAB_0072 ;0418: 610006e2 MOVE.L (A7)+,D1 ;041c: 221f BEQ.S LAB_002B ;041e: 6716 TST.L 52(A5) ;0420: 4aad0034 BEQ.S LAB_002B ;0424: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;0426: 48e7c0c2 MOVEA.L 52(A5),A6 ;042a: 2c6d0034 JSR -126(A6) ;042e: 4eaeff82 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;0432: 4cdf4303 LAB_002B: MOVEM.L (A7)+,D1-D7/A1-A6 ;0436: 4cdf7efe RTS ;043a: 4e75 LAB_002C: MOVEM.L D2-D3/A4/A6,-(A7) ;043c: 48e7300a MOVEA.L 48(A5),A6 ;0440: 2c6d0030 MOVE.B #$00,D3 ;0444: 163c0000 MOVE.B D3,(A3) ;0448: 1683 LAB_002D: DC.W $b5c2 ;044a BEQ.S LAB_0032 ;044c: 6732 TST.B -(A2) ;044e: 4a22 BEQ.S LAB_002D ;0450: 67f8 MOVE.B (A2),-(A3) ;0452: 1712 LAB_002E: MOVE.B -(A2),-(A3) ;0454: 1722 BNE.S LAB_002E ;0456: 66fc MOVEA.L D2,A4 ;0458: 2842 LAB_002F: DC.W $b9ca ;045a BEQ.S LAB_002D ;045c: 67ec TST.B (A4)+ ;045e: 4a1c BEQ.S LAB_002F ;0460: 67f8 SUBQ.W #1,A4 ;0462: 534c MOVEA.L A4,A0 ;0464: 204c LEA 1(A3),A1 ;0466: 43eb0001 JSR -162(A6) ;046a: 4eaeff5e BEQ.S LAB_0031 ;046e: 6708 LAB_0030: TST.B (A4)+ ;0470: 4a1c BNE.S LAB_0030 ;0472: 66fc SUBQ.L #1,A4 ;0474: 538c BRA.S LAB_002F ;0476: 60e2 LAB_0031: MOVE.B D3,(A4)+ ;0478: 18c3 TST.B (A4) ;047a: 4a14 BNE.S LAB_0031 ;047c: 66fa BRA.S LAB_002F ;047e: 60da LAB_0032: ADDQ.L #1,A3 ;0480: 528b MOVEM.L (A7)+,D2-D3/A4/A6 ;0482: 4cdf500c RTS ;0486: 4e75 LIBFUNC_7: MOVE.L D2,D0 ;0488: 2002 DC.W $c0bc ;048a DC.W $ffff ;048c DC.W $fffe ;048e BEQ.S LAB_0034 ;0490: 6704 MOVEQ #0,D0 ;0492: 7000 RTS ;0494: 4e75 LAB_0034: MOVEM.L D3/A3-A6,-(A7) ;0496: 48e7101e MOVEA.L A6,A5 ;049a: 2a4e MOVEA.L A0,A3 ;049c: 2648 MOVEA.L A1,A4 ;049e: 2849 EXT.L D1 ;04a0: 48c1 MOVE.L D1,-(A7) ;04a2: 2f01 BEQ.S LAB_0035 ;04a4: 6716 TST.L 52(A5) ;04a6: 4aad0034 BEQ.S LAB_0035 ;04aa: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;04ac: 48e7c0c2 MOVEA.L 52(A5),A6 ;04b0: 2c6d0034 JSR -120(A6) ;04b4: 4eaeff88 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;04b8: 4cdf4303 LAB_0035: MOVEQ #0,D3 ;04bc: 7600 BSR.W LAB_0151 ;04be: 610014d4 BSR.W LAB_008B ;04c2: 61000788 MOVE.L D3,D0 ;04c6: 2003 MOVE.L (A7)+,D1 ;04c8: 221f BEQ.S LAB_0036 ;04ca: 6716 TST.L 52(A5) ;04cc: 4aad0034 BEQ.S LAB_0036 ;04d0: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;04d2: 48e7c0c2 MOVEA.L 52(A5),A6 ;04d6: 2c6d0034 JSR -126(A6) ;04da: 4eaeff82 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;04de: 4cdf4303 LAB_0036: MOVEM.L (A7)+,D3/A3-A6 ;04e2: 4cdf7808 RTS ;04e6: 4e75 LIBFUNC_3: MOVEM.L D2/A3-A6,-(A7) ;04e8: 48e7201e MOVEA.L A6,A5 ;04ec: 2a4e MOVEA.L A0,A3 ;04ee: 2648 MOVEA.L A1,A4 ;04f0: 2849 ANDI.L #$0000ffff,D0 ;04f2: 02800000ffff MOVE.L D0,D2 ;04f8: 2400 DC.W $c4fc ;04fa DC.W $000a ;04fc EXT.L D1 ;04fe: 48c1 MOVE.L D1,-(A7) ;0500: 2f01 BEQ.S LAB_0038 ;0502: 6716 TST.L 52(A5) ;0504: 4aad0034 BEQ.S LAB_0038 ;0508: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;050a: 48e7c0c2 MOVEA.L 52(A5),A6 ;050e: 2c6d0034 JSR -120(A6) ;0512: 4eaeff88 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;0516: 4cdf4303 LAB_0038: MOVEQ #1,D0 ;051a: 7001 MOVE.L A3,D1 ;051c: 220b BEQ.W LAB_003D ;051e: 670000b6 MOVE.L A4,D1 ;0522: 220c BEQ.W LAB_003D ;0524: 670000b0 TST.B (A3) ;0528: 4a13 BNE.S LAB_0039 ;052a: 6608 TST.B (A4) ;052c: 4a14 BEQ.S LAB_003C ;052e: 674a BRA.W LAB_003D ;0530: 600000a4 LAB_0039: TST.B (A4) ;0534: 4a14 BEQ.W LAB_003D ;0536: 6700009e MOVEA.L A3,A0 ;053a: 204b MOVEQ #0,D1 ;053c: 7200 LAB_003A: CMPI.B #$2f,(A0) ;053e: 0c10002f BEQ.W LAB_003D ;0542: 67000092 CMPI.B #$3a,(A0)+ ;0546: 0c18003a BEQ.W LAB_003D ;054a: 6700008a ADDQ.L #1,D1 ;054e: 5281 TST.B (A0) ;0550: 4a10 BNE.S LAB_003A ;0552: 66ea DC.W $b2bc ;0554 ORI.B #$1f,D0 ;0556: 0000001f BGT.S LAB_003D ;055a: 6e7a MOVEA.L A4,A0 ;055c: 204c MOVEQ #0,D1 ;055e: 7200 LAB_003B: CMPI.B #$2f,(A0) ;0560: 0c10002f BEQ.S LAB_003D ;0564: 6770 CMPI.B #$3a,(A0)+ ;0566: 0c18003a BEQ.S LAB_003D ;056a: 676a ADDQ.L #1,D1 ;056c: 5281 TST.B (A0) ;056e: 4a10 BNE.S LAB_003B ;0570: 66ee DC.W $b2bc ;0572 ORI.B #$1f,D0 ;0574: 0000001f BGT.S LAB_003D ;0578: 6e5c LAB_003C: MOVEA.L A5,A6 ;057a: 2c4d MOVEA.L A4,A1 ;057c: 224c MOVEA.L A3,A0 ;057e: 204b MOVE.L #$000003ed,D1 ;0580: 223c000003ed MOVE.L D2,D0 ;0586: 2002 BSR.W LAB_0140 ;0588: 610012b4 TST.L D0 ;058c: 4a80 BLE.S LAB_003D ;058e: 6f46 DC.W $b0bc ;0590 ORI.B #$01,D0 ;0592: 00000001 BEQ.S LAB_003D ;0596: 673e MOVEA.L A4,A1 ;0598: 224c MOVEA.L A3,A0 ;059a: 204b MOVE.L #$000003ed,D1 ;059c: 223c000003ed MOVE.L D2,D0 ;05a2: 2002 BSR.W LAB_0094 ;05a4: 61000776 TST.L D0 ;05a8: 4a80 BEQ.S LAB_003D ;05aa: 672a MOVEA.L A4,A1 ;05ac: 224c MOVEA.L A3,A0 ;05ae: 204b MOVE.L #$000003ee,D1 ;05b0: 223c000003ee MOVE.L D2,D0 ;05b6: 2002 BSR.W LAB_0140 ;05b8: 61001284 TST.L D0 ;05bc: 4a80 BLE.S LAB_003D ;05be: 6f16 MOVEA.L A4,A1 ;05c0: 224c MOVEA.L A3,A0 ;05c2: 204b MOVE.L #$000003ee,D1 ;05c4: 223c000003ee EXG D2,D0 ;05ca: c540 BSR.W LAB_0094 ;05cc: 6100074e TST.L D0 ;05d0: 4a80 BEQ.S LAB_003D ;05d2: 6702 EXG D2,D0 ;05d4: c540 LAB_003D: BCLR #31,D0 ;05d6: 0880001f MOVE.L (A7)+,D1 ;05da: 221f BEQ.S LAB_003E ;05dc: 6716 TST.L 52(A5) ;05de: 4aad0034 BEQ.S LAB_003E ;05e2: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;05e4: 48e7c0c2 MOVEA.L 52(A5),A6 ;05e8: 2c6d0034 JSR -126(A6) ;05ec: 4eaeff82 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;05f0: 4cdf4303 LAB_003E: MOVEM.L (A7)+,D2/A3-A6 ;05f4: 4cdf7804 RTS ;05f8: 4e75 DS.W 1 ;05fa LIBFUNC_1: SUBQ.W #4,A7 ;05fc: 594f MOVEM.L D7/A2-A6,-(A7) ;05fe: 48e7013e MOVE.L D1,D7 ;0602: 2e01 MOVEA.L A6,A3 ;0604: 264e MOVEA.L A1,A4 ;0606: 2849 MOVEA.L A0,A5 ;0608: 2a48 MOVE.L A6,24(A7) ;060a: 2f4e0018 MOVE.L A5,D0 ;060e: 200d BEQ.S LAB_0043 ;0610: 674a MOVE.L A4,D0 ;0612: 200c BEQ.S LAB_0043 ;0614: 6746 TST.W D7 ;0616: 4a47 BEQ.S LAB_0040 ;0618: 6708 MOVEA.L 52(A3),A6 ;061a: 2c6b0034 JSR -120(A6) ;061e: 4eaeff88 LAB_0040: MOVEA.L A5,A0 ;0622: 204d MOVEA.L A4,A1 ;0624: 224c MOVEA.L A3,A6 ;0626: 2c4b JSR LAB_0138 ;0628: 4eb900001758 MOVEA.L D0,A2 ;062e: 2440 TST.L D0 ;0630: 4a80 MOVEA.L 24(A7),A6 ;0632: 2c6f0018 BNE.S LAB_0041 ;0636: 660e MOVEA.L A5,A0 ;0638: 204d MOVEA.L A4,A1 ;063a: 224c MOVEA.L A3,A6 ;063c: 2c4b JSR LAB_008E ;063e: 4eb900000c98 MOVEA.L D0,A2 ;0644: 2440 LAB_0041: MOVEA.L 24(A7),A6 ;0646: 2c6f0018 TST.W D7 ;064a: 4a47 BEQ.S LAB_0042 ;064c: 6708 MOVEA.L 52(A3),A6 ;064e: 2c6b0034 JSR -126(A6) ;0652: 4eaeff82 LAB_0042: MOVEA.L 24(A7),A6 ;0656: 2c6f0018 BRA.S LAB_0044 ;065a: 6002 LAB_0043: SUBA.L A2,A2 ;065c: 95ca LAB_0044: MOVE.L A2,D0 ;065e: 200a MOVEM.L (A7)+,D7/A2-A6 ;0660: 4cdf7c80 ADDQ.W #4,A7 ;0664: 584f RTS ;0666: 4e75 LIBFUNC_2: SUBQ.W #4,A7 ;0668: 594f MOVE.L A6,-(A7) ;066a: 2f0e MOVE.L A6,4(A7) ;066c: 2f4e0004 MOVE.L A0,D0 ;0670: 2008 BEQ.S LAB_0046 ;0672: 6710 MOVEA.L A0,A1 ;0674: 2248 SUBQ.L #4,A1 ;0676: 5989 MOVE.L -4(A0),D0 ;0678: 2028fffc MOVEA.L 40(A6),A6 ;067c: 2c6e0028 JSR -210(A6) ;0680: 4eaeff2e LAB_0046: MOVEA.L (A7)+,A6 ;0684: 2c5f ADDQ.W #4,A7 ;0686: 584f RTS ;0688: 4e75 LIBFUNC_4: ;MOD only here is the change of the Akiko pin register SUBQ.W #8,A7 ;068a: 514f MOVEM.L D6-D7/A3-A6,-(A7) ;068c: 48e7031e MOVE.L D1,D7 ;0690: 2e01 MOVEA.L A6,A3 ;0692: 264e MOVEA.L A1,A4 ;0694: 2849 MOVEA.L A0,A5 ;0696: 2a48 MOVE.L A6,28(A7) ;0698: 2f4e001c MOVE.L A5,D0 ;069c: 200d BEQ.S LAB_004A ;069e: 6748 MOVE.L A4,D0 ;06a0: 200c BEQ.S LAB_004A ;06a2: 6744 TST.W D7 ;06a4: 4a47 BEQ.S LAB_0048 ;06a6: 6708 MOVEA.L 52(A3),A6 ;06a8: 2c6b0034 JSR -120(A6) ;06ac: 4eaeff88 LAB_0048: MOVEA.L A5,A0 ;06b0: 204d MOVEA.L A4,A1 ;06b2: 224c MOVEA.L A3,A6 ;06b4: 2c4b JSR LAB_00A6 ;06b6: 4eb900000e5c MOVE.W D0,24(A7) ;06bc: 3f400018 MOVEA.L A5,A0 ;06c0: 204d MOVEA.L A4,A1 ;06c2: 224c JSR LAB_014D ;06c4: 4eb900001930 MOVE.W 24(A7),D1 ;06ca: 322f0018 OR.W D0,D1 ;06ce: 8240 MOVE.L D1,D6 ;06d0: 2c01 MOVEA.L 28(A7),A6 ;06d2: 2c6f001c TST.W D7 ;06d6: 4a47 BEQ.S LAB_0049 ;06d8: 6708 MOVEA.L 52(A3),A6 ;06da: 2c6b0034 JSR -126(A6) ;06de: 4eaeff82 LAB_0049: MOVEA.L 28(A7),A6 ;06e2: 2c6f001c BRA.S LAB_004B ;06e6: 6002 LAB_004A: MOVEQ #0,D6 ;06e8: 7c00 LAB_004B: MOVE.W D6,D0 ;06ea: 3006 MOVEM.L (A7)+,D6-D7/A3-A6 ;06ec: 4cdf78c0 ADDQ.W #8,A7 ;06f0: 504f RTS ;06f2: 4e75 LAB_004C: LEA EXT_0000,A5 ;06f4: 4bf900b80030 MOD Akiko register MOVE.L D0,D6 ;06fa: 2c00 LAB_004D: BSR.W LAB_005B ;06fc: 61000126 BSR.W LAB_005A ;0700: 61000110 BSR.W LAB_005D ;0704: 610001c6 BSR.W LAB_0064 ;0708: 61000312 BCS.S LAB_0052 ;070c: 657c BSR.W LAB_005D ;070e: 610001bc LAB_004E: MOVE.L 0(A0,A1.W),D0 ;0712: 20309000 ADDQ.W #1,A1 ;0716: 5249 BSR.W LAB_0064 ;0718: 61000302 BCS.S LAB_0052 ;071c: 656c BSR.W LAB_005D ;071e: 610001ac MOVE.W A1,D1 ;0722: 3209 ANDI.W #$000f,D1 ;0724: 0241000f BNE.S LAB_0050 ;0728: 6644 BSR.W LAB_0064 ;072a: 610002f0 BCS.S LAB_0052 ;072e: 655a BSR.W LAB_005C ;0730: 6100012e MOVEM.L D1,-(A7) ;0734: 48e74000 MOVE.W #$03e8,D1 ;0738: 323c03e8 MOVE.W #$03e8,D1 ;0738: 323c03e8 MOD the length of the delay loop when generating signals on I2C lines LAB_004F: TST.B CIAA_PRA ;073c: 4a3900bfe001 MOD all CIAA_PRA is only for a delay TST.B CIAA_PRA ;0742: 4a3900bfe001 TST.B CIAA_PRA ;0748: 4a3900bfe001 TST.B CIAA_PRA ;074e: 4a3900bfe001 TST.B CIAA_PRA ;0754: 4a3900bfe001 TST.B CIAA_PRA ;075a: 4a3900bfe001 DBF D1,LAB_004F ;0760: 51c9ffda MOVEM.L (A7)+,D1 ;0764: 4cdf0002 SUBQ.W #1,D6 ;0768: 5346 BEQ.S LAB_0051 ;076a: 6710 BRA.S LAB_004D ;076c: 608e LAB_0050: SUBQ.W #1,D6 ;076e: 5346 BNE.S LAB_004E ;0770: 66a0 BSR.W LAB_0064 ;0772: 610002a8 BCS.S LAB_0052 ;0776: 6512 BSR.W LAB_005C ;0778: 610000e6 LAB_0051: MOVE.L D6,D0 ;077c: 2006 SWAP D0 ;077e: 4840 MOVE.W #$0000,D0 ;0780: 303c0000 ANDI.B #$fe,CCR ;0784: 023c00fe RTS ;0788: 4e75 LAB_0052: MOVE.L D6,D0 ;078a: 2006 SWAP D0 ;078c: 4840 MOVE.W #$ffff,D0 ;078e: 303cffff ORI.B #$01,CCR ;0792: 003c0001 RTS ;0796: 4e75 LAB_0053: LEA EXT_0000,A5 ;0798: 4bf900b80030 MOD Akiko register MOVE.L D0,D6 ;079e: 2c00 LAB_0054: BSR.W LAB_005B ;07a0: 61000082 BSR.S LAB_005A ;07a4: 616c BSR.W LAB_005D ;07a6: 61000124 BSR.W LAB_0064 ;07aa: 61000270 BCS.S LAB_0059 ;07ae: 6554 BSR.W LAB_005D ;07b0: 6100011a BSR.W LAB_0064 ;07b4: 61000266 BCS.S LAB_0059 ;07b8: 654a BSR.S LAB_005B ;07ba: 6168 BSR.S LAB_005A ;07bc: 6154 ORI.L #$01000000,D0 ;07be: 008001000000 BSR.W LAB_005D ;07c4: 61000106 BSR.W LAB_0064 ;07c8: 61000252 BCS.S LAB_0059 ;07cc: 6536 LAB_0055: BSR.W LAB_0060 ;07ce: 6100018e BCS.S LAB_0059 ;07d2: 6530 MOVE.B D0,0(A0,A1.W) ;07d4: 11809000 ADDQ.W #1,A1 ;07d8: 5249 MOVE.W A1,D1 ;07da: 3209 ANDI.W #$000f,D1 ;07dc: 0241000f BNE.S LAB_0056 ;07e0: 6608 BSR.S LAB_005C ;07e2: 617c SUBQ.L #1,D6 ;07e4: 5386 BEQ.S LAB_0058 ;07e6: 670e BRA.S LAB_0054 ;07e8: 60b6 LAB_0056: SUBQ.L #1,D6 ;07ea: 5386 BEQ.S LAB_0057 ;07ec: 6706 BSR.W LAB_0063 ;07ee: 610001e4 BRA.S LAB_0055 ;07f2: 60da LAB_0057: BSR.S LAB_005C ;07f4: 616a LAB_0058: MOVE.L D6,D0 ;07f6: 2006 SWAP D0 ;07f8: 4840 MOVE.W #$0000,D0 ;07fa: 303c0000 ANDI.B #$fe,CCR ;07fe: 023c00fe RTS ;0802: 4e75 LAB_0059: MOVE.L D6,D0 ;0804: 2006 SWAP D0 ;0806: 4840 MOVE.W #$ffff,D0 ;0808: 303cffff ORI.B #$01,CCR ;080c: 003c0001 RTS ;0810: 4e75 LAB_005A: MOVEQ #0,D0 ;0812: 7000 MOVE.W A1,D0 ;0814: 3009 SWAP D0 ;0816: 4840 ROL.L #8,D0 ;0818: e198 LSL.W #1,D0 ;081a: e348 ORI.B #$a0,D0 ;081c: 000000a0 MOD I2C EEPROM memory address ? ROR.L #8,D0 ;0820: e098 RTS ;0822: 4e75 LAB_005B: MOVE.L #$c000c000,D5 ;0824: 2a3cc000c000 MOVE.L D5,(A5) ;082a: 2a85 TST.B CIAA_PRA ;082c: 4a3900bfe001 TST.B CIAA_PRA ;0832: 4a3900bfe001 TST.B CIAA_PRA ;0838: 4a3900bfe001 TST.B CIAA_PRA ;083e: 4a3900bfe001 ANDI.L #$bfffffff,D5 ;0844: 0285bfffffff MOVE.L D5,(A5) ;084a: 2a85 TST.B CIAA_PRA ;084c: 4a3900bfe001 TST.B CIAA_PRA ;0852: 4a3900bfe001 TST.B CIAA_PRA ;0858: 4a3900bfe001 RTS ;085e: 4e75 LAB_005C: ANDI.L #$bfffffff,D5 ;0860: 0285bfffffff ORI.L #$00004000,D5 ;0866: 008500004000 MOVE.L D5,(A5) ;086c: 2a85 TST.B CIAA_PRA ;086e: 4a3900bfe001 TST.B CIAA_PRA ;0874: 4a3900bfe001 TST.B CIAA_PRA ;087a: 4a3900bfe001 TST.B CIAA_PRA ;0880: 4a3900bfe001 ORI.L #$80000000,D5 ;0886: 008580000000 MOVE.L D5,(A5) ;088c: 2a85 TST.B CIAA_PRA ;088e: 4a3900bfe001 TST.B CIAA_PRA ;0894: 4a3900bfe001 TST.B CIAA_PRA ;089a: 4a3900bfe001 TST.B CIAA_PRA ;08a0: 4a3900bfe001 ORI.L #$40000000,D5 ;08a6: 008540000000 MOVE.L D5,(A5) ;08ac: 2a85 TST.B CIAA_PRA ;08ae: 4a3900bfe001 TST.B CIAA_PRA ;08b4: 4a3900bfe001 TST.B CIAA_PRA ;08ba: 4a3900bfe001 TST.B CIAA_PRA ;08c0: 4a3900bfe001 MOVEQ #0,D5 ;08c6: 7a00 MOVE.L D5,(A5) ;08c8: 2a85 RTS ;08ca: 4e75 LAB_005D: MOVEQ #7,D1 ;08cc: 7207 LAB_005E: ANDI.L #$7fffffff,D5 ;08ce: 02857fffffff MOVE.L D5,(A5) ;08d4: 2a85 TST.B CIAA_PRA ;08d6: 4a3900bfe001 TST.B CIAA_PRA ;08dc: 4a3900bfe001 TST.B CIAA_PRA ;08e2: 4a3900bfe001 TST.B CIAA_PRA ;08e8: 4a3900bfe001 ANDI.L #$bfffffff,D5 ;08ee: 0285bfffffff ORI.L #$00004000,D5 ;08f4: 008500004000 LSL.L #1,D0 ;08fa: e388 BCC.S LAB_005F ;08fc: 6406 ORI.L #$40000000,D5 ;08fe: 008540000000 LAB_005F: MOVE.L D5,(A5) ;0904: 2a85 TST.B CIAA_PRA ;0906: 4a3900bfe001 TST.B CIAA_PRA ;090c: 4a3900bfe001 TST.B CIAA_PRA ;0912: 4a3900bfe001 TST.B CIAA_PRA ;0918: 4a3900bfe001 ORI.L #$80000000,D5 ;091e: 008580000000 MOVE.L D5,(A5) ;0924: 2a85 TST.B CIAA_PRA ;0926: 4a3900bfe001 TST.B CIAA_PRA ;092c: 4a3900bfe001 TST.B CIAA_PRA ;0932: 4a3900bfe001 DBF D1,LAB_005E ;0938: 51c9ff94 ANDI.L #$7fffbfff,D5 ;093c: 02857fffbfff MOVE.L D5,(A5) ;0942: 2a85 TST.B CIAA_PRA ;0944: 4a3900bfe001 TST.B CIAA_PRA ;094a: 4a3900bfe001 TST.B CIAA_PRA ;0950: 4a3900bfe001 TST.B CIAA_PRA ;0956: 4a3900bfe001 RTS ;095c: 4e75 LAB_0060: MOVEQ #7,D1 ;095e: 7207 ANDI.L #$ffffbfff,D5 ;0960: 0285ffffbfff MOVE.L D5,(A5) ;0966: 2a85 LAB_0061: ANDI.L #$7fffffff,D5 ;0968: 02857fffffff MOVE.L D5,(A5) ;096e: 2a85 TST.B CIAA_PRA ;0970: 4a3900bfe001 TST.B CIAA_PRA ;0976: 4a3900bfe001 TST.B CIAA_PRA ;097c: 4a3900bfe001 ORI.L #$80000000,D5 ;0982: 008580000000 MOVE.L D5,(A5) ;0988: 2a85 TST.B CIAA_PRA ;098a: 4a3900bfe001 TST.B CIAA_PRA ;0990: 4a3900bfe001 TST.B CIAA_PRA ;0996: 4a3900bfe001 MOVE.L (A5),D2 ;099c: 2415 LSL.L #1,D0 ;099e: e388 BTST #30,D2 ;09a0: 0802001e BEQ.S LAB_0062 ;09a4: 6704 ORI.B #$01,D0 ;09a6: 00000001 LAB_0062: DBF D1,LAB_0061 ;09aa: 51c9ffbc ANDI.L #$7fffffff,D5 ;09ae: 02857fffffff MOVE.L D5,(A5) ;09b4: 2a85 TST.B CIAA_PRA ;09b6: 4a3900bfe001 TST.B CIAA_PRA ;09bc: 4a3900bfe001 TST.B CIAA_PRA ;09c2: 4a3900bfe001 TST.B CIAA_PRA ;09c8: 4a3900bfe001 ANDI.B #$fe,CCR ;09ce: 023c00fe RTS ;09d2: 4e75 LAB_0063: ANDI.L #$bfffffff,D5 ;09d4: 0285bfffffff ORI.L #$00004000,D5 ;09da: 008500004000 MOVE.L D5,(A5) ;09e0: 2a85 TST.B CIAA_PRA ;09e2: 4a3900bfe001 TST.B CIAA_PRA ;09e8: 4a3900bfe001 TST.B CIAA_PRA ;09ee: 4a3900bfe001 ORI.L #$80000000,D5 ;09f4: 008580000000 MOVE.L D5,(A5) ;09fa: 2a85 TST.B CIAA_PRA ;09fc: 4a3900bfe001 TST.B CIAA_PRA ;0a02: 4a3900bfe001 TST.B CIAA_PRA ;0a08: 4a3900bfe001 ANDI.L #$7fffffff,D5 ;0a0e: 02857fffffff MOVE.L D5,(A5) ;0a14: 2a85 ANDI.B #$fe,CCR ;0a16: 023c00fe RTS ;0a1a: 4e75 LAB_0064: ORI.L #$80000000,D5 ;0a1c: 008580000000 ANDI.L #$ffffbfff,D5 ;0a22: 0285ffffbfff MOVE.L D5,(A5) ;0a28: 2a85 MOVEQ #6,D2 ;0a2a: 7406 LAB_0065: TST.B CIAA_PRA ;0a2c: 4a3900bfe001 TST.B CIAA_PRA ;0a32: 4a3900bfe001 TST.B CIAA_PRA ;0a38: 4a3900bfe001 MOVE.L (A5),D5 ;0a3e: 2a15 BTST #30,D5 ;0a40: 0805001e BEQ.S LAB_0066 ;0a44: 6706 DBF D2,LAB_0065 ;0a46: 51caffe4 BRA.S LAB_0067 ;0a4a: 600e LAB_0066: ANDI.L #$7fffffff,D5 ;0a4c: 02857fffffff MOVE.L D5,(A5) ;0a52: 2a85 ANDI.B #$fe,CCR ;0a54: 023c00fe RTS ;0a58: 4e75 LAB_0067: ANDI.L #$7fffffff,D5 ;0a5a: 02857fffffff MOVE.L D5,(A5) ;0a60: 2a85 ORI.B #$01,CCR ;0a62: 003c0001 RTS ;0a66: 4e75 LAB_0068: MOVEM.L D0-D7/A0-A6,-(A7) ;0a68: 48e7fffe BSR.W LAB_00C1 ;0a6c: 61000542 BNE.S LAB_006B ;0a70: 6636 BSR.W LAB_0100 ;0a72: 6100088a BNE.S LAB_0069 ;0a76: 660c BSR.W LAB_0101 ;0a78: 61000896 BEQ.S LAB_006B ;0a7c: 672a BSR.W LAB_00F7 ;0a7e: 61000818 BRA.S LAB_006B ;0a82: 6024 LAB_0069: MOVEA.L 56(A5),A0 ;0a84: 206d0038 MOVEA.L A0,A1 ;0a88: 2248 MOVEQ #0,D0 ;0a8a: 7000 MOVE.L #$000000ff,D1 ;0a8c: 223c000000ff MOD probably the number of bytes on the page LAB_006A: ;MOD probably the memory initialization area in the event of header damage or lack of the end of records marker MOVE.L D0,(A0)+ ;0a92: 20c0 DBF D1,LAB_006A ;0a94: 51c9fffc MOVE.L #$0056a900,(A1) ;0a98: 22bc0056a900 MOD header MOVE.B #$a0,10(A1) ;0a9e: 137c00a00018 MOD #$a0 = end marker of all records, 24 ($18) = starting address of the application storage space MODIFIED VALUE BSR.W LAB_00CD ;0aa4: 610005c2 LAB_006B: BSR.W LAB_00C5 ;0aa8: 61000548 MOVEM.L (A7)+,D0-D7/A0-A6 ;0aac: 4cdf7fff RTS ;0ab0: 4e75 LAB_006C: MOVEM.L D0-D7/A0-A6,-(A7) ;0ab2: 48e7fffe MOVEA.L D0,A2 ;0ab6: 2440 BSR.W LAB_00C1 ;0ab8: 610004f6 BNE.S LAB_006D ;0abc: 6606 BSR.W LAB_0100 ;0abe: 6100083e BEQ.S LAB_006E ;0ac2: 6708 LAB_006D: CLR.L (A2) ;0ac4: 4292 CLR.L 4(A2) ;0ac6: 42aa0004 BRA.S LAB_006F ;0aca: 6010 LAB_006E: MOVE.L #$000007f6,(A2) ;0acc: 24bc000003e8 MOD $3e8 = 1000! , $7e4 = 2020 MODIFIED VALUE BSR.W LAB_00AB ;0ad2: 610003f0 SUBQ.L #5,D0 ;0ad6: 5b80 MOVE.L D0,4(A2) ;0ad8: 25400004 LAB_006F: BSR.W LAB_00C5 ;0adc: 61000514 MOVEM.L (A7)+,D0-D7/A0-A6 ;0ae0: 4cdf7fff RTS ;0ae4: 4e75 DC.W $4e75 ;0ae6 LAB_0070: BCLR #0,35(A5) ;0ae8: 08ad00000023 MOD save/read bit ? BSR.W LAB_00C1 ;0aee: 610004c0 BNE.S LAB_0071 ;0af2: 6606 BSET #0,35(A5) ;0af4: 08ed00000023 MOD save/read bit ? LAB_0071: RTS ;0afa: 4e75 LAB_0072: BCLR #0,35(A5) ;0afc: 08ad00000023 MOD save/read bit ? BSR.W LAB_00C5 ;0b02: 610004ee RTS ;0b06: 4e75 LAB_0073: MOVEM.L D1-D7/A0-A6,-(A7) ;0b08: 48e77ffe MOVEQ #0,D2 ;0b0c: 7400 MOVEA.L A0,A3 ;0b0e: 2648 BSR.W LAB_00C1 ;0b10: 6100049e BNE.S LAB_0079 ;0b14: 664a BSR.W LAB_0100 ;0b16: 610007e6 BNE.S LAB_0079 ;0b1a: 6644 MOVE.L A3,D3 ;0b1c: 260b BEQ.S LAB_0075 ;0b1e: 6714 BSR.W LAB_00CF ;0b20: 61000570 BNE.S LAB_0079 ;0b24: 663a LAB_0074: BSR.W LAB_00DB ;0b26: 610005f0 BNE.S LAB_0079 ;0b2a: 6634 ADD.W #$0015,D2 ;0b2c: d47c0015 ADD.W D0,D2 ;0b30: d440 BRA.S LAB_0074 ;0b32: 60f2 LAB_0075: BSR.W LAB_00F2 ;0b34: 61000710 BRA.S LAB_0077 ;0b38: 6004 LAB_0076: BSR.W LAB_00DD ;0b3a: 610005ee LAB_0077: CMPI.B #$20,D1 ;0b3e: 0c010020 MOD start marker of application save BEQ.S LAB_0078 ;0b42: 6714 CMPI.B #$40,D1 ;0b44: 0c010040 MOD start marker of item save BEQ.S LAB_0078 ;0b48: 670e CMPI.B #$60,D1 ;0b4a: 0c010060 MOD length marker of record BEQ.S LAB_0076 ;0b4e: 67ea CMPI.B #$a0,D1 ;0b50: 0c0100a0 MOD end marker of all records BEQ.S LAB_0079 ;0b54: 670a BRA.S LAB_007B ;0b56: 6014 LAB_0078: ADD.W #$0015,D2 ;0b58: d47c0015 ADD.W D0,D2 ;0b5c: d440 BRA.S LAB_0076 ;0b5e: 60da LAB_0079: MOVE.L D2,D0 ;0b60: 2002 LAB_007A: BSR.W LAB_00C5 ;0b62: 6100048e MOVEM.L (A7)+,D1-D7/A0-A6 ;0b66: 4cdf7ffe RTS ;0b6a: 4e75 LAB_007B: BSR.W LAB_00F7 ;0b6c: 6100072a BRA.S LAB_007A ;0b70: 60f0 LAB_007C: MOVEM.L D2-D7/A3-A6,-(A7) ;0b72: 48e73f1e MOVEA.L A4,A3 ;0b76: 264c MOVE.L A2,D6 ;0b78: 2c0a BSR.W LAB_00C1 ;0b7a: 61000434 BNE.S LAB_0082 ;0b7e: 664e BSR.W LAB_0100 ;0b80: 6100077c BNE.S LAB_0082 ;0b84: 6648 MOVE.L A3,D3 ;0b86: 260b BEQ.S LAB_007E ;0b88: 6718 BSR.W LAB_00CF ;0b8a: 61000506 BEQ.S LAB_007D ;0b8e: 6704 MOVEA.L D6,A2 ;0b90: 2446 BRA.S LAB_0083 ;0b92: 603e LAB_007D: BSR.W LAB_00DB ;0b94: 61000582 BNE.S LAB_0082 ;0b98: 6634 MOVE.W #$0002,D1 ;0b9a: 323c0002 BSR.S LAB_0084 ;0b9e: 613c BRA.S LAB_007D ;0ba0: 60f2 LAB_007E: BSR.W LAB_00F2 ;0ba2: 610006a2 BRA.S LAB_0080 ;0ba6: 6004 LAB_007F: BSR.W LAB_00DD ;0ba8: 61000580 LAB_0080: CMPI.B #$20,D1 ;0bac: 0c010020 MOD start marker of application save BEQ.S LAB_0081 ;0bb0: 6714 CMPI.B #$40,D1 ;0bb2: 0c010040 MOD start marker of item save BEQ.S LAB_007F ;0bb6: 67f0 CMPI.B #$60,D1 ;0bb8: 0c010060 MOD length marker of record BEQ.S LAB_007F ;0bbc: 67ea CMPI.B #$a0,D1 ;0bbe: 0c0100a0 MOD end marker of all records BEQ.S LAB_0082 ;0bc2: 670a BRA.S LAB_0086 ;0bc4: 6030 LAB_0081: MOVE.W #$0001,D1 ;0bc6: 323c0001 BSR.S LAB_0084 ;0bca: 6110 BRA.S LAB_007F ;0bcc: 60da LAB_0082: MOVEA.L D6,A2 ;0bce: 2446 CLR.B (A2)+ ;0bd0: 421a LAB_0083: BSR.W LAB_00C5 ;0bd2: 6100041e MOVEM.L (A7)+,D2-D7/A3-A6 ;0bd6: 4cdf78fc RTS ;0bda: 4e75 LAB_0084: MOVE.L A0,-(A7) ;0bdc: 2f08 MOVEA.L D6,A2 ;0bde: 2446 ADDA.W D1,A0 ;0be0: d0c1 SUBQ.W #1,D0 ;0be2: 5340 LAB_0085: MOVE.B 0(A1,A0.W),(A2)+ ;0be4: 14f18000 ADDQ.W #1,A0 ;0be8: 5248 DBF D0,LAB_0085 ;0bea: 51c8fff8 CLR.B (A2)+ ;0bee: 421a MOVEA.L (A7)+,A0 ;0bf0: 205f MOVE.L A2,D6 ;0bf2: 2c0a RTS ;0bf4: 4e75 LAB_0086: BSR.W LAB_00F7 ;0bf6: 610006a0 BRA.S LAB_0083 ;0bfa: 60d6 LAB_0087: TST.L (A2) ;0bfc: 4a92 BEQ.S LAB_0088 ;0bfe: 6702 RTS ;0c00: 4e75 LAB_0088: MOVEM.L D0-D7/A0-A6,-(A7) ;0c02: 48e7fffe MOVE.L A3,D0 ;0c06: 200b MOVEA.L A4,A3 ;0c08: 264c MOVEA.L D0,A4 ;0c0a: 2840 MOVE.L A2,D6 ;0c0c: 2c0a BSR.W LAB_00C1 ;0c0e: 610003a0 BNE.S LAB_008A ;0c12: 662e BSR.W LAB_0100 ;0c14: 610006e8 BNE.S LAB_008A ;0c18: 6628 BSR.W LAB_00CF ;0c1a: 61000476 BNE.S LAB_008A ;0c1e: 6622 MOVE.L A0,D3 ;0c20: 2608 BSR.W LAB_00D2 ;0c22: 61000496 BNE.S LAB_008A ;0c26: 661a MOVEA.L D6,A2 ;0c28: 2446 MOVE.L (A2),D1 ;0c2a: 2212 DC.W $b280 ;0c2c BGT.S LAB_0089 ;0c2e: 6e02 MOVE.L D0,(A2) ;0c30: 2480 LAB_0089: BTST #7,1(A1,D4.W) ;0c32: 083100074001 BEQ.S LAB_008A ;0c38: 6708 ORI.L #$00000001,4(A2) ;0c3a: 00aa000000010004 LAB_008A: BSR.W LAB_00C5 ;0c42: 610003ae MOVEM.L (A7)+,D0-D7/A0-A6 ;0c46: 4cdf7fff RTS ;0c4a: 4e75 LAB_008B: MOVEM.L D1-D2/D4-D7/A0-A6,-(A7) ;0c4c: 48e76ffe MOVE.L D2,D5 ;0c50: 2a02 MOVE.L D3,D6 ;0c52: 2c03 BSR.W LAB_00C1 ;0c54: 6100035a BNE.S LAB_008D ;0c58: 6630 BSR.W LAB_0100 ;0c5a: 610006a2 BNE.S LAB_008D ;0c5e: 662a BSR.W LAB_00CF ;0c60: 61000430 BNE.S LAB_008D ;0c64: 6624 MOVE.L A0,D3 ;0c66: 2608 BSR.W LAB_00D2 ;0c68: 61000450 BNE.S LAB_008D ;0c6c: 661c MOVEQ #0,D0 ;0c6e: 7000 BTST #0,D5 ;0c70: 08050000 BEQ.S LAB_008C ;0c74: 6704 OR.B #$80,D0 ;0c76: 803c0080 LAB_008C: MOVE.B D0,1(A1,D4.W) ;0c7a: 13804001 MOVEQ #1,D6 ;0c7e: 7c01 MOVEA.L D4,A0 ;0c80: 2044 ADDQ.L #1,A0 ;0c82: 5288 MOVEQ #1,D0 ;0c84: 7001 BSR.W LAB_00CE ;0c86: 610003f8 LAB_008D: MOVE.L D6,D0 ;0c8a: 2006 MOVE.L D0,D3 ;0c8c: 2600 BSR.W LAB_00C5 ;0c8e: 61000362 MOVEM.L (A7)+,D1-D2/D4-D7/A0-A6 ;0c92: 4cdf7ff6 RTS ;0c96: 4e75 LAB_008E: MOVEM.L D1-D7/A0-A6,-(A7) ;0c98: 48e77ffe MOVEA.L A0,A3 ;0c9c: 2648 MOVEA.L A1,A4 ;0c9e: 2849 MOVEA.L A6,A5 ;0ca0: 2a4e BSR.W LAB_00C1 ;0ca2: 6100030c BNE.S LAB_0092 ;0ca6: 6668 BSR.W LAB_0100 ;0ca8: 61000654 BNE.S LAB_0092 ;0cac: 6662 BSR.W LAB_00C7 ;0cae: 61000376 BNE.S LAB_008F ;0cb2: 660c MOVEA.L #$00000006,A0 ;0cb4: 207c00000006 MOVEQ #16,D0 ;0cba: 7010 MOVE.L D0,D6 ;0cbc: 2c00 BRA.S LAB_0090 ;0cbe: 6016 LAB_008F: BSR.W LAB_00CF ;0cc0: 610003d0 BNE.S LAB_0092 ;0cc4: 664a MOVE.L A0,D3 ;0cc6: 2608 BSR.W LAB_00D2 ;0cc8: 610003f0 BNE.S LAB_0092 ;0ccc: 6642 MOVE.L A0,D5 ;0cce: 2a08 MOVE.L D0,D6 ;0cd0: 2c00 BSR.W LAB_00EA ;0cd2: 61000512 LAB_0090: ADDQ.L #4,D0 ;0cd6: 5880 MOVEM.L D0-D6/A0-A1,-(A7) ;0cd8: 48e7fec0 MOVEA.L 40(A5),A6 ;0cdc: 2c6d0028 MOVE.L #$00010001,D1 ;0ce0: 223c00010001 JSR -198(A6) ;0ce6: 4eaeff3a MOVEA.L D0,A2 ;0cea: 2440 TST.L D0 ;0cec: 4a80 MOVEM.L (A7)+,D0-D6/A0-A1 ;0cee: 4cdf037f BEQ.S LAB_0092 ;0cf2: 671c MOVE.L D0,(A2)+ ;0cf4: 24c0 MOVE.L A2,D0 ;0cf6: 200a SUBQ.W #1,D6 ;0cf8: 5346 ADDQ.W #2,A0 ;0cfa: 5448 LAB_0091: MOVE.B 0(A1,A0.W),(A2)+ ;0cfc: 14f18000 ADDQ.L #1,A0 ;0d00: 5288 DBF D6,LAB_0091 ;0d02: 51cefff8 BSR.W LAB_00EB ;0d06: 610004e6 BSR.W LAB_00CD ;0d0a: 6100035c BRA.S LAB_0093 ;0d0e: 6002 LAB_0092: MOVEQ #0,D0 ;0d10: 7000 LAB_0093: BSR.W LAB_00C5 ;0d12: 610002de MOVEM.L (A7)+,D1-D7/A0-A6 ;0d16: 4cdf7ffe RTS ;0d1a: 4e75 LAB_0094: MOVEM.L D1-D7/A0-A6,-(A7) ;0d1c: 48e77ffe MOVEA.L A0,A3 ;0d20: 2648 MOVEA.L A1,A4 ;0d22: 2849 MOVEA.L A6,A5 ;0d24: 2a4e MOVE.L D0,D6 ;0d26: 2c00 MOVE.L D1,D7 ;0d28: 2e01 BSR.W LAB_00C1 ;0d2a: 61000284 BNE.W LAB_00A3 ;0d2e: 6600011c BSR.W LAB_0100 ;0d32: 610005ca BNE.W LAB_00A3 ;0d36: 66000114 BSR.W LAB_00C7 ;0d3a: 610002ea BNE.S LAB_0096 ;0d3e: 6616 MOVEA.L #$00000008,A0 ;0d40: 207c00000008 MOD storage address of the selected language MOVEQ #1,D6 ;0d46: 7c0f MOVEQ #15,D6 ;0d46: 7c0f MOD distance from the language address to the recording start address MODIFIED VALUE LAB_0095: MOVE.B (A2)+,0(A1,A0.W) ;0d48: 139a8000 ADDQ.L #1,A0 ;0d4c: 5288 DBF D6,LAB_0095 ;0d4e: 51cefff8 BRA.W LAB_00A1 ;0d52: 600000ee LAB_0096: BSR.W LAB_00CF ;0d56: 6100033a BNE.W LAB_009E ;0d5a: 660000b0 MOVE.L A0,D3 ;0d5e: 2608 BSR.W LAB_00D2 ;0d60: 61000358 BNE.S LAB_009B ;0d64: 6678 MOVE.L A0,D5 ;0d66: 2a08 BSR.W LAB_00EA ;0d68: 6100047c DC.W $b046 ;0d6c BEQ.S LAB_009A ;0d6e: 6766 BLT.S LAB_0097 ;0d70: 6d16 MOVE.L D0,D2 ;0d72: 2400 SUB.L D6,D2 ;0d74: 9486 BSR.W LAB_00DD ;0d76: 610003b2 BSR.W LAB_00F5 ;0d7a: 610004f6 MOVEQ #1,D1 ;0d7e: 7201 BSR.W LAB_0104 ;0d80: 610005be BRA.W LAB_00A0 ;0d84: 600000b8 LAB_0097: MOVEQ #1,D1 ;0d88: 7201 BSR.W LAB_00B9 ;0d8a: 610001dc SUB.L D0,D1 ;0d8e: 9280 BSR.W LAB_00B6 ;0d90: 610001b6 DC.W $b081 ;0d94 BGE.S LAB_0099 ;0d96: 6c22 MOVE.B 1(A1,D4.W),D2 ;0d98: 14314001 BSET #7,1(A1,D4.W) ;0d9c: 08f100074001 MOD probably SCL (bit 7 in the register is SCL) BSR.W LAB_00AB ;0da2: 61000120 BTST #7,D2 ;0da6: 08020007 BNE.S LAB_0098 ;0daa: 6606 BCLR #7,1(A1,D4.W) ;0dac: 08b100074001 MOD probably SCL (bit 7 in the register is SCL) LAB_0098: DC.W $b081 ;0db2 BLT.W LAB_00A2 ;0db4: 6d000092 BRA.S LAB_009C ;0db8: 603c LAB_0099: MOVEM.L D1/A0,-(A7) ;0dba: 48e74080 MOVEA.L D5,A0 ;0dbe: 2045 BSR.W LAB_00DD ;0dc0: 61000368 MOVE.L A0,D0 ;0dc4: 2008 MOVEM.L (A7)+,D1/A0 ;0dc6: 4cdf0102 BSR.W LAB_00F3 ;0dca: 6100048a MOVEQ #1,D1 ;0dce: 7201 BSR.W LAB_0104 ;0dd0: 6100056e BRA.S LAB_00A0 ;0dd4: 6068 LAB_009A: MOVEQ #1,D1 ;0dd6: 7201 BSR.W LAB_0104 ;0dd8: 61000566 BRA.S LAB_00A0 ;0ddc: 6060 LAB_009B: MOVE.L A0,D4 ;0dde: 2808 MOVEQ #2,D1 ;0de0: 7202 BSR.W LAB_00B9 ;0de2: 61000184 BSR.W LAB_00B6 ;0de6: 61000160 DC.W $b081 ;0dea BGE.S LAB_009D ;0dec: 6c10 BSR.W LAB_00AB ;0dee: 610000d4 DC.W $b081 ;0df2 BLT.S LAB_00A2 ;0df4: 6d52 LAB_009C: BSR.W LAB_00E2 ;0df6: 61000370 BRA.W LAB_0096 ;0dfa: 6000ff5a LAB_009D: MOVE.L D4,D0 ;0dfe: 2004 BSR.W LAB_00F3 ;0e00: 61000454 MOVEQ #2,D1 ;0e04: 7202 BSR.W LAB_0104 ;0e06: 61000538 BRA.S LAB_00A0 ;0e0a: 6032 LAB_009E: DC.W $be7c ;0e0c BSET D1,26422(A5) ;0e0e: 03ed6736 MOVE.L A0,D4 ;0e12: 2808 MOVEQ #3,D1 ;0e14: 7203 BSR.W LAB_00B9 ;0e16: 61000150 BSR.W LAB_00B6 ;0e1a: 6100012c DC.W $b081 ;0e1e BGE.S LAB_009F ;0e20: 6c10 BSR.W LAB_00AB ;0e22: 610000a0 DC.W $b081 ;0e26 BLT.S LAB_00A2 ;0e28: 6d1e BSR.W LAB_00E2 ;0e2a: 6100033c BRA.W LAB_0096 ;0e2e: 6000ff26 LAB_009F: MOVEQ #3,D1 ;0e32: 7203 BSR.W LAB_0104 ;0e34: 6100050a MOVE.B #$a0,0(A1,A0.W) ;0e38: 13bc00a08000 MOD I2C EEPROM memory address ? LAB_00A0: BSR.W LAB_00EB ;0e3e: 610003ae LAB_00A1: BSR.W LAB_00CD ;0e42: 61000224 BRA.S LAB_00A4 ;0e46: 6008 LAB_00A2: MOVEQ #3,D0 ;0e48: 7003 BRA.S LAB_00A5 ;0e4a: 6006 LAB_00A3: MOVEQ #4,D0 ;0e4c: 7004 BRA.S LAB_00A5 ;0e4e: 6002 LAB_00A4: MOVEQ #0,D0 ;0e50: 7000 LAB_00A5: BSR.W LAB_00C5 ;0e52: 6100019e MOVEM.L (A7)+,D1-D7/A0-A6 ;0e56: 4cdf7ffe RTS ;0e5a: 4e75 LAB_00A6: MOVEM.L D1-D7/A0-A6,-(A7) ;0e5c: 48e77ffe MOVEA.L A0,A3 ;0e60: 2648 MOVEA.L A1,A4 ;0e62: 2849 MOVEA.L A6,A5 ;0e64: 2a4e BSR.W LAB_00C1 ;0e66: 61000148 BNE.S LAB_00A9 ;0e6a: 664c BSR.W LAB_0100 ;0e6c: 61000490 BNE.S LAB_00A9 ;0e70: 6646 BSR.W LAB_00C7 ;0e72: 610001b2 BEQ.S LAB_00A9 ;0e76: 6740 BSR.W LAB_00CF ;0e78: 61000218 BNE.S LAB_00A9 ;0e7c: 663a MOVE.L A0,D3 ;0e7e: 2608 BSR.W LAB_00D2 ;0e80: 61000238 BNE.S LAB_00A9 ;0e84: 6632 MOVE.L A0,D5 ;0e86: 2a08 MOVE.L D0,D6 ;0e88: 2c00 BTST #7,1(A1,D4.W) ;0e8a: 083100074001 BNE.S LAB_00A9 ;0e90: 6626 BSR.W LAB_00DD ;0e92: 61000296 DC.W $b27c ;0e96 ORI.W #$670a,D0 ;0e98: 0040670a DC.W $b47c ;0e9c DC.W $0001 ;0e9e BGT.S LAB_00A7 ;0ea0: 6e04 MOVE.L D3,D1 ;0ea2: 2203 BRA.S LAB_00A8 ;0ea4: 6002 LAB_00A7: MOVE.L D4,D1 ;0ea6: 2204 LAB_00A8: MOVE.L A0,D2 ;0ea8: 2408 SUB.L D1,D2 ;0eaa: 9481 BSR.W LAB_00F5 ;0eac: 610003c4 BSR.W LAB_00CD ;0eb0: 610001b6 MOVEQ #1,D0 ;0eb4: 7001 BRA.S LAB_00AA ;0eb6: 6002 LAB_00A9: MOVEQ #0,D0 ;0eb8: 7000 LAB_00AA: BSR.W LAB_00C5 ;0eba: 61000136 MOVEM.L (A7)+,D1-D7/A0-A6 ;0ebe: 4cdf7ffe RTS ;0ec2: 4e75 LAB_00AB: MOVEM.L D1-D7/A0-A6,-(A7) ;0ec4: 48e77ffe MOVEA.L #$0000000a,A0 ;0ec8: 207c00000018 MOD starting address of the application storage space MODIFIED VALUE MOVEQ #0,D2 ;0ece: 7400 MOVE.L D2,D3 ;0ed0: 2602 MOVE.L D2,D4 ;0ed2: 2802 BSR.W LAB_00F2 ;0ed4: 61000370 BRA.S LAB_00AD ;0ed8: 6004 LAB_00AC: BSR.W LAB_00DD ;0eda: 6100024e LAB_00AD: CMPI.B #$20,D1 ;0ede: 0c010020 MOD start marker of application save BEQ.S LAB_00AE ;0ee2: 6714 CMPI.B #$40,D1 ;0ee4: 0c010040 MOD start marker of item save BEQ.S LAB_00B0 ;0ee8: 671c CMPI.B #$60,D1 ;0eea: 0c010060 MOD length marker of record BEQ.S LAB_00B1 ;0eee: 6728 CMPI.B #$a0,D1 ;0ef0: 0c0100a0 MOD end marker of all records BEQ.S LAB_00B2 ;0ef4: 6734 BRA.S LAB_00B5 ;0ef6: 604a LAB_00AE: BCLR #0,D4 ;0ef8: 08840000 BEQ.S LAB_00AF ;0efc: 6704 ADD.W D3,D2 ;0efe: d443 ADDQ.W #1,D2 ;0f00: 5242 LAB_00AF: MOVE.B D0,D3 ;0f02: 1600 BRA.S LAB_00AC ;0f04: 60d4 LAB_00B0: BTST #7,1(A1,A0.W) ;0f06: 083100078001 BEQ.S LAB_00AC ;0f0c: 67cc MOVE.B #$03,D4 ;0f0e: 183c0003 ADD.W D0,D2 ;0f12: d440 ADDQ.W #2,D2 ;0f14: 5442 BRA.S LAB_00AC ;0f16: 60c2 LAB_00B1: BCLR #1,D4 ;0f18: 08840001 BEQ.S LAB_00AC ;0f1c: 67bc LSL.W #8,D0 ;0f1e: e148 MOVE.B 1(A1,A0.W),D0 ;0f20: 10318001 ADD.W D0,D2 ;0f24: d440 ADDQ.W #2,D2 ;0f26: 5442 BRA.S LAB_00AC ;0f28: 60b0 LAB_00B2: ADDQ.W #1,D2 ;0f2a: 5242 BTST #0,D4 ;0f2c: 08040000 BEQ.S LAB_00B3 ;0f30: 6702 ADD.W D3,D2 ;0f32: d443 LAB_00B3: ; MOD free space calculation MOVE.L #$000007f5,D0 ;0f34: 203c000003e7 MOD $3e7 = 999! , $7e3 = 2019 MODIFIED VALUE SUB.L D2,D0 ;0f3a: 9082 MOD subtracting probably the last address 'A0' tag from 999 (999, because one byte is occupied by the A0 tag) LAB_00B4: MOVEM.L (A7)+,D1-D7/A0-A6 ;0f3c: 4cdf7ffe RTS ;0f40: 4e75 LAB_00B5: BSR.W LAB_00F7 ;0f42: 61000354 BRA.S LAB_00B4 ;0f46: 60f4 LAB_00B6: MOVEM.L D1-D7/A1-A6,-(A7) ;0f48: 48e77f7e BSR.W LAB_00D9 ;0f4c: 610001be BNE.S LAB_00B7 ;0f50: 660e MOVEQ #0,D1 ;0f52: 7200 MOVE.W A0,D1 ;0f54: 3208 MOVEQ #8,D0 ;0f56: 7004 MOD #4 ROL 8 = 1024, #8 ROL 8 = 2048 MODIFIED VALUE ROL.L #8,D0 ;0f58: e198 ADDQ.L #1,D1 ;0f5a: 5281 SUB.L D1,D0 ;0f5c: 9081 BRA.S LAB_00B8 ;0f5e: 6002 LAB_00B7: MOVEQ #0,D0 ;0f60: 7000 LAB_00B8: MOVEM.L (A7)+,D1-D7/A1-A6 ;0f62: 4cdf7efe RTS ;0f66: 4e75 LAB_00B9: MOVEM.L D0/D2-D7/A0-A6,-(A7) ;0f68: 48e7bffe MOVEQ #0,D0 ;0f6c: 7000 CMPI.L #$00000003,D1 ;0f6e: 0c8100000003 BNE.S LAB_00BB ;0f74: 6610 ADDQ.W #5,D0 ;0f76: 5a40 MOVEQ #31,D2 ;0f78: 741f LAB_00BA: TST.B (A3)+ ;0f7a: 4a1b BEQ.S LAB_00BC ;0f7c: 6712 ADDQ.W #1,D0 ;0f7e: 5240 DBF D2,LAB_00BA ;0f80: 51cafff8 BRA.S LAB_00BC ;0f84: 600a LAB_00BB: CMPI.L #$00000002,D1 ;0f86: 0c8100000002 BNE.S LAB_00BE ;0f8c: 6610 ADDQ.W #4,D0 ;0f8e: 5840 LAB_00BC: MOVEQ #31,D2 ;0f90: 741f LAB_00BD: TST.B (A4)+ ;0f92: 4a1c BEQ.S LAB_00BF ;0f94: 6710 ADDQ.W #1,D0 ;0f96: 5240 DBF D2,LAB_00BD ;0f98: 51cafff8 BRA.S LAB_00BF ;0f9c: 6008 LAB_00BE: CMPI.L #$00000001,D1 ;0f9e: 0c8100000001 BNE.S LAB_00C0 ;0fa4: 6602 LAB_00BF: ADD.W D6,D0 ;0fa6: d046 LAB_00C0: MOVE.L D0,D1 ;0fa8: 2200 MOVEM.L (A7)+,D0/D2-D7/A0-A6 ;0faa: 4cdf7ffd RTS ;0fae: 4e75 LAB_00C1: MOVEM.L D0-D1/A0-A1,-(A7) ;0fb0: 48e7c0c0 MOVEA.L 40(A5),A6 ;0fb4: 2c6d0028 LEA 64(A5),A0 ;0fb8: 41ed0040 JSR -564(A6) ;0fbc: 4eaefdcc BTST #0,35(A5) ;0fc0: 082d00000023 BEQ.S LAB_00C2 ;0fc6: 6706 ORI.B #$04,CCR ;0fc8: 003c0004 BRA.S LAB_00C4 ;0fcc: 601e LAB_00C2: MOVEQ #8,D0 ;0fce: 7004 MOD #4 ROL 8 = 1024, #8 ROL 8 = 2048 MODIFIED VALUE ROL.L #8,D0 ;0fd0: e198 MOVE.L #$00010001,D1 ;0fd2: 223c00010001 JSR -198(A6) ;0fd8: 4eaeff3a MOVE.L D0,56(A5) ;0fdc: 2b400038 BEQ.S LAB_00C3 ;0fe0: 6706 MOVEA.L D0,A1 ;0fe2: 2240 BSR.S LAB_00CC ;0fe4: 616a BRA.S LAB_00C4 ;0fe6: 6004 LAB_00C3: ANDI.B #$fb,CCR ;0fe8: 023c00fb LAB_00C4: MOVEM.L (A7)+,D0-D1/A0-A1 ;0fec: 4cdf0303 RTS ;0ff0: 4e75 LAB_00C5: MOVEM.L D0-D1/A0-A1,-(A7) ;0ff2: 48e7c0c0 BTST #0,35(A5) ;0ff6: 082d00000023 BNE.S LAB_00C6 ;0ffc: 6622 TST.L 56(A5) ;0ffe: 4aad0038 BEQ.S LAB_00C6 ;1002: 671c MOVEA.L 40(A5),A6 ;1004: 2c6d0028 MOVEQ #8,D0 ;1008: 7004 MOD #4 ROL 8 = 1024, #8 ROL 8 = 2048 MODIFIED VALUE ROL.L #8,D0 ;100a: e198 MOVEA.L 56(A5),A1 ;100c: 226d0038 JSR -210(A6) ;1010: 4eaeff2e CLR.L 56(A5) ;1014: 42ad0038 LEA 64(A5),A0 ;1018: 41ed0040 JSR -570(A6) ;101c: 4eaefdc6 LAB_00C6: MOVEM.L (A7)+,D0-D1/A0-A1 ;1020: 4cdf0303 RTS ;1024: 4e75 LAB_00C7: TST.B (A3) ;1026: 4a13 BNE.S LAB_00C8 ;1028: 6602 TST.B (A4) ;102a: 4a14 LAB_00C8: RTS ;102c: 4e75 LAB_00C9: EXT.W D0 ;102e: 4880 EXT.L D0 ;1030: 48c0 DC.W $b0bc ;1032 ORI.B #$1f,D0 ;1034: 0000001f BGE.S LAB_00CA ;1038: 6c06 TST.B 0(A1,D0.W) ;103a: 4a310000 BNE.S LAB_00CB ;103e: 660e LAB_00CA: MOVE.L A6,-(A7) ;1040: 2f0e MOVEA.L 48(A5),A6 ;1042: 2c6d0030 JSR -168(A6) ;1046: 4eaeff58 MOVEA.L (A7)+,A6 ;104a: 2c5f TST.L D0 ;104c: 4a80 LAB_00CB: RTS ;104e: 4e75 LAB_00CC: MOVEM.L D0-D7/A0-A6,-(A7) ;1050: 48e7fffe MOVEA.L A1,A0 ;1054: 2049 SUBA.L A1,A1 ;1056: 93c9 MOVEQ #8,D0 ;1058: 7004 MOD #4 ROL 8 = 1024, #8 ROL 8 = 2048 MODIFIED VALUE ROL.L #8,D0 ;105a: e198 BSR.W LAB_0053 ;105c: 6100f73a MOD jump to Akiko register TST.W D0 ;1060: 4a40 MOVEM.L (A7)+,D0-D7/A0-A6 ;1062: 4cdf7fff RTS ;1066: 4e75 LAB_00CD: MOVEM.L D0-D7/A0-A6,-(A7) ;1068: 48e7fffe MOVEA.L A1,A0 ;106c: 2049 SUBA.L A1,A1 ;106e: 93c9 MOVEQ #8,D0 ;1070: 7004 MOD #4 ROL 8 = 1024, #8 ROL 8 = 2048 MODIFIED VALUE ROL.L #8,D0 ;1072: e198 BSR.W LAB_004C ;1074: 6100f67e MOD jump to Akiko register TST.W D0 ;1078: 4a40 MOVEM.L (A7)+,D0-D7/A0-A6 ;107a: 4cdf7fff RTS ;107e: 4e75 LAB_00CE: MOVEM.L D0-D7/A0-A6,-(A7) ;1080: 48e7fffe DC.W $c149 ;1084 BSR.W LAB_004C ;1086: 6100f66c MOD jump to Akiko register TST.W D0 ;108a: 4a40 MOVEM.L (A7)+,D0-D7/A0-A6 ;108c: 4cdf7fff RTS ;1090: 4e75 LAB_00CF: MOVEA.L #$0000000a,A0 ;1092: 207c00000018 MOVEA.L #$00000018,A0 ;1092: 207c00000018 MOD starting address of the application storage space MODIFIED VALUE BSR.W LAB_00F2 ;1098: 610001ac DC.W $b23c ;109c DC.W $0020 ;109e BNE.S LAB_00D1 ;10a0: 6616 LAB_00D0: MOVEM.L A0-A1,-(A7) ;10a2: 48e700c0 ADDQ.L #1,A0 ;10a6: 5288 ADDA.L A1,A0 ;10a8: d1c9 MOVEA.L A3,A1 ;10aa: 224b BSR.S LAB_00C9 ;10ac: 6180 MOVEM.L (A7)+,A0-A1 ;10ae: 4cdf0300 BEQ.S LAB_00D1 ;10b2: 6704 BSR.S LAB_00D5 ;10b4: 6138 BEQ.S LAB_00D0 ;10b6: 67ea LAB_00D1: RTS ;10b8: 4e75 LAB_00D2: MOVEQ #0,D2 ;10ba: 7400 LAB_00D3: ADDQ.L #1,D2 ;10bc: 5282 BSR.S LAB_00DB ;10be: 6158 BNE.S LAB_00D4 ;10c0: 662a MOVEM.L A0-A1,-(A7) ;10c2: 48e700c0 ADDQ.L #2,A0 ;10c6: 5488 ADDA.L A1,A0 ;10c8: d1c9 MOVEA.L A4,A1 ;10ca: 224c BSR.W LAB_00C9 ;10cc: 6100ff60 MOVEM.L (A7)+,A0-A1 ;10d0: 4cdf0300 BNE.S LAB_00D3 ;10d4: 66e6 MOVE.L A0,D4 ;10d6: 2808 BSR.S LAB_00D7 ;10d8: 6128 BNE.S LAB_00D4 ;10da: 6610 MOVEQ #0,D0 ;10dc: 7000 MOVE.W 0(A1,A0.W),D0 ;10de: 30318000 ANDI.L #$ffff1fff,D0 ;10e2: 0280ffff1fff ORI.B #$04,CCR ;10e8: 003c0004 LAB_00D4: RTS ;10ec: 4e75 LAB_00D5: BSR.S LAB_00DD ;10ee: 613a BNE.S LAB_00D6 ;10f0: 660e DC.W $b23c ;10f2 DC.W $0020 ;10f4 BEQ.S LAB_00D6 ;10f6: 6708 DC.W $b23c ;10f8 ORI.L #$66f08201,-(A0) ;10fa: 00a066f08201 LAB_00D6: RTS ;1100: 4e75 LAB_00D7: BSR.S LAB_00DD ;1102: 6126 BNE.S LAB_00D8+2 ;1104: 6604 DC.W $b23c ;1106 LAB_00D8: ORI.W #$4e75,-(A0) ;1108: 00604e75 LAB_00D9: BSR.S LAB_00DD ;110c: 611c BNE.S LAB_00DA+4 ;110e: 6606 DC.W $b23c ;1110 LAB_00DA: ORI.L #$66f64e75,-(A0) ;1112: 00a066f64e75 LAB_00DB: BSR.S LAB_00DD ;1118: 6110 BNE.S LAB_00DC ;111a: 660c DC.W $b23c ;111c ORI.W #$6706,D0 ;111e: 00406706 DC.W $b23c ;1122 ORI.W #$67f0,-(A0) ;1124: 006067f0 LAB_00DC: RTS ;1128: 4e75 LAB_00DD: BSR.W LAB_00F2 ;112a: 6100011a CMPI.B #$20,D1 ;112e: 0c010020 MOD start marker of application save BNE.S LAB_00DE ;1132: 6606 ADDQ.W #1,A0 ;1134: 5248 ADDA.W D0,A0 ;1136: d0c0 BRA.S LAB_00E1 ;1138: 6024 LAB_00DE: CMPI.B #$40,D1 ;113a: 0c010040 MOD start marker of item save BNE.S LAB_00DF ;113e: 6606 ADDQ.W #2,A0 ;1140: 5448 ADDA.W D0,A0 ;1142: d0c0 BRA.S LAB_00E1 ;1144: 6018 LAB_00DF: CMPI.B #$60,D1 ;1146: 0c010060 MOD length marker of record BNE.S LAB_00E0 ;114a: 660c LSL.W #8,D0 ;114c: e148 MOVE.B 1(A1,A0.W),D0 ;114e: 10318001 ADDQ.W #2,A0 ;1152: 5448 ADDA.W D0,A0 ;1154: d0c0 BRA.S LAB_00E1 ;1156: 6006 LAB_00E0: CMPI.B #$a0,D1 ;1158: 0c0100a0 MOD end marker of all records RTS ;115c: 4e75 LAB_00E1: BSR.W LAB_00F2 ;115e: 610000e6 ORI.B #$04,CCR ;1162: 003c0004 RTS ;1166: 4e75 LAB_00E2: MOVEM.L D0-D7/A0-A6,-(A7) ;1168: 48e7fffe MOVEA.L #$0000000a,A0 ;116c: 207c00000018 MOVEA.L #$00000018,A0 ;116c: 207c00000018 MOD starting address of the application storage space MODIFIED VALUE MOVEQ #0,D2 ;1172: 7400 BSR.W LAB_00F2 ;1174: 610000d0 BRA.S LAB_00E4 ;1178: 6002 LAB_00E3: BSR.S LAB_00DD ;117a: 61ae LAB_00E4: CMPI.B #$20,D1 ;117c: 0c010020 MOD start marker of application save BEQ.S LAB_00E5 ;1180: 6714 CMPI.B #$40,D1 ;1182: 0c010040 MOD start marker of item save BEQ.S LAB_00E6 ;1186: 6712 CMPI.B #$60,D1 ;1188: 0c010060 MOD length marker of record BEQ.S LAB_00E3 ;118c: 67ec CMPI.B #$a0,D1 ;118e: 0c0100a0 MOD end marker of all records BEQ.S LAB_00E7 ;1192: 6724 BRA.S LAB_00E9 ;1194: 604a LAB_00E5: MOVEA.L A0,A3 ;1196: 2648 BRA.S LAB_00E3 ;1198: 60e0 LAB_00E6: MOVEA.L A0,A4 ;119a: 2848 BTST #7,1(A1,A0.W) ;119c: 083100078001 BNE.S LAB_00E3 ;11a2: 66d6 MOVE.B 1(A1,A0.W),D1 ;11a4: 12318001 ANDI.B #$7f,D1 ;11a8: 0201007f DC.W $b401 ;11ac BGT.S LAB_00E3 ;11ae: 6eca MOVE.L D1,D2 ;11b0: 2401 MOVE.L A3,D3 ;11b2: 260b MOVE.L A4,D4 ;11b4: 280c BRA.S LAB_00E3 ;11b6: 60c2 LAB_00E7: MOVEA.L D4,A0 ;11b8: 2044 BSR.W LAB_00DD ;11ba: 6100ff6e BSR.W LAB_00DD ;11be: 6100ff6a MOVE.L A0,D2 ;11c2: 2408 SUB.L D4,D2 ;11c4: 9484 BSR.W LAB_00F5 ;11c6: 610000aa MOVEA.L D3,A0 ;11ca: 2043 BSR.W LAB_00DB ;11cc: 6100ff4a BEQ.S LAB_00E8 ;11d0: 6708 MOVE.L A0,D2 ;11d2: 2408 SUB.L D3,D2 ;11d4: 9483 BSR.W LAB_00F5 ;11d6: 6100009a LAB_00E8: MOVEM.L (A7)+,D0-D7/A0-A6 ;11da: 4cdf7fff RTS ;11de: 4e75 LAB_00E9: BSR.W LAB_00F7 ;11e0: 610000b6 BRA.S LAB_00E8 ;11e4: 60f4 LAB_00EA: ANDI.B #$80,1(A1,D4.W) ;11e6: 023100804001 RTS ;11ec: 4e75 LAB_00EB: MOVEM.L D0-D7/A0-A6,-(A7) ;11ee: 48e7fffe MOVEA.L #$0000000a,A0 ;11f2: 207c00000018 MOVEA.L #$00000018,A0 ;11f2: 207c00000018 MOD starting address of the application storage space MODIFIED VALUE BSR.S LAB_00F2 ;11f8: 614c BRA.S LAB_00ED ;11fa: 6004 LAB_00EC: BSR.W LAB_00DD ;11fc: 6100ff2c LAB_00ED: CMPI.B #$20,D1 ;1200: 0c010020 MOD start marker of application save BEQ.S LAB_00EC ;1204: 67f6 CMPI.B #$40,D1 ;1206: 0c010040 MOD start marker of item save BEQ.S LAB_00EE ;120a: 670e CMPI.B #$60,D1 ;120c: 0c010060 MOD length marker of record BEQ.S LAB_00EC ;1210: 67ea CMPI.B #$a0,D1 ;1212: 0c0100a0 MOD end marker of all records BEQ.S LAB_00F0 ;1216: 6724 BRA.S LAB_00F1 ;1218: 6028 LAB_00EE: MOVE.B 1(A1,A0.W),D0 ;121a: 10318001 MOVE.B D0,D1 ;121e: 1200 ANDI.B #$7f,D0 ;1220: 0200007f MOD possibly disabling the write lock tag, which is the oldest bit in the byte ANDI.B #$80,D1 ;1224: 02010080 MOD possibly preparing to check the write lock bit ADDQ.B #1,D0 ;1228: 5200 CMPI.B #$7f,D0 ;122a: 0c00007f BLE.S LAB_00EF ;122e: 6f04 MOVE.B #$7f,D0 ;1230: 103c007f LAB_00EF: OR.B D1,D0 ;1234: 8001 MOVE.B D0,1(A1,A0.W) ;1236: 13808001 BRA.S LAB_00EC ;123a: 60c0 LAB_00F0: MOVEM.L (A7)+,D0-D7/A0-A6 ;123c: 4cdf7fff RTS ;1240: 4e75 LAB_00F1: BSR.S LAB_00F7 ;1242: 6154 BRA.S LAB_00F0 ;1244: 60f6 LAB_00F2: MOVE.B 0(A1,A0.W),D0 ;1246: 10318000 MOVE.B D0,D1 ;124a: 1200 ANDI.W #$001f,D0 ;124c: 0240001f MOD possibly getting rid of $20, $40, $60 tags ANDI.W #$00e0,D1 ;1250: 024100e0 MOD preparation to compare the read value with $20, $40, $60 RTS ;1254: 4e75 LAB_00F3: MOVEM.L D0-D7/A0-A6,-(A7) ;1256: 48e7fffe MOVEA.L A0,A2 ;125a: 2448 ADDA.L D1,A2 ;125c: d5c1 ADDA.L A1,A2 ;125e: d5c9 ADDQ.L #1,A2 ;1260: 528a LAB_00F4: MOVE.B 0(A1,A0.W),-(A2) ;1262: 15318000 SUBQ.L #1,A0 ;1266: 5388 DC.W $b088 ;1268 BLE.S LAB_00F4 ;126a: 6ff6 MOVEM.L (A7)+,D0-D7/A0-A6 ;126c: 4cdf7fff RTS ;1270: 4e75 LAB_00F5: MOVEM.L D0-D7/A0-A6,-(A7) ;1272: 48e7fffe MOVEA.L A0,A4 ;1276: 2848 BSR.W LAB_00D9 ;1278: 6100fe92 LEA 0(A1,A0.W),A3 ;127c: 47f18000 MOVEA.L A4,A0 ;1280: 204c MOVEA.L A0,A2 ;1282: 2448 SUBA.L D2,A2 ;1284: 95c2 ADDA.L A1,A0 ;1286: d1c9 ADDA.L A1,A2 ;1288: d5c9 LAB_00F6: MOVE.B (A0),(A2)+ ;128a: 14d0 CLR.B (A0)+ ;128c: 4218 DC.W $b7c8 ;128e BGE.S LAB_00F6 ;1290: 6cf8 MOVEM.L (A7)+,D0-D7/A0-A6 ;1292: 4cdf7fff RTS ;1296: 4e75 LAB_00F7: MOVEM.L D0-D7/A0-A6,-(A7) ;1298: 48e7fffe MOVEA.L #$0000000a,A0 ;129c: 207c00000018 MOVEA.L #$00000018,A0 ;129c: 207c00000018 MOD starting address of the application storage space MODIFIED VALUE MOVEQ #2,D6 ;12a2: 7c02 MOVEA.L A0,A3 ;12a4: 2648 BSR.S LAB_00F2 ;12a6: 619e BRA.S LAB_00F9 ;12a8: 6004 LAB_00F8: BSR.W LAB_00DD ;12aa: 6100fe7e LAB_00F9: CMPI.B #$20,D1 ;12ae: 0c010020 MOD start marker of application save BEQ.S LAB_00FA ;12b2: 6714 CMPI.B #$40,D1 ;12b4: 0c010040 MOD start marker of item save BEQ.S LAB_00FB ;12b8: 671a CMPI.B #$60,D1 ;12ba: 0c010060 MOD length marker of record BEQ.S LAB_00FC ;12be: 671e CMPI.B #$a0,D1 ;12c0: 0c0100a0 MOD end marker of all records BEQ.S LAB_00FD ;12c4: 6722 BRA.S LAB_00FE ;12c6: 6026 LAB_00FA: CMPI.W #$0002,D6 ;12c8: 0c460002 BNE.S LAB_00FE ;12cc: 6620 MOVEQ #1,D6 ;12ce: 7c01 MOVEA.L A0,A3 ;12d0: 2648 BRA.S LAB_00F8 ;12d2: 60d6 LAB_00FB: CMPI.W #$0003,D6 ;12d4: 0c460003 BGE.S LAB_00FE ;12d8: 6c14 MOVEQ #3,D6 ;12da: 7c03 BRA.S LAB_00F8 ;12dc: 60cc LAB_00FC: CMPI.W #$0003,D6 ;12de: 0c460003 BNE.S LAB_00FE ;12e2: 660a MOVEQ #2,D6 ;12e4: 7c02 BRA.S LAB_00F8 ;12e6: 60c2 LAB_00FD: CMPI.W #$0002,D6 ;12e8: 0c460002 BEQ.S LAB_00FF ;12ec: 670a LAB_00FE: MOVE.B #$a0,0(A1,A3.W) ;12ee: 13bc00a0b000 MOD I2C EEPROM memory address ? BSR.W LAB_00CD ;12f4: 6100fd72 LAB_00FF: MOVEM.L (A7)+,D0-D7/A0-A6 ;12f8: 4cdf7fff RTS ;12fc: 4e75 LAB_0100: MOVEA.L #$0000000a,A0 ;12fe: 207c00000018 MOVEA.L #$00000018,A0 ;12fe: 207c00000018 MOD starting address of the application storage space MODIFIED VALUE MOVEA.L 56(A5),A1 ;1304: 226d0038 CMPI.L #$0056a900,(A1) ;1308: 0c910056a900 MOD header RTS ;130e: 4e75 LAB_0101: MOVEM.L D0-D7/A0-A6,-(A7) ;1310: 48e7fffe MOVEA.L #$0000000a,A0 ;1314: 207c00000018 MOVEA.L #$00000018,A0 ;1314: 207c00000018 MOD starting address of the application storage space MODIFIED VALUE BSR.W LAB_00F2 ;131a: 6100ff2a BRA.S LAB_0103 ;131e: 6004 LAB_0102: BSR.W LAB_00DD ;1320: 6100fe08 LAB_0103: CMPI.B #$20,D1 ;1324: 0c010020 MOD start marker of application save BEQ.S LAB_0102 ;1328: 67f6 CMPI.B #$40,D1 ;132a: 0c010040 MOD start marker of item save BEQ.S LAB_0102 ;132e: 67f0 CMPI.B #$60,D1 ;1330: 0c010060 MOD length marker of record BEQ.S LAB_0102 ;1334: 67ea CMPI.B #$a0,D1 ;1336: 0c0100a0 MOD end marker of all records MOVEM.L (A7)+,D0-D7/A0-A6 ;133a: 4cdf7fff RTS ;133e: 4e75 LAB_0104: MOVEM.L D0-D7/A2-A6,-(A7) ;1340: 48e7ff3e CMPI.L #$00000003,D1 ;1344: 0c8100000003 BNE.S LAB_0107 ;134a: 6628 MOVEA.L D4,A0 ;134c: 2044 MOVE.L A0,-(A7) ;134e: 2f08 ADDQ.W #1,A0 ;1350: 5248 MOVEQ #30,D0 ;1352: 701e LAB_0105: TST.B (A3) ;1354: 4a13 BEQ.S LAB_0106 ;1356: 670a MOVE.B (A3)+,0(A1,A0.W) ;1358: 139b8000 ADDQ.W #1,A0 ;135c: 5248 DBF D0,LAB_0105 ;135e: 51c8fff4 LAB_0106: ADDQ.W #1,D0 ;1362: 5240 MOVEQ #31,D1 ;1364: 721f SUB.W D0,D1 ;1366: 9240 ORI.W #$0020,D1 ;1368: 00410020 MOVEA.L (A7)+,A3 ;136c: 265f MOVE.B D1,0(A1,A3.W) ;136e: 1381b000 BRA.S LAB_0108 ;1372: 600a LAB_0107: CMPI.L #$00000002,D1 ;1374: 0c8100000002 BNE.S LAB_010B ;137a: 662c MOVEA.L D4,A0 ;137c: 2044 LAB_0108: MOVE.L A0,-(A7) ;137e: 2f08 ADDQ.W #2,A0 ;1380: 5448 MOVEQ #30,D0 ;1382: 701e LAB_0109: TST.B (A4) ;1384: 4a14 BEQ.S LAB_010A ;1386: 670a MOVE.B (A4)+,0(A1,A0.W) ;1388: 139c8000 ADDQ.W #1,A0 ;138c: 5248 DBF D0,LAB_0109 ;138e: 51c8fff4 LAB_010A: ADDQ.W #1,D0 ;1392: 5240 MOVEQ #31,D1 ;1394: 721f SUB.W D0,D1 ;1396: 9240 ORI.W #$0040,D1 ;1398: 00410040 MOVEA.L (A7)+,A3 ;139c: 265f MOVE.B D1,0(A1,A3.W) ;139e: 1381b000 CLR.B 1(A1,A3.W) ;13a2: 4231b001 BRA.S LAB_010C ;13a6: 600a LAB_010B: CMPI.L #$00000001,D1 ;13a8: 0c8100000001 BNE.S LAB_010E ;13ae: 661c MOVEA.L D5,A0 ;13b0: 2045 LAB_010C: MOVE.L D6,-(A7) ;13b2: 2f06 ORI.W #$6000,D6 ;13b4: 00466000 MOD set recording length (stored in D6) along with the tag ($60) - after this it should be saved in memory MOVE.W D6,0(A1,A0.W) ;13b8: 33868000 ADDQ.W #2,A0 ;13bc: 5448 MOVE.L (A7)+,D6 ;13be: 2c1f SUBQ.L #1,D6 ;13c0: 5386 LAB_010D: MOVE.B (A2)+,0(A1,A0.W) ;13c2: 139a8000 ADDQ.W #1,A0 ;13c6: 5248 DBF D6,LAB_010D ;13c8: 51cefff8 LAB_010E: MOVEM.L (A7)+,D0-D7/A2-A6 ;13cc: 4cdf7cffcc RTS ;13d0: 4e75 DS.W 1 ;13d2 LAB_010F: MOVEM.L D0/D2-D4/A5-A6,-(A7) ;13d4: 48e7b806 MOVEA.L A6,A5 ;13d8: 2a4e BSR.W LAB_011E ;13da: 6100016a BSR.S LAB_0113 ;13de: 6164 MOVEA.L 44(A5),A6 ;13e0: 2c6d002c MOVE.L 60(A5),D1 ;13e4: 222d003c BEQ.S LAB_0111 ;13e8: 674a SUBA.L #$00000028,A7 ;13ea: 9ffc00000028 MOVE.L A7,D2 ;13f0: 240f ADDQ.L #3,D2 ;13f2: 5682 DC.W $c43c ;13f4 DC.W $00fc ;13f6 JSR -114(A6) ;13f8: 4eaeff8e MOVEA.L D2,A0 ;13fc: 2042 MOVE.L 20(A0),D2 ;13fe: 24280014 MOVE.L 12(A0),D3 ;1402: 2628000c MOVE.L D3,D4 ;1406: 2803 SUB.L 16(A0),D4 ;1408: 98a80010 LEA 40(A7),A7 ;140c: 4fef0028 TST.W D0 ;1410: 4a40 BEQ.S LAB_0111 ;1412: 6720 MOVEA.L 48(A5),A6 ;1414: 2c6d0030 MOVE.L D2,D0 ;1418: 2002 MOVE.L D3,D1 ;141a: 2203 JSR -144(A6) ;141c: 4eaeff70 MOVE.L D0,D3 ;1420: 2600 SUBQ.L #3,D4 ;1422: 5784 BCS.S LAB_0110 ;1424: 650a MOVE.L D2,D0 ;1426: 2002 MOVE.L D4,D1 ;1428: 2204 JSR -144(A6) ;142a: 4eaeff70 BRA.S LAB_0112 ;142e: 6008 LAB_0110: MOVEQ #0,D0 ;1430: 7000 BRA.S LAB_0112 ;1432: 6004 LAB_0111: MOVEQ #0,D0 ;1434: 7000 MOVE.L D0,D3 ;1436: 2600 LAB_0112: MOVEA.L (A7)+,A0 ;1438: 205f MOVE.L D3,(A0)+ ;143a: 20c3 MOVE.L D0,(A0)+ ;143c: 20c0 MOVEM.L (A7)+,D2-D4/A5-A6 ;143e: 4cdf601c RTS ;1442: 4e75 LAB_0113: MOVEM.L D2-D4/A4-A6,-(A7) ;1444: 48e7380e MOVEA.L 40(A5),A6 ;1448: 2c6d0028 LEA 110(A5),A0 ;144c: 41ed006e JSR -564(A6) ;1450: 4eaefdcc MOVEQ #1,D1 ;1454: 7201 EXT.L D1 ;1456: 48c1 MOVE.L D1,-(A7) ;1458: 2f01 BEQ.S LAB_0114 ;145a: 6716 TST.L 52(A5) ;145c: 4aad0034 BEQ.S LAB_0114 ;1460: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;1462: 48e7c0c2 MOVEA.L 52(A5),A6 ;1466: 2c6d0034 JSR -120(A6) ;146a: 4eaeff88 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;146e: 4cdf4303 LAB_0114: MOVEQ #1,D3 ;1472: 7601 ROL.L #8,D3 ;1474: e19b LEA LAB_0122(PC),A1 ;1476: 43fa010f MOVEQ #0,D0 ;147a: 7000 JSR -552(A6) ;147c: 4eaefdd8 MOVE.L D0,D4 ;1480: 2800 BEQ.W LAB_011C ;1482: 6700009a MOVE.L D4,-(A7) ;1486: 2f04 TST.L 44(A5) ;1488: 4aad002c BEQ.W LAB_011B ;148c: 67000086 MOVEA.L 44(A5),A6 ;1490: 2c6d002c ADD.L #$0000004a,D4 ;1494: d8bc0000004a MOVEA.L D4,A0 ;149a: 2044 MOVE.L (A0),D4 ;149c: 2810 LEA LAB_0120(PC),A0 ;149e: 41fa00c0 LAB_0115: MOVEA.L A7,A4 ;14a2: 284f SUBA.L D3,A7 ;14a4: 9fc3 MOVE.W #$0022,D0 ;14a6: 303c0022 LEA LAB_0121(PC),A1 ;14aa: 43fa00b8 LAB_0116: MOVE.B 0(A1,D0.W),-(A4) ;14ae: 19310000 DBF D0,LAB_0116 ;14b2: 51c8fffa MOVE.B (A0)+,D0 ;14b6: 1018 EXT.W D0 ;14b8: 4880 BRA.S LAB_0118 ;14ba: 6004 LAB_0117: MOVE.B 0(A0,D0.W),-(A4) ;14bc: 19300000 LAB_0118: DBF D0,LAB_0117 ;14c0: 51c8fffa MOVE.L A4,D1 ;14c4: 220c MOVE.L #$000003ed,D2 ;14c6: 243c000003ed JSR -30(A6) ;14cc: 4eaeffe2 ADDA.L D3,A7 ;14d0: dfc3 MOVE.L D0,D1 ;14d2: 2200 BEQ.S LAB_011A ;14d4: 672a SUBA.L D3,A7 ;14d6: 9fc3 MOVE.L A7,D2 ;14d8: 240f MOVE.L D1,-(A7) ;14da: 2f01 JSR -42(A6) ;14dc: 4eaeffd6 MOVE.L (A7)+,D1 ;14e0: 221f JSR -36(A6) ;14e2: 4eaeffdc MOVE.L D2,D1 ;14e6: 2202 MOVEA.L D2,A1 ;14e8: 2242 LAB_0119: CMPI.B #$20,(A1)+ ;14ea: 0c190020 MOD start marker of application save BGE.S LAB_0119 ;14ee: 6cfa MOVE.B D3,-(A1) ;14f0: 1303 MOVEQ #-2,D2 ;14f2: 74fe JSR -84(A6) ;14f4: 4eaeffac ADDA.L D3,A7 ;14f8: dfc3 MOVE.L D0,60(A5) ;14fa: 2b40003c BNE.S LAB_011B ;14fe: 6614 LAB_011A: MOVEA.L D4,A0 ;1500: 2044 MOVE.L (A0),D4 ;1502: 2810 BEQ.S LAB_011B ;1504: 670e MOVEA.L 16(A0),A0 ;1506: 20680010 MOVE.L 40(A0),D0 ;150a: 20280028 LSL.L #2,D0 ;150e: e588 MOVEA.L D0,A0 ;1510: 2040 BRA.S LAB_0115 ;1512: 608e LAB_011B: MOVEA.L (A7)+,A1 ;1514: 225f MOVEA.L 40(A5),A6 ;1516: 2c6d0028 JSR -414(A6) ;151a: 4eaefe62 LAB_011C: MOVE.L (A7)+,D1 ;151e: 221f BEQ.S LAB_011D ;1520: 6716 TST.L 52(A5) ;1522: 4aad0034 BEQ.S LAB_011D ;1526: 6710 MOVEM.L D0-D1/A0-A1/A6,-(A7) ;1528: 48e7c0c2 MOVEA.L 52(A5),A6 ;152c: 2c6d0034 JSR -126(A6) ;1530: 4eaeff82 MOVEM.L (A7)+,D0-D1/A0-A1/A6 ;1534: 4cdf4303 LAB_011D: LEA 110(A5),A0 ;1538: 41ed006e JSR -570(A6) ;153c: 4eaefdc6 MOVEM.L (A7)+,D2-D4/A4-A6 ;1540: 4cdf701c RTS ;1544: 4e75 LAB_011E: MOVE.L 60(A5),D1 ;1546: 222d003c BEQ.S LAB_011F ;154a: 6712 MOVE.L A6,-(A7) ;154c: 2f0e MOVEQ #0,D0 ;154e: 7000 MOVE.L D0,60(A5) ;1550: 2b40003c MOVEA.L 44(A5),A6 ;1554: 2c6d002c JSR -90(A6) ;1558: 4eaeffa6 MOVEA.L (A7)+,A6 ;155c: 2c5f LAB_011F: RTS ;155e: 4e75 LAB_0120: DC.L $03535953 ;1560 LAB_0121: ;1564 ;DC.B $3a,$70,$72,$65,$66,$73,$2f,$65,$6e,$76,$2d,$61,$72,$63,$68,$69 ;DC.B $76,$65,$2f,$73,$79,$73,$2f,$6e,$76,$5f,$6c,$6f,$63,$61,$74,$69 ;DC.B $6f,$6e,$00 DC.B ":prefs/env-archive/sys/nv_location",0 LAB_0122: ;1587 ;DC.B $65,$78,$70,$61,$6e,$73,$69,$6f,$6e,$2e,$6c,$69,$62,$72,$61,$72 ;DC.B $79,$00,$00,$00,$00 DC.B "expansion.library",0,0,0,0 LAB_0123: MOVEQ #0,D0 ;159c: 7000 MOVE.L 60(A5),D1 ;159e: 222d003c BEQ.S LAB_0129 ;15a2: 6778 MOVEM.L D2/D7/A2/A6,-(A7) ;15a4: 48e72122 MOVEA.L 44(A5),A6 ;15a8: 2c6d002c MOVEQ #0,D7 ;15ac: 7e00 MOVE.L A0,-(A7) ;15ae: 2f08 JSR -126(A6) ;15b0: 4eaeff82 MOVE.L D0,-(A7) ;15b4: 2f00 MOVE.L 4(A7),D1 ;15b6: 222f0004 BEQ.S LAB_0124 ;15ba: 6704 BSR.S LAB_012A ;15bc: 6160 BRA.S LAB_0128 ;15be: 6050 LAB_0124: MOVE.L 60(A5),D1 ;15c0: 222d003c SUBA.L #$00000108,A7 ;15c4: 9ffc00000108 MOVE.L A7,D2 ;15ca: 240f ADDQ.L #3,D2 ;15cc: 5682 DC.W $c43c ;15ce DC.W $00fc ;15d0 MOVEA.L D2,A2 ;15d2: 2442 JSR -102(A6) ;15d4: 4eaeff9a LAB_0125: MOVE.L 60(A5),D1 ;15d8: 222d003c JSR -108(A6) ;15dc: 4eaeff94 TST.W D0 ;15e0: 4a40 BEQ.S LAB_0127 ;15e2: 6728 TST.B 4(A2) ;15e4: 4a2a0004 BMI.S LAB_0125 ;15e8: 6bee LAB_0126: ADDQ.W #1,D0 ;15ea: 5240 TST.B 8(A2,D0.W) ;15ec: 4a320008 BNE.S LAB_0126 ;15f0: 66f8 ADD.W #$0015,D0 ;15f2: d07c0015 EXT.L D0 ;15f6: 48c0 ADD.L D0,D7 ;15f8: de80 MOVEM.L D2/A2,-(A7) ;15fa: 48e72020 LEA 8(A2),A0 ;15fe: 41ea0008 MOVE.L A0,D1 ;1602: 2208 BSR.S LAB_012A ;1604: 6118 MOVEM.L (A7)+,D2/A2 ;1606: 4cdf0404 BRA.S LAB_0125 ;160a: 60cc LAB_0127: LEA 264(A7),A7 ;160c: 4fef0108 LAB_0128: MOVE.L (A7)+,D1 ;1610: 221f JSR -126(A6) ;1612: 4eaeff82 MOVE.L D7,D0 ;1616: 2007 MOVEM.L (A7)+,D1-D2/D7/A2/A6 ;1618: 4cdf4486 LAB_0129: RTS ;161c: 4e75 LAB_012A: MOVEQ #-2,D2 ;161e: 74fe JSR -84(A6) ;1620: 4eaeffac MOVE.L D0,D1 ;1624: 2200 BEQ.S LAB_012E ;1626: 673c SUBA.L #$00000108,A7 ;1628: 9ffc00000108 MOVE.L A7,D2 ;162e: 240f ADDQ.L #3,D2 ;1630: 5682 DC.W $c43c ;1632 DC.W $00fc ;1634 MOVEA.L D2,A2 ;1636: 2442 MOVE.L D1,-(A7) ;1638: 2f01 JSR -102(A6) ;163a: 4eaeff9a LAB_012B: MOVE.L (A7),D1 ;163e: 2217 JSR -108(A6) ;1640: 4eaeff94 TST.W D0 ;1644: 4a40 BEQ.S LAB_012D ;1646: 6712 LAB_012C: ADDQ.W #1,D0 ;1648: 5240 TST.B 8(A2,D0.W) ;164a: 4a320008 BNE.S LAB_012C ;164e: 66f8 ADD.W #$0015,D0 ;1650: d07c0015 EXT.L D0 ;1654: 48c0 ADD.L D0,D7 ;1656: de80 BRA.S LAB_012B ;1658: 60e4 LAB_012D: MOVE.L (A7)+,D1 ;165a: 221f JSR -90(A6) ;165c: 4eaeffa6 LEA 264(A7),A7 ;1660: 4fef0108 LAB_012E: RTS ;1664: 4e75 DS.W 1 ;1666 LAB_012F: MOVEM.L D2-D4/A3/A6,-(A7) ;1668: 48e73812 MOVE.L 60(A5),D4 ;166c: 282d003c BEQ.S LAB_0134 ;1670: 676a MOVEA.L 44(A5),A6 ;1672: 2c6d002c MOVEQ #0,D3 ;1676: 7600 DC.W $b68c ;1678 BEQ.S LAB_0130 ;167a: 6722 MOVE.L D4,D1 ;167c: 2204 JSR -126(A6) ;167e: 4eaeff82 MOVE.L D0,-(A7) ;1682: 2f00 MOVEQ #-2,D2 ;1684: 74fe MOVE.L A4,D1 ;1686: 220c JSR -84(A6) ;1688: 4eaeffac MOVE.L D0,D4 ;168c: 2800 MOVE.L (A7)+,D1 ;168e: 221f JSR -126(A6) ;1690: 4eaeff82 TST.L D4 ;1694: 4a84 BEQ.S LAB_0134 ;1696: 6744 MOVE.L #$7fffffff,D3 ;1698: 263c7fffffff LAB_0130: SUBA.L #$00000108,A7 ;169e: 9ffc00000108 MOVE.L A7,D2 ;16a4: 240f ADDQ.L #3,D2 ;16a6: 5682 DC.W $c43c ;16a8 DC.W $00fc ;16aa MOVEA.L D2,A3 ;16ac: 2642 MOVE.L D4,D1 ;16ae: 2204 JSR -102(A6) ;16b0: 4eaeff9a LAB_0131: MOVE.L D4,D1 ;16b4: 2204 JSR -108(A6) ;16b6: 4eaeff94 TST.W D0 ;16ba: 4a40 BEQ.S LAB_0133 ;16bc: 6710 DC.W $b6ab ;16be DC.W $0004 ;16c0 BPL.S LAB_0131 ;16c2: 6af0 LAB_0132: ADDQ.W #1,D0 ;16c4: 5240 MOVE.B 8(A3,D0.W),(A2)+ ;16c6: 14f30008 BNE.S LAB_0132 ;16ca: 66f8 BRA.S LAB_0131 ;16cc: 60e6 LAB_0133: LEA 264(A7),A7 ;16ce: 4fef0108 TST.L D3 ;16d2: 4a83 BEQ.S LAB_0134 ;16d4: 6706 MOVE.L D4,D1 ;16d6: 2204 JSR -90(A6) ;16d8: 4eaeffa6 LAB_0134: MOVEM.L (A7)+,D2-D4/A3/A6 ;16dc: 4cdf481c RTS ;16e0: 4e75 LAB_0135: MOVEM.L D2-D4/A3/A6,-(A7) ;16e2: 48e73812 MOVEA.L 44(A5),A6 ;16e6: 2c6d002c MOVE.L 60(A5),D1 ;16ea: 222d003c BEQ.S LAB_0137 ;16ee: 6760 JSR -126(A6) ;16f0: 4eaeff82 MOVE.L D0,-(A7) ;16f4: 2f00 MOVEQ #-2,D2 ;16f6: 74fe MOVE.L A4,D1 ;16f8: 220c JSR -84(A6) ;16fa: 4eaeffac MOVE.L D0,D4 ;16fe: 2800 JSR -126(A6) ;1700: 4eaeff82 MOVE.L A3,D1 ;1704: 220b JSR -84(A6) ;1706: 4eaeffac MOVE.L D0,D3 ;170a: 2600 MOVE.L (A7)+,D1 ;170c: 221f JSR -126(A6) ;170e: 4eaeff82 MOVE.L D3,D1 ;1712: 2203 BEQ.S LAB_0136 ;1714: 6732 SUBA.L #$00000108,A7 ;1716: 9ffc00000108 MOVE.L A7,D2 ;171c: 240f ADDQ.L #3,D2 ;171e: 5682 DC.W $c43c ;1720 DC.W $00fc ;1722 MOVEA.L D2,A3 ;1724: 2642 JSR -102(A6) ;1726: 4eaeff9a MOVE.L 116(A3),D0 ;172a: 202b0074 OR.L D0,4(A2) ;172e: 81aa0004 MOVE.L (A2),D0 ;1732: 2012 DC.W $b0ab ;1734 ORI.W #$6e04,SR ;1736: 007c6e04 MOVE.L 124(A3),(A2) ;173a: 24ab007c LEA 264(A7),A7 ;173e: 4fef0108 MOVE.L D3,D1 ;1742: 2203 JSR -90(A6) ;1744: 4eaeffa6 LAB_0136: MOVE.L D4,D1 ;1748: 2204 BEQ.S LAB_0137 ;174a: 6704 JSR -90(A6) ;174c: 4eaeffa6 LAB_0137: MOVEM.L (A7)+,D2-D4/A3/A6 ;1750: 4cdf481c RTS ;1754: 4e75 DS.W 1 ;1756 LAB_0138: MOVE.L D7,-(A7) ;1758: 2f07 MOVEQ #0,D7 ;175a: 7e00 MOVE.L 60(A6),D1 ;175c: 222e003c BEQ.W LAB_013F ;1760: 670000d6 TST.B (A0) ;1764: 4a10 BNE.S LAB_0139 ;1766: 6608 TST.B (A1) ;1768: 4a11 BNE.S LAB_0139 ;176a: 6604 BRA.W LAB_013F ;176c: 600000ca LAB_0139: MOVEM.L D2-D6/A0-A6,-(A7) ;1770: 48e73efe MOVEA.L A6,A5 ;1774: 2a4e MOVEA.L 44(A5),A6 ;1776: 2c6d002c JSR -126(A6) ;177a: 4eaeff82 MOVEA.L D0,A3 ;177e: 2640 MOVE.L 20(A7),D1 ;1780: 222f0014 MOVEQ #-2,D2 ;1784: 74fe JSR -84(A6) ;1786: 4eaeffac MOVE.L D0,D6 ;178a: 2c00 BEQ.W LAB_013E ;178c: 670000a0 MOVE.L D0,D1 ;1790: 2200 JSR -126(A6) ;1792: 4eaeff82 MOVE.L 24(A7),D1 ;1796: 222f0018 MOVEQ #-2,D2 ;179a: 74fe JSR -84(A6) ;179c: 4eaeffac MOVE.L D0,D5 ;17a0: 2a00 BEQ.W LAB_013D ;17a2: 67000084 SUBA.L #$00000108,A7 ;17a6: 9ffc00000108 MOVE.L A7,D2 ;17ac: 240f ADDQ.L #3,D2 ;17ae: 5682 DC.W $c43c ;17b0 DC.W $00fc ;17b2 MOVEA.L D2,A2 ;17b4: 2442 MOVE.L D5,D1 ;17b6: 2205 JSR -102(A6) ;17b8: 4eaeff9a MOVE.L 124(A2),D4 ;17bc: 282a007c LEA 264(A7),A7 ;17c0: 4fef0108 TST.W D0 ;17c4: 4a40 BEQ.S LAB_013C ;17c6: 675a ADDQ.L #4,D4 ;17c8: 5884 MOVE.L D4,D0 ;17ca: 2004 MOVEQ #1,D1 ;17cc: 7201 MOVEA.L 40(A5),A6 ;17ce: 2c6d0028 JSR -198(A6) ;17d2: 4eaeff3a MOVEA.L 44(A5),A6 ;17d6: 2c6d002c TST.L D0 ;17da: 4a80 BEQ.S LAB_013C ;17dc: 6744 MOVEA.L D0,A0 ;17de: 2040 MOVE.L D4,(A0)+ ;17e0: 20c4 SUBQ.L #4,D4 ;17e2: 5984 MOVE.L A0,D7 ;17e4: 2e08 MOVE.L D5,D1 ;17e6: 2205 JSR -378(A6) ;17e8: 4eaefe86 MOVE.L D0,D1 ;17ec: 2200 BEQ.S LAB_013A ;17ee: 6718 MOVE.L D1,D5 ;17f0: 2a01 MOVE.L D7,D2 ;17f2: 2407 MOVE.L D4,D3 ;17f4: 2604 JSR -42(A6) ;17f6: 4eaeffd6 SUB.L D0,D4 ;17fa: 9880 MOVE.L D5,D1 ;17fc: 2205 JSR -36(A6) ;17fe: 4eaeffdc TST.L D4 ;1802: 4a84 BNE.S LAB_013B ;1804: 6608 BRA.S LAB_013D ;1806: 6020 LAB_013A: MOVE.L D5,D1 ;1808: 2205 JSR -90(A6) ;180a: 4eaeffa6 LAB_013B: MOVEA.L D7,A1 ;180e: 2247 MOVE.L -(A1),D0 ;1810: 2021 MOVEA.L 40(A5),A6 ;1812: 2c6d0028 JSR -210(A6) ;1816: 4eaeff2e MOVEA.L 44(A5),A6 ;181a: 2c6d002c MOVEQ #0,D7 ;181e: 7e00 BRA.S LAB_013D ;1820: 6006 LAB_013C: MOVE.L D5,D1 ;1822: 2205 JSR -90(A6) ;1824: 4eaeffa6 LAB_013D: MOVE.L D6,D1 ;1828: 2206 JSR -90(A6) ;182a: 4eaeffa6 LAB_013E: MOVE.L A3,D1 ;182e: 220b JSR -126(A6) ;1830: 4eaeff82 MOVEM.L (A7)+,D2-D6/A0-A6 ;1834: 4cdf7f7c LAB_013F: MOVE.L D7,D0 ;1838: 2007 MOVE.L (A7)+,D7 ;183a: 2e1f RTS ;183c: 4e75 LAB_0140: MOVE.L D7,-(A7) ;183e: 2f07 MOVEQ #3,D7 ;1840: 7e03 MOVEM.L D1-D6/A0-A1/A4-A6,-(A7) ;1842: 48e77ece MOVEA.L A6,A5 ;1846: 2a4e MOVE.L D0,D3 ;1848: 2600 MOVEQ #31,D4 ;184a: 781f MOVEA.L 44(A5),A6 ;184c: 2c6d002c MOVE.L 60(A5),D1 ;1850: 222d003c BEQ.W LAB_014C ;1854: 670000d0 TST.B (A0) ;1858: 4a10 BNE.S LAB_0141 ;185a: 6608 TST.B (A1) ;185c: 4a11 BNE.S LAB_0141 ;185e: 6604 BRA.W LAB_014C ;1860: 600000c4 LAB_0141: SUBA.L A4,A4 ;1864: 99cc JSR -126(A6) ;1866: 4eaeff82 MOVE.L D0,D6 ;186a: 2c00 LAB_0142: MOVE.L 24(A7),D1 ;186c: 222f0018 MOVEQ #-2,D2 ;1870: 74fe JSR -84(A6) ;1872: 4eaeffac MOVE.L D0,D5 ;1876: 2a00 BNE.S LAB_0143 ;1878: 6618 MOVE.L 24(A7),D1 ;187a: 222f0018 JSR -120(A6) ;187e: 4eaeff88 MOVE.L D0,D1 ;1882: 2200 BEQ.S LAB_0145 ;1884: 6748 MOVEA.L #$00000001,A4 ;1886: 287c00000001 JSR -90(A6) ;188c: 4eaeffa6 BRA.S LAB_0142 ;1890: 60da LAB_0143: MOVE.L D0,D1 ;1892: 2200 JSR -126(A6) ;1894: 4eaeff82 MOVE.L 28(A7),D1 ;1898: 222f001c MOVE.L (A7),D2 ;189c: 2417 JSR -30(A6) ;189e: 4eaeffe2 MOVE.L D0,D4 ;18a2: 2800 BEQ.S LAB_0145 ;18a4: 6728 CMPI.L #$000003ee,D2 ;18a6: 0c82000003ee BNE.S LAB_0144 ;18ac: 6606 MOVEA.L #$00000001,A4 ;18ae: 287c00000001 LAB_0144: MOVE.L D4,D1 ;18b4: 2204 MOVE.L A2,D2 ;18b6: 240a JSR -48(A6) ;18b8: 4eaeffd0 SUB.L D0,D3 ;18bc: 9680 MOVE.L D4,D1 ;18be: 2204 JSR -36(A6) ;18c0: 4eaeffdc MOVEQ #4,D7 ;18c4: 7e04 TST.L D3 ;18c6: 4a83 BNE.S LAB_0145 ;18c8: 6604 MOVE.L D3,D7 ;18ca: 2e03 BRA.S LAB_014A ;18cc: 604a LAB_0145: JSR -132(A6) ;18ce: 4eaeff7c DC.W $b0bc ;18d2 ORI.B #$ce,D0 ;18d4: 000000ce BEQ.S LAB_0147 ;18d8: 6720 DC.W $b0bc ;18da ORI.B #$d2,D0 ;18dc: 000000d2 BEQ.S LAB_0147 ;18e0: 6718 DC.W $b0bc ;18e2 ORI.B #$d6,D0 ;18e4: 000000d6 BEQ.S LAB_0146 ;18e8: 6708 DC.W $b0bc ;18ea ORI.B #$df,D0 ;18ec: 000000df BNE.S LAB_0148 ;18f0: 660a LAB_0146: MOVE.L #$80000002,D7 ;18f2: 2e3c80000002 BRA.S LAB_014A ;18f8: 601e LAB_0147: MOVEQ #1,D7 ;18fa: 7e01 LAB_0148: MOVE.L A4,D1 ;18fc: 220c BEQ.S LAB_014A ;18fe: 6718 MOVE.L D5,D1 ;1900: 2205 BEQ.S LAB_0149 ;1902: 6704 JSR -90(A6) ;1904: 4eaeffa6 LAB_0149: MOVEA.L 24(A7),A0 ;1908: 206f0018 MOVEA.L 28(A7),A1 ;190c: 226f001c DC.W $cb4e ;1910 BSR.S LAB_014D ;1912: 611c DC.W $cb4e ;1914 BRA.S LAB_014B ;1916: 6008 LAB_014A: MOVE.L D5,D1 ;1918: 2205 BEQ.S LAB_014B ;191a: 6704 JSR -90(A6) ;191c: 4eaeffa6 LAB_014B: MOVE.L D6,D1 ;1920: 2206 JSR -126(A6) ;1922: 4eaeff82 LAB_014C: MOVEM.L (A7)+,D1-D6/A0-A1/A4-A6 ;1926: 4cdf737e MOVE.L D7,D0 ;192a: 2007 MOVE.L (A7)+,D7 ;192c: 2e1f RTS ;192e: 4e75 LAB_014D: MOVEM.L D3-D7/A0-A1/A5-A6,-(A7) ;1930: 48e71fc6 MOVEQ #0,D7 ;1934: 7e00 MOVE.L 60(A6),D1 ;1936: 222e003c BEQ.S LAB_0150 ;193a: 674e TST.B (A0) ;193c: 4a10 BNE.S LAB_014E ;193e: 6606 TST.B (A1) ;1940: 4a11 BNE.S LAB_014E ;1942: 6602 BRA.S LAB_0150 ;1944: 6044 LAB_014E: MOVE.L A0,D3 ;1946: 2608 MOVE.L A1,D4 ;1948: 2809 MOVEA.L A6,A5 ;194a: 2a4e MOVEA.L 44(A5),A6 ;194c: 2c6d002c JSR -126(A6) ;1950: 4eaeff82 MOVE.L D0,D6 ;1954: 2c00 MOVE.L D3,D1 ;1956: 2203 MOVEQ #-2,D2 ;1958: 74fe JSR -84(A6) ;195a: 4eaeffac MOVE.L D0,D5 ;195e: 2a00 BEQ.S LAB_014F ;1960: 6714 MOVE.L D0,D1 ;1962: 2200 JSR -126(A6) ;1964: 4eaeff82 MOVE.L D4,D1 ;1968: 2204 JSR -72(A6) ;196a: 4eaeffb8 MOVE.L D0,D7 ;196e: 2e00 MOVE.L D5,D1 ;1970: 2205 JSR -90(A6) ;1972: 4eaeffa6 LAB_014F: MOVE.L 60(A5),D1 ;1976: 222d003c JSR -126(A6) ;197a: 4eaeff82 MOVE.L D3,D1 ;197e: 2203 JSR -72(A6) ;1980: 4eaeffb8 MOVE.L D6,D1 ;1984: 2206 JSR -126(A6) ;1986: 4eaeff82 LAB_0150: MOVE.L D7,D0 ;198a: 2007 MOVEM.L (A7)+,D3-D7/A0-A1/A5-A6 ;198c: 4cdf63f8 RTS ;1990: 4e75 DS.W 1 ;1992 LAB_0151: MOVEM.L D4-D5/A3/A6,-(A7) ;1994: 48e70c12 MOVEA.L 44(A5),A6 ;1998: 2c6d002c MOVE.L 60(A5),D1 ;199c: 222d003c BEQ.S LAB_0153 ;19a0: 6768 JSR -126(A6) ;19a2: 4eaeff82 MOVE.L D0,-(A7) ;19a6: 2f00 MOVE.L D2,-(A7) ;19a8: 2f02 MOVEQ #-2,D2 ;19aa: 74fe MOVE.L A3,D1 ;19ac: 220b JSR -84(A6) ;19ae: 4eaeffac MOVE.L D0,D5 ;19b2: 2a00 JSR -126(A6) ;19b4: 4eaeff82 MOVE.L A4,D1 ;19b8: 220c JSR -84(A6) ;19ba: 4eaeffac MOVE.L D0,D4 ;19be: 2800 MOVE.L D4,D1 ;19c0: 2204 BEQ.S LAB_0152 ;19c2: 6736 SUBA.L #$00000108,A7 ;19c4: 9ffc00000108 MOVE.L A7,D2 ;19ca: 240f ADDQ.L #3,D2 ;19cc: 5682 DC.W $c43c ;19ce DC.W $00fc ;19d0 MOVEA.L D2,A3 ;19d2: 2642 JSR -102(A6) ;19d4: 4eaeff9a TST.L D0 ;19d8: 4a80 BEQ.S LAB_0152 ;19da: 671e MOVE.L 116(A3),D2 ;19dc: 242b0074 LEA 264(A7),A7 ;19e0: 4fef0108 MOVE.L D4,D1 ;19e4: 2204 JSR -90(A6) ;19e6: 4eaeffa6 MOVE.L (A7),D0 ;19ea: 2017 LSR.B #1,D2 ;19ec: e20a LSR.B #1,D0 ;19ee: e208 ADDX.B D2,D2 ;19f0: d502 MOVE.L A4,D1 ;19f2: 220c JSR -186(A6) ;19f4: 4eaeff46 OR.W D0,D3 ;19f8: 8640 LAB_0152: MOVE.L (A7)+,D2 ;19fa: 241f MOVE.L (A7)+,D1 ;19fc: 221f JSR -126(A6) ;19fe: 4eaeff82 MOVE.L D5,D1 ;1a02: 2205 BEQ.S LAB_0153 ;1a04: 6704 JSR -90(A6) ;1a06: 4eaeffa6 LAB_0153: MOVEM.L (A7)+,D4-D5/A3/A6 ;1a0a: 4cdf4830 RTS ;1a0e: 4e75 ENDSKIP: DC.W $4afc ;1a10 DC.L ENDSKIP ;1a12: 00001a10 DC.L ENDSKIP1 ;1a16: 00001a3e DC.L $04000000 ;1a1a DC.L ADNAME1 ;1a1e: 00000196 DC.L ADNAME1 ;1a22: 00000196 DC.L INIT1 ;1a26: 00001a2a INIT1: LEA NONVOLATILELIBNAME(PC),A1 ;1a2a: 43fae78b MOVEQ #0,D0 ;1a2e: 7000 JSR -552(A6) ;1a30: 4eaefdd8 MOVEA.L D0,A1 ;1a34: 2240 JSR -414(A6) ;1a36: 4eaefe62 MOVEQ #0,D0 ;1a3a: 7000 RTS ;1a3c: 4e75 ENDSKIP1: DS.W 1 ;1a3e END