2008년 8월 3일 일요일

그래픽 보드 #3 라인 버퍼

본격적인 비디오램을 구현하기 전에,

간단한 수평 1라인 메모리를 만들어봅니다.

서랍에 굴러다니던 20ns짜리 32KB SRAM이 사용되었습니다.





MSX의 버스 인터페이스를 위해, 폐기 직전의 사라만다 PCB가 사용되었습니다.

예전 MMC/SD Drive V1 만들때 희생된 팩이지요.

잠시, 묵념...  ㅡ.ㅡ


이제, 본격적으로 라인 메모리를 써봅니다.

아래는 V-Sync와 적당한 간격을 두고 메모리를 3번 Writing 한 경우입니다.




1픽셀 토글 패턴과, UP/DOWN RAMP패턴을 출력해보았습니다.

패턴 사이 노이즈 처럼 보이는 것은 CPU의 메모리 Write와 DAC의 Read가 간섭이 되어서 나타나는 것이지요.

이건 회피 방법이 많으니 차후에 고려해보기로 합니다.


아래는 실제 MSX에서 동작되는 모습을 영상으로 찍은 것입니다.



2008년 7월 28일 월요일

SCC R2R 11BIT DAC

진폭스(sinfox)님이 만들어주신 PCB로 V2.2 만들다 사고가 났습니다.

코나미 SCC 출력에 쓰이는 어레이 저항 부품을 부러뜨렸네요.


멀티미터로 대충 크기를 재어보니, 아래처럼 만들면 될 듯 하더군요.




대충 만들어서 사라만다 배경음악을 들어보았는데, 얼추 비슷하네요. ㅋ

파형을 비교 해보진 않았지만 괜찮은 것 같습니다.

(시간 날때 사운드카드로 캡쳐해야 봐야될 듯...)


아래는 작업된 모습입니다.





모양이 좀 징그럽긴 한데요, 케이스 덮으면 안보이니깐 패스. ㅎ.ㅎ



2008년 7월 9일 수요일

그래픽 보드 #2 Video DAC

이번엔 간이 8BIT DAC을 만들어서 출력해봤습니다.

R2R 사다리로 구현했는데요.

일단 74LS273 플립플롭으로 뽑았습니다. (나중에 74HC 타입으로 바꾸면 전압 오차가 좀 줄겠지요.)

모니터마다 다를 수는 있는데, 기본적으로 AGC가 Back porch를 클램핑하기 때문에

싱크 및 백포치 영역을 Black 레벨로 묶으려면, 클리어 핀이 있는 74LS273이 쓰기 편합니다.

574처럼 핀이 순서데로 정렬되어 있으면 좋겠는데... 암튼 납땜하려면 좀 귀찮지요. ㅋ




이번엔 모니터의 GREEN 신호로 출력했습니다.

지난번 클럭의 H-Sync와 Phase 에러는 반으로 줄여보았고요.

기존 25MHz 클럭에서 50MHz로 바꾸고 한번 더 분주했지요.

클럭 카운터 (차후 어드레스 카운터로 쓰이겠네요.)의 출력이 DAC으로 나오는 모습입니다.

그럭저럭 256단계 같네요. 음...




아래는 VDP의 파란색 바탕과 믹스해본 것입니다.

좋아보이네요. ㅎ