Re: [hatari-devel] Crash with HD IDE->ACSI image change?

[ Thread Index | Date Index | More Archives ]


On sunnuntai 12 lokakuu 2014, Thomas Huth wrote:
> While playing with Uwe's hatari.cfg, I noticed indeed some problems
> with hard disk emulation, but they were not related to IDE drives:
> When using GEMDOS HD emulation and extended VDI resolutions, Hatari
> always tried to access GEMDOS HD "C:" ... if it did not exist -> crash.
> I fixed that now, so problems with GEMDOS HD and extended VDI
> resolution should be gone now.

I think this should be fixed in a different way.

With your fix, DESKTOP.INF & NEWDESK.INF could get written to
user's host root directory (if/when Hatari has access rights
to write there).

I.e. it's this part that should be fixed, not gemdos.c:
static void VDI_FixDesktopInf(void)
        char *szDesktopFileName, *szNewDeskFileName;

        /* Modifying DESKTOP.INF only makes sense when we emulate the GEMDOS
         * hard disk 'C:' (i.e. the HD we boot from) - if not, simply return 
        if (!emudrives || !emudrives[0] || emudrives[0]->drive_number != 2)

Besides checking for GEMDOS HD emulation, it probably
should also output a warning if GEMDOS HD writes are
disabled with ConfigureParams.HardDisk.nWriteProtection.

Because every other user of GemDOS_CreateHardDriveFileName()
function calls it only for valid GEMDOS drives (they check
for that before calling the function), the check you added
        if (Drive < 2 || !GemDOS_IsDriveEmulated(Drive))

should IMHO be changed to an assert:

(Drive < 2 check is redundant with GemDOS_IsDriveEmulated().)

> Anyway, I was not able to reproduce the
> problem with the IDE crash. But could you please try again anyway to
> see whether it makes a difference?

	- Eero

Mail converted by MHonArc 2.6.19+