EXECBASE = 4 CIAASDR = $BFEC01 CIAACRA = $BFEE01 AllocMem = -198 FreeMem = -210 AvailMem = -216 OpenLib = -408 CloseLib = -414 GetMsg = -372 FindTask = -294 AddPort = -354 RemPort = -360 OpenDev = -444 DoIO = -456 CloseDev = -450 Open = -30 Close = -36 Read = -42 Write = -48 Seek = -66 Examine = -102 ExNext = -108 Lock = -84 Unlock = -90 Info = -114 Text = -60 Move = -240 DrawBorder=-108 OpenScreen=-198 CloseScreen=-66 OpenWindow =-204 CloseWindow=-72 SetTitles =-276 SetMenu =-264 ClearMenu =-54 DisplayA =-90 AutoRequest=-348 SetAPen =-342 SetBPen =-348 RectFill =-306 jsr OpenDisk(pc) tst.l Disk0 beq Ending jsr OpenLibs(pc) tst.w Error bne Ending jsr ScreenOn(pc) tst.w Error bne Ending jsr HolMem(pc) tst.w Error bne Ending Main: move.l execbase,a6 move.l Windowhd(pc),a0 move.l 86(a0),a0 jsr GetMsg(a6) tst.l d0 beq Main Message:move.l d0,a0 move.l $14(a0),d6 cmp #$200,d6 beq Ende cmp #$100,d6 beq MenuPick cmp #$40,d6 beq GadPick cmp #$8,d6 beq MouseKlick cmp #$400,d6 beq KeyPressed bra Main Ende: jsr EndingRequest(pc) tst.l d0 beq Main Ending: jsr WegMem(pc) jsr ScreenOff(pc) jsr CloseLibs(pc) jsr CloseDisk(pc) clr.l d0 rts MenuPick: clr.l d7 move.w $18(a0),d7 cmp.w #$FFFF,d7 beq Main move.l d7,d6 andi.l #%11111,d6 move.l d7,d5 andi.l #%11111100000,d5 lsr.w #5,d5 andi.l #%1111100000000000,d7 lsr.w #8,d7 lsr.w #3,d7 tst.w d6 beq Men1 cmp.w #1,d6 beq Men2 cmp.w #2,d6 beq Men3 cmp.w #3,d6 beq Men4 bra Main Men1: tst.w d5 beq Help cmp.w #1,d5 beq Ende cmp.w #2,d5 beq Autor bra Main Men2: cmp.w #0,d5 beq Infos cmp.w #2,d5 beq View cmp.w #3,d5 beq BitMap cmp.w #4,d5 beq DiskCopy cmp.w #5,d5 beq ReadError bra Main Men3: bra Main Men4: jmp Main GadPick: move.l a0,a1 move.l 28(a1),a1 clr.l d1 move.b 39(a1),d1 cmp.b #1,d1 beq GadN1 cmp.b #2,d1 beq GadN2 cmp.b #3,d1 beq GadN3 cmp.b #7,d1 beq WriteBuffer cmp.b #9,d1 beq CalcCheck cmp.b #6,d1 beq JumpKlick1 cmp.b #8,d1 beq ChangeKlick1 cmp.b #4,d1 beq InstallDisk cmp.b #5,d1 beq InstallDisk cmp.b #10,d1 beq ViewAgain cmp.b #11,d1 bne Not11 cmp.l #-1,Nr beq NoCl0 jsr ClearDrive(pc) NoCl0:clr.l Nr jsr InversDrive(pc) bra Main Not11: cmp.b #12,d1 bne Not12 tst.l Disk1 beq Main cmp.l #-1,Nr beq NoCl1 jsr ClearDrive(pc) NoCl1:move.l #1,Nr jsr InversDrive(pc) bra Main Not12: cmp.b #13,d1 bne Not13 tst.l Disk2 beq Main cmp #-1,Nr beq NoCl2 jsr ClearDrive(pc) NoCl2:move.l #2,Nr jsr InversDrive(pc) bra Main Not13: cmp.b #14,d1 bne Not14 tst.l Disk3 beq Main cmp.l #-1,Nr beq NoCl3 jsr ClearDrive(pc) NoCl3:move.l #3,Nr jsr InversDrive(pc) bra Main Not14: cmp.b #15,d1 bne Not15 tst.l Target0 beq Tar0 clr.l Target0 jsr ClearDrive1(pc) bra Main Tar0:move.l #1,Target0 jsr InversDrive1(pc) bra Main Not15: cmp.b #16,d1 bne Not16 tst.l Disk1 beq Main tst.l Target1 beq Tar1 clr.l Target1 jsr ClearDrive1(pc) bra Main Tar1:move.l #1,Target1 jsr InversDrive1(pc) bra Main Not16: cmp.b #17,d1 bne Not17 tst.l Disk2 beq Main tst.l Target2 beq Tar2 clr.l Target2 jsr ClearDrive1(pc) bra Main Tar2:move.l #1,Target2 jsr InversDrive1(pc) bra Main Not17: cmp.b #18,d1 bne Not18 tst.l Disk3 beq Main tst.l Target3 beq Tar3 clr.l Target3 jsr ClearDrive1(pc) bra Main Tar3:move.l #1,Target3 jsr InversDrive1(pc) bra Main Not18: cmp.b #19,d1 bne Not19 tst.l Mehrmals beq MCL clr.l Mehrmals jsr Normal(pc) bra WME MCL: move.l #1,Mehrmals jsr Revers(pc) WME: move.l #163,x move.l #158,y lea GT19(pc),a1 moveq #8,d2 jsr PText(pc) bra Main Not19: cmp.b #20,d1 bne Not20 tst.l Checking beq CCL clr.l Checking jsr Normal(pc) bra WCH CCL: move.l #1,Checking jsr Revers(pc) WCH: move.l #155,x move.l #178,y lea GT20(pc),a1 moveq #10,d2 jsr PText(pc) bra Main Not20: cmp.b #21,d1 beq ResetView cmp.b #22,d1 beq GoCopy cmp.b #23,d1 bne Not23 tst.w VonT beq Main subq.w #1,VonT bra DisplayTrack Not23: cmp.b #24,d1 bne Not24 cmp.w #79,VonT beq Main move.w VonT(pc),d0 cmp.w BisT(pc),d0 beq Main addq.w #1,VonT bra DisplayTrack Not24: cmp.b #25,d1 bne Not25 tst.w BisT beq Main move.w BisT(pc),d0 cmp.w Vont(pc),d0 beq Main subq.w #1,BisT bra DisplayTrack Not25: cmp.b #26,d1 bne Not26 cmp.w #79,BisT beq Main addq.w #1,BisT bra DisplayTrack Not26: cmp.b #27,d1 bne Not27 move.l #58,y lea StartT(pc),a0 lea VonT(pc),a1 bra ChangeTrack Not27: cmp.b #28,d1 bne Not28 move.l #108,y lea EndT(pc),a0 lea BisT(pc),a1 bra ChangeTrack Not28: cmp.b #29,d1 beq ResetView Jmp Main(pc) WriteBuffer: moveq #1,d1 move.l Block(pc),d0 move.l ReadBuffer(pc),d2 jsr DiskWrite(pc) clr.l Antwort bra Main InstallDisk: move.b d1,Cnt jsr InstallRequest(pc) tst.l d0 bne GoInstall bra Main GoInstall: cmp.b #5,Cnt beq InstallNoBoot moveq #12,d0 lea Install(pc),a0 move.l ReadBuffer(pc),a1 InLoop2:move.l (a0)+,(a1)+ dbra d0,InLoop2 move.l #242,d0 InLoop3:clr.l (a1)+ dbra d0,InLoop3 jsr Checksumm0(pc) SparInstall: clr.l d0 moveq #2,d1 move.l ReadBuffer(pc),d2 jsr DiskWrite(pc) cmp.l #-1,Antwort bne DoneInstall clr.l Antwort bra Main DoneInstall: jsr DiskWrite(pc) move.l Block(pc),d0 moveq #1,d1 move.l ReadBuffer(pc),d2 jsr DiskRead(pc) cmp.l #1,Block bgt NoViewA bra ViewAgain NoViewA: bra Main InstallNoBoot: move.l #255,d0 move.l ReadBuffer(pc),a0 InLoop1:move.l #$444F5300,(a0)+ dbra d0,InLoop1 bra SparInstall WriteChange: tst.l Change bne CInv1 move.l #10,Color1 clr.l Color2 bra DoSetPen1 CInV1: move.l #12,Color1 move.l #15,Color2 DoSetPen1: move.l Color1,d0 jsr SetPen(pc) move.l Color2,d0 jsr SetPen2(pc) move.l #581,x move.l #108,y moveq #6,d2 lea ChangeT(pc),a1 bra PText WriteJump: tst.l Jump bne JInv1 move.l #10,Color1 clr.l Color2 bra DoSetPen JInv1: move.l #12,Color1 move.l #15,Color2 DoSetPen:move.l Color1,d0 jsr SetPen(pc) move.l Color2,d0 jsr SetPen2(pc) move.l #589,x move.l #78,y moveq #4,d2 lea JumpT(pc),a1 jsr PText(pc) moveq #1,d0 jsr SetPen(pc) clr.l d0 bra SetPen2 JumpKlick1: tst.l Change beq OkJump clr.l Change jsr WriteChange(pc) OkJump: tst.l Jump beq JInv2 clr.l Jump bra JInv3 Jinv2: move.l #1,Jump Jinv3: jsr WriteJump(pc) bra Main ChangeKlick1: tst.l Jump beq OkChange clr.l Jump jsr WriteJump(pc) OkChange:tst.l Change beq CInv2 clr.l Change bra CInv3 Cinv2: move.l #1,Change Cinv3: jsr WriteChange(pc) bra Main MouseKlick: move.w 32(a0),mx move.w 34(a0),my tst.l Jump bne JumpKlick tst.l Change bne ChangeKlick bra Main ChangeKlick: clr.l Change jsr WriteChange(pc) clr.l d0 clr.l d1 subi.w #10,my move.w my(pc),d0 divu #8,d0 cmp.w #408,mx bge AsciiChange mulu #5,d0 subi.w #40,mx move.w mx(pc),d1 divu #68,d1 add.w d1,d0 mulu #4,d0 cmp.w #511,d0 bgt Main move.w d0,APos moveq #1,d0 jsr HCursor(pc) move.l #1,HL clr.b CIAASDR HexChange: jsr GetChar(pc) tst.b d0 beq HexChange cmp.b #27,d0 beq FinishedHex cmp.b #13,d0 beq FinishedHex cmp.b #30,d0 bne No30 cmp.w #511,Apos beq HexChange move.l #1,HL clr.l d0 jsr HCursor(pc) addq.w #1,APos moveq #1,d0 jsr HCursor(pc) bra HexChange No30: cmp.b #31,d0 bne No31 tst.w APos beq HexChange move.l #1,HL clr.l d0 jsr HCursor(pc) subq.w #1,APos moveq #1,d0 jsr HCursor(pc) bra HexChange No31: cmp.b #28,d0 bne No28 cmp.w #20,Apos blt HexChange clr.l d0 jsr HCursor(pc) move.l #1,HL subi.w #20,Apos moveq #1,d0 jsr HCursor(pc) bra HexChange No28: cmp.b #29,d0 bne No29 cmp.w #491,APos bgt HexChange clr.l d0 jsr HCursor(pc) move.l #1,HL addi.w #20,APos moveq #1,d0 jsr HCursor(pc) bra HexChange No29: cmp.b #48,d0 blt HexChange cmp.b #102,d0 bgt HexChange cmp.b #58,d0 blt CalcHex cmp.b #65,d0 blt No29a cmp.b #71,d0 blt CalcHex No29a: cmp.b #96,d0 bgt CalcHex bra HexChange FinishedHex: clr.l d0 jsr HCursor(pc) bra Main CalcHex:subi.b #48,d0 cmp.b #10,d0 blt NummerH subi.b #7,d0 cmp.b #16,d0 blt NummerH subi.b #32,d0 NummerH:move.l ReadBuffer(pc),a0 add.w APos(pc),a0 move.b (a0),d1 cmp.l #1,HL bne LowHex andi.b #$f,d1 lsl.b #4,d0 add.b d1,d0 move.b d0,(a0) add.l #1,HL clr.l d0 jsr ACursor(pc) moveq #1,d0 jsr HCursor(pc) bra HexChange LowHex: move.l #1,HL andi.b #$f0,d1 add.b d1,d0 move.b d0,(a0) clr.l d0 jsr ACursor(pc) clr.l d0 jsr HCursor(pc) cmp.w #511,APos beq NotMore addq.w #1,APos NotMore:moveq #1,d0 jsr HCursor(pc) bra HexChange GetChar:move.b CIAASDR,d0 tst.b d0 bne GoGetChar rts GoGetChar: ori.b #64,CIAACRA moveq #60,d1 KeyLow: clr.b CIAASDR dbra d1,KeyLow andi.b #$bf,CIAACRA not.b d0 ror.b #1,d0 clr.b CIAACRA cmp.b #$f9,d0 bne GoodChar clr.l d0 rts GoodChar:cmp.b #$79,d0 bls GoodChar1 subi.b #$80,d0 cmp.b #$60,d0 blt NoShift cmp.b #$62,d0 bgt NoShift move.l #0,Shift NoShift:clr.l d0 rts GoodChar1: cmp.b #$60,d0 blt Normalk cmp.b #$62,d0 bgt NormalK bra ShiftOut Normalk:tst.l Shift beq NoShift1 addi.b #$70,d0 NoShift1:clr.l d1 move.b d0,d1 lea Keys(pc),a0 add.l d1,a0 move.b (a0),d0 rts ShiftOut:move.l #1,Shift clr.l d0 rts AsciiChange: subi.w #407,mx move.w mx(pc),d1 cmp.w #160,mx bge Main mulu #20,d0 divu #8,d1 add.w d1,d0 cmp.w #511,d0 bgt Main move.w d0,APos moveq #1,d0 jsr ACursor(pc) clr.b CIAASDR AsciiLoop: jsr GetChar(pc) tst.b d0 beq AsciiLoop cmp.b #27,d0 beq FinishedAscii cmp.b #13,d0 beq FinishedAscii cmp.b #30,d0 bne NoA30 cmp.w #511,Apos beq AsciiLoop clr.l d0 jsr ACursor(pc) addq.w #1,APos moveq #1,d0 jsr ACursor(pc) bra AsciiLoop NoA30: cmp.b #31,d0 bne NoA31 tst.w APos beq AsciiLoop clr.l d0 jsr ACursor(pc) subq.w #1,APos moveq #1,d0 jsr ACursor(pc) bra AsciiLoop NoA31: cmp.b #28,d0 bne NoA28 cmp.w #20,Apos blt AsciiLoop clr.l d0 jsr ACursor(pc) subi.w #20,Apos moveq #1,d0 jsr ACursor(pc) bra AsciiLoop NoA28: cmp.b #29,d0 bne NoA29 cmp.w #491,APos bgt AsciiLoop clr.l d0 jsr ACursor(pc) addi.w #20,APos moveq #1,d0 jsr ACursor(pc) bra AsciiLoop NoA29: move.l ReadBuffer(pc),a0 add.w APos(pc),a0 move.b d0,(a0) clr.l d0 jsr HCursor(pc) clr.l d0 jsr ACursor(pc) cmp.w #511,APos beq NoMore1 addq.w #1,APos NoMore1:moveq #1,d0 jsr ACursor(pc) bra AsciiLoop FinishedAscii: clr.l d0 jsr ACursor(pc) bra Main ACursor:tst.l d0 bne MRevers jsr Normal(pc) bra GoAhead MRevers:jsr Revers(pc) GoAhead:move.l ReadBuffer(pc),a1 add.w APos(pc),a1 move.w APos(pc),d0 move.w d0,d1 divu #20,d1 move.l d1,d2 mulu #20,d1 sub.w d1,d0 mulu #8,d2 mulu #8,d0 move.l #408,x add.w d0,x+2 move.w d2,y+2 addi.l #17,y moveq #1,d2 move.b (a1),d0 cmp.b #31,d0 bls MakePunkt cmp.b #128,d0 bge NoChar2 bra DoChar2 NoChar2:cmp.b #159,d0 bgt DoChar2 MakePunkt: lea Punkt(pc),a1 DoChar2:jsr PText(pc) bra Normal HCursor:tst.l d0 bne MRevers2 jsr Normal(pc) bra OkH MRevers2:jsr Revers(pc) OkH: move.l ReadBuffer(pc),a0 add.w APos(pc),a0 move.w #$3030,UBlocks lea UBlocks(pc),a1 move.w Apos,d0 move.w APos(pc),d0 move.w d0,d1 divu #20,d1 move.l d1,d2 mulu #20,d1 sub.w d1,d0 mulu #8,d2 move.w d2,y+2 addi.l #17,y move.l #40,x move.l d0,d1 divu #4,d1 move.l d1,d2 mulu #4,d1 sub d1,d0 mulu #72,d2 mulu #16,d0 add.w d0,x+2 add.w d2,x+2 move.b (a0),d0 move.l d0,d1 divu #$10,d1 add.b d1,(a1) cmp.b #57,(a1) bls GoH1 addq.b #7,(a1) GoH1: mulu #$10,d1 sub.b d1,d0 add.b d0,1(a1) cmp.b #57,1(a1) bls Goh2 addq.b #7,1(a1) GoH2: moveq #2,d2 jsr PText(pc) bra Normal Revers: moveq #2,d0 jsr SetPen(pc) moveq #3,d0 bra SetPen2 Normal: moveq #1,d0 jsr SetPen(pc) clr.l d0 bra SetPen2 JumpKlick: clr.l Jump jsr WriteJump(pc) clr.l d0 clr.l d1 cmp.w #408,mx bgt Main subi.w #10,my subi.w #40,mx move.w my(pc),d0 move.w mx(pc),d1 divu #8,d0 mulu #5,d0 divu #68,d1 add.w d1,d0 mulu #4,d0 move.l ReadBuffer(pc),a0 cmp.w #508,d0 bgt Main add.w d0,a0 move.l (a0),d1 tst.l d1 blt Main cmp.l #1759,d1 bgt Main move.l d1,Block bra SparGad CalcCheck: cmp.l #1,CheckType bne Typ2 jsr Checksumm1(pc) bra SparCheck Typ2: cmp.l #2,CheckType bne Typ3 jsr Checksumm2(pc) bra SparCheck Typ3: cmp.l #3,CheckType bne Typ0 jsr Checksumm3(pc) bra SparCheck Typ0: move.w #8,Error jsr ErrorDisplay(pc) bra Main SparCheck: move.l #15,y move.l #40,x jsr ViewBuffer(pc) bra Main GadN1: lea GadI6(pc),a0 move.l 28(a0),d0 cmp.l #1760,d0 blt DoBlock move.l Block(pc),28(a0) move.l UnBuffer(pc),InBuffer bra Main DoBlock:cmp.l Block,d0 beq Main move.l d0,Block bra ViewAgain GadN2: tst.l Block beq Main subq.l #1,Block bra SparGad GadN3: cmp.l #1759,Block beq Main addq.l #1,Block SparGad:move.l Block(pc),d0 move.l d0,GadI6+28 jsr MakeText(pc) move.l UBlocks(pc),d0 move.l d0,d1 andi.l #$39000000,d0 cmp.l #$30000000,d0 bne Tausend lsl.l #8,d1 andi.b #0,d1 move.l d1,d0 andi.l #$39000000,d0 cmp.l #$30000000,d0 bne Tausend lsl.l #8,d1 andi.b #0,d1 move.l d1,d0 andi.l #$39000000,d0 cmp.l #$30000000,d0 bne Tausend lsl.l #8,d1 andi.b #0,d1 Tausend:move.l d1,InBuffer move.l d1,UnBuffer clr.w Inbuffer+4 clr.w UnBuffer+4 move.l #246,y move.l #89,x jsr PText(pc) bra ViewAgain KeyPressed: tst.l ViewActive beq Main jsr GetChar(pc) cmp.b #30,d0 beq GadN3 cmp.b #31,d0 beq GadN2 bra Main Help: jsr ClearScreen(pc) move.l WindowHd(pc),a1 move.l 50(a1),a1 moveq #1,d0 move.l GraphicBase(pc),a6 jsr SetAPen(a6) move.l #20,x move.l #10,y clr.l Nr move.l Anzahl(pc),Cnt NochnText: addi.l #10,y lea TextPtr,a1 move.l Nr,d0 mulu #4,d0 add.l d0,a1 move.l (a1),a1 move.w (a1)+,d2 jsr PText(pc) addq.l #1,Nr subq.l #1,Cnt tst.l Cnt bne NochnText bra Main ResetView: move.l #$18708,Window+10 clr.l Window+18 move.l WindowHd(pc),a0 move.l IntBase(pc),a6 jsr CloseWindow(a6) lea Window(pc),a0 jsr OpenWindow(a6) move.l d0,WindowHd move.l d0,a0 Lea Menu(pc),a1 jsr SetMenu(a6) clr.l ViewActive clr.l CopyActive clr.l Target0 clr.l Target1 clr.l Target2 clr.l Target3 clr.l Nr bra Main DiskCopy:move.l WindowHd(pc),a0 move.l IntBase(pc),a6 jsr CloseWindow(a6) move.l #Gad11,d0 move.l d0,Window+18 move.l #$18768,Window+10 lea Window(pc),a0 jsr OpenWindow(a6) move.l d0,WindowHd move.l #1,CopyActive move.l #-1,Nr clr.l d0 jsr SetPen2(pc) moveq #1,d0 jsr SetPen(pc) move.l #163,x move.l #40,y moveq #8,d2 lea Copy1(pc),a1 jsr PText(pc) move.l #90,y move.l #171,x moveq #6,d2 lea Copy2(pc),a1 jsr PText(pc) move.l #288,x move.l #20,y moveq #8,d2 lea Copy0(pc),a1 jsr PText(pc) move.l #436,x move.l #40,y moveq #11,d2 lea Copy3(pc),a1 jsr PText(pc) move.l #444,x move.l #90,y moveq #9,d2 lea Copy4(pc),a1 jsr PText(pc) move.l #472,x move.l #58,y moveq #2,d2 lea StartT(pc),a1 jsr PText(pc) move.l #108,y moveq #2,d2 lea EndT(pc),a1 jsr PText(pc) move.l #408,x move.l #200,y lea LeseT(pc),a1 moveq #15,d2 jsr PText(pc) move.l #210,y moveq #15,d2 lea SchreibT(pc),a1 jsr PText(pc) bra Main DisplayTrack: clr.l d0 clr.l d1 lea StartT(pc),a0 move.w #$3030,(a0) move.w VonT(pc),d0 move.w d0,d1 divu #10,d0 add.b d0,(a0) mulu #10,d0 sub d0,d1 add.b d1,1(a0) lea EndT(pc),a0 move.w #$3030,(a0) move.w BisT(pc),d0 move.w d0,d1 divu #10,d0 add.b d0,(a0) mulu #10,d0 sub d0,d1 add.b d1,1(a0) clr.l d0 jsr SetPen2(pc) moveq #1,d0 jsr SetPen(pc) move.l #472,x move.l #58,y moveq #2,d2 lea StartT(pc),a1 jsr PText(pc) moveq #2,d2 move.l #108,y lea EndT(pc),a1 jsr PText(pc) bra Main ChangeTrack: move.l a0,Stack move.l a1,Stack+4 jsr Revers(pc) move.l #472,x move.l a0,a1 moveq #2,d2 jsr PText(pc) move.l #1,HL clr.b CIAASDR WaitChar:jsr GetChar(pc) tst.b d0 beq WaitChar cmp.b #13,d0 beq EndWait cmp.b #27,d0 beq EndWait cmp.b #48,d0 blt WaitChar cmp.b #57,d0 bgt WaitChar subi.b #48,d0 move.l Stack(pc),a1 cmp.l #1,HL bne HLow move.l #2,HL move.b #$30,(a1) add.b d0,(a1) bra Spring1 HLow: move.l #1,HL move.b #$30,1(a1) add.b d0,1(a1) Spring1:moveq #2,d2 jsr PText(pc) bra WaitChar EndWait:jsr Normal(pc) clr.l d0 clr.l d1 move.l Stack(pc),a0 move.l Stack+4,a1 move.b (a0),d0 clr.w (a1) subi.b #$30,d0 mulu #10,d0 move.b 1(a0),d1 subi.b #$30,d1 add d1,d0 move.w d0,(a1) cmp.w #82,(a1) blt InRange1 move.w #81,(a1) InRange1:lea VonT(pc),a2 cmp.l a1,a2 beq InRange2 move.w (a1),d1 move.w (a2),d2 cmp.w d1,d2 bls InRange3 move.w (a2),(a1) bra InRange3 InRange2:lea BisT(pc),a2 move.w (a1),d1 move.w (a2),d2 cmp.w d1,d2 bge InRange3 move.w (a2),(a1) InRange3:move.w (a1),d0 move.w d0,d1 move.w #$3030,(a0) divu #10,d0 add.b d0,(a0) mulu #10,d0 sub d0,d1 add.b d1,1(a0) move.l a0,a1 moveq #2,d2 jsr PText(pc) bra Main ReadError: move.l d7,Nr jsr ClearScreen(pc) move.l IntBase(pc),a6 move.l WindowHd(pc),a0 move.l 50(a0),a0 lea Border0(pc),a1 moveq #124,d0 moveq #50,d1 jsr DrawBorder(a6) move.l WindowHd(pc),a0 move.l 50(a0),a0 lea Border0(pc),a1 moveq #124,d0 moveq #80,d1 jsr DrawBorder(a6) moveq #1,d0 jsr SetPen(pc) clr.l d0 jsr SetPen2(pc) move.l #212,x move.l #20,y lea Error6(pc),a1 moveq #22,d2 jsr PText(pc) lea df0(pc),a1 addi.l #184,x move.l Nr(pc),d0 mulu #5,d0 add.l d0,a1 moveq #4,d2 jsr PText(pc) move.l #8,x move.l #57,y lea Kopf1(pc),a1 moveq #14,d2 jsr PText(pc) addi.l #9,y lea Kopf0(pc),a1 moveq #14,d2 jsr Ptext(pc) move.l #87,y lea Kopf1(pc),a1 moveq #14,d2 jsr PText(pc) addi.l #9,y lea Kopf0(pc),a1 moveq #14,d2 jsr PText(pc) move.l #125,x move.l #48,y lea Error0(pc),a1 moveq #1,d2 jsr PText(pc) move.l #301,x lea Error4(pc),a1 moveq #2,d2 jsr PText(pc) move.l #475,x lea Error1(pc),a1 moveq #2,d2 jsr PText(pc) move.l #78,y lea Error3(pc),a1 moveq #2,d2 jsr PText(pc) move.l #120,x lea Error2(pc),a1 moveq #2,d2 jsr PText(pc) move.l #301,x lea Error5(pc),a1 moveq #2,d2 jsr PText(pc) move.l #172,x move.l #200,y lea Error9(pc),a1 moveq #37,d2 jsr PText(pc) jsr GetMem1(pc) tst.l d0 bne ErrD move.w #5,Error jsr ErrorDisplay(pc) bra Main ErrD: move.l Nr(pc),d7 jsr InsertRequest(pc) tst.l d0 beq Main move.l Nr(pc),d1 jsr DiskInDrive(pc) tst.l d0 bne ErrD clr.l Cnt move.l #125,x move.l #66,y ErrLoop:move.l Nr(pc),d3 move.l Cnt(pc),d0 moveq #11,d1 move.l Memory1(pc),d2 jsr TrackRead(pc) jsr DisplayErr(pc) jsr GetKlick(pc) tst.l d1 bne ErrEnd cmp.l #869,cnt bne SameRow move.l #96,y move.l #125,x SameRow:addi.l #11,Cnt cmp.l #1750,Cnt blt ErrLoop ErrEnd: jsr FreiMemory1(pc) move.l Nr(pc),d1 jsr MotorOff(pc) bra Main GetKlick: move.l execbase,a6 move.l windowhd,a0 move.l 86(a0),a0 jsr GetMsg(a6) clr.l d1 tst.l d0 bne Klick rts Klick: move.l d0,a0 move.l $14(a0),d0 cmp #8,d0 bne Klick1 moveq #1,d1 Klick1: rts DisplayErr: move.l Cnt(pc),d1 addi.l #22,d1 divu #22,d1 cmp.l #$FFFF,d1 bgt KUnten subi.l #9,y clr.l Stack bra DisErr KUnten: addi.l #9,y move.l #9,Stack DisErr: moveq #1,d2 lea Error7(pc),a1 tst.l d0 beq NoErr1 addq.l #1,a1 NoErr1: jsr PText(pc) move.l Stack(pc),d0 add.l d0,x rts GoCopy: cmp.l #-1,Nr bne OriginalOK move.w #10,Error jsr ErrorDisplay(pc) bra Main OriginalOK: clr.l d0 add.l Target0(pc),d0 add.l Target1(pc),d0 add.l Target2(pc),d0 add.l Target3(pc),d0 tst.l d0 bne TargetOK move.w #11,Error jsr ErrorDisplay(pc) bra Main TargetOK: tst.l Mehrmals beq OneTarget cmp.l #1,d0 beq OneTarget move.w #13,Error jsr ErrorDisplay(pc) bra Main OneTarget: lea Target0(pc),a0 move.l Nr(pc),d0 mulu #4,d0 add.l d0,a0 cmp.l #1,(a0) beq MehrOk tst.l Mehrmals beq NichtMehrmals move.w #12,Error jsr ErrorDisplay(pc) bra Main MehrOk: tst.l Mehrmals bne MehrOk2 move.w #16,Error jsr ErrorDisplay(pc) bra Main MehrOk2:move.l Nr(pc),Ziel clr.l d0 jsr GetMemory(pc) tst.l d0 bne GotMemory1 move.w #5,Error jsr ErrorDisplay(pc) bra ResetView GotMemory1:clr.l d1 move.l MemBytes(pc),d0 divu #11264,d0 andi.l #$ff,d0 clr.l d1 move.w BisT(pc),d1 sub.w VonT(pc),d1 addq.l #1,d1 divu d0,d1 cmp.l #$FFFF,d1 blt NoAdd addq.l #1,d1 NoAdd: andi.l #$FF,d1 cmp.l #1,d1 beq DannLos1 lea Ma1(pc),a0 move.w #$3030,(a0) move.l d1,d0 divu #10,d0 add.b d0,(a0) mulu #10,d0 sub.b d0,d1 add.b d1,1(a0) jsr CopyRequest4(pc) tst.l d0 bne DannLos1 jsr FreiMemory(pc) bra Main DannLos1: jsr FreiMemory(pc) bra Main NichtMehrmals: move.l #11264,d0 jsr GetMemory(pc) tst.l d0 bne GotMem2 move.w #5,Error jsr ErrorDisplay(pc) bra ResetView GotMem2:jsr GetMem1(pc) tst.l d0 bne GotMem3 jsr FreiMemory(pc) move.w #17,Error jsr ErrorDisplay(pc) bra Main GotMem3:jsr CopyRequest3(pc) tst.l d0 beq EndCopy1 clr.l Cnt OkLoop: move.l Cnt(pc),d0 lea Target0(pc),a0 mulu #4,d0 add.l d0,a0 move.l (a0),d0 tst.l d0 beq NextOK3 InAgain:move.l Cnt(pc),d1 jsr DiskinDrive(pc) tst.l d0 beq NextOK2 move.l Cnt(pc),d7 jsr InsertRequest(pc) tst.l d0 bne InAgain bra EndCopy1 NextOk2:move.l Cnt(pc),d1 jsr DiskProtect(pc) tst.l d0 beq NextOk3 move.l Cnt(pc),d7 jsr WriteRequest(pc) tst.l d0 bne NextOk2 bra EndCopy1 NextOk3:addq.l #1,Cnt cmp.l #4,Cnt bne OkLoop NextOK4:move.l Nr(pc),d1 jsr DiskInDrive(pc) tst.l d0 beq NextOk5 move.l Nr(pc),d7 jsr InsertRequest(pc) tst.l d0 bne NextOK4 bra EndCopy1 NextOK5:move.w VonT(pc),Cnt move.l #536,x moveq #2,d0 jsr SetPen(pc) clr.l d0 jsr SetPen2(pc) CopyLoop:jsr GetKlick(pc) tst.l d1 bne Finished move.l #200,y clr.l d0 move.w Cnt(pc),d0 jsr PTrack(pc) move.l Memory(pc),d2 clr.l d0 move.w Cnt(pc),d0 mulu #22,d0 moveq #22,d1 move.l Nr(pc),d3 jsr TrackRead(pc) tst.b d0 beq NoErrorR move.w #14,Error jsr ErrorDisplay(pc) bra EndCopy1 NoErrorR:move.l #210,y clr.l d0 move.w Cnt(pc),d0 jsr PTrack(pc) clr.l Cnt1 WLoop1: lea Target0(pc),a0 move.l Cnt1(pc),d0 mulu #4,d0 add.l d0,a0 move.l (a0),d0 tst.l d0 beq NoVerify clr.l d0 move.w Cnt(pc),d0 mulu #22,d0 moveq #22,d1 move.l Cnt1(pc),d3 move.l Memory(pc),d2 jsr TrackWrite(pc) tst.b d0 beq NoErrorW move.w #15,Error jsr ErrorDisplay(pc) bra EndCopy1 NoErrorW:jsr GetKlick(pc) tst.l d1 bne Finished tst.l Checking beq NoVerify clr.l d0 move.w Cnt(pc),d0 mulu #22,d0 moveq #22,d1 move.l Memory1(pc),d2 move.l Cnt1(pc),d3 jsr TrackRead(pc) tst.b d0 beq NoVerify move.w #18,Error jsr ErrorDisplay(pc) NoVerify:addq.l #1,Cnt1 cmp.l #4,Cnt1 bne WLoop1 move.w Cnt(pc),d0 cmp.w BisT(pc),d0 beq Finished addq.w #1,Cnt bra CopyLoop Finished:move.l Nr(pc),d1 jsr MotorOff(pc) clr.l Cnt1 FLoop1: lea Target0(pc),a0 move.l Cnt1(pc),d0 mulu #4,d0 add.l d0,a0 move.l (a0),d0 tst.l d0 beq NextF move.l Cnt1(pc),d1 jsr MotorOff(pc) NextF: addq.l #1,Cnt1 cmp.l #4,Cnt1 bne FLoop1 EndCopy1:jsr FreiMemory(pc) jsr FreiMemory1(pc) bra Main PTrack: clr.l d1 lea UBlocks(pc),a0 move.w #$3030,(a0) move.w d0,d1 divu #10,d0 add.b d0,(a0) mulu #10,d0 sub.b d0,d1 add.b d1,1(a0) moveq #2,d2 lea UBlocks(pc),a1 jsr PText(pc) rts FreiMemory: move.l MemBytes(pc),d0 move.l Memory(pc),a1 move.l ExecBase,a6 jsr FreeMem(a6) rts FreiMemory1: move.l #11264,d0 move.l Memory1(pc),a1 move.l ExecBase,a6 jsr FreeMem(a6) rts GetMemory: tst.l d0 bne GetM1 clr.l d1 move.l ExecBase,a6 jsr AvailMem(a6) sub.l #40000,d0 divu #11264,d0 move.w BisT(pc),d1 sub.w VonT(pc),d1 addq.l #1,d1 tst.w d0 bgt NichtNull clr.l d0 rts NichtNull: cmp.w d0,d1 bgt IstDa move.w d1,d0 IstDa: move.w d0,TPerRead mulu #11264,d0 GetM1: move.l d0,MemBytes move.l #$10002,d1 move.l execbase,a6 jsr AllocMem(a6) move.l d0,Memory rts GetMem1: move.l #11264,d0 move.l #$10002,d1 move.l ExecBase,a6 jsr AllocMem(a6) move.l d0,Memory1 rts View: move.l d7,Nr move.l #880,Block move.l #$38383000,InBuffer move.l #$38383000,UnBuffer move.l WindowHd(pc),a0 move.l IntBase(pc),a6 jsr CloseWindow(a6) move.l #Gad1,d0 move.l d0,Window+18 move.l #$18768,Window+10 lea Window(pc),a0 jsr OpenWindow(a6) move.l d0,WindowHd ViewAgain: move.l Nr(pc),d1 jsr DiskInDrive(pc) tst.l d0 beq ViewGo jsr InsertRequest(pc) cmp.l #1,d0 beq ViewAgain bra ResetView ViewGo: moveq #1,d0 jsr SetPen(pc) clr.l x move.l #15,y clr.l Cnt ViewLoop:lea Offset(pc),a1 move.l Cnt(pc),d0 mulu #4,d0 add.l d0,a1 moveq #4,d2 jsr PText(pc) addi.l #8,y addq.l #1,Cnt cmp.l #26,Cnt blt ViewLoop move.l #573,x move.l #23,y moveq #8,d2 lea Inst(pc),a1 jsr PText(pc) move.l Block(pc),d0 moveq #1,d1 move.l ReadBuffer(pc),d2 jsr DiskRead(pc) move.l #15,y move.l #40,x jsr ViewBuffer(pc) jsr BlockType(pc) move.l #1,ViewActive jmp Main(pc) ClearDrive: clr.l d0 jsr SetPen2(pc) moveq #11,d0 jsr SetPen(pc) SparDrive: lea df0(pc),a1 move.l Nr(pc),d0 move.l d0,d1 mulu #5,d0 add d0,a1 move.l #58,y move.l #104,x mulu #50,d1 add.l d1,x moveq #4,d2 jsr PText(pc) rts InversDrive: moveq #13,d0 jsr SetPen(pc) moveq #15,d0 jsr SetPen2(pc) jmp SparDrive(pc) ClearDrive1: clr.l d0 jsr SetPen2(pc) moveq #10,d0 jsr SetPen(pc) move.l #108,y tst.l Target0 bne NotT0 lea Df0(pc),a1 move.l #104,x moveq #4,d2 jsr PText(pc) NotT0: tst.l Target1 bne NotT1 lea df1(pc),a1 move.l #154,x moveq #4,d2 jsr PText(pc) NotT1: tst.l Target2 bne NotT2 lea df2(pc),a1 move.l #204,x moveq #4,d2 jsr PText(pc) NotT2: tst.l Target3 bne NotT3 lea df3(pc),a1 move.l #254,x moveq #4,d2 jsr PText(pc) NotT3: rts InversDrive1: moveq #12,d0 jsr SetPen(pc) moveq #15,d0 jsr Setpen2(pc) move.l #108,y tst.l Target0 beq NoI0 lea Df0(pc),a1 move.l #104,x moveq #4,d2 jsr PText(pc) NoI0: tst.l Target1 beq NoI1 lea df1(pc),a1 move.l #154,x moveq #4,d2 jsr PText(pc) NoI1: tst.l Target2 beq NoI2 lea df2(pc),a1 move.l #204,x moveq #4,d2 jsr PText(pc) NoI2: tst.l Target3 beq NoI3 lea df3(pc),a1 move.l #254,x moveq #4,d2 jsr PText(pc) NoI3: rts BitMap: move.l d7,Nr BitAgain: jsr DiskInDrive(pc) tst.l d0 beq BitGo jsr InsertRequest(pc) cmp.l #1,d0 beq BitAgain bra Main BitGo: move.l #880,d0 moveq #1,d1 move.l ReadBuffer(pc),d2 jsr DiskRead(pc) move.l ReadBuffer(pc),a0 move.l 312(a0),d0 tst.l d0 bne Gueltig jsr MotorOff(pc) move.w #7,Error jsr ErrorDisplay(pc) bra Main Gueltig:move.l 316(a0),d0 moveq #1,d1 move.l ReadBuffer(pc),d2 jsr DiskRead(pc) jsr MotorOFF(pc) jsr ClearScreen(pc) moveq #1,d0 jsr SetPen(pc) move.l #500,x move.l #43,y moveq #7,d2 lea Seite0(pc),a1 jsr PText(pc) move.l #115,y moveq #7,d2 lea Seite1(pc),a1 jsr PText(pc) clr.l x move.l #156,y moveq #1,d2 lea T1(pc),a1 jsr PText(pc) move.l #466,x moveq #2,d2 lea T80(pc),a1 jsr PText(pc) move.l #480,x move.l #16,y moveq #9,d2 lea Sektor1(pc),a1 jsr PText(pc) move.l #74,y moveq #10,d2 lea Sektor11(pc),a1 jsr PText(pc) move.l #88,y moveq #9,d2 lea Sektor1(pc),a1 jsr PText(pc) move.l #146,y moveq #10,d2 lea Sektor11(pc),a1 jsr PText(pc) moveq #3,d0 jsr SetPen(pc) clr.l xx clr.l yy jsr Fill2(pc) move.l #1,yy jsr Fill2(pc) move.l #2,yy move.l #32,Cnt move.l ReadBuffer(pc),ReadHelp Calc: addq.l #4,ReadHelp move.l ReadHelp(pc),a5 move.l (a5),Long move.l a5,ReadHelp X1: move.l Long(pc),d0 andi.l #%1,d0 cmp.l #1,d0 bne noSet moveq #1,d0 bra WeiterBit1 noSet: moveq #3,d0 WeiterBit1: jsr SetPen(pc) cmp.l #11,yy blt LowerThen jsr Fill1(pc) bra WeiterBit2 LowerThen: jsr Fill2(pc) WeiterBit2: move.l Long(pc),d0 ror.l #1,d0 move.l d0,Long addq.l #1,yy cmp.l #22,yy bne WeiterBit3 clr.l yy addq.l #1,xx cmp.l #80,xx beq ReadyBit WeiterBit3: sub.l #1,Cnt tst.l Cnt beq WeiterBit4 bra X1 WeiterBit4: move.l #32,Cnt bra Calc ReadyBit: bra Main Fill1: move.l yy(pc),d1 addq #1,d1 bra Fill Fill2: move.l yy(pc),d1 Fill: mulu #6,d1 move.l xx(pc),d0 mulu #6,d0 addi.l #10,d1 move.l d0,d2 addq #4,d2 move.l d1,d3 addq #4,d3 move.l WindowHd(pc),a1 move.l 50(a1),a1 move.l GraphicBase(pc),a6 jsr RectFill(a6) rts BlockType: move.l #1,x move.l #230,y moveq #9,d2 lea Block1(pc),a1 jsr PText(pc) moveq #2,d0 jsr SetPen(pc) move.l ReadBuffer(pc),a0 move.l (a0),d0 move.l 508(a0),d1 cmp.l #2,d0 bne OtherBlock1 cmp.l #1,d1 bne NoRoot lea Block2(pc),a1 move.l #1,CheckType bra ShowType NoRoot: cmp.l #2,d1 bne NoDir lea Block3(pc),a1 move.l #1,CheckType bra ShowType NoDir: cmp.l #-3,d1 bne UnKnown lea Block4(pc),a1 move.l #1,CheckType bra ShowType OtherBlock1: cmp.l #8,d0 bne NoData lea Block6(pc),a1 move.l #1,CheckType bra ShowType NoData: cmp.l #16,d0 bne NoCont cmp.l #-3,d1 bne UnKnown lea Block5(pc),a1 move.l #1,CheckType bra ShowType NoCont: move.l Block,d0 tst.l d0 bne Nr1 lea Block8(pc),a1 move.l #3,CheckType bra ShowType Nr1: cmp.l #1,d0 bne Sectorx lea Block9(pc),a1 move.l #3,CheckType bra ShowType Sectorx:move.b (a0),d0 move.b 508(a0),d1 cmp.b d0,d1 bne Sectorx1 cmp.b #"D",d0 bne SectorX1 clr.l CheckType lea Block11(pc),a1 bra ShowType Sectorx1: move.w (a0),d0 cmp.w #"DO",d0 beq UnKnown lea Block7(pc),a1 move.l #2,CheckType bra ShowType UnKnown:clr.l CheckType lea Block10(pc),a1 ShowType: moveq #23,d2 move.l #85,x jsr PText(pc) moveq #1,d0 jsr SetPen(pc) rts ViewBuffer: move.l #40,x move.l #17,y clr.l Cnt move.l #1,Row lea String(pc),a1 move.l a1,a2 addi.l #46,a2 BLoop: clr.l d0 move.b #$30,(a1) move.b #$30,1(a1) move.b #$30,(a2) Move.l ReadBuffer(pc),a0 add.l Cnt(pc),a0 move.b (a0),d0 move.l d0,Backup move.l d0,d1 divu #$10,d1 add.b d1,(a1) cmp.b #57,(a1) bls GoB1 add.b #7,(a1) GoB1: mulu #$10,d1 sub.b d1,d0 add.b d0,1(a1) cmp.b #57,1(a1) bls GoB2 add.b #7,1(a1) GoB2: move.l Backup,d0 cmp.l #31,d0 bls NoChar cmp.l #128,d0 bge NoChar1 MakeChar: move.b d0,(a2) bra DoChar NoChar1:cmp.l #159,d0 bls NoChar bra MakeChar NoChar: move.b #46,(a2) DoChar: addq.l #2,a1 addq.l #1,a2 move.l Row(pc),d0 divu #4,d0 swap d0 tst.w d0 bne NoLong addq.l #1,a1 NoLong: addq.l #1,Row addq.l #1,Cnt cmp.l #512,Cnt beq ReadyView cmp.l #21,Row blt BLoop moveq #66,d2 lea String(pc),a1 jsr PText(pc) Move.l #1,Row addi.l #8,y lea String(pc),a1 move.l a1,a2 addi.l #46,a2 bra BLoop ReadyView: lea String(pc),a1 move.l #$20202020,58(a1) move.l #$20202020,62(a1) addi.l #27,a1 moveq #16,d0 ViewL2: move.b #$20,(a1)+ dbra d0,ViewL2 lea String(pc),a1 moveq #65,d2 lea String(pc),a1 bra PText HolMem: move.l #1024,d0 move.l #$10002,d1 move.l execbase,a6 jsr AllocMem(a6) move.l d0,ReadBuffer bne GotMem move.w #5,Error bra ErrorDisplay GotMem: rts WegMem: tst.l ReadBuffer beq SchonWeg move.l #1024,d0 move.l ReadBuffer(pc),a1 move.l ExecBase,a6 jsr FreeMem(a6) clr.l ReadBuffer SchonWeg: rts OpenDisk: move.l ExecBase,a6 sub.l a1,a1 jsr FindTask(a6) move.l d0,diskrep+16 lea Diskrep(pc),a1 jsr AddPort(a6) lea DiskIO0(pc),a1 move.l #diskrep,14(a1) clr.l d0 clr.l d1 lea TrackName(pc),a0 jsr OpenDev(a6) tst.l d0 beq OKDisk1 move.w #6,Error bra ErrorDisplay OKDisk1:move.l #"df0:",Disk0 lea DiskIO1(pc),a1 move.l #diskrep,14(a1) moveq #1,d0 clr.l d1 lea TrackName(pc),a0 jsr OpenDev(a6) tst.l d0 bne OKDisk2 move.l #"df1:",Disk1 OKDisk2:lea DiskIO2(pc),a1 move.l #diskrep,14(a1) moveq #2,d0 clr.l d1 lea TrackName(pc),a0 jsr OpenDev(a6) tst.l d0 bne OKDisk3 move.l #"df2:",Disk2 OKDisk3:lea DiskIO3(pc),a1 move.l #diskrep,14(a1) moveq #3,d0 clr.l d1 lea TrackName(pc),a0 jsr OpenDev(a6) tst.l d0 bne OKDisk4 move.l #"df3:",Disk3 OKDisk4:tst.l Disk1 bne OkM2 subi.w #$10,Punkt232+12 subi.w #$10,Punkt242+12 subi.w #$10,Punkt262+12 OKM2: tst.l Disk2 bne OKM3 subi.w #$10,Punkt233+12 subi.w #$10,Punkt243+12 subi.w #$10,Punkt263+12 OKM3: tst.l Disk3 bne OKM4 subi.w #$10,Punkt234+12 subi.w #$10,Punkt244+12 subi.w #$10,Punkt264+12 OKM4: rts CloseDisk: move.l ExecBase,a6 lea DiskRep(pc),a1 jsr RemPort(a6) tst.l Disk0 beq CDisk1 lea DiskIO0(pc),a1 jsr CloseDev(a6) CDisk1: tst.l Disk1 beq CDisk2 lea DiskIO1(pc),a1 jsr CloseDev(a6) CDisk2: tst.l Disk2 beq CDisk3 lea DiskIO2(pc),a1 jsr CloseDev(a6) CDisk3: tst.l Disk3 beq CDisk lea DiskIO3(pc),a1 jsr CloseDev(a6) CDisk: clr.l Disk0 clr.l Disk1 clr.l Disk2 clr.l Disk3 rts ScreenOn: move.l IntBase(pc),a6 Lea Screen(pc),a0 jsr OpenScreen(a6) move.l d0,ScreenHd tst.l d0 bne OKWindow move.w #1,Error bra ErrorDisplay OKWindow: lea Window(pc),a0 jsr OpenWindow(a6) move.l d0,WindowHd tst.l d0 bne OKMenu move.w #2,Error bra ErrorDisplay OKMenu: move.l d0,a0 lea Menu(pc),a1 jsr SetMenu(a6) clr.w Error rts ScreenOff: tst.l WindowHd beq NotWindow move.l intbase(pc),a6 move.l WindowHd(pc),a0 jsr ClearMenu(a6) move.l WindowHd(pc),a0 jsr CloseWindow(a6) NotWindow: tst.l ScreenHd beq NotScreen move.l ScreenHd(pc),a0 jsr CloseScreen(a6) NotScreen: rts OpenLibs: move.l ExecBase,a6 lea Intname(pc),a1 jsr OpenLib(a6) move.l d0,IntBase tst.l d0 bne OkDos bra ErrorDisplay OkDos: lea dosname(pc),a1 jsr OpenLib(a6) move.l d0,DosBase tst.l d0 bne OkGraphic move.w #3,Error bra ErrorDisplay OkGraphic: lea Graphicname(pc),a1 jsr OpenLib(a6) move.l d0,GraphicBase tst.l d0 bne OkLibs move.w #4,Error bra ErrorDisplay OkLibs: clr.w Error rts CloseLibs:move.l ExecBase,a6 tst.l DosBase beq NoClose1 move.l DosBase(pc),a1 jsr CloseLib(a6) NoClose1:tst.l GraphicBase beq NoClose2 move.l GraphicBase(pc),a1 jsr CloseLib(a6) NoClose2:tst.l IntBase beq NoClose3 move.l IntBase(pc),a1 jsr CloseLib(a6) NoClose3:clr.l DosBase clr.l GraphicBase clr.l IntBase rts SetPen: move.l WindowHd(pc),a1 move.l 50(a1),a1 move.l graphicBase(pc),a6 jsr SetAPen(a6) rts SetPen2:move.l WindowHd(pc),a1 move.l 50(a1),a1 move.l GraphicBase(pc),a6 jsr SetBPen(a6) rts Infos: jsr ClearScreen(pc) moveq #1,d0 jsr SetPen(pc) clr.l Nr move.l #4,Cnt move.l #20,x move.l #20,y ILoop: move.l Nr(pc),d5 mulu #5,d5 lea df0(pc),a1 add.l d5,a1 moveq #4,d2 move.l #20,x jsr PText(pc) lea Disk0(pc),a0 move.l Nr,d5 mulu #4,d5 add d5,a0 tst.l (a0) bne Connect move.l #52,x moveq #21,d2 lea NichtDa(Pc),a1 jsr PText(pc) bra NextDrive Connect:move.l #52,x move.l Nr(pc),d0 jsr DiskType(pc) cmp.l #1,d0 bne FuenfZ lea DreiZoll(pc),a1 moveq #21,d2 jsr PText(pc) bra DinD FuenfZ: lea FuenfZoll(pc),a1 moveq #21,d2 jsr PText(pc) DinD: addi.l #10,y move.l Nr(pc),d1 jsr DiskInDrive(pc) tst.l d0 beq IstDrin move.l #52,x lea Empty(pc),a1 moveq #26,d2 jsr PText(pc) bra NextDrive IstDrin:move.l Nr(pc),d1 move.l #52,x jsr DiskProtect(pc) tst.l d0 beq NotProtect lea Protect(pc),a1 moveq #31,d2 jsr PText(pc) bra NBlocks NotProtect: lea Enable(pc),a1 moveq #37,d2 jsr PText(pc) NBlocks:addi.l #10,y move.l #52,x moveq #-2,d2 move.l #df0,d1 move.l Nr(pc),d3 mulu #5,d3 add d3,d1 move.l DosBase(pc),a6 jsr Lock(a6) move.l d0,FileHd tst.l d0 beq NextDrive move.l d0,d1 move.l #IBlock,d2 jsr Info(a6) move.l FileHd(pc),d1 move.l #IBlock2,d2 jsr Examine(a6) move.l FileHd(pc),d1 jsr UnLock(a6) lea Blocks(pc),a1 moveq #34,d2 jsr PText(pc) move.l #IBlock,a0 move.l 16(a0),d0 jsr MakeText(pc) move.l #324,x jsr PText(pc) move.l #364,x moveq #7,d2 lea Used(pc),a1 jsr PText(pc) move.l #60,x addi.l #10,y lea DName(pc),a1 moveq #15,d2 jsr PText(pc) move.l #188,x lea IBlock2(pc),a1 addi.l #8,a1 jsr Len(pc) jsr PText(pc) NextDrive: move.l #20,x addi.l #20,y addq.l #1,Nr subq.l #1,Cnt tst.l Cnt bne ILoop moveq #4,d2 lea Ram(pc),a1 jsr PText(pc) addi.l #40,x moveq #10,d2 lea Fast(pc),a1 jsr PText(pc) moveq #4,d1 jsr Avail(pc) jsr MakeT2(pc) addi.l #80,x jsr PText(pc) addi.l #64,x moveq #11,d2 lea Frei(pc),a1 jsr PText(pc) addi.l #10,y move.l #60,x moveq #10,d2 lea Chip(pc),a1 jsr PTExt(pc) moveq #2,d1 jsr Avail(pc) jsr MakeT2(pc) addi.l #80,x jsr PText(pc) addi.l #64,x moveq #11,d2 lea Frei(pc),a1 jsr PText(pc) bra Main Avail: move.l execbase,a6 jsr AvailMem(a6) rts MakeT2: lea String(pc),a1 move.l #$30303030,(a1) move.l #$30303030,4(a1) tst.l d0 beq NoDiv moveq #-1,d1 TLoop1: subi.l #1000000,d0 addq.l #1,d1 tst.l d0 bge TLoop1 addi.l #1000000,d0 add.b d1,(a1) moveq #-1,d1 TLoop2: subi.l #100000,d0 addq.l #1,d1 tst.l d0 bge TLoop2 addi.l #100000,d0 add.b d1,1(a1) moveq #-1,d1 TLoop3: subi.l #10000,d0 addq.l #1,d1 tst.l d0 bge TLoop3 addi.l #10000,d0 add.b d1,2(a1) moveq #-1,d1 TLoop4: subi.l #1000,d0 addq.l #1,d1 tst.l d0 bge TLoop4 addi.l #1000,d0 add.b d1,3(a1) moveq #-1,d1 TLoop5: subi.l #100,d0 addq.l #1,d1 tst.l d0 bge TLoop5 addi.l #100,d0 add.b d1,4(a1) moveq #-1,d1 TLoop6: subi.l #10,d0 addq.l #1,d1 tst.l d0 bge TLoop6 addi.l #10,d0 add.b d1,5(a1) add.b d0,6(a1) NoDiv: moveq #7,d2 rts MakeText: lea UBlocks(pc),a1 move.l #$30303030,UBlocks move.l d0,d1 divu #1000,d1 add.b d1,(a1) mulu #1000,d1 sub.w d1,d0 move.l d0,d1 divu #100,d1 add.b d1,1(a1) mulu #100,d1 sub.w d1,d0 move.l d0,d1 divu #10,d1 add.b d1,2(a1) mulu #10,d1 sub.w d1,d0 add.b d0,3(a1) moveq #4,d2 rts Len: move.l a1,a0 clr.l d2 clr.l d3 LenLoop:move.b (a0)+,d3 tst.b d3 beq LenFound addq.l #1,d2 bra LenLoop LenFound: rts Checksumm0: move.l ReadBuffer(pc),a0 lea 4(a0),a1 clr.l (a1) move.l #$ff,d1 clr.l d0 CheckLoop0: add.l (a0)+,d0 bcc JumpCh0 addq.l #1,d0 JumpCh0:dbf d1,CheckLoop0 not.l d0 move.l d0,(a1) rts Checksumm1: move.l ReadBuffer(pc),a0 move.l a0,a1 moveq #$7f,d1 clr.l d0 move.l d0,20(a1) CheckLoop1: sub.l (a0)+,d0 dbf d1,CheckLoop1 move.l d0,20(a1) rts Checksumm2: move.l ReadBuffer(pc),a0 move.l a0,a1 moveq #$7f,d1 clr.l d0 move.l d0,(a1) CheckLoop2: sub.l (a0)+,d0 dbf d1,CheckLoop2 move.l d0,(a1) rts Checksumm3: tst.l Block beq DoSumm3 move.w #9,Error bra ErrorDisplay DoSumm3:jsr DiskInDrive(pc) tst.l d0 beq Summ2 jsr InsertRequest(pc) tst.l d0 bne Checksumm3 rts Summ2: clr.l d0 moveq #2,d1 move.l ReadBuffer(pc),d2 jsr DiskRead(pc) bra CheckSumm0 ClearScreen: clr.l d0 jsr SetPen(pc) move.l WindowHd(pc),a1 move.l 50(a1),a1 clr.l d0 moveq #10,d1 move.l #640,d2 move.l #256,d3 jsr RectFill(a6) rts PText: move.l a1,a5 move.l WindowHd(pc),a1 move.l 50(a1),a1 move.l GraphicBase,a6 move.l x(pc),d0 move.l y(pc),d1 jsr Move(a6) move.l a5,a0 move.l WindowHd(pc),a1 move.l 50(a1),a1 move.l d2,d0 jsr Text(a6) rts DiskInDrive: move.l d1,d2 mulu #80,d2 lea DiskIO0(pc),a1 add.l d2,a1 move.w #14,28(a1) move.l execbase,a6 jsr DoIO(a6) move.l 32(a1),d0 rts DiskProtect: move.l d1,d2 mulu #80,d2 move.l execbase,a6 lea DiskIO0(pc),a1 add.l d2,a1 move.w #15,28(a1) jsr DOIO(a6) move.l 32(a1),d0 rts MotorOFF: move.l d1,d2 mulu #80,d2 move.l execbase,a6 lea DiskIO0(pc),a1 add.l d2,a1 move.w #9,28(a1) clr.l 36(a1) jsr DOIO(a6) rts DiskRead: lea DiskIO0,a1 move.l Nr(pc),d7 mulu #80,d7 add.l d7,a1 move.w #2,28(a1) mulu #512,d0 move.l d0,44(a1) mulu #512,d1 move.l d1,36(a1) move.l d2,40(a1) move.l execbase,a6 jsr DoIO(a6) move.l Nr(pc),d1 Jsr MotorOff(pc) clr.l d0 rts DiskWrite: move.l d0,Stack move.l d1,Stack+4 move.l d2,Stack+8 move.l Nr(pc),d1 jsr DiskInDrive(pc) tst.l d0 beq WriteOk1 move.l Nr(pc),d7 jsr InsertRequest(pc) tst.l d0 bne DiskWrite move.l #-1,Antwort rts WriteOk1: move.l Nr(pc),d1 jsr DiskProtect(pc) tst.l d0 beq WriteOk2 move.l Nr(Pc),d7 jsr WriteRequest(pc) tst.l d0 bne WriteOk1 move.l #-1,Antwort rts WriteOk2: move.l Stack(pc),d0 move.l Stack+4,d1 move.l Stack+8,d2 lea DiskIO0,a1 move.l Nr(pc),d7 mulu #80,d7 add.l d7,a1 move.l a1,Stack+12 move.w #3,28(a1) mulu #512,d0 move.l d0,44(a1) mulu #512,d1 move.l d1,36(a1) move.l d2,40(a1) move.l execbase,a6 jsr DoIO(a6) move.l Stack+12,a1 move.w #4,28(a1) jsr DoIO(a6) move.l Nr(pc),d1 jsr MotorOFF(pc) rts Stack: blk.l 4,0 DiskType: lea DiskIO0(pc),a1 move.l Nr(pc),d7 mulu #80,d7 add.l d7,a1 move.w #18,28(a1) move.l ExecBase,a6 jsr DoIO(a6) move.l 32(a1),d0 rts TrackRead: lea DiskIO0(pc),a1 mulu #80,d3 add.l d3,a1 move.w #2,28(a1) mulu #512,d0 move.l d0,44(a1) mulu #512,d1 move.l d1,36(a1) move.l d2,40(a1) move.l execbase,a6 jsr DoIO(a6) move.b 31(a1),d0 move.l 32(a1),d7 rts TrackWrite: lea DiskIO0(pc),a1 mulu #80,d3 add.l d3,a1 move.w #11,28(a1) mulu #512,d0 move.l d0,44(a1) mulu #512,d1 move.l d1,36(a1) move.l d2,40(a1) move.l execbase,a6 jsr DoIO(a6) move.b 31(a1),d0 move.l 32(a1),d7 rts ErrorDisplay: tst.l intbase beq NoAlert clr.l d2 move.w Error(pc),d2 mulu #4,d2 subq.l #4,d2 lea Alert(pc),a1 add.l d2,a1 move.l (a1),a0 move.l intbase(pc),a6 clr.l d0 moveq #50,d1 jsr DisplayA(a6) NoAlert:rts Autor: tst.l IntBase beq NoAutor lea AutorA(pc),a0 move.l IntBase,a6 clr.l d0 moveq #60,d1 jsr DisplayA(a6) NoAutor:bra Main EndingRequest: move.l WindowHd(pc),a0 lea Endtext(pc),a1 lea Endl(pc),a2 lea Endr(pc),a3 clr.l d0 clr.l d1 move.l #258,d2 moveq #80,d3 move.l IntBase,a6 jsr AutoRequest(a6) rts InsertRequest: move.l #df0,d1 mulu #5,d7 add.w d7,d1 move.l d1,InT2+12 move.l WindowHd(pc),a0 lea Intext(pc),a1 lea Endl(pc),a2 lea Endr(pc),a3 move.l #$8000,d0 clr.l d1 move.l #258,d2 moveq #80,d3 move.l IntBase,a6 jsr AutoRequest(a6) move.l d0,Antwort rts WriteRequest: move.l #df0,d1 move.l Nr(pc),d7 mulu #5,d7 add.w d7,d1 move.l d1,WrT2+12 move.l WindowHd(pc),a0 lea Wrtext(pc),a1 lea Endl(pc),a2 lea Endr(pc),a3 move.l #$8000,d0 clr.l d1 move.l #258,d2 moveq #80,d3 move.l IntBase,a6 jsr AutoRequest(a6) move.l d0,Antwort rts InstallRequest: move.l #df0,d1 mulu #5,d7 add.w d7,d1 move.l d1,StT2+12 move.l WindowHd(pc),a0 lea Sttext(pc),a1 lea Endl(pc),a2 lea Endr(pc),a3 clr.l d0 clr.l d1 move.l #258,d2 moveq #80,d3 move.l IntBase,a6 jsr AutoRequest(a6) move.l d0,Antwort rts CopyRequest1: move.l #df0,d1 move.l Nr(pc),d7 mulu #5,d7 add.w d7,d1 move.l d1,OrT2+12 move.l WindowHd(pc),a0 lea OrText(pc),a1 lea Endl(pc),a2 lea Endr(pc),a3 clr.l d0 clr.l d1 move.l #258,d2 moveq #80,d3 move.l IntBase,a6 jsr AutoRequest(a6) move.l d0,Antwort rts CopyRequest2: move.l #df0,d1 move.l Ziel(pc),d7 mulu #5,d7 add.w d7,d1 move.l d1,ZiT2+12 move.l WindowHd(pc),a0 lea Zitext(pc),a1 lea Endl(pc),a2 lea Endr(pc),a3 clr.l d0 clr.l d1 move.l #258,d2 moveq #80,d3 move.l IntBase,a6 jsr AutoRequest(a6) move.l d0,Antwort rts CopyRequest3: move.l #df0,d1 move.l Nr(pc),d7 mulu #5,d7 add.l d7,d1 move.l d1,CoT2+12 move.l #CoT6,CoT4+16 move.l #CoT6,Cot5+16 move.l #CoT7,Cot6+16 lea Target0(pc),a0 lea df0(pc),a1 lea CoT4(pc),a2 move.l #34,y clr.l d0 R3Loop: tst.l (a0) beq NextR3 move.l a1,12(a2) addi.l #8,y addi.l #20,a2 NextR3: addq.l #4,a0 adda.l #5,a1 addq.l #1,d0 cmp.l #4,d0 bne R3Loop move.w y+2,Cot7+6 subi.l #20,a2 move.l #Cot7,16(a2) move.l WindowHd(pc),a0 lea Co3text(pc),a1 lea Mall(pc),a2 lea Malr(pc),a3 clr.l d0 clr.l d1 move.l #258,d2 moveq #111,d3 move.l IntBase(pc),a6 jsr AutoRequest(a6) rts CopyRequest4: move.l WindowHd(pc),a0 lea Maltext(pc),a1 lea Mall(pc),a2 lea Malr(pc),a3 clr.l d0 clr.l d1 move.l #258,d2 moveq #80,d3 move.l IntBase(pc),a6 jsr AutoRequest(a6) move.l d0,Antwort rts Antwort: dc.l 0 Alert: dc.l Alert1,Alert2,Alert3,Alert4,Alert5,Alert6,Alert7 dc.l Alert8,Alert9,Alert10,Alert11,Alert12,Alert13 dc.l Alert14,Alert15,Alert16,Alert17,Alert18 Alert1: dc.b 0,188,29,"Screen öffnen ist fehlgeschlagen!",0,0,0 Alert2: dc.b 0,184,29,"Fenster öffnen ist fehlgeschlagen!",0,0 Alert3: dc.b 0,192,29,"Konnte dos.library nicht öffnen!",0,0 Alert4: dc.b 0,172,29,"Konnte graphics.library nicht öffnen!",0,0,0 Alert5: dc.b 0,200,29,"Habe keinen Speicher bekommen!",0,0 Alert6: dc.b 0,172,29,"Konnte trackdisk.device nicht öffnen!",0,0,0 Alert7: dc.b 0,228,29,"Sectormap ist ungültig!",0,0,0 Alert8: dc.b 0,188,29,"Checksumme Unnötigt, bzw. Unsinn!",0,0 Alert9: dc.b 0,184,29,"Checksumme nur Über Block 0 und 1!",0,0,0 Alert10:dc.b 0,184,29,"Kein Original-Laufwerk ausgewählt!",0,0,0 Alert11:dc.b 0,204,29,"Kein Ziel-Laufwerk angegeben!",0,0,0 Alert12:dc.b 0,120,29,"Mehrmals nur wenn Original-Laufwerk=Ziel-" dc.b "Laufwerk!",0,0,0 Alert13:dc.b 0,168,29,"Mehrmals nur mit einem Ziel-Laufwerk!",0,0 Alert14:dc.b 0,248,29,"Fehler beim lesen!",0,0,0 Alert15:dc.b 0,232,29,"Fehler beim schreiben!",0,0,0 Alert16:dc.b 0,192,29,"Ziel-Laufwerk=Original-Laufwerk!",0,0,0 Alert17:dc.b 0,136,29,"Konnte keinen Speicher für ÜBERPRÜFEN" dc.b "bekommen!",0,0,0 Alert18:dc.b 0,160,29,"ÜBERPRÜFUNGS-Fehler, Track: siehe unten!" dc.b 0,0,0 even AutorA: dc.b 1,41,12,"Autor:",0,1 dc.b 1,17,23,"Oliver Peter",0,1 dc.b 0,236,32,"Vaalserstr. 152a/1130",0,1 dc.b 1,21,41,"5100 Aachen",0,1 dc.b 1,25,50,"0241/85497",0,0 even Error: dc.w 0 DosBase: dc.l 0 GraphicBase: dc.l 0 IntBase: dc.l 0 DosName: dc.b "dos.library",0 GraphicName: dc.b "graphics.library",0 IntName: dc.b "intuition.library",0 TrackName: dc.b "trackdisk.device",0 even Screen: dc.w 0,0,640,256,4 dc.b 0,0 dc.w $8002,15 dc.l 0,0,0,0 Window: dc.w 0,0,640,256 dc.b 2,15 dc.l $18708,$1808,0,0,WTitle Screenhd:dc.l 0,0 dc.w 320,200,640,256,15 WTitle: dc.b "Disk-Master" blk.b 69,32 dc.b 0,0 WindowHd: dc.l 0 EndText:dc.b 2,1,0,0 dc.w 15,15 dc.l 0,End,0 End: dc.b "Programm wirklich beenden?",0,0 Endl: dc.b 2,1,0,0 dc.w 6,4 dc.l 0,El,0 El: dc.b " JA ",0,0 Endr: dc.b 2,1,0,0 dc.w 6,4 dc.l 0,Er,0 Er: dc.b " NEIN ",0,0 InText: dc.b 2,1,0,0 dc.w 51,10 dc.l 0,In,InT2 In: dc.b "Bitte Diskette in",0 InT2: dc.b 2,1,0,0 dc.w 103,20 dc.l 0,0,InT3 InT3: dc.b 2,1,0,0 dc.w 87,30 dc.l 0,In3,0 In3: dc.b "einlegen!",0 WrText: dc.b 2,1,0,0 dc.w 27,10 dc.l 0,Wr,WrT2 Wr: dc.b "Bitte Schreibschutz von",0 WrT2: dc.b 2,1,0,0 dc.w 103,20 dc.l 0,0,WrT3 WrT3: dc.b 2,1,0,0 dc.w 83,30 dc.l 0,Wr3,0 Wr3: dc.b "entfernen!",0,0 StText: dc.b 2,1,0,0 dc.w 51,10 dc.l 0,St,StT2 St: dc.b "Boot-Block (0) in",0 StT2: dc.b 2,1,0,0 dc.w 103,20 dc.l 0,0,StT3 StT3: dc.b 2,1,0,0 dc.w 59,30 dc.l 0,St3,0 St3: dc.b "neu beschreiben!",0,0 OrText: dc.b 2,1,0,0 dc.w 15,10 dc.l 0,Or,OrT2 Or: dc.b "Bitte Original-Diskette in",0,0 OrT2: dc.b 2,1,0,0 dc.w 103,20 dc.l 0,0,InT3 ZiText: dc.b 2,1,0,0 dc.w 31,10 dc.l 0,Zi,ZiT2 Zi: dc.b "Bitte Ziel-Diskette in",0,0 ZiT2: dc.b 2,1,0,0 dc.w 103,20 dc.l 0,0,InT3 MalText:dc.b 2,1,0,0 dc.w 23,15 dc.l 0,Mal,MalT1 Mal: dc.b "Sie müssten die Diskette",0,0 MalT1: dc.b 2,1,0,0 dc.w 103,23 dc.l 0,Ma1,MalT2 Ma1: dc.b "00",0,0 MalT2: dc.b 2,1,0,0 dc.w 71,30 dc.l 0,Ma2,0 Ma2: dc.b "mal wechseln!",0 Mall: dc.b 2,1,0,0 dc.w 6,4 dc.l 0,Ml,0 Ml: dc.b " OK ",0,0 Malr: dc.b 2,1,0,0 dc.w 6,4 dc.l 0,Mr,0 Mr: dc.b " NEIN ",0,0 Co3Text: dc.b 2,1,0,0 dc.w 15,10 dc.l 0,Co,CoT2 Co: dc.b "Bitte Original-Diskette in",0,0 CoT2: dc.b 2,1,0,0 dc.w 103,18 dc.l 0,0,CoT3 CoT3: dc.b 2,1,0,0 dc.w 31,26 dc.l 0,Co3,CoT4 Co3: dc.b "Bitte Ziel-Diskette in",0,0 CoT4: dc.b 2,1,0,0 dc.w 103,34 dc.l 0,0,CoT5 CoT5: dc.b 2,1,0,0 dc.w 103,42 dc.l 0,0,CoT6 CoT6: dc.b 2,1,0,0 dc.w 103,50 dc.l 0,0,CoT7 CoT7: dc.b 2,1,0,0 dc.w 87,58 dc.l 0,In3,0 Menu: dc.l Menu2 dc.w 20,0,72,10,1 dc.l MText1,Punkt11,0,0 MText1: dc.b "Programm",0,0 Punkt11:dc.l Punkt12 dc.w -5,0,80,10,$96 dc.l 0,PText11,0 dc.b "H",0 dc.l 0,0 PText11:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P11,0 P11: dc.b "HELP",0,0 Punkt12:dc.l Punkt13 dc.w -5,15,80,10,$96 dc.l 0,PText12,0 dc.b "Q",0 dc.l 0,0 PText12:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P12,0 P12: dc.b "QUIT",0,0 Punkt13:dc.l 0 dc.w -5,30,80,10,$92 dc.l 0,PText13,0 dc.b 0,0 dc.l 0,0 PText13:dc.b 2,15,0,0 dc.w 20,2 dc.l 0,P13,0 P13: dc.b "AUTOR",0 Menu2: dc.l Menu3 dc.w 101,0,40,10,1 dc.l MText2,Punkt21,0,0 MText2: dc.b "Disk",0,0 Punkt21:dc.l Punkt22 dc.w -35,0,118,10,$96 dc.l 0,PText21,0 dc.b "I",0 dc.l 0,0 PText21:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P21,0 P21: dc.b "INFO",0,0 Punkt22:dc.l Punkt23 dc.w -35,15,118,10,$96 dc.l 0,PText22,0 dc.b "E",0 dc.l 0,0 PText22:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P22,0 P22: dc.b "EINLESEN",0,0 Punkt23:dc.l Punkt24 dc.w -35,30,118,10,$92 dc.l 0,PText23,0 dc.w 0 dc.l Punkt231,0 PText23:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P23,0 P23: dc.b "VIEW BLOCKS",0 Punkt24:dc.l Punkt25 dc.w -35,45,118,10,$92 dc.l 0,PText24,0 dc.w 0 dc.l Punkt241,0 PText24:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P24,0 P24: dc.b "BLOCKS USED",0 Punkt231:dc.l Punkt232 dc.w 118,0,48,10,$92 dc.l 0,PText241,0 dc.w 0 dc.l 0,0 Punkt232:dc.l Punkt233 dc.w 118,10,48,10,$92 dc.l 0,PText242,0 dc.w 0 dc.l 0,0 Punkt233:dc.l Punkt234 dc.w 118,20,48,10,$92 dc.l 0,PText243,0 dc.w 0 dc.l 0,0 Punkt234:dc.l 0 dc.w 118,30,48,10,$92 dc.l 0,PText244,0 dc.w 0 dc.l 0,0 Punkt241:dc.l Punkt242 dc.w 118,0,48,10,$92 dc.l 0,PText241,0 dc.w 0 dc.l 0,0 PText241:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P241,0 P241: dc.b "DF0:",0,0 Punkt242:dc.l Punkt243 dc.w 118,10,48,10,$92 dc.l 0,PText242,0 dc.w 0 dc.l 0,0 PText242:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P242,0 P242: dc.b "DF1:",0,0 Punkt243:dc.l Punkt244 dc.w 118,20,48,10,$92 dc.l 0,PText243,0 dc.w 0 dc.l 0,0 PText243:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P243,0 P243: dc.b "DF2:",0,0 Punkt244:dc.l 0 dc.w 118,30,48,10,$92 dc.l 0,PText244,0 dc.w 0 dc.l 0,0 PText244:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P244,0 P244: dc.b "DF3:",0,0 Punkt25:dc.l Punkt26 dc.w -35,60,118,10,$96 dc.l 0,PText25,0 dc.b "D",0 dc.l 0,0 PText25:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P25,0 P25: dc.b "DISK-COPY",0 Punkt26:dc.l 0 dc.w -35,75,118,10,$92 dc.l 0,PText26,0 dc.w 0 dc.l Punkt261,0 PText26:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P26,0 P26: dc.b "Read-Errors",0 Punkt261:dc.l Punkt262 dc.w 118,0,48,10,$92 dc.l 0,PText241,0 dc.w 0 dc.l 0,0 Punkt262:dc.l Punkt263 dc.w 118,10,48,10,$92 dc.l 0,PText242,0 dc.w 0 dc.l 0,0 Punkt263:dc.l Punkt264 dc.w 118,20,48,10,$92 dc.l 0,PText243,0 dc.w 0 dc.l 0,0 Punkt264:dc.l 0 dc.w 118,30,48,10,$92 dc.l 0,PText244,0 dc.w 0 dc.l 0,0 Menu3: dc.l Menu4 dc.w 151,0 dc.w 48,10 dc.w 1 dc.l MText3 dc.l Punkt31 dc.l 0,0 MText3: dc.b "Datei",0 Punkt31:dc.l Punkt32 dc.w -56,0,160,10,$96 dc.l 0 dc.l PText31,0 dc.b "N",0 dc.l 0,0 PText31:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P31,0 P31: dc.b "NEUE",0,0 Punkt32:dc.l Punkt33 dc.w -56,15,160,10,$96 dc.l 0,PText32,0 dc.b "Ö",0 dc.l 0,0 PText32:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P32,0 P32: dc.b "ÖFFNEN",0,0 Punkt33:dc.l Punkt34 dc.w -56,30,160,10,$96 dc.l 0,PText33,0 dc.b "S",0 dc.l 0,0 PText33:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P33,0 P33: dc.b "SUCHEN",0,0 Punkt34:dc.l Punkt35 dc.w -56,45,160,10 dc.w $80+$10+4+2 dc.l 0,PText34,0 dc.b "Ü",0 dc.l 0,0 PText34:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P34,0 P34: dc.b "DISK ÜBERNEHMEN",0 Punkt35:dc.l Punkt36 dc.w -56,60,160,10,$96 dc.l 0,PText35,0 dc.b "A",0 dc.l 0,0 PText35:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P35,0 P35: dc.b "AKTUALISIEREN",0 Punkt36:dc.l 0 dc.w -56,75,160,10,$96 dc.l 0,PText36,0 dc.b "C",0 dc.l 0,0 PText36:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P36,0 P36: dc.b "CLOSE",0 Menu4: dc.l 0 dc.w 209,0,56,10,1 dc.l MText4,Punkt41,0,0 MText4: dc.b "Buffer",0,0 Punkt41:dc.l Punkt42 dc.w -22,0,100,10,$96 dc.l 0,PText41,0 dc.b "O",0 dc.l 0,0 PText41:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P41,0 P41: dc.b "ORDNEN",0,0 Punkt42:dc.l Punkt43 dc.w -22,15,100,10,$96 dc.l 0,PText42,0 dc.b "L",0 dc.l 0,0 PText42:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P42,0 P42: dc.b "LÖSCHEN",0 Punkt43:dc.l 0 dc.w -22,30,100,10,$96 dc.l 0,PText43,0 dc.b "Ä",0 dc.l 0,0 PText43:dc.b 2,15,0,0 dc.w 2,2 dc.l 0,P43,0 P43: dc.b "ÄNDERN",0,0 Gad1: dc.l Gad2 dc.w 585,27,40,11,0,1,1 dc.l Border1,0,GadT1,0,0 dc.w 4,0,0 GadT1: dc.b 10,2,0,0 dc.w 4,2 dc.l 0,GT1,0 GT1: dc.b "BOOT",0,0 Border1:dc.w 0,0 dc.b 1,0,0,5 dc.l Kord1,0 Kord1: dc.w 0,0,39,0,39,10,0,10,0,0, Gad2: dc.l Gad3 dc.w 573,40,64,11,0,1,1 dc.l Border2,0,GadT2,0,0 dc.w 5,0,0 GadT2: dc.b 10,2,0,0 dc.w 4,2 dc.l 0,GT2,0 GT2: dc.b "NO BOOT",0 Border2:dc.w 0,0 dc.b 1,0,0,5 dc.l Kord2,0 Kord2: dc.w 0,0,63,0,63,10,0,10,0,0 Gad3: dc.l Gad4 dc.w 585,70,40,11,0,1,1 dc.l Border3,0,GadT3,0,0 dc.w 6,0,0 GadT3: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT3,0 GT3: dc.b "JUMP",0,0 Border3:dc.w 0,0 dc.b 1,0,0,5 dc.l Kord3,0 Kord3: dc.w 0,0,39,0,39,10,0,10,0,0 Gad4: dc.l Gad5 dc.w 581,85,48,11,0,1,1 dc.l Border4,0,GadT4,0,0 dc.w 7,0,0 GadT4: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT4,0 GT4: dc.b "WRITE",0 Border4:dc.w 0,0 dc.b 1,0,0,5 dc.l Kord4,0 Kord4: dc.w 0,0,47,0,47,10,0,10,0,0 Gad5: dc.l Gad6 dc.w 577,100,56,11,0,1,1 dc.l Border5,0,GadT5,0,0 dc.w 8,0,0 GadT5: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT5,0 GT5: dc.b "CHANGE",0,0 Border5:dc.w 0,0 dc.b 1,0,0,5 dc.l Kord5,0 Kord5: dc.w 0,0,55,0,55,10,0,10,0,0 Gad6: dc.l Gad7 dc.w 89,240,40,8,0,$801,4 dc.l Border6,0,GadT6,0,GadI6 dc.w 1,0,0 GadT6: dc.b 10,0,0,0 dc.w -84,0 dc.l 0,GT6,0 GT6: dc.b "Block Nr:",0 Border6:dc.w 0,0 dc.b 1,0,0,5 dc.l Kord6,0 Kord6: dc.w -1,-1,40,-1,40,8,-1,8,-1,-1 GadI6: dc.l InBuffer,UnBuffer dc.w 0,5,0,0,0,0,0,0 dc.l 0,0,0 Gad7: dc.l Gad8 dc.w 145,239,20,10,0,1,1 dc.l Border7,0,GadT7,0,0 dc.w 2,0,0 GadT7: dc.b 10,0,0,0 dc.w 6,1 dc.l 0,GT7,0 GT7: dc.b "-",0 Border7:dc.w 0,0 dc.b 1,0,0,5 dc.l Kord7,0 Kord7: dc.w 0,0,19,0,19,9,0,9,0,0 Gad8: dc.l Gad9 dc.w 170,239,20,10,0,1,1 dc.l Border8,0,GadT8,0,0 dc.w 3,0,0 GadT8: dc.b 10,0,0,0 dc.w 6,1 dc.l 0,GT8,0 GT8: dc.b "+",0 Border8: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord8,0 Kord8: dc.w 0,0,19,0,19,9,0,9,0,0 Gad9: dc.l Gad10 dc.w 500,239,88,11,0,1,1 dc.l Border9,0,GadT9,0,0 dc.w 9,0,0 GadT9: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT9,0 GT9: dc.b "CHECKSUMME",0,0 Border9: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord9,0 Kord9: dc.w 0,0,87,0,87,10,0,10,0,0 Gad10: dc.l Gad29 dc.w 585,115,40,11,0,1,1 dc.l Border10,0,GadT10,0,0 dc.w 10,0,0 GadT10: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT10,0 GT10: dc.b "READ",0,0 Border10: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord10,0 Kord10: dc.w 0,0,39,0,39,10,0,10,0,0 Gad29: dc.l 0 dc.w 585,150,40,11,0,1,1 dc.l Border10,0,GadT29,0,0 dc.w 29,0,0 GadT29: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT29,0 GT29: dc.b "ENDE",0,0 Gad11: dc.l Gad12 dc.w 100,50,40,11,0,$1,1 dc.l Border10,0,GadT11,0,0 dc.w 11,0,0 GadT11: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT11,0 GT11: dc.b "df0:",0,0 Gad12: dc.l Gad13 dc.w 150,50,40,11,0,$1,1 dc.l Border10,0,GadT12,0,0 dc.w 12,0,0 GadT12: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT12,0 GT12: dc.b "df1:",0,0 Gad13: dc.l Gad14 dc.w 200,50,40,11,0,$1,1 dc.l Border10,0,GadT13,0,0 dc.w 13,0,0 GadT13: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT13,0 GT13: dc.b "df2:",0,0 Gad14: dc.l Gad15 dc.w 250,50,40,11,0,$1,1 dc.l Border10,0,GadT14,0,0 dc.w 14,0,0 GadT14: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT14,0 GT14: dc.b "df3:",0,0 Gad15: dc.l Gad16 dc.w 100,100,40,11,0,$1,1 dc.l Border10,0,GadT15,0,0 dc.w 15,0,0 GadT15: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT11,0 Gad16: dc.l Gad17 dc.w 150,100,40,11,0,$1,1 dc.l Border10,0,GadT16,0,0 dc.w 16,0,0 GadT16: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT12,0 Gad17: dc.l Gad18 dc.w 200,100,40,11,0,$1,1 dc.l Border10,0,GadT17,0,0 dc.w 17,0,0 GadT17: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT13,0 Gad18: dc.l Gad19 dc.w 250,100,40,11,0,$1,1 dc.l Border10,0,GadT18,0,0 dc.w 18,0,0 GadT18: dc.b 10,0,0,0 dc.w 4,2 dc.l 0,GT14,0 Gad19: dc.l Gad20 dc.w 159,150,72,11,0,1,1 dc.l Border19,0,GadT19,0,0 dc.w 19,0,0 GadT19: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT19,0 GT19: dc.b "Mehrmals",0,0 Border19: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord19,0 Kord19: dc.w 0,0,71,0,71,10,0,10,0,0 Gad20: dc.l Gad21 dc.w 151,170,88,11,0,1,1 dc.l Border20,0,GadT20,0,0 dc.w 20,0,0 GadT20: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT20,0 GT20: dc.b "Überprüfen",0,0 Border20: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord20,0 Kord20: dc.w 0,0,87,0,87,10,0,10,0,0 Gad21: dc.l Gad22 dc.w 100,210,80,11,0,1,1 dc.l Border21,0,GadT21,0,0 dc.w 21,0,0 GadT21: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT21,0 GT21: dc.b "Abbrechen",0 Border21: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord21,0 Kord21: dc.w 0,0,79,0,79,10,0,10,0,0 Gad22: dc.l Gad23 dc.w 242,210,48,11,0,1,1 dc.l Border22,0,GadT22,0,0 dc.w 22,0,0 GadT22: dc.b 11,0,0,0 dc.w 4,2 dc.l 0,GT22,0 GT22: dc.b "START",0 Border22: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord22,0 Kord22: dc.w 0,0,47,0,47,10,0,10,0,0 Gad23: dc.l Gad24 dc.w 443,50,22,11,4,1,1 dc.l GadI23,0,0,0,0 dc.w 23,0,0 Gad24: dc.l Gad25 dc.w 495,50,22,11,4,1,1 dc.l GadI24,0,0,0,0 dc.w 24,0,0 Gad25: dc.l Gad26 dc.w 443,100,22,11,4,1,1 dc.l GadI23,0,0,0,0 dc.w 25,0,0 Gad26: dc.l Gad27 dc.w 495,100,22,11,4,1,1 dc.l GadI24,0,0,0,0 dc.w 26,0,0 Gad27: dc.l Gad28 dc.w 468,50,24,11,0,1,1 dc.l Border27,0,0,0,0 dc.w 27,0,0 Gad28: dc.l 0 dc.w 468,100,24,11,0,1,1 dc.l Border27,0,0,0,0 dc.w 28,0,0 Border27: dc.w 0,0 dc.b 1,0,0,5 dc.l Kord27,0 Kord27: dc.w 0,0,23,0,23,10,0,10,0,0 GadI23: dc.w 0,0,22,11,2 dc.l GadD23 dc.b 2,10 dc.l 0 GadI24: dc.w 0,0,22,11,2 dc.l GadD24 dc.b 2,10 dc.l 0 GadD23: dc.l %00000000000000000001110000000000 dc.l %00000000000000011111110000000000 dc.l %00000000000111111111110000000000 DC.L %00000001111111111111110000000000 dc.l %00011111111111111111110000000000 dc.l %11111111110000000011110000000000 dc.l %00011111111111111111110000000000 dc.l %00000001111111111111110000000000 dc.l %00000000000111111111110000000000 dc.l %00000000000000011111110000000000 dc.l %00000000000000000001110000000000 dc.l %00000000000000000001110000000000 dc.l %00000000000000011111110000000000 dc.l %00000000000111111111110000000000 DC.L %00000001111111111111110000000000 dc.l %00011111111111111111110000000000 dc.l %11111111110000000011110000000000 dc.l %00011111111111111111110000000000 dc.l %00000001111111111111110000000000 dc.l %00000000000111111111110000000000 dc.l %00000000000000011111110000000000 dc.l %00000000000000000001110000000000 GadD24: dc.l %11100000000000000000000000000000 dc.l %11111110000000000000000000000000 dc.l %11111111111000000000000000000000 dc.l %11111110011111100000000000000000 dc.l %11111110011111111110000000000000 dc.l %11110000000011111111110000000000 dc.l %11111110011111111110000000000000 dc.l %11111110011111100000000000000000 dc.l %11111111111000000000000000000000 dc.l %11111110000000000000000000000000 dc.l %11100000000000000000000000000000 dc.l %11100000000000000000000000000000 dc.l %11111110000000000000000000000000 dc.l %11111111111000000000000000000000 dc.l %11111110011111100000000000000000 dc.l %11111110011111111110000000000000 dc.l %11110000000011111111110000000000 dc.l %11111110011111111110000000000000 dc.l %11111110011111100000000000000000 dc.l %11111111111000000000000000000000 dc.l %11111110000000000000000000000000 dc.l %11100000000000000000000000000000 UnBuffer: dc.b "880",0,0,0,0,0,0,0,0,0 InBuffer: dc.b "880",0,0,0,0,0,0,0,0,0 Ziel: dc.l 0 Nr: dc.l 0 Ziel1: dc.l 0 x: dc.l 20 y: dc.l 20 Cnt: dc.l 0 WCnt: dc.l 0 Cnt1: dc.l 0 AltCnt: dc.l 0 FileHD: dc.l 0 Long: dc.l 0 ReadHelp:dc.l 0 xx: dc.l 0 yy: dc.l 0 TPerRead:dc.w 0 MemBytes:dc.l 0 Memory: dc.l 0 Memory1:dc.l 0 Target0:dc.l 0 Target1:dc.l 0 Target2:dc.l 0 Target3:dc.l 0 Mehrmals:dc.l 0 Checking:dc.l 0 CopyActive: dc.l 0 ViewActive: dc.l 0 Block: dc.l 0 Vont: dc.w 0 BisT: dc.w 79 Apos: dc.w 0 Punkt: dc.b 46,0 Shift: dc.l 0 HL: dc.l 0 Color1: dc.l 0 Color2: dc.l 0 Backup: dc.l 0 Row: dc.l 0 OldTrack0: dc.l 0 OldTrack1: dc.l 0 OldTrack2: dc.l 0 OldTrack3: dc.l 0 ActTrack0: dc.l 0 ActTrack1: dc.l 0 ActTrack2: dc.l 0 ActTrack3: dc.l 0 DiskIO0:blk.l 20,0 DiskIO1:blk.l 20,0 DiskIO2:blk.l 20,0 DiskIO3:blk.l 20,0 Diskrep:blk.l 8,0 Disk0: dc.l 0 Disk1: dc.l 0 Disk2: dc.l 0 Disk3: dc.l 0 df0: dc.b "df0:",0 df1: dc.b "df1:",0 df2: dc.b "df2:",0 df3: dc.b "df3:",0 Nichtda:dc.b " nicht angeschlossen!",0 DreiZoll:dc.b " 3.5 Zoll-Laufwerk! ",0 FuenfZoll:dc.b " 5.25 Zoll-Laufwerk! ",0 Empty: dc.b " keine Diskette eingelegt!" Protect:dc.b " Diskette ist schreibgeschützt!",0 Enable: dc.b " Diskette ist nicht schreibgeschützt!",0 Blocks: dc.b " 1758 Blöcke (a 488 Bytes), davon ",0 Used: dc.b "belegt!",0 DName: dc.b "Disketten-Name:",0 Ram: dc.b "RAM:",0,0 Fast: dc.b "FAST-Mem: ",0 Chip: dc.b "CHIP-Mem: ",0 Frei: dc.b "Bytes frei!",0 even ReadBuffer: dc.l 0 LongHex:blk.l 2,0 UBlocks:blk.b 4,0 ; dc.w 0 IBlock: blk.l 40,0 IBlock2:blk.l 65,0 Anzahl: dc.l 6 TextPtr: dc.l Text1,Text2,Text3,Text4,Text5,text6 Text1: dc.w 71 dc.b "Dieses Programm bietet Ihnen neben Informationen, auch die" dc.b " Möglichkeit,",0 Text2: dc.w 69 dc.b "Ihre gesamten Disketten zu Verwalten. D.h. alle Files und" dc.b " Dirs werden",0 Text3: dc.w 65 dc.b "eingelesen und können abgespeichert werden. Vorher können" dc.b " Sie die",0 Text4: dc.w 72 dc.b "Einträge sortieren lassen und einzelne wie z.B: die .Info" dc.b "-Files löschen!" text5: dc.w 60 dc.b "Die detailierte Anleitung befindet sich auf Diskette: README" text6: dc.w 80 dc.b "Sie können Disketten kopieren, Blootblock ansehen und gegeb" dc.b "enenfalls: INSTALL!" even Install:dc.l $444F5300,0,$370,$43FA0018,$4EAEFFA0 DC.L $4A80670A,$20402068,$167000,$4E7570FF,$60FA646F DC.L $732E6C69,$62726172,$79000000 Seite0: dc.b "Seite 0" Seite1: dc.b "Seite 1" T1: dc.b "1" T80: dc.b "80" Sektor1:dc.b "1. Sektor" Sektor11:dc.b "11. Sektor" even Offset: dc.b " 0: 14: 28: 3C: 50: 64: 78: 8C: A0: B4: C8: DC:" dc.b " F0:104:118:12C:140:154:168:17C:190:1A4:1B8:1CC:" dc.b "1E0:1F4:" BLock1: dc.b "Blocktyp:",0 Block2: dc.b "Root-Block ",0 Block3: dc.b "Sub-Directory ",0 Block4: dc.b "File-Header ",0 Block5: dc.b "File-Header Vortsetzung",0 Block6: dc.b "Data-Block ",0 Block7: dc.b "Sectortabelle ",0 Block8: dc.b "Boot-Block 0 ",0 Block9: dc.b "Boot-Block 1 ",0 Block10:dc.b "Unbekannter Typ ",0 Block11:dc.b "Formatierter Block ",0 Inst: dc.b "Install:",0 ChangeT:dc.b "CHANGE",0 JumpT: dc.b "JUMP",0 even Jump: dc.l 0 Change: dc.l 0 mx: dc.w 0 my: dc.w 0 even String: blk.b 66,32 CheckType: dc.l 0 Keys: dc.b 91,49,50,51,52,53,54,55,56,57,48,223,39,92,0,48 dc.b 113,119,101,114,116,122,117,105,111,112,252,43,0,49,50,51 dc.b 97,115,100,102,103,104,106,107,108,246,228,35,0,52,53,54 dc.b 60,121,120,99,118,98,110,109,44,46,45,0,0,55,56,59 dc.b 32,0,0,13,13,27,0,0,0,0,45,0,28,29,30,31 dc.b 129,130,131,132,133,134,135,136,137,138,0,0,0,0,0,0 dc.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.b 93,33,34,167,36,37,38,47,40,41,61,63,96,166,0,61 dc.b 81,87,69,82,84,90,85,73,79,80,220,42,0,33,34,167 dc.b 65,83,68,70,71,72,74,75,76,214,196,180,0,123,125,126 dc.b 62,89,88,67,86,66,78,77,59,58,95,0,0,174,176,94 dc.b 32,0,0,13,13,27,0,0,0,0,95,0,28,29,30,31 dc.b 129,130,131,132,133,134,135,136,137,138,0,0,0,0,0,0 dc.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Copy0: dc.b "Diskcopy",0 Copy1: dc.b "Original:",0 Copy2: dc.b "Kopie:",0 Copy3: dc.b "Start Track",0 Copy4: dc.b "End Track",0 StartT: dc.b "00" EndT: dc.b "79" LeseT: dc.b " Lese Track:",0 SchreibT: dc.b "Schreibe Track:",0 Border0: dc.w 0,0 dc.b 15,0,0,87 dc.l Koord0,0 Koord0: dc.w 0,0,9,0,9,18,18,18,18,0,27,0,27,18 dc.w 36,18,36,0,45,0,45,18,54,18,54,0,63,0 dc.w 63,18,72,18,72,0,81,0,81,18,90,18,90,0,99,0 dc.w 99,18,108,18,108,0,117,0,117,18,126,18,126,0,135,0 dc.w 135,18,144,18,144,0,153,0,153,18,162,18,162,0,171,0 dc.w 171,18,180,18,180,0,189,0,189,18,198,18,198,0,207,0 dc.w 207,18,216,18,216,0,225,0,225,18,234,18,234,0,243,0 dc.w 243,18,252,18,252,0,261,0,261,18,270,18,270,0,279,0 dc.w 279,18,288,18,288,0,297,0,297,18,306,18,306,0,315,0 dc.w 315,18,324,18,324,0,333,0,333,18,342,18,342,0,351,0 dc.w 351,18,360,18,360,0,0,0,0,9,360,9,360,18,0,18,0,9 Kopf1: dc.b "Kopf oben (1)",0,0 Kopf0: dc.b "Kopf unten (0)",0,0 Error0: dc.b "0" Error1: dc.b "39" Error2: dc.b "40" Error3: dc.b "79" Error4: dc.b "20" Error5: dc.b "60" Error6: dc.b "Hard-Error-Status für:" Error7: dc.b "." Error8: dc.b "E" Error9: dc.b "Mouse-Klick zum frühzeitigem Beenden!" end