Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Iridium Banner AMIStore App Store A1200/A600 4xIDE Interface

AuthorTopic: Need help with ICD AdSCSI 2000 board  (Read 400 times)

0 Members and 1 Guest are viewing this topic.

Offline glitch

Need help with ICD AdSCSI 2000 board
« on: October 28, 2021, 06:21:02 PM »
I was hoping someone on here with some experience with an ICD AdSCSI controller might be able to help.

I recently dug out an old ICD AdSCSI 2000 board which I had long presumed was dead.  While trying to find software for it, I compared it with photos I found on BBoAH and noticed there was no boot ROM installed.  I downloaded the ICD disk image and copied the icddisk.device and the adscsi.device drivers into the expansion drawer, and attempted to use binddrivers to load them, but my machine would not detect the card and the ICD Formatter software couldn't see the card either.

I found a very old version 1.6 of the ICD boot ROM for this board online, wrote it to a 27C256, popped it in and it reported the card as functional!  I prepared, partitioned and formatted an old SCSI drive I had around.  It autoboots and appears to work with internal and external drives.

The odd thing is that on my A2000, when I do a warm reset or cold power-on and hold down the mouse buttons, the kickstart pre-boot menu appears to skip past reading any drive information and only presents the floppy drives as bootable options.  This happens under KS37.175 or 40.68.

It appears that the v1.6 is a very old boot ROM.  Was this a "feature" at the time to disable the card to help the machine autoboot to a floppy?  I don't recall other ICD products doing this (AdIDE, Trifecta or other AdSCSI boards).  The picture of the board on BBoAH shows the boot ROM version at v4.21.  Would anyone out there have a boot ROM on their board newer than v1.6 that they could dump for me - or point me to where I might find one?

I was reading a post where it was suggested it was possible to use a program like ROMSplit/Remus to take the ROM apart and insert the newer icddisk.device or adscsi.device in place of the older v1.6 version.  Has any attempted to bake their own custom boot rom?

Thanks in advance for any suggestions.
 

Offline Pat the Cat

Re: Need help with ICD AdSCSI 2000 board
« Reply #1 on: October 28, 2021, 08:47:51 PM »
Yeah, it seems to be the way the ROM behaves at startup, which is fine for 1.3 but not for later systems that have an early startup menu accessed by holding down both mouse buttons;-

"pressing the left mouse button during startup disables HD automount, pressing the right mouse button disables HD cache"

http://amiga.resource.cx/exp/adscsi2000

I haven't come across a later version  of the ROM.

In theory you could disassemble the ROM and take out the routine. Very fiddly coding job though.

EDIT:: Then you'd have to burn the modified code back to the ROM for testing.

And I guess 2 routines would have to be slightly modified, one for each button.

How are your 68K coding skills.?

« Last Edit: October 28, 2021, 09:08:46 PM by Pat the Cat »
"To recurse is human. To iterate, divine."

A1200, Vanilla, Surf Squirrel, SD Card, KS 3.0/3.z, PCMCIA dev
A500, Vanilla, A570, Rev 5, KS 1.2/1.3 Testbench system
Rasp Pi, UAE4ARM, 3D laser scanner, experimental, hoping for AmigaOS4Arm, based on Watterott Fabscan Pi
 

Offline glitch

Re: Need help with ICD AdSCSI 2000 board
« Reply #2 on: October 29, 2021, 04:05:36 PM »
My coding skills are pretty rusty.  I will try to de-compile it and have a look.  Thanks for the suggestion.

Offline Pat the Cat

Re: Need help with ICD AdSCSI 2000 board
« Reply #3 on: October 29, 2021, 05:51:21 PM »
Wow. NOT the response I was expecting. :)

The actual hack is just replacing the conditional branch with an unconditional bra or NOP commands, depending on whether the program branches for no mouse clicks detected or whether it branches when they are connected.

Only a couple ot command changes needed, it's just finding the bit of code that tests the mouse buttons.

Look for #BFE001 in the code, that will help.

http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0182.html
"To recurse is human. To iterate, divine."

A1200, Vanilla, Surf Squirrel, SD Card, KS 3.0/3.z, PCMCIA dev
A500, Vanilla, A570, Rev 5, KS 1.2/1.3 Testbench system
Rasp Pi, UAE4ARM, 3D laser scanner, experimental, hoping for AmigaOS4Arm, based on Watterott Fabscan Pi