|
Post by minsoft on Jul 7, 2022 10:48:20 GMT -5
sorta related has anyone tried DS28E07+ as a drop in replacement for DS243x? Haven't tried it but looks like it might work as replacement for DS2431:
|
|
|
Post by gauze on Jul 7, 2022 17:01:17 GMT -5
yeah I saw that too but you know, I'd like to have a real world answer. Also they won't send me a sample for free cause they don't like my email address heh.
|
|
|
Post by playvectrex on Jan 17, 2023 22:32:20 GMT -5
I have a cart with an eprom ZIF socket for testing, which has a DS2430A and resistor wired up for save data. I'm using Alex Herberts driver for the software side.
It works perfectly when using UV erasable eproms, eg AMD AM27C256. However I recently bought a few 'one time' non-erasable eproms to try (Cypress CY27C256), and with these, the (32k) game I am testing does some strange things (eg flickering vectors) and after a while crashes (black screen, stuck sounds). The same game with save data code disabled works fine on these eproms however.
Does anyone know why this might be? Perhaps just a case where the Cypress eproms are not a good match for the rest of the hardware?
What PCB are you using for the cart, and what is pin 1 of the 28-pin DIP hooked to? "The same game with save data code disabled works fine on these eproms however." That sounds like the DS2430A is intertwined with the PROM in some way. Normally the DS2430A is only hooked to PB6 and the pull up resistor and nothing else. I'm curious if PB6 is somehow connected to pin 1 (Vpp) of the PROM, because some carts have this as an option for 64KB bankswitching mode. If the DS2430A was not connected in anyway with the Cypress PROM, I can't see how disabling the save data code would fix anything.
|
|
|
Post by minsoft on Jan 24, 2023 4:58:40 GMT -5
What PCB are you using for the cart, and what is pin 1 of the 28-pin DIP hooked to? "The same game with save data code disabled works fine on these eproms however." That sounds like the DS2430A is intertwined with the PROM in some way. Normally the DS2430A is only hooked to PB6 and the pull up resistor and nothing else. I'm curious if PB6 is somehow connected to pin 1 (Vpp) of the PROM, because some carts have this as an option for 64KB bankswitching mode. If the DS2430A was not connected in anyway with the Cypress PROM, I can't see how disabling the save data code would fix anything. Many thanks for your reply.
I am using Jimm Watt's (clockworkrobot) PCB. The PCB does have an option to bridge some contacts for 32K or 64K, and I wasn't sure if this was required. I have bridged the 32K contacts (Jim said he thought this was required when using a DS2430/1), but I have seen a picture of one of Malbans which doesn't appear to do this:
This does connect pin 1 of the 27C256 to something (looks like pin 14 of 27C256 & pin 3 (EDIT: pin 1) of DS2430/1). I guess from what you're saying that is probably the problem. I'll try removing the bridge (might be easier said than done as the ZIF socket covers it I think) and see what happens...
|
|
|
Post by playvectrex on Jan 24, 2023 11:30:01 GMT -5
Hmm, it looks like that 32K jumper just shorts pin 1 of the EPROM to GND. That would be correct for a 64K EPROM that you want to use as 32K only, since pin 1 is A15... but for 32K EPROMS, that's the VPP pin and normally it should be tied to VCC or GND from what the CY27C256 datasheet says, but shouldn't be left floating.
So I would guess this is not your problem.
Just as a quick check, are you using a DS2430A or DS2431+ ? And they have different routines for each in the firmware.
|
|
|
Post by minsoft on Jan 25, 2023 6:43:17 GMT -5
Hmm, it looks like that 32K jumper just shorts pin 1 of the EPROM to GND. That would be correct for a 64K EPROM that you want to use as 32K only, since pin 1 is A15... but for 32K EPROMS, that's the VPP pin and normally it should be tied to VCC or GND from what the CY27C256 datasheet says, but shouldn't be left floating. So I would guess this is not your problem. Just as a quick check, are you using a DS2430A or DS2431+ ? And they have different routines for each in the firmware. Hmmm, ok. I have removed the bridge anyway just to test it out. It still seems to work fine with my 'known good' eproms, but I haven't programmed any of the problem ones yet to re-try those - I will do that tonight.
Malban didn't use the bridge on his Karl Quappe cart so maybe it doesn't matter if Vpp is left floating?
I have separate PCBs for both DS2430 and DS2431, but I have only been using 2431 more recently with my 'known good' eproms and therefore haven't had a problem with that. I will do further testing with the 2430 as I know that is where I had the problems before.
Thanks for your help with this. I'd love to get to the bottom of it as at the moment I have to buy eproms of different types and it is pot luck whether they will work or not. Also, annoyingly, I have to play my game for 60+ minutes to be sure that there are no problems, as depending on the eprom type, problems can occur at different points in the game (never when saving/loading data incidentally).
|
|
|
Post by minsoft on Jan 25, 2023 6:56:02 GMT -5
"The same game with save data code disabled works fine on these eproms however." That sounds like the DS2430A is intertwined with the PROM in some way. Normally the DS2430A is only hooked to PB6 and the pull up resistor and nothing else. I'm curious if PB6 is somehow connected to pin 1 (Vpp) of the PROM, because some carts have this as an option for 64KB bankswitching mode. If the DS2430A was not connected in anyway with the Cypress PROM, I can't see how disabling the save data code would fix anything. Just re-read this and want to clarify something...
When I said there is no problem with the save data code disabled (with the problem eproms), I was testing with a different PCB without the DS2430 present. So I know the eproms 'work'...there is only a problem when using a PCB with DS2430, and load/save code present. I have no idea why some types of eproms work and some don't.
|
|
|
Post by minsoft on Jan 25, 2023 16:21:49 GMT -5
I don't want to speak too soon but after a good amount of testing with two 'problem' eprom types, it seems to be working perfectly since removing that bridge on the PCB. I will need to do some testing on my other Vectrex (which is the one I normally use for testing) but so far so good.
For the record the eproms tested:
* Cypress CY27C256-120PC (actually a PROM) * AMD AM27C256-255DC
I probably won't get to test on the other Vectrex until the weekend so will report back once done...
|
|
|
Post by playvectrex on Jan 25, 2023 18:25:38 GMT -5
Hmm, it looks like that 32K jumper just shorts pin 1 of the EPROM to GND. That would be correct for a 64K EPROM that you want to use as 32K only, since pin 1 is A15... but for 32K EPROMS, that's the VPP pin and normally it should be tied to VCC or GND from what the CY27C256 datasheet says, but shouldn't be left floating. So I would guess this is not your problem. Just as a quick check, are you using a DS2430A or DS2431+ ? And they have different routines for each in the firmware.
Malban didn't use the bridge on his Karl Quappe cart so maybe it doesn't matter if Vpp is left floating?
You should always follow what the datasheet recommends because they will not guarantee undocumented behavior. Not that we will do anything about undocumented behaviour, like getting our money back Good luck!
|
|
|
Post by playvectrex on Jan 25, 2023 18:28:18 GMT -5
I don't want to speak too soon but after a good amount of testing with two 'problem' eprom types, it seems to be working perfectly since removing that bridge on the PCB. I will need to do some testing on my other Vectrex (which is the one I normally use for testing) but so far so good.
For the record the eproms tested:
* Cypress CY27C256-120PC (actually a PROM) * AMD AM27C256-255DC
I probably won't get to test on the other Vectrex until the weekend so will report back once done...
Whoa, weird! I think I need to look at a blank clockworkrobot PCB to see if there's any other connections we can't see... That's really weird though. I was just going to suggest trying to switch to DS2431+ and that driver code.
|
|
|
Post by minsoft on Jan 26, 2023 8:16:09 GMT -5
Whoa, weird! I think I need to look at a blank clockworkrobot PCB to see if there's any other connections we can't see... That's really weird though. I was just going to suggest trying to switch to DS2431+ and that driver code. As far as I can tell the '32K' bridge just connects pin 1 (Vpp) to GND. Here are some pics of the bare PCB:
I had a look at the datasheet for the Cypress CY27C256 and the only pertinent thing I could see was 'Vpp should not exceed Vcc in read mode'. So it should be ok connected to ground (but isn't), and unconnected should be ok presumably (seems to be so far).
The AMD AM27C256 datasheet says Vpp should be connected to VIH or VIL. Presume VIL is ground but that seemed to cause problems as well, and (so far) seems ok with Vpp unconnected.
So I can't really do as the datasheets say, unless there is some other factor involved that I don't yet know about yet...
I'll continue testing without the 32K bridge connected using various Vectrexes / eproms / eeproms (2430/1) and see if I encounter any problems with certain combinations.
|
|
|
Post by playvectrex on Jan 26, 2023 10:56:17 GMT -5
Great, thanks for confirming! If you see note 8 in table 1 in the CY27C256 datasheet, it also states that "X can be VIL or VIH" and Vpp is marked as X. So they are saying it's ok if it's connected to GND or VCC. It really does sound like the DS2430 library is just interacting with your code somehow that is negatively affecting this Cypress part, but not the other chips. That's quite possible depending on what you are doing in your drawing routines, since the way DS2430 works is by manipulating PB6 of the VIA. It's very strange. I'm curious to hear if floating Vpp does in fact fix it though. I'm going to be perplexed if that's the case
|
|
|
Post by minsoft on Jan 26, 2023 11:25:34 GMT -5
Great, thanks for confirming! If you see note 8 in table 1 in the CY27C256 datasheet, it also states that "X can be VIL or VIH" and Vpp is marked as X. So they are saying it's ok if it's connected to GND or VCC. It really does sound like the DS2430 library is just interacting with your code somehow that is negatively affecting this Cypress part, but not the other chips. That's quite possible depending on what you are doing in your drawing routines, since the way DS2430 works is by manipulating PB6 of the VIA. It's very strange. I'm curious to hear if floating Vpp does in fact fix it though. I'm going to be perplexed if that's the case Yeah it's very odd. I'm just using the DS2430 driver by Alex Herbert which I assume other people have used without issue. As for drawing routines, I'm using BIOS routines, some macro versions of BIOS routines and Malbans optimised macro version of Draw_VLc.
The full list of eproms I have had issues with are as follows:
AMD AM27C256-200DC AMD AM27C256-255DC
Cypress CY27C256-120PC
However note that not all of these produce the same issues. For example the Cypress one caused issues straight away in the attract mode, AM27C256-200DC caused an issue when one of my enemies fires a certain type of shot on the 10th level (or further)...but not if I change the code to try to make it happen sooner. And the other eprom only caused a problem 20+ levels into the game. None of them had any problem when loading or saving data to the DS2430.
The 2nd of those problems can be seen here (I thought it was a code problem originally...but changing to a different eprom type cured it entirely):
|
|
|
Post by playvectrex on Jan 26, 2023 12:13:57 GMT -5
Most games use the DS2431+ code, because the DS2430A is older and more obsolete than the DS2431+. Still could be worth trying a change there.
"AMD AM27C256-200DC AMD AM27C256-255DC Cypress CY27C256-120PC
However note that not all of these produce the same issues. For example the Cypress one caused issues straight away in the attract mode, AM27C256-200DC caused an issue when one of my enemies fires a certain type of shot on the 10th level (or further)...but not if I change the code to try to make it happen sooner. And the other eprom only caused a problem 20+ levels into the game. None of them had any problem when loading or saving data to the DS2430."
Interesting that you still have other issues with these other EPROMs. I wonder if the slow read speed of these really does matter for you? Personally I have only been using 70ns or better parts. If you can get your hands on those, might be worth a test.
|
|
|
Post by limitzer0 on Jan 26, 2023 12:24:17 GMT -5
Is it loading/saving at the time these issues happen? It seems like it wouldn't be.
I wonder if the access time is just too high on those chips. I don't know what the max acceptable time is for the Vectrex.
Didn't see your post. But yeah, this ->"Interesting that you still have other issues with these other EPROMs. I wonder if the slow read speed of these really does matter for you? Personally I have only been using 70ns or better parts. If you can get your hands on those, might be worth a test."
|
|