NAME=loading a BIOS file [64k]
FILE=bins/firmware/bios_64k.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [64k]
FILE=bins/firmware/bios_64k.bin
CMDS=ie
EXPECT=<<EOF
paddr      vaddr      phaddr     vhaddr     type
------------------------------------------------
0x00000000 0x000ffff0 ---------- ---------- program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_64k.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=ljmp follow
FILE=bins/firmware/bios_64k.bin
CMDS=<<EOF
e asm.bits
s $ij
? $$
e anal.cs=0xfff0
? $$~segm
EOF
EXPECT=<<EOF
16
int32   1048490
uint32  1048490
hex     0xfffaa
octal   03777652
unit    1023.9K
segment f000:ffaa
string  "\xaa\xff\x0f"
fvalue  1048490.0
float   0.000000000000000f
double  0.000000000000000
binary  0b000011111111111110101010
base36  0_mh0q
ternary 0t1222021020222
segment fff0:00aa
EOF
RUN

NAME=loading a BIOS file [128k]
FILE=bins/firmware/bios_128k.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [128k]
FILE=bins/firmware/bios_128k.bin
CMDS=ie=~addr
EXPECT=<<EOF
paddr=0x00000000 vaddr=0x000ffff0 haddr=-1 type=program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_128k.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=loading a BIOS file [256k]
FILE=bins/firmware/bios_256k.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [256k]
FILE=bins/firmware/bios_256k.bin
CMDS=ie=~addr
EXPECT=<<EOF
paddr=0x00000000 vaddr=0x000ffff0 haddr=-1 type=program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_256k.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=loading a BIOS file [512k]
FILE=bins/firmware/bios_512k.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [512k]
FILE=bins/firmware/bios_512k.bin
CMDS=ie=~addr
EXPECT=<<EOF
paddr=0x00000000 vaddr=0x000ffff0 haddr=-1 type=program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_512k.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=loading a BIOS file [1M]
FILE=bins/firmware/bios_1M.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [1M]
FILE=bins/firmware/bios_1M.bin
CMDS=ie=~addr
EXPECT=<<EOF
paddr=0x00000000 vaddr=0x000ffff0 haddr=-1 type=program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_1M.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=loading a BIOS file [2M]
FILE=bins/firmware/bios_2M.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [2M]
FILE=bins/firmware/bios_2M.bin
CMDS=ie=~addr
EXPECT=<<EOF
paddr=0x00000000 vaddr=0x000ffff0 haddr=-1 type=program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_2M.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=loading a BIOS file [4M]
FILE=bins/firmware/bios_4M.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [4M]
FILE=bins/firmware/bios_4M.bin
CMDS=ie=~addr
EXPECT=<<EOF
paddr=0x00000000 vaddr=0x000ffff0 haddr=-1 type=program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_4M.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=loading a BIOS file [8M]
FILE=bins/firmware/bios_8M.bin
CMDS=q!
EXPECT=<<EOF
EOF
RUN

NAME=entrypoint decoding [8M]
FILE=bins/firmware/bios_8M.bin
CMDS=ie=~addr
EXPECT=<<EOF
paddr=0x00000000 vaddr=0x000ffff0 haddr=-1 type=program
EOF
RUN

NAME=corrupted section data
FILE=bins/firmware/bios_8M.bin
CMDS=pi 1
EXPECT=<<EOF
ljmp 0xf000:0xffaa
EOF
RUN

NAME=apple baseband
FILE=bins/firmware/gns1_test.bin
CMDS=i;iS
EXPECT=<<EOF
fd       3
file     bins/firmware/gns1_test.bin
size     0x94
humansz  148
mode     r-x
format   gns1
iorw     false
block    0x100
type     GNS1
arch     arc
cpu      ARC700
baddr    0x10000000
binsz    148
bintype  firmware
bits     16
canary   false
injprot  false
retguard false
crypto   false
endian   little
havecode true
laddr    0x0
linenum  false
lsyms    false
machine  Apple C4000 Baseband
nx       false
pic      false
relocs   false
sanitize false
static   true
stripped false
subsys   baseband
va       true
nth paddr       size vaddr       vsize perm flags type name
-----------------------------------------------------------
0   0x00000064  0x10 0x10000000   0x10 -r-x 0x0   ---- region_a_text_0
1   0x00000074   0x8 0x10001000    0x8 -rw- 0x0   ---- region_a_data_1
2   0x0000007c  0x10 0x15000000   0x10 -r-x 0x0   ---- region_b_text_2
3   0x0000008c   0x8 0x15001000    0x8 -rw- 0x0   ---- region_b_data_3
EOF
RUN
