2011년 4월 23일 토요일

IMS Player for MoonSound/Dal-So-Ri

OPL2 용 음악파일인 IMS 연주기입니다.

Download: IMSP4_v0.3.zip


OPL4 칩을 사용하는 문사운드 또는 달소리 카드에서 구동됩니다.

프로그램은 DOS2 환경에서만 동작되며, IMS 파일 크기 만큼 메모리를 더 사용하게 됩니다.

 

예: 100KB IMS 파일 재생시 메인 메모리 256KB 이상 필요.

 

메인 메모리 여유가 된다면, IMS 파일 크기에는 제한이 없지만,

악기 데이터는 최대 128개 까지만 로딩이 가능합니다.

 

실행은 아래 처럼 하면 되겠습니다.

IMSP4 ims-filename [리턴]

 

IMS 파일이름과 같은 BNK 파일이 발견되면, 해당 BNK파일을 로딩하게 되며,

BNK파일이 없는 경우는, IMSP4.COM 파일이 있는 디렉토리의 STANDARD.BNK 파일을 로딩하게 됩니다.

 

참고로, 압축파일에는 제가 쓰던 STANDARD.BNK 파일이 포함되어있습니다.

 

그리고, 소스 대부분이 C로 코딩된 탓인지, 터보알 외의 일반 MSX2 기종에서는 제 속도로 연주가 불가능합니다.

참고하세요. ㅎ.ㅎ;

아마 문사운드 갖고 계신분은 터보알도 있으시겠지용? ㅎ.ㅎ;;;

 

준성님은 OCM 터보 모드에서 구동하시면 될 것 같습니다. ㅎ.ㅎㅋ

 

아래는 제 터보알 + 문사운드로 실행되는 모습입니다.



2011년 4월 20일 수요일

OPL4의 OPL2 호환성과 IMS 플레이어

어제 퇴근 후,

 OPL4과 OPL2 매뉴얼을 놓고 서로 비교를 해봤습니다.

 

OPL4가 구버전 OPL2,3와 호환되는 것으로 알려져있는데,

 실제 SW 적용 시는 어떤지가 관건이었지요.

 

근데 OPL4 매뉴얼을 봤더니,

 FM 신스 쪽은 첨부터 SW적으로도 하위 호환이 되도록 구성이 되어있더군요.

참고로 OPLL은 OPL2의 간단 버전으로 동작은 비슷해도 레지스터 구성이 조금씩 차이가 있었지요.

 

부랴부랴, IMSP4 (IMS player for Moonsound) 프로젝트를 하나 만들고 테스트를 해봤습니다.

역시나 거의 코드 수정없이 출력이 잘나오는군요. *_*

십여전 기억에 남아있던 오리지날 OPL2 (옥소리3.8 ㅎ.ㅎ)와 비슷하게 나오네요. 아하핫...

 

음, 결론은... "문사운드용 IMS 연주기도 쉽게 만들어짐" 입니다.

 

여기서 문득 든 생각이, 게임용으로 문사운드를 활용한다면...

OPL2(또는 OPL3)의 FM 사운드를 배경음악으로 넣고,

PCM 출력으로 효과음 넣으면, 상당히 낮은 CPU 점유만으로 활용이 가능하겠더군요. ㅎ.ㅎ;

 

여기까지 왔더니... 하나 더 드는 생각 !

준성님은 10년전에 다 해보셨을거 같은 느낌이 !!! ㅎ.ㅎㅋ

 

준성님~~,

 만들어 놓으신거 자료 좀 풀어보셔요~ !! ㅋ

 

 

 

음... 혹시 알고 계신 분도 있겠지만~ㅋ

제가 지금 쓰는 IMS 플레이 관련 코드(애드립 라이브러리 포함)는

10년전에 윈앰프용으로 만든 IMS 플러그인 코드를 그대로 쓰고 있습니다.

 

근데, 이게 MSX로 구현하다보니, 클럭 스피드를 정확하게 처리하는데 고민을 좀 해야겠더군요.

현재 코드는 VDP V-blank 인터럽트 주기를 사용하기 때문에 속도를 정확하게 맞추기가 힘드네요.

 

터보알의 내장 타이머를 쓰거나, 아니면 VDP H-blank 인터럽트를 함께 써야될 거 같은데...

암튼 좀 문제가 있어요~ ㅎ

 


 

어쨋든, IMSP 문사운드 버전은 요번주 중으로 정리해서 올려놓겠습니다.

 

현재 코드는 BNK파일 사이즈 제한(약 10KB)이 있어서,

 옛날처럼 100KB넘는 STANDARD.BNK 등을 처리할수 있도록 개선이 좀 필요하고요.

현재 16KB 제한인 IMS 파일 사이즈도 숙제로 남아있고요.

 

결국 대용량의 연속 메모리를 처리할수 있는 방법이 있어야 이런 것들이 개선가능하겠습니다요~~ ㅎ.ㅎ


2011년 4월 18일 월요일

IMS Player v0.3 for OPLL(YM2413)

OPLL의 고정음색으로 연주하는 IMS 플레이어입니다.


플레이루틴의 메모리 문제로 IMS 데이터는 초반 16KB까지만 연주가 가능합니다.

궁금하시면 한번 들어보세요.

도스2 전용이고 추가메모리 32KB사용합니다.

Download: IMSP_v0.3.zip


따로 최적화한 코드가 아니라서, 일반 MSX2에서는 플레이 속도가 조금 느려질수 있어요. ㅎ.ㅎ

2011년 4월 16일 토요일

OPLL 용 IMS 플레이어를 만들어보면

IMS 파일 모르시는 분 있으세요?

 

MS-DOS 시절 OPL2(YM3812) 사운드 카드를 쓸때, 많이 듣던 FM 음악 포맷이었죠.

IMPLAY, OCPLAY 등으로 연주가 가능했습니다.

 

이걸 MSX-MUSIC 으로 재생이 가능하도록 만들어봤습니다.

OPLL 칩 특성상 OPL2와 같은 소리를 내는건 불가능하지만,

내장 악기 15개를 이용해서, 어느정도 흉내를 내봤습니다.

 

타악기인 드럼 소리는 제대로 출력이 되지않지만,

피아노, 플룻 등의 OPLL 내장 악기는 비슷하게 연주가 가능합니다.

 

 

실행파일은 DOS2 전용이고, 여유 메모리 32KB가 더 필요합니다.

물론 OPLL이 필요합니다. IQ2000 에서는 FM-PAC이 있어야겠군요.

IMS 파일은 16KB 이하 크기만 로딩이 가능합니다.

BNK는 처리하지 않고, 대신 OPLL 내장 악기로 바꿔서 쓰게 됩니다.

플레이 중 종료하려면 ESC 키를 누르면됩니다.

Download: IMSP_v0.1.zip



아래는 그럭저럭 들을만한 IMS 파일입니다.

심심할때 한번 플레이해보세요.

SNOWMAN.IMS

YS1-END.IMS



아래는 터보알에서 실행해본 모습입니다.






2011년 4월 9일 토요일

HI-TECH C - 그래픽 데모 및 테트리스 추가

작업 중이던 그래픽 라이브러리가 툴에 추가되었습니다.

 

아직 텍스트 모드와 패턴맵 모드는 지원이 안되지만,

비트맵 모드(스크린 5,6,7,8)은 어느정도 활용이 가능합니다. ㅎ.ㅎ

 

데모 프로그램에 DEMO_GRP 및 TETRIS 소스가 추가되었습니다.

 

쓰다가 궁금한 부분이 있으시면, 댓글 주셔요~~


https://github.com/sharksym/CPMEMU_HI-TECH_C


2011년 4월 4일 월요일

HI-TECH C - 그래픽 라이브러리 데모 용 테트리스

테.트.리.스

 

설명이 필요없는 게임이겠군요. ㅎ.ㅎ

참고로, 그래픽 라이브러리 데모용 프로그램입니다.


DOS2 에서 실행가능하며, 추가 메모리 64KB 필요합니다.

메인램 256KB 이상인 시스템이면 충분하겠습니다.


심심하신 분들은 한번 실행해보세요. ㅎ.ㅎㅋ

Download: TETRIS_20110404.zip



아래는 에뮬에서 실행해본 모습입니다.

ESC 키를 누르면 도스로 복귀합니다.




작대기가 연속으로 세개가 등장하는군요 !!

음... 라인 10개 없앨때 레벨 하나씩 올라갑니다. 그냥 블럭 떨어지는 속도만 빨라져요.




바닥에 떨어질 위치에 점선으로 표시해줍니다~ ㅎ




아래는 터보알에서 세운 기록~~ 짜잔~~ 레벨10에서 95점 !!