Adafruit Qty Rp2040을 사용한 세이브군 대체 디바이스

https://github.com/dshadoff/PC_Engine_RP2040_Projects/tree/main/Membase

 

GitHub - dshadoff/PC_Engine_RP2040_Projects: Projects designed for PC Engine and other retro-machines, using RPi Pico or other R

Projects designed for PC Engine and other retro-machines, using RPi Pico or other RP2040 hardware - GitHub - dshadoff/PC_Engine_RP2040_Projects: Projects designed for PC Engine and other retro-mach...

github.com

 

PC_Engine_RP2040_Projects - 메모리 베이스 128 재구현

개요

이것은 최신 하드웨어용으로 작성한 Memory Base 128의 세 번째 구현이며 읽고 따라하기 가장 쉬운 코드입니다. Raspberry Pi Pico 마이크로 컨트롤러의 PIO는 데이터 입력의 에지 감지에 사용되고 ARM 코어는 처리에 사용됩니다.

데이터는 시작 시 SRAM에 로드되고 트랜잭션이 발생한 후 Flash에 저장됩니다. 플래시 플러시가 진행되는 동안(읽기 또는 쓰기 트랜잭션 그룹의 마지막 읽기/쓰기 후 0.75초가 소요됨) 디바이스가 추가 명령을 처리할 수 없기 때문에 이는 이상적이지 않을 수 있습니다. 이 플러시가 발생하는 동안 PIO 상태 머신이 종료되므로 혼동을 일으키는 비트의 백로그가 없습니다. 그러나 플래시 쓰기 기간 동안 트랜잭션이 발생하면 인식되지 않으며 PC 엔진 게임에서 오류를 식별할 수 있습니다.

상태는 메인 보드의 LED로 표시되며 조이패드 커넥터에 인접한 장치에 움푹 들어가 있습니다.

노란색(왼쪽) = 장치 활성
녹색(오른쪽) = 읽기
빨간색(오른쪽) = 쓰기
파란색(왼쪽) = 지연된 플래시 메모리 커밋

소스 코드

이것은 Pico-SDK 버전 1.2.0을 사용하여 빌드되었습니다.

소스를 빌드하려면 먼저 올바른 버전의 RaspberryPi/piso-sdk가 설치되어 있는지 확인하십시오. 이 보드는 Adafruit QtPy2040 보드를 대상으로 하므로 make_ada.sh 스크립트(UNIX에서) 또는 명령줄에서 실행해야 합니다.
"cmake -DPICO_BOARD=adafruit_qtpy_rp2040 -B build"
그런 다음 "cd build" 및 "make".

또한 releases/ 폴더에 프로그램의 릴리스 버전을 uf2 파일로 포함시켰습니다. 보드를 BOOTSEL 모드로 전환할 때 표시되는 가상 드라이브에 끌어다 놓기만 하면 됩니다('부팅' 버튼을 누른 상태에서 보드를 USB로 호스트 컴퓨터에 연결하고 버튼에서 손을 뗍니다. 새 드라이브가 컴퓨터에 나타납니다).

PC 보드 및 어셈블리

무료 버전의 EAGLE(X축과 Y축 모두 100mm 미만의 2레이어)을 사용하여 모든 보드를 설계했습니다. 거버는 자신만의 세트를 만들고자 하는 경우를 대비하여 이 저장소에 포함되어 있습니다.

JLCPCB에서 이러한 보드를 조립하기 위해 gerbers 및 관련 bom.csv 및 assembly.csv 파일을 포함했지만 여전히 다음 부품이 필요합니다.

  • (2) 8핀 Mini-DIN 커넥터
  • (1) Adafruit QtPy RP2040 마이크로컨트롤러 보드
  • (2) 7핀 헤더. 마이크로컨트롤러 보드를 제거해야 하는 경우 암 핀 헤더 소켓을 사용할 수도 있습니다. 이 경우 짧은/로우 프로필 헤더 소켓을 사용하는 것이 좋습니다.

보드 스택업을 위한 장착 하드웨어도 필요합니다.

  • (4) M3 x 13mm 암-암 스탠드오프; 평평한 면과 평평한 면은 5.0mm보다 크지 않아야 합니다. 이 크기에 맞게 장착 구멍이 만들어지기 때문입니다. (4.5mm도 괜찮습니다)
  • (8) M3 나사, 길이 6mm(*) - 스루홀 리드를 보드와 같은 높이로 자르지 않으면 더 길어질 수 있습니다.
  • 선택적 고무/실리콘 다리

그리고 사용하려면 짧은 8핀 미니 DIN 수-수 케이블도 필요합니다(다양한 길이는 eBay에서 찾을 수 있음).

집회

"케이스"는 쌓인 PC 기판으로 구성되며 PC 기판은 상단과 하단에 있습니다. 모두 5개의 서로 다른 보드가 있지만 다음과 같이 13개의 레이어가 있습니다.

  1. 상단 = "PCE128_Rev_C_Face"의 1 레이어, 1.6mm 두께, ENIG 보드
  2. MidTop = "PCE128_Rev_C_MidTop"의 6개 레이어, 1.6mm 두께, HASL 보드
  3. MidLow = 3개 레이어, 1.2mm 두께, "PCE128_Rev_C_MidLow"의 HASL 보드(MidTop과 비슷해 보이지만 LED용 컷아웃이 있음)
  4. 메인 보드 = "PCE128_Rev_C2_Main"의 1 레이어, 1.6mm 두께, HASL, SMD 어셈블리 보드(참고: 일부 부품은 이전 "B" 버전에서 변경되었습니다. 상호 교환 불가능)
  5. 하위 = 1층, 0.8mm 두께(*), "PCE128_Rev_C_Sub"의 HASL 보드
  6. 하단 = 1 레이어, 1.6mm 두께, "PCE128_Rev_C_Face"의 ENIG 보드(뒷면이 밖으로 향함)

(*) 스루홀 부분을 위한 공간을 만들기 위해서만 존재하는 얇은 "하위" 레이어를 가능하게 하는 보드와 같은 높이의 스루홀 리드를 트리밍합니다. 이러한 플러시를 다듬지 않으면 훨씬 더 두꺼운 하위 레이어와 더 긴 M3 나사가 필요할 수 있습니다.

조립 단계:

  1. 실장 시 기판 밑면의 땜납 "범프"를 최소화하기 위해 스루홀 부품의 리드를 조심스럽게 다듬습니다. 장착할 관통 구멍 부품에는 8핀 미니 DIN 소켓과 RP2040 보드용 헤더(또는 소켓)가 포함됩니다. 미니 DIN 커넥터가 똑바로 장착되었는지 확인하십시오. 그렇지 않으면 상위 레이어 보드를 배치하는 데 문제가 있을 수 있습니다.
  2. 조심스럽게 납땜하여 보드 아래의 "범프" 양을 최소화합니다.
  3. LED가 가장 가까이 있는 상태에서 USB 커넥터가 있는 RP2040 보드를 오른쪽에 장착합니다.
  4. "부팅" 버튼을 누른 상태에서 호스트 컴퓨터에 연결하십시오. 이렇게 하면 DFU 모드로 전환되고 호스트 컴퓨터에 가상 드라이브가 생성됩니다. *.uf2 펌웨어 파일을 해당 폴더로 끌어다 놓습니다. 잠시 후 가상 드라이브가 사라지고 약 1초 후에 메모리 장치 부팅 순서의 일부로 4개의 LED가 모두 잠시 켜집니다. USB에서 분리하십시오.

보드 쌓기의 경우 암-암 스탠드오프의 한쪽에 보드의 하단 레이어를 통과하는 나사로 하단 보드를 먼저 연결하는 것이 가장 좋습니다. 그런 다음 상층 보드를 간단히 쌓을 수 있고 상단 나사를 쉽게 조일 수 있습니다.

그리고 마지막 터치: PC 보드의 가장자리는 전면/후면 표면과 다른 음영으로 되어 있어 좋아할 수도 있고 싫어할 수도 있는 투톤 효과를 만듭니다. 케이스를 균일한 "블랙 박스"처럼 보이게 하기 위해 PC 보드 가장자리를 따라 Sharpie 마커를 사용하여 어둡게 만들었습니다. 쉐이드는 JLCPCB의 매트 블랙 솔더 마스크와 유사하므로 표준 조명이 있는 영역에서 잘 어울립니다. 영구적인 Sharpie 잉크는 젖으면 작동하지 않지만 알코올 기반 용제 근처에서는 주의하십시오. 이러한 상황에서는 잉크가 번지거나 얼룩질 수 있습니다.

시각적 보기는 다음과 같습니다.

 

노트

Adafruit QtPy RP2040은 설계하기 쉬운 컴팩트한 폼 팩터이므로 가능한 한 많이 사용하려고 노력했습니다.

불행히도 Adafruit 사이트는 모든 사용자를 Pi SDK가 아닌 CircuitPython으로 안내하려고 시도하므로 결과적으로 RP2040 장치에 대한 "Pinout" 페이지의 Pinout 페이지에는 GPIO 번호에 대한 참조가 포함되지 않습니다.

따라서 여기에 그래픽을 포함합니다.

 BOM

https://github.com/dshadoff/PC_Engine_RP2040_Projects/blob/main/Membase/EAGLE/PCE128_Rev_C2_Main/BOM.csv

'Consoles > PCE DUO' 카테고리의 다른 글

콘덴서 리스트  (0) 2023.06.12
사운드 문제 해결용 부품  (0) 2023.05.16
FRAM 개조  (0) 2023.05.16
블루레트로 장착  (0) 2023.05.16
RGB 출력 관련  (0) 2023.05.16

'Consoles > PCE DUO' 카테고리의 다른 글

Membase - 메모리 베이스 (세이브군) 대체  (0) 2023.06.15
사운드 문제 해결용 부품  (0) 2023.05.16
FRAM 개조  (0) 2023.05.16
블루레트로 장착  (0) 2023.05.16
RGB 출력 관련  (0) 2023.05.16

4558칩 : https://www.eleparts.co.kr/goods/view?no=8313964 

 

RC4558DR

OP AMP, DUAL GEN PURPOSE, SMD, 4558

www.eleparts.co.kr

볼륨 가변저항 : https://ko.aliexpress.com/item/1005005400589877.html?spm=a2g0o.order_list.order_list_main.132.3c38140fAHSjZt&gatewayAdapt=glo2kor 

 

2804.0₩ |게임보이 컬러 GBC 마더보드용 볼륨 온/오프 수리 부품, 2 개입| | - AliExpress

Smarter Shopping, Better Living! Aliexpress.com

ko.aliexpress.com

 

'Consoles > PCE DUO' 카테고리의 다른 글

Membase - 메모리 베이스 (세이브군) 대체  (0) 2023.06.15
콘덴서 리스트  (0) 2023.06.12
FRAM 개조  (0) 2023.05.16
블루레트로 장착  (0) 2023.05.16
RGB 출력 관련  (0) 2023.05.16

 

1. 듀오 본체에 설치되어 있는 LC3517 SRAM(IC512)을 제거한다.

2. FM1808 칩의 다리 6개를 위 그림과 같이 들어올려 펴준다.

3. 나머지 다리들을, FM1808의 14번 다리쪽을 기판의 끝에 맞춰서 납땜한다.

4. 올린 핀들을 위 그림과 같이 연결해준다.

    - 27번핀은 들어올린 23번 핀의 아래 기판자리에 연결한다.

    - 28번핀은 들어올린 26번 핀의 아래 기판자리에 연결한다.

    - 들어올린 1, 2, 23, 26번 핀은 각각 로터리 스위치의 1, 2, 4, 8번핀에 연결한다.

    - 들어올린 1, 2, 23, 26번 핀에 선을 하나씩 더 연결하고, 각각의 선에 10K 저항을 연결한 뒤 그 끝을 모아서 28번 핀(VDD)에 연결해준다. (풀업저항)

5. 칩의 14번핀을 로터리 스위치의 C핀에 연결해준다.

6. 듀오 본체의 적절한 위치에 구멍을 뚫고 로터리 스위치를 장착해준다. 

 

* 로터리 스위치(HARTMANN PT65-503) 구입처 :

https://www.icbanq.com/P008377122

 

* FM1808 FRAM 구입처 :

https://shorturl.at/hvzJ9 (10개 25737원)

https://shorturl.at/qsyAS (1개 3540원 - 구입한적 있음, 검증된곳)

https://shorturl.at/ehmIT (1개 2999원)

 

* 직접 배선이 피곤할 경우 이 Flex PCB를 주문제작하여 사용하는 방법도 있음. (단 이 PCB는 FM16W08 칩 용으로 설계된 것으로 FM1808은 사용할 수 없다. 16W08은 용량이 더 작은 칩으로 뱅크 4개만이 사용 가능함에 주의)

https://oshpark.com/shared_projects/1b86KE1e

https://github.com/dshadoff/PCE_FRAM_adapter/blob/master/FRAM-SOIC-assembly.md

 

'Consoles > PCE DUO' 카테고리의 다른 글

Membase - 메모리 베이스 (세이브군) 대체  (0) 2023.06.15
콘덴서 리스트  (0) 2023.06.12
사운드 문제 해결용 부품  (0) 2023.05.16
블루레트로 장착  (0) 2023.05.16
RGB 출력 관련  (0) 2023.05.16

'Consoles > PCE DUO' 카테고리의 다른 글

Membase - 메모리 베이스 (세이브군) 대체  (0) 2023.06.15
콘덴서 리스트  (0) 2023.06.12
사운드 문제 해결용 부품  (0) 2023.05.16
FRAM 개조  (0) 2023.05.16
RGB 출력 관련  (0) 2023.05.16

RGB 앰프 회로도

 

'Consoles > PCE DUO' 카테고리의 다른 글

Membase - 메모리 베이스 (세이브군) 대체  (0) 2023.06.15
콘덴서 리스트  (0) 2023.06.12
사운드 문제 해결용 부품  (0) 2023.05.16
FRAM 개조  (0) 2023.05.16
블루레트로 장착  (0) 2023.05.16

+ Recent posts