2019년 4월 20일 토요일

IMSP v0.6 (IMS Player for MSX-DOS2) (2019-04-20)


Download: IMSP_v0.6.zip

Download: STANDARD.zip


----------------------------------------------------------------

    IMS Player v0.6 (MSX-DOS2용 IMS 플레이어 2019.04.20)

        By 서영만 <sharksym@hitel.net>

----------------------------------------------------------------


* 변경 내용


  - 기능 추가

    OPLL 사운드 모드 지원



* IMSP


  IMSP는 MSX-DOS2 용 IMS 음악 플레이어입니다.

  MoonSound 호환 OPL4 카트리지를 OPL2 모드로 연주합니다.

  OPL4 카트리지가 없는 경우 OPLL 모드로 전환합니다.

  (OPLL 모드 시, 칩 내장된 악기 사용)



* 요구 사항


  MSX-DOS2, V9938/9958 VRAM 128KB, OPL4 또는 OPLL

  추가 메모리매퍼 사용하지 않음 (TPA 기본 메모리 사용)

  

  주의: IMS 데이터를 VRAM 영역(120KB)에 로딩하므로,

        FontPack ANSI 스크린, Kanji 스크린 등의 그래픽모드에서는

        실행이 불가능합니다. 일반 텍스트 모드를 사용하세요.



* 옵션 사항


  PAC-V/XII-V 카트리지가 있으면 LED 비주얼라이저가 동작합니다.



* 사용법


  PATH 걸린 디렉토리에 파일을 복사하시면 됩니다.

  IMSP.COM 및 STANDARD.BNK 두개를 복사합니다.

  DOS2 프롬프트에서 IMSP Filename으로 실행합니다.

  ESC키를 누르면, 프로그램 종료합니다.


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를 지원할 예정입니다.


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


2019년 4월 12일 금요일

XII-V 제작 #4 - 트윈슬롯 활용 그리고...

XII-V가 장착될 곳은 원래 FDD를 추가하기 위해 마련된 공간입니다.

XII-V를 넣어도 공간이 꽤 남게 되는데, 이걸 활용하기 위해...

보드에 트윈슬롯 커넥터를 붙일 수 있도록 옵션을 넣었습니다.


슬롯 용 엣지 커넥터를 보드와 수평 방향으로 납땜을 해야되니까 약간 어렵습니다.

핀들을 구부려야 납땜을 할 수 있어요.

참고로 판매될 보드에는 엣지 커넥터가 붙어있지 않습니다.

필요하신 분은 부품을 따로 납땜하셔야 되욤~ ㅎ.ㅎ






근데 트윈슬롯? 이게 또 뭔지 모르시는 분이 있을테니 '재방송' 나갑니다!

보통 슬롯에는 카트리지 하나만 꽂을 수 있게 만들어져 있습니다.


만약 슬롯 메모리공간에서,

- Page1만 사용하는 카트리지와 Page2만 사용하는 카트리지를 함께 꽂으려면 어떻게 하나요?

- 또는 I/O 포트만 사용하는 카트리지를 함께 꽂으려면 어떻게 하나요?


이럴 때 활용하기 위해 트윈슬롯이라는게 존재합니다.

말그대로 원래 슬롯과 똑같은 신호를 받는 쌍둥이 슬롯이라는 얘기죠.


XII-V는 I/O포트만 사용하는 기기입니다.

따라서 실제로 사용 시, X-II 본체의 슬롯1번과 트윈슬롯 형태로 연결이 됩니다.

이왕 케이블을 길게 끌어왔으니, 본체 남는 공간을 좀 더 활용할 수 있으면 좋지않겠습니까요? ㅎ.ㅎ


XII-V 보드 뒷면에 추가된 트윈슬롯에 카트리지를 하나 더 꽂아보아요~

본체 전면의 슬롯1번은 범용으로 써야되니, Page를 쪼개서 동작하는 카트리지를 함께 쓰긴 어렵겠구요.

대신 I/O 포트만 사용하는 카트리지를 골라봅니다.

문사운드의 클론 카트리지인 메가밍크스님의 OPL4 카트리지를 골랐어요.

(준소프트님의 달소리 R1 카트리지도 쓸 수 있겠습니다.)


OPL4 카트리지를 꽂으면 아래 사진처럼 됩니다. 오른쪽에 보이는 FDD와 길이가 비슷해보이네요.

OPL4는 한번 꽂으면 다시 뽑을 이유는 없으니, 본체안에 내장하면 편하게 쓸 수 있겠죠? ㅎ.ㅎ






참고로 OPL4 오디오 출력은 카트리지의 이어잭으로부터 X-II 본체의 사운드 입력 핀으로 직결했습니다.





.

.

.

그리고 마지막으로 영상 하나 올려봅니다.


PAC-V의 경우는 본체가 부팅 될 때, 기동 코드에서 약간의 LED 애니메이션을 보여주는데요.

XII-V에서는 S/W로 처리가 불가능하기 때문에, CPLD에 로직으로 LED 애니메이션을 넣어봤습니다.

"X-II" 로고가 나타는 영상입니다. 로고의 도트 디자인은 곰님이 해주셨어요. 곰님 짱~ ㅎ.ㅎb





XII-V 개발기는 여기서 끝입니다. 너무 빨리 끝나서 좀 아쉽네요~ ㅎ.ㅎ


2019년 4월 6일 토요일

XII-V 제작 #3 - 메인 보드와 LED 보드의 합체!

일단 동작 사진 한장 올리구요~ㅋ






드뎌 메인 보드 용 PCB가 나왔습니다~ ㅎ.ㅎ/






납땜을 쑝~쑝~ 해주면 보드가 완성!

PAC-V는 SRAM + 충전지 조합을 사용하지만, XII-V는 그냥 플래쉬롬을 사용합니다.






동작을 해보려면, X-II 메인보드와 연결을 해야하는데요.

메인보드의 슬롯1 커넥터에 꽂혀있던 케이블을 뽑고, 대신 XII-V 연결 용 케이블을 장착합니다.

케이블은 맛탱이님께서 작업해주셨습니다. ㅎ.ㅎ/






기존 전면 슬롯 용 케이블은 XII-V 케이블의 중간에 꽂을 수가 있습니다.

XII-V는 I/O 포트만 사용하도록 설계되어있어서, 이렇게 슬롯1과 병렬로 연결해서 동작합니다.

/SLTSL 관련 신호는 쓰지 않습니다요~






X-II 메인보드와 AV 보드 사이에 공간이 꽤 있기 때문에 이렇게 연결해도 별 문제가 없네요!

참고로 케이블은 50cm입니다. FDD B: 드라이브 용 베이까지 여유있게 닿습니다.






연장된 케이블을 그대로 XII-V 메인보드에 꽂아줍니다~ 합체!! ㅎ.ㅎ

XII-V 메인보드 아래쪽엔 지지대가 있어서, 바닥철판에 닿지않도록 되어있어요.

약 10mm 정도 떠있는 상태입니다.






마지막으로 메인보드를 LED 보드와 연결합니다.

5x2핀 커넥터 두개를 잘 맞춰서 합체합니다~ ㅎ.ㅎ





보드 커넥터가 끝까지 삽입되면 이런 상태가 되어요~






LED 출력 패턴은 플래쉬롬에 들어갑니다.

처음엔 보드의 플래쉬롬이 깡통(!) 상태니까, 패턴 데이터를 넣어줘야겠죠?

잘 되는군요! ㅎ.ㅎㅋ






LED가 이쁘게 나오는지 확인해보아요~

요건 동영상으로 찍었습니다.




그럼, 다음편에서 만나요~


2019년 4월 4일 목요일

JoyMega - 8BitDo M30 2.4g 사용기

얼마전 주문했던 메가드라이브 용 무선 패드가 집에 도착했습니다. ㅎ.ㅎ/






MSX에서는 JoyMega 어댑터를 이용하면 6버튼으로 사용가능합니다.





윈도에서는 USB 케이블(번들되어 있음)을 연결하면 XBOX 360 패드로 인식됩니다.




조금 테스트해보니, 윈도에서는 잘 동작하는데...

MSX에서는 무선패드로 사용 시 버튼반응이 느리거나, 몇초간 입력이 먹통되는 현상이 나오네요.

이 문제 현상은 F/W를 업뎃하면 개선이 됩니다.


제 경우는 업뎃 모드로 USB 연결 시, V1_09로 나오는걸로 보아 v1.09 F/W인 듯 하네요.

아마 다른 분들도 같은 버전이라면 업뎃하셔야 될겁니다요~ 


패드에 들어갈 F/W와 무선 리시버에 들어갈 F/W 두개 파일이 있습니다.

바꿔서 넣으면 X되겠죠? ㅋ





참고로, 무선 리시버는 별모양 나사로 채결되어있지만,

사이즈가 적당한 일자 드라이버로도 열 수 있습니다.

뚜따를 하면 USB 커넥터가 보이네요.





제 PC는 윈도10 사용 중이구요. F/W 업뎃 매뉴얼 따라서 했을 때 문제없이 한방에 잘 되었습니다.

참고하시구요.


F/W 업뎃 후에는 버튼 반응도 빠릿빠릿하고, 입력이 먹통되는 현상도 사라지네요.

간만에 ASO 리메이크 한판 했습니다. ㅎ.ㅎ


8BitDo M30 2.4g 개인적으로 강추하는 패드입니다요.

패드 마감도 괜찮구요. 적당한 무게감에 빠른 반응 속도(유선 MD패드랑 차이 못느낌ㅋ)가 맘에 듭니다!


그럼, 이만~~ ㅎ.ㅎ


PS. 매뉴얼, 업뎃 F/W 및 MSX 용 JoyMega 테스트 프로그램도 첨부합니다. 필요하시면 쓰세요!

Download: Manual_M30_2.4g.pdf

Download: 8BitDo_M30_2.4G_Firmware_V2.00-vgo.zip

Download: JOYTEST.zip