Homebrew coding on arcade hardware

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
Following on from the talk in the thread below by me, Guddler and RGP, I was just wondering whether anybody else had any interest in homebrew coding on arcade hardware?

http://www.ukvac.com/forum/festive-arcade-related-coolness_topic342586_page2.html

I'm pretty sure that most us here probably had at least one (if not more) from the following list of classics at some point in the their lives :-

ZX81

ZX Spectrum

C64

CPC

BBC Micro

Dragon 32

Atari ST

Amiga

etc, etc, etc.

And hence it usually follows that if you owned an 8/16 bit machine back then, as well as playing lots of crappy coin-op conversions, you'd probably have tried to code something as simple as :-

10 PRINT "I LIKE BOOBS!! ";

20 GOTO 10

For the majority of you that may well have been enough to satisfy your homebrew coding careers but I'm sure there must be a few amongst us that wanted to push the machines a little further than that and maybe get a sprite of two flying around the screen or maybe even attempt something as audacious as trying to code an entire game.

I'm one of the above who wanted to try and get more out my Speccy and I spent an inordinate amount of my childhood coding on the machine rather than playing the wealth of crapware that there was available for it. And hence began my love affair for the Z80 language.

I now find myself with access to some seriously powerful (in comparison to a Spectrum) arcade hardware at a relatively cheap price and my creative juices run wild with thoughts of what can be done on those boards that the poor little Speccy wouldn't have had a hope in hell of doing. Hardware sprites with flip and priority, multiple scrolling tile layers, lots and lots of colours to choose from multiple palettes, even dedicated sub-cpu's to drive the audio chip.... it's like Christmas has come early!!!

I'm currently putting the finishing touches to a tech demo on Taito L System hardware which I hope to release early next year. Admittedly it's probably crap but the most important thing (to me) is that at least I'm trying. I know it's nowhere near the standard of some of the incredible demos I used to watch back in the Amiga days but I don't care, I'm simply content to have just about mastered coding for (to me) a brand new architecture.

But I feel very alone in all this, surely I can't be the only one who wants to attempt to create on these boards, rather than just play on these boards? I know that there are many many talented board repairers on here but surely there must be a few talented old school coders too that want to have a crack at creating the next great demo/game on whichever board they choose?

I've seen it mentioned somewhere that Equites used to be a bit of an old school coder and I know that Hurray Banana also used to dabble in the odd sine wave or two. Any others out there?

Or am I wrong? Are you all content with simply collecting and playing these old boards and have no desire beyond that to 'create'?

Discuss...
 

shrunkenmaster

Active member
vacBacker
Feedback
2 (100%)
Credits
162CR
I'm certainly interested, but lack the skills. I was messing with a C64 cross assembler on my Mac a couple of months ago - turns out I'd forgotten pretty much everything I'd learned in the early 80's. Even back then it was only hacking text/sprites and not game coding - good fun though.
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,055CR
We've been sat indoors just playing video games since Xmas Eve so today will probably a going out day (maybe the beach since it's only a mile away) but maybe tonight I'll start to take a look at stuff. As for old school or modern, back in the day I was a wannabe. I could do basic but never achieved anything much with it. Then around 1990 I was given a break and got a job as a junior software developer and worked my way up to hardcore C projects, then C# / .NET when it came out and have recently just retired from coding for a living and I now manage the development infrastructure / build tools.

Offline I've tinkered in some 6502 assembler, done a few minor hacks for free play and stuff like that and have recently been working on a Vectrex game. I use OS X for all this.
 

Equites

Chief Sheesher®
vacBacker
Feedback
35 (100%)
Credits
3,318CR
I forged my career as a Software Engineer by dabbling with code as a school boy on my 8-bit Atari back in the day.

These days however, there is no Player/Missile graphics, modes, sound channels or collision detection to contend with. All I write these days are boring (but apparently useful) applications.

A huge drive for me was Arcade games, and through my love of games I started to write code in BASIC (and later assembly).

I did write a few games that made the listing pages, I even got involved writing a commercial game.

It was a great time, where knowledge of the architecture of the CPU you were coding on was all important.

I would love to be able to find the time to do this again, but on an arcade PCB, so I will follow this thread with interest.Equites2014-12-28 12:27:12
 

Mr Halibut

Newbie
Feedback
2 (100%)
Credits
29CR
I've been thinking about trying to get into some homebrew arcade coding. I've been working as a game programmer for nearly 20 years now, makes me feel even older (last few years has been smartphone tat though :(). However I did tinker with Z80 on the Spectrum back in the day (though have forgotten most of it) and did quite a bit of 68000 on the Amiga. I'd be more interested in trying to do something for some arcade hardware that is 68k based and well documented, maybe Neo Geo or something, though I have no idea what's involved.
 

Judder

Active member
Feedback
2 (100%)
Credits
992CR
Very very rusty
smiley36.gif


http://janeway.exotica.org.uk/author.php?id=15290
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,055CR
Hmm, after an initial scan I've got a bit of a failure at the first hurdle!! For 6809 I'm using the asxxx suite of assemblers (so as6809) and I thought it supported 6502 as a target as well. It appears it supports 6500 but not 6502. Boo!

So I first of all need to find a 6502 command line assembler for OS X 10.10, preferably with the same syntax support as as6809 which, yes, I know is probably going to be nigh on impossible. Or i could convert my 6809 to a different assembler before it's too late if there is one that supports both.

Then, yes, I'd like to find a C compiler (to ASM) but I'm struggling there as well. I used gcc6809 for the Vectrex, although I did have to build it myself and that took a couple of weeks of concerted effort due to a few problems. I'm not immediately seeing a gcc for 6502 either.

Ho hum!
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
It's nice to see a few potential arcade homebrew coders coming out of the woodwork!
smiley20.gif


There's a whole plethora of well documented 68k based arcade boards, you only need to scan through the MAME drivers for one that takes your fancy. I did some basic text/tile stuff on my Out Run board, which is well documented on a hardware level.

All you really need to know to start with (i.e. Hello World) is where the frame buffer sits in address space and remember to kick the watchdog at least once per vbl. Beyond that you start to learn the tile and sprite structure for that board and code up a quick tool to convert 8x8/16x16/32x32 BMPs to the format needed for that board and before you know it you've got the makings of some kind of crappy demo, just like I've done!

Go on, do it! Pick a cheap 68k based board, grab the freeware vasm 68k cross assembler and get coding. It'll be infinitely more rewarding than the doing that 'smartphone tat' you talked about.
smiley2.gif
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
guddler said:
Hmm, after an initial scan I've got a bit of a failure at the first hurdle!! For 6809 I'm using the asxxx suite of assemblers (so as6809) and I thought it supported 6502 as a target as well. It appears it supports 6500 but not 6502. Boo!

So I first of all need to find a 6502 command line assembler for OS X 10.10, preferably with the same syntax support as as6809 which, yes, I know is probably going to be nigh on impossible. Or i could convert my 6809 to a different assembler before it's too late if there is one that supports both.

Then, yes, I'd like to find a C compiler (to ASM) but I'm struggling there as well. I used gcc6809 for the Vectrex, although I did have to build it myself and that took a couple of weeks of concerted effort due to a few problems. I'm not immediately seeing a gcc for 6502 either.

Ho hum!

I use 64tass for 6502 stuff. It's open source. I also dev on OS X.

http://sourceforge.net/projects/tass64/
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,055CR
Thanks! I reckon my google searching is going horribly wrong these days, I can never find stuff
smiley17.gif


I'm thinking that if there's enough support then I'll start a new sub forum for this so that we can do stuff like have a thread per target board and stuff like that. Let's see how it goes but I reckon it has a lot of potential, easily more than you may have originally thought
smiley1.gif


Challenge will be how persistent people will be. I know you've got very into this but I often dip in quite intensively for a while then go off the boil and I suspect I'm not alone.
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
guddler said:
Let's see how it goes but I reckon it has a lot of potential, easily more than you may have originally thought
smiley1.gif

I really hope so! I'd love to see some of the amazing things that the talented coders out there could do on the power of arcade hardware.

I'm just amazed that there's never been an arcade homebrew scene.
 

Judder

Active member
Feedback
2 (100%)
Credits
992CR
cmonkey said:
Judder said:

That's awesome dude! Were you the coder on all these demos?

I'm off to have a look at a few more of them now....

Yep!

We were never as good as the Scandinavian guys (Quartex / Razor 1911 etc.) but we tried our best and ran a number of UK BBSs during the time as well as demo / copy parties and various other things

I'd imagine there's a few more of the old school demo programmers on here too, and I think there are some of the MAME devs too, as I know I had a chat a few years ago about the Bally/Midway Gorf driver...
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,055CR
I'm guessing the idea of creating home-brew for arcade boards has either just not really occurred to people, or maybe people haven't done it because of the obviously limited target audience. Doesn't make it any the less fun though.
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
That's some pretty awesome stuff you did there. Surely you must feel like rekindling your love affair with the sine wave scroller on arcade hardware.....
 

RGP

Meeter & Greeter
Feedback
5 (100%)
Credits
2,039CR
Count me in and a sub-forum isn't a bad idea either.

My cv so to speak mostly includes C64 and Amiga in assembler.

I was a cracker, packer and cracktro writer. I was never with any big groups just used to single file games my friends bought - we were all 11-13 ish with no money so we had a games club we'd all kick in pocket money and buy a full price game and i'd figure out how to bypass the protection. This is not piracy justification by any means, we were kids, we probably knew better but just didn't care as we weren't spreaders like the danish bbs's.

Recently dabbled with some 6510 cross assembly for VICE.

Also found an interesting hybrid library called CODEF which i used to write this;
http://www.arcade-club.com/scorewall
(It relies on someone filling in the database each weekend but you get the idea)

I'm up for writing something hor arcade hardware - maybe take a simple(ish) game that was a computer only game and concert it - yes, baggers has done this with Manic Miner but this is how we learn.

I know soneone who would dearly love if we picked one particular game.... Chuckie Egg

And lo, the uk games scene was re-invented.....
smiley1.gif


We could do with software emulation development environment first - an easy way to poke our code into mame into a game driver we can understand.

I don't mind assembler code but maths can be hard.
 
Top