Jump to content
IGNORED

AtariVox/SaveKey Copy Utility


Karl G

Recommended Posts

This is a utility to copy data from one AtariVox or SaveKey device to another.

 

 * * * BETA WARNING * * *

 

While I have tested this on Stella and on hardware, and at least one other person has done the same, it is quite possible that there are undiscovered bugs, so use with caution!

 

Usage:

 

After launching the utility, plug the source AtariVox/SaveKey into the left port, and the destination AV/SK into the right port, then press Reset. The utility will then attempt to detect the devices, and report the results. If both are detected, you can hit Reset again to begin the copy.

 

The default mode is "No Overwrite", where the utility will not overwrite any blocks on the destination device that are not blank (all $FF value). Hitting Select before starting the copy changes the mode to "Overwrite", which will replace non-empty blocks on the destination device with the contents of the source device.

 

In both modes, to save time and writes, blank blocks from the source device are not written to the destination device.

 

copyvox_3.thumb.png.8c444cec19f4ac663ec01b276182a57b.png

 

 

 

copyvox-3.bin

  • Like 9
Link to comment
Share on other sites

The ROM in the first post has been updated to version 2. Changes:

 

  • A fix for an issue that may or may not exist in the first version (but now definitely doesn't)
  • Minor visual tweaks

 

So... are there any brave souls that are willing to test this on their devices? :D It worked for me to copy the data from my AtariVox to my SaveKey, at least, as well as several successful tests via Stella.

  • Like 1
Link to comment
Share on other sites

9 minutes ago, Bruce-Robert Pocock said:

Sure, I'll fire it up — possibly tonight? — my SaveKey gets trashed for testing regularly anyway. Just hopefully it doesn't eat my AtariVox :D

I'm pretty positive the source side is safe, at least! :D

  • Like 1
Link to comment
Share on other sites

Well … I guess it confuses the PlusCart, because hitting Reset a second time I see it begin to flash up the word “Copying” before I get sent back to the menu with “emulation exited”

 

Via (original) Harmony, first, I used your SaveKey Editor, and edited block $1040 to contain $10 $40 on the target SaveKey, and did a “non-destructive” copy from my AtariVox, which had only $ff $ff in that block.  The Editor confirmed that the data was not overwritten. I also fired up Grizzards from the PlusCart. Where before the SaveKey had slot 1 = BAKU, slots 2 & 3 = unused; now I see slot 1 = BAKU (unaltered), slot 2 = TESTER, and slot 3 = deleted. That means it (correctly) did not copy slot 1 = ZEPHIE from the AtariVox, but did copy TESTER. … Grizzards save games occupy 4 blocks each (max 12 blocks for 3 slots) so that seems to have worked flawlessly.

 

Trying to copy again in overwrite mode: this time, the PlusCart coöperated fine (did not drop back to menu). Confirmed the Grizzards save games now read ZEPHIE and TESTER, confirming the overwrite. Block $1040 now shows $00 $ff $ff … which is a little surprising — I had expected all $ff in that block, so that's a little odd.

Link to comment
Share on other sites

Thank you very much for testing! 

 

Regarding the PlusCart dropping back to its menu, I will have to research what triggers that on the PlusCart, and find a way to work around it. 

 

As far the block you expected to be all $FF, the code skips any blocks that are all $FF on the source, even in overwrite mode. This is to minimize the number of writes on the target. 

Link to comment
Share on other sites

4 hours ago, Karl G said:

 

Regarding the PlusCart dropping back to its menu, I will have to research what triggers that on the PlusCart, and find a way to work around it. 

 

you need to read SWCHA and SWCHB every frame, so the PlusCart can peek them both. If you only read one of them the value stored for the other will not change in the PlusCart. E.g. if the user ends a game with the joystick to the right as last value and the title screen is only reading the console switches then pressing reset will trigger the exit function.

 

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...