X1-005 - testing

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

Post Reply
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

X1-005 - testing

Post by krzysiobal »

Pin 1 - PRG A18
Pin 24 - V Battery (direct connector to positive battery terminal)
Pin 25 - RAM VCC
Pin 32 - goes low for the whole duration of read/write cycle when adress in 0x6000 .. 0x7FFF
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: X1-005 - testing

Post by lidnariq »

Quickly checking a few other X1-005 boards, I noticed that there's something weird going on in J9100240A: http://bootgod.dyndns.org:7777/profile.php?id=1764

The resistors and diode are connected as:
+5V---1.5k---pin 24---1.0k---gnd
+5V---330---gnd
+5V---|>|----pin 25

Why would they bother providing a specific bias voltage on pin 24? In some other (battery-less) boards they just connect pin 24 to ground. Does the RAM not work if pin 24 is grounded?
Is there a battery voltage detection bit somewhere?

NesCartDB knows of the following X1-005-using PCBs:
J9100240A, no battery, pin 24 biased, pin 25 supplied via diode
P3-33A, battery, diode doing something unrelated?
P3-034A, battery, diode from battery to pin 25
P3-034-B, battery, diode from battery to pin 25
P3-034-C, battery, diode from battery but via to pin 25 is concealed in photo
P3-036-1, supposedly a battery, prototype with rework
"KR-14", no battery, pin 24 grounded, pin 25 floating?
アシユラー, no battery, pin 24 grounded, pin 25 ... pulled down via resistor?
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

Re: X1-005 - testing

Post by krzysiobal »

RAM memory (if enabled), works no matter if pin 24 is disconnected or connected to GND. I need to check how much current the X1-005 sinks through pin 25, depending on the voltage on pin 24, that might answer the question how voltage on pin 24 affects that, however for non-battery version that should not matter much (but maybe it affects RAM timing)

Weirdly, in the PCBs equipped with battery, despite having place for second diode, SRAM is constantly powered from battery even if +5V is present.
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

Re: X1-005 - testing

Post by krzysiobal »

I've just checked that the pin 32:
* when $7ef8 != $#a3, goes for the whole duration of read/write cycle at $6000-$7fff
* when $7ef8 == $#a3, goes for the whole duration of read/write cycle only at $6000-$7eff
So this was indeed meant to control the external WRAM if connected and if the internal one is disabled.
($7ef8 or $7ef9, whichever is written last is taken into account)

Also, $7ef7 does NOT control mirroring. This is strange cause I don't see anything that would depend on this register but if mirroring is only controlled by $7ef6 it certainly means there is some hidden thing in it.
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: X1-005 - testing

Post by aquasnake »

here is my conjecture:

If there is no external SRAM,
int_wram_enabled = cpu_data_in == 8'hA3 ? 1: 0; // $7F00-$7FFF

otherwise,
All SRAMs are allowed at all times($6000-$7FFF), regardless of whether or not the internal and external SRAMs are switched


The above logic can be simplified to allow SRAM all the time. In order to prevent the internal and external SRAMs from competing in $7f00 - $7fff with the original x1-005 ASIC, we do not need to consider this problem at all, if only based on the function reverse
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: X1-005 - testing

Post by lidnariq »

aquasnake wrote: Fri Nov 06, 2020 9:00 pm In order to prevent the internal and external SRAMs from competing in $7f00 - $7fff with the original x1-005 ASIC,
... but that's already taken care of? The external chip select on the X1-005 already adjusts the range accordingly.
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: X1-005 - testing

Post by aquasnake »

lidnariq wrote: Fri Nov 06, 2020 10:26 pm
aquasnake wrote: Fri Nov 06, 2020 9:00 pm In order to prevent the internal and external SRAMs from competing in $7f00 - $7fff with the original x1-005 ASIC,
... but that's already taken care of? The external chip select on the X1-005 already adjusts the range accordingly.
I mean for reverse engineering, not using the original chip, don't have to care about wram control
nocash
Posts: 1405
Joined: Fri Feb 24, 2012 12:09 pm
Contact:

Re: X1-005 - testing

Post by nocash »

lidnariq wrote: Thu Feb 13, 2020 12:48 pmWhy would they bother providing a specific bias voltage on pin 24? In some other (battery-less) boards they just connect pin 24 to ground. Does the RAM not work if pin 24 is grounded?
If it is a Vbat/VCC voltage comparator (as in MAD chips on SNES) then it should be vice-versa: "RAM not working if pin 24 is higher than VCC".
homepage - patreon - you can think of a bit as a bottle that is either half full or half empty
kmg
Posts: 63
Joined: Tue Dec 07, 2021 10:12 pm

Re: X1-005 - testing

Post by kmg »

Bump. Since CPU A7 isn't connected, registers are also writable at $7e7x it would seem?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: X1-005 - testing

Post by lidnariq »

Has to be true. I mentioned that on the wiki's page on mapper 80, but it could easily have gotten lost in the text.
kmg
Posts: 63
Joined: Tue Dec 07, 2021 10:12 pm

Re: X1-005 - testing

Post by kmg »

Oh, my bad. My eyes skipped right over it. I only brought it up because I thought it might have been an oversight in the wiki. Thanks!

Nothing to see here. Move along :)
Post Reply