// File: /workspace/github_cpp_makefile_star2_O2/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 0x605b
movq %rdi, %r14
leaq 0x8968(%rip), %rsi      # 0xe7d5
movq %rbx, %rdi
callq 0x3270
movzbl 0x16(%r14), %esi
movq %rax, %rdi
callq 0x34e0
movq %rax, %rdi
callq 0x3130
leaq 0x894e(%rip), %rsi      # 0xe7df
movq %rbx, %rdi
callq 0x3270
movb 0x15(%r14), %cl
movl $0x80, %esi
shll %cl, %esi
movq %rax, %rdi
callq 0x34e0
leaq 0x8938(%rip), %rsi      # 0xe7eb
movq %rax, %rdi
callq 0x3270
movzbl 0x15(%r14), %esi
movq %rax, %rdi
callq 0x34e0
leaq 0x8184(%rip), %rsi      # 0xe053
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
callq 0x3130
leaq 0x8908(%rip), %rsi      # 0xe7ee
movq %rbx, %rdi
callq 0x3270
movb 0x13(%r14), %al
decb %al
leaq 0x8934(%rip), %r15      # 0xe82f
movq %r15, %rsi
cmpb $0x2, %al
ja 0x5f13
movzbl %al, %eax
leaq 0x89f8(%rip), %rcx      # 0xe904
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
movq %rbx, %rdi
callq 0x3270
movq %rax, %rdi
callq 0x3130
leaq 0x890d(%rip), %rsi      # 0xe837
movq %rbx, %rdi
callq 0x3270
movb 0x14(%r14), %al
cmpb $0x2, %al
leaq 0x8903(%rip), %rcx      # 0xe842
cmoveq %rcx, %r15
cmpb $0x1, %al
leaq 0x88f7(%rip), %rsi      # 0xe843
cmovneq %r15, %rsi
movq %rbx, %rdi
callq 0x3270
movq %rax, %rdi
callq 0x3130
leaq 0x88df(%rip), %rsi      # 0xe846
movq %rbx, %rdi
callq 0x3270
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movzbl 0x17(%r14), %esi
movq %rax, %rdi
callq 0x34e0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x883e(%rip), %rsi      # 0xe7eb
movq %rax, %rdi
callq 0x3270
movzbl 0x17(%r14), %esi
movq %rax, %rdi
callq 0x34e0
leaq 0x808a(%rip), %rsi      # 0xe053
movq %rax, %rdi
callq 0x3270
movq %rax, %rdi
callq 0x3130
leaq 0x8870(%rip), %rsi      # 0xe850
movq %rbx, %rdi
callq 0x3270
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movzbl 0x18(%r14), %esi
movq %rax, %rdi
callq 0x34e0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
callq 0x3130
xorl %r15d, %r15d
xorl %r12d, %r12d
movzbl 0x16(%r14), %eax
cmpq %rax, %r12
jae 0x604f
movq 0x20(%r14), %rdi
addq %r15, %rdi
movq %rbx, %rsi
callq 0x554e
incq %r12
addq $0x20, %r15
jmp 0x602d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x87fa(%rip), %rsi      # 0xe85c
movq %rbx, %rdi
callq 0x3270
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x3130
nop