Tape loading - blocks with checksum

edited July 2013 in Development
These were sometimes used for 128K games and had a searching / loading message, ie. Loading Block 08, then if a block didn't load right one could rewind a bit and it would search till it found it and try to reload. There was a slight overhead in terms of the time it took to load, but it was much easier to retry a segment. Anyone know if there is a utility in the archive for saving/loading in this way?
Post edited by dmsmith on

Comments

  • jpjp
    edited July 2013
    That sounds like Bleepload. I can't think of any specific utilities to create tapes in a Bleepload format, but JGH did write some block based tape utilities
  • edited July 2013
    dmsmith wrote: »
    Anyone know if there is a utility in the archive for saving/loading in this way?

    Yes, there is. Blok Load by Theo Develegas does this. His other tape utilities are also worth a look.
  • edited July 2013
    Thanks, yes some of Firebird / Rainbird games are the ones I remember using this.... and it was called Bleepload. I was thinking about this, and wondering what would be best for reliability: 1K packets, or 256 byte packets? - not knowing much about this I am tending towards the 1K packet size. I'll take a look at BlokLoad. Thanks again...
  • SKRSKR
    edited July 2013
    Heck!

    I remember back in the mid 80's I wrote a rudimentary "block loader" for transmission over CB radio to friends (Naughty eh?)

    It was great, because we could transmit (in 1K) blocks so, after the first transmission the recipient may say "I didn't get 5, 9 & 8" so I would just send the relevant blocks again to complete their transfer.

    As long as they got the first (basic with embedded m/c) block, the rest would/should load automatically, and indicate any badly loaded 1k blocks.

    It was slow, but it worked a treat.

    The toughest part was the mod to the CB Mic input, but it wasn't rocket science.

    I guess you had to be there, but it really worked and over some good distances at quiet times, when there was little interference from other CB users.
  • edited July 2013
    SKR wrote: »
    I guess you had to be there, but it really worked and over some good distances at quiet times, when there was little interference from other CB users.

    That is pretty cool, I bet you annoyed the hell out of the other users though. Like the people who insisted on playing music through it all the time. :)

    How long did a typical game take to send?
  • edited July 2013
    SKR wrote: »
    Heck!

    I remember back in the mid 80's I wrote a rudimentary "block loader" for transmission over CB radio to friends (Naughty eh?)

    It was great, because we could transmit (in 1K) blocks so, after the first transmission the recipient may say "I didn't get 5, 9 & 8" so I would just send the relevant blocks again to complete their transfer.

    As long as they got the first (basic with embedded m/c) block, the rest would/should load automatically, and indicate any badly loaded 1k blocks.

    It was slow, but it worked a treat.

    The toughest part was the mod to the CB Mic input, but it wasn't rocket science.

    I guess you had to be there, but it really worked and over some good distances at quiet times, when there was little interference from other CB users.

    Been there, done that ;)

    Inspired by my local radio station (GWR) at the time running "Radio Software". After closedown they would transmit programs over the air, you just tuned in and recorded them to tape. alarm clock programs seemed to be the most popular if I remember correctly!
    Oh bugger!<br>
  • edited July 2013
    Beepload was OK as a small error you could rewind and try again although given the extra leaders all the time it took longer to load, I don't think they increased the baud rate enough to compensate for that.

    Tis not that dissimilar to how a BBC / Electron loads data (minus the noise) in small blocks.
  • edited July 2013
    spider wrote: »
    Beepload was OK as a small error you could rewind and try again although given the extra leaders all the time it took longer to load, I don't think they increased the baud rate enough to compensate for that.

    I think there was a Dinamic loader (Dinaload?) which did something similar and didn't have the long leaders.
    The comp.sys.sinclair crap games competition 2015
    "Let's not be childish. Let's play Spectrum games."
  • fogfog
    edited July 2013
    DEATH wrote: »
    Been there, done that ;)

    Inspired by my local radio station (GWR) at the time running "Radio Software". After closedown they would transmit programs over the air, you just tuned in and recorded them to tape.

    there was a local pirate radio station here that did that also , but I think they were transmitting commercial games.
  • ZupZup
    edited July 2013
    leespoons wrote: »
    I think there was a Dinamic loader (Dinaload?) which did something similar and didn't have the long leaders.

    Yes, spanish release of Astro Marine Corps used that kind of loader. It had very short pilot tones (I'm unable to hear them), so it didn't took too much longer to load. Even it allowed you to play master mind while loading!
    I was there, too
    An' you know what they said?
    Well, some of it was true!
  • jpjp
    edited July 2013
    leespoons wrote: »
    I think there was a Dinamic loader (Dinaload?) which did something similar and didn't have the long leaders.

    It's not as forgiving as Bleepload - pause then rewind the tape for some reset fun... ;)
  • edited July 2013
    fog wrote: »
    there was a local pirate radio station here that did that also , but I think they were transmitting commercial games.

    We had one here too, I remember I got Jetset Willy 32 from it, and I'm sure I still have it.

    Bubble Bobble is a game that had that bleepload thing, it took ages to load, but it was good that if you had an error you could rewind.
  • edited July 2013
    I guess you had to be there, but it really worked and over some good distances at quiet times, when there was little interference from other CB users.


    Never tried transmitting over CB, but makes me wish I had tried something like that with the Binatone walky-talkies I got one christmas. - "come in Ray!" That might have been the start of a slippery slope for me though.
  • edited July 2013
    Dinaload? I do seem to recall a loader which though it didn't say what block was loading, it did seem like it was loading in blocks but with very short leaders, much shorter than Bleepload. Might have been on some games by Elite - but not sure.
  • edited July 2013
    dmsmith wrote: »
    Anyone know if there is a utility in the archive for saving/loading in this way?
    Blocked load and save
    Block.s contains two routine to save and load memory in block of up to 256 bytes. If an unrecognised block is found, it just loops back to continue waiting. You could add a "Rewind tape" prompt at that point.

    If you have a modified ROM that lets you run machine code as commands, the LOAD.s and SAVE.s are source for LOAD and SAVE commands to load and save memory as blocked files, eg with the JGHROM I could do *SAVE screen 4000+1B00 to save the screen as 27 256-byte blocks, and load it back in with *LOAD screen 4000.
  • edited July 2013
    Did anyone ever try forward error correction? You could put an extra block at the end which was the XOR of all other blocks, then if you only had one failed block you wouldn't need to rewind the tape. It would make the loader a bit more complex though.
  • edited July 2013
    jp wrote: »
    It's not as forgiving as Bleepload - pause then rewind the tape for some reset fun... ;)

    Was about to say the same. 131 byte blocks; presumably 128 bytes of data, 2 bytes for block id and 1 byte checksum.
Sign In or Register to comment.