Jump to content


Photo

[File] Screen Compress


  • Please log in to reply
16 replies to this topic

#11 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 1,888 posts

Posted 15 February 2018 - 07:42 PM

Andy, thanks a lot for your help! :)

 

I got Part 2 right, so to speak. I was able to save a compressed screen, then insert it into a "full" TAP file (with a loader, etc.) and run the whole thing. It works like a charm :) .

 

However, I've still got a problem with Part 1.

 

 

When I drag and drop a .scr file onto Spin, it shows my screen in SPIN's screen, but then nothing happens.

 

So I tried pressing the "Start or stop the virtual tape drive" button in SPIN (at the lower left). When I do that, SPIN loads something (with the stripes and the sound) - I suspect it may be the "Screen Compressor" code itself - which corrupts the upper part of my screen. It is only after it has stopped loading that Screen Compressor shows the screen with the results of the compression (compressed size and savings). The compression works OK, I guess, but my screen had been corrupted because something was loaded onto its upper part.

 

Any ideas?

 

As for the SPIN's Tape browser, after my screen has been dragged and dropped and shows in SPIN's screen (and nothing happens), when I go to the Tape browser, the only tape it sees is the Screen Compressor itself.


Edited by jetsetdanny, 15 February 2018 - 07:51 PM.


#12 Spider

Spider

    XOR (HL)

  • Administrator
  • 3,153 posts

Posted 15 February 2018 - 08:22 PM

The version supplied only accepts a tape file to load from not .scr :)

 

Do you have a tape file with the screen code on it ? Typically it will start at 28350 and be of a variable length.

 

The compressor only provides a code file output not any Basic loader as such. The one in the 'demo' above however is a semi sensible base to use if you need a quick "loader" to test it.


Edited by Spider, 15 February 2018 - 08:24 PM.

Changing order to chaos since 1984

#13 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 1,888 posts

Posted 15 February 2018 - 09:16 PM

The version supplied only accepts a tape file to load from not .scr :)

 

Do you have a tape file with the screen code on it ? Typically it will start at 28350 and be of a variable length.

 

The compressor only provides a code file output not any Basic loader as such. The one in the 'demo' above however is a semi sensible base to use if you need a quick "loader" to test it.

 

Andy - I am totally at a loss here.

 

The "demo" file you uploaded looks like a final product *after* the compression and turning a picture from a 6912-byte-long SCREEN$ into a piece of code which gets loaded and then decompressed.

 

I don't have a problem now with this whole part - I've managed to do it.

 

My problem is that I cannot *load* a 6912-byte-long picture into Screen Compressor so that it processes it correctly.

 

When I load a .scr picture, Screen Compressordoesn't process it correctly. The picture is displayed on the screen of the emulator and nothing happens. When I press the "Start or stop the virtual tape drive" button, something gets loaded, visibly corrupting my screen (the upper part of it only) and then - without my doing anything else - the Screen Compressor shows its screen with the results of the compression (from this point on, I was able to save the file successfully and put it into a working BASIC loader - hence I say that I don't have a problem with this whole part).

 

I know that I wrote previously that I had solved Part 1 - loading the uncompressed picture into Screen Compressor - but I take it back. I did *not* solve this part yet. When I said I had solved it, I didn't realise that the corruption of the picture would perdure beyond the compression.

 

So my problem now is how to load the file into Screen Compressor so that it processes it correctly.

 

Now I know it should be a TAP file, not a .scr. So my question is about what structure this TAP file should have and what the BASIC loader should say.

 

Obviously it cannot be a kind of file like the "demo" you uploaded above, because this demo is already processed by Screen Compressor, it's *after* the compression. And I need to know what a TAP file should look like *before* the compression - the file which I need to load into the Compressor.

 

:)



#14 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 1,888 posts

Posted 15 February 2018 - 09:47 PM

Andy, I've devised a successful workaround to solve the problem :D . It allows me to achieve exactly what I need, although it's not optimal in the sense of general usage of "Screen Compressor".

 

I did this:

 

Using ZX-Blockeditor, I created a new TAP file, which was your "Screen Compressor" with my picture attached after the last block of "Screen Compressor" data in the TAP file structure (my picture as BYTES ""SCREEN$ header plus Screen Data, 6912 bytes in length, starting at 16384).

 

I ran this file in SPIN. Immediately after pressing "L" to load the screen, it loaded my picture and processed it, compressing it correctly. Then I was able to repeat the steps I had previously succeeded in doing, i.e. I saved the compressed screen, inserted it into a custom BASIC loader, and then loaded the whole game to see if it worked. It worked like a charm! :)

 

So at this point I am able to use "Sreen Compressor" efficiently by creating new, individual TAP files of it for each project, by inserting my picture blocks into the "Screen Compressor" TAP file structure right after the last data block of the Compressor.

 

This is perfectly enough for me, but it's not exactly the right way to use this otherwise excellent program; certainly not the normal way. 

 

I'll try using it the proper way in Spectaculator tomorrow (I don't have Spectaculator on this computer), just out of curiosity what Spectaculator will do.

 

Anyway, thanks *a lot* for your help, I am very glad I am now able to use this whole technology of compressing pictures and loading them (used as loading screens) without the loading lines  :D .


Edited by jetsetdanny, 15 February 2018 - 09:50 PM.


#15 Spider

Spider

    XOR (HL)

  • Administrator
  • 3,153 posts

Posted 16 February 2018 - 12:26 PM

Great stuff. :) :)

 

It should behave the same in Spectaculator, the main difference with that emulator is you must choose New > (and a tape file format) then remember to press the 'REC' button on the tape deck window before running the Save command. :)


Edited by Spider, 16 February 2018 - 12:33 PM.

Changing order to chaos since 1984

#16 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 1,888 posts

Posted 16 February 2018 - 03:22 PM

I tried Spectaculator. It seems to work in the same way as far as loading is concerned, i.e. I need to have a TAP file with the screen (my picture) data following the Screen Compressor data immediately within the structure of the TAP file, so that it loads and gets processed correctly. Otherwise, if I use a regular Screen Compressor build and try to drag and drop a screen file onto it to load it, nothing happens.

 

Anyway, I have been able to process a couple of my loading screens (for micro-projects which will be made public in the near future) successfully. So thanks for Screen Compressor, Andy, it's a very useful tool!  :thumbsup:



#17 Spider

Spider

    XOR (HL)

  • Administrator
  • 3,153 posts

Posted 16 February 2018 - 08:30 PM

You're welcome. :) I appreciate the 'feedback' too.

 

I tend to just use a 'new' tape file to save the output on, then simply copy/paste that into an existing tape file as required having written a loader or such already for it, but its use varies as you know.


Changing order to chaos since 1984




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users