Gravitar on Space Duel PCB

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
888CR
backflipper said:
Wow how did I miss this! Look forward to chatting to you about this at Steves meet!

I'll happily chat to you about it as long as you're playing Gravitar at the time, so I can try to see again how the heck you play it! I picked up a few good tips from you last time, but I'm still utterly hopeless at playing it.

Yesterday I managed to get the converted PCB into my Space Duel cab and just about play a game, enough to show that I'm useless at it.

There's still a fair bit to do to make it work properly. Test mode does not read in buttons correctly and it will not advance test screens when pressing Fire 1 and Start 1, so my 6502 coding is obviously at fault there. I had to change how it reads in the buttons from Space Duel hardware. Buttons work in actual gameplay though, so I can't be far off I hope.

There's also a nasty shift to the left of your actual ship image when playing a game. The bullets and shield appear to the right of the ship image, so I must still have a pointer table to track down and fix somewhere in the moved code.

It still reports ROM faults as the checksums will need fixing, and also reports EAROM high score chip fault which may or may not be a real chip fault. And I need a method of having high scores for 2 or 3 games rather than 1. I've started a Black Widow code disassembly too.

I think today I may spend some time getting the Space Duel code working on the hacked board, as it will need to be moved in address space to make a switchable game between Space Duel and Gravitar.

I've not yet done the RAM bank switching either, which I suspected was for 2 player games. But I played a 2 player game and it worked OK as far as I could tell. I then hooked up the 'scope to the RAM bankswitch latch output and ran the game on the bench. I did not detect anywhere that actually toggles the bank switch, so I'm wondering if it's even used in Gravitar. Doesn't mean Black Widow won't need it though. I may need to use MAME debugger to see if it ever writes to that bit, but not sure how to do that yet.

Lots left to do, though my temptation to keep playing it is quite strong now.
smiley1.gif
 

DanP

Administrator
Staff member
vacBacker
Feedback
5 (100%)
Credits
2,192CR
Definitely worth persevering with. Gravitar is a much better game (imo) than Space Duel. SD only really comes into it's own with two players. Gravitar is a tough challenge to get through but it does let you skip through the solar systems so you don't have to go through the earlier levels if you don't want to.

Wonder if anything else could be shoehorned into this boardset, any of the earlier 6502 vector games? Maybe some hopebrew games if the ability to add new games becomes simplified?

Early contender for most interesting topic of 2016!

Dan
 

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
888CR
DanP said:
Wow, amazing stuff. How about squeezing Black Widow in there and have the full multi game set!

Oh, go on then, may as well make a start on re-assembling Black Widow ROMs. A lot of work left to do, doesn't read the Space Duel inputs yet, just the very first test of assembled code looks promising though.

20160220_154122.jpg


I've got Space Duel code happily running at its new address of 0x8000, and an almost working Gravitar on flick of a DIP switch. Working enough to play a few games and manage to clear a planet of bunkers for the first time.
smiley4.gif
 

bonehead

I'll get pix tonight
vacBacker
Feedback
50 (100%)
Credits
1,721CR
Looks like Backflipper will have some competition on Gravitar if your clearing one of the planets. Maybe this could be one of the completion cabs at my meet!!!
 

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
888CR
I've got the Black Widow inputs mapped to Space Duel buttons now, well at least some of them, enough to try to play a game using the buttons which is fun. Cleared a couple of webs that way!

Not perfect yet though, as when it's in test mode, as well as the Gravitar code, beeps when a button is pressed but does not change the display from a '0' to a '1'.

20160220_232646.jpg


I found this great website dedicated to Gravitar:

http://www.cooganphoto.com/gravitar/binder.html

I found a document where they decided to make a new PCB for Gravitar rather than use the existing Space Duel board.

http://www.cooganphoto.com/gravitar/099-169_schedule/127.0-12-18-81.jpg
 

Alpha1

Do the Shake and 'VAC
Staff member
vacBacker
Feedback
95 (99%)
Credits
5,498CR
Lunar Battle ran on a modified Space Duel PCB. Not sure if the LB toms are around.

I had a Lunar Battle proto but sold it as I couldn't find a PCB.
 

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
888CR
Alpha1 said:
Lunar Battle ran on a modified Space Duel PCB. Not sure if the LB toms are around.

I had a Lunar Battle proto but sold it as I couldn't find a PCB.

Reading through Mike Hally's binder notes it looks like Lunar Battle (Gravitar proto) was started on Battlezone hardware with black and white monitor, then it evolved to Space Duel colour hardware, but with minor changes, I assume more ROM and RAM.

After some meetings and reviews it was decided to go with a new board and "techniques discussed to make it difficult to convert Spce Duel to Lunar Battle".

http://www.cooganphoto.com/gravitar/099-169_schedule/128.0-12-11-81.jpg

The sneaky b'stards. Atari made it difficult to do the conversion. Maybe that's why I can't get it working perfectly then!

I think there are some Lunar Battle ROMs in MAME, unless it's another game from someone else. If so then there would now be a route to making your ex-cab a fully working Lunar Battle.
 

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
888CR
A small update on this project, I've made a MAME driver that is a hack of Space Duel but with more RAM, Gravitar vector ROMs and a larger 32K program ROM space. A friend compiled it for me as I don't have a build environment on my PC, so it's taken a week or two to get this together.

I wanted to see if I could find the graphics problem that shows on my Space Duel cab, which is that some of the vectors don't match up, the text drifts upwards left to right, and the shield/tractor beam are offset to the right of your ship, shown below.

20160310_225530.jpg


This looked to be a software problem, probably some pointer to a table of vector data that I had missed, as the picture is very far out. The idea of the MAME driver was to try to debug using MAME rather than just staring at disassembled code.

However I was very surprised to see that in MAME my modified code appears to work perfectly! I can play it with no offset lines, no gaps in landscape vectors, and no skewed text I see on the real cab!

MAME_Gravduel.jpg


That makes it look like a hardware problem, except Space Duel looks perfect and so does the Black Widow conversion I did!

I can only assume it's something to do with the analogue scaling circuit I've added, that Space Duel doesn't use, and I'm guessing Black Widow doesn't use either.

More investigation is required then to get this perfect. Once that's cured I can attempt a front end screen to select which game you want to play and work out a way to switch ROM banks from software. That may require a new CPU plugin board rather than the Tynemouth Software one I bought in.

I might take the board to Steve's meet if anyone wants a look at the abomination.
smiley36.gif
 

bonehead

I'll get pix tonight
vacBacker
Feedback
50 (100%)
Credits
1,721CR
Bring it along and show the people of ukvac what you have achieved so far with this project.

Your welcome to put it in my space dual cab.

Steve
 

Hurray Banana

Moderator
Staff member
vacBacker
Feedback
8 (100%)
Credits
2,725CR
Great work. There might also be a flaw/assumption in the mame driver which is causing your code to run properly.

If it some analogue circuit then it ougt to be emulated.

Did I already say awesome work
 

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
888CR
I finally fixed the Gravitar vector offset problem tonight, and I can't believe what an idiot I've been not spotting it much, much sooner.

The problem was simply that I'd put in a 74HCT273 for the scaling circuit, rather than a 74LS273 that it was originally designed for. This part of the AVG seems to be very picky about what type of chip is used. Space Duel and Black Widow do not use analogue scaling, so no problems were shown when they were running on the same board.

I had the same problem on a Tempest board I was fixing not very long ago, so really should have known better:

http://www.ukvac.com/forum/74ls153-v-74hct153_topic349597_post933691.html?KW=#933691

Helping to confuse me was the fact that the Gravitar test mode has a zoom/scale test where it shrinks a box smoothly on screen then repeats, to test just that part of the AVG circuit. This works perfectly, as does my own similar AVG scale test that I use with my plugin CPU tester. It seems that only during attract mode or gameplay that the problem appears.

I managed to find a really manky looking 74LS273 in an old bag of bits from when I used to save old chips from scrap boards, stupidly thinking I may need them one day... After straightening the legs I tried it in the socket and bingo, all the little vector glitches and offsets went away. I really must order some 74LS273's
smiley18.gif


Now I can move on with making the high score memory work across the three games. My current plan is to design my own 6502 plugin board that has flash ROM, a battery backed RAM and a GAL to decode it all. The ROM and RAM will have four banks that switch between each of the selected games, Space Duel, Gravitar and Black Widow. There will be an area of RAM decoded in the same space as the original EAROM that will store the high scores. I will have to modify the EAROM software routines for each of the games though, as the original EAROM is not accessed like normal RAM.

The GAL also should be able to do the decoding for the vector RAM/ROM space so I can remove the untidy 74HCT21 that is currently dangling off some wires. That will just need a wire link instead, making a neater and easier conversion.
 

Mitchell Gant

Active member
vacBacker
Feedback
2 (100%)
Credits
888CR
Well, after a step forward with the scale problem last night, I'm able to play the game properly and get some much needed practice, enough to find the next problem...

I tried going to the red planet and saw this:

20160323_213125.jpg


This is definitely a software problem, as the reactor is not possible to shoot as it's the wrong side of the landscape!

So that's another problem to solve along with the test mode button test not working properly.
smiley19.gif


I must try not to get sucked into just playing it now it works well enough to play.
smiley36.gif
 
Top