2017년 12월 11일 월요일

paraMSX-R 제작 #15 - 사용자 머신 로딩

기본적으로 paraMSX-R에서 사용되는 머신 데이터는 미리 플래쉬롬에 다운로드되어야합니다.

만약 플래쉬롬에 내장되지 않은 머신을 사용하고 싶으면 어떻게 해야할까요?


이걸 어떤 방식으로 만드는게 가장 효과적일지 생각해보았습니다. (6개월 전에요 ㅋ)

결론부터 얘기하면, 머신 데이터 영역을 램으로 구성하는 방식이죠.

머신 데이터는 PARAMSX.COM 실행할 때 함께 로딩을 하구요.


처음 paraMSX-R 설계할 때, 메모리 매퍼를 1024KB까지 지원하도록 했는데요.

512KB만 메모리 매퍼로 쓰고, 나머지 512KB를 머신 데이터 로딩 용으로 바꿨습니다.

매퍼램 1024KB가 있으면, 프로그램 개발/테스트 시에는 유용하게 쓰일 수 있겠지만,

아마 사용자 대부분의 경우는 별로 필요없을 것 같더라구요.


사용자 머신 파일명은 *.MCH 입니다.

도스에서 PARAMSX.COM 구동 시, 파일명을 입력해서 로딩할 수 있습니다.

머신 파일을 로딩하게 되면, 해당 머신으로만 구동이 됩니다.

카트리지에 내장된 머신을 선택하는건 불가능해집니다.


아래는 PARAMSX.COM 1_A1.MCH 실행 후, A1의 데스크팩으로 진입한 모습입니다.





사용자용 머신 파일(MCH)은 512KB 내외의 용량이니까,

2DD에서 구동하시는 분들도 활용이 가능합니다만...

로딩시간 때문에 가능하면 고속/대용량 디스크드라이브에서 활용하시는 걸 추천합니다. ㅎ.ㅎ



그럼, 실제 동작 모습을 보시지요~

처음에는 PARAMSX.COM을 그냥 실행해서 내부 머신 선택하는 모습이 보이구요.

그 후, FS-A1, FS-A1WSX, CBIOS2+ (JP) 모드를 로딩/구동하는 모습이 나옵니다.





그럼, 다음에 또 뵙겠습니다요~ ㅎ.ㅎ/


궁금한 부분 있으시면, 질문글로 올려주세요~


 

2017년 11월 27일 월요일

FS-A1FX 콕핏II - 2000년을 거부하다(!)

갑자기 이게 뭔소리야? 생각하셨겠죠? ㅎ.ㅎ;


최근에 paraMSX-R을 만들어서 이것저것 테스트 하는 도중 요상한 현상이 발견됩니다.

본체의 RTC가 1988년 1월 1일로 초기화되는 현상이었는데요.

ASTERiS님도 이 문제를 얘기하신적이 있습니다.


근데, 요게 참 요상한것이 -_- 왜 1988년일까... 설마 서울 올림픽 바이러스???


으흐흐... 요거 범인을 찾았어요.

범인은 바로 FS-A1FX의 내장 프로그램인 콕핏II입니다.



그럼, 증거 사진 나갑니다.

깨끗한 사진을 위해 blueMSX를 활용했어요.


blueMSX는 기동하면 RTC를 윈도의 시간으로 초기화시켜줍니다.

그러니까 에뮬의 MSX랑 윈도 시간이 같아지는거죠.

아래는 DOS로 부팅해서 확인한 모습입니다.






근데 FS-A1FX의 콕핏으로 진입을 하게되면... 아래처럼 날짜가 바뀝니다요!

참고로 콕핏으로 진입하려면, blueMSX의 펌웨어 스위치를 켜야합니다.

DOS로 부팅해서 확인하면 실제 RTC 설정도 바껴있습니다. 1988년으로 ㄷㄷㄷ

RTC의 연도가 2000년 이후로 인식되면 배터리 오류로 생각하나봅니다.

FS-A1FX의 제품 출시가 1988년이라 이렇게 초기화하는거겠죠?






그럼, 날짜를 1988년 이전으로 설정하면 어떻게 되는지 한번 볼까요?

1984년 11월 27일로 설정 후, BASIC 모드에서 소프트 리셋을 해줍니다.

그리고 콕핏으로 진입 후, 달력을 띄워보면~~ 1984년으로 잘 나오네요. ㅎ.ㅎ





결론: FS-A1FX의 콕핏 프로그램은 2000년 이후의 날짜를 오류로 인식함


그럼, 편안한 밤 되셔요~ ㅎ.ㅎ


2017년 11월 24일 금요일

paraMSX-R 제작 #14 - BIOS/머신 롬 다운로드

paraMSX-R는 에뮬 구동을 위해, 각종 BIOS 롬과 MSX 머신 설정롬이 들어있습니다.

카트리지를 처음 구동 시, 이 롬들을 미리 다운로드한 후 사용해야합니다.


먼저 파일을 준비합니다.

PARAMSX.COM -> 메인 에뮬레이터

PARATOOL.COM -> 각종 롬 다운로더

PARAMSX.ROM -> 메인 BIOS 롬

PARAMACH.ROM -> 머신 데이터 롬

AUDIO.ROM -> MSX-Audio v1.3 롬

FMPAC.ROM -> MSX-Music BIOS 롬





메인 프로그램은 PARAMSX.COM 인데요.

머신 데이터가 없는 상태에서 실행하면 아래처럼 에러가 출력되며 구동이 되지않습니다.





아래는 롬 다운로더인 PARATOOL.COM을 실행한 모습입니다.

카트리지의 H/W 버전과 슬롯 위치가 표시됩니다.

PARATOOL은 BIOS 롬의 종류를 구별하기 때문에 다운로드 시 특별한 옵션은 쓰지않습니다.

단, 메인 플래쉬롬이 지워진 경우는 슬롯 위치를 수동으로 설정할 수 있습니다. (/Sn 옵션)






1) 메인 BIOS 롬 다운로드


DOS에서 PARATOOL PARAMSX.ROM 실행하면, 아래 사진처럼 다운로드가 완료됩니다.

PARAMSX.ROM은 512KB 크기입니다.


주의)

만약 DOS1 FDD를 사용하는 경우는 720KB 디스켓 한장에 모든 파일을 넣을 수 없으니,

MSX-DOS 시스템 파일과 PARATOOL.COM, PARAMSX.ROM 두개 파일만 넣고 부팅해서 다운로드하세요.

다운로드 후 PARAMSX.ROM 파일을 디스크에서 삭제하셔도 됩니다.





2) 머신 데이터 롬 다운로드


도스에서 PARATOOL PARAMACH.ROM 실행하면, 아래 사진처럼 다운로드가 완료됩니다.

PARAMACH.ROM은 128KB 크기입니다.

다운로드 후 PARAMACH.ROM 파일을 디스크에서 삭제하셔도 됩니다.





3) AUDIO 롬 다운로드


MSX-Audio BIOS v1.3 롬(FRS 버전, 48KB 크기)을 다운로드합니다.

파일은 아래 홈페이지에서 받을 수 있습니다.

http://frs.badcoffee.info/tools.html

자신의 환경(실제 장착된 카트리지)에 맞는 롬을 넣으면 됩니다.

예) 문사운드 계열 카트리지의 경우, msxaudio13.OPL3_mono.rom을 사용


도스에서 PARATOOL AUDIO.ROM 실행하면, 아래 사진처럼 다운로드가 완료됩니다.

MSX-DOS에서 긴파일명은 쓰기 불편하니, 적당히 8.3 파일명으로 쓰시는걸 추천합니다.






4) FMPAC 롬 다운로드


MSX-Music BIOS + PAC 커맨더로 이루어진 롬입니다.

오리지널 롬 또는 영문/한글 패치된 롬(64KB)을 사용하면 됩니다.


도스에서 PARATOOL FMPAC.ROM 실행하면, 아래 사진처럼 다운로드가 완료됩니다.

사진에서는 한글패치판 FMPAC_K.ROM을 다운로드했네요.





다운로드가 완료되었으면, 재부팅합니다.


다운로드했던 롬파일은 디스크에서 삭제해도 무방하구요.

PAC/FMPAC의 SRAM 데이터는 에뮬 내에서 플래쉬롬에 save/load 하니까,

전원을 끄더라도 사라지지 않습니다. 참고하세요.


아래는 메인 에뮬레이터 프로그램(PARAMSX.COM)을 구동한 모습입니다.






궁금한 부분 있으시면, 질문글로 올려주세요~ ㅎ.ㅎ