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를 지원할 예정입니다.
그럼, 즐거운 주말되세요! ㅎ.ㅎ
댓글 없음:
댓글 쓰기