Menu

diskdevice

2008-01-05
2013-04-03
  • Fausto Saporito

    Fausto Saporito - 2008-01-05

    Hello all,

    i just tried the diskdevice, booting OpenVMS 7.2 installation cdrom, but it failed.

    I have two errors on DOS console

    IDE write with unsupported command: 00
    IDE write with unsupported command: 00
    IDE write with unsupported command: 20
    IDE write with unsupported command: 20

    and on the alpha console I have

    %SYSBOOT-I-GCTMINOR, GCT used with minor revision mismatch
       expected: 00000005.00000001  -  seen: 00000005.00000002

    [continue to boot from cdrom...]

    %EXECINIT-F-LOADERR, error loading SYS$TRANSACTION_SERVICES.EXE, status = 00000054

    halted CPU 0

    halt code = 5
    HALT instruction executed
    PC = ffffffff819bb528

    regards,
    fausto

     
    • Camiel Vanderhoeven

      Hi Fausto,

      CD-ROM/ATAPI support is not complete yet; try setting cdrom=false; that might help.

      The %SYSBOOT-I-GCTMINOR, GCT used with minor revision mismatch expected: 00000005.00000001  -  seen: 00000005.00000002 message is no problem; it is seen on a real ES40 as well.

      Camiel.

       
    • Camiel Vanderhoeven

      I found a bug in DiskDevice.cpp, and changed a couple of other files; please update your sources from CVS, and try again...

       
    • Fausto Saporito

      Fausto Saporito - 2008-01-06

      I tried to recompile es40 with the updated DiskDevice, but now I have a compiling error:

      ..\DiskDevice.cpp(90) : error C2065: 'DISK_GEOMETRY_EX' : undeclared identifier
      ..\DiskDevice.cpp(90) : error C2146: syntax error : missing ';' before identifier 'x'
      ..\DiskDevice.cpp(90) : error C2065: 'x' : undeclared identifier
      ..\DiskDevice.cpp(93) : error C2065: 'IOCTL_DISK_GET_DRIVE_GEOMETRY_EX' : undeclared identifier
      ..\DiskDevice.cpp(93) : error C2070: ''unknown-type'': illegal sizeof operand
      ..\DiskDevice.cpp(100) : error C2228: left of '.Geometry' must have class/struct/union
              type is ''unknown-type''
      ..\DiskDevice.cpp(100) : error C2228: left of '.SectorsPerTrack' must have class/struct/union
      ..\DiskDevice.cpp(101) : error C2228: left of '.Geometry' must have class/struct/union
              type is ''unknown-type''
      ..\DiskDevice.cpp(101) : error C2228: left of '.TracksPerCylinder' must have class/struct/union
      ..\DiskDevice.cpp(102) : error C2228: left of '.DiskSize' must have class/struct/union
              type is ''unknown-type''
      ..\DiskDevice.cpp(102) : error C2228: left of '.QuadPart' must have class/struct/union
      ..\DiskDevice.cpp(103) : error C2228: left of '.Geometry' must have class/struct/union
              type is ''unknown-type''
      ..\DiskDevice.cpp(103) : error C2228: left of '.BytesPerSector' must have class/struct/union

      I have WinIoctl.h, but it seems there's something missing...

      regards,
      fausto

       
      • Camiel Vanderhoeven

        Fausto,

        Perhaps your include files are older than mine.

        Could you try replacing the lines between "#if defined(_WIN32)" and "LARGE_INTEGER a;" with:

          DISK_GEOMETRY x;
          DWORD bytesret;

          if (!DeviceIoControl(handle, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, &x, sizeof(x), &bytesret, NULL))
          {
            printf("%s: Could not get drive geometry for %s!\n",devid_string,filename);
            printf("%s: Error %ld.\n",devid_string,GetLastError());
            throw((int)1);
          }

          sectors = x.SectorsPerTrack;
          heads = x.TracksPerCylinder;
          byte_size = x.Cylinders.QuadPart * x.TracksPerCylinder * x.SectorsPerTrack * x.BytesPerSector;
          dev_block_size = x.BytesPerSector;

        If that works, I'll update CVS accordingly.

        Camiel.

         
    • Fausto Saporito

      Fausto Saporito - 2008-01-06

      Hello Camiel,

      now the compile is ok.

      regards,
      fausto

       
    • Fausto Saporito

      Fausto Saporito - 2008-01-06

      I'm trying to boot with debug option enabled...

      My configuration is es40 with IDE configuration (i.e. the only one config that allows me to try the boot, at the moment), with diskimage as boot disk, and diskdevice as boot cdrom.

      It's soooo slooow :-) I'm still running with cdrom = true, but I didn't understand if after the bug fix, I have still to change in cdrom = false.

      first strange thing, now I have a different error:

      IDE write with unsupported command: cd
      IDE write with unsupported command: cd

      before was "command: 00".

      Now, I'm still waiting in the Testing the Network phase... when I'll have the prompt I'll try to boot from cdrom. :-)

      PS1
      sometimes I'm experiencing a "hanging" during the Testing the network, i.e. sometime is really fast
      (2-3 secs, max 10 secs), sometimes is very slow (after 10 mins it's still in Testing, and I prefer to
      kill the emulator and start a new session).

      PS2
      I noticed a lot of compile option, Debug/Release/Release IDB/Release LSS/etc... What are they?

       
    • Fausto Saporito

      Fausto Saporito - 2008-01-06

      Hello,

      after the reboot, to recover the Testing Network hang, I tried to boot from OpenVMS 72 cdrom, but I still receive the same error about SYS$TRANSACTION_SERVICES.EXE and on DOS console I have:

      IDE write with unsupported command: 00
      IDE write with unsupported command: 00
      IDE write with unsupported command: 20
      IDE write with unsupported command: 20

      regards,
      fausto

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.