That's slick :-)!
Just a suggestion, and I think it's been discussed before, but you might
want to make a PCB that replaces
a bank of PROMs on Star Wars PCBs. You might be able to fit both SW and
ESB into that Xilinx PLD you
are using and just have a pin to switch between them. Also, although it
would be a low volume product, having
a replacement PCB for those PROMs in the I, Robot state machine would be
very nice!
Another idea to consider is one Clay threw out there years ago ... a
CPU-get-well kit. Something like a socket for a 6502 + PLD for address
decoding + PROM/RAM would be *really* nice. Almost any classic Atari
game could work with that.
My CCPU is written in VHDL. I basically interpreted Zonn's
documentation to create the logic. Think of it as a cycle by cycle
accurate emulator of the CCPU where I use a higher level language to
detail the CCPU's operations. An alternative for you is to simply
recreate the schematics in Xilinx/Altera tools. They provide primitives
for virtually all 74xx series logic. Assuming you use an FPGA (and a
smaller one will suffice), you can also embed all of the CCPU RAM
(256x12 if memory serves). Program ROM might still have to be an
external, parallel flash as I don't think there is enough blockRAM in
the cheapest Xilinx/Altera parts. In the case of Xilinx Spartan 3 or 6
FPGAs, each blockRAM is 2KB (well, 18Kb to be specific, but the extra
bits are intended for use as parity bits if you need them). The largest
CCPU game is 32KB if I am not mistaken. Also, some of the smaller,
cheaper Actel parts out there that I've used would fit the CCPU and the
Actel's design tools are not unlike the other's (in fact, Actel allows
you to use Synplify for free ... it's the best synthesis tool out there
in my humble opinion).
The best way to get good at this HDL crap is pick the language you are
more comfortable using. I suggest VHDL as it is SO much easier to pick
up Verilog once you understand the fundamentals of HDLs, but Verilog
looks less intimidating. From there, make small circuits that replace
groups of logic on an existing PCB :-) . You could probably use your
current PLD to create sections of the CCPU and simply wire that PLD in
to the respective points and test it. If you start with schematics,
virtually all of the tools will spit out a VHDL description of all of
you wired 74xx parts ... you can gain familiarity that way and work your
way forward. There are also sites like fpga4fun.com are an excellent
starting point. If I were a better person with time, I'd make a site
similar to that.
I hope to finish the CCPU someday, but some slave driver across the
country keeps feature creeping some display chip I am working on ;-) :-P
. That's my excuse for this year ... I have many other excuses for not
finishing it over the, what, 10 years I have tinkered with this.
Fortunately for Mr. Slave Driver, we should have more help on the
display chip as I posted all of the design files on servers in China and
Russia by accident :-P. What's sad is that about 2 years ago I sat down
for a day and cranked out most of the code for the CCPU, got it to
compile/synthesize, and even had some game code executing in simulation
... I need more days like that.
Ed
William Boucher wrote:
> I finished building my little bprom replacement boards for the
> Cinematronics CCPU.
> See here: http://www.biltronix.com/CCPU_Custom_Chip_Replacements.html
> Pictures now shown. I have lots of the PCBs so you can consider these
> available.
>
> These small boards can replace bproms from other games as well.
> Bascially anything in a DIP-16.
>
> William Boucher
>
> ----- Original Message ----- From: "William Boucher" <boucher@mnsi.net>
> To: <vectorlist@vectorlist.org>
> Sent: Thursday, October 01, 2009 11:56 PM
> Subject: VECTOR: Cinematronics BPROM alternatives
>
>
>> I dunno about anyone else, but I'm rather sick of problems related to
>> sourcing and programming the old bipolar PROM chips on game boards.
>> Tons of games use BPROMs but they can be very hard to source, they
>> can be expensive, and finding an old programmer box that supports
>> them is even tougher. I used to have an older programmer that could
>> handle 82Sxxx parts but that's it. I tried burning 6301, 74Sxxx, and
>> such equivalents but they failed. My present programmer, a Xeltek
>> SuperPro/Z cost me only $100 and it can program all sorts of EPROMs,
>> flash SPLD, flash EEPROM, PAL, GAL, and stuff like that.
>>
>> I repair several Cine CCPU boards each year for people and the dam
>> BPROMs are always what I fear the most will have to be replaced.
>> Since there are five 74S288 (32 x 8) type BPROMs on the CCPU, I
>> decided to start with that. I chose an Atmel SPLD that is really
>> cheap ($1.50), available from almost any electronics distributor, is
>> available in a small SOIC package, and is supported by my programmer
>> (and almost every programmer on the market today). I wrote separate
>> programs for all five BPROMs (located at E8, C14, D14, E14, J14)
>> using Atmel WinCUPL which is free. It produced the JEDEC (*.jed)
>> files needed to program the chips. The new chips are flash or
>> EE-SPLD. They are as fast as the original BPROMs. I made a chip
>> adapter socket today and tried the new chip in all five locations on
>> a known good CCPU board and they all worked fine. I have designed a
>> tiny new PCB that will convert the new chip pin-order to plug
>> directly into the CCPU original locations.
>>
>> I have also designed a replacement for the larger BPROM (74S287 256 x
>> 4) located at F14. For a first effort, it is based on a Xilinx
>> XC9536. I couldn't get all of the data to fit into a cheaper SPLD
>> but I'm open to suggestions if someone has a smaller cheaper chip in
>> mind for the job. I still have to build a socket adapter to try it.
>> For now, the design is done and the code is written in VHDL but I
>> haven't tried it in a running board yet.
>>
>> Also, I don't care much for old windowed EPROMs either. They're okay
>> and they've proven their worth, and some guys out there still sell
>> NOS parts at good prices but it's not like you can just buy them
>> anywhere you want to anymore. For the Cine CCPU (or Vectorbeam Space
>> War), I decided to try something else just for fun. I know someone
>> will say "seen it, old news" but just in case someone else might find
>> it interesting I'm going to say it anyway. I purchased some new
>> readily available flash parallel EEPROM chips that my programmer
>> supports. The OnSemi CAT28C16A is a 2k x 8 flash memory with the
>> same pinout as a standard UV 2716 except that on the new chip, pin 21
>> is "/WE" and not "Vpp". If the CCPU had wired pin 21 as tied high,
>> the new chip would just plug in and work. As it is, pin 21 is tied
>> low and so that would hold the new chip in "write" mode and we don't
>> want that. The solution I used tonight just to try it out was to
>> program the chip, bend the pin outward just a little and plug the
>> chip into the socket with pin 21 hanging out over the side. The
>> board ran fine.
>>
>> The advantages of the EEPROM are:
>> -more widely available than UV 2716 chips
>> -cost is very low
>> -no UV needed to erase it, programmer does it instantly
>> -has 100 year retention
>> -has no window so it can't be corrupted by external light sources
>> -can be instantly reprogrammed for other games
>>
>> There's no 4k x 8 equivalent to the 2732 chip that I am aware of, at
>> least not in current distributor stocks. If there was, you could do
>> this same type of replacement for games such as Armor Attack and
>> Solar Quest. However, there is a 64k x 8 device that is in a 28-pin
>> package. The cool thing about it is that it can be plugged into the
>> original socket with 4 pins at one end hanging out and it has
>> everything needed except power. One tiny wire jumper fixes it. Or,
>> you can install 28-pin sockets into the original 24pin sockets and
>> add the jumper to that. Also, there's a couple of extra address pins
>> to tie down but that's super simple. You can even program up to 8
>> games into the new chips and add switches to operate the extra
>> address pins to create a multi-game CCPU. That doesn't address the
>> obvious control panel wiring differences or the audio issues, but
>> still. You can make a general CCPU that can be used on the bench to
>> test several different games at the flip of a DIP switch or two.
>> This has been done before and is in fact old news but to my knowledge
>> the chips suggested were older UV parts. I'm suggesting to use the
>> newer flash CAT28C64 type as a superior replacement device.
>> Designing a CPLD to reroute the control panel lines would also be
>> easy but I like Zonn's more practical approach of redefining the
>> input lines within the game source code such that all the inputs for
>> all the games match and then you could build a universal control panel.
>>
>> Working with the SPLD and CPLD parts to replace old custom logic gets
>> me a little pumped to dive in and start collecting whole sections
>> into CPLDs. There's been lots of talk about possible single-chip CCPU
>> boards emerging in the near future and that would be exciting. I'm
>> very new to such devices so I expect that a project that big is
>> beyond me for the moment, but I can see how more experienced
>> designers can really get into this stuff and pull it off. I might
>> not be able to make a single-chip clone board on my first try, but I
>> bet I could get it under 15, maybe 10.
>>
>> My plan presently is to get a couple hundred of the little 32x8 BPROM
>> converter PCB's made so if anyone is interested in them, let me
>> know. I may work something out for the 256x8 some time soon after that.
>>
>>
>> William Boucher
>> ---------------------------------------------------------------------------
>>
>> ** Unsubscribe, subscribe, or view the archives at
>> http://www.vectorlist.org
>> ** Please direct other questions, comments, or problems to
>> chris@westnet.com
>
> ---------------------------------------------------------------------------
>
> ** Unsubscribe, subscribe, or view the archives at
> http://www.vectorlist.org
> ** Please direct other questions, comments, or problems to
> chris@westnet.com
>
---------------------------------------------------------------------------
** Unsubscribe, subscribe, or view the archives at http://www.vectorlist.org
** Please direct other questions, comments, or problems to chris@westnet.com
Received on Sat Oct 24 16:00:59 2009
This archive was generated by hypermail 2.1.8 : Sat Oct 24 2009 - 20:50:01 EDT