cbscpe wrote:
I would try to check with WinCUPL. Let it select the PINs, so it can put the Data outputs of the bit that requires more product terms to the appropriate OLMC (the GAL22V10 has different numbers of PT for the OLMCs). Then you can use the TABLE instruction of WinCUPL which would look like
Code:
TABLE ADDRESS => [D7..0] {
[00] => 'h'ab;
[01] => 'h'cd;
[02] => 'h'ef;
}
It's more of a try and error, but you get a first impression how feasible it is to put a bootloader into a GAL. Perhaps you could even use an additional input to the GAL instead of using SO that would modify the wait cycle. Then you could use it for a 65C816 as well.
Cheers
Peter
Thanks for the info, I'll test it when I find time. Last time it was a lousy job to address decode chip select signal for swinsid. It failed intermittently. GALs have clock input which differentiates it from discrete logic circuits.
But firstly I should test this 32 bytes loader with eproms. If it doesn't work then all is useless (for me)
I'd like to upgrade to a 65C816 but I have plenty of stuff yet to implement for this existing work. I'm still learning.
Actually it could even be reduced to single pin if one wants, just trigger nmi for say 16 different timings and have foreground task to measure time and transfer 4 bit of data.
If one have other means to transfer data (i/o peripherals) upon bootloading then 1 pin bootloading would be really nifty interface. In my case I don't have such setup though I want to introduce a VIA (instead of CIA*) into my circuit to support digi sids. Then I can switch to this method to do parallel speedy transfer.
*: VIA seems to be adaptable to CIA, it have reverse registers and could be adapted as a CIA for certain tasks with proper cabling.