Welcome, Guest. Please login or register.

Author Topic: GVP Series I SCSI controller ROM versions (scsidev.device)  (Read 3887 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline mark_kTopic starter

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show all replies
GVP Series I SCSI controller ROM versions (scsidev.device)
« on: February 10, 2015, 01:34:53 PM »
Hi,

Does anyone here have an old Series I GVP SCSI controller? For example:
Impact A500-SCSI
Impact A500-SCSI+4
Impact A2000-1/X
Impact A2000-SCSI+2
Impact A2000-SCSI+8
Impact A2000-HC
Impact A2000-HC+2

The board pictures on amiga.resource.cx show two EPROMs, labelled
 GVP  V1.0
  EVEN 1A3B

and
 GVP  V1.0
  ODD  69D9

I'd like to get a copy/dump/image of those EPROMs, and any other versions which exist. Let me know if you have one of those boards. You can dump the ROMs to disk by running a program on the Amiga; you don't need to remove the chips.

The original autoboot EPROMs contain a version of scsidev.device which doesn't support the SCSI Direct (HD_SCSICMD) standard. That means you can't use SCSI-Direct-compatible filesystems like PFS3AIO to work with larger partitions and bypass device size limits (1GB).

The best solution is to burn gvpscsi.device v3.15 into an EPROM and replace the two original ROMs with that chip. Get that from Ralph Babel's web site. gvpscsi.device is much more compatible, works with CD-ROMs and multiple drives. However, doing that may require you replace a PAL (programmable logic) chip on the board, which nowadays may be difficult or impossible to obtain.

If you don't need to autoboot from hard disk you can use the gvpscsi 3.15 BindDrivers driver instead, no need to replace the old ROMs. But what if you do want to autoboot?

I have attached "BETA2" GVP autoboot EPROM images. If you're unable to use gvpscsi.device 3.15, you can burn EPROMs with the BETA2 data and use them. Presumably this is less buggy than the original version, and (from my examination of the code) it does seem to support HD_SCSICMD. The BETA2 ROMs still won't work with CD-ROM drives, but supporting HD_SCSICMD should allow other filesystems like PFS3AIO to be used. You can only boot from an OFS or FFS partition, but you can mount a PFS3 partition from the startup-sequence and transfer control to it.

I posted an archive containing the BETA2 ROM images to this thread on eab.abime.net recently. I've attached the GVP BETA2 ROMs in a more Amiga-friendly format here.
 

Offline mark_kTopic starter

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show all replies
Re: GVP Series I SCSI controller ROM versions (scsidev.device)
« Reply #1 on: February 12, 2015, 04:55:51 PM »
That's great, thanks very much! Do you also have any install/utility disks for it? I'm trying to obtain any old drivers/software versions for the Series I cards too.

Another possibility re getting gvpscsi 3.15 working, would be to rebuild/remaster the 3.15 ROM, splitting it so you can program it into two EPROMs with no need for a PAL change. Simply splitting the 3.15 ROM into odd & even files probably won't work; changes will need to be made to the loader code inside it.

Did you try using PFS3AIO with mounting a partition manually? The old ROM won't mount or boot from a PFS3 partition, but it should (in theory...) be possible to mount it from the startup-sequence of the partition you do boot from.
« Last Edit: February 12, 2015, 05:00:50 PM by mark_k »
 

Offline mark_kTopic starter

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show all replies
Re: GVP Series I SCSI controller ROM versions (scsidev.device)
« Reply #2 on: February 15, 2015, 07:51:09 PM »
Thanks so much for the ROM images.

If anyone else is reading: I'd still like to get hold of older software/installer versions. I think the earliest software supported GVP's own partitioning scheme (this was in the pre-RDB days).

I'm hoping to remaster/modify the 3.15 ROM myself. By the way, the next version of WinUAE should support Series I hardware emulation, which will make that process easier to test. :)
 

Offline mark_kTopic starter

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show all replies
Re: GVP Series I SCSI controller ROM versions (scsidev.device)
« Reply #3 on: February 19, 2015, 07:53:03 PM »
I've been looking at the old GVP V1.0 boot ROM code and software.

If you own an Impact Series I controller with the old V1.0 boot ROMs, you might have discovered that:
a) You can't use a hard drive prepped using any other software with the V1.0 GVP ROM; it won't boot.
b) A hard drive prepped with a Series I/ROM 1.0 controller won't boot on any other controller.

The reason is, the old V1.0 ROM and software seem to be using a preliminary version of the RDB specification which is slightly different to the final one. There are two issues:
 - The old GVP prep software doesn't set checksum fields in RDB sectors correctly.
 - The GVP V1.0 ROM assumes DOS partition names in RDB PART sectors are C-type strings (zero-terminated). The final RDB spec requires the DOS names be BCPL strings (first byte is the length, not necessarily zero-terminated).
 - Also, the GVP software sets the rdb_DriveInit field to 0 (it should be $FFFFFFFF to indicate not used). However that isn't likely to be a problem in practice.


You can edit your RDB using a disk editor to convert a normal/vanilla RDB to be bootable with Series I V1.0 ROM. All you need to do, is patch the DOS partition name fields in the RDB PART sectors from BCPL to C-type strings. For example, if your partition is DH0 then the vanilla RDB PART sector will have these bytes:
  03 44 48 30
You'd need to change them to
  44 48 30 00

You don't need to change the sector's checksum field, because the V1.0 GVP ROM ignores it.

(This won't change the limitation of only being able to boot from OFS or FFS partitions.)

Going the other way, that is converting an old GVP RDB to a normal one, is tricker. You need to convert the DOS partition names to BCPL strings. But you also need to fix up the checksum fields in all the RDB sectors. I don't know if there's an existing program to do that.


I might see if I can patch HDToolBox to write PART sectors with the old GVP C-string DOS partition names. That would allow people to use a more modern partitioning program with their old-ROM controller at least.
 

Offline mark_kTopic starter

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show all replies
Re: GVP Series I SCSI controller ROM versions (scsidev.device)
« Reply #4 on: February 22, 2015, 06:52:17 PM »
Quote from: orcish75;784272
I tried every possible way to get the 3.15 rom working on the HC+2 card, split it into odd and even, byte swapped it, created a checksum etc. Nothing worked. Unfortunately I don't know how to remaster the rom and change the bootcode so that it'll work without a PAL change. Hopefully someone out there can do it! :)
Here's something to try. It probably won't work but is worth a go:
 - Leave the original V1.0 ODD ROM in its socket
 - Install a 3.15 ROM in the even socket

Does that work?

Edit: Never mind. After thinking about it for a bit that almost certainly won't work...
« Last Edit: February 22, 2015, 09:04:32 PM by mark_k »
 

Offline mark_kTopic starter

  • Jr. Member
  • **
  • Join Date: Nov 2007
  • Posts: 70
    • Show all replies
Re: GVP Series I SCSI controller ROM versions (scsidev.device)
« Reply #5 on: March 29, 2015, 01:58:00 PM »
Thanks very much for that! Do you remember which model of GVP board that was taken from?

Edit: looks like it shipped in at least some 68030 Combo boards.
« Last Edit: March 29, 2015, 02:18:55 PM by mark_k »