2021/02/12

[Korean] 일본 아케이드기판의 JVS규격과 그 규격에 기반한 오픈소스 I/O보드의 소개

JVS I/O의 오픈소스버전을 소개합니다. 직접 아두이노 메가/나노로 펌웨어를 입혀 DB15단자화하여 제작 가능하며, 제작된 동인기성품을 구매(3300엔)해도 됩니다. JAMMA와 JVS의 규격역사에 관해서는 포스팅 후반을 참조바랍니다.

1. MP01-IONA-JS (동인제작IO / 약 3000~4000엔)

MP01-IONA-JS (JVS ver. 3.0), 가격 일본현지가격 VAT포함 3300엔

 MP01-IONA-JS의 경우, 반응속도가 빠르고, 크기도 작고, 휠 등 아날로그를 사용하지 않는 게임의 경우 호환성이 문제없기에 재고가 생기는 즉시 매진될 정도로 인기가 있으며, 여의치 않을 경우 1만원짜리 아두이노 메가 호환품에 오픈소스 펌웨어만 입혀서 네오지오 db15단자화시킨 자작품으로 사용할 수도 있습니다. 


 한국에서는 구형 세가/캡콤/타이토 IO들을 주로 구할 수 있지만, 대부분 20년전의 초창기 규격이다보니 반응속도가 최근것에 비교해서 느린 단점이 있습니다. 지금부터 JVS기판을 위한 IO를 찾는다면 오픈소스 JVS하드웨어를 찾아보는 것도 어떨까 싶어서 정보차원에서 작성하였습니다.


MP01-IONA-JS의 서포트페이지 및 대응기판리스트, 펌웨어 업데이트 방법

MP01-IONA-JS (JVS-JAMMA I/O変換基板) サポートページ | iona-js (toyoshim.github.io)

Compatibility Information · toyoshim/iona Wiki · GitHub

MP01-IONA-JS(JAMMA-JVS) ファームアップデート備忘録 | Callus Next

SEGA         NAOMI1/2, LINDBERGH, LINGWIDE, RINGEDGE 1/2
namco       SYSTEM12, SYSTEM246/256
KONAMI    SYSTEM-573
TAITO        Type X, X2
exA-Arcadia


2. 아두이노 나노로 제작할 수 있는 JVS I/O 배선도 및 펌웨어소스



정품 아두이노기판은 비싸지만 호환기판으로 제작하면 2만원내에 제작가능한 방법입니다.
JVS IO는 캐비넷 2대를 대전용으로 사용하기도 하여 IO 2개로 캐비넷당 할당하기도 합니다.
각 회사별 IO보드에 별도 USB출력포트가 있는 이유가 daisychain으로 엮어 2개,3개,4개까지
연결하게 하기 위함이죠.

  • 재료
    • Arduino MEGA 호환기판 약 $10, 아마존, 알리익스프레스
      nano도 가능하지만 핀수가 모자라 한쪽밖에 만들 수가 없어서 2개 필요
    • 2단 DB15 male 2개
    • 101.6x53.3mm 크기 이상의 만능기판 (아두이노 메가보다 큰 것)
소스를 확인해보니 딥스위치 변경으로 VirtualOn, 스치파이마작모드도 가능한 듯 합니다.
시간날 때 직접 제작하게 되면 관련내용을 올려보겠습니다.

GitHub - toyoshim/iona: JVS IO Board by Arduino Nano


JAMMA->JVS의 역사

 아케이드 기판 하면 떠오르는 단자가 JAMMA규격인데, 이 규격이 나오기 이전인 1970년~80년대 중반까지는 각 회사별로 핀배열이 제각각이었습니다. 하네스의 생산코스트절감, 단자표준화 등의 목적을 위해 80년대 중반에 JAMMA규격이 탄생되었고, 이 규격이 길게는 25년도 넘게 다양한 게임기판에서 사용되었습니다. 

 하지만 이 규격도 90년대 중반에 들어서 기존 JAMMA배열만으로는 사용할 수 있는 버튼이 부족하여, 추가버튼을 사용할 수 있게 기판에서 별도단자가 따로 붙어있는 등 제약이 있던 상황이었습니다. 더군다나 핀배열상 화면의 해상도가 복합동기만 지원하기에 480p부터 일반적으로 사용되는 분리동기신호를 사용할 수 없었기에 90년대 후반부터는 JVS라는 신규격을 제정하였고, 최초로 사용된 기판은 1998년 SEGA의 NAOMI였습니다. 이때부터 조작부입력이 기판에서 직접 다루는 것이 아닌 별도 외부IO보드를 사용하게 됩니다. JVS의 입력조작부는 기판과 USB케이블로 연결되며, RS-485 시리얼 프로토콜로 통신합니다. 따라서 케이블은 USB를 쓰지만 전원핀이 들어갈 자리가 없기에 I/O보드의 전원을 별도로 공급해줘야 하며, USB프로토콜과는 전혀 호환성이 없습니다.

 시간이 흘러 다양한 게임에서 JVS를 채용하기 시작했고 최근에는 전용 기계를 사용하는 체감형 게임을 제외한 거의 모든 게임이 JVS규격을 사용하고 있습니다. 이 JVS도 이제는 20년이 넘다보니 도중에 규격이 갱신되어 현재 가동중인 게임들은 JVS 3.0기반으로 가동되고 있습니다. 

그렇다면 버전별로 무엇이 틀린가? 최초 1.0은 화면출력을 JAMMA가 아닌 DSUB포트에서 출력할 수 있게되어 해상도를 15k에서 31k로 보다 미려하게 표시할 수 있게된 점이 가장 큰 개선점이지만, 조작입력의 반응속도가 기존 JAMMA보다 느려졌다는 단점이 있었습니다. 이것을 차츰 규격의 버전업과 함께 하드웨어의 개선을 통해 현재에 이르렀고 고속I/O가 등장하기에 이르렀습니다. 하지만 이런 고속 I/O들은 신형 캐비넷과 함께 붙어서 나왔기에 개별로 구매하기에는 어려운 점이 있기에, 한국에서는 사실상 철권을 가동하던 남코 느와르 캐비넷이나, 일본에서 직접 타이토 뷰릭스의 최신사양을 구매하는 수밖에 없없습니다.

 그런데 최근에는 개인이 오픈소스로 JVS IO를 제작하는 사람들이 나타났고, 몇가지 종류의 IO펌웨어와 제작법이 github에 공개되어 있으며, 일본의 경우 이런 제작된 동인하드웨어를 각 기판샵에서 적은 수량이지만 저렴하게 구매할 수 있게 되었습니다. 그 중 하나를 소개하자면, 아래 사진은 AVR칩에 펌웨어를 담아 잠마배선으로 바꿀 수 있게 해주는 MP01-IONA-JS 라는 JVS I/O입니다. 현존하는 I/O중 가장 반응속도가 빠르다고 알려져 있으며, 이와 비등할만한 것은 동일인물이 제작한 exA-Arcadia 전용의 I/O보드가 있습니다. 


exA-Arcadia 전용 I/O (JVS ver. 3.0). 공식홈페이지가격 75달러

[English] Datapath VisionRGB-E2/E2S via current generation PC

 Once I started capturing games with capture card from 10 years ago, I got experience some some of cards. I think the best one for from 15Khz to 1080p is Datapath VisionRGB-E2S. Ideally, VisionRGB can accept all of refresh rate if it is in bandwidth of itself (480MB/s for E2 and 650MB/s for E2S). So if you try to capture the Arcade PCB games those are abnormal refresh rate signal as following list with consumer capture device, you can see tearing or out of range message on display.

  • Midway's 52Hz
  • Seibu Kaihatsu Raiden Fighters 54Hz
  • Seibu Kaihatsu Seibu cup Soccer 55Hz
  • Sega Virtua Fighter 2 57Hz
  • Other Arcade Games those are not NTSC/PAL standard.

 Consumer grade capture device only have standard EDID/DDC information. This means they only guaranteed 25 and 50Hz for PAL and 29.97 and 59.94Hz for NTSC (not mentioning for cinema frame rate in this post). There are two well-known devices that can capture such non-standard games, Yuan Hightech SC-500N1(Micomsoft SC-500N1) or later,  VisionRGB-E2/E2S. However even if SC-500N1 can accept non-standard signal, it would not be means all of non-standard signal. So as far as I know, the only solution for everything is VisionRGB.


 Nowadays this devices still can use the new system, but you MUST read carefully this post. When I try to replacing the old intel system to new AMD system, I encountered serious compatibility problem. This is the report for try and error. 

Do NOT use VisionRGB-E2 or E2S with Supermicro H12SSL series.
The PCIE 4.0 slot will cause beeping POST or just black screen. The most worse case is brick the CPLD chip on
motherboard which is for IPMI and some core system components. I recommend you should buy USB type capture devices. 


Old system
CPU: Intel core i3-4130
GPU: integrated in CPU
MEM: Samsung PC3-12800U 4GBx2
MB: GIGABITE H81M-DS2
Capture1: Datapath VisinoRGB-E2
Capture2: IEI HDC-302e
OS: Windows 10 pro x64

Confirmed working system
CPU: AMD Ryzen 3 3100
GPU: NVIDIA Geforce GT610 (modified to UEFI BIOS)
MEM: Teamgroup PC4-25600U 8GBx2
MB: MSI B450-A PRO MAX
Capture1: Datapath VisinoRGB-E2 (PCI_E4 2.0 16x slot/data as 4x)
Capture2: IEI HDC-302e (PCI_E6 2.0 1x)
OS: Windows 10 pro x64

Did not worked system
CPU: AMD EPYC 7302P
GPU: NVIDIA Geforce GT610 (modified to UEFI BIOS)
MEM: Samsung PC4-25600R 16GBx8
MB: Supermicro H12SSL-NT
Capture1: Datapath VisinoRGB-E2 (any PCIE slot)
OS: Windows 10 pro x64

I think the problem was from legacy compatibility on PCIE4 or SoC in Supermicro motherboard. When I insert VisionRGB in H12SSL after installed windows 10, I can hear very small beep sound and cannot boot properly. I tried modifying some options in BIOS that was also not resolved. Then suddenly CPLD chip has broken, I cannot boot windows with UEFI mode, only can use BIOS boot. The IPMI and ethernet chips has completely dead. So I sent RMA as twice for this problem.

 Then I googled other cases with new generation system. There is one guy I found who has AMD threadripper system with MSI motherboard, VisionRGB has no issue in that system. So I bought my confirmed system set then has no issue. I'm guessing that the key point is compatibility for PCIe 1.1, PCI-X, or option ROM.

Here's the HWINFO log for VISIONRGB-E2 as follow.

General Information
Device Name:            Pericom PI7C9X130 PCI Express to PCI-X Bridge
Device Class:             PCI-to-PCI Bridge
Revision ID:              4
Hardware ID:            PCI\VEN_12D8&DEV_E130&SUBSYS_00000000&REV_04
PCI-X Mode:             PCI-X 133
PCI Express  Version:   1.1
Maximum Link Width:  4x
Maximum Link Speed:  2.5 GT/s
Current Link Speed:     2.5 GT/s
Device/Port Type:        PCI Express-to-PCI/PCI-X Bridge


Here's the example for MSI B450-A PRO MAX.


I'm using slot1 for GPU, slot4 for VisionRGB-E2, slot6 for HDC-302E and M2 slot for SSD. The manual explain slot2, 3 and 5 are unable to use when I using both slot 1 and 4. The 2.0 x4 sufficiently fitted for VisionRGB-E2 (Unidirectional bandwidth of PCIE 2.0 1x is 500MB/s).


Hope this post will be helpful and informative for everyone.


useful link
Nerdly Pleasures: Proper Analog Retro Video Capture with the Datapath E1/E1s