Jump to content


Photo

Problems with loading a JSW64 game


  • Please log in to reply
1 reply to this topic

#1 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 1,888 posts

Posted 31 December 2016 - 01:32 AM

There was an interesting problem I encountered at the eleventh hour, just before the release of "Willy Games: The First 30 Years Quiz", with the BASIC loader / loading process.

 

I thought I would start a new topic about it, as it doesn't really concern the Quiz as such, it's more about the loading process itself, I think.

 

I solved the problem, but I would be interested if someone - Andy, perhaps? - could shed some light on why it happened.

 

The loader, in the released version of the Quiz, is like this:

 

Quiz loader.jpg

 

While I was working on it, I had PAUSE 50 in line 35. Everything was fine then.

 

I then changed it to PAUSE 150.

 

Just before the release, I realised that the game wouldn't load correctly.

 

Interestingly, it would load OK (in Spectaculator) when the "Enable fast loading" option was on. However, when I tried loading it with that option turned off, there was a critical problem.

 

First, the loading screen wouldn't show. All that I could see after it should have shown was the screen created by the BASIC loader.

 

Then, after a considerable time of the game loading, corruption started on that screen.

 

At one point it looked like that:

 

loader corruption 1.png

 

Then it got even worse:

 

loader corruption 2.png

 

And then the game would just crash. I can't remember exactly what happened, but it wouldn't load at all.

 

I first thought it was a problem with the overall length of the BASIC loader. So I reduced it by merging two lines into one. The loader was now shorter than when it had been when everything worked fine, but the problem persisted, with the same symptoms.

 

And then I compared the loader when it worked fine with the current one, and turned my attention to the length of the two PAUSE instructions.

 

The second one (PAUSE 200 after loading the loading screen proper) didn't seem to matter. However, the first one, in line 35, made all the difference.

 

The loading was just fine when it was 50.

 

The loading crashed when it was 150.

 

I tried 100 and it crashed, and I tried 90 and it was fine. So I assume it must be a two-digit number to work (I guess PAUSE 99 would work, too, although I didn't try it).

 

But why is it? And why does an emulator load it correctly with a PAUSE over 100 when fast loading is enabled, but doesn't load it at all when it's disabled?  :unsure:

 

Another little mystery, for me, at least...



#2 Spider

Spider

    XOR (HL)

  • Administrator
  • 3,153 posts

Posted 31 December 2016 - 04:33 PM

The only immediate answer I have assuming it was not a space issue (which you solved) would be if auto load is on in the emulator so the tape does not stop when it should.

 

This is a bit difficult to describe but if its on flash/edge you'd not notice it, but on normal speed you would as it would actually skip a block out as it 'missed' the header as the tape was still playing while it was pausing.

 

So it would miss out highload.jv7

 

Switch 'auto load' on and try it again or try in Spin, ensure that 'auto load' and 'auto stop' are enabled. :)


Changing order to chaos since 1984




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users