Na forum już były te pytania ale nadal brak odpowiedzi. Próbowałem programem "Pdocread" ale wyświetla mi jakieś błędy, może coś źle robię?. Pod WM5 działa prawidłowo. 
Dotyczy Q1
C:\q>pdocread -t
real nr of sectors: 1  - 512.00byte, 0x200
C:\q>pdocread -v 0x0 0x200 nk.nb0
(C) 2003-2008 Willem jan Hengeveld  itsme@xs4all.nl
Usage: pdocread [options] start [ length [ filename ] ]
    when no length is specified, 512 bytes are assumed
    when no filename is specified, a hexdump is printed
    -t     : find exact disk size
    -l     : list all diskdevices
    -v     : be verbose
    -s OFS : seek into source file ( for writing only )
    -b SIZE: specify sectorsize used to calculate sector offsets
    -B SIZE: specify blocksize to use when reading the disk
    -G SIZE: specify blocksize to use when transfering over activesync
    -u PASSWD : unlock DOC device
    -S BK1x : specify alternate disksignature ( e.g. BIPO, BK1A .. BK1G )
    -W OFS : specify optional 'writeenable' flag ptr
Source:
    -d NAME : devicename or storename
    -p NAME : partitionname
    -h HANDLE : directly specify handle
  either specify -d and optionally -p, or specify -h
Method:
    -n NUM : binarypartition number ( normal p if omitted )
    -w     : read via windows disk api
    -o     : read OTP area
if the filename is omitted, the data is hexdumped to stdout
if no length is specified, 512 bytes are printed
numbers can be specified as hex (ex: 0x8000)  or decimal (ex: 32768)
C:\q>pdocread -l
HexdumpTFFSToStdout(0x0, 0x200)
ERROR: ITReadDisk : read 00000000 bytes - Parametr jest niepoprawny.
C:\q>pdocread -s OFS
HexdumpTFFSToStdout(0x0, 0x0)
Stosując metodę opisaną w odpowiedzi #39, możesz uruchomić dowolną ilość własnych programów, ja mam ich 6.