// File: /workspace/github_cpp_makefile_star2_O2/khedoros[P]khednes/rom.cpp
// Function: rom::print_info()
void rom::print_info() {
    std::cout<<"Filename: "<<file.c_str()<<std::endl;
    std::cout<<"Filesize: "<<filesize<<std::endl;
    std::cout<<"Valid: "<<(valid?"true":"false")<<std::endl;
    std::cout<<"PROM pages: "<<prom_pages<<std::endl;
    std::cout<<"CROM pages: "<<crom_pages<<std::endl;
    std::cout<<"Trainer: "<<(trainer?"true":"false")<<std::endl;
    std::cout<<"Mirror mode: ";
    switch(mirror_mode) {
        case VERT:
            std::cout<<"Vertical mirroring"<<std::endl;
            break;
        case HORIZ:
            std::cout<<"Horizontal mirroring"<<std::endl;
            break;
        case FOUR_SCR:
            std::cout<<"4-Screen mirroring"<<std::endl;
            break;
    }
    std::cout<<"Contains SRAM: "<<(sram?"true":"false")<<std::endl;
    std::cout<<"Mapper: "<<mapper_num<<std::endl;

    printf("RST Insertion point: %04x\n",rst_addr);
    printf("IRQ Insertion point: %04x\n",irq_addr);
    printf("NMI Insertion point: %04x\n",nmi_addr);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x12aa4(%rip), %r14     # 0x1afb0
leaq 0xa063(%rip), %rsi      # 0x12576
movq %r14, %rdi
callq 0x4390
movq 0x70(%rbx), %rcx
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x4390
movq %rax, %rdi
callq 0x41c0
leaq 0xa048(%rip), %rsi      # 0x12581
movq %r14, %rdi
callq 0x4390
movl 0x8c(%rbx), %esi
movq %rax, %rdi
callq 0x4610
movq %rax, %rdi
callq 0x41c0
leaq 0xa02e(%rip), %rsi      # 0x1258c
movq %r14, %rdi
callq 0x4390
leaq 0xa027(%rip), %r12      # 0x12594
cmpb $0x0, 0x8(%rbx)
leaq 0xa021(%rip), %r15      # 0x12599
movq %r15, %rsi
cmovneq %r12, %rsi
movq %rax, %rdi
callq 0x4390
movq %rax, %rdi
callq 0x41c0
leaq 0xa009(%rip), %rsi      # 0x1259f
movq %r14, %rdi
callq 0x4390
movl 0x78(%rbx), %esi
movq %rax, %rdi
callq 0x4610
movq %rax, %rdi
callq 0x41c0
leaq 0x9ff4(%rip), %rsi      # 0x125ac
movq %r14, %rdi
callq 0x4390
movl 0x7c(%rbx), %esi
movq %rax, %rdi
callq 0x4610
movq %rax, %rdi
callq 0x41c0
leaq 0x9fdf(%rip), %rsi      # 0x125b9
movq %r14, %rdi
callq 0x4390
cmpb $0x0, 0xa1(%rbx)
movq %r15, %rsi
cmovneq %r12, %rsi
movq %rax, %rdi
callq 0x4390
movq %rax, %rdi
callq 0x41c0
leaq 0x9fbc(%rip), %rsi      # 0x125c3
movq %r14, %rdi
callq 0x4390
movl 0x88(%rbx), %eax
cmpq $0x2, %rax
ja 0x863d
leaq 0x9e12(%rip), %rcx      # 0x12434
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
movq 0x12980(%rip), %rdi     # 0x1afb0
callq 0x4390
movq %rax, %rdi
callq 0x41c0
movq 0x1296c(%rip), %r14     # 0x1afb0
leaq 0x9fc1(%rip), %rsi      # 0x1260c
movq %r14, %rdi
callq 0x4390
cmpb $0x0, 0xa0(%rbx)
cmovneq %r12, %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x4390
movq %rax, %rdi
callq 0x41c0
leaq 0x9fa4(%rip), %rsi      # 0x1261c
movq %r14, %rdi
callq 0x4390
movl 0x90(%rbx), %esi
movq %rax, %rdi
callq 0x4610
movq %rax, %rdi
callq 0x41c0
movl 0x94(%rbx), %esi
leaq 0x9f82(%rip), %rdi      # 0x12625
xorl %eax, %eax
callq 0x4040
movl 0x9c(%rbx), %esi
leaq 0x9f89(%rip), %rdi      # 0x12640
xorl %eax, %eax
callq 0x4040
movl 0x98(%rbx), %esi
leaq 0x9f90(%rip), %rdi      # 0x1265b
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x4040
nop