Arvid - changelist & download

[ main page ]

Latest version 0.4f

  • software for BBG (Beaglebone Green) to generate TV video signal. See the main page for installation instructions.

    arvid_sdcard_04f.bin.xz Image of the micro sd card for BBG. Simple plug & play solution, no complicated installation required. Installation instructions are here.

    arvid_fw_updater_04f.zip PC tool to update Arvid BBG firmware remotely. This is an alternative way of upgrading Arvid firmware. Requires existing firmware version 0.4c or newer. If unsure or if you have older version of Arvid firmware currently installed please use the full sd card image above.

  • source code of Arvid software can be found on github:
    libarvid arvid library for BBG. Also includes arvid-server.

    arvid-client PC library to develop apps that use the video card.

  • emulator:
    arvidmame 0163r6 source code and binaries of the emulator to use along with Arvid video card. Ported to various operating systems. Previous release is here.

    Hardware version 0.4a


    arvid04a_pcb.zip pcb layout. Use free pcb editor to view & edit.
    arvid04a_fab.zip gerber files for the pcb. It's a dual layer PCB, the dimensions are 80 mm x 56 mm. You can use this zip file and upload it directly to online PCB fab site like allpcbs.com or dirtypcbs.com (and possibly others as well) to let them produce it for you.
    arvid_connector.pdf Pinout and SCART information.

    Hardware version 0.3b (simpler but compatible version)


    arvid03b_pcb.zip pcb layout. Use 'pcb' editor to view & edit.
    arvid03b_fab.zip gerber files for the pcb.

    You can buy a pack of the pcbs from dirtypcbs.com store as well. The link for the Arvid video card 0.3b is here.

  •  

    2017.08.28: arvidmame release 6

    I have released arvidmame 0136 r6 that supports both Arvid and ORB boards.

  • added support for Arvid GPIO joysticks as used on ORB board. By default the USB joysticks are active (to preserve previous behaviour). To enable Arvid GPIO joysticks as primary joysticks please modify mame.ini parameter 'arvid_joy' and set it to value 1. Note: use arvid firmware 04f or newer on your BBG.
  • retrofit toaplan sound drivers from mame0181. Vimana, fireshark and tekipaki now have sound. Please use the latest roms for these machines.
  •  

    2017.08.27: ORB design files, Arvid firmware update - ver. 0.4f

  • I have released the ORB schematics, gerber files and circuit design on github. You can find it here: github.com/ole00/orb

  • I've also released a new version of Arvid firmware ver. 0.4f which is now also hosted on github here: github.com/ole00/libarvid.
  • Along with the firmware comes the new client library for PCs located here: github.com/ole00/arvid-client.

    The new features of the release are:

  • support for Arvid GPIO joysticks - basically more GPIOs are checked for input (previously only Player1 Coin and Start buttons were checked and reported. Now 2 players controls including directions and 4 buttons are supported.
  • added power-off command to arvid server. This allows the PC client app to remotely poweroff the BBG (cleaner system shut-down of Arvid and/or ORB board).

    Next to come: new arvidmame supporting the arvid joystick handling...

  •  

    2017.07.02: New project ORB: Open Retro Board

    I've been busy last few months designing a new board based on Arvid. This time it is a self contained retro board with JAMMA edge connector. It uses emulation to play old arcade games and Arvid to display them on 15kHz arcade monitor. The emulation is performed on a minicomputer mounted on the ORB pcb. A variety of RPi-type minicomputers can be mounted, so far I've tested it with Nano Pi M2 and Asus tinkerboard. Optionally the board can be used without minicomputer and connected to regular PC instead (just like Arvid, but adds the JAMMA connector). The advantage of the mounted minicomputer is that the OS images (published as SD card images) will be fine-tuned for arcade emulation, so no fiddling with underlying operating system and setting-up will be needed. The idea is to have an alternative plug-play board for arcade cabs or arcade superguns. It's similar to Chinese multigame boards you can buy on auction sites, but this one will be fully open and can be customised for both software and hardware. That is: the schematics, board design and gerbers will be provided for the board and the Linux OS images, arvid firmware and emulators (initially arvidmame) will be open source and free to modify and use. And of course the whole point is to make the arcade emulation better especially with regards to arcade video resolutions, refresh rates, no-tear rendering, progressive video output etc.

    Bellow is a little teaser what to expect. It's the second version of the ORB prototype, on the right side of the board there is BBG used as a video card, on the left side is Asus tinkerboard used for the main emulation. The second image shows the board with minicomputers unplugged. All of it is powered via JAMMA 5V pins, no extra power supply is needed. Player controls are fed via JAMMA pins as well, no USB controllers are required. The white audio cable is connected to optional (and very basic) mini audio amp that can drive the arcade cab's speakers.


    In coming weeks I'll be updating Arvid with extra features required for ORB (2 player button handling via GPIO) and will also post more information about the board and publish the design files and related source code.

     

    2017.03.26: Arvid firmware update - ver. 0.4e and arvidmame release 5

    I've been doing some screen delay testing followed by rendering optimisations in that respect. The result is the new Arvid firmware and new arvidmame.

  • Firmware: added virtual vsync option that allows to minimize screen latencies. New function was added : arvid_set_virtual_vsync(int vsync_line) where vsync_line is the scan line that triggers the vsync event. By default the feature is disabled (vsync_line = -1). If enabled arvid_wait_for_vsync() function will wait until the vsync_line is rendered on the screen and then it returns to the caller. If disabled arvid_wait_for_vsync() waits until the last line is rendered on the screen and then it returns to the caller.
  • New arvidmame (r5) that employs this function is also released. The new feature is called 'frame delay' and can be set in Video menu. By default it is turned off so the emulator behaves exactly the same as the previous release. When you enable it you can select several values from 'Very High' to 'Very Low'. High delays bring just a small screen latency improvements but should work on slower PCs. Low delays give better screen latency, but may cause visual artefacts (screen tearing) on slower PCs or when emulating CPU demanding games. If that happens select the frame delay value that is one step worse and watch the screen for artefacts. Emulator saves your latest frame delay selection and applies it the next time you run a particular game.
    IMPORTANT! release 5 requires Arvid firmware 0.4e to support the new feature.
  •  

    2017.02.21: Arvid video pinout

  • I realised the pinout might not be obvious, so here it is. And also here in pdf format. It's the same pinout for both PCB version 0.3b and 0.4a, the older one doesn't have the audio part and the 11V status signal.


  •  

    2017.02.18: Another Arvid firmware update - ver. 0.4d

  • Added new mid-res video modes: 416, 448, 512, 640. These resolutions were sometimes used in more recent machines in second half of 90's. Arvidmame0163r4 is mostly compatible with this firmware, it will pick up the new video modes automatically. One issue though is the 640 video mode causes buffer overflow while streaming video data, so a new emulator build (against arvid-client 0.4d library) fixes the issue. The other new video modes work fine with the current emulator build.
  • Implemented screen saver. It's triggered after 3 minutes of inactivity. That is, if there is no active connection for 3 minutes then the screen saver is displayed to prevent screen burn. It might be important if you want to run Arvid unattended in an arcade cab. If the emulator crashes at some point (the connection to Arvid is broken) the screen-saver will prevent damage to your CRT monitor if some graphics artefacts were left on the screen. The screen saver is dismissed when either connection is established (emulator starts) or when you press Coin or Start button wired to Arvid PCB. The buttons might be useful if you are changing your screen geometry or adjusting colors while on the service screen and the screen saver suddenly appears.
  • As the last firmware version introduced firmware upload, I'am now providing supplemental upgrade files. This Arvid update method will hopefully simplify the firmware updates, so rewriting the sdcard by the full image will not be required. You just run the updater on your PC while connected to Arvid (has to have firmware at least 0.4c) and press the Coin button, that's it. This method might be useful for example if the sdcard is not easily accessible in your arcade set-up or if you don't have sdcard writer available etc. The full sdcard image is still available for download if you prefer it or if you install Arvid firmware for the first time.
  •  

    2017.02.04: Arvid firmware update - ver. 0.4c

  • Implemented firmware upload and auto-update. This allows to send a firmware update file to Arvid and after power-cycle the new files will be applied.
  • Fixed timing bug affecting video signal quality. See the following image. The vertical lines on the left are slightly jagged when viewed on LCD monitor (which has higher resolution than TV so it is easier to spot). The right side of the picture shows the video image after the fix - no artefacts.


  •  

    2017.01.18: TV compatibility test

    Here is another TV test. This time it's a Mitsubishi TV. Clear and stable picture but scanlines not visible as much. Apart from it no issues at all (note the whitish square region on the top is a window reflection).


     

    Older change logs...

  • Year 2016
  • Year 2015
  •