Showing posts with label Jet Fighter. Show all posts
Showing posts with label Jet Fighter. Show all posts

Monday, 1 February 2016

Atari Jet Fighter. No computer AI in one player games

So at my meet a few weeks back Jet fighter decided to play up... When in one player mode, the black Jet wasn't chasing or shooting at the white (player 1) Jet. Looking at the schematics and reading the circuit information in the manual, I could see that the position data from the white Jet (player 1) is used to make the black Jet move and fire. This AI had stopped working. In two player the game played fine with no issues.

The schematic below is from the area which deals with the one player games and the AI of the black Jet. The 74175 at P5 takes position data from Jet 1, these are passed into the address lines of a Prom at R5 which is programmed to output certain values at the 74153 at R6. It's these values which determine the way the AI moves the black Jet. There are four combinations of movement the black Jet can take as shown below:

R6 Pin 7 | R6 pin 9
   1                 0       Jet turns left
   0                 1       Jet turns right
   1                 1       Jet flies straight
   0                 0       Jet slows and fires



Using my trusty logic probe I honed in on the prom at R5 being the potential issue, Initially I thought the 7420 at C5 was a problem but after removing it from circuit it tested OK. The prom appeared to be getting pulsing data on its input address lines but the output pins were behaving in a strange manner. At times the would read as having low outputs and at other time my probe was reading that the pins were dead, these were reading .4v using my multimeter.

I needed to check the prom data to try and confirm if it was still good. From my repair of Tempest a while back I had to make an adapter to read the same type of prom, my programmer cannot read them as a native device but will read them as a 2716 as long as the pins are adapted, so I got out my adapter and tried reading it to compare with the known dump of the R5 file.

82S123 prom to 2716 pinout to read the data off the prom

Well it read the prom but the data was just garbage and didn't look anything like what it should have been. Looking for a solution (especially as my programmer wont program these proms) I found an old webpage by  Mark from Retroclinic whick describes using a reprogrammable Gal logic IC to replicate a prom.

With some help from Phil Murry to make the code file, I knocked up another adapter, this time to convert the Gal16V8 pinout into the prom pinouts. The pinouts below show the pin order we would need to use to hopefully make a replacement for the suspected bad prom.

82S123N Prom 32x8 Dip 16

         +--()--+
 D0    | 1  16|  Vcc (5V)
 D1    | 2  15|  /CS (GND for R5)
 D2    | 3  14|  A4
 D3    | 4  13|  A3
 D4    | 5  12|  A2
 D5    | 6  11|  A1
 D6    | 7  10|  A0
GND | 8   9 |  D7
         +------+


GAL 16V8

          +---()---+
          | 01   20| Vcc (5V)
          | 02   19| D0
          | 03   18| D1
 A4    | 04   17| D2
 A3    | 05   16| D3
 A2    | 06   15| D4
 A1    | 07   14| D5
 A0    | 08   13| D6
          | 09   12| D7
GND | 10   11| /CS (GND for R5)
         +--------+



With the Jet Fighter R5 Prom code entered, this compiles to a .jed file which is loaded onto the Gal16V8 via my programmer. .PLD code shown below.

[quote]
Name JetFighter_R5;
Partno 32x8prom;
Date 31/01/16;
Revision 03;
Designer Mark Haysman original;
Company Leopardcats original;
Assembly None;
Location None;
Device g16v8a; /** changed gal type **/

/** Example of 82s123 simulation **/
/** Uses Jet Fighter Prom R5 Data **/

/** Inputs **/
Pin 8 = d0;
Pin 7 = d1;
Pin 6 = d2;
Pin 5 = d3;
Pin 4 = d4;
/** Pin 3 = tristate; **/

/** Outputs **/

Pin [12..19] = [Q7..0];

/** Declarations and Intermediate Variable Definitions **/

field byte = [Q7..0];
field address = [d4..0];

/** byte.oe = !tristate; **/

table address => byte {
0 => 30;
1 => 87;
2 => 38;
3 => a7;
4 => e5;
5 => 1c;
6 => f1;
7 => 0c;
8 => 71;
9 => 87;
a => 71;
b => a7;
c => c3;
d => 9c;
e => e1;
f => 8e;
10 => 8e;
11 => e1;
12 => 9c;
13 => e5;
14 => a7;
15 => 71;
16 => 87;
17 => 71;
18 => 0c;
19 => e1;
1a => 1c;
1b => e5;
1c => 2f;
1d => 38;
1e => 87;
1f => 30;
}
[/quote]

After programming the prom and plugging in the adapter the game now works as it should :)

I will source a prom and get it programmed, but this was a good exercise in using a current reprogrammable device to replace some old technology.

Saturday, 15 November 2014

Atari Jet Fighter. What's the score?

So another week goes by and my Jet Fighter board has another failure, these 40 year old 74 series logic seem to be dropping on a regular basis from being powered on for a few hours here and there...

This this when I started a game, the scores didn't reset to '0' for either player, when I scored some 'hits' on the other Jet the score moved in an odd sequence something along the lines of 2,3,2,6,4,11.

Out comes the operation manual and my printed schematics. The scores are initially generated by two identical circuits comprising a 7493 binary counter, Pins two and Three which are linked to the 'START' signal are used to reset the counter to zero when the game starts. Pin 14 is the counter input which is pulsed when either Jet is 'Hit'. The output pins hen count upwards to a maximum of 15 and pass on to some more circuitry.

Jet Fighter Score Counters
After playing a few games I noted the following... the score was being reset every time a game was started, just not to zero, and it was actually counting, just not in a sequential order, I made the assumption that these two counters would not be the issue as having two different IC's fail at the same time was improbable, If one of these had failed it would seem more likely that one of the scores would stop working and not both at the same time.

The next part of the circuitry that relates to the scores is shown below:

Jet Fighter Score selecting

The 74157 at location A5 receives the signals from the two 7493 counters. I used my logic probe to test the pins of this IC. Pin 1 was pulsing away as expected and the input pins were all the in the same logic state as the output pins from the 7493 counters. There are  four output pins used which feed into a Prom which selects the Score number data, by my testing, pin 12 which is output 4Y on the datasheet was stuck high all the time. Quickly piggybacking a new 74157 cured the scoring, but did seem to have a side effect of resetting the game a short while after stating a new game. Anyway once socketed, I put in a new 74157 and we're back to fully working again. My IC tester confirmed that output 4 of the IC was faulty.

Saturday, 25 October 2014

Arcade Garage 1.0

Well after close to four years, all the cabs I own are (touch wood!) working, Well I need a new starter for my Tempest Fluorescent light, but thought I best capture them while they all do work. My current line up consists of:

Fire Truck, Jet Fighter, Electrocoin Midi with a dual JAMMA adapter playing Pac-Land & Wonder Boy, Tempest Cabaret, Centipede Cabaret, Hang-On and Pole Position.

On the way to getting my current lineup I’ve also owned the following cabs: Lethal Enforcers, Cruis’n World, Missile Command Cabaret, Asteroids Cabaret, a Popeye Pachislo & 2 JAMMA cabs.

Photos below and a video, sorry for the lack of commentary but I’ve got a stinking cold at the mo and the vocals don’t sound too good.




ATARI Hot Wheels!





Tuesday, 1 July 2014

Atari Jet Fighter. PCB Repair Part 2...

Well after have a fair amount of play recently and being switched on for 10+ hours, Jet Fighter developed a fault when switched on a few days ago...

In attract mode the Black Jet was erratically flying backwards, not something I'd seen before with this board. When you started a game the Black Jet carried on flying backwards and the left/right rotate controls we not working for either Jet.

I started probing around the vertical and horizontal motion counters to see if I could track down the issue, there are four signal J1C0-J1C3 which are derived from a 64-bit RAM IC, probing these for the Black Jet circuit I found that they were all stick high and not pulsing as I would have expected.

This board is quite nice as the Black & White Jets have pretty much identical circuitry so it was easy to compare one with the other.

Checking out the other pins on the RAM, I found that the W/E pin was being held high, I traced this back to an LS7432 (2-Input OR gate) and confirmed that the output was stuck high (confirmed against the White Jet circuitry). I cut the output pin on the 7432 and was still stuck high and not pulsing away. Once swapped out with a replacement, The game is fully working again.

Schematics showing the area of the fault this time.

Saturday, 17 May 2014

Atari Jet Fighter. PCB Repair.

Back in March I fired up my new cab and was pretty happy with the results, The game powered up and seemed to work, with exception of what I took as a graphic fault seen below where the Jets were displayed multiple times vertically down the screen. 

Original testing in March. 
I decided I was going to spend some time to look at this board this week just gone. My initial diagnosis above was not quite correct... Looking closer at what was on the screen the 'Jet' graphic was not complete and had bits missing especially noticeable in the white Jet. Also it was not possible to score points, I thought it may be due to the fact so many Jets were on screen at the same time. So I was looking at multiple faults already, and as (bad) luck would have it, after having the board on soak for a few hours I looked at the screen to check the game was still running and all I could see was a black screen! A few expletive's came out of my mouth and then I re-powered the cab, the image below is what I now had to work with...

The black 'Jet' and 'Score' were missing and instead of having a solid light background colour there we now horizontal bands in alternating colour going down the screen. (difficult to see in the photo below, but move visible in the photos further down.)

The fault log begins with this screen.
I have a copy of the Operation & Maintenance manual and it has some great description of what signals control certain aspects of the game, this certainly aided my fault finding, I also printed some A3 schematics that I could mark up in pencil and highlighter pens.

Initially I did go round the houses trying to work out where in the circuit the faults were, but after reading the manual a few times and following the signals in the schematics I got hot on the trail of issues, cutting to the chase, the faults were as follows.

IC location F3 a 74LS10 (3 input NAND gate) now had no output from pin 12. This provided the Jet/Score and Shell for black Jet.

Black Jet & Score back, but Jet video is inverted.

So with video back, I played a few games and noted that the score wouldn't increase when the Jets were hit with shells and the fact that no explosion registered to say the Jet had been hit. As it turns out another 74LS10 this time at location E1 had no Output on pins 6 & 8, these are the two trigger signals for Jet 1 & 2 respectively that further down the circuit chain pulse a 'BLO UP 1/2' signal which is used for detection of a hit. With this IC changed the score now worked and Jet explosions happened when hit by a shell.
Scores now working
The White Jet graphic was slightly corrupt not correctly displaying properly, The data for plane comes from ROMS at J5 & K6 (2K each). This data is shared between the two planes, so as the black Jet looked fine (although inverted) I was pretty sure the ROMs were OK. The ROM data is fed into a pair of Parallel to serial converters. For the white Jet they are at locations J4 & K4. Pin 7 of K4 provides the serial data through a few more IC's before becoming the Jet 2 video signal. The IC clearly was outputting something as you could see the image on screen, but my Logic probe was saying that pin 7 had no signal (High/Low or pulsing) Pin 9 is the inverted state id pin 7 and although not used in the circuit appeared dead too. I compared this to the Logic to the Black Jet and those same pins were pulsing along nicely. Time to swap K4, once replaced the Jet graphic was spot on and working.

I needed to get to the bottom of the 'multiple Jets on screen' fault that this board has had since I first turned it on. I'll put finding this fault down to mild guess work and lots of general probing around. I had the opinion that the issue was in the Vertical motion counter section of the circuit. Seeing as the fault was on both Jets and that each Jet had its own counter I had a hunch that these weren't directly the fault. The output from the counter for both Jets was fed into a 74LS74 flip flop IC. Pins 5 & 9 are the output pins which are mixed with the Horizontal blanking and Horizontal Jet position. They were stuck low. I cut one of the pins in circuit to confirm nothing else was pulling the pin low and it stayed low. Time to replace it...
Wohoo! Fixed as shown below, just the inverted black 'Jet' video and the background bars remaining.

Only one black Jet (Video inverted) and one white Jet.
More general probing around the final stages of video signals before they are joined in a resistor network found me this fault, IC at E4 an 74LS08 pin 6 provides the final video data for the White Jet. (Jet video and H/V blank info) As with the earlier fault the output was working but using a logic probe gave odd results, I did 'piggyback' an IC on top of the one in circuit and the background issue was gone, so I replaced the IC and that left the inverted video fault...

I remembered reading in the manual that when a Jet was hit by a shell the Jet's video was briefly inverted, to me it seemed this was happening constantly. The 'BLO UP' signal comes out or a 2 input gate at position K8, the logic probe was telling me this signal was constantly low, I monitored this in a game and made a white shell hit the black Jet, the output on the gate stayed low. Next up I cut this pin and re-powered the game. The Black Jets video image was now the correct was round, using the White Jet I fired a shell at the Black Jet, the game functioned as expected but without the brief inversion of video (that pin now wasn't connected!) So I replaced the IC and for now the game is fixed and fully working.

I've really enjoyed getting these faults fixed and think I've learnt a fair bit these last few evenings. Now its time to sort the cabinet out.

Cheers, Mart.
Background banding issue fixed, inverted Black Jet video fixed. Game...Fixed!

Sunday, 30 March 2014

Atari Jet Fighter

I picked up a new cab today, Atari's 1975 Jet Fighter, this is a simple Black and White raster game and the game board is doesn't have a CPU, the whole game runs on TTL logic only like Pong and Breakout. This was bought as untested/unknown state and we're not talking eBay untested! This hadn't been switched on for a number of years so it was pot luck as to what would or wouldn't work.

Here's a few photos of the cab after I took it out of my car earlier today.






First impressions; Not bad at all for a 39yr old game, its a bit dusty, side art is still good and it is complete, monitor, game board, PSU all correct and present. Cab, Monitor and Game board all have matched, stamped serial numbers. This is Jet Fighter #1051.

So wanting to find out if it would work, I did some basic tests... game board and monitor connectors were removed. Mains input voltage was tapped correctly and proving 110V to the monitor plug and 36VAC to the game board.

I plugged up the monitor and wired a temporary connection of my signal generator, flicked the mains switch, a few seconds later I had neck glow an what sounded like high voltage on the screen, tentatively I looked at the screen and Yes! the monitor works.

  
Next up was plugging the game back in, I plugged the edge connector on and again flicked the power, this time I checked the voltage on the logic board before looking at the screen, the on-board AC to DC conversion was working nicely. Voltage on the logic IC's was bang on 5 volts.


So the game was displaying but the aeroplanes have a fault where they're duplicated across the whole screen. I coined the game up and both 'player' select buttons light up, and the game does play. All controls work and the 'fire' 'explosion' and 'plane' sounds work. The game finishes after a set time and that all works as it should.

The marquee light doesn't illuminate, not sure if its the tube or ballast I'll investigate that later.

I gave the plexi glass and monitor a good clean and this is who the image looks now.


A substantial difference to the brightness all thanks to some glass cleaner!

That's it for now I'll update this post when I decide how far I'm going to rework the cab and what I do to hopefully get it working.