2019년 4월 13일 토요일

M의 IMS 플레이어에 가사(ISS)를 출력해보아요~

M에 내장된 IMS 플레이어는 #IMSP라는 이름으로 들어있습니다.

IMSP.COM 으로된 별도 프로그램도 존재하니까 참고하시구요.

아래 링크를 보시면 되겠네요~ ㅎ.ㅎ

https://sharksym.blogspot.com/2019/04/imsp-v06-ims-player-for-msx-dos2-2019.html



관련 루틴이 무겁다보니, 터보알 고속모드에서만 제대로 구동이 됩니다.

#IMSP는 십년가까이 기능개선 없이 M에 내장되어있었습니다.


최근 X-II에 XII-V와 OPL4 카트리지를 내장하고 보니, #IMSP가 좀 아쉽더라구요ㅋ

그래서 최적화 삽질을 하게되었습니다~


IMS 코드 및, ADLIB 라이브러리를 모두 어셈블리로 바꾸는건 무리구요.

성능에 영향이 많이 가던 메모리 핸들러를 개선하고,

어셈블리를 좀 섞어서 상당히 속도 개선이 되었습니다.


이젠 R800 고속모드에서는 CPU 여유가 꽤 나옵니다.

그래도 일반 Z80 3.58MHz에서는 조금씩 버벅거리네요ㅋ

그럭저럭 들을만한 수준은 됩니다요~ ㅎ.ㅎ



R800 고속모드에서 여유가 생기면, 뭘 해야될까요?

당근 ISS 가사 출력 아닐까요? ㅎ.ㅎ

후딱 구현해서 돌려봅니다.

사실 ISS 루틴은 오래전부터 M에 들어있었어요. (속도가 느려서 켜지못하는 슬픔...)


문자 출력 부분도 좀 더 최적화해주니 제대로 돌아가네요!

ISS 가사는 M의 하단 윈도 두줄로 출력됩니다.

타이밍 맞춰서 색칠도 되구요. 노래방~ ㄱㄱ





ISS 출력은 고속모드에서만 자동으로 켜지도록 되어있습니다.

물론 ISS 파일이 존재하는 경우에서요~


그럼 실제 동작하는 모습을 영상으로 보시죠~

음악 저작권 문제때문에 유투브에서 짤릴수도 있으니, 참고하시구요. ㅎ.ㅎ






#IMSP 개선된 부분은 조만간 코드 정리되면 M v2.7 릴리스에 포함될 예정입니다.

기존의 별도 프로그램으로 된 IMSP.COM / IMSP4.COM은...

IMSP.COM 하나로 통합해서 OPLL 또는 OPL4를 지원할 예정입니다.


그럼, 즐거운 주말되세요! ㅎ.ㅎ


댓글 없음:

댓글 쓰기