This commit is contained in:
Анатолий Белянский 2025-08-15 00:04:42 +10:00
parent 0188b1dfce
commit 6e39576837
3 changed files with 241 additions and 241 deletions

View File

@ -1,242 +1,242 @@
; INCLUDE '../mem_map.inc' ; INCLUDE '../mem_map.inc'
; ORG Depacker_start ; ORG Depacker_start
; DeHRUSTer v1.2 ; DeHRUSTer v1.2
; HL - ­ ç «®  à娢  ; HL - ­ ç «®  à娢 
; DE -  ¤à¥á à á¯ ª®¢ª¨ ; DE -  ¤à¥á à á¯ ª®¢ª¨
;--------------[DEPACKER]--------------- ;--------------[DEPACKER]---------------
DEHRUST: DEHRUST:
PUSH DE PUSH DE
PUSH HL PUSH HL
INC HL INC HL
INC HL INC HL
LD C,(HL) LD C,(HL)
INC HL INC HL
LD B,(HL) LD B,(HL)
INC HL INC HL
DEC BC DEC BC
EX DE,HL EX DE,HL
ADD HL,BC ADD HL,BC
EX DE,HL EX DE,HL
LD C,(HL) LD C,(HL)
INC HL INC HL
LD B,(HL) LD B,(HL)
DEC BC DEC BC
POP HL POP HL
ADD HL,BC ADD HL,BC
SBC HL,DE SBC HL,DE
ADD HL,DE ADD HL,DE
JR C,.LL4019 JR C,.LL4019
LD D,H LD D,H
LD E,L LD E,L
.LL4019: .LL4019:
LDDR LDDR
EX DE,HL EX DE,HL
POP DE POP DE
LD C,#0C LD C,#0C
ADD HL,BC ADD HL,BC
PUSH HL PUSH HL
POP IX POP IX
LD A,#03 LD A,#03
.LL4025: .LL4025:
DEC HL DEC HL
LD B,(HL) LD B,(HL)
DEC HL DEC HL
LD C,(HL) LD C,(HL)
PUSH BC PUSH BC
DEC A DEC A
JR NZ,.LL4025 JR NZ,.LL4025
LD B,A LD B,A
EXX EXX
LD D,#BF LD D,#BF
LD C,#10 LD C,#10
CALL .LL4115 CALL .LL4115
.LL4036: .LL4036:
LD A,(IX+#00) LD A,(IX+#00)
INC IX INC IX
EXX EXX
.LL403C: .LL403C:
LD (DE),A LD (DE),A
INC DE INC DE
.LL403E: .LL403E:
EXX EXX
.LL403F: .LL403F:
ADD HL,HL ADD HL,HL
DJNZ .LL4045 DJNZ .LL4045
CALL .LL4115 CALL .LL4115
.LL4045: .LL4045:
JR C,.LL4036 JR C,.LL4036
LD E,#01 LD E,#01
.LL4049: .LL4049:
LD A,#80 LD A,#80
.LL404B: .LL404B:
ADD HL,HL ADD HL,HL
DJNZ .LL4051 DJNZ .LL4051
CALL .LL4115 CALL .LL4115
.LL4051: .LL4051:
RLA RLA
JR C,.LL404B JR C,.LL404B
CP #03 CP #03
JR C,.LL405D JR C,.LL405D
ADD A,E ADD A,E
LD E,A LD E,A
XOR C XOR C
JR NZ,.LL4049 JR NZ,.LL4049
.LL405D: .LL405D:
ADD A,E ADD A,E
CP #04 CP #04
JR Z,.LL40C4 JR Z,.LL40C4
ADC A,#FF ADC A,#FF
CP #02 CP #02
EXX EXX
.LL4067: .LL4067:
LD C,A LD C,A
.LL4068: .LL4068:
EXX EXX
LD A,#BF LD A,#BF
JR C,.LL4082 JR C,.LL4082
.LL406D: .LL406D:
ADD HL,HL ADD HL,HL
DJNZ .LL4073 DJNZ .LL4073
CALL .LL4115 CALL .LL4115
.LL4073: .LL4073:
RLA RLA
JR C,.LL406D JR C,.LL406D
JR Z,.LL407D JR Z,.LL407D
INC A INC A
ADD A,D ADD A,D
JR NC,.LL4084 JR NC,.LL4084
SUB D SUB D
.LL407D: .LL407D:
INC A INC A
JR NZ,.LL408D JR NZ,.LL408D
LD A,#EF LD A,#EF
.LL4082: .LL4082:
RRCA RRCA
CP A CP A
.LL4084: .LL4084:
ADD HL,HL ADD HL,HL
DJNZ .LL408A DJNZ .LL408A
CALL .LL4115 CALL .LL4115
.LL408A: .LL408A:
RLA RLA
JR C,.LL4084 JR C,.LL4084
.LL408D: .LL408D:
EXX EXX
LD H,#FF LD H,#FF
JR Z,.LL409B JR Z,.LL409B
LD H,A LD H,A
INC A INC A
LD A,(IX+#00) LD A,(IX+#00)
INC IX INC IX
JR Z,.LL40A6 JR Z,.LL40A6
.LL409B: .LL409B:
LD L,A LD L,A
ADD HL,DE ADD HL,DE
LDIR LDIR
.LL409F: .LL409F:
JR .LL403E JR .LL403E
.LL40A1: .LL40A1:
EXX EXX
RRC D RRC D
JR .LL403F JR .LL403F
.LL40A6: .LL40A6:
CP #E0 CP #E0
JR C,.LL409B JR C,.LL409B
RLCA RLCA
XOR C XOR C
INC A INC A
JR Z,.LL40A1 JR Z,.LL40A1
SUB #10 SUB #10
.LL40B1: .LL40B1:
LD L,A LD L,A
LD C,A LD C,A
LD H,#FF LD H,#FF
ADD HL,DE ADD HL,DE
LDI LDI
LD A,(IX+#00) LD A,(IX+#00)
INC IX INC IX
LD (DE),A LD (DE),A
INC HL INC HL
INC DE INC DE
LD A,(HL) LD A,(HL)
JP .LL403C JP .LL403C
.LL40C4: .LL40C4:
LD A,#80 LD A,#80
.LL40C6: .LL40C6:
ADD HL,HL ADD HL,HL
DJNZ .LL40CC DJNZ .LL40CC
CALL .LL4115 CALL .LL4115
.LL40CC: .LL40CC:
ADC A,A ADC A,A
JR NZ,.LL40F3 JR NZ,.LL40F3
JR C,.LL40C6 JR C,.LL40C6
LD A,#FC LD A,#FC
JR .LL40F6 JR .LL40F6
.LL40D5: .LL40D5:
LD B,A LD B,A
LD C,(IX+#00) LD C,(IX+#00)
INC IX INC IX
CCF CCF
JR .LL4068 JR .LL4068
.LL40DE: .LL40DE:
CP #0F CP #0F
JR C,.LL40D5 JR C,.LL40D5
JR NZ,.LL4067 JR NZ,.LL4067
LD B,#03 LD B,#03
EX DE,HL EX DE,HL
.LL40E7: .LL40E7:
POP DE POP DE
LD (HL),E LD (HL),E
INC HL INC HL
LD (HL),D LD (HL),D
INC HL INC HL
DJNZ .LL40E7 DJNZ .LL40E7
LD HL,#2758 LD HL,#2758
EXX EXX
RET RET
.LL40F3: .LL40F3:
SBC A,A SBC A,A
LD A,#EF LD A,#EF
.LL40F6: .LL40F6:
ADD HL,HL ADD HL,HL
DJNZ .LL40FC DJNZ .LL40FC
CALL .LL4115 CALL .LL4115
.LL40FC: .LL40FC:
RLA RLA
JR C,.LL40F6 JR C,.LL40F6
EXX EXX
JR NZ,.LL40B1 JR NZ,.LL40B1
BIT 7,A BIT 7,A
JR Z,.LL40DE JR Z,.LL40DE
SUB #EA SUB #EA
ADD A,A ADD A,A
LD B,A LD B,A
.LL410A: .LL410A:
LD A,(IX+#00) LD A,(IX+#00)
INC IX INC IX
LD (DE),A LD (DE),A
INC DE INC DE
DJNZ .LL410A DJNZ .LL410A
JR .LL409F JR .LL409F
.LL4115: .LL4115:
LD B,C LD B,C
LD L,(IX+#00) LD L,(IX+#00)
INC IX INC IX
LD H,(IX+#00) LD H,(IX+#00)
INC IX INC IX
RET RET
Length EQU $-DEHRUST Length EQU $-DEHRUST
in a,(#FF) in a,(#FF)
;--------------------------------------- ;---------------------------------------
;---------------[MAIN.HR]--------------- ;---------------[MAIN.HR]---------------
;Depacker.packcode EQU $$$ ;Depacker.packcode EQU $$$
;PackedMAIN EQU $ ;PackedMAIN EQU $
; INCBIN 'Build/Bin/temp/MAIN.HR' ; INCBIN 'Build/Bin/temp/MAIN.HR'
;--------------------------------------- ;---------------------------------------
; ;