Sunday, April 26, 2009

Day #1: Casebuilding



1 unit of base case parts, cut.

A full day wound up with the parts for the base of the case unit cut and finished to the correct sizes. I managed to cut the holes for the buttons on the lower panel (leaving the upper control panel until next week) however basically all the rest has been done by a professional carpenter.

This base part will need some holes cut for ventalation, side buttons (for pinball), piano hinge on the base for fold-out access, and finially assembly. Then its onto construction of the top part.

Im anticipating at least another two full days of work until the woodworking is done. Then its onto painting.

Thursday, April 23, 2009

Video capable

The Project is no longer Video challenged!



Radeon HD2400 card with mobile and cat paw for scale.

Yeah, its a ATI Radeon HD 2400. $60 bucks down at the computers store second hand. Just removed the mounting bracked and presto.

Works a charm for the project, AND has more grunt than my main PC. Polishes up Half Life quite nice.

So why did I change my mind?
  • Anaglyph games, like Quake (i.e. old awesome games with red-blue 3d glasses)
  • S-VIDEO out, means I can link it to a RCA output for TV's (and S-VIDEO). This means that I can fold it up, plug it into a TV, plug in surround sound, and turn it into a damn console using the wireless xbox360 controller!
  • Better performance/resolution/graphics out of old DOS games and some MAME games.
  • This card is small enough to fit neatly and doesnt obstruct airflow
  • Removes some load from the 1.5ghz CPU
  • $60 is cheap enough to warrant the cost


Wednesday, April 22, 2009

Vid #6

Due to popular demand, I bring to you:

Half Life on the project with xbox360 controller.


Tuesday, April 21, 2009

Finished Case*


* Note some assembly required


2 sheets of 9mm MDF 1200x900 ~ $17 a pop from bunnings

Since im planning to start the case this Sunday, I thoght it would be prudent to get the actual wood required.

Vid #5: X36 controller


Yeap, I went and got a wireless Xbox 360 controller. I spend hours trying to get a ps3 one to work to no avail. Over HERE I did find a article however I gave up after 9 hours and only being able to get it working wired. Something wrong with ppjoy - I could get it connected within minutes however couldnt get button recognition working. Also, even if I did get it going it would require frigging around with messy screens all the time - not the go for a project like this

So a X36 controlller from Dick Smiths was the go (M$ page). Popped the wireless part inside the cardboard model and installed the drivers fine.

From my struggle with the PS3 controller, I had installed XPadder, which worked a dream for this. Using this simple program, I was able to bind buttons to all the parts of the controller except for the middle button. This worked a treat for platform games (the d-pad didnt seem as bad as lots of people say) and for FPS's.

I bound the left analogue and d-pad to arrows, and the right analogue to mouse. This meant I could set it up for fps quite well, and use it for old games with ease.

Additional: Had to throw in this analogy I used in a email discussing this very project. Seriously, why?

PS: Ive got this x36 controller for a specific purpose: A console. (Ive just realized this has turned into a console project than anything else) Why would anyone WANT TO use a controller on PC for FPS games? Its like allowing people to play golf with a putter on each shot because there used to playing minigolf. If you wanna play with the big toys you gotta use em properly!


Friday, April 17, 2009

Vid #4

Vid #4 of theprojects design process.

Please note the poor lie I put in here




Not sure how I made a precisely measured cardboard cutout without doing any designing beforehand.

Comander Keeeeeeeeeen

Alright, so I had a lot of emulators working (basically all 2nd gen to 4th gen barring anything that was terribly boring or was exclusively japan/chine) but what about Billy Blaze? Considering I taught myself to read the Standard Galactac Alphabet in high school the oldschool DOS games had to be involved.

So, how do we accomplish this with MAMEWAH in a cabinet-style envoroment?

http://www.dosbox.com/.  Everyone knows of DOSBOX right?

Alright, so I downloaded it, extracted it into my d:/emulators directory, and now what?  How to MAMEWAH it up?

I found it best to run dosbox as the emulator, and have batch files running each file as nessecary.  This means you can run a autohotkey file in there if required, and can run DOSBOX commands to get the cycles right, etc. 

PCGAMES.ini
emulator_commandline                      d:\emulators\dosbox\dosbox.exe "[rompath]\[name].[romext]" -fullscreen -exit {nodosbox}
Runs doxbox, with the argument of the batch file in question, runs in fullscreen (-fullscreen) and exits when the batch file is done (-exit)

Then basically setup your dosgames directory with batch files, and sent mamewahs 'romext' to .bat and point the 'rom' folder to where all your batch files are.

Please note, that a number of games ive installed recently drop outta fullscreen and run at odd speeds - I'm more interested in getting the woodwork done and painted before I fug around too much with software.

Thursday, April 16, 2009

Vid #3

Youtube vid 3 of the case.

At this point, ive drawn up designs, requisitioned a 1100mmx1100mm pallet sheet from work and modeled a cardboard box based on the designs. As you can see from the clip, it works quite well, and its strong enough to play on (playtested for weeks now)





Added the clip at the end as I forgot to go back and show the top - you see it in vid 4 anyway. Threw in the mobo/psu into it as picture below and (as my Math Methods teacher always said) 'Got stuck right into it!'

I omitted explanantion on the whole design/model process. It wasnt that exciting, mostly involved the cat playing with/hiding my ruler and pencil.

Now, the end clip shows the two lighted buttons lighted up, but I havent posted on it yet. Time will tell young grasshopper... However, its not hard, just looks cool.

Autohotkey

You makin a MAME case?  Are you?

Then frelling well get this: http://www.autohotkey.com/

Why you ask?  Its a program, sorry, FREE program that allows you to rebind keys basically.  For starters.  Theres a lot more it can do.

I got it for the trouble I had with WinVICE:  To exit, you required Ctrl-x.  Not very cab-friendly, as dammit I wanna use ESC to exit thanks.

Autohotkey comes in here, and delivers in spades.  (Not only that, spades are trump this trick too...)

I made two files as follows:
Code: autoexit.ahk

#singleinstance ignore ;Once program running, dont run twice
esc::!x ;Bind ESC :to: Ctrl-X (!=ctrl)
p::!j ;Bind P :to: Ctrl-J (!=Ctrl)

Line #1 So this program would only run once (if run again the program exits due to the first line)
Line #2When ESC is pushed, it parses Ctrl-X to windows instad. (So now, I can exit this emulator with ESC, which is standard with all other emulators I have)
Line #3When P is pushed, it parses Ctrl-J (Ctrl-J swaps C64 joysticks, as some games use joy#2 as main controller)

So how does a *.ahk file help me with programs like MAMEWAH?????
Autohotkey also enters itslef into windows right-click menu.  So right clicking on a ahk file allows you to compile to exe.  Do that, and you have a EXE file that will function exactly the same.

Fantastic.. buut if i Exit and go to another program, ESC is still Ctrl-X...

So I wrote this to fix that:
Code: autoexite.ahk
#singleinstance ignore
DetectHiddenWindows On  ; Allows a script's hidden main window to be detected.
SetTitleMatchMode 2  ; Avoids the need to specify the full path of the file below.
WinClose escexit.exe  ; Update this to reflect the script's name (case sensitive).
Alright, so what this script does is basically find the PID of the original program we ran, and nukes it.  change the 'escexit.exe' to the name of your program and volia!

Hows that help?  Run the first program before your emulator, run the second one after it.  Most frontends should do this, the following is how I did it in my MAMEWAH script:
CODE: WinVICE.bat
start escexit.exe
x64.exe -fullscreen -VICIIdsize +confirmexit -autostart %1
escexite.exe

START is a DOS command that runs the .exe and returns control to the batch file. (Without it, the batch file waits for escexit to finish, which it doesnt until its forcably exited by escexite.exe.  Net result is the batch hangs and never executes x64.exe)
xt64 command line: -fullscreen starts in fullscrenn, -VICIIdsize I found required to get it FULL fulscreen +confirmexit removes the annoying messagebox "DO YOU WANT TO EXIT Y/N", and -autostart runs the file parsed to it.  %1 of course is replaced with the argument that is passed to the batch file.

So my WINVICE.INI looks like:

...
emulator_commandline                      d:\emulators\WinVICE\winvice.bat "[rompath]\[name].[romext]"{nodosbox}
...

Alright, so yay sausages!  Who cares you moron, you can program the IPAC to different keybinds for each file!

Yes you can.  I decided not to, beacuse of the following points:
  • Customizable keys must be stored in flash memory.  Flash memory has a limited number of write cycles.  IPACS are not cheap. (Yes, i know it has millions of write cycles, im a perfectionist)
  • If interupted during repogramming, you end up with the old control set.
  • I read that it takes a few seconds to get it programmed, and if controls are slammed around the programming is interuppted, and the above point happens.
  • Drunk twenty-somethings (and the odd thirty-something) tend to get excited about nostalgia, and wont be patient when they get a arcade joystick in their dorito-stained hands.
  • Sitting a program in between the keyboard port and the software keyboard queue is quite neat.
  • I need this functionality for DOS programs like COMMANDER KEEN, QUAKE and DOOM, where I can run a AHK file per-game (To bind letters like Y for confirm exit to a spare button).  Might as well get used to it.

Vid #2

Ok I found video 2 i uploaded a few days ago - set as private.  Explain why I couldnt find it in my channel.




Fairl...Fairlane? Flaccard? I dun..cant remember"
ITS FAIRCHILD MORON! ITS RIGHT IN FRONT OF YOU! FAIRCHILD CHANNEL F!

I laughed so hard at the starkness of my stupididity voiceovering this documentary that I uploaded it instead of re-recording it.  ITS THERE IN LARGE LETTERS.

Tuesday, April 14, 2009

Tech interlude

*interlude*

So I got the micro-atx running with a variety of software, of course partitioning D: for all the emulators software, and leaving C:\ a 'pristine' windows install (Can windows be described as pristine?)

(Sidenote: Ive just found out why I find shiny things in my shoes of a morning - it appears my cat is a bowerbird and my shoes are her nest)

Next up was the actual controller parts.  These came from ozstick in Melbourne, along with a IPAC.  Went to Bunnings and found a nice large peice of chipboard scrap.






Parts finially here! Beer is in order

Dummy trial panel
Foreman approves

Wiring finished

Basically, i just got myself a nice 28mm drill bit and away I went (actually, I nearly ripped my arm off when I put a fresh battery in my drill)  A hour of stripping and crimping later, and it was ready to go.  Since the joystick has a dust protector, you can easliy use a 28mm bit for the hole.

Im skipping over the IPAC goodness as well as the wiring as its dead easy and plent of sites have already covered it.

D:\ ended up with the directories:

d:\emulators
d:\roms
d:\mamewah

Yes, mamewah featured as my front end of choice, because its more complicated than a DDR machine based on brain surgery, its customizable to a fault, and it runs well on hardware with no GFX card.  The others I tried had nice smooth animations and failed on the onboard video.

So onto video card - why no video cards?
  • Cost
  • Space
  • Heat
I could have got a cheapo-card and got a ribbon PCI-E riser, but.. for what?  a nicer frontend and the ability to play a few more MAME games?  Nah, not worth the headache.  For now.

So I started with some old old incredibly old-school stuff.  Cue Atari 2600 stage left.


I never had a atari, only even got to play River Raid once...

Took a bit to get the z26 emulator going fullscreen, but it was worth it.  Nice simple program thankyou, no bloatware here.

After stuffing around with the 2nd gen consoles (I worked everything into console generations, based on Wikipedia's articles) I moved on to a console that I always wanted but never got: The SNES.  Easy as all hell with zSNES!


Yeah, SimCity was my year 7 lunchtime break on ancient 286's - featured here on zSNES

(sidenote: Anyone else remember the original CD's you got at school?  Came in a jewel case with a metal slot just like a 3"1/4 floppy?.. no? damn.  What about running Windows 3.1 on a school network and being able to get the server to crash by opening the same file on 30 computers at once?)

Mamewah worked perfectly for linking these in, and a fine list more.

At this point, I had 2GB ram in the box - im tempted to swap it out with a 1gb or a 512 from the fileserver.  Or perhaps with onboard video hoggin up all the space its worth leavin a lot free.
Also here I had a 120GB IDE HDD...  Plenty until I thought of adding a jukebox program and media playback capabilities.

Which leads me neatly onto me getting bored of installing emulators and hence a jukebox:



Mmm Quake 2 soundtrack
Jukebox 'emulator' courtesy of DWJuke.  What a fantastic little program for the project.  Its a good argument to attempt to fit a small ex-computer speaker subwoofer I have sitting here in the case.

With some Quake2 OST blaring, I took it one step further, and worked out how I could get DOS games running with DOSbox on mamewah.



Terry Pratchett said it best: "Eat leaden death, demon..."

Come get some!


WOLF3d!  Chuck bucket from the awesome psuedo 3-d graphics optional.

All was right in my world, so i lost a few days just playing the damn thing.  A week, actually.

Vid #1

Alright, now I have a "blog" I can link the vid I put up a while ago.  Few more sitting on my HDD ready to upload.  Unfortunatly, these uploads have been blocked by work and sheer lazyness.






Win '98, roused from its sleep, threw a bluescreen at the mortal that dared distrub its sleep, then returned to its eon-long slumber.  And you thought Cthulhu was bad. 

Yeah, I decided to try and wipe the installation and install '98.  "It will boot faster", I thought.  "Easier to do a splash bootup screen", I thought.

And it did, it just didnt do much else.  98 didnt have the video drive, so I figured it would be a quick case of installing the 98 drive off the mobo driver CD.  Right?  WRONG...

Installing the driver disk was made of fail, as 75% of the time I inserted the CD, it came up as a audio drive.  Also, 50% of the time the drive bay closed it blue-screened.  When I did get it in, the 98 drive failed to install.  Copying the drivers across manually blue screened the sucker as well.

Back to XP i go...

(sidenote: [Speaking of cthulhu] I recently built a compy for a mate of mine who wanted a non-dell [shudder] PC.  It was crawling with viruses and had oven cleaner sprayed all over it in a attempt to lube up a noisy GFX fan.  Clearly there was dark forces at work here - this PC had to be sanctified before autopsy)



Ia! Ia! Cthulhu fhtagn!

Operation: Bored weekend start

Ok, so it started off after playing a MAME build for a bit after some emails from a mate. I thought "This is cool, I can get aboard this".
However, since MAME cases are dime a dozen, I got a bit meh about doing something that had been done more times than Ron Jeremy.

Also is the fact that I already have enough crap clutterin the unit and dammit if I was going to build something only to find it doesnt fit out doors again. I learnt the last time - I built my bed-base and very well glued it together to find id need to, of course, dissasemble it to get it downstairs whenever I move on from this place.

So i figured id make a bartop. However my only 'spare' monitor was a 19" LCD. Would make a dicky bartop, as it would work out almost like a square edge not a nice shape.
This got me thinking that I could fold away the LCD flat for storage, and "The Project" concept was born.

A foldup-into-a-suitcase portable mame case perfect for parties!

Has it been done before like this? Not that I can find on BYOAC forums or well, anywhere. Perhaps a few people starting something like it. Hopefully its semi-original. (Edit 31/8/9: One has been done similar by Bender @ BYOAC : http://forum.arcadecontrols.com/index.php?topic=84113.0.)

So I poked my head into my random closet of joy and found all the computer mobos ive had lying around for ages.


Yep, a small selection of crap i have lying around

I started going through the mobos, only to find one made my PSU's asplode, another's CPU had fused to its heatsink and the third ran. The one that ran was a old Celeron I aquired (I bought a old case for a linux fileserver project and it came with Celeron bits I couldnt even give back to the guy)

So i hooked it up on the table, and it barely loaded XP. Fail #1.

I pitched all the mobos in the end after hours of frigging around with them. Of course, after i bought a micro-atx I found a decent mobo i had wedged in between my N64 and a Futurama poster.

Ended up with a micro-atx mobo for $100 (VIA MM3500 [Info bottom page]), some cheap-o RAM and a old IDE HDD (going to get a SATA one soon for it)



1x Great mobo

Installed XP fine, and got started.

Fuggit

Alright, so I have a "blog".  Never been keen on these things, im not really fussed about that cute guy in math class, or if your dog can do backfilps, or if you really did build a satellite that can fire rebar.

Actually, the latter IS cool.

I needed to start posting addition to my current project, imaginatively called "The Project".  So I fired up notepad, and got into a basic code for some pics and the site.  Then I remembered  I would require FTP, and for images to make smaller ones for thumbnails.  My laziness self-defence mechanism kicked in and I immediately went for another beer.

Thought about how easy a "blog" would be to update along with some of the new image sites.  A 'Publishing tool' basically.  For lazy people like me.  So I er, got one.  I already had some YouTube vids up for posterity, and Picasa had upload features.  All this cant-be-assedry and automagical functions fell into place.

So wtf is "The Project".  Its a little like this:



Yep, its currently a cardboard model of a portable "suitcase" MAME box.  Bit of a all-in-one party machine.  This was started quite a while ago, however I never could be buggered uploading pics anywhere.

Since I meant to post updates in order of how I've done things, ill have to go back to the beginning, badly written movie dreamscape style.

Addendum:
1: Yeah, Ill be adding talking marks around blog until im convinced otherwise the usefulness of these things (or I forget)
2: Complaining about new technology makes me sound so bloody old.

Monday, April 13, 2009

Overview

Alright, so I think ill need to post a overview of the project before I get to disjointed in my posting.

Overview:
'The Project' is a MAME box that folds up into a portable breifcase-like design. This concept of this is to have a nice sized control panel, decent LCD screen, and all the parts nessecary to make it work all in a portable yet sturdy box. Something you can throw in the passenger seat in the car and not have to worry about damaging a joystick or a screen.




PLAN


WORK IN PROGRESS


Unfolded and ready-to playcardboard model. 'Standard' 6-button control panel, 4 'admin' buttons up top, red backlit 'Instert coin' and green backlit on/off button. Volume-control and administrative barrel-lock to come. LCD fits in the back peice where marked, and two speakers and a small subwoofer mounted inside the beveled area up top. Buttons on side for pinball games.




PLAN


WORK IN PROGRESS


Closed model. Shown here buttons for pinball. Finished case will also feature AC in via standard D plug thingy, audio out jack, 4x USB for external controlers, 15 D-plug for second external arcade controller, Network port for uploading files, and ventlation ports. Carry-handle and clips holding the two sections closed.


The case will be built soon(tm) (No room or tools in a unit, so going to a mates shed for a weekend coming up) and will measure upon completion 430x400x235 and will have 2.1 sound (2 speaks and a small subwoofer), a 19" LCD, and a emulator array of over 25 consoles/handhelds, along with a jukbox, media player and pinball games. This list is due to expand - I want to get the box going before doing too much more on the software. Has enough CPU poewer to emulate anything from 1970-1995 (Some variations, can run some arcade games right up to 2000, and handhelds. Ive decided not to emulate 5th gen console onward).

Backstory:

Waay back around the 1st of Feb '09, I decided to build myself a MAME case. Not all that exciting compared to the number of excelent cases avaliable. Alas, I already have enough crap in my unit so that I barely can fit much more, so a full cabinet was looking unlikely.
I started to think about making a bartop case, however even that was a bit meh with my avaliable parts. I had a old "19 LCD avaliable, and none of my old motherboards worked properly. Also, having a LCD of that size made things a bit dicky. I started wondering if i could fold it flat for storage when not in use and 'The Project' was born.

This is the sort of thing I see is something you bring to a party - rock up, unfold it and casually announce that you can be playing anything from 1942 from the arcade, Pitfall from Atari 2600, Great Giana sisters from the C64, DOOM from the old DOS days, Super Metriod from the SNES, Pinball tables from classic pinballs, listen to the best game OST's on the built in jukebox and see the latest game trailors on the media player. Ive already lost countless hours playin on the cardboard model case held together by tape!

SPECS:
Folded up: 430x400x235
Unfolded: 430x400x575

CPU: ~1.50Ghz
RAM: 2Gb
Video: Onboard (May be a PCI-E card eventually, if I find that i can play Freespace 2...)
HDD: Currently 120gb, expandable. Likely 300+Gb HDD added in the future.
Controls:

Single player arcade built in, second player avaliable by seperate arcade controller plugged into the main case.
  • Sanwa joystick, 4-8 way interchangable operation
  • Standard dimple pushbuttons
  • Barrellock switch for admin menus
  • Insert coin backlit button
  • On/Off backlit button
  • Pinball buttons countersunk on the sides
More controllers avaliable by 4x USB ports.
Wired USB keybaord (possibly roll-up keyboard for spill-proofage)
Wireless mouse (looking into feasability of adding a XBOX 360 controller as a wireless perhiperal)

Current Emulator list (more to come):
Console
2g
Fairchild Channel F
Atari 2600
Intellivision
Atari 5200
Colecovision
Vectrex
SG-1000

3g
NES
Sega Master System
Atari 7800

4g
Turbografx-16
Sega Genesis/Megadrive
SNES

PC
Amiga
C=64
MSX
MSX2

Handhelds
Gameboy Mono
Gameboy Colour
Gameboy Advance
Atari Lynx
Sega Gamegear
Neogeo Mono
Neogeo Colour


PC
Pc games
Jukebox
Video player

Arcade
Arcade
Pinball