Arcade games used Address counters and Address decoders are used for what?

Thread Starter

harrison2015

Joined Apr 22, 2015
80
In 80's arcade games they used address counters and address decoders, what are they used for?

The Address decoder is connect between the ROM's and Microcontrollers address lines. The Address decoder converts binary into hexadecimal? What is the purpose of these address decoders?

The Address counters are used to count the vertical and horizontal sync but why?

There is address mapping is in binary or hexadecimal? because binary is 0000's and 1111's but you can have datalines that are memory located as AA, FF which is hexadecimal.
 

WBahn

Joined Mar 31, 2012
24,970
All digital signals are binary. Hexadecimal is merely a convenient means for humans to communicate information about groups of binary signals.

The address decoders take a binary value as an input and assert a signal on the corresponding output. So to address 255 rows of memory, the microcontroller only has to output 8-bits of information. But the address decoder has to output 256 lines, only one of which is high at any one time. This example would normally be for a decoder that is integrated into an IC (and it is on the small side for that purpose). In a discrete system you would likely see situations in which the MCU was using a subset of the address lines, say four, to go to a decoder that had, say sixteen in this example, lines that were then used to enable different banks of memory.

If the address counters are being used to generate the row and column data, then the sync signals for the display can be slaved to the counters because they are, well, synced to each other.
 

MrChips

Joined Oct 2, 2009
19,734
Guess what? Hexadecimal is binary.

Stop thinking that hexadecimal is something special. It only exists in your head. It is a method of writing down binary in a different form.
 

Thread Starter

harrison2015

Joined Apr 22, 2015
80
But they only use hexadecimal notation for the datalines for some reason. When you write data into RAM they which is coming from the datalines they use hexadecimal notation AA, FF etc.

The address decoders takes the binary address from the microcontroller and either passes or blocks the address location to the RAM chips?

The address decoder either passes or blocks the address location, address contents. The address decoder is the gate keeper to all the RAM, ROM, EEPROM locations and contents?
 

MrChips

Joined Oct 2, 2009
19,734
Computers do not use hexadecimal. Computers use binary.

Humans want to convert binary to hexadecimal because it is easier to read and record than having to look at a bunch of 0s and 1s.

Stop talking about hexadecimal.
 

Thread Starter

harrison2015

Joined Apr 22, 2015
80
If the address counters are being used to generate the row and column data, then the sync signals for the display can be slaved to the counters because they are, well, synced to each other.
I still don't get what is the purpose of these address counters. In arcade games in the 80's they has an address counter for the vertical sync and an address counter for the horizontal sync. So the Address counter is counting the address binary pulses out of the microcontroller and this syncs the horizontal and vertical sync pulses together?
 

Thread Starter

harrison2015

Joined Apr 22, 2015
80
Computers do not use hexadecimal. Computers use binary.

Humans want to convert binary to hexadecimal because it is easier to read and record than having to look at a bunch of 0s and 1s.

Stop talking about hexadecimal.
Yes true, but i'm confused about the address mapping.

It seems that the address decoder is the address mapping, but how is the address decoder knows the address mapping? the address decoder is not a normal TTL or Cmos logic decoder chip
 

WBahn

Joined Mar 31, 2012
24,970
If it's not a normal logic chip, then what is it?

The video image you see on the screen are a collection of pixels (picture elements). The are organized into rows and columns. We need a way to ADDRESS a specific row and ADDRESS a specific column. Gee, perhaps an ADDRESS DECODER might be useful for this. We need to synchronize the guns in the video display so that they are firing electrons at the spot on the screen that corresponds to a specific row and column of the image that is stored in memory. Gee, perhaps using the same address decoders to get the data from the memory and synchronize the video signal might be one way to do this.
 

Thread Starter

harrison2015

Joined Apr 22, 2015
80
yes there is ROM chips that have the graphics and images. The address decoder is the address mapping of the graphics row and columns that goes to the ROM chips that store the graphics and images?

The address counter is counting the pulses from the microcontroller address buss to sync the RGB guns with the address decoder?
The address counter has 3 inputs. Horizontal sync signal , Vertical sync signal and the address decoder input?
 

Thread Starter

harrison2015

Joined Apr 22, 2015
80
The microprocessors IRQ should always be toggling, if the logic signal is not toggling and is stuck high or low there is an IRQ problem? what is controlling the IRQ signals the ROM, RAM or EEPROM chips?
 

MrChips

Joined Oct 2, 2009
19,734
You have moved from talking about address counters to microprocessor IRQ.

What does the microprocessor IRQ have to do with your query?
 

Thread Starter

harrison2015

Joined Apr 22, 2015
80
I'm not sure if the address decoder is sending the IRQ signals to the Microcontroller
The Address decoder sends signals to the watchdog circuit to reset the microcontroller
 

MrChips

Joined Oct 2, 2009
19,734
The microprocessors IRQ should always be toggling, if the logic signal is not toggling and is stuck high or low there is an IRQ problem? what is controlling the IRQ signals the ROM, RAM or EEPROM chips?
Where are you getting this information from? All of this is incorrect.
I'm not sure if the address decoder is sending the IRQ signals to the Microcontroller
The Address decoder sends signals to the watchdog circuit to reset the microcontroller
Who told you this? This is also incorrect.
 

Thread Starter

harrison2015

Joined Apr 22, 2015
80
arcade technicians told me this. correct me since i'm wrong, how does it work

If i have my logic probe on the microprocessors IRQ pin, should it be toggling and or stuck high or low?
What is sending the IRQ signals to the microcontroller, is it the RAM, ROM, EEPROM chips?
 

MrChips

Joined Oct 2, 2009
19,734
arcade technicians told me this. correct me since i'm wrong, how does it work

If i have my logic probe on the microprocessors IRQ pin, should it be toggling and or stuck high or low?
What is sending the IRQ signals to the microcontroller, is it the RAM, ROM, EEPROM chips?
Did Billy tell you this?
 

MrChips

Joined Oct 2, 2009
19,734
arcade technicians told me this. correct me since i'm wrong, how does it work

If i have my logic probe on the microprocessors IRQ pin, should it be toggling and or stuck high or low?
What is sending the IRQ signals to the microcontroller, is it the RAM, ROM, EEPROM chips?
It certainly is not coming from RAM, ROM or EEPROM.
 

BR-549

Joined Sep 22, 2013
4,938
That has been a long time. Did you have a particular game in mind?

WBahn as usual is correct. The address decoder is indexing an array of memory(which is selecting a section or block).

Back at that time the displays were analog and the video chips were primitive.

These chips needed an interrupt(hardware and/or software) to reset certain video registers during HOZ + VER sync retrace.

At that time, background screens(which was just a array of memory) could only be changed during retrace. Other registers needed update during every HOZ retrace.

Some processors ran fast enough to have 100 or so extra cycles during HOZ retrace, which came in handy for some ornery subroutines.

The early eighties was the last time they would let me program registers on a video chip.

And as MrChips said, hexadecimal is just a human shorthand for machine code(binary or a digital pattern if you will).

If you have ever had to program in binary, you'll understand hex real quick.

Hex is a human pattern that represents a digital pattern.
 

nsaspook

Joined Aug 27, 2009
6,586
I just looked at an old 8080 wall-hanger TTL design of mine for a video/character controller to see what I did years ago. The bank address decoder was a 74ls42 to access the boot rom, cpu memory, character generator memory, graphic memory, address counters for the video dot generator and I/O for the S100 bus. The INT pin was tied to a rs4020 14 bit counter that I think generated a video line based interrupt for the 8080. The memory was static 2114 (1k *4 bits) chips so no need for interrupts for that. Tri-state buffers connected to the bank address decoder separated data lines from the devices. Can't remember the exact resolution but the graphics frame buffer was only 2k *8bits, with a 1k program ram and 1K character memory for the RO-3-2513 5*7 dot matrix chip.
IMG_20150430_233714.jpg
Pretty standard design for the discrete chip days. I programmed mastermind and a few other games for it.
http://en.wikipedia.org/wiki/Mastermind_(board_game)
 
Last edited:

nsaspook

Joined Aug 27, 2009
6,586
Now I know why they told us in school to buy an expensive Grumbacher drawing book, one day you'll be old and need it to remember. I found some old design notes/scribbles on decodes and counters for this that I currently have only a faint memory of. The upper address lines were used as decode addresses and A15 was used as a master gate to switch to CPU control from TIMING control from the display address counters.

https://farm9.staticflickr.com/8776/17143856448_6269917290_b_d.jpg
https://farm9.staticflickr.com/8886/17305667236_2f30357ba6_b_d.jpg
https://farm9.staticflickr.com/8797/17305403126_e534dc898c_b_d.jpg

Other uses for the book in class. :D
https://farm9.staticflickr.com/8876/17305667526_293831bee8_b_d.jpg
 
Last edited:

alfacliff

Joined Dec 13, 2013
2,458
the address decoder decodes the address. memory was mapped for more than vertical and horizontal. variious inputs were mapped into memory, like joystick inputs and such,. treated as memory, was easier than making seperate input circuits. hes is just an easier way for humans to read and remember binary numbers. 11111110 is harder to remember than fffe. as fot the address decoder connecting to the watchdog circuit, if you write into your program to write a 1 into a certain memory location on a timed basis, the watchdog looks for that bit to change , if it dosnt, the program is locked up, or looping in a never ending loop. the watchdog resets the computer if it dsont see the change on a regular basis.
 
Top