I would like to present my new VRHI device, which may be using for programming, reading and cooperation with any Atari XL/XE devices.
The main reason why I decided to build it was the need to quickly write to any cartridge, because writing to an Atari takes a very long time... The presented device can do this in a dozen or so seconds (depending on the capacity).
Additionally, we can connect any device compatible with Atari to the interface and, if the method of communication is known, we can also control it. We may to connect VHRI to a PC using a USB cable and use as debugger via serial cable (or USB). The first tests showed that transmission speeds of 2mbit are possible (reading a 512KB cartridge takes about ~3s), but we are working to use USB as a faster interface.
https://www.youtube.com/watch?v=y30KcJ_vIys
My colleague @mono (Jerzy Kut) is involved to the creation of VRHI in its current form and he is the author of most of the communication software as well as the PC library. I designed, built and tested the system at a basic level. Currently, work is underway on the second prototype and speeding up the information exchange process between PC and VRHI.
This is the next project created as part of the activities of PTODT (Polskie Towarzystwo Ochrony Dziedzictwa Technicznego, which means the Polish Society for the Protection of Technical Heritage), founded for the protection of technical heritage, especially in the field of informatics and computers. Project was entered to ABBUC HW Competition 2024. Thank you everyone which voted to him!
Project was made as Free Hardware under Creative Commons BY-NC-SA 4.0.This means - you can do it yourself, for private use. Commercial use is possible after obtaining the authors' consent.
A few technically details:
- the project was created as a development of the ATARino idea and initially used its PCB (see photo of the prototype),
- the main element of VRHI is the module based on 32-bit RISC-V microcontroller, 144MHz with 64KB RAM and 256KB FLASH,
- additional elements: 16Mb of FLASH memory for cartridge data,
- EEPROM memory for configuration data,
- SD card slot (for cartridge images),
- ETHERNET 10Mb/s connector
- 2x USB HOST/DEVICE
Not all features are currently supported, but a few are planned...
There is one more cool thing if I use AtarINO... we can use VRHI as a sniffer, PC-controlled freezer or accelerator directly on Atari
Schematic, PCB and RISC-V Module
VRHI is based on module (YD-CH32V307VCT6) contains CH32V307VCT6 microcontroller, cheap but powerfully chip. You may buy assembled module on Aliexpres or eBuy fro 6$. This is very interesting module because it's equipped with many additional resources.
Full schematic: and PCB design: KiCAD files: I decided to add additional module called BTE22-11 (also available on Ali/eBay) - this module is use as SERIAL2USB interface (we plan to use it only as debugger but at this moment it's main interface for communication with PC. YD-CH32V307VCT6 is equipped with two full speed USB interfaces but I need to learn how to use these. Maybe in the future we may switch to faster communication...
The VRHI is equipped with power control module for cartridge or other Atari's device. Powered device is active when LED D4 (BUSY) is lighting.
LEDs and button
On VRHI board we may find four LEDs:
- D1 POWER - always active when you powered VRHI,
- D2 /S4 - active if access to location $8000-$9FFF,
- D3 /S5 - active if access to location $A000-$BFFF,
- D4 BUSY - active when cartridge/device is powered.
We have installed one button SW1 - general purpose button for future use. I planned to use it for automatically flash cartridge directly from Winbond FLASH memory. In current version not active.
Firmware and software
Everything VRHI can do depends on the software, both the firmware and the library and the program. The entire software was written by my colleague @mono, Jerzy Kut - famous programmer, author of many utilities on Atari and other platforms. Thank you very much @mono, without you this project would be useless!
At the begging the firmware was made in native MounRiver IDE but finally I decided to switch to more convenient environment like VSC + PlatformiO:
Main program called vrhicartprog2 is very easy to use...
Code: Select all
pancio@desktop:~$ vrhicartprog2
Virtual to Real Hardware Interface Cartridge Programator
Library: 1.3
Usage: vrhicartprog2 [-p] [-s device] [-t type] image.rom
Where:
-p program image.rom on the device
(reading from the device into file is the default action)
-s device the serial device where programator device is connected to
(/dev/ttyUSB0 is taken by default)
-t type the type of cartridge
image.rom the ROM image file
Cartridge types supported:
- 255 MaxPlus 512K cartridge
Send bug reports and feature requests to Jerzy Kut <mono@protolabo.pl>
pancio@desktop:~$
Case was made by @kkrys - still under development....