// File: 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:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
testb $0x1, 0x19(%rax)
je 0x97a2
movq 0x28(%rsp), %rdi
leaq 0xc3b7(%rip), %rsi      # 0x15855
callq 0x42f0
movq %rax, %rdi
movq 0x18(%rsp), %rax
movzbl 0x16(%rax), %esi
callq 0x45f0
movq %rax, %rdi
movq 0x11aea(%rip), %rsi     # 0x1afa8
movq %rsi, 0x8(%rsp)
callq 0x4360
movq 0x28(%rsp), %rdi
leaq 0xc38b(%rip), %rsi      # 0x1585f
callq 0x42f0
movq %rax, %rdi
movq 0x18(%rsp), %rax
movb 0x15(%rax), %cl
movl $0x80, %esi
shll %cl, %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xc371(%rip), %rsi      # 0x1586b
callq 0x42f0
movq %rax, %rdi
movq 0x18(%rsp), %rax
movzbl 0x15(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xbb51(%rip), %rsi      # 0x1506b
callq 0x42f0
movq 0x8(%rsp), %rsi
movq %rax, %rdi
callq 0x4360
movq 0x28(%rsp), %rdi
leaq 0xc336(%rip), %rsi      # 0x1586e
callq 0x42f0
movq 0x18(%rsp), %rax
movzbl 0x13(%rax), %eax
movq %rax, 0x10(%rsp)
subq $0x3, %rax
ja 0x95cc
movq 0x10(%rsp), %rax
leaq 0xc173(%rip), %rcx      # 0x156d0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x28(%rsp), %rdi
leaq 0xc306(%rip), %rsi      # 0x15878
callq 0x42f0
movq %rax, %rdi
movq 0x11a27(%rip), %rsi     # 0x1afa8
callq 0x4360
jmp 0x95ee
movq 0x28(%rsp), %rdi
leaq 0xc2fd(%rip), %rsi      # 0x15891
callq 0x42f0
movq %rax, %rdi
movq 0x11a05(%rip), %rsi     # 0x1afa8
callq 0x4360
jmp 0x95ee
movq 0x28(%rsp), %rdi
leaq 0xc2e8(%rip), %rsi      # 0x1589e
callq 0x42f0
movq %rax, %rdi
movq 0x119e3(%rip), %rsi     # 0x1afa8
callq 0x4360
jmp 0x95ee
jmp 0x95ce
movq 0x28(%rsp), %rdi
leaq 0xc2d5(%rip), %rsi      # 0x158af
callq 0x42f0
movq %rax, %rdi
movq 0x119bf(%rip), %rsi     # 0x1afa8
callq 0x4360
movq 0x28(%rsp), %rdi
leaq 0xc2bd(%rip), %rsi      # 0x158b7
callq 0x42f0
movq 0x18(%rsp), %rax
movzbl 0x14(%rax), %eax
movl %eax, 0x4(%rsp)
testl %eax, %eax
je 0x966e
jmp 0x9612
movl 0x4(%rsp), %eax
subl $0x1, %eax
je 0x9628
jmp 0x961d
movl 0x4(%rsp), %eax
subl $0x2, %eax
je 0x964a
jmp 0x966c
movq 0x28(%rsp), %rdi
leaq 0xc28f(%rip), %rsi      # 0x158c3
callq 0x42f0
movq %rax, %rdi
movq 0x11965(%rip), %rsi     # 0x1afa8
callq 0x4360
jmp 0x968e
movq 0x28(%rsp), %rdi
leaq 0xc26c(%rip), %rsi      # 0x158c2
callq 0x42f0
movq %rax, %rdi
movq 0x11943(%rip), %rsi     # 0x1afa8
callq 0x4360
jmp 0x968e
jmp 0x966e
movq 0x28(%rsp), %rdi
leaq 0xc235(%rip), %rsi      # 0x158af
callq 0x42f0
movq %rax, %rdi
movq 0x1191f(%rip), %rsi     # 0x1afa8
callq 0x4360
movq 0x28(%rsp), %rdi
leaq 0xc22c(%rip), %rsi      # 0x158c6
callq 0x42f0
movq %rax, %rdi
leaq -0x2419(%rip), %rsi     # 0x7290
callq 0x4100
movq %rax, %rdi
movq 0x18(%rsp), %rax
movzbl 0x17(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq -0x2419(%rip), %rsi     # 0x72b0
callq 0x4100
movq %rax, %rdi
leaq 0xc193(%rip), %rsi      # 0x1586b
callq 0x42f0
movq %rax, %rdi
movq 0x18(%rsp), %rax
movzbl 0x17(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xb973(%rip), %rsi      # 0x1506b
callq 0x42f0
movq %rax, %rdi
movq 0x118a1(%rip), %rsi     # 0x1afa8
callq 0x4360
movq 0x28(%rsp), %rdi
leaq 0xc1b8(%rip), %rsi      # 0x158d0
callq 0x42f0
movq %rax, %rdi
leaq -0x2497(%rip), %rsi     # 0x7290
callq 0x4100
movq %rax, %rdi
movq 0x18(%rsp), %rax
movzbl 0x18(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq -0x2497(%rip), %rsi     # 0x72b0
callq 0x4100
movq %rax, %rdi
movq 0x11852(%rip), %rsi     # 0x1afa8
callq 0x4360
movl $0x0, 0x24(%rsp)
movq 0x18(%rsp), %rcx
movl 0x24(%rsp), %eax
movzbl 0x16(%rcx), %ecx
cmpl %ecx, %eax
jge 0x97a0
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rdi
movslq 0x24(%rsp), %rax
shlq $0x5, %rax
addq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x8550
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0x9763
jmp 0x97c2
movq 0x28(%rsp), %rdi
leaq 0xc12e(%rip), %rsi      # 0x158dc
callq 0x42f0
movq %rax, %rdi
movq 0x117eb(%rip), %rsi     # 0x1afa8
callq 0x4360
addq $0x38, %rsp
retq
nopw (%rax,%rax)