마이컴의 발진기를 4.000Mhz 쓰고 있습니다.

 

그런데, 게임에 입력할 때 받아들이는 입력 단위는 1/60초(1프레임) 입니다.

 

1프레임 간격의 신호를 넣어주려면 신호간 딜레이는 16.6666666... 밀리 세컨드가 되어야 합니다.

 

그런데, 현재 발진되는 값으로 이정도 정확한 단위는 마이컴에서 연산이 안되네요.

 

완벽하게 입력이 전달되도록 시간이 맞아떨어지게 하려면, 코드 작성이 어셈블리어 수준으로 가야할 것 같습니다.

 

인라인 어셈블리어를 쓰거나, 또는 발진 값을 1/60초에 맞아떨어지는 것으로 바꾸어야 합니다.

 

예전에 계산해본 바로는 11.xx?? 몇인지 하는 발진기를 쓰면 되었습니다.

 

그런데, 이 발진기를 썼을 때 또 생길 수 있는 문제.

 

게임 자체의 렉 현상으로 입력 값이 안먹히는 현상이 생길 수 있습니다(일명 입력이 씹히는...).

 

 

 

게임 자체의 렉은 무시한다고 할 때, 가장 이상적인 것은 발진기를 바꾸고, 인라인 어셈블리어를 써서(인라인 어셈블할 때 생기는 딜레이 값 까지 계산해서) 1/60초에 맞추는 것이겠지요.

 

아직 그 정도 까진 기술이 부족해 ㅠ.ㅠ 필요한 것은 공부네요.

Posted by 공돌이pooh
,