I couldn't get CUPL to run on Windows 10 at all without crashing. Futzed around for hours trying to install ancient runtime packages and nothing helped.I've started doing the simulator test, only done two lines so far (basically done a read cycle with A20 high and the other address lines low and then made A21 high). Seems useful other than the graphical glitches due to the program being so old and not fully Win10 compliant.
Name Dunkirk decoder ;
PartNo 00 ;
Date 13/05/2020 ;
Revision 01 ;
Designer Engineer ;
Company Personal ;
Assembly None ;
Location ;
Device g16v8 ;
/* *************** INPUT PINS *********************/
PIN 1 = A20 ; /* */
PIN 2 = A23 ; /* */
PIN 3 = A22 ; /* */
PIN 4 = A21 ; /* */
PIN 5 = !AS ; /* */
PIN 6 = RW ; /* */
PIN 7 = !UDS ; /* */
PIN 8 = !LDS ; /* */
PIN 9 = !DELAYCS ; /* */
/* *************** OUTPUT PINS *********************/
PIN 13 = !RAMWELOW ; /* */
PIN 14 = !RAMWEHIGH ; /* */
PIN 15 = !RAMOE ; /* */
PIN 16 = !AS245OE ; /* */
PIN 17 = AS245DIR ; /* */
PIN 18 = !HC154OE ; /* */
HC154OE=!DELAYCS & AS & A20 & !A21 & !A22 & !A23;
RAMOE=HC154OE & RW;
RAMWELOW=HC154OE & !RW & LDS;
RAMWEHIGH=HC154OE & !RW & UDS;
AS245DIR=RW;

For us mere mortals there's Kicad. It's... totally okay, really!
(When I first started using it I really wished it had a functioning autorouter but, hey, routing by hand is an interesting puzzle challenge.)
They're mostly set up for prototyping and the small number of boards I think.Also, Osmond PCB is now donation ware and there are versions for intel OSX, PPC OSX and PPC Classic. I like Osmond, but it's what I started out with.
https://www.osmondpcb.com/download.html
Re: PCBway, just took a look at their website and their pricing is a little odd. $5 for 10 boards, but $131 for 100 boards. I guess the 5 board pricing is to get you hooked?
The original code I wrote only enables OE and WE based on the opposite state of the RW output lines from the bus:Oh, the GAL's /RAM_OE line seems to be glitching, according the logic analyser.
As you can see it's sometimes logic '1' when /154_OE is logic '0' which it should never be able as they share one of their enabling conditions. It's almost as if it needs a pull-up resistor.
You should never give the RAM both write enable and output enable at the same time.
View attachment 33711
There shouldn't be any circumstance under which it would enable both at once unless there's some internal delay in play here since RAMOE is dependent on the feedback from MEMCS. (/MEMCS would be the equiv of your /154_OE.) The weird thing is if it *was* glitching on a feedback delay it should also be glitching on all the other lines that depend on it. (745OE and the two WE lines.) Your code looks like a pretty straight translation of mine other than it looks like we reversed the required state for AS. (Maybe I had it backwards, always possible.)...Code:/245OE = /RAMOE + /RAMWEHI + /RAMWELO /MEMCS = A20 * /A21 * /A22 * /A23 * /AS /RAMOE = /MEMCS * /UDS * RW + /MEMCS * /LDS * RW /RAMWEHI = /MEMCS * /RW * /UDS /RAMWELO = /MEMCS * /RW * /LDS
There's a number of weird things about PCBWay's pricing model. Their 10 for $5 is a helluva deal as long as your prototype is under 100mm in any dimension, but the pricing takes a huge leap if you exceed that. My most recent project was 100x150 mm and five boards from PCBway at that size gets quoted at $34. JLCPCB was only $9.10 for five so I gave them a try this time and so far their boards seem to be of roughly equivalent quality.Re: PCBway, just took a look at their website and their pricing is a little odd. $5 for 10 boards, but $131 for 100 boards. I guess the 5 board pricing is to get you hooked?