Previous Thread
Next Thread
Print Thread
Page 33 of 55 1 2 31 32 33 34 35 54 55
Re: AO SDK release 1.4.3 available [Re: Knurek] #45669 10/19/08 01:55 PM
Joined: Sep 2007
Posts: 56
K
kingshriek Offline
Member
Offline
Member
K
Joined: Sep 2007
Posts: 56
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);
 	}

Re: AO SDK release 1.4.3 available [Re: kingshriek] #45670 10/19/08 03:03 PM
Joined: Mar 2001
Posts: 16,522
R
R. Belmont Online Content OP
Very Senior Member
OP Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,522
Very nice. The SA fix greatly improves Toy Fighter in MAME (except in some cases where I'm pretty sure it's streaming samples from the cartridge). I'll update the SDK and AO.

I need to get you a rip from ST-V Columns '97 soon too. It's got an SCSP DSP program with an instruction where "IRA" is greater than 0x31, with predictably crashing results.

Last edited by R. Belmont; 10/19/08 03:03 PM.
Re: AO SDK release 1.4.4 available [Re: R. Belmont] #45671 10/19/08 03:17 PM
Joined: Mar 2001
Posts: 16,522
R
R. Belmont Online Content OP
Very Senior Member
OP Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,522

Re: AO SDK release 1.4.4 available [Re: R. Belmont] #45673 10/19/08 03:50 PM
Joined: Mar 2001
Posts: 16,522
R
R. Belmont Online Content OP
Very Senior Member
OP Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,522
The Columns '97 RAM image is here:

http://rbelmont.mameworld.info/col97.zip

Looks like an unknown driver ("Ver 3.2.6|96 9/14|Tit&Sat by Hiro F.") to boot, although the host commands at least seem compatible.

Last edited by R. Belmont; 10/19/08 03:55 PM.
Re: AO SDK release 1.4.4 available [Re: R. Belmont] #45678 10/19/08 08:02 PM
Joined: Feb 2008
Posts: 107
D
Deunan Knute Offline
Senior Member
Offline
Senior Member
D
Joined: Feb 2008
Posts: 107
Consider #define'ing AICA RAM size to 2/8MB, selected by another definition (command-line given) to switch between NAOMI and DC. Also, rather than doing that if (in_range) you could do address & mask, where mask is size - 1. This way you can always have wide SA and not worry about it, as it will get masked and fit into DC memory even if you set the high bits.
This BTW makes my life much easier, I can work on either project and when I change the sources I just copy the files over.

I know next to nothing about Saturn but my DSP code treats invalid IRA as hardware zeros. Well it's either that or the address decoder only tests the highest bits and will wrap.
Then again I've seen some "invalid" values being written to hardware and performing neat tricks smile

Re: AO SDK release 1.4.4 available [Re: Deunan Knute] #45686 10/20/08 02:58 AM
Joined: Mar 2001
Posts: 16,522
R
R. Belmont Online Content OP
Very Senior Member
OP Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,522
It'd be nice to test some of the "out of range" things on real hardware sometime.

BTW, DK, I'll warn you in advance: 99% of the bitching we get about the Windows version of AO is due to the stupid and misleading error messages XP and Vista generate when the newer runtime DLLs are missing (usually something about "incorrect install"). Brace yourself smile

Re: AO SDK release 1.4.4 available [Re: R. Belmont] #45689 10/20/08 09:40 AM
Joined: Feb 2008
Posts: 107
D
Deunan Knute Offline
Senior Member
Offline
Senior Member
D
Joined: Feb 2008
Posts: 107
I can test that particular case on my DC (that is, SA vs 2MB). I hadn't so far because I've never had any problems related to addressing.

As for the MS compiler - Knurek was my test subject (though it's usually guinea pigs that are used for that *) and he got it running within minutes.
I admit the SxS error message you get is cryptic at best - shame on MS for that. There are several ways to make it work, the preffered being to download and install a redistributable with necessary dynamic libraries. It's only 4MB and all you need to do is run it and wait for the progress bar to reach 100%. And that's it, Makaron starts working again. A bit of a pain in the behind, yes, but a small price to pay for a decent compiler + debugger combo. If it has bugs I've yet to find them.

*) that joke is only funny in Polish smile

Re: AO SDK release 1.4.4 available [Re: Deunan Knute] #45693 10/20/08 01:26 PM
Joined: Mar 2001
Posts: 16,522
R
R. Belmont Online Content OP
Very Senior Member
OP Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,522
SA I expect would wrap on the real DC, but I gave up on trying to predict Sega somewhere around Charles discovering that System 16 had a fully remappable address space for no particular reason.

And if users could follow instructions... smile

Re: AO SDK release 1.4.4 available [Re: R. Belmont] #45699 10/20/08 03:17 PM
Joined: Nov 2003
Posts: 459
K
Knurek Offline
Senior Member
Offline
Senior Member
K
Joined: Nov 2003
Posts: 459
Two new DSF rips:

Guruguru Onsen 2 (2001)(Overworks, Sega)
Industrial Spy - Operation Espionage [Espion-Age-Nts] (1999)(HuneX, NEC)

Guruguru Onsen 2 shares some tracks with the earlier Atsumare Guruguru Onsen rip. The source MLTs are binary different, so I've included them just to be safe.

Both available here:
http://hcs64.com/dsf/

I'll upload the older rips soonish (maybe add a proper frontend too, we'll see).

Re: AO SDK release 1.4.4 available [Re: Knurek] #45730 10/21/08 07:01 PM
Joined: Feb 2008
Posts: 107
D
Deunan Knute Offline
Senior Member
Offline
Senior Member
D
Joined: Feb 2008
Posts: 107
Sorry it took so long but I had other things on my head...
As was to be expected, Dreamcast AICA will effectively ignore the highest bits of a given channel SA. Address decoding in this case is imperfect and the physical 2MB memory is being mirrored in the available address range. This is true for both AICA side and SH4 side access.

As for DSP - testing that would require me to create a whole new tool (my current code doesn't even touch DSP). Quite frankly I'm too lazy for that smile However, if someone comes up with a KOS-compatible source, ELF, plain binary, or even a hacked 2MB memory dump from AO for example - I will give that a try.

Page 33 of 55 1 2 31 32 33 34 35 54 55

Moderated by  R. Belmont, Richard Bannister 

Who's Online Now
1 registered members (1 invisible), 73 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,782
Posts115,562
Members4,908
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3