SofaRun 7.0 released

Page 9/9
2 | 3 | 4 | 5 | 6 | 7 | 8 |

By Parn

Hero (610)

Parn's picture

23-10-2020, 13:06

Could you please be a bit more specific? By what you said, I understood you:

  1. Started SofaRun;
  2. Saw the welcome screen (the one which says to press joypad/joystick button A, Return or Space key);
  3. The screen went blank without any interaction from you;
  4. While it was blank you pressed Return;
  5. It showed that a file was unzipping.

I have three questions:

  1. Did I understand what happened correctly?
  2. What was the file that was unzipped?
  3. 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. Smile

By POWER_OF_POP

Supporter (3)

POWER_OF_POP's picture

24-10-2020, 10:13

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.

By gdx

Prophet (3833)

gdx's picture

22-11-2020, 15:45

Hi Louthrax,

Louthrax wrote:
gdx wrote:

JoySNES seems works properly now.

Ah, good news, but I'm still not sure why it works Smile

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. Smile

By Louthrax

Prophet (2293)

Louthrax's picture

22-11-2020, 20:32

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.

By gdx

Prophet (3833)

gdx's picture

23-11-2020, 01:02

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.

By Louthrax

Prophet (2293)

Louthrax's picture

23-11-2020, 19:20

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.

By joy_33

Rookie (21)

joy_33's picture

29-11-2020, 22:17

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

By gdx

Prophet (3833)

gdx's picture

01-12-2020, 11:47

Here is v.7.0 fixed while waiting for the next version:

https://mon-partage.fr/f/FxxuK2Da/

Page 9/9
2 | 3 | 4 | 5 | 6 | 7 | 8 |