Homebrew coding on arcade hardware

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,055CR
Easy first step on that front is to just recompile mame:
[list type=decimal][*]With the code that says "this ROM is corrupt" and exits disabled - which should be trivial[*]With only the driver(s) you're interested in - should also be more or less trivial. Well, it used to be anyway, I've not looked at mame source for some years now.[*]With a new game (yours) added to the driver, or perhaps just the ROM mapping for the game / driver in question altered to be one big contiguous space.[/list type=decimal]
I've no idea whether that is against any of mame's terms or not but if you only do it for yourself then what does it matter? Only becomes an issue if you make it available to anyone else.

guddler2014-12-28 16:17:31
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
IMO a good solution for fast dev on arcade hardware is an eprom emulator. I've toyed with ordering one of these in a 1Mbit configuration. Not cheap, but speeds up the dev cycle considerably.

http://www.tech-tools.com/fr3.htm

I currently use EEPROMs, which means no messing about waiting 15 mins to erase, but an eprom emulator would be the next logical step up. I currently dev in MAME and then deploy every few days to check that the progress I've made actually works on real hardware. More often than not it does, but occasionally you find something that works perfectly in MAME but not on hardware and hence begins the painful debugging task. If I were dev'ing straight to hardware via eprom emulation time could be saved.

Funny you should mention Chuckie Egg though James, one of my ultimate goals in all this is to port not the original CE game but its sequel Chuckie Egg 2 (which many people hate but which is my fave game of all time on home computer platforms) to run on L System. I fully reversed the game way back in '99 and have had the source sitting here ever since, waiting for a good platform to port it to. When I saw what Baggers did with Manic Miner it convinced me to do something similar with CE2.

There does seem to be at least a few amongst us who want to 'create' rather than just 'play' though, and that alone puts a smile on my face.
smiley1.gif
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
Mr Halibut said:
I'm having a look around on neogeodev.org wiki, looks promising. Nice to have a metric ****ton of info all in one place :)

Great stuff! I hope you do learn the art of Neo Geo coding, and in particular the YM2610 sound chip, as it's a great sound chip and I could do with some help getting some sounds out of it as my demo it currently sound-less.
smiley19.gif


I think I'm going to end up having to reverse the audio engine of a game that uses that sound chip to understand how to code for it.
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,055CR
When I was messing about with Asteroids and more recently testing my Vectrex code I used a Dataman S3 programmer which has emulation mode. Outrun lent me one and fortunately I still have it
smiley1.gif
 

RGP

Meeter & Greeter
Feedback
5 (100%)
Credits
2,039CR
I've done sparse compilation of mame before thinking about it - I did a one-game only version for a temporary MAME'd outrun cab. Removed the overlays, compiled to just run outrunb roms, removed all the other stuff.

I ended up doing it twice, first just commenting things out to make it work, second to thin the source.

I applied two patches I found on the next as well - one to remove the nag screens and the second to implement high score save (this was when this routine was a bit buggy in one of the 1.3 versions).

I don't think we're in any danger of the mame devs shooting us so long as we don't commercialise what we're doing, MAME keeps saying its more about the hardware than the game and playing the game is a side effect of emulating the hardware so creating a new game with its own driver built from another game is only like a bootleg board of X running on Y appearing that hasn't been seen yet - think Scramble on Galaxian hardware etc.

I suppose if we create something that was way out of any spec then we'd have problems deploying to hardware in the end unless we built our own hardware - but if we say cloned L system or Pac-Man hardware with the same memory layout etc and re-purposed its code to be a different game then I don't think we've got any problems.

A flat-memory model layout is ideal for developing in, we know its possible to hack on mods to expand the ROM addressing.

I think I probably mentioned Chuckie Egg as its a relatively simple game, no real hardware hassle, has minimal graphics layers and was originally in Z80 or 6502 format. I accept rewriting is probably required as the memory layout in the original won't match the memory layout of some target hardware.

And I remember hearing the Ten Pence Arcade podcast talk about it as a game that should have been in the arcades but never was.

It also has an attract mode already so to make it "arcade" we'd be adding a credit mechanism if we wanted it to go the whole hog.
 

Hurray Banana

Moderator
Staff member
vacBacker
Feedback
8 (100%)
Credits
2,721CR
One of my new year resolutions is to try and get into this inspired in a large part by ade.

my experience is with 6502, Z80 and lot's of 68000.

need to start small but would like to look at some suitable 68000 hardware
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
Hurray Banana said:
One of my new year resolutions is to try and get into this inspired in a large part by ade.

my experience is with 6502, Z80 and lot's of 68000.

need to start small but would like to look at some suitable 68000 hardware

I'm really happy to hear this Eric! I really wanted your experience on board.
smiley20.gif
 

Hurray Banana

Moderator
Staff member
vacBacker
Feedback
8 (100%)
Credits
2,721CR
cmonkey said:
Hurray Banana said:
One of my new year resolutions is to try and get into this inspired in a large part by ade.

my experience is with 6502, Z80 and lot's of 68000.

need to start small but would like to look at some suitable 68000 hardware

I'm really happy to hear this Eric! I really wanted your experience on board.
smiley20.gif

With the new A level specs coming in September it would be nice to get some framework up so I can get some students interested in low level stuff in a way where they can see their efforts in a cool way.
 

Alpha1

Do the Shake and 'VAC
Staff member
vacBacker
Feedback
95 (99%)
Credits
5,461CR
I know it is a pipe dream but a port of Parasol Stars to real arcade hardware would make a lot of peoples pants wet.

Ade - with chuckle egg 2 - will you add things like insert coin/free play options? Or just leave it 'as it was'
 

petercasino

Active member
vacBacker
Feedback
8 (100%)
Credits
193CR
I'd be interested in helping out. I've been a programmer for the last 18 years though mainly in 3rd gen languages. Have been thinking of creating a game to run on old school hardware for a couple of years now but never had the impetus.
 

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
884CR
The fruits of todays hacking is a (crude) HPGL plotter file format converter to Atari vector instructions.

First use a freeware vector drawing package called Inkscape to draw some vectors. Choose a custom page size of 10.24 x 7.68 inches. Then save as HPGL format file with 100 pixels per inch.

InkscapeUKVAC.jpg


Next import to the AVG assembler which will generate vector draw instructions. I forced the CNTR (centre), STAT (colour/intensity) and HALT instructions by hardcoding in the app to prove it works. Then assemble the instructions and save the vector data as a binary file.

AVG_Assembler_UKVAC.jpg


Next I hooked up my CPU tester to the CPU socket of a Battlezone PCB on the bench and used some PC software to import the binary vector data into PCB vector RAM. The tester then executes a loop where it starts the vector generator, waits for it to halt, and repeats.

dsPIC_PC_Terminal.jpg


UKVAC_AVG.jpg


And here's some spirals made with the stuff I showed Guddler earlier.

SpiralAVG_2.jpg


SpiralAVG_1.jpg


Mitchell Gant2014-12-28 22:07:13
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
petercasino said:
I'd be interested in helping out. I've been a programmer for the last 18 years though mainly in 3rd gen languages. Have been thinking of creating a game to run on old school hardware for a couple of years now but never had the impetus.

Awesome! The more the merrier! Grab yourself a board and get coding!
smiley20.gif
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
Alpha1 said:
I know it is a pipe dream but a port of Parasol Stars to real arcade hardware would make a lot of peoples pants wet.

Ade - with chuckle egg 2 - will you add things like insert coin/free play options? Or just leave it 'as it was'

It's a difficult question to be honest. I was going to poll the fine community of UKVAC for a answer on this when I got closer to starting the port to see how they thought it should be.

Do I keep the game exactly is it was, except running on arcade hardware (as Baggers did with Pac-Manic Miner Man) or do I 'enhance' the game with multi coloured sprites, backgrounds, full on music track, etc (which is all completely feasible when running on hardware that considerably more powerful than the original Spectrum).

If you change the original game too much then it kind of loses the essence of what you set out to originally do, but if you keep the game exactly as it was then you might as well just play it on a Spectrum as the only difference will be lack of colour clash on arcade hardware.

I have no plans to add a credit system to the game as I can't ever see an op wanting to run the game in an arcade!
smiley2.gif
 

Adrian Purser

Moderator
Staff member
vacBacker
Feedback
2 (100%)
Credits
213CR
This is something I'm very interested in and would love to get involved.

I started with 6502 on my VIC20 and then moved to the C64 and then the AMIGA. I had a graphics program published in popular computer weekly ( one of the listings that you had to type in) and had some pictures from my 68000 ray-tracer on an old 17-bit software public domain disc and in some magazines.

When I started my current job I was coding 68000 but I've since moved to C++ and we moved away from 68000 to Altera NIOS2.

I'm a bit rusty with the assembler stuff but I did spend some time last year hacking field goal and adding a free play mode.

My only problem is time, or lack of it and with a baby on the way next year things don't look like they will be getting any better. I'll keep up with the thread and would love to join in if I can.
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
adrian purser said:
This is something I'm very interested in and would love to get involved.

I started with 6502 on my VIC20 and then moved to the C64 and then the AMIGA. I had a graphics program published in popular computer weekly ( one of the listings that you had to type in) and had some pictures from my 68000 ray-tracer on an old 17-bit software public domain disc and in some magazines.

When I started my current job I was coding 68000 but I've since moved to C++ and we moved away from 68000 to Altera NIOS2.

I'm a bit rusty with the assembler stuff but I did spend some time last year hacking field goal and adding a free play mode.

My only problem is time, or lack of it and with a baby on the way next year things don't look like they will be getting any better. I'll keep up with the thread and would love to join in if I can.

Great to have another fellow coder on board.
smiley20.gif
You don't need to spend hours and hours slaving over an assembler to be helpful though, it's great just to know that you're in it if anyone needs advice on how to do a certain routine etc. Sometimes it's good just to throw code ideas around and get people's input as to the best way to go about achieving the desired goal. As I said earlier, the more people that are onboard with this the merrier.
 

tronads

Active member
Feedback
5 (100%)
Credits
448CR
I'm far too rusty and only ever did a bit of 6502 assembler, but I will be following this thread with great interest.
Surprised no-one has mentioned PacManicMiner yet (or have I missed it).
 
Top