

CPS3-OSCR
The purpose of this adapter is to provide additional methods for reading and writing CP System III cartridges and SIMM memories, utilizing the excellent open-source project Open Source Cartridge Reader (OSCR).
- Size
- 117.6 × 100 mm
- Copper layers
- 4
- Thickness
- 4.69 mm
- Parts
- 42
- Nets
- 184
- Pads
- 500
- Tracks, vias
- 1,168, 97
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 12 Sep 2024
- Updated
- 2 May 2025
Overview
CPS3-OSCR is an open-source printed circuit board by herzmx, from the herzmx/CPS3-OSCR-Adapter repository on GitHub. It is a 4-layer board of 117.6 × 100 mm with 42 parts on 184 nets, routed with 1,168 tracks and 97 vias.
It is built around the 74LS245SC and 74HCT139D. Its parts include 14 resistors, 7 connectors, 5 capacitors and 5 ICs.
Main components
274LS245SC
-0℃~+70℃ 12ns@5V,45pF 15mA 24mA 4.75V~5.25V 74LS 8 Bidirectional Output enable Schmitt trigger Tri-State - Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, Transceivers74HCT139D
SO-16-40℃~+125℃ 160uA 16ns@4.5V,50pF 4.5V~5.5V 4/8 4mA 4mA 74HCT Decoder Single Supply SO-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches, Multiplexers, Decoders
README
README.mdCPS3 SIMM/CARTRIDGE PORT ADAPTER for OSCR

The purpose of this adapter is to provide additional methods for reading and writing CP System III cartridges and SIMM memories, utilizing the excellent open-source project Open Source Cartridge Reader (OSCR).
You can enable module uncomenting ENABLE_CPS3, ENABLE_FLASH8 and ENABLE_FLASH16 in Confing.h . While the R/W implementation in OSCR is not as fast as standard flash memory programmers, it allows you to dump and flash new data without needing to desolder the flash memories from the cartridge or SIMMs.
In this version, patches have been added to change the region and CD/NOCD options, based on documented dumps from MAME.
Compatibility
Cartridge
You can read and write the BIOS from a cartridge using Fujitsu MBM29F400TC (0x0423) or MBM29F400BC (0x0422) Flash ROMs.
If you flash or write a previously dumped BIOS, as documented in the MAME cps3.cpp, the following patches can be applied:
- Region patch
- CD/NOCD patch
Note: Use it at your own risk when working with live cartridges. Tested on:
- Red Earth with original keys and battery
- Street Fighter III: New Generation with original keys and battery
- Street Fighter III: 2nd Impact
- Street Fighter III 3rd Strike: Fight for the Futurem with original keys and battery
- JoJo's Venture with original keys and battery
- JoJo's Bizarre Adventure with original keys and battery
- Ultra BIOS
SIMM's
You can read and write from 32/128Mb and 64Mb SIMMs using Fujitsu MBM29F016A (0x04AD) Flash ROMs. While CPS3 systems support multiple models of Flash ROMs, I have only tested with the Fujitsu model. Below is a list of Flash ROM models registered in the BIOS, meaning you cannot replace Flash ROMs without modifying the BIOS.
| MODEL | DataSheet | Physical Access |
|---|---|---|
| MXCI MX29F016 | YES | NO |
| SHARP LH28F016SU | YES | NO |
| INTEL 28F016SA | YES | NO |
| HITACHI HN98F1600T10 | NO | YES |
32/128Mb SIMMs
The SIMM is arranged as 2x8 bits across 4 banks, with each bank handling 4MB and accessing data in 16 bits. The adapter uses an LS139 to access each bank through addresses 21 and 22.
The dump is a complete 4MB/16MB file and matches with the set of files found inside the CD-ROM. For example, SIMM 3 in Street Fighter III 2nd Impact corresponds to files 30+31. You can compare or write data by joining these two files.
64Mb SIMMs
The SIMM is arranged as 4x8 bits and accesses data in 32 bits. The adapter uses an LS245 as a bus controller to access 16 bits at a time.
The dump is a complete 8MB file and matches with the set of files from the CD-ROM. For example, SIMM 1 in Street Fighter III 2nd Impact corresponds to file 10, so you can write this file directly.
Disclaimer!!!
I am not responsible for any damage to your CPS3 cartridges or SIMMs. At this time, it remains untested in live cartridges, so use it at your own risk!
License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. You are able to copy and redistribute the material in any medium or format, as well as remix, transform, or build upon the material for any purpose (even commercial) - but you must give appropriate credit, provide a link to the license, and indicate if any changes were made.
Parts
42| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | Screw_Terminal_01x01 | MountingHole:MountingHole_2.2mm_M2_ISO7380_Pad | M2_1, M2_2, M2_3, M2_4, M2_5, M2_5, M2_6 |
| 5 | 100nf | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3, C4, C5 |
| 5 | 1K | Resistor_SMD:R_0805_2012Metric | R5, R6, R7, R8, R9 |
| 5 | 2K | Resistor_SMD:R_0805_2012Metric | R10, R11, R12, R13, R14 |
| 4 | 10K | Resistor_SMD:R_0805_2012Metric | R1, R2, R3, R4 |
| 4 | 74LS245 | CPS3:SSOP-20_5.3x7.2mm_P0.65mm_.45 | U1, U2, U3, U4 |
| 2 | , | ||
| 2 | Conn_02x03_Counter_Clockwise | Connector_PinHeader_2.00mm:PinHeader_2x03_P2.00mm_Vertical | J6, J7 |
| 1 | 128MB | 5822030-3:58220303 | J1 |
| 1 | 5145154-1 | 5145154-1:51451541 | J5 |
| 1 | 64MB | 5822030-3:58220303 | J2 |
| 1 | 74HCT139 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U5 |
| 1 | CART SLOT BOTTOM ROW | Connector_PinHeader_2.54mm:PinHeader_1x36_P2.54mm_Vertical | J4 |
| 1 | CART SLOT TOP ROW | Connector_PinHeader_2.54mm:PinHeader_1x38_P2.54mm_Vertical | J3 |
The 40 most common of 42 parts.
Similar boards
- 2 layers176.5 × 85.1 mm

- 2 layers297.2 × 180.3 mm

- 2 layers

LM80C R6
leomil72/LM80C
A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO
153 parts123GPL-3.0 - 2 layers249.9 × 89.4 mm

CSCvon8
DoctorWkt/CSCvon8
A crazy small 8-bit CPU built with only seventeen 7400-series chips.
55 parts112GPL-3.0 - 2 layers200 × 150 mm

- 2 layers86 × 88.3 mm

- 4 layers65.4 × 111.6 mm

- 2 layers214.6 × 123.2 mm

Questions
How big is the CPS3-OSCR PCB?
It measures 117.6 × 100 mm and has 4 copper layers, 4.69 mm thick.
What parts does the CPS3-OSCR use?
42 parts, built around the 74LS245SC and 74HCT139D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the CPS3-OSCR KiCad files?
From the herzmx/CPS3-OSCR-Adapter repository on GitHub, at the commit this page was made from: the board is CPS3-OSCR.kicad_pcb and its schematic CPS3-OSCR.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the CPS3-OSCR design in my own project?
Its repository states no licence, so its author keeps all rights: ask herzmx before reusing the design.