▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ░▒▓█ rapid1337.com █▓▒░ ╓──────────────────────────────────────────╖ ║ File-name Loader ║ ╟──────────────────────────────────────────╢ ║ ;Conqueror’s DOS fileloader, ripped ║ ║ from “DEEP CORE” coverdisk preview ║ ╟──────────────────────────────────────────╢ ║ ·· code/file-name-loader.html ·· ║ ╙──────────────────────────────────────────╜ ============================================================================ Title ..: File-name Loader Author .: staff Date ...: 2007-06-22 Section : Code ============================================================================ ``` ;Conqueror’s DOS fileloader, ripped from “DEEP CORE” coverdisk preview version ;ripped + modified to let you set the MFM buffer address -WK conqload: movem.l d0-a6,-(sp) lea ($BFD100).l,a5 bsr.w sub_7E948 lea unk_7EA93(pc),a6 andi.b #$7F,(a5) move.b (a6)+,d0 move.l a0,2(a6) st 6(a6) and.b d0,(a5) move.w #$370,d0 bsr.w sub_7E9A2 movea.l a1,a2 loc_7E8AE: tst.b (a2)+ bne.s loc_7E8AE suba.l a1,a2 subq.w #1,a2 move.l a2,d2 moveq #0,d3 move.l d2,d4 move.l d4,d6 movea.l a1,a3 loc_7E8C0: mulu.w #$D,d2 move.b (a1)+,d3 cmpi.b #$61,d3 ; ‘a’ bcs.s loc_7E8D6 cmpi.b #$7A,d3 ; ‘z’ bhi.s loc_7E8D6 subi.b #$20,d3 loc_7E8D6: add.w d3,d2 andi.w #$7FF,d2 subq.w #1,d4 bne.s loc_7E8C0 divu.w #$48,d2 swap d2 addq.w #6,d2 lsl.w #2,d2 move.l (a0,d2.w),d0 loc_7E8EE: bsr.w sub_7E9A2 lea $1B0(a0),a1 cmp.b (a1)+,d6 bne.s loc_7E93A movea.l a3,a2 move.w d6,d0 loc_7E8FE: cmpm.b (a1)+,(a2)+ bne.s loc_7E93A subq.w #1,d0 bne.s loc_7E8FE move.l $144(a0),d0 add.l dword_7EA96(pc),d0 move.l d0,6(a6) loc_7E912: move.l $10(a0),d0 beq.s loc_7E940 bsr.w sub_7E9A2 lea $18(a0),a1 movea.l dword_7EA96(pc),a2 move.l dword_7EA9A(pc),d0 move.w #$1E7,d7 loc_7E92C: move.b (a1)+,(a2)+ cmpa.l d0,a2 dbeq d7,loc_7E92C move.l a2,2(a6) bra.s loc_7E912 ; ————————————————————————— loc_7E93A: move.l $1F0(a0),d0 bne.s loc_7E8EE loc_7E940: bsr.s sub_7E948 movem.l (sp)+,d0-a6 rts ; End of function conqload ; ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ S U B R O U T I N E ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ sub_7E948: ori.b #$F8,(a5) andi.b #$87,(a5) ori.b #$78,(a5) rts ; End of function sub_7E948 ; ————————————————————————— loc_7E956: bset d7,(a5) bsr.s sub_7E97C loc_7E95A: btst #4,$F01(a5) bne.s loc_7E956 sf (a6) ; ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ S U B R O U T I N E ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ sub_7E964: tst.b (a6) bmi.s loc_7E95A loc_7E968: cmp.b (a6),d2 beq.s loc_7E998 bcc.s loc_7E974 bset d7,(a5) subq.b #1,(a6) bra.s loc_7E978 ; ————————————————————————— loc_7E974: bclr d7,(a5) addq.b #1,(a6) loc_7E978: bsr.s sub_7E97C bra.s loc_7E968 ; End of function sub_7E964 ; ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ S U B R O U T I N E ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ sub_7E97C: bclr d3,(a5) mulu.w d3,d3 bset d3,(a5) move.b d3,$500(a5) move.b #$10,$600(a5) move.b #$19,$E00(a5) loc_7E992: btst d3,$E00(a5) bne.s loc_7E992 loc_7E998: btst #5,$F01(a5) bne.s loc_7E998 rts ; End of function sub_7E97C ; ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ S U B R O U T I N E ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ sub_7E9A2: moveq #0,d3 moveq #1,d7 moveq #2,d5 movea.l #mfmbuff,a4 ; lea (unk_A04).l,a4 ;MFM buff move.l d0,d2 ext.l d2 divu.w #$B,d2 move.l d2,d4 swap d4 cmp.b 1(a6),d2 beq.s loc_7EA2A move.b d2,1(a6) bset d5,(a5) btst d3,d2 beq.s loc_7E9CC bclr d5,(a5) loc_7E9CC: lsr.w #1,d2 bsr.s sub_7E964 move.b #5,-2(a6) bra.s loc_7E9E4 ; ————————————————————————— loc_7E9D8: subq.b #1,-2(a6) bne.s loc_7E9E4 moveq #-1,d2 move.w d2,(a6) bra.s sub_7E9A2 ; ————————————————————————— loc_7E9E4: movea.l #mfmbuff,a4 ; lea (unk_A04).l,a4 ; MFM buffer lea ($DFF020).l,a0 move.l a4,(a0)+ move.w #$8210,$72(a0) move.l #$27F00,$78(a0) move.w #$9500,$7A(a0) move.w #$4489,$5A(a0) move.w #$9900,(a0) move.w #$9900,(a0) move.l #$A00000,d7 loc_7EA1A: subq.l #1,d7 beq.s loc_7E9D8 btst #1,-5(a0) beq.s loc_7EA1A move.w #$4000,(a0) loc_7EA2A: lea $3200(a4),a2 movea.l a2,a0 move.l #$55555555,d5 moveq #$A,d1 loc_7EA38: cmpi.w #$4489,(a4)+ bne.s loc_7EA38 cmpi.w #$4489,(a4) beq.s loc_7EA38 movem.l (a4),d2-d3 bsr.s sub_7EA88 lsr.w #8,d2 cmp.w d4,d2 beq.s loc_7EA5C adda.w #$438,a4 dbf d1,loc_7EA38 bra.w loc_7E9D8 ; ————————————————————————— loc_7EA5C: swap d2 cmp.b 1(a6),d2 bne.w loc_7E9D8 lea $34(a4),a4 move.l (a4)+,d4 moveq #$7F,d7 loc_7EA6E: move.l $200(a4),d3 move.l (a4)+,d2 eor.l d2,d4 eor.l d3,d4 bsr.s sub_7EA88 move.l d2,(a2)+ dbf d7,loc_7EA6E and.l d5,d4 bne.w loc_7E9D8 rts ; End of function sub_7E9A2 ; ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ S U B R O U T I N E ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ sub_7EA88: and.l d5,d2 and.l d5,d3 add.l d2,d2 or.l d3,d2 rts ; End of function sub_7EA88 ; ————————————————————————— dc.b 5 unk_7EA93: dc.b $F7 dc.b $FF dc.b $FF dword_7EA96: dc.l $ffffffff dword_7EA9A: dc.l $ffffffff mfmaddr: dc.l $0 filename: dc.b “TEST”,0 even ; ————————————————————————— **************************************************************************** ; VARIABLES **************************************************************************** gfxlib: dc.b “graphics.library”,0,0 gfxbase: dc.l 0 old_Intena dc.w 0 old_Dmacon dc.w 0 even ;space for MFM buffer mfmbuff: blk.b 16384,0 even ;space for loading buffer loadbuff: blk.b 32768,0 even theend: ``` ---------------------------------------------------------------------------- -- rapid1337.com -- The dumping ground for all things tech // knowledge is the weapon --