
AMD Confidential 
User Manual    September 12th, 2008 
Appendix A   181 
A  Appendix A.1 Format of Floppy and Hard-Drive Images
The floppy-disk  format assumes  a standard  1.44 Mbyte  floppy disk,  consisting of  80 
cylinders, 2 heads, and e ighteen 512-byte sectors per head (36 sectors per  cylinder). The 
image file consists simply of each sector, starting with the first  sector of the first cylinder 
on the first head,  and proceeding sequentially through the  last sector of the last  cylinder 
on the second head.  The total size of the image  file is identical to the total  capacity of a 
1.44 Mbyte floppy disk, or 1,474,560 bytes. 
The hard-disk  image is formatted in  a similar fashion,  with the exception  that the total 
number of  cylinders, heads, and sectors  per head varies.  Because of this,  the hard-disk 
image  file contains  a 512-b yte header  before the  raw  data. This  512-byte  header is 
identical to  the information  provided by  the dri ve in  response to the  ATA  command 
"IDENTIFY". Following the 512-byte  header is the data for each  sector from the device. 
As with  the floppy, the data  starts with the  first sector of  the first cylinder  on the first 
head. Unlike floppies, h owever, the image file may end  before the last sector of  the last 
cylinder on the  last head. If  an attempt is made  by the simulator,  to access data on  the 
drive image  that is  beyond the  end of  the available  data (but  still within  the bounds 
defined  by  the  geometry of  the  device),  the  simulator  will  extend  the image  file 
dynamically. 
The BSD file contains the contents of all Viper Plus registers. It also saves the contents of 
any buffers and the states of all  internal devices (HDD controllers, PIT, PIC, etc.). When 
the BSD file is  read in, all buffers are  filled with past data, and all  states are restored to 
their saved states. 
The symbol files that the debugger uses are in a simple  text format. Each line contains an 
address, length, and symbol  name.  Any line that starts with  a semicolon is considered a 
comment. Following is a sample file: 
; SimNow Debugger Symbol File Format 
; 
; Address   Length   Symbolic Name 
004011f0    3f       _main 
00401a3c    0        _GetModuleHandleA@4 
00401a42    0        _GetCommandLineA@0 
The address value may be an absolute address or  a module-relative address. For the latter 
case, the load  address may be specified  when the symbols are loaded  into the debugger 
with the "load_symbols"  command (see Section 10.2, “Debugger Command  Reference”, 
on page 147).