Start:
        dc.b    'DOS',0
        dc.l    $A8DAFFF7
        dc.l    "!HF!"

        BRA.W   Lade_Trainer
        rts

Start_Original_Game     
        LEA     (Orig_IORequest,PC),A2  ;Open the expansion library
        MOVE.L  A1,(A2) 

        move.l  4.w,a6
        bsr     my_code_chip                            ; CHIP holen
        bsr     my_code_any


        MOVEA.L (Orig_IORequest,PC),A1
        LEA     ($1C,A1),A0
        MOVE.W  #2,(A0)+
        CLR.W   (A0)+
        CLR.L   (A0)+
        MOVE.L  #$1200,(A0)+
        MOVE.L  (ChipRamPtr,PC),D0
        ADDI.L  #$10000,D0
        MOVE.L  D0,D1
        SWAP    D1
        CMPI.W  #6,D1
        BMI.B   Mem_test_Ok
        CMPI.W  #8,D1
        BPL.B   Mem_test_Ok
        ADDI.L  #$20000,D0
Mem_test_Ok:    
        MOVE.L  D0,(A0)+
        MOVEA.L D0,A2
        MOVE.L  #$400,(A0)+
        JSR     (-$1C8,A6)
        MOVEA.L #$DFF000,A6
        MOVE.W  #$7FFF,($9A,A6)
        MOVE.W  #$7FFF,($96,A6)
        MOVE.B  #$7F,($BFED01).L
        MOVE.W  #$7FFF,($9C,A6)
        MOVEA.L (Lade_Trainer,PC),A3
        JMP     (A2)

ChipRamPtr      dc.l    0
Lade_Trainer    dc.l    $33FC0000
Orig_IORequest  dc.w    $DF
        dc.w    $F180
        dc.w    $337C
        dc.w    2
        dc.w    $1C

        MOVE.L  #$30000,($28,A1)
        MOVE.L  #$D9600,($2C,A1)
        MOVE.L  #$1E00,($24,A1)
        MOVEA.L 4.w,A6
        JSR     (-$1C8,A6)
        MOVEM.L D0-D7/A0-A6,-(SP)
        JSR     ($30020).L
        MOVEM.L (SP)+,D0-D7/A0-A6
        BRA.W   Start_Original_Game
        RTS



My_Code_Any:
        lea     lade_trainer(pc),a4
        moveq   #4,d1
        move.l  #48000,d0
        jsr     -198(a6)                ; Try to get fastram
        move.l  d0,(a4)
        beq     .nn
        rts
.nn:    lea     $88000,a1       
        bsr     Allocate_ABS
        rts

My_Code_Chip:
        lea     chipramptr(pc),a4
        lea     $15000,a1
        bsr     Allocate_ABS
        beq     .next_try
        rts
.next_try:
        lea     $1a000,a1
        bsr     Allocate_ABS
        rts

Allocate_ABS:
        move.l  #$48000,d0
        jsr     -204(a6)
        move.l  d0,(a4)                 ; Pointer initialised
        rts



Text:   dc.b    " ZeeWolf-II cracked by Icarus/HF, trained "
        dc.b    "by Siriax/HF and loader fixed by Shadow/HF"
        dc.b    "                       "
        dc.b    " Greetings to all our friends "
        blk.b   1000,0                                                     
