2017년 10월 19일 목요일

paraMSX-R 제작 #13 - MSX-Audio BIOS v1.3 테스트

간만에 paraMSX-R 영상을 찍어보았습니다. ㅎ.ㅎ


paraMSX-R에는 MSX-Audio BIOS v1.3 에뮬이 들어있습니다.

여기서 쓰이는 BIOS는 파나소닉의 오리지널 롬은 아니구요,

브라질의 sd_snatcher님이 개인적으로 개발하는 개조 BIOS입니다.


오리지널 MSX-Audio는 Y8950에서만 구동이 되지만,

개조 BIOS는 필립스 뮤직모듈, 문사운드, 달소리 등의 Y8950 및 OPL 계열칩이 있으면 쓸 수 있습니다.

참고로 BIOS 롬은 PARATOOL.COM 프로그램으로 paraMSX-R에 다운로드 가능합니다.


그럼 실제 동상 모습을 볼까요?

저의 A1GT에서 문사운드 카트리지와 함께 paraMSX-R을 구동했습니다.

전반은 CPC-400 모드에서 딜럭스박스에 제비우스를 로딩/구동하는 영상이구요.

후반은 FS-A1WX 모드에서 파이어호크 HDD 인핸스 버전을 구동하는 영상입니다.


MSX-Music (OPLL)과 차이가 좀 느껴지시나요? ㅎ.ㅎㅋ




그럼, 즐거운 밤 되세요. ㅎ.ㅎ/


2017년 10월 15일 일요일

MAD80 - 페이지3의 메모리 덤프 시 슬롯 조건??

최근에 천국동 질답 게시판에 MAD-80 글이 하나 올라왔었습니다.

http://cafe.naver.com/msx/13227


메모리 덤프 명령 쓸 때, 시작 주소를 C000H 이후(페이지3)로 설정하면 주소가 0000H으로 바뀌는 현상에 대한 것이었습니다.

일단 이경우가 발생하면 0000H ~ BFFFH 메모리 덤프를 반복하게 됩니다. (무한루프~ㅋ)


MAD80이 오래된 프로그램이긴 하지만...

80년대에 아이큐1000/2000에서 쓰셨던 분들이 많을거라 생각해서 몇가지 테스트를 해보았습니다.

사실 저는 이거 안써봤어요. ㅎ.ㅎ


아래는 MAD80 설명서에서 긁어온 내용입니다.


1) MAD80 2.0 의 상주과정.

기존의 MAD80 에서는 무조건 슬롯 2에 MAD80  을 세트시킴으로 메인램이 슬롯 0의 

확장슬롯2에 있던 MSX 2 에서는 안될수밖에 없었다.  그러나 MAD80 2.0 에서는 다

음과 같은방법으로어떤환경에서든 잘  상주시킬수 있게 되었다. MAD80 2.0  은 페

이지 1에 상주하고  페이지 0을 오브젝트 영역으로 쓰는데 찾는방법은  각 기본슬

롯 및 확장슬롯을 모두조사하여 그 페이지가 램이면  그 슬롯의 페이지 1에 MAD80 

2.0 을 상주시킨다. 예를들어 MSX  2 의 경우라면 0(기본슬롯)-0(확장슬롯),0-1로 

찾아나가다가 0-2의 페이지 1에서 램이 발견되므로 그곳의  페이지 1에 MAD80 2.0 

을 상주시키고  페이지 0을 오브젝트  영역으로 사용한다. 그러나 항상  상주하는 

위치가 같은것은 아니다.(확장램이 있을경우 그곳에 자리잡는다)


요약을 해보면,

- MAD80.BIN 파일을 로딩/실행하면 램에 상주한다.

- 페이지1 (4000H~7FFFH)에 상주하며, 슬롯 위치에 상관없이 상주 메모리를 찾는다.

- 확장램이 발견되면 확장램에 상주한다. (여기서 확장램은 재미나 램카드일 확률이 높겠죠?)



그럼, 테스트를 해봅니다.

blueMSX 에뮬에서 FS-A1WSX 머신으로 구동했습니다.

참고1) A1WSX는 슬롯0, 슬롯3 두곳이 확장되어있고, 메인메모리(64KB)는 슬롯3-0에 위치합니다.

참고2) MAD80의 슬롯지정은 일반적인 MSX BIOS의 슬롯ID와는 다릅니다. 설정값은 매뉴얼을 참고하세요.


1)

#DC00,DC01F 명령으로 메모리 32바이트를 덤프해봤습니다.

어라? 메인램이 있는 슬롯3-0은 덤프가 정상적으로 되네요.

그 외의 슬롯은 모두 오동작합니다.

아래 슬롯0-0에서 덤프한 것 처럼 무한루프로 빠지면서, 0000H ~ BFFFH 덤프가 반복됩니다.

비어있는 카트리지 슬롯이든, 64KB 롬팩을 넣은 슬롯 상관없이 오동작합니다. (페이지3은 덤프 불가!)





2)

메인메모리(BIOS가 선택하는 메인메모리) 위치와 덤프 조건과 연관이 있을까요?

슬롯2에 메모리매퍼 2048KB를 설정하고 부팅합니다. 이렇게 되면 메인메모리가 슬롯2로 선택이 되겠죠?


덤프를 해보면 아래처럼 나오네요.

메인램이 있는 슬롯2에서는 C000H 이후 메모리가 제대로 덤프가 됩니다.

근데, 본체 내장메모리인 슬롯3-0에서 덤프하면 오동작하네요. @.@

그럼, 메인메모리가 아닌 슬롯은 무조건 오동작하는걸까요?





3)

그럼, MAD80 프로그램이 어느 슬롯에 상주해있는지 확인해봅시다.

슬롯2의 페이지1을 덤프합니다. --> 아무것도 없네요. FFFF....

슬롯3-0의 페이지1을 덤프합니다. --> MAD80 프로그램이 보이네요.

어랏, 아까 슬롯3-0의 페이지3을 덤프하면 맛이 갔는데...ㅋ






현상을 정리하면...

- 메인메모리로 선택된 슬롯은 페이지3을 덤프할 수 있다.

- 메인메모리로 선택된 슬롯이 아니라면, 본체 내장/외부 상관없이 페이지3을 덤프할 수 없다.


그럼, 결론은 뭘까요?

-> MAD80으로 페이지3을 덤프하는 용도로 쓰지 못함


이상입니다~ ㅎ.ㅎ

2017년 10월 13일 금요일

세가 마스터 시스템 버전의 YS 음악 (DCSG, OPLL)

아시다시피 MSX2 버전의 YS는 PSG (AY-8910) 사운드만 사용합니다. (YS2도... YS3도... ㅎ.ㅎ)

세가 마스터 시스템 버전의 YS는 사운드가 두 종류더라구요. DCSG (SN76489)와 OPLL (YM2413)인데요.


세가쪽의 YS 음악들은 VGM 파일로 덤프가 되어있어서, MSX에서 재생을 해볼 수 있습니다.

그래서 제 GT로 돌려봤다는 얘기죠!ㅋ


M에서 두버전의 VGM 파일들을 교대로 재생시키는 영상을 찍어보았습니다.

VGMPlay는 Grauw님의 프로그램을 사용하였습니다.



.

.

.


그리고, 요건 보너스 영상~ ㅎ.ㅎ;

앞부분 30초만 들어보세요. 뭔가 익숙한 멜로디 ... 그거 맞나요? ㅋ