[Tech] Ram / rom queries

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,058CR
[ukvac] [Tech] Ram / rom queries
A few ramblings for the morning!

One for the techies (I think!). Back to the Astro Fighter PCB. NOT the UFO,
the Deco Astro Fighter. Thought I'd see why it stopped working the other
day. As I said a couple days ago, I'm starting to get to grips with all
this, so along with it comes some queries to question my understandin!

The board has 8 x 4116 ram and 3 x 4027 ram on the CPU board (although the
Tomahwak schematics, being the only readable ones I have say 4 x 4027, maybe
that's specific to Tomahawk or maybe I missed one!). Then it has 2 x 2114 on
the rom board along with 12 x 2708 ROMs. The IO board is irrelevent to this
discussion.

Now then, I'm not really enquiring as to what's up with the game, I piggy
backed the 2114's and it worked, so I installed some socket's and some new
ram and it sprang to life. Cool.

Well, for a little while. I decided that I'd use this known good board to
test my stock of 2114s. I got about 5 or so into it and the thing died
again. Not believing it could be the 2114, I put the Fluke on it. Sure
enough, the address space from 4000-5FFF tests fine, but the space from
0-3FF has 30 memory locations that fail.

SO, I try and work out what's what.

First of all, does anyone know what the 4027s are for? The 4116s appear to
be video ram, (although mame only uses half of the ram??), and the 2114s
appear memory associated with the code. I'm not sure what these are for (the
4027s) and the Astro Fighter schematics are unreadable, and I'm not sure I'd
understand how to work out what the rams are actually doing anyway even if I
could read them!

Now the 2114s, appear to both get the same address from the bus, with one
2114 outputting the lower 4 bits of data and the other the upper 4 bits.
(Well according to the schematics anyway). A bit of a bizarre way of doing
it if you ask me, but okay! Does this mean I have to get the Fluke to
exercise the indivual bits to work out which of the 2114s is failing?

Irrelevent in this case, as there's only two so it doesn't take long to swap
each out and see which cures it, but I'm talking from a theory POV here :O)

Finally, am I right in saying that the actual program code is accessed
directly from the ROMs, and the 1K of memory (2 x 2114) is just storage
space for the program?

Martin.

------------------------
Guddler's Arcade
http://www.guddler.co.uk
 

P-Man

International man of mystery
Feedback
4 (100%)
Credits
1,273CR
Re: [ukvac] [Tech] Ram / rom queries
> First of all, does anyone know what the 4027s are for? The 4116s appear to
> be video ram, (although mame only uses half of the ram??), and the 2114s
> appear memory associated with the code. I'm not sure what these are for
(the
> 4027s) and the Astro Fighter schematics are unreadable, and I'm not sure
I'd
> understand how to work out what the rams are actually doing anyway even if
I
> could read them!

I think 4027's are ram.... never come across them myself, but ithink my
carnival uses them.

> Now the 2114s, appear to both get the same address from the bus, with one
> 2114 outputting the lower 4 bits of data and the other the upper 4 bits.
> (Well according to the schematics anyway). A bit of a bizarre way of doing
> it if you ask me, but okay! Does this mean I have to get the Fluke to
> exercise the indivual bits to work out which of the 2114s is failing?

dude.. every single game ever that uses 2114's uses them this way... you
have two 4-bit rams.. how do you use them with conventional 8bit cpu's ?
simple, you use one for the high bits, one for the low bits. Check schems
from other games, EVERY game does this.

How to check them.. well if you had a fluke 9100 you would simply run the
ram test masked with either F0 or 0F... but you have a 9010, so i guess you
have to run the test, but check with the error messages the fluke is giving
you, if it is reporting D0-D3 then its lower ram, D4-D7 = upper bit.. ?? i
don't use one, so i don't really know :)

> Irrelevent in this case, as there's only two so it doesn't take long to
swap
> each out and see which cures it, but I'm talking from a theory POV here
:O)
>
> Finally, am I right in saying that the actual program code is accessed
> directly from the ROMs, and the 1K of memory (2 x 2114) is just storage
> space for the program?

well, depends on how it was programmed, if it concerns you enough,
dissasemble the code and find out :)

I think the z80 has a bunch of zeropage instructions, so it needs accesible
memory in the first 64bytes at the least (0000->00FF) for quick
calculations.

> Martin.

Andy Welburn
www.andys-arcade.com
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,058CR
RE: [ukvac] [Tech] Ram / rom queries
> I think 4027's are ram.... never come across them myself,
> but ithink my carnival uses them.

4027's ARE ram. They're 4k*1 DRAM. I was just wandering if anyone knew what they
were used for in this application. As I say, I'm not good enough with schematics
and hardware yet to be able to look at the schematics and say "ah, that's video
ram" or "scratch ram" or whatever!

> dude.. every single game ever that uses 2114's uses them this
> way... you have two 4-bit rams.. how do you use them with
> conventional 8bit cpu's ? simple, you use one for the high
> bits, one for the low bits. Check schems from other games,
> EVERY game does this.

I'm aware of this too! I was merely commenting that it seems to be an odd way to
do it. I'd have considered another way (won't say better as I don't know the
reasons behind doing it with 2114s in the first place) would have been to use 2
of something that has 512bytes * 8 bit. Maybe such a thing doesn't exist! Merely
an observation, that's all.

> How to check them.. well if you had a fluke 9100 you would
> simply run the ram test masked with either F0 or 0F... but
> you have a 9010, so i guess you have to run the test, but
> check with the error messages the fluke is giving you, if it
> is reporting D0-D3 then its lower ram, D4-D7 = upper bit.. ??
> i don't use one, so i don't really know :)

Okay, will have to dig further with the Fluke documentation and stuff. As I say,
to fix the board I can just swap them out, but it's a good opportunity to get to
grips with the Fluke a bit better. Maybe Quarterarcade will have some useful
info in their tutorial.

> > Finally, am I right in saying that the actual program code
> is accessed
> > directly from the ROMs, and the 1K of memory (2 x 2114) is just
> > storage space for the program?
>
> well, depends on how it was programmed, if it concerns you
> enough, dissasemble the code and find out :)
>
> I think the z80 has a bunch of zeropage instructions, so it
> needs accesible memory in the first 64bytes at the least
> (0000->00FF) for quick calculations.

6502, but yeah, it does, so I guess that's what's going on then. There isn't
nearly enough ram there for the whole of the program code to be mirrored into
ram. And I guess there would be no reason to unless the 2708's could be acessed
fast enough. But we're only talking about a game made in 1980 (I think), so I
doubt it's matter :O)

Martin.
 

P-Man

International man of mystery
Feedback
4 (100%)
Credits
1,273CR
Re: [ukvac] [Tech] Ram / rom queries
> I'm aware of this too! I was merely commenting that it seems to be an odd
way to
> do it. I'd have considered another way (won't say better as I don't know
the
> reasons behind doing it with 2114s in the first place) would have been to
use 2
> of something that has 512bytes * 8 bit. Maybe such a thing doesn't exist!
Merely
> an observation, that's all.

thats completely and utterly irrelevant. if you hooked up 512*8 in the same
way as 2114, it still wouldn't work as you would only have 512bytes at your
disposal (assuming you just hooked up the lower and upper bits) if you
hooked up 512*8 you might as well have just said, "i know, i have this great
idea, lets use 1k*8 and ignore this silly upper and lower bits."

whats the point tho? 1k*4 was cheap and plentiful, cheaper than any other
8bit ram device at the time, thats why it was widely used. every man and his
dog was producing it, so it wasn't like supply was going to be a problem..

but why are you bothering to question it now? irrelevant..

> > I think the z80 has a bunch of zeropage instructions, so it
> > needs accesible memory in the first 64bytes at the least
> > (0000->00FF) for quick calculations.
>
> 6502, but yeah, it does, so I guess that's what's going on then. There
isn't
> nearly enough ram there for the whole of the program code to be mirrored
into
> ram. And I guess there would be no reason to unless the 2708's could be
acessed
> fast enough. But we're only talking about a game made in 1980 (I think),
so I
> doubt it's matter :O)

Game rom is rom, it _never_ has to be loaded into memory. It is the
program.. it is the purpose of the program to manipulate data in set aside
memory space for the RAM. Sure, if you wrote self-modifying code, or you
left pages of FF's in your rom code to work out sums in then yeh.. but that
is not good programming practise, and from a hardware point of view,
irrelevant as 90% of the code remains the same. Fetching instructions from
ROM doesn't need to be ultra fast.

You could write a program that filled up a huge bank of 2708's and still
only used 1k of ram.. There's nothing wrong with that, its up to the skills
of the programmer and the task at hand..

> Martin.

You have the ability to go off on complete tangents, and have a strange way
of looking at how things are done Martin.. This makes responding to your
posts time consuming and at the end of the day resulting in information
being relayed to you that you should really already know if you're this far
down the fixit line..

:)

Andy Welburn
www.andys-arcade.com
 

d-type

Active member
vacBacker
Credits
172CR
RE: [ukvac] [Tech] Ram / rom queries
>Now the 2114s, appear to both get the same address from the bus, with one
>2114 outputting the lower 4 bits of data and the other the upper 4 bits.
>(Well according to the schematics anyway). A bit of a bizarre way of
doing
>it if you ask me, but okay! Does this mean I have to get the Fluke to
>exercise the indivual bits to work out which of the 2114s is failing?

At a guess, I'd say that these RAMs predate the popular 8-bit
microprocessors and were designed for 4-bit ones (4004?). These didn't do
very much so 1 small RAM chip was probably enough.

When 8-bit processors came in, programs became more complex and needed
lots more RAM, but RAM technology might have lagged behind a bit.

1-bit RAMs probably became a better option because they only need 1 output
pin instead of 7 (although a few more address pins), and you were probably
already committed to using lots of RAM chips on the PCB anyway.

This is all guesswork...

D-Type
 

d-type

Active member
vacBacker
Credits
172CR
RE: [ukvac] [Tech] Ram / rom queries
>Now the 2114s, appear to both get the same address from the bus, with one
>2114 outputting the lower 4 bits of data and the other the upper 4 bits.
>(Well according to the schematics anyway). A bit of a bizarre way of
doing
>it if you ask me, but okay! Does this mean I have to get the Fluke to
>exercise the indivual bits to work out which of the 2114s is failing?

At a guess, I'd say that these RAMs predate the popular 8-bit
microprocessors and were designed for 4-bit ones (4004?). These didn't do
very much so 1 small RAM chip was probably enough.

When 8-bit processors came in, programs became more complex and needed
lots more RAM, but RAM technology might have lagged behind a bit.

1-bit RAMs probably became a better option because they only need 1 output
pin instead of 7 (although a few more address pins), and you were probably
already committed to using lots of RAM chips on the PCB anyway.

This is all guesswork...

D-Type
 

archonukvac

Active member
Credits
15CR
RE: [ukvac] [Tech] Ram / rom queries

There was quite a lot of 4, 8 and 12 (yes 12) bit processors in the 70s. I
can remember programming the sods even then, and building ram boards that
never worked until you had 2 decoupling caps per chip. Ahh, dem were de
days.
 
Top