Previous Thread
Next Thread
Print Thread
Page 5 of 7 1 2 3 4 5 6 7
Re: N64 driver improvement [Re: Just Desserts] #94632 06/12/14 10:30 PM
Joined: May 2009
Posts: 1,840
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,840
Happy, can you provide a patch in .diff form? I know you mentioned it needs tests on hardware to see if it's all accesses or just writes that clear the 'freeze' bit, but Banjo-Kazooie has been one of my personal bugbears for a while now. It running at all would indicate that whatever you have is more accurate than what's there now. smile

Re: N64 driver improvement [Re: Octocontrabass] #94634 06/12/14 11:17 PM
Joined: Apr 2010
Posts: 50
H
Happy Offline
Member
Offline
Member
H
Joined: Apr 2010
Posts: 50
It is only a one line change in mame/machine/n64.c, line 1009

Code:
if (data & 0x00000008)  current_status |= DP_STATUS_FREEZE;


to

Code:
if (data & 0x00000008) ; // Ignore DP FREEZE for now


The video 'VI' manager thread (and a few other bits) in Banjo Kazooie attempt to use setting/clearing the freeze bit as a means for a sort of 'VSYNC' for displaying frames. However, looking through a very exhaustive amount of the game, I have concluded that the only way this works is that the freeze bit gets cleared as a side effect of some other action (instead of explicitly clearing it).

And although completely ignoring the freeze bit may not be correct, I feel that for now it is more helpful to ignore it until a case arises that depends on it being set.

Re: N64 driver improvement [Re: Octocontrabass] #94635 06/12/14 11:26 PM
Joined: Apr 2010
Posts: 50
H
Happy Offline
Member
Offline
Member
H
Joined: Apr 2010
Posts: 50
I should mention something else I noticed while playing with Banjo Kazooie. While an nvram file is saved, it appears the driver never loads an existing nvram file. Is there a way to explicitly specify which file should be loaded? The data persists if I issue a reset to the driver, but if I close MESS and restart the data is gone.

Last edited by Happy; 06/12/14 11:50 PM. Reason: Correction of erroneous and misleading information that was present due to a lapse in my memory
Re: N64 driver improvement [Re: Octocontrabass] #94676 06/14/14 08:38 AM
Joined: Jan 2013
Posts: 63
A
asiga Offline
Member
Offline
Member
A
Joined: Jan 2013
Posts: 63
Great finding, Happy!!

Re: N64 driver improvement [Re: Octocontrabass] #94685 06/14/14 06:24 PM
Joined: Mar 2001
Posts: 16,471
R
R. Belmont Online Content
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,471
So does this fix any other Rare games? smile

Re: N64 driver improvement [Re: R. Belmont] #94692 06/14/14 10:43 PM
Joined: Apr 2010
Posts: 50
H
Happy Offline
Member
Offline
Member
H
Joined: Apr 2010
Posts: 50
Originally Posted By R. Belmont
So does this fix any other Rare games? smile
Not that I have noticed, but I can't be absolutely certain their behavior hasn't changed, since I don't know precisely how they may have been failing. However, I do know that some other Rare games do make use of trying to set and clear the freeze bit.

Re: N64 driver improvement [Re: Octocontrabass] #94709 06/15/14 11:05 PM
Joined: Apr 2010
Posts: 50
H
Happy Offline
Member
Offline
Member
H
Joined: Apr 2010
Posts: 50
A little bit of time over the weekend and a few more gratuitous screenshots to show that the driver is mostly stable and it is possible to complete a game with MESS's N64







However, MESS did crash shortly after the last shot.

Ignoring MAME exception: PC=00001D6F: Unimplemented op EC18074B (3B,0B)

terminate called after throwing an instance of 'emu_fatalerror'
what(): std::exception

Re: N64 driver improvement [Re: Octocontrabass] #94713 06/16/14 01:59 AM
Joined: Apr 2006
Posts: 675
D
Dullaron Offline
Senior Member
Offline
Senior Member
D
Joined: Apr 2006
Posts: 675
Looking good. smile


Windows 10 Pro 64-bit / Intel Core i5-4460 3.20 GHz / 8.00 GB RAM / AMD Radeon R9 200 Series
Re: N64 driver improvement [Re: Octocontrabass] #94813 06/26/14 09:23 PM
Joined: Apr 2010
Posts: 50
H
Happy Offline
Member
Offline
Member
H
Joined: Apr 2010
Posts: 50
What would be the easiest way to expose the N64 EEPROM to the debugger memory view? Would it be best to make it 1.) a device, 2.) a memory space (not directly accessible to the CPU) or 3.) would it be possible to just register it as saved state information?

Re: N64 driver improvement [Re: Octocontrabass] #94814 06/26/14 09:43 PM
Joined: Mar 2001
Posts: 16,471
R
R. Belmont Online Content
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,471
Register it as save state (it should be already, but...).

Page 5 of 7 1 2 3 4 5 6 7

Who's Online Now
1 registered members (1 invisible), 153 guests, and 2 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,763
Posts115,160
Members4,889
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3