Patched Starion
===============

A file called STARIONP.TAP can be obtained from World Of Spectum.
It prepends a loader which patches the program.
It this loader then tries to load the code, skipping the normal loader.
This bombs in MEMU, as we don't like it when the tape doesn't have what
the code expects to load.

Then the loader tries to load a 0xbfd2 block of code.
The original file has a 0xbfe2 byte block, so again, we bomb.

The original file looks like this :-

$ ./showtap.sh STARIONP.TAP
=== STARIONP.TAP
[0x000] : {0x0013,TRUE ,TAPF_HEADER,{TAPD_PROGRAM       ,"starionfix",0x03e9}}
[0x001] : {0x03eb,TRUE ,TAPF_BLOCK ,@00014400ea504154434820544f20435552452050>}
[0x002] : {0x0013,TRUE ,TAPF_HEADER,{TAPD_PROGRAM       ,"STARION   ",0x0057}}
[0x003] : {0x0059,TRUE ,TAPF_BLOCK ,@000a0500ef2222af0d00140e00f9c03233323936>}
[0x004] : {0x0013,TRUE ,TAPF_HEADER,{TAPD_SCREEN_OR_CODE,"starion   ",0x001e,0x5b00}}
[0x005] : {0x0020,TRUE ,TAPF_BLOCK ,@310000214380e5dd21004011e0bf3eff37c35605>}
[0x006] : {0xbfe2,TRUE ,TAPF_BLOCK ,@0000000000000000000000000000000000000000>}

Using BE, I cut out the unwanted content, and patched the last block :-

$ ./showtap.sh StarionPatched.tap
=== StarionPatched.tap
[0x000] : {0x0013,TRUE ,TAPF_HEADER,{TAPD_PROGRAM       ,"starionfix",0x03e9}}
[0x001] : {0x03eb,TRUE ,TAPF_BLOCK ,@00014400ea504154434820544f20435552452050>}
[0x002] : {0x0013,TRUE ,TAPF_HEADER,{TAPD_SCREEN_OR_CODE,"starion   ",0x001e,0x5b00}}
[0x003] : {0x0020,TRUE ,TAPF_BLOCK ,@310000214380e5dd21004011e0bf3eff37c35605>}
[0x004] : {0xbfd2,TRUE ,TAPF_BLOCK ,@0000000000000000000000000000000000000000>}

This loads fine.
