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
|
|