C64 하드웨어 핀 단위 시뮬레이터 공개
원제: The Commodore 64 hardware simulator: break chips and pins, see the results
왜 중요한가
레트로 하드웨어 진단을 넷리스트 기반 핀 단위 시뮬레이션으로 구현한 사례로, 하드웨어 에뮬레이션 분야의 새로운 접근법을 제시한다.
Redis 창시자 antirez(Salvatore Sanfilippo)가 Commodore 64 마더보드를 핀 단위로 시뮬레이션하는 오픈소스 도구 'c64-hw-simulator'를 GitHub에 공개했다. 현재 별점 321개를 기록 중이며, ASSY 250407 기판의 실제 넷리스트를 기반으로 칩 핀을 구부리거나 단락시키는 등 고장 상황을 재현할 수 있다.
c64-hw-simulator는 Commodore 64 마더보드의 모든 핀 연결과 각 칩의 동작을 모델링한다. 사용자는 특정 칩의 핀을 들어올리거나, 접지(GND) 또는 +5V에 단락시키거나, 아예 칩을 소켓에서 빼거나, 저항을 개방시키는 등의 조작을 가할 수 있다. 그 결과는 모니터 화면, 키보드 입력, 보드 전체의 신호 변화로 나타난다.
핵심은 시뮬레이터가 '고장난 C64가 어떻게 보여야 하는지'를 미리 프로그래밍하지 않았다는 점이다. 색상 RAM의 핀 17(A7)을 전원 투입 전에 들어올리면, CPU와 VIC가 동일한 잘못된 주소로 접근해 RAM이 미러링되어 화면이 정상처럼 보인다. 핀을 복원하면 한 번도 쓰이지 않은 색상 RAM 영역이 무작위 색상으로 드러난다. 다시 핀을 들어올리면 화면이 깨끗해진다. 실제 2114 칩도 동일하게 동작한다고 antirez는 설명한다.
이 도구의 두 가지 주요 용도는 C64 회로 학습과 실제 고장 하드웨어 진단이다. 보드의 넷리스트(PCB 전기 연결 정보)를 알고 있으며, 각 칩의 핀 레벨 동작을 기반으로 회로 전체를 시뮬레이션한다. 소스코드는 GitHub에서 오픈소스로 공개되어 있으며, 포크 11개, 별점 321개를 기록 중이다.