// File: /workspace/github_cpp_makefile_star2_O3/pelrun[P]aft/CDSKFile.cpp
// Function: CDSKTrack::DisplayInfo(std::ostream&) const
void CDSKTrack::DisplayInfo(std::ostream &str) const
{
	if (Formated)
	{
		str << "NbSector\t" << (int)NbSector << std::endl;
		str << "SectorSize\t" << (int)(128 << SectorSize) << " (" << (int)SectorSize << ")" << std::endl;
		str << "DataRate\t";
		switch (DataRate)
		{
		case 1:{str << "Single or double density" << std::endl;break;};
		case 2:{str << "High density" << std::endl;break;};
		case 3:{str << "Extended density" << std::endl;break;};
		default:
		case 0:{str << "Unknown" << std::endl;break;};
		}
		str << "Recording\t";
		switch (RecordingMode)
		{
		case 1:{str << "FM" << std::endl;break;};
		case 2:{str << "MFM" << std::endl;break;};
		default:
		case 0:{str << "Unknown" << std::endl;break;};
		}
		str << "Gap #3\t\t#" << std::hex << (int)GAP3Size << std::dec << " (" << (int)GAP3Size << ")" << std::endl;
		str << "Fill Byte\t#" << std::hex << (int)FillByte << std::dec << std::endl;
		
		for (int s=0 ; s<NbSector ; s++)
		{
			Sectors[s].DisplayInfo(str);
		}
	}
	else
	{
		str << "Not formated" << std::endl;
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
cmpb $0x1, 0x19(%rdi)
jne 0x6ab8
movq %rdi, %r14
leaq 0x9e50(%rip), %rsi      # 0x10805
movl $0x9, %edx
movq %rbx, %rdi
callq 0x3320
movzbl 0x16(%r14), %esi
movq %rbx, %rdi
callq 0x3500
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31d0
leaq 0x9e0f(%rip), %rsi      # 0x1080f
movl $0xb, %edx
movq %rbx, %rdi
callq 0x3320
movb 0x15(%r14), %cl
movl $0x80, %esi
shll %cl, %esi
movq %rbx, %rdi
callq 0x3500
movq %rax, %r15
leaq 0x9df1(%rip), %rsi      # 0x1081b
movl $0x2, %edx
movq %rax, %rdi
callq 0x3320
movzbl 0x15(%r14), %esi
movq %r15, %rdi
callq 0x3500
movq %rax, %r15
leaq 0x9605(%rip), %rsi      # 0x10053
movl $0x1, %edx
movq %rax, %rdi
callq 0x3320
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31d0
leaq 0x9d95(%rip), %rsi      # 0x1081e
movl $0x9, %edx
movq %rbx, %rdi
callq 0x3320
movzbl 0x13(%r14), %eax
cmpl $0x3, %eax
je 0x6b0c
cmpl $0x2, %eax
je 0x6afe
cmpl $0x1, %eax
jne 0x6b1a
leaq 0x9d77(%rip), %rsi      # 0x10828
movl $0x18, %edx
jmp 0x6b26
leaq 0x9dcd(%rip), %rsi      # 0x1088c
movl $0xc, %edx
movq %rbx, %rdi
callq 0x3320
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x31d0
leaq 0x9d3c(%rip), %rsi      # 0x10841
movl $0xc, %edx
jmp 0x6b26
leaq 0x9d3b(%rip), %rsi      # 0x1084e
movl $0x10, %edx
jmp 0x6b26
leaq 0x9d3e(%rip), %rsi      # 0x1085f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x3320
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31d0
leaq 0x9d0b(%rip), %rsi      # 0x10867
movl $0xa, %edx
movq %rbx, %rdi
callq 0x3320
movzbl 0x14(%r14), %eax
cmpl $0x2, %eax
je 0x6b86
cmpl $0x1, %eax
jne 0x6b94
leaq 0x9cf4(%rip), %rsi      # 0x10873
movl $0x2, %edx
jmp 0x6ba0
leaq 0x9ce5(%rip), %rsi      # 0x10872
movl $0x3, %edx
jmp 0x6ba0
leaq 0x9cc4(%rip), %rsi      # 0x1085f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x3320
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31d0
leaq 0x9ca0(%rip), %rsi      # 0x10876
movl $0x9, %edx
movq %rbx, %rdi
callq 0x3320
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movzbl 0x17(%r14), %esi
movq %rbx, %rdi
callq 0x3500
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%r15,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%r15,%rax)
leaq 0x9bf5(%rip), %rsi      # 0x1081b
movl $0x2, %edx
movq %r15, %rdi
callq 0x3320
movzbl 0x17(%r14), %esi
movq %r15, %rdi
callq 0x3500
movq %rax, %r15
leaq 0x9409(%rip), %rsi      # 0x10053
movl $0x1, %edx
movq %rax, %rdi
callq 0x3320
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31d0
leaq 0x9bfb(%rip), %rsi      # 0x10880
movl $0xb, %edx
movq %rbx, %rdi
callq 0x3320
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movzbl 0x18(%r14), %esi
movq %rbx, %rdi
callq 0x3500
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rcx
movl 0x18(%r15,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%r15,%rcx)
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31d0
cmpb $0x0, 0x16(%r14)
je 0x6d1f
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x20(%r14), %rdi
addq %r15, %rdi
movq %rbx, %rsi
callq 0x5e5a
incq %r12
movzbl 0x16(%r14), %eax
addq $0x20, %r15
cmpq %rax, %r12
jb 0x6cff
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
nop