Closed Immersion95 closed 1 year ago
I have a fix for this (somewhere) - I'll dig it up asap
@mamehaze the irq vectors need to be updated for neocd (the ones derived from early fbneo neocd are wrong), this is why lastblade2 breaks
in mame's neogeocd.cpp, change: m_vblank_level = 1; m_raster_level = 3;
vector callback func. for 68k: static INT32 __fastcall NeoCDIRQCallback(INT32 nIRQ) { switch (nIRQ) { case 1: return (0x68 / 4); // irq 1 w/irq's 2 vector case 3: return (0x64 / 4); // irq 3 w/irq's 1 vector case 2: return (nNeoCDIRQVector); }
return M68K_INT_ACK_AUTOVECTOR;
}
also update the vectors and irq's in mame's neogeocd.cpp's irq_update() to match this:
if ((nIRQAcknowledge & 0x08) == 0) {
nNeoCDIRQVector = 0x5c / 4;
SekSetIRQLine(2, CPU_IRQSTATUS_ACK);
return;
}
if ((nIRQAcknowledge & 0x10) == 0) {
nNeoCDIRQVector = 0x58 / 4;
SekSetIRQLine(2, CPU_IRQSTATUS_ACK);
return;
}
if ((nIRQAcknowledge & 0x20) == 0) {
nNeoCDIRQVector = 0x54 / 4;
SekSetIRQLine(2, CPU_IRQSTATUS_ACK);
return;
}
best regards,
@dinkc64 Why don't you make a pull request with those changes instead of a poorly-explained comment detailing those changes? lol
@qeeg shut up. dink is being helpful, you are being obnoxious as usual
the instructions are clear and easy to understand, the 68k needs to take non-standard vectors for the irqs (triggering the same levels as the standard neogeo, but with custom vectors, rather than different levels)
not sure why they did it that way, but LB2 suggests they did
The fact of the matter is that opening a pull request would be more helpful than commenting on an issue lol.
demanding of somebody who isn't a mame developer by expecting them to compile and change MAME code isn't more helpful to anybody, nor is it polite.
dink providing information based on how he fixed the problem in his own emulator is
No, he literally said "In this file in MAME change this"
And gave a rough indication of what needed changing, clearly explaining the logic fail in my code without being expected to compile mame etc. (which not everybody is in a position to do). I found his comment helpful, I find yours obnoxious.
On Sun, 5 Nov 2023, 21:43 qeeg, @.***> wrote:
No, he literally said "In this file in MAME change this"
— Reply to this email directly, view it on GitHub https://github.com/mamedev/mame/issues/11706#issuecomment-1793854391, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBR6GZPKFIKI26UKHANFX2DYC726VAVCNFSM6AAAAAA66J4EPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTHA2TIMZZGE . You are receiving this because you were mentioned.Message ID: @.***>
@dinkc64 I believe this implements what you've suggested https://github.com/mamedev/mame/pull/11713
I tested neocdz lastbld2 (the game that previously didn't work) and neocdz neoturf (as I know that uses raster interrupt) and both work.
I do note that Last Blade 2 appears to lack the raster effect on the fire stage with neocdz though, I don't know if that's a design choice?
Is doubledr
same issue btw, it looks IRQ related as well given the top of driver note.
doubledr still hangs while loading (the clone set doubledra works)
Sorry to pollute, just wanted to thank you @dinkc64 & @mamehaze (love your blog btw)
Is
doubledr
same issue btw, it looks IRQ related as well given the top of driver note.
I think the doubledr parent might be a bad pressing, track 1 (and maybe 2?) seems to be hosed. I found forum posts that said people couldn't run the original disc on a real console when I was looking into adding the clone that worked. People said it just wouldn't start - but the later pressing worked fine. The copy on Redump marked as "Rev 1" is busted so I assume the CHD was made with a disc with the same data.
doubledr zeros out the vector table while loading, which causes the hang. I wonder if this is an error on the disc or something weird like that, as FoxhackDN said.
http://www.neo-geo.com/forums/index.php?threads/neo-geo-cd-system-resets.22053/post-158298
According to the post above, a lot of Double Dragon discs were faulty. A Japanese second printing that fixes this may exist (the working Alt is an Export version), or maybe that -was- the second printing for all we know.
Anyway, thank you for submitting these new findings! I'll be testing the games to see if any other known bugs in the emulation have been fixed.
I don't think the busted pressing should be the parent then.
I also think it should be marked as (broken pressing) or similar, so people know it isn't meant to work.
I tagged it as "supported=no" when I added the clone, but left it as parent because I wasn't sure if changing them around was cool or not, or what the proper way to do it was. I'm cool with the change, but I'm having issues with my internet so I can't submit anything right now. :\ If anyone wants to fix that, feel free.
MAME version
0.260
System information
Windows 11 23H2 - Intel UHD 730
INI configuration details
Emulated system/software
Neo-Geo CDZ
Incorrect behaviour
Black screen after the first loading screen - Can't go ingame
Expected behaviour
Goes ingame - Menu
Steps to reproduce
Start the game and wait for the loading screen
Additional details
I tested it with :
I searched any related issue in Github/MAME Testers/Driver source and couldn't find anything