링크모음 링크세상
링크세상 링크모음 링크 애니 웹툰 링크 드라마 영화 링크 세상의모든링크

Doz의 블로그: 62256 SRAM 테스터

최근에 제 YouTube 채널을 방문하시고 VIC-20 스토리를 따라오셨다면 제가 Hyper-expander를 만들었다는 것을 아실 것입니다. 수리 영상에서 실제로 많이 사용되지 않았다는 것을 눈치채셨을 수도 있습니다. 여기에는 이유가 있습니다….

작동하지 않았습니다..

VIC-20이 수리된 후에도 VIC가 3K 확장 이상을 인식하도록 할 수 있는 방법은 없습니다. EPROM이 전혀 로드되지 않습니다.

조사가 필요합니다.

카트리지를 분리하고 EPROM을 확인한 후 2개의 74LS148 게이트를 확인했습니다. 모든 것을 소켓에 넣었으면 좋았을 텐데요! EPROM과 두 개의 디코더는 무죄로 판명되었습니다.

그러면 62256 RAM IC가 남습니다.

그렇다면 어떻게 확인하나요?

ZX81을 분리하고 거기에서 테스트할 수 있지만 전체 32K에 액세스할 수는 없습니다.

그래서 VIC 수리 중에 2114 SRAM용으로 제작한 2114 테스터(https://github.com/skjerk/Arduino-2114-SRAM-tester)에서 영감을 받아 Arduino 기반 테스터를 찾기로 결정했습니다. Arduino Mega용 버전인데, 손에 쥘 수 있는 버전이 없습니다. 문제는 일반 Uno(또는 ATMega328 기반 Arduino)에 핀이 충분하지 않다는 것입니다. 주소 버스에는 15개의 출력이 필요하고 데이터 버스에는 8개가 필요합니다. 2개의 74HC590 카운터가 필드에 배치되어 단 2개의 핀(클럭 및 재설정)에서 주소 버스를 구동합니다.

작동 이론은 다음과 같습니다. Arduino는 D3에 펄스를 가하여 두 개의 카운터 IC를 0으로 재설정합니다. 데이터의 패턴은 0b00000000부터 0b11111111까지 순차적으로 생성되어 첫 번째 주소에 기록됩니다. 그런 다음 다시 읽어서 작성된 패턴과 비교합니다. 모든 것이 정상이면 D2를 펄스하여 주소가 증가하고 절차가 반복됩니다. 패턴이 올바르게 다시 읽히지 않으면 실패 LED가 켜지고 오류가 포함된 메시지가 직렬 인터페이스에 기록되지만 모든 주소에 모든 패턴이 기록되고 다시 읽혀질 때까지 테스트가 실행됩니다. 실행하는데 꽤 시간이 걸립니다.

테스트가 실행되는 동안 PASS 및 FAIL LED가 모두 켜집니다. 터미널이 연결되지 않은 경우 테스트가 실행 중임을 표시하기 위해 U2의 핀 2(1K 저항을 통해)에 녹색 LED를 추가했습니다.

일반적인 실행은 직렬 인터페이스에서 다음과 같습니다.

Doz의 62256 SRAM 테스터.

테스트 패턴 00000000 실행 중

테스트 패턴 00000001 실행 중

테스트 패턴 00000010 실행 중

테스트 패턴 00000011 실행 중

테스트 패턴 00000100 실행 중

테스트 패턴 00000101 실행 중

테스트 패턴 00000110 실행 중

테스트 패턴 00000111 실행 중

테스트 패턴 실행 11111110

테스트 패턴 실행 11111111

모든 테스트 완료

통과하다

다시 실행하려면 재설정을 누르세요.

실패는 다음과 같습니다:

0x5A64의 오류 – 획득: 01100001 예상: 01100010

이는 PlatformIO 프레임워크 프로젝트입니다. 아마도 git을 복제하고 SRC 폴더에서 main.cpp를 꺼내서 이름을 .ino로 바꾸면 아마도 Arduino IDE에서 실행될 것입니다.

간단히 말해서 RAM은 문제가 없었고 결함은 VIC-20 자체에 있었지만 적어도 지금은 RAM을 테스트할 수 있는 장치가 있습니다!

Leave A Reply

Your email address will not be published.