]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
A4091 and Warp Engine SCSI jumpers.
authorToni Wilen <twilen@winuae.net>
Sat, 1 Aug 2015 07:00:02 +0000 (10:00 +0300)
committerToni Wilen <twilen@winuae.net>
Sat, 1 Aug 2015 07:00:02 +0000 (10:00 +0300)
ncr_scsi.cpp

index c583a9cce59d57d0f9da278327f85ba87beafe6c..c7a6efee4f63a2bf0ca83b9a86e56b048b340573 100644 (file)
@@ -439,6 +439,7 @@ static uae_u32 ncr_bget2 (struct ncr_state *ncr, uaecptr addr)
        if (addr == A4091_DIP_OFFSET) {
                uae_u8 v = 0;
                v |= ncr->rc->device_id;
+               v |= ncr->rc->device_settings << 3;
                v ^= 0xff & ~7;
                return v;
        }
@@ -749,8 +750,13 @@ static void ncr_reset_board (struct ncr_state *ncr)
        ncr->irq = false;
 }
 
+// 01010040
+// 01020040 = H
+// 01040040 = J
+// 01080040 = K
+
 static const uae_u8 warpengine_a4000_autoconfig[16] = {
-       0x90, 0x13, 0x75, 0x00, 0x08, 0x9b, 0x00, 0x19, 0x02, 0x0e, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00
+       0x90, 0x13, 0x75, 0x00, 0x08, 0x9b, 0x00, 0x19, 0x01, 0x0e, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00
 };
 #define WARP_ENGINE_ROM_SIZE 32768
 
@@ -779,6 +785,13 @@ addrbank *ncr710_warpengine_autoconfig_init(struct romconfig *rc)
 
        for (int i = 0; i < 16; i++) {
                uae_u8 b = warpengine_a4000_autoconfig[i];
+               if (i == 9) {
+                       b = currprefs.cpuboard_settings & 7;
+                       if (!b)
+                               b = 1;
+                       else
+                               b <<= 1;
+               }
                ew(ncr, i * 4, b);
        }
        ncr->rom = xcalloc (uae_u8, WARP_ENGINE_ROM_SIZE * 4);