Covex
Dalsi
Seznam
Predchozi
Autor: #Feed# (on behalf of Covex) on 'Covex'
Cas: St 06.10.2010 20:08.00
Titulek: D80 obrazy ve Fuse emulatoru

                                                                                 
Feed:      lowlevel
Post-URL:  http://lowlevel.cz/log/pivot/entry.php?id=190
 
 
Fuse emulator v Linuxu nepodporuje mechaniky D80. Je v nem ovsem podpora
"vsemocneho" DivIDE. Divide umoznuje nahravat ruzne "firmwary". Mezi nimi
je i MDOS3, ktery by mel umet pracovat s D80 obrazy na HDD. Navody jsou
ovsem jako z jineho sveta nebo neexistuji vubec. Pro ochutnani DivIDE a
MDOS3 doporucuji Velesoftovu stranku [divide-mdos3][1].
 
   [1]: http://velesoft.speccy.cz/zx/divide/divide-mdos3.htm
 
Prvni problem je, ze FUSE podporuje jako image pro DivIDE pouze HDF. HDF je
jakysi format, ktery kdysi vymyslel autor RealSpectrum emulatoru. Jeho
popis uz ovsem najdete akorat tak ve webarchivu. Strucne:
 
 
 
    0x00    "RS-IDE"    ASCII[6]    HDF signature
 
    0x06    0x1A    BYTE    Termination marker
 
    0x07    0x11    BYTE    HDF revision number
 
    Represented in BCD form: 0x11 = v1.1
 
    0x08    -   BYTE    Flags
 
    b0: halved sector data (only LSB of sector words is stored)
 
    b1: ATAPI device (e.g. CDROM)
 
    0x09    DOFS    WORD    Image data offset
 
    This is the absolute offset in the HDF file where the actual hard-disk
data dump starts.
 
    In HDF version 1.1 this is 0x216.
 
    0x0B    0x00    BYTE[11]    Reserved (must be set to zero)
 
    0x16    -   WORD[256]   IDE/ATA device identification data
 
    This is the dummy sector information returned by ATA command 0xEC or
ATAPI command 0xA1 (see bit 1 of the flags to determine which is the case)
 
    Data are stored in words using the ATA convention (big endian), e.g.
ASCII string "Hello!" is stored as "eHll!o"
 
    DOFS    -   -   Raw disk data dump
 
    Tracks are stored in the following order: C0 H0, C0 H1 ... C0 H15, C1
H0, C1 H1 ...
 
 
Jsem si sam prelozil tak, ze na zacatku HDF je 534 bajtu dlouha hlavicka,
ktera jinak neobsahuje nic zajimaveho.
 
Vytvorit libovolny HDF muzete prikazem createhdf, napr.:
 
 
 
    createhdf 2 255 63 test.hdf
 
 
pro nas ale bude zajimavejsi prikaz raw2hdf.
 
Nejdrive ale musime pochopit co a jak a vytvorit MDOS3 disk se spravnou
strukturou. To je v zasade popsano v howto k [MDOS3][2], prakticky to
vypada takto.
 
   [2]: http://ci5.speccy.cz/mdos3/
 
  1. vezmu prazdnou 16MB flash kartu (bohuzel se mi nepodarilo nasimulovat
cely postup jen pomoci souboru na disku).
 
  2. fdisk /dev/sdX
 
d (smazte vsechny oddily), n (vytvorte jeden novy pres cely disk - p, 1,
enter, enter), t (zmente typ na 49 - neznamy), w ulozte
 
  3. na disk /dev/sdX1 naperte bootdisk, freedisk, freedisk -
 
 
    cat images/bootdisk images/freedisk images/freedisk > /dev/sdX1
 
  4. vytvorte HDF image
 
 
    dd if=/dev/sdX of=mdos3disk bs=512; raw2hdf mdos3disk mdos3disk.hdf
 
  5. ve Fuse zvolte Options/Peripherals... vyberte Divide
 
  6. dale Media/IDE/Divide/Master/Insert a vyberte mdos3disk.hdf
 
  7. Open... soubor bootloader/bootloader.tap, nechte nahrat bootloader do
Divide
 
  8. vyvolejte NMI (Machine/NMI)
 
 
 
    Loading kernel 2.3.2010         OK
 
    Checking devices
 
     master: Created by raw2hdf
 
     slave:                         OK
 
    Checking bootable MDOS3 partition FAILED
 
 
    Searching for first MDOS3 image:hda OK
 
    Reading bootconf
 
 
Nahraje se menu s vyberem operacniho systemu. Zvolte MDOS3 v jedne ze dvou
variant. Stroj se zresetuje, po opetovnem vyvolani NMI se objevi menu pro
vyber obrazu disket, ktere se maji pripojit k mechanikam A-D. Stisknete
napr. A, vyberte jako disk hda1, objevi se vyber
 
 
 
    bootdisk
 
    freedisk
 
    freedisk
 
 
Zvolte bootdisk. Stisknete Q, v BASICu napiste prikaz RUN.
 
Pokud chcete dostat na disk misto freedisku disk .D80 musite v kroku kde se
kopiruje obsah na disk /dev/sdX1 modifikovat nasledovne:
 
 
 
    cat images/bootdisk images/infosec.bin images/free.d80 images/free.bin
mdos3disk
 
 
misto free.d80 vlozte svuj obraz .d80, ktery musi byt 737280B dlouhy.
 
URL: http://lowlevel.cz/log/pivot/entry.php?id=190

Dalsi Seznam Predchozi


[ Domu | Prstik | O Piskovisti | Deticky | Nastenky | Koutky ]