should it be a banned topic, please tell me :)

i was fixing a burned PAL chip in spider stompin deluxe, a redemption game. the PAL is somehow related to sound generation (using MSM6295). here are the connection of the PALCE16V8:

1. to XTAL 20MHz
2. to U25(A15)
3. to U25(A16)
4. to U25(A17)
5. to U16.2
6. to U16.5
7. to U16.6
8. to U16.9
9. to U16.12
10. to gnd
11. to gnd
12. to U29(A15)
13. to U29(A16)
14. to U29(A17)
15. to U29(A18)
16. nc
17. nc
18. nc
19. to U25(/XT)
20. to VCC

U25 is MSM6295 sound chip, need xtal [1..5MHz], the pin is /XT, max xtrn rom 4Mbit (A0-A17).
U16 is 74HC273
U29 is 27C040 (4Mbit) contain the sound data

somehow U16 was connected to a common bus (several chip join in that bus), several was from another(373). so, because i dont have the jeds source and its very difficult to look for the replace(the factory was not producting anymore), i need to somehow guessing what this chip doing. afaik, /XT is somehow an output from freq divider from the XTAL(pin 1). then the some pin bus connected, somehow determine which sound /no sound will or being played. but i dont know it yet. pin A18 to data rom, was somehow selected too. pin 2..4 is address pin output from 6295.

the board problem right now is no sound and its reset itself periodically. any help'd apreciated.

Posted on 2003-08-17 21:29:47 by dion
Do you have a schematic? Do you have a data sheet for the MSM6295?

I agree that the PAL divides the 20MHz down for the MSM6295.
I think that the PAL also maps the 27C040 into the address space of the sound chip.

p.s. I think this would be an acceptable form of RE.
Posted on 2003-08-19 03:39:26 by eet_1024
well, i'd take that, dont care about RE, what i care is the machine's vendor is didnt exist anymore :tongue:

yesterday, i made a modulo 8 with 7474, and feed the msm6295 clock with it, guess what... it worxxxx!!! now, i just need to know how to do it with PALCE16V8. hope someone would tell me how to do it. i had read the PAL handbook about using PALASM, but frankly i dont know that sequential function can be represented in boolean function, like expression in PALASM :( since i neva learn about function with sequential device in it, i cant understand how things done :(

i had look at the pins from U16. it seems the two are always low. the other 3 was forming a combination to select bank memory for sound data. uhm.. looks like this is need to be RE-ed. what i'm gonna do is trying to group each phrase in sound data.
EET, yes, i do have that MSM6295 datasheet, if u carefully watch my post before :)
Posted on 2003-08-20 05:47:27 by dion
Can post or send me the schematic? I found the datasheet at freetradezone.
Posted on 2003-08-20 14:44:04 by eet_1024
hi EET, really, i cant find it there. how to search it?

the schematic? i think i had give all necessary information above :)
sheess... i just got to be ..... i need time to learn again to make equ in PALASM :(
Posted on 2003-08-22 06:12:50 by dion
uhm.. freetradezone is not free :(
Posted on 2003-08-25 06:40:50 by dion
I haven't been billed yet. Datasheets are found under Research.
Posted on 2003-08-26 02:49:09 by eet_1024
yes i know, i had found it, but its shows a lock icon, so i must become CAPS/whatever member first, aka its not free :(
Posted on 2003-08-26 06:24:02 by dion
hi all, i was just have some time right now. i am using WINCUPL (FREE!!! from Atmel) to build the jed file for GAL16V8. 1st, i trying to tackle the clock source. i had a little confuse here. i am using decade counters example from them and edit it a bit, like this :

Name test;
Partno 0000;
Date 10/07/03;
Revision 00;
Designer dion;
Company bk;
Assembly None;
Location None;
Device g16v8a;

/** Inputs **/

Pin 1 = clk; /* Counter clock */
Pin 11 = !oe; /* Register output enable */

/** Outputs **/

Pin [17..19] = [Q0..2]; /* Counter outputs */

/** Declarations and Intermediate Variable Definitions **/

field count = [Q2..0]; /* declare counter bit field */
$define S0 'b'000 /* define counter states */
$define S1 'b'001
$define S2 'b'010
$define S3 'b'011
$define S4 'b'100
$define S5 'b'101
$define S6 'b'110
$define S7 'b'111

/** Logic Equations **/

Sequenced count { /* free running counter */

present S0 next S1;
present S1 next S2;
present S2 next S3;
present S3 next S4;
present S4 next S5;
present S5 next S6;
present S6 next S7;
present S7 next S0;

anyone experts in those wincupl syntax/whoever know, is this make any sense?
i confuse about the state. if i use state, am i must using bit field/count, aka assign pin for the outputs?

i dont want this way, i just want 1 pin as the output. not 3 pin.

Posted on 2003-10-07 02:59:46 by dion
Since there are no buried nodes, you have to have 3 pins, just don't connect to Q0..1

You should look at a block diagram for the GAL

If you want a PAL assembler instead of compiler download PLANII from
Posted on 2003-10-08 21:42:13 by eet_1024
buried nodes? actually i still dont get what "node" means. is it a dots/fuses in GAL block diagram?
Posted on 2003-10-09 05:59:24 by dion
nodes i.e. macro cells

buried means it only feads back to the product array. It doesn't output to a pin.

The every cell in the 16V8 can output to a pin; if you want to feed it back, you can't use the pin as an input

Look of page 5 of

The XC9536 has buried nodes
Posted on 2003-10-10 00:15:31 by eet_1024