User:Forple: Difference between revisions
(New section) |
(Add WDL date code information) |
||
Line 70: | Line 70: | ||
:Original: 38 8L1 54 | :Original: 38 8L1 54 | ||
:Decoded: November 1988, Week 1 (November 1 - November 5) | :Decoded: November 1988, Week 1 (November 1 - November 5) | ||
== WDL Date Code Format == | |||
Although this date code format also covers chips well beyond the scope of NESDev, as it is used in several other chips in clone consoles, the WDL 6528, and WDL UM02 and UM03 chips present in famiclones use this format. | |||
The format mostly seems to be a simple translation of the number dates to letters. | |||
;Conversion Table: | |||
:A = 1 | |||
:B = 2 | |||
:C = 3 | |||
:D = 4 | |||
:E = 5 | |||
:F = 6 | |||
:G = 7 | |||
:H = 8 | |||
:J = 9 | |||
:K = 0 | |||
===Example dates (decoded)=== | |||
:Chip: WDL 6528 | |||
:Original: JBBF | |||
:Decoded: 9225 (Week 25 1992) | |||
<br> | |||
:Chip: WDL UM02 and WDL UM03 | |||
:Original: JBCF | |||
:Decoded: 9236 (Week 36 1992) | |||
==== Non-Famicom chip decodings (for further examples) ==== | |||
:Chip: "22C731" (SNES Clone chip) | |||
:Original: JDKC | |||
:Decoded: 9403 (Week 3 1994) | |||
<br> | |||
:Chip: "TA0201" (DMG CPU Clone) | |||
:Original: JGDB | |||
:Decoded: 9742 (Week 42 1997) | |||
<br> | |||
== Observed Logic Chip Manufacturers == | == Observed Logic Chip Manufacturers == | ||
Official Famicom and NES systems often have different 7400 logic manufacturers used between boards. | Official Famicom and NES systems often have different 7400 logic manufacturers used between boards. |
Revision as of 07:14, 19 June 2023
I'm documenting small bits of info and data that doesn't really warrant its own page.
Ricoh Chip Date Format (Pre-1990 approximate)
Please note that this format has been primarily tested with the following ASICs:
- Ricoh 2A03 CPU (RP2A03x series) CPU for Famicom/NES
- Ricoh 2C0x PPU (Rx2C02x series) PPU for Famicom/NES
- Ricoh 2A10 SOC (RP2A10x series) SOC for Atari 2600 "Unicorn" models
- Ricoh 65C02 CPU (RP65C02x series) CPU second-source of 65C02
It may work on other chips produced by Ricoh, but this cannot be guaranteed.
This date format documentation is possible in no small part from Fiskbit.
Format
2A0x: YMW ?? 2A1x: !! YMW ?? Y = Year M = Month W = Week ?? = Unknown !! = Unknown (present on the 2A10, always set to "38")
Year is a single digit 0 through 9. When 1990 rolled around, they seemed to just wrap back over to 0 and count back up, while
changing the format a bit (see below).
Month is represented with a letter, from A to M. Likely for readability reasons, letter I is omitted due to visual similarity
to the 1 digit.
Week is a digit, 0 through 9, much like Year.
The "Unknown" fields serve a purpose not yet understood.
For some reason, Week was updated in 1990 to include letters. It's not entirely known why.
- Month Table
- A = January
- B = February
- C = March
- D = April
- E = May
- F = June
- G = July
- H = August
- J = September
- K = October
- L = November
- M = December
Example dates (decoded)
- Chip: RP2A03
- Original: 4C3 27
- Decoded: March 1984, Week 3 (March 11 - March 17)
- Chip: RP65C02
- Original: 4J2 16
- Decoded: September 1984, Week 2 (September 2 - September 8)
- Chip: RP2C02B
- Original: 4D2 89
- Decoded: April 1984, Week 2 (April 8 - April 14)
- Chip: RP2C02C
- Original: 4B4 85
- Decoded: February 1984, Week 4 (February 19 - February 25)
- Chip: RP2A10
- Original: 38 7K3 10
- Decoded: October 1987, Week 3 (October 11 - October 17)
- Chip: RP2A10
- Original: 38 8L1 54
- Decoded: November 1988, Week 1 (November 1 - November 5)
WDL Date Code Format
Although this date code format also covers chips well beyond the scope of NESDev, as it is used in several other chips in clone consoles, the WDL 6528, and WDL UM02 and UM03 chips present in famiclones use this format.
The format mostly seems to be a simple translation of the number dates to letters.
- Conversion Table
- A = 1
- B = 2
- C = 3
- D = 4
- E = 5
- F = 6
- G = 7
- H = 8
- J = 9
- K = 0
Example dates (decoded)
- Chip: WDL 6528
- Original: JBBF
- Decoded: 9225 (Week 25 1992)
- Chip: WDL UM02 and WDL UM03
- Original: JBCF
- Decoded: 9236 (Week 36 1992)
Non-Famicom chip decodings (for further examples)
- Chip: "22C731" (SNES Clone chip)
- Original: JDKC
- Decoded: 9403 (Week 3 1994)
- Chip: "TA0201" (DMG CPU Clone)
- Original: JGDB
- Decoded: 9742 (Week 42 1997)
Observed Logic Chip Manufacturers
Official Famicom and NES systems often have different 7400 logic manufacturers used between boards.
- Sharp (LR74xx; LR74xx chips are used almost exclusively for HVC-CPU-05 consoles?)
- Hitachi (HD74xx)
- Texas Instruments (SN74xx)
- Fujitsu
- Fairchild (Exclusively used in HVC-CPU-03 boards?)
There may be more, feel free to edit this section if you find others!
Ricoh Package Types
The chips in NES/Famicom units vary in package styles a lot. This section tries to identify possible manufacturers of the chipset with cross-references. Please note this section is currently a work in progress and info may change.
If you have any suggestions, ideas, info, etc; Please leave them on my user talk page.
Hardware Observations
Weird things with hardware I might not be able explain, or understand. It's all documented here, per request of "org" due to it otherwise being lost to time on a discord channel.
This information may contain incomplete or incorrect information as topics are more actively researched. Despite this, the section will try to be as accurate as possible at all times. |
Mapper 106 Behavior
INES Mapper 106, or at least my copy of this cartridge, works on nearly all revisions of CPU and PPU I can test with but RP2C02B. I don't know the full extent of why this happens. But it's my own theory that it is possibly either due to a change in CPU manufacturer leading to a slight behavioral difference, or the different PPU.
Observations listed below: (Note: "Chip Manufacturer" lists the company when possible. Otherwise, it lists the origin country usually marked on the package, which may have variations.)
Table of Results
PCB (eg: HVC-CPU-02) | CPU (with Chip Manufacturer) | PPU (with Chip Manufacturer) | Status | Notes |
---|---|---|---|---|
HVC-CPU-03 | RP2A03 (Hitachi) | RP2C02A (Hitachi) | Works fine. | No issues. |
HVC-CPU-05 | RP2A03 (Hitachi) | RP2C02C (Hitachi) | Works fine. | No issues. |
HVC-CPU-05 | RP2A03 (Korea Mfg. #1) | RP2C02B (Hitachi) | Crashes after some time. Game effects include halting with all background tiles vanishing (sprites are untouched, and remain uncorrupted), with the IRQ misbehaving, drawing a weird pattern of IRQs down the screen. The game seems to mostly lock up, but is still running extremely slowly. This continues for approximately 5 minutes until the game fully crashes. | PPU known to exhibit weird behavior supposedly not present on other 2C02B PPUs. Otherwise acts (mostly) the same as a normal 2C02B. |
HVC-CPU-07 | RP2A03E (Korea Mfg. #2) | RP2C02E-0 (Korea Mfg. #1) | Works fine. | No Issues. |
HVC-CPU-07 | RP2A03G (Korea Mfg. #1) | RP2C02G (Korea Mfg. #1) | Works fine. | No Issues. |
HVC-CPU-07 | RP2A03G (Hong Kong) | RP2C02G-0 (Hong Kong) | Works fine. | No Issues. Functionally identical results to G-revision CPU/PPU. |
HVC-CPU-07 | TA-03N | TA-02N | Works fine. | No Issues. Functionally identical results to G-revision CPU/PPU. |
HVC-CPU-07 | UA6527P | UA6528 | Works fine. | PAL clone CPU in NTSC system, with NTSC PPU. No Issues. Results would likely be somewhat close to E-revision CPU/PPU. |
HVC-CPU-07 | 2011 | 2010 | Works fine. | No Issues. Functionally identical results to G-revision CPU/PPU. |
?? (MicroNewton PCB) | XYZ-6783 | WDL 6528 | Works fine. | No Issues. Functionally identical results to G-revision CPU/PPU. |
?? (DarYar PCB) | "6538N" | "6528" | Works fine. | No Issues. Functionally identical results to E-revision CPU/PPU. |
Things to note:
- Korea manufacturers are determined by the bottom package eject holes either printing "KOREA" on the bottom, or as part of a "stamp" embossed onto one of the bottom eject holes.
- All HVC-CPU-07 tests were done with the same PCB, as it is socketed.
- PAL 6527P with NTSC 6528 is mostly similar to an NTSC Famicom system with E-revision (or compatible) chipset. Major difference is CPU speed, and APU generated frequencies.
- Despite being an earlier revision, the 2C02B board and its chipset were made after the 2C02C's board and chipset.
- The RP2C02B PCB is the only PCB I own containing a Korea-manufactured 2A03.
Testing Method
The bug was originally found during a casual playthrough of the cartridge (Which contained Super Mario Bros. 3). When I originally discovered the game crashed after a set time, I tried to beat the game as fast as possible, to try and beat it before it crashed. All test runs from this point on use the "Double Warp Whistle" trick, as a result.
Possible Cause
- According to org, "This happens when NMI is executed more than once per frame or its execution diverges from VBlank. This can be caused either by an IRQ from the timer, an IRQ from the cartridge, or an incorrect CPU/PPU timing alignment."
Todo
- Check cartridge IRQ and PPU /INT lines of the "faulty" unit with a logic analyzer, and cross compare to a working console.