MSX2 2nd Light Pen

대우 MSX2는 VDP V9938에 직결하는 라이트펜 회로를 내장하고 (2nd Light Pen)이를 사용하기 위해서 한글 BASIC에서 약간의 확장을 했는데, 순정상태의 MSX2에서는 이를 바로 쓸 수 있는 방법이 없어서 다음과 같이 써야한다.

CALL ADJUST : 대우 라이트펜 모드 온

-> VPD(9)=72 = &B01001000 (0:마우스모드 OFF/1:라이트펜모드 ON)

 

PAD(20) : 라이트펜 디텍트

PAD(23) : 라이트펜 스위치 디텍트

-> VDP(-1) 의 값이 128이면 라이트펜 디텍트, 64면 스위치 디텍트. 192면 둘다 디텍트

128=&B10000000

64=&B01000000

192=&B11000000

 

PAD(21) : 라이트펜 X좌표

->VPD(-3)값

PAD(22): 라이트펜 Y좌표

->VPD(-5)값

노이즈로 쓰레기 값이 많고, 세로 좌표가 아직 제대로 나오지 않는다. ㅡㅅ-);;;;

 

 

그리고 7407을 거쳤을 때 제대로 값이 안 나왔다. 펜쪽 회로 왕창 손봐야할듯.

7407이 오픈콜렉터라서 그냥 연결해두면 High를 특정할 수 없으므로 Pull Up저항 4.7K를 각각 붙여주는 것으로 해결.

 

참고로 PAD(8)~(11)까지의 라이트펜은 산요 라이트펜 유니트를 끼웠을 때 동작하는 명령으로 보인다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.