i want to save a snapshot file from snap to tap onto my hdd. what code address and length is it?

edited March 2018 in Hardware
hi,
i want to save a snapshot file from snap to tap onto my hdd. what code address and length is it?
i cant seem to find any info on this.
Post edited by digital on
randomize usr 1234

Comments

  • A snapshot saves the entire 48k memory space as well as register information. I dont believe there is any way it could be directly converted to a tap file.
  • I'm working on it. It's easier than you think, and I guess that there must be utilities that can do it.
    I was there, too
    An' you know what they said?
    Well, some of it was true!
  • Try to save as tap with ZX-Blockeditor or EmuzWin
  • edited March 2018
    sna2tap (part of taptools) can do this.

    If you want to write your own version, the source code in sna2tap.c may also be helpful. The technique sna2tap uses is:
    * Overwrite up to 65 bytes of the snapshot with a final-stage loader. This sets up the registers and jumps to the point the snapshot was taken.
    * Output a tape file containing a BASIC loader followed by the modified snapshot.
    * The BASIC loader loads the entire snapshot at 3FE5h. The first 27 bytes (the original copy of the registers) get loaded over the top of the ROM and thus ignored. The remaining 48k ends up in memory where it should be.
    * The return from the tape load routine passes control to the final-stage loader.
    Post edited by John Elliott on
  • edited March 2018
    The also exist Z802TAP (not Z80TOTAP). Just search for "Z802TAP" here in forum!

    If you use Multiface for snapshotting, and save to tape, this has it´s own format, e.g. for MF3 look here:
    http://www.seasip.info/m3data.html

    And there´s Snaptotap 2.4 aka "Zx Spectrum’da SNA to Tap converter" at: http://arda.kisafilm.org/blog/?p=1188

    Post edited by Luzie on
  • hikoki wrote: »
    Try to save as tap with ZX-Blockeditor or EmuzWin
    I've just tried these and "save as" won't work.

    you'd better try Fuse-Utils : https://sourceforge.net/projects/fuse-emulator/files/fuse-utils/

  • i need 128k snapshots to work
    randomize usr 1234
  • digital wrote: »
    hi,
    i want to save a snapshot file from snap to tap onto my hdd. what code address and length is it?
    i cant seem to find any info on this.
    and what about 128k?
    randomize usr 1234
  • Here's a hasty conversion of sna2tap.c to support 128k snapshots: http://www.seasip.info/tmp/sna2tap.c . If I get the chance I'll do a proper build of taptools with this functionality in the near future.
  • Ooh excellent. I would go with John's way rather that the manual thing I was playing with earlier. Good luck!
    Robin Verhagen-Guest
    SevenFFF / Threetwosevensixseven / colonel32
    NXtel NXTP ESP Update ESP Reset CSpect Plugins
  • how do i run that?
    randomize usr 1234
  • sna2tap.c(23): fatal error C1083: Cannot open include file: 'config.h': No such file or directory
    randomize usr 1234
  • sna2tap.c won't compile by itself -- you'd have had to copy it into a taptools build tree, replacing the one that was there.

    Anyway, there's no need to do that now I've released taptools-1.1.1, which includes the revised sna2tap. You can download source code, Windows binaries or DOS binaries at http://www.seasip.info/ZX/unix.html .

    (I'm sure no-one uses the DOS binaries any more, but I persist in making them. Habit, I suppose. Or in case someone ever wants to run them on a PC200).
  • edited March 2018
    ok. im not sure how to use this. the data bytes dont have the usual load "" code header.
    Post edited by digital on
    randomize usr 1234
  • and the basic loader is a little weird.
    randomize usr 1234
  • Anyway, there's no need to do that now I've released taptools-1.1.1, which includes the revised sna2tap. You can download source code, Windows binaries or DOS binaries at http://www.seasip.info/ZX/unix.html.

    Thanks!

    How do you go about getting a 128k .sna from an emulator? When I use spectaculator > save as > xxx.sna, it says that 128k snaps are unsupported?

  • wootlanter wrote: »
    How do you go about getting a 128k .sna from an emulator? When I use spectaculator > save as > xxx.sna, it says that 128k snaps are unsupported?

    With difficulty. The 128k sna format is for pentagon clones not Spectrums. Some emulators will allow you to save snapshots, others won't.
    My rubbish website including the redrawn Amstrad schematics and the new home of the Sinclair FAQ wiki.
  • So how do you get 128k .sna in the first place? And if that's from something like a multiface 3 etc, then why can an emulator not do that?

    Also, how did the multiface 3 able to transfer 128k tape programs to disk? Like with games that have multiple loadouts during the game like batman and robocop? Even if I make a 48k snap of batman the movie, and save it to disk, it just crashes at the end of the first level asking to press play on the tape...
  • edited March 2018
    The multiface snapshot format is different from .sna.

    https://www.seasip.info/m3data.html

    The 128K .sna extension is well-documented, and reasonably simple, so there's no particular reason why a given emulator can't support it if the author wants to. Or the multiface format too, for that matter.

    https://www.worldofspectrum.org/faq/reference/formats.htm#SNA

    There seems to be occasional confusion with how PC is stored in 128K snapshots. Snapshot loading code sometimes expects the PC to be pushed on the stack rather than at offset 49179, and blows up when it tries to pop it off the stack. Probably snapshots that are generated from running code rather than artificially constructed from assembled data tend to have the return address on the stack as part of the call to the generation code, and that gets taken for granted.

    Post edited by colonel32 on
    Robin Verhagen-Guest
    SevenFFF / Threetwosevensixseven / colonel32
    NXtel NXTP ESP Update ESP Reset CSpect Plugins
  • Spin (0.7 anyway) will load and save them back into a 128K machine. Spectaculator, Fuse and SpecEmu will load them but force a Pentagon 128K machine type (which may or may not work for that code, because of the different timings and contention model).
    Robin Verhagen-Guest
    SevenFFF / Threetwosevensixseven / colonel32
    NXtel NXTP ESP Update ESP Reset CSpect Plugins
  • If you have anything that emulates exsDOS, an divIDE or a divMMC interface, or an Omni/Uno/Next, then the NMI browser will also load and save 128K snapshots.
    Robin Verhagen-Guest
    SevenFFF / Threetwosevensixseven / colonel32
    NXtel NXTP ESP Update ESP Reset CSpect Plugins
  • Thanks for the replies!
  • edited March 2018
    digital wrote: »
    and the basic loader is a little weird.

    Yeah, I'm seeing just 2 lines and no randomize usr etc. But then, I'm way out of my depth, since this 128k .sna, that was then converted to .tap, was taken from a .dsk image that had loaded in an emulator.

    Post edited by wootlanter on
  • wootlanter wrote: »
    How do you go about getting a 128k .sna from an emulator? When I use spectaculator > save as > xxx.sna, it says that 128k snaps are unsupported?

    Fuse can do it IIRC.
Sign In or Register to comment.