VRHI - Virtual2RealHostInterface

Moderator: bbiernat

Post Reply
User avatar
pancio
Administrator
Posts: 67
Joined: 18 September 2013, 23:02 - Wed
Location: SILESIA

VRHI - Virtual2RealHostInterface

Post by pancio »

Introduction

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.
YD-CH32V307VCT6-SCH.pdf
(723.22 KiB) Downloaded 38 times
CH32V307VC-SIZE-Inch.pdf
(168.18 KiB) Downloaded 41 times
Full schematic:
vrhi1.5.1-sch.png
vrhi1.5.1-sch.png (365.61 KiB) Viewed 1356 times
and PCB design:
vrhi-1.5.1-pcb.png
vrhi-1.5.1-pcb.png (828.55 KiB) Viewed 1356 times
KiCAD files:
VRHIv1.5.1.zip
(908.29 KiB) Downloaded 35 times
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:
vrhi-fw-compile.png
vrhi-fw-compile.png (484.41 KiB) Viewed 1351 times
CH32V307-BB1_VRHI-v1.5.zip
uC code
(734.9 KiB) Downloaded 37 times

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:~$
The case
Case was made by @kkrys - still under development....
vrhi-case5.jpeg
vrhi-case5.jpeg (94.28 KiB) Viewed 57 times
vrhi-case4.jpeg
vrhi-case4.jpeg (72.94 KiB) Viewed 57 times
vrhi-case3.jpeg
vrhi-case3.jpeg (96.81 KiB) Viewed 57 times
vrhi-case2.jpeg
vrhi-case2.jpeg (84.85 KiB) Viewed 57 times
vrhi-case1.jpeg
vrhi-case1.jpeg (347.35 KiB) Viewed 57 times
VRHI_ver_1.5.zip
Housing
(1.54 MiB) Downloaded 6 times

vrhi1.jpeg
vrhi1.jpeg (897.65 KiB) Viewed 1361 times
vrhi2.jpeg
vrhi2.jpeg (879.2 KiB) Viewed 1361 times
vrhi3.jpeg
vrhi3.jpeg (782.22 KiB) Viewed 1361 times
vrhi4.jpeg
vrhi4.jpeg (811.53 KiB) Viewed 1361 times
cc1.jpeg
cc1.jpeg (857.31 KiB) Viewed 1361 times
cc2.jpeg
cc2.jpeg (826.66 KiB) Viewed 1361 times
cc3.jpeg
cc3.jpeg (699.98 KiB) Viewed 1361 times
cc4.jpeg
cc4.jpeg (772.47 KiB) Viewed 1361 times
cc5.jpeg
cc5.jpeg (1.02 MiB) Viewed 1361 times
cc6.jpeg
cc6.jpeg (927.65 KiB) Viewed 1361 times
cc7.jpeg
cc7.jpeg (927.11 KiB) Viewed 1361 times
cc8.jpeg
cc8.jpeg (799.02 KiB) Viewed 1361 times
cc9.jpeg
cc9.jpeg (776.6 KiB) Viewed 1361 times
vrhi_case1.jpg.jpeg
vrhi_case1.jpg.jpeg (133.6 KiB) Viewed 1361 times
vrhi_case2.jpg.jpeg
vrhi_case2.jpg.jpeg (88.19 KiB) Viewed 1361 times
vrhi_case3.jpg.jpeg
vrhi_case3.jpg.jpeg (123.77 KiB) Viewed 1361 times
vrhi_case4.jpg.jpeg
vrhi_case4.jpg.jpeg (132.34 KiB) Viewed 1361 times
Attachments
vrhiall_20240505_202817.zip
All software
(1.12 MiB) Downloaded 38 times

Post Reply