Wednesday, September 7, 2016
Arcade update
A nice big scratch down the side of the case. I just need to respray it.
Hardware problems, the motherboard and screen have been in storage for 2 years and don't go any more. I've got a replacement board from an old work computer, but no screen yet.
A framebuffer issue with advmenu. The driver for the old board seemed to have a compatible framebuffer driver, but the current board doesn't. I did extensive research but was unable to find a solution.I believe the solution may be to either use svgalib or use an xwindows driver to allow advmenu to display. What I've done instead is install groovyarcade (after trying the advance CD distribution, which I couldn't compile). I've set up groovyarcade with all of my settings files, installed fceux and updated advmenu to the most recent version.
Even on groovyarcade, you need to run advmenu under xwindows (using the 'startx' command) as it has the same framebuffer issue. I'll test it out with svgalib and see if I can figure out how to get advmenu going with windows, as a window manager.
Tuesday, September 6, 2016
My Cardboard Rift/Moculous/Boxulous
My Cardboard Rift/Moculous/Boxulous
So, I have a cardboard rift which I am going to use for Skyrim (I'm very excited!)
I bought a google cardboard from the internet. It needs modification as I wear glasses and they get smushed when I am wearing it. Just some padding to keep it off my face should be enough.
To get Skyrim on my phone, I've used:
This is mostly cribbed from this post, with Trinus VR replacing Kainy
https://www.reddit.com/r/Android/comments/2bo4jx/google_cardboardbased_diy_rift_works_with_amd/
Trinus VR (http://trinusvr.com/) plus the android app: (https://play.google.com/store/apps/details?id=com.loxai.trinus.full)
I'm just using the free version at the moment, it gives an hour of use for free.
The interface is kid of ugly, there was a version before called Trinus Gyre which looked much better, but whatever. Trinus has built-in screen splitting, so no need for a screen splitter such as Tridef. It also doesn't play the audio through the headset, so it will play through the computer speakers or headphones instead. Trinus will let you play over Wifi or USB connection. I haven't experienced any latency with it yet.
I played with the mouse input with Trinus (which involves turning off the Windows application, changing the option and then turning it back on) but nothing worked.
To get the mouse tracking woking, I used FreePie (http://andersmalmgren.github.io/FreePIE/) and this script:http://pastebin.com/GUVfrbu7
I had an issue with the mouse not moving when FreePie wasn't focussed, but running it as admin as per this post (https://github.com/AndersMalmgren/FreePIE/issues/40) fixed that nicely.
I have yet to play an actual game of Skyrim, but its looking pretty promising.
Other applications to look into ( I tried these, I liked Trinus and Freepie best, they were simplest):
Tridef: screen splitter (https://www.tridef.com/cart/product.php?productid=3)
Kainy screen broadcaster (http://www.kainy.com/)
Riftcat screen broadcaster (https://riftcat.com/)
vireio screen splitter (http://www.mtbs3d.com/new-vireio-site)
Kinovr kind of worked, but would only run backwards
Update:
I have played skyrim, it's quite good fun! Some tips:
Set your interpupillary distance. I found the video quite blurry until it was changed.
The resolution isn't great still, so I'm going to have a play with the compression settings, it's currently (roughly) 75%.
Use a mouse. I thought I could get away with a mouse replacement, but at least in skyrim I still needed the mouse for autocentring/centring the screen, as well as using the mouse buttons.
I also will need some foam, as the Google cardboard squashed my glasses into my face. I also have the 2nd version of the cardboard, so I taped over the conductive button.
Saturday, March 19, 2016
On the road again...
On the plus side, the keyboard and joystick still work. I've redone the wiring so its no longer all tangled up.
I've found the hard drive and creaked out, because my install is no longer on it, and I thought all of my configs and files were lost! it turns out I'd installed windows 10 on the drive so I could get MarI/O to work. But now I have to reinstall debian and copy over the config files again.
And then check which key does what, so I can fix it all up. I'm not actually sure I got that far, having a quick look at the advancemame config, it all looks wrong. Hmm.
However, another bonus is I got the marquee printed up, and it actually looks pretty good when it is installed in the case! Plus I have (really ugly brown) rubber feet for the unit, which I purchased from a hardware shop. Yay me.
I'll have to make sure I take an image of the hard drive, so when it dies I can redo it more easily. The other option I was exploring was making a bootable USB. The current motherboard I'm using is so old it won't boot to USB (but it was free, so who cares, right?) This way I can update it easily with new ROMs when I like, or do patching or remove ROMs I don't like etc...
Tuesday, December 3, 2013
Blender + Freestyle
I've found some Blender files on Blendswap.com which have freestyle styles. However I can't register an account (you need one before you can download). The blend files are here: http://www.blendswap.com/blends/view/18954
more models here:
http://www.blendswap.com/search?term=freestyle
There are some tutorials for Freestyle here:
http://metalix.co.nz//?s=freestyle
This is the forum for BlenderArtists on Freestyle
http://www.blendswap.com/blends/view/18954
Freestyle node editing in the Blender Wiki
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Freestyle/Python
Sunday, November 17, 2013
Mame arcade cabinet
When I started this project, I decided the cabinet should be made last. If I couldn't get the sticks and buttons, or get the actual software running, then all I would end up with would be an empty case at the end. Getting the bits to fit would be easier.
In planning my cabinet, I considered a couple of different designs: stand up, cocktail cabinet, and barcade. I decided on barcade because it was small and portable, and I could put it on a stand to make it a standup if i wished (though realistically, it's too small). I would have loved to have made a cocktail cabinet, but I wasn't sure I could get the glass for the top.
I also considered a couple of materials. I do woodwork, so I thought of wooden panels, or using plywood or MDF. We've got some spare MDF , so I used that.
Here is a picture of the cardboard version I made to make sure all of the bits would fit, and also that I could make the parts fit on the MDF I have.

I used these approximately these plans to make my cabinet pattern. However I didn't put the curve in.
http://www.koenigs.dk/mame/eng/stepweecade3.htm
Here are some other plans for barcades.
http://bartoparcade.katorlegaz.com/
A cocktail cabinet plan (Japanese style):
http://dannygalaga.com/mame.htm
http://members.iinet.net.au/~things/ihs/cocktail/index.html
http://web.archive.org/web/20050311053639/http://www.oblate-spheriods.demon.co.uk/mame.htm
Saturday, November 16, 2013
Roms and screenshots
I downloaded my Roms from a torrent site. It had large number of ROMs from different systems (dreamcast, megadrive/genesis, master system, playstation etc). However many of the the MAME ROMs didn't work with the version of MAME I had in Puppy linux, nor with the MAME version from Debian.
However, downloading the most up to date ROMs for MAME would be onerous, especially given the low datacap I have. There are 28 thousand games in the current release for MAME. This means 29 gig of ROMs, and about the same in CHD files. CHD files are extra information for the ROM files, eg graphics and music. Sorting through that number of ROMs to get only the few that I really wanted would be crazy, so I'd need to get them another way.
So what I've done instead is pick through the ROMs which work and then re-download the ones from my wishlist. I was considering getting Space Ace and Dragon's Lair, old school laser disc games, but I haven't added them yet. I have the rom files, but not the video files. It could be fun creating a video disc game of my own ( there are editors out there, I don't think it would be hard) but I lack the time and inclination at the moment. Daphne is the emulator for those games.
Gens - for Megadrive/Sega Genesis
Fceaux - NES
osmose - Sega Master System
mame - arcade
Gngeo - Neogeo
As stated above, many of the ROMs I had downloaded for MAME didn't work. I had a wishlist of games to get, and so I tried downloading them from a couple of ROM sites.
The best one I found was http://www.mamest.com/ You can search by game name, ROM name, or the names of files within the zip file. Thats really handy if you have a ROM which isn't going, and you need to download another file to fix it.
I downloaded my sega megadrive screenshots from here, and the NES ones too I think? It looks quite comprehensive for many systems.
https://www.dropbox.com/sh/8xuhgxahhk6pfk4/umSNUhRGC0
I got my NeoGeo screenshots by leeching this site (mostly because I wasn't sure the above site had them)
http://www.neogeosoft.com/?section=artwork&filter=mvs
I leeched this site for the Sega Master System, though many of the files needed to be renamed.
http://www.vgmuseum.com/
For MAME I used Hitf12:
http://www.mameworld.info/hitf12/
An ugly script to rename Rom files
Be warned! It may be buggy. I basically got it to the state where it would read the snaps and the ROMs. You can go back/forward in the ROM list, and skip back/forward by 10 in the snaps list. It displays one ROM and 10 snaps, you choose from the list which one to rename by typing a number from 1 to 10.
I'd strongly suggest running this against a copy of your snaps directory, and only copying it over once you verify the images are correct.
#!/bin/bash
#rename the file, then increment the lists?
#Neo Geo
Filename_Array=(/Roms/NeoGeo/roms/*)
RenamingThese_Array=(/Roms/NeoGeo/snaps/*)
##variables
#counters
Filename_Start=0
Rename_Start=0
skip_amount=10
array_end=$[${#RenamingThese_Array[@]} -$skip_amount]
function rename_files(){
echo
echo ----Original Rom File ----
echo ${Filename_Array[Filename_Start]}
echo
IFS="^"
a=$Rename_Start
b=$[Rename_Start+1]
c=$[Rename_Start+2]
d=$[Rename_Start+3]
e=$[Rename_Start+4]
f=$[Rename_Start+5]
g=$[Rename_Start+6]
h=$[Rename_Start+7]
i=$[Rename_Start+8]
j=$[Rename_Start+9]
names=(
${RenamingThese_Array[a]}
${RenamingThese_Array[b]}
${RenamingThese_Array[c]}
${RenamingThese_Array[d]}
${RenamingThese_Array[e]}
${RenamingThese_Array[f]}
${RenamingThese_Array[g]}
${RenamingThese_Array[h]}
${RenamingThese_Array[i]}
${RenamingThese_Array[j]}
next5 back5 previous_rom skip_5_roms)
echo ----Rename File ----
echo Press any other key to skip renaming the image file
PS3="Choose an image file (1-$skip_amount) to rename:"
select varname in ${names[*]}; do
if [[ -n "$varname" ]]; then
# chop off the filename from $varname, and from ${Filename_Array[0]}
echo ${Filename_Array[Filename_Start]}
echo $varname
if [[ $varname = "next5" ]]; then
Rename_Start=$[$Rename_Start+$skip_amount]
if [[ $Rename_Start -gt $array_end ]]; then
echo $array_end
echo $Rename_Start
echo "Reached the end of the list of images"
Rename_Start=$array_end
fi
break
fi
if [[ $varname = "back5" ]]; then
Rename_Start=$[$Rename_Start-$skip_amount]
if [[ $Rename_Start -lt 0 ]]; then
echo "Reached the start of the list of images"
Rename_Start=0
fi
break
fi
if [[ $varname = "previous_rom" ]]; then
Filename_Start=$[$Filename_Start-1]
if [[ $Filename_Start -lt 0 ]]; then
echo "Reached the start of the list of images"
Filename_Start=0
fi
break
fi
if [[ $varname = "skip_5_roms" ]]; then
Filename_Start=$[$Filename_Start+1]
break
fi
# get only the file name of the file
FILENAME_AND_EXTN=$(echo ${Filename_Array[Filename_Start]} | rev | cut -d"/" -f1 | rev)
FILENAME=$( echo $FILENAME_AND_EXTN | cut -d"." -f1)
VARNAME_AND_EXTN=$(echo $varname | rev | cut -d"/" -f1 | rev)
EXTENSION=$( echo $varname | cut -d"." -f2)
#EXTENSION=jpg
# get the path of the destination directory
ONLY_PATH=$(echo $varname | rev | cut -d"/" -f2- | rev)
echo mv "$varname" "$ONLY_PATH/$FILENAME.$EXTENSION"
mv "$varname" "$ONLY_PATH/$FILENAME.$EXTENSION"
#increment files to process
Filename_Start=$[$Filename_Start+1]
#Rename_Start=$[$Rename_Start+1]
# start over
#function rename
break
else
echo 'skipped renaming file'
echo $Rename_Start
Filename_Start=$[$Filename_Start+1]
break
fi
done
#echo $Filename_Start
rename_files
}
rename_files