Vanguard freeplay and high score save

philmurr

Well-known member

Donor 4 years: 2022-2025
Joined
Mar 25, 2008
Messages
579
Reaction score
589
Location
Basingstoke, Hampshire, United Kingdom
I wasn't going to do any more high score mods for a while, but that was until I picked up a Vanguard machine a couple of weeks ago, and just last week got talking to someone else who'd also just got one and we were both having a moan about the lack of a high score save function.

Vanguard, for people who don't know the game, is probably best described as a bit similar to Scramble. Although it has horrible collision detection and firing, and plenty of bugs, I think it's awesome, love the game and have fond memories of playing it when I was a kid. But whilst it has a 7-position high score table, it doesn't save it on power-down, and lacks any kind of free play mode.

It also runs on 6502 hardware, and I've probably only programmed a couple of hundred bytes of 6502 code in my life. But I wanted to get the additional functions on my game, so armed with "Programming the 6502" book by Rodnay Zaks, and a couple of excellent online resources, I set out to learn some of the workings of the game to enable me to write the mods.

The high score save was actually easiest. The game uses a 1Kx8 4118 (socketed!) for programme memory which needs to be swapped out for a Dallas DS1220 module, then I just needed to bypass the code that clears the high score memory on startup. Add some code that does clear the high score memory when you hold down certain controls on power-up and that was it done.

The enhanced free play mod (maintains the attract demo whilst in free play mode) was more tricky. There is an unused DIP switch that I've used to set freeplay mode on and off. Vanguard relies on an NMI being generated when a coin is entered, so the programme doesn't have to keep checking for coins in software. As my code preloads the game with the right number of credits depending on P1 or P2 start buttons being pressed, I had to write a number of checks for the buttons being pressed during the demo mode. I then changed the code that writes the number of coins inserted onto the screen, and have it shown only in non-freeplay mode.

Finally when in freeplay mode, I didn't want coins being registered, so had to intercept the NMI routine to not accept coins unless in normal (paid) mode.

Happy to say I got all this working today, programmed and tested it in Mame, and extensively tested it on real hardware, I think all the bugs are out.

The code needs just 3 of the game ROMs changing and a Dallas NVRAM module to save the high scores on power-down. Code will soon be available ***FREE*** on Joe's www.highscoresaves.com site

Obligatory pictures attached showing paid and freeplay mode (coins not shown in freeplay mode), attract mode and high score table on real hardware, and finally the board changes you need to make. Thanks as usual for everyone who appears in the high score table Big smile

Feature summary:-

High score table saved on power-down
Default high score table by holding down certain controls on power-up
Enhanced freeplay (maintains attract mode) selectable using unused DIP switch
Coins only accepted in paid mode
Coins only displayed on screen in paid mode
Correctly handles continue function in both paid and freeplay modes
Reduced the high score table scores from 10000 to 5000 to make it easier to get a high score!
 

Attachments

  • VG demo mame 2.JPG
    VG demo mame 2.JPG
    72.3 KB · Views: 28
  • VG demo mame coins.JPG
    VG demo mame coins.JPG
    64.4 KB · Views: 29
  • VG demo hardware 1.JPG
    VG demo hardware 1.JPG
    95.3 KB · Views: 35
  • VG HST hardware.JPG
    VG HST hardware.JPG
    86.4 KB · Views: 43
  • VH high score PCB.JPG
    VH high score PCB.JPG
    183 KB · Views: 50
This is great! Can someone make this available to those of us that don't have the ability to burn chips? I'm not as interested in the free play as I am the high score save, but I'll take what I can get.
 
It will be finished and up on the site sometime next week.
I can help you with the burn and believe I have a few nvram left too...
 
Great work, Phil! Love seeing Vanguard get some love. It's been a favorite of mine since it came out.
 
Nice job. Do you know if you can you use a FM16W08 based NVRAM instead of the dallas chip with an internal battery?

something like the 6116 adapter module here may work (might not if the battery controller in the dallas chip is required).

http://nvram.weebly.com

I can donate a free one for someone to test with.
 
Nice job. Do you know if you can you use a FM16W08 based NVRAM instead of the dallas chip with an internal battery?

No the FRAM module won't work (without a board hack) because of the way Vanguard uses the RD&Phi2 signals to control /OE rather than tying them into the /CS circuitry.

Bear with me on the code, just tidying up a couple of things but should be out at the weekend.
 
If this ever becomes available for purchase for those of us without a rom burner, count me in. Same goes with the Pleiades HSS/FPA. Now you just need to do one for Challenger so my entire Centuri row can be complete :D
 
Which dip switch?

Instructions...

Vanguard freeplay with attract mode, and high score save
SNK Vanguard code only
Developed by philmurr 02/17

Replace IC12 (usually socketed 4118) with Dallas DS1220AD module or (pref.) ST M48Z02
Replace IC7, IC10 & IC16 (2732) with the attached code
Reset high score table by holding move right/fire left on power-up

Set unused DIP switch (8) to "on" for freeplay mode
 
Instructions...



Vanguard freeplay with attract mode, and high score save

SNK Vanguard code only

Developed by philmurr 02/17



Replace IC12 (usually socketed 4118) with Dallas DS1220AD module or (pref.) ST M48Z02

Replace IC7, IC10 & IC16 (2732) with the attached code

Reset high score table by holding move right/fire left on power-up



Set unused DIP switch (8) to "on" for freeplay mode



Thanks! I figured it was 8, but 2-4 also seemed to be unused but state to set to off.

Thank you for making this! My vangaurd has Coin up issues and this helps bypass them :)


81903b5b4415d58f2f0120aff5cf6f9d.jpg
 
I know this is an old thread to dig up, but does anyone have the ROMs for this anymore? They seem to have all but vanished.

Update: I reached out to highscoresaves.com directly, and they replied about how the kit was not made yet, even though they used to have a link to it, and did not answer my question about where the ROMs are located.
I will gladly host them on one of my domains/sites for free if I get my hands on them, if desired.

Thanks!

Peace!
 
Last edited:
Back
Top Bottom