Noticed a few Naomi incompatibilities in AOSDK 1.4.3:

- dc_read16() function is limited to 2 MB
- SA channel register is a bit too short (22 instead of 23 bits).

Code
diff -Nru aosdk_base/eng_dsf/aica.c aosdk/eng_dsf/aica.c
--- aosdk_base/eng_dsf/aica.c	2008-07-28 11:16:04.000000000 -0700
+++ aosdk/eng_dsf/aica.c	2008-10-19 06:41:52.000000000 -0700
@@ -41,7 +41,7 @@
 #define LPCTL(slot)		((slot->udata.data[0x0]>>0x9)&0x0001)
 #define PCMS(slot)		((slot->udata.data[0x0]>>0x7)&0x0003)
 
-#define SA(slot)		(((slot->udata.data[0x0]&0x3F)<<16)|(slot->udata.data[0x4/2]))
+#define SA(slot)		(((slot->udata.data[0x0]&0x7F)<<16)|(slot->udata.data[0x4/2]))
 
 #define LSA(slot)		(slot->udata.data[0x8/2])
 
diff -Nru aosdk_base/eng_dsf/dc_hw.c aosdk/eng_dsf/dc_hw.c
--- aosdk_base/eng_dsf/dc_hw.c	2008-02-18 09:19:58.000000000 -0800
+++ aosdk/eng_dsf/dc_hw.c	2008-10-19 06:41:11.000000000 -0700
@@ -74,7 +74,7 @@
 
 uint16 dc_read16(int addr)
 {
-	if (addr < 0x200000)
+	if (addr < 0x800000)
 	{
 		return dc_ram[addr] | (dc_ram[addr+1]<<8);
 	}