Really, thx ragnarok... i can't wait till release, damn will be awesome!! :)
And It's here, once again my thanks for all your dedication to the project.
Printable View
Really, thx ragnarok... i can't wait till release, damn will be awesome!! :)
And It's here, once again my thanks for all your dedication to the project.
I quote that as a whole.
I been following this thread for more than two years now, I have left a little bit of encouragements overtime.Although just as JNABK, I feel that it is unnecessary stress for ragnarok seeing most active people on this thread just want it now even though they saying they are very patient.I can not even start thinking how many times I have stopped myself from posting to flame back to those users who just add more stress than anything else to be quite frankly honest.
Hence, I got a feeling something is getting close now, I'll get my ps2 out just for this.I would like to thank you, but i already did a while back, heh.I do not feel the need to existentialize or mentality pressure you for my own personal grief.
btw ragnarok, santa has been good to you ?
all the best to you and the guys who helped him in his quest.
Michael
me too! i also what to thank you for your work on this, with out you and ffgriever,the free mc boot team, and the open ps2 loader the ps2 is in it's grave but you guys gave it the needed shocks to revive it
thank you
i too also have moved on to the ps3 and wii but doesn't mean i can't wait for your release:applaud::applaud:
Almost done, but I ran into some problems with cdvd support, which are fixed now. Also, a strange problem where the memory card modules causes 3 exceptions on the IOP, if they're the only device driver loaded. At least, I think it's the memory card modules. Trying to list the memory card devices causes the crash, anyway. I didn't even know ps2link could do more than one exception at a time.
I thought it might have been a problem with loading a file off the memory card, right after loading them, but stalling didn't work. I can work around the problem by autoloading the SMS CDVD drivers, right after the basic modules, so those modules are loaded by default now. It might be the order of the modules being loaded that's the problem.
I uploaded the dump. My suspicion is that it's a buffer underflow of some sort in a module of the IOP kernel, sifman, that the memory card modules use.
ragnarok how good you continue with the project that is one of the most anticipated, this year will go very well in all the plans you have, Greetings
The SIF driver on the IOP side crashed.
In that case, listing the inserted memory cards might cause the EE to freeze... since it's waiting for a response from the IOP.
I don't think that PS2LINK can trap more than one exception at one time - it's trapping 3 consecutive exceptions. :wow:
That's weird..... :crazy:Quote:
I thought it might have been a problem with loading a file off the memory card, right after loading them, but stalling didn't work. I can work around the problem by autoloading the SMS CDVD drivers, right after the basic modules, so those modules are loaded by default now. It might be the order of the modules being loaded that's the problem.
The only thing I can think of is that something related to the SIF wasn't initialized properly.
After all, the BIOS modules are more crude (Occasionally lacks error handling code), compared to the modules in newer IOP images.
Code:In init.c:
void reset_iop(void)
{
// Reset removes dev9 modules
__dev9_initialized = 0;
SifIopReboot(NULL); /* <- I hope that this keeps polling SifIopSync() until it returns "true", before returning! */
/* You might want to call SifInitRpc(), SifInitIopHeap, SifLoadFileInit() and fioInit() here, if you use it. */
/* I had noticed some weird effects after applying the SBV LMB patch, if you didn't initialize the SIF services properly beforehand. */
init_sbv_patches();
}
I think that I've seen this problem when debugging SSX: On Tour for use on PS2ESDL.Quote:
I uploaded the dump. My suspicion is that it's a buffer underflow of some sort in a module of the IOP kernel, sifman, that the memory card modules use.
The game seemed to crash the SIF interface, causing a similar dump to be generated.
The game seemed caused that crash because it didn't call any of it's hardware initialization code (But it does if I got CDVDMAN to first return an error that the hardware wasn't ready).
Oops, yeah, that's what I meant. I thought it would just stop at the first exception. I'm not able to reset the IOP while ps2link is running, otherwise I lose access to it, so it's probably related to that.
I ran into a problem with libconfig setting my integers with junk data... I'm not sure if it was an alignment problem, or what, but converting the integers to strings to save, and converting them back from strings to integers seems to work fine.
I also documented the settings for the PS2-side of things.
Edit:Code:PS2:
{
# This is the place where the emulator will save
# its files and directories
Home:
{
# Sets the partition name to be mounted
Partition = "";
# Sets the directory name to be used
# If Partition is not an empty string
# then Directory must include a "pfs0:/" path
# to a directory
Directory = "mc0:/SYS-CONF";
};
Display:
{
# X offset for centering screen
OffsetX = "0";
# Y offset for centering screen
OffsetY = "0";
# Sets the video mode
# AUTO "0" Automatic NTSC or PAL mode setting.
# NTSC "1"
# PAL "2"
# HDTV_480P "3" 720 x 480
# HDTV_576P "4" 656 x 576
# HDTV_720P "5" 1280 x 720
# HDTV_1080I "6" 1920 x 1080
# VGA_640_60 "7" 640 x 480 @ 60hz
# VGA_640_72 "8" 640 x 480 @ 72hz
# VGA_640_75 "9" 640 x 480 @ 75hz
# VGA_640_85 "10" 640 x 480 @ 85hz
# VGA_800_56 "11" 800 x 600 @ 56hz
# VGA_800_60 "12" 800 x 600 @ 60hz
# VGA_800_72 "13" 800 x 600 @ 72hz
# VGA_800_75 "14" 800 x 600 @ 75hz
# VGA_800_85 "15" 800 x 600 @ 85hz
# VGA_1024_60 "16" 1024 x 768 @ 60hz
# VGA_1024_70 "17" 1024 x 768 @ 70hz
# VGA_1024_75 "18" 1024 x 768 @ 75hz
# VGA_1024_85 "19" 1024 x 768 @ 85hz
# VGA_1280_60 "20" 1280 x 1024 @ 60hz
# VGA_1280_75 "21" 1280 x 1024 @ 75hz
Mode = "1";
# Enables interlacing for NTSC or PAL for the emulator
# May need to be fixed...
Interlace = false;
};
Sound:
{
# Enables stereo sound for the emulator
Stereo = true;
# Sets the volume percentage
Volume = "100";
};
Font:
{
# Sets the font linebreak height
Height = "16";
# Sets the default font color
Color = [ "128", "128", "128", "128" ];
# Sets the default font highlight color
Highlight = [ "255", "255", "255", "255" ];
};
Input:
{
# Sets the pad port
# "0" or "1"
Port = "0";
# Sets the pad slot
# Always 0 unless using a multitap
# "0" through "3"
Slot = "0";
# Sets the confirmation button
# Can be either "X" or "O"
Confirm = "X";
};
Devices:
{
# Enables/Disables miscellaneous device support
Mass = false;
HDD = false;
};
};
I just tested snes9x's settings, and it's happening there too. I suspect it's an alignment problem, since it works fine in PCSX2, which uses x86 instructions that don't care about memory alignment.
One quick question: how do you enable/disable interlacing in the PS2 video?
I'm not sure what you mean? Do you mean the SetGsCrt() syscall, or libgraph, or how I handle it in the GUI and Snes9x? The SetGsCrt() syscall enables/disables interlacing as the first argument, with the third argument used for the type of interlacing.
There was also a problem in the graph library for setting the mode. I'd accidentally used the graph library's mode numbers, instead of the actual mode number needed by SetGsCrt(). I guess setting invalid numbers in there caused it to use NTSC by default, on my ps2, so I hadn't noticed until I tried forcing PAL output, lol.
I've fixed the Snes9x settings, but need to work on the input settings, still. These go in the same file as the settings above.
Code:Snes9x:
{
ROM:
{
Interleaved2 = false;
InterleaveGD24 = false;
Cheat = false;
Patch = false;
LoROM = false;
HiROM = false;
PAL = false;
NTSC = false;
Header = false;
NoHeader = false;
Interleaved = false;
};
Sound:
{
BufferMS = "96";
LagMS = "0";
Sync = true;
SixteenBitSound = true;
Stereo = true;
ReverseStereo = false;
Rate = "48000";
InputRate = "22000";
Mute = false;
};
Display:
{
HiRes = true;
Transparency = true;
GraphicWindows = true;
DisplayFrameRate = true;
DisplayWatchedAddresses = false;
DisplayInput = false;
DisplayFrameCount = false;
MessagesInImage = true;
MessageDisplayTime = "120";
};
Settings:
{
BSXBootup = false;
TurboMode = false;
TurboFrameSkip = "15";
MovieTruncateAtEnd = false;
MovieNotifyIgnored = false;
WrongMovieStateProtection = true;
StretchScreenshots = "1";
SnapshotScreenshots = true;
DontSaveOopsSnapshot = false;
AutoSaveDelay = "0";
FrameTimePAL = "20000";
FrameTimeNTSC = "16667";
AutoFrameSkip = false;
FrameSkip = "1";
};
Controls:
{
MouseMaster = true;
SuperscopeMaster = true;
JustifierMaster = true;
MP5Master = true;
AllowLeftRight = false;
Port1 = "pad1";
Port2 = "pad2";
Mouse1Crosshair = "1 White/Black";
Mouse2Crosshair = "1 White/Black";
SuperscopeCrosshair = "2 White/Black";
Justifier1Crosshair = "4 Blue/Black";
Justifier2Crosshair = "4 MagicPink/Black";
};
Hacks:
{
EnableGameSpecificHacks = true;
AllowInvalidVRAMAccess = false;
SpeedHacks = false;
DisableIRQ = false;
DisableHDMA = false;
HDMATiming = "100";
};
};
Yep, it was SetGsCrt(). Did not knew this function exists. With that, I can change SDL/PS2 to support enabling/disabling interlacing by the app, otherwise I would have to compile two different versions.
Sorry my ignorance on the PS2-SDK, I did not found a good manual for it yet :D