Sega Dreamcast Visual Memory
Last changed: 2003-07-22

SerialToVM

SerialToVM lets you connect the Visual Memory to a standard RS-232 serial port on a PC (or other systems like Amiga etc.). It is possible to send and receive games and save-files from and to the Visual Memory. It uses the VM to VM protocol, the same protocol is used when transferring files directly from one VM to another. Since this protocol is limited to transferring files it is not possible to do things like reinitialise the VM or copy protected files.

The SerialToVM is basically a AT90S8515 from Atmels AVR series of micro-controllers to convert the synchronous serial protocol from the VM into the normal asynchronous serial communication available on nearly all computers since the mid 80s. To build it you need to be able to make a single sided PCB (100mm * 75mm). Additionally you need a way to program the Atmel with a standard Atmel ISP cable. To modify the firmware you need the avr-gcc C compiler.

The software on the PC side is currently Linux and AmigaOS only. A special version for other hardware exists for DOS. The software should be easily portable. Available distributions are currently source, Linux/i386, Linux/m68k and DOS. If you plan to port the software to a specific system please contact me first, other people might be doing the same.

WARNING

The version 1.1 of the hardware does not use the standard Atmel ISP connector as defined in appnote AVR910, the left and right columns are exchanged. Control the connections to the programmer with a multi-meter before applying power, especially make sure that GND is correctly connected and that VCC connects to the unused pin. This error happened when I built my first programming cable nearly a year ago and has been transfered to all my AVR projects. I thought the connector on page 2 was viewed from below just like the one on page 8, but it is viewed from above.

Downloads for SerialToVM

Hardware: current version 1.1a

What happened to version 1.0 of the hardware?

Version 1.0 was never released, it contained several bugs, one of them leading to a dead Atmel as soon as trying to upload the firmware.

Hardware downloads for the current version 1.1a

Software: current version 1.2

Changes since 1.1

The receivefile program now does the processing of received blocks before sending acknowledgements. This was necessary for the integration of the VMU2PC code, look below for more info. The sendfile program has not changed.

Software downloads for the current version 1.2

Support for John Maushammer's VMU2PC

There is now another interface to connect the VM to PCs, this time via the parallel port developed by John Maushammer. Read more on his VMU2PC page. He proved that my code was portable enough to replace the code to control the SerialToVM with code which does the job of the SerialToVM. This direct communication is a hard real-time problem meaning that it is difficult to implement in multitasking environments, so there is currently a DOS port only. I have integrated John's code into my distribution. While doing this I ported it to the DJGPP compiler, so the programs are now protected mode DOS applications. The main advantage for switching compilers is that the programs no longer need Windows to run.

Requirements for the VMU2PC software

To run this software you need a VMU2PC interface. Look at John's VMU2PC page for more information. Since the executables are protected mode DOS programs you need at least a 386 processor to run it. Obviously you need some kind of DOS like MS-DOS, PC-DOS, DR-DOS (now called Opendos). Windows 95 and 98 should work, too.

Possible problems

I did not design the VMU2PC interface and I did not write the code for VMU2PC, but I tested John's code and think it should run without any problems from 386SX20 up to at least Pentium-I class PCs, I have no access to up to date Pentium-III PCs, but I think basically it should just work. Should you encounter problems, please test your parallel port as described on the VMU2PC page. Experiment with your BIOS settings, set the parallel port mode to SPP. Try an ISA parallel port card if your main-board still has ISA slots.

Miscellaneous info

I don't update my web pages very often. So it could happen that there is quite a delay between John releasing a new version and me reintegrating it into my distribution, so check his VMU2PC page for the most current releases. My version number matches the number of the corresponding SerialToVM release.

VMU2PC, current version 1.2

What happened to version 1.0 and 1.1?

The VMU2PC port is just a special version of the SerialToVM software so they share the same version numbering scheme. Before version 1.2 the SerialToVM software just did not support VMU2PC, so 1.2 is the first release.

Downloads for VMU2PC, current version 1.2