Could you please be a bit more specific? By what you said, I understood you:
- Started SofaRun;
- Saw the welcome screen (the one which says to press joypad/joystick button A, Return or Space key);
- The screen went blank without any interaction from you;
- While it was blank you pressed Return;
- It showed that a file was unzipping.
I have three questions:
- Did I understand what happened correctly?
- What was the file that was unzipped?
- What happened after unzipping the file? Did it show something on the screen? Did it freeze? Did it crash? Did it go back to DOS?
I hope we can get to the bottom of this.
Hi Parn, the man.
Thank you for answering. That's very much appreciated.
Yes, you are right. That's happened, started "SR" then the welcome screen shows up on the monitor. To get into game/rom select mode, put RETURN or SPACE key. Then the screen goes blank.
Answer to your questions:
1. Yes, you understand completely.
2. I selected a zipped file blindly, so I have no idea what was that but that was definitely a MEGA ROM file.
3. After unzipping, it shows something like unpiz completed, to start push SPACE or RETURN then the screen goes blank again.
Before installing SOFARUN 6.0 or 7.0 (I used to use 5.0), no problems at all. So I truly hope Parn and other MSX maestro can help me. Thank you in advance.
Hi Louthrax,
JoySNES seems works properly now.
Ah, good news, but I'm still not sure why it works
In fact, it still doesn't work and sorry because I had not had time to report it and then I forgot.
I delved a bit into Sofarun and found the following joystick routine.
0476: ld a,#0f ; <- useless code 0478: out (#a0),a ; <- and that interferes 047A: ld a,d ; <- with the 047B: out (#a1),a ; <- JoySNES 047D: ld a,#0f 047F: out (#a0),a 0481: ld a,e 0482: out (#a1),a 0484: ld a,#0e 0486: out (#a0),a 0488: in a,(#a2) 048A: or #c0 048C: ld l,a 048D: or #f0 048F: cp #f0 0491: ld a,l 0492: ret nz 0493: or #0f 0495: ret
This routine is incorrect. It prevents also the use of the code key.
So I replaced that by the following routine:
0476: nop 0477: nop 0478: nop 0479: ld a,0Fh 047B: out (0A0h),a 047D: in a,(0A2h) ; <- To fix 047F: and 080h ; <- the 0481: or e ; <- code key 0482: out (#a1),a 0484: ld a,#0e 0486: out (#a0),a 0488: in a,(#a2) 048A: or #c0 048C: ld l,a 048D: or #f0 048F: cp #f0 0491: ld a,l 0492: ret nz 0493: or #0f 0495: ret
I also replaced:
58D4: ld de,#938f 58D7: call #0476 58DA: push af 58DB: ld de,#eccf 58DE: call #0476
by:
58D4: ld de,#930F ; You can replace it by ld e,#0F 58D7: call #0479 58DA: push af 58DB: ld de,#ec4F ; You can replace it by ld e,#4F 58DE: call #0479
Thereby my JoySNES and the Code key now works well.
Hey GDX,
Nice finding! I'm considering integrating this fix in the next SofaRun release (maybe for Christmas this year, along with other things), but in order to do that I need to understand the change.
As I mentionned, I've never been really able to understand what's happening with the JoySNES. Seems like different versions of the hardware have different behaviors.
So, could you give more details about your fix ? That would be usefull not just to SofaRun but also to other developpers wanting to support JoySNES.
I'm not sure but apparently the latest version of JoySNES doesn't like it when we change the status of pin 8 and then again immediately after for nothing.
OK, thanks, I'll have a look at that!
About the fix you have: do not forget that some games can change the value of the joystick ports between to calls of the routine. So you can't be sure of the value you have when entering the routine.
Could you check quickly if those games are working with your fix: Metal Gear 1, Maze of Galious and Strategic Mars (including menus and pause keys) ? In my memories, those games were sensitive to that kind of changes.
Gentlemen, please help, I use the super program SofaRun, single-program programs and games work perfectly for me, but I have no idea how to run several disk programs?
On the SD card I have files A.zip, B.zip, C.zip etc ... in each such file I have games in alphabetical order.
What should I do in the case of games that are on multiple diskettes?
I searched in Sofarun settings, but not all items I understand, my English is really weak.
Thank you very much for the advice or link to the video on how to proceed.
Jack
Here is v.7.0 fixed while waiting for the next version:
Is anyone really unable to advise me on how to play multidisk games?
I did not read anything in the manual.
Hi Joy_33,
Send me a message at my email address that you can find on my profile: https://www.msx.org/users/louthrax