Open mclarekin opened 5 years ago
A good thing is that M3D has only a few DE options and they are generally produce the same or similar as Mandelbulber, (except I think dIFS may have a different DE,, i know very little about dIFS).
Notes: disassemble https://defuse.ca/online-x86-assembler.htm?fbclid=IwAR0A8KBaHPtXsK8j-A1yISVVkZzvEdy0JfUfHcezj-hyDFmqOIJRKXNIb5E
558BEC5657538B75088B7E3089C383C670EB4E909090D1E874167304D9C0EB04 D9E8D9C9D8C8D1E873FADCC975F6DDD8C3DD00D9E1508B47CCD9C0E8D6FFFFFF 58DC4FC4D9C9DD47D8D8C0D8E1D8CADEC1D9E8DEC2DEF1F64007807902D9E0C3 90E8CBFFFFFF89D0E8C4FFFFFFDD01EB03909090837E60007F09FF4660DD47F0 DD5E58DD4658D9E8D9C1D9E1DEE1DC4FD0DEC1DD5E58DD47E0DC1F9BDFE0D0EC 7204D9E8EB5AD9C2D8C8D9C2D8C8DEC1D9C1D8C8DEC1D9E8DC47E0DC4FF8D9E8 DC67E0DC4FF8D9CAD8E1D9E49BDFE050D9E1D8F2D9C08B47C0D1E87304D9FAD1 D0E830FFFFFFDC4FB8D9E8D8C1D9CADEC1DEF158DECAD9C9D0EC7302D9E0DEC1 DD4658DEF1DD4108D8C9DD5908DCCBDCCADEC990D9C0D84F9CD9C2D84F98DEC1 D9C3D84F94DEC1D9C1D84FB4D9C3D84FB0DEC1D9C4D84FACDEC1D9CAD84FA8D9 CBD84FA4DEC3D9CBD84FA0DEC290DC46B8DD19DC46B0DD1ADC46A8DD1B89D85B 5F5E5DC20800
Disassembly: 0: 55 push rbp 1: 8b ec mov ebp,esp 3: 56 push rsi 4: 57 push rdi 5: 53 push rbx 6: 8b 75 08 mov esi,DWORD PTR [rbp+0x8] 9: 8b 7e 30 mov edi,DWORD PTR [rsi+0x30] c: 89 c3 mov ebx,eax e: 83 c6 70 add esi,0x70 11: eb 4e jmp 0x61 13: 90 nop 14: 90 nop 15: 90 nop 16: d1 e8 shr eax,1 18: 74 16 je 0x30 1a: 73 04 jae 0x20 1c: d9 c0 fld st(0) 1e: eb 04 jmp 0x24 20: d9 e8 fld1 22: d9 c9 fxch st(1) 24: d8 c8 fmul st,st(0) 26: d1 e8 shr eax,1 28: 73 fa jae 0x24 2a: dc c9 fmul st(1),st 2c: 75 f6 jne 0x24 2e: dd d8 fstp st(0) 30: c3 ret 31: dd 00 fld QWORD PTR [rax] 33: d9 e1 fabs 35: 50 push rax 36: 8b 47 cc mov eax,DWORD PTR [rdi-0x34] 39: d9 c0 fld st(0) 3b: e8 d6 ff ff ff call 0x16 40: 58 pop rax 41: dc 4f c4 fmul QWORD PTR [rdi-0x3c] 44: d9 c9 fxch st(1) 46: dd 47 d8 fld QWORD PTR [rdi-0x28] 49: d8 c0 fadd st,st(0) 4b: d8 e1 fsub st,st(1) 4d: d8 ca fmul st,st(2) 4f: de c1 faddp st(1),st 51: d9 e8 fld1 53: de c2 faddp st(2),st 55: de f1 fdivp st(1),st 57: f6 40 07 80 test BYTE PTR [rax+0x7],0x80 5b: 79 02 jns 0x5f 5d: d9 e0 fchs 5f: c3 ret 60: 90 nop 61: e8 cb ff ff ff call 0x31 66: 89 d0 mov eax,edx 68: e8 c4 ff ff ff call 0x31 6d: dd 01 fld QWORD PTR [rcx] 6f: eb 03 jmp 0x74 71: 90 nop 72: 90 nop 73: 90 nop 74: 83 7e 60 00 cmp DWORD PTR [rsi+0x60],0x0 78: 7f 09 jg 0x83 7a: ff 46 60 inc DWORD PTR [rsi+0x60] 7d: dd 47 f0 fld QWORD PTR [rdi-0x10] 80: dd 5e 58 fstp QWORD PTR [rsi+0x58] 83: dd 46 58 fld QWORD PTR [rsi+0x58] 86: d9 e8 fld1 88: d9 c1 fld st(1) 8a: d9 e1 fabs 8c: de e1 fsubp st(1),st 8e: dc 4f d0 fmul QWORD PTR [rdi-0x30] 91: de c1 faddp st(1),st 93: dd 5e 58 fstp QWORD PTR [rsi+0x58] 96: dd 47 e0 fld QWORD PTR [rdi-0x20] 99: dc 1f fcomp QWORD PTR [rdi] 9b: 9b df e0 fstsw ax 9e: d0 ec shr ah,1 a0: 72 04 jb 0xa6 a2: d9 e8 fld1 a4: eb 5a jmp 0x100 a6: d9 c2 fld st(2) a8: d8 c8 fmul st,st(0) aa: d9 c2 fld st(2) ac: d8 c8 fmul st,st(0) ae: de c1 faddp st(1),st b0: d9 c1 fld st(1) b2: d8 c8 fmul st,st(0) b4: de c1 faddp st(1),st b6: d9 e8 fld1 b8: dc 47 e0 fadd QWORD PTR [rdi-0x20] bb: dc 4f f8 fmul QWORD PTR [rdi-0x8] be: d9 e8 fld1 c0: dc 67 e0 fsub QWORD PTR [rdi-0x20] c3: dc 4f f8 fmul QWORD PTR [rdi-0x8] c6: d9 ca fxch st(2) c8: d8 e1 fsub st,st(1) ca: d9 e4 ftst cc: 9b df e0 fstsw ax cf: 50 push rax d0: d9 e1 fabs d2: d8 f2 fdiv st,st(2) d4: d9 c0 fld st(0) d6: 8b 47 c0 mov eax,DWORD PTR [rdi-0x40] d9: d1 e8 shr eax,1 db: 73 04 jae 0xe1 dd: d9 fa fsqrt df: d1 d0 rcl eax,1 e1: e8 30 ff ff ff call 0x16 e6: dc 4f b8 fmul QWORD PTR [rdi-0x48] e9: d9 e8 fld1 eb: d8 c1 fadd st,st(1) ed: d9 ca fxch st(2) ef: de c1 faddp st(1),st f1: de f1 fdivp st(1),st f3: 58 pop rax f4: de ca fmulp st(2),st f6: d9 c9 fxch st(1) f8: d0 ec shr ah,1 fa: 73 02 jae 0xfe fc: d9 e0 fchs fe: de c1 faddp st(1),st 100: dd 46 58 fld QWORD PTR [rsi+0x58] 103: de f1 fdivp st(1),st 105: dd 41 08 fld QWORD PTR [rcx+0x8] 108: d8 c9 fmul st,st(1) 10a: dd 59 08 fstp QWORD PTR [rcx+0x8] 10d: dc cb fmul st(3),st 10f: dc ca fmul st(2),st 111: de c9 fmulp st(1),st 113: 90 nop 114: d9 c0 fld st(0) 116: d8 4f 9c fmul DWORD PTR [rdi-0x64] 119: d9 c2 fld st(2) 11b: d8 4f 98 fmul DWORD PTR [rdi-0x68] 11e: de c1 faddp st(1),st 120: d9 c3 fld st(3) 122: d8 4f 94 fmul DWORD PTR [rdi-0x6c] 125: de c1 faddp st(1),st 127: d9 c1 fld st(1) 129: d8 4f b4 fmul DWORD PTR [rdi-0x4c] 12c: d9 c3 fld st(3) 12e: d8 4f b0 fmul DWORD PTR [rdi-0x50] 131: de c1 faddp st(1),st 133: d9 c4 fld st(4) 135: d8 4f ac fmul DWORD PTR [rdi-0x54] 138: de c1 faddp st(1),st 13a: d9 ca fxch st(2) 13c: d8 4f a8 fmul DWORD PTR [rdi-0x58] 13f: d9 cb fxch st(3) 141: d8 4f a4 fmul DWORD PTR [rdi-0x5c] 144: de c3 faddp st(3),st 146: d9 cb fxch st(3) 148: d8 4f a0 fmul DWORD PTR [rdi-0x60] 14b: de c2 faddp st(2),st 14d: 90 nop 14e: dc 46 b8 fadd QWORD PTR [rsi-0x48] 151: dd 19 fstp QWORD PTR [rcx] 153: dc 46 b0 fadd QWORD PTR [rsi-0x50] 156: dd 1a fstp QWORD PTR [rdx] 158: dc 46 a8 fadd QWORD PTR [rsi-0x58] 15b: dd 1b fstp QWORD PTR [rbx] 15d: 89 d8 mov eax,ebx 15f: 5b pop rbx 160: 5f pop rdi 161: 5e pop rsi 162: 5d pop rbp 163: c2 08 00 ret 0x8
Here's a manual parameter conversion, I did 2012 with help of Jesse and Luca. In M3d it is an alternative hybrid construction and the only way to convert the Mset of a Mandelbox with modified constant factor. It is focused on the fractal shape. Camera is approximated, colors and fx are ignored. Maybe it is helpful, to see how things work in M3d, as there are several properties offside the default settings are converted. The rotation angles are converted with Jesse's tool, that can be found as attachment here (a direct Link doesn't work): http://www.fractalforums.com/tutorials/rotboxes-mandelbulber-vs-abox-platinum/msg51114/#msg51114 Bulber V1 parameter:
Mandelbulber 1.21;
image_width 1024;
image_height 640;
view_point_x -2.0119019652455332;
view_point_y -2.0387970881895261;
view_point_z 1.778506923619823;
angle_alfa -72.696171497672808;
angle_beta -40;
angle_gamma -20;
zoom 0.0025000000000000001;
perspective 0.90000000000000002;
formula 8;
power 2;
N 255;
fractal_constant_factor 0.90000000000000002;
quality 2;
DE_factor 0.90000000000000002;
brightness 0.80000000000000004;
shadows_intensity 0.90000000000000002;
ambient_occlusion 2;
ambient_occlusion_quality 3;
glow_intensity 0.10000000000000001;
glow_color_1_R 65535;
glow_color_1_G 1935;
glow_color_1_B 0;
glow_color_2_R 64715;
glow_color_2_G 65535;
glow_color_2_B 0;
background_color_1_R 65535;
background_color_1_G 51968;
background_color_1_B 34596;
background_color_2_R 49582;
background_color_2_G 26523;
background_color_2_B 26523;
background_color_1_G 51968;
background_color_1_B 34596;
coloring_random_seed 23423;
coloring_speed 100;
coloring_palette_offset 145.69999999999999;
post_fog_visibility 5;
post_fog_color_R 65535;
post_fog_color_G 65535;
post_DOF_focus 22;
mandelbox_scale -1.1499999999999999;
mandelbox_folding_min_radius 0.40000000000000002;
mandelbox_rotation_main_alfa 13;
mandelbox_rotation_main_beta 5;
mandelbox_rotation_main_gamma 4;
mandelbox_color_Sp1 0.5;
and M3d:
Mandelbulb3Dv18{
g.....k....E0...S3...2U....hOSKQtJ4zzw7whbErEmzDjfVxf9o3..gwndqpZn2..bYlVJ5pmlzD
................................a0ISuPP9H02........Y./.................U4/2...wD
...Uz6/...kr..../Q.0/......1....KB....k9.....IUwC3Nay9gD/Q.........60dkpXm1.....
z.....kD1A../............................................wY0.....y1...sD...../..
.z1...sD4cGrJkrrLuvyg3d2pknfyEJT4Mx2GQfjNwEqKHLZku11UBusvADhyowIsPmg6DeDXdGW9ehM
qun2kWPveNfdySOq84q6pfejU....z1g/...9/........sD.6....PE2.G..kRcRphgK..kPOIzvWWH
..gZaM6FC25zzoAnAr1...sD....zw1.........................................a/...k1.
.....4iSoz1...........c7.2.U.g5.v....M2...UE....T2...24....0....D/...U1.....SN52
...U.SHKFuzlci6fmsrV/IWFf/6.2c..zzSi..UAZRBEi7yD6UNAT2kY6z9..........2E28.UQgk0.
.wUmc2beYz1.dA8E5Exwz0........../.V0.sXTL0..SQcDqMitzu/BQKxV62zD/.........E.2c..
zzzz............r0...................2./8.kzzzD............8....................
/EU0.wzzz1...................................wzz.0kzzzzzkA0U.yD.zzzz.gD8lIO5.wzz
z1EvXxDU.0kzzzzzNtrzz16.zzzzzzdTzzDU.wzzzzj2zxzz.0kzzzzzXxrzz16.zzzzznvTzzDU.wzz
zzTwzxzz.0kzzzzz...cU08czz/cU08cyz1cU08cxz3cU08c................................
E....AU.V2E.....I....6....kL/pKMuZaPb7oPs/UQ..........................k/4.......
..........UNaNaNaNawzeNaNaNaNaxD........kz1.....................................
................................................................................
.....................2.....3....1....wZIjFLMoJ4.................................
4MU/.................UzjiYSeSZ0E3NQMbQC1L.YHvM4RlyY/./..........................
................................................................................
................................/....E/...k.....T34NYB2.g34RZ/..................
................................BnAnAnAngzHnAnAnAnAvzoAnAnAnAnyD................
................................................................................
............................................}
{Titel: }
Good luck and have fun!
You should use x86 disassembly, because MB3D is 32-bit application Here is nice documentation for x86 assembler. It can help you to understand instructions https://en.wikibooks.org/wiki/X86_Assembly
0: 55 push ebp
1: 8b ec mov ebp,esp
3: 56 push esi
4: 57 push edi
5: 53 push ebx
6: 8b 75 08 mov esi,DWORD PTR [ebp+0x8]
9: 8b 7e 30 mov edi,DWORD PTR [esi+0x30]
c: 89 c3 mov ebx,eax
e: 83 c6 70 add esi,0x70
11: eb 4e jmp 0x61
13: 90 nop
14: 90 nop
15: 90 nop
16: d1 e8 shr eax,1
18: 74 16 je 0x30
1a: 73 04 jae 0x20
1c: d9 c0 fld st(0)
1e: eb 04 jmp 0x24
20: d9 e8 fld1
22: d9 c9 fxch st(1)
24: d8 c8 fmul st,st(0)
26: d1 e8 shr eax,1
28: 73 fa jae 0x24
2a: dc c9 fmul st(1),st
2c: 75 f6 jne 0x24
2e: dd d8 fstp st(0)
30: c3 ret
31: dd 00 fld QWORD PTR [eax]
33: d9 e1 fabs
35: 50 push eax
36: 8b 47 cc mov eax,DWORD PTR [edi-0x34]
39: d9 c0 fld st(0)
3b: e8 d6 ff ff ff call 0x16
40: 58 pop eax
41: dc 4f c4 fmul QWORD PTR [edi-0x3c]
44: d9 c9 fxch st(1)
46: dd 47 d8 fld QWORD PTR [edi-0x28]
49: d8 c0 fadd st,st(0)
4b: d8 e1 fsub st,st(1)
4d: d8 ca fmul st,st(2)
4f: de c1 faddp st(1),st
51: d9 e8 fld1
53: de c2 faddp st(2),st
55: de f1 fdivp st(1),st
57: f6 40 07 80 test BYTE PTR [eax+0x7],0x80
5b: 79 02 jns 0x5f
5d: d9 e0 fchs
5f: c3 ret
60: 90 nop
61: e8 cb ff ff ff call 0x31
66: 89 d0 mov eax,edx
68: e8 c4 ff ff ff call 0x31
6d: dd 01 fld QWORD PTR [ecx]
6f: eb 03 jmp 0x74
71: 90 nop
72: 90 nop
73: 90 nop
74: 83 7e 60 00 cmp DWORD PTR [esi+0x60],0x0
78: 7f 09 jg 0x83
7a: ff 46 60 inc DWORD PTR [esi+0x60]
7d: dd 47 f0 fld QWORD PTR [edi-0x10]
80: dd 5e 58 fstp QWORD PTR [esi+0x58]
83: dd 46 58 fld QWORD PTR [esi+0x58]
86: d9 e8 fld1
88: d9 c1 fld st(1)
8a: d9 e1 fabs
8c: de e1 fsubp st(1),st
8e: dc 4f d0 fmul QWORD PTR [edi-0x30]
91: de c1 faddp st(1),st
93: dd 5e 58 fstp QWORD PTR [esi+0x58]
96: dd 47 e0 fld QWORD PTR [edi-0x20]
99: dc 1f fcomp QWORD PTR [edi]
9b: 9b df e0 fstsw ax
9e: d0 ec shr ah,1
a0: 72 04 jb 0xa6
a2: d9 e8 fld1
a4: eb 5a jmp 0x100
a6: d9 c2 fld st(2)
a8: d8 c8 fmul st,st(0)
aa: d9 c2 fld st(2)
ac: d8 c8 fmul st,st(0)
ae: de c1 faddp st(1),st
b0: d9 c1 fld st(1)
b2: d8 c8 fmul st,st(0)
b4: de c1 faddp st(1),st
b6: d9 e8 fld1
b8: dc 47 e0 fadd QWORD PTR [edi-0x20]
bb: dc 4f f8 fmul QWORD PTR [edi-0x8]
be: d9 e8 fld1
c0: dc 67 e0 fsub QWORD PTR [edi-0x20]
c3: dc 4f f8 fmul QWORD PTR [edi-0x8]
c6: d9 ca fxch st(2)
c8: d8 e1 fsub st,st(1)
ca: d9 e4 ftst
cc: 9b df e0 fstsw ax
cf: 50 push eax
d0: d9 e1 fabs
d2: d8 f2 fdiv st,st(2)
d4: d9 c0 fld st(0)
d6: 8b 47 c0 mov eax,DWORD PTR [edi-0x40]
d9: d1 e8 shr eax,1
db: 73 04 jae 0xe1
dd: d9 fa fsqrt
df: d1 d0 rcl eax,1
e1: e8 30 ff ff ff call 0x16
e6: dc 4f b8 fmul QWORD PTR [edi-0x48]
e9: d9 e8 fld1
eb: d8 c1 fadd st,st(1)
ed: d9 ca fxch st(2)
ef: de c1 faddp st(1),st
f1: de f1 fdivp st(1),st
f3: 58 pop eax
f4: de ca fmulp st(2),st
f6: d9 c9 fxch st(1)
f8: d0 ec shr ah,1
fa: 73 02 jae 0xfe
fc: d9 e0 fchs
fe: de c1 faddp st(1),st
100: dd 46 58 fld QWORD PTR [esi+0x58]
103: de f1 fdivp st(1),st
105: dd 41 08 fld QWORD PTR [ecx+0x8]
108: d8 c9 fmul st,st(1)
10a: dd 59 08 fstp QWORD PTR [ecx+0x8]
10d: dc cb fmul st(3),st
10f: dc ca fmul st(2),st
111: de c9 fmulp st(1),st
113: 90 nop
114: d9 c0 fld st(0)
116: d8 4f 9c fmul DWORD PTR [edi-0x64]
119: d9 c2 fld st(2)
11b: d8 4f 98 fmul DWORD PTR [edi-0x68]
11e: de c1 faddp st(1),st
120: d9 c3 fld st(3)
122: d8 4f 94 fmul DWORD PTR [edi-0x6c]
125: de c1 faddp st(1),st
127: d9 c1 fld st(1)
129: d8 4f b4 fmul DWORD PTR [edi-0x4c]
12c: d9 c3 fld st(3)
12e: d8 4f b0 fmul DWORD PTR [edi-0x50]
131: de c1 faddp st(1),st
133: d9 c4 fld st(4)
135: d8 4f ac fmul DWORD PTR [edi-0x54]
138: de c1 faddp st(1),st
13a: d9 ca fxch st(2)
13c: d8 4f a8 fmul DWORD PTR [edi-0x58]
13f: d9 cb fxch st(3)
141: d8 4f a4 fmul DWORD PTR [edi-0x5c]
144: de c3 faddp st(3),st
146: d9 cb fxch st(3)
148: d8 4f a0 fmul DWORD PTR [edi-0x60]
14b: de c2 faddp st(2),st
14d: 90 nop
14e: dc 46 b8 fadd QWORD PTR [esi-0x48]
151: dd 19 fstp QWORD PTR [ecx]
153: dc 46 b0 fadd QWORD PTR [esi-0x50]
156: dd 1a fstp QWORD PTR [edx]
158: dc 46 a8 fadd QWORD PTR [esi-0x58]
15b: dd 1b fstp QWORD PTR [ebx]
15d: 89 d8 mov eax,ebx
15f: 5b pop ebx
160: 5f pop edi
161: 5e pop esi
162: 5d pop ebp
163: c2 08 00 ret 0x8
thanks
On Sat, Mar 23, 2019 at 7:26 AM Krzysztof Marczak notifications@github.com wrote:
You should use x86 disassembly, because MB3D is 32-bit application Here is nice documentation for x86 assembler. It can help you to understand instructions https://en.wikibooks.org/wiki/X86_Assembly
0: 55 push ebp 1: 8b ec mov ebp,esp 3: 56 push esi 4: 57 push edi 5: 53 push ebx 6: 8b 75 08 mov esi,DWORD PTR [ebp+0x8] 9: 8b 7e 30 mov edi,DWORD PTR [esi+0x30] c: 89 c3 mov ebx,eax e: 83 c6 70 add esi,0x70 11: eb 4e jmp 0x61 13: 90 nop 14: 90 nop 15: 90 nop 16: d1 e8 shr eax,1 18: 74 16 je 0x30 1a: 73 04 jae 0x20 1c: d9 c0 fld st(0) 1e: eb 04 jmp 0x24 20: d9 e8 fld1 22: d9 c9 fxch st(1) 24: d8 c8 fmul st,st(0) 26: d1 e8 shr eax,1 28: 73 fa jae 0x24 2a: dc c9 fmul st(1),st 2c: 75 f6 jne 0x24 2e: dd d8 fstp st(0) 30: c3 ret 31: dd 00 fld QWORD PTR [eax] 33: d9 e1 fabs 35: 50 push eax 36: 8b 47 cc mov eax,DWORD PTR [edi-0x34] 39: d9 c0 fld st(0) 3b: e8 d6 ff ff ff call 0x16 40: 58 pop eax 41: dc 4f c4 fmul QWORD PTR [edi-0x3c] 44: d9 c9 fxch st(1) 46: dd 47 d8 fld QWORD PTR [edi-0x28] 49: d8 c0 fadd st,st(0) 4b: d8 e1 fsub st,st(1) 4d: d8 ca fmul st,st(2) 4f: de c1 faddp st(1),st 51: d9 e8 fld1 53: de c2 faddp st(2),st 55: de f1 fdivp st(1),st 57: f6 40 07 80 test BYTE PTR [eax+0x7],0x80 5b: 79 02 jns 0x5f 5d: d9 e0 fchs 5f: c3 ret 60: 90 nop 61: e8 cb ff ff ff call 0x31 66: 89 d0 mov eax,edx 68: e8 c4 ff ff ff call 0x31 6d: dd 01 fld QWORD PTR [ecx] 6f: eb 03 jmp 0x74 71: 90 nop 72: 90 nop 73: 90 nop 74: 83 7e 60 00 cmp DWORD PTR [esi+0x60],0x0 78: 7f 09 jg 0x83 7a: ff 46 60 inc DWORD PTR [esi+0x60] 7d: dd 47 f0 fld QWORD PTR [edi-0x10] 80: dd 5e 58 fstp QWORD PTR [esi+0x58] 83: dd 46 58 fld QWORD PTR [esi+0x58] 86: d9 e8 fld1 88: d9 c1 fld st(1) 8a: d9 e1 fabs 8c: de e1 fsubp st(1),st 8e: dc 4f d0 fmul QWORD PTR [edi-0x30] 91: de c1 faddp st(1),st 93: dd 5e 58 fstp QWORD PTR [esi+0x58] 96: dd 47 e0 fld QWORD PTR [edi-0x20] 99: dc 1f fcomp QWORD PTR [edi] 9b: 9b df e0 fstsw ax 9e: d0 ec shr ah,1 a0: 72 04 jb 0xa6 a2: d9 e8 fld1 a4: eb 5a jmp 0x100 a6: d9 c2 fld st(2) a8: d8 c8 fmul st,st(0) aa: d9 c2 fld st(2) ac: d8 c8 fmul st,st(0) ae: de c1 faddp st(1),st b0: d9 c1 fld st(1) b2: d8 c8 fmul st,st(0) b4: de c1 faddp st(1),st b6: d9 e8 fld1 b8: dc 47 e0 fadd QWORD PTR [edi-0x20] bb: dc 4f f8 fmul QWORD PTR [edi-0x8] be: d9 e8 fld1 c0: dc 67 e0 fsub QWORD PTR [edi-0x20] c3: dc 4f f8 fmul QWORD PTR [edi-0x8] c6: d9 ca fxch st(2) c8: d8 e1 fsub st,st(1) ca: d9 e4 ftst cc: 9b df e0 fstsw ax cf: 50 push eax d0: d9 e1 fabs d2: d8 f2 fdiv st,st(2) d4: d9 c0 fld st(0) d6: 8b 47 c0 mov eax,DWORD PTR [edi-0x40] d9: d1 e8 shr eax,1 db: 73 04 jae 0xe1 dd: d9 fa fsqrt df: d1 d0 rcl eax,1 e1: e8 30 ff ff ff call 0x16 e6: dc 4f b8 fmul QWORD PTR [edi-0x48] e9: d9 e8 fld1 eb: d8 c1 fadd st,st(1) ed: d9 ca fxch st(2) ef: de c1 faddp st(1),st f1: de f1 fdivp st(1),st f3: 58 pop eax f4: de ca fmulp st(2),st f6: d9 c9 fxch st(1) f8: d0 ec shr ah,1 fa: 73 02 jae 0xfe fc: d9 e0 fchs fe: de c1 faddp st(1),st 100: dd 46 58 fld QWORD PTR [esi+0x58] 103: de f1 fdivp st(1),st 105: dd 41 08 fld QWORD PTR [ecx+0x8] 108: d8 c9 fmul st,st(1) 10a: dd 59 08 fstp QWORD PTR [ecx+0x8] 10d: dc cb fmul st(3),st 10f: dc ca fmul st(2),st 111: de c9 fmulp st(1),st 113: 90 nop 114: d9 c0 fld st(0) 116: d8 4f 9c fmul DWORD PTR [edi-0x64] 119: d9 c2 fld st(2) 11b: d8 4f 98 fmul DWORD PTR [edi-0x68] 11e: de c1 faddp st(1),st 120: d9 c3 fld st(3) 122: d8 4f 94 fmul DWORD PTR [edi-0x6c] 125: de c1 faddp st(1),st 127: d9 c1 fld st(1) 129: d8 4f b4 fmul DWORD PTR [edi-0x4c] 12c: d9 c3 fld st(3) 12e: d8 4f b0 fmul DWORD PTR [edi-0x50] 131: de c1 faddp st(1),st 133: d9 c4 fld st(4) 135: d8 4f ac fmul DWORD PTR [edi-0x54] 138: de c1 faddp st(1),st 13a: d9 ca fxch st(2) 13c: d8 4f a8 fmul DWORD PTR [edi-0x58] 13f: d9 cb fxch st(3) 141: d8 4f a4 fmul DWORD PTR [edi-0x5c] 144: de c3 faddp st(3),st 146: d9 cb fxch st(3) 148: d8 4f a0 fmul DWORD PTR [edi-0x60] 14b: de c2 faddp st(2),st 14d: 90 nop 14e: dc 46 b8 fadd QWORD PTR [esi-0x48] 151: dd 19 fstp QWORD PTR [ecx] 153: dc 46 b0 fadd QWORD PTR [esi-0x50] 156: dd 1a fstp QWORD PTR [edx] 158: dc 46 a8 fadd QWORD PTR [esi-0x58] 15b: dd 1b fstp QWORD PTR [ebx] 15d: 89 d8 mov eax,ebx 15f: 5b pop ebx 160: 5f pop edi 161: 5e pop esi 162: 5d pop ebp 163: c2 08 00 ret 0x8
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/buddhi1980/mandelbulber2/issues/630#issuecomment-475731084, or mute the thread https://github.com/notifications/unsubscribe-auth/AMLZHIelKnSeHHxVisGupKV304WXRu1qks5vZSBwgaJpZM4cApRk .
This feature would be mindblowing guys (-; Spend a lot of time trying to manually bring stuff from M3D to Mandelbulber.
I have only had a proof of concept look at this subject. My main goal is too bring over formulas from M3D, such that they work identically to M3D, with the same parameter names. Any actual conversion of M3D parameter files into mandelbulber.fract would probably be limited in functionality. If I ever further this subject it will be in the distant future. It involves disassembling assembly language and will be a challenge for me. Both Krrzysztof and myself have long TODO lists and limited available time.
On Mon, May 6, 2019 at 8:38 PM MeyerAdrian notifications@github.com wrote:
This feature would be mindblowing guys (-; Spend a lot of time trying to manually bring stuff from M3D to Mandelbulber.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/buddhi1980/mandelbulber2/issues/630#issuecomment-489548151, or mute the thread https://github.com/notifications/unsubscribe-auth/ADBNSHA3QL6M46MXTAK42LLPT7VBZANCNFSM4HACSRSA .
Oh sure, I totally belief that this would be quit hard and is a bigger thing. Just wanted to say that its a great idea and that there's probably a lot of people who would love it (-;
Looks interesting! But for now only usefull for Mandelbulb3D users right?
Right now facing the problem that I want to bring some hybrid fractals from Mandelbulb3D to Mandelbulber. But there is so many formulas missing /-:
Will give it a quick go to try and bring the formulas I need dto Mandelbulber, but I fear this is quite a thing...
Oh shit, just realised that in Mandelbulber formulas look like this :-P Except the JIT Formulas, but their very limited.
.Version = 2 .DEoption = -1 .SIpower = 2 [CONSTANTS] Double = 0.816496580927726 Double = 0.5773502691896258 Double = 0.7071067811865475 [CODE] 558BEC81EC300000005356578B75088B7E308BD8D9D0DD03DC0FDD01DC4F08D9 E0DEC1DC4F10DD5DF8DD02DC4F10DD1A90DD03DC4F08DD01DC0FDEC1DD1990DD45F8 DC22DD1B90DD45F8DC02DD1A90D9D08BC35F5E5B89EC5DC20800 [END]
Guess thats out of my reach then /-:
@MeyerAdrian Yep the dIFS link was just a reference for me. I only have one dIFS working at the moment, but that success means we can do more.
@MeyerAdrian Krzysztof and the team is working on decompiling / transpiling these blocks:
[CODE]
558BEC81EC300000005356578B75088B7E308BD8D9D0DD03DC0FDD01DC4F08D9
E0DEC1DC4F10DD5DF8DD02DC4F10DD1A90DD03DC4F08DD01DC0FDEC1DD1990DD45F8
DC22DD1B90DD45F8DC02DD1A90D9D08BC35F5E5B89EC5DC20800
[END]
to mandelbulber. Though we dont know for sure, when or if this will be available in the future...
Sounds awsome. And like a lot of tedious detective work :-P Open source WTF. So unnecessary such Cryptic stuff...
@MeyerAdrian it is not cryptography. This is just binary code of procesor instructions to execute. Source files for fractal formulas are missing.
Investigate feasibility of options for importing M3D parameters to MandelbulberV2,
One option is to try and import some or all of M3D formulas into MandelbulberV2 In respect to the fractal community there would be a lot of advantages, as there is a wealth of cool code that has been developed that is only accessible in M3D.
"hex code?" can be disassembled into assembly language. A few years ago I did figure out how to read the M3D formulas in assembly language, so in theory I could do it again.
I suspect that this would me a major project and interesting.
I contacted Luca mainly to get his OK, as the M3D formula code is to a large extent his work.
Offline DarkBeam Formula crazy engineer Global Moderator
Posts: 7 2 plus 2 is 4 minus 1 is 3 quick maffs View Profile Personal Message (Offline) Re: M3D parameters conversion to Mandelbulber « Sent to: mclarekin on: Yesterday at 10:54:01 AM » « You have forwarded or responded to this message. »
Hi, thanks for the message. For me it is OK - use the formulas as you like. Idk if there is a tool to convert them in some way. I doubt that. I have no time to spend on those things anymore. :) Have fun. Luca :thumbs: