sharksym's MSX World

sharksym.egloos.com

포토로그


구글 애드센스 (블로그 기본)


paraMSX-R 제작 #6 - 기본기능 구현 by sharksym

이제 본격적으로 내부 구현을 해야겠죠? ㅎ.ㅎ

MSX 머신을 만드려면 어떤 것들이 필요할까요?
자세한 내용은 "테크니컬 데이터북" 책에 다 나와있어요 ㅋ

참고로, 처음 생각했던 방법은 "paraMSX-R 제작 #1 - 구상" 게시물에 있습니다.
그럼 현재 구현 상황을 요약해봅니다.

[ 기본 H/W ]

1. CPU (동작 OK)

표준 Z80 3.58MHz 모드에 맞춰서 동작합니다.
본체(호스트 CPU)의 Z80을 그대로 재사용합니다.

paraMSX-R Tool 프로그램은 DOS2에서 동작이 되는데요.
본체 구동 -> paraMSX-R 보드 구동 -> 본체 구동으로 복귀가능하도록 제작될 예정입니다.
그러니까 DOS2 상에서 에뮬을 실행했다가 종료하면 원래 DOS2로 복귀하게 되는것이죠.


2. SLOT (구현 OK)

paraMSX-R에서는 자체적인 SLOT I/O를 갖게 됩니다.
본체(호스트 MSX)의 PPI SLOT I/O랑 충돌하면 동작이 안되니까요~
확장슬롯이 별도의 I/O로 되어있어서, paraMSX-R 카트리지를 본체의 확장슬롯에 꽂아도 동작됩니다.

슬롯0 - 기본/확장슬롯
슬롯1 - 카트리지 슬롯 (사용자 용)
슬롯2 - 카트리지 슬롯 (사용자 용)
슬롯3 - 기본/확장슬롯
으로 설정됩니다.


3. PPI - 키보드/CAPS LED/1BIT 사운드 (동작 OK), 카세트 (미구현)

PPI로 연결된 슬롯 I/O, 카세트 I/O 외는 모두 본체의 H/W를 그대로 재사용합니다.
카세트는 CAS 이미지파일로 가상의 카세트테입으로 구현될 예정입니다.


4. VDP (동작 OK)

본체의 H/W 그대로 재사용됩니다.
당연한거지만 VDP는 기본 기능들이 하위 호환됩니다.
제 A1GT에서 테스트 시, MSX1/2/2+ 머신으로 모두 잘 동작되는 것 확인했습니다.


5. PSG - 사운드/조이스틱 (동작 OK)

본체의 H/W 그대로 재사용됩니다.


6. OPLL (동작 OK)

본체의 H/W 그대로 재사용됩니다.


7. RTC (동작 OK)

본체의 H/W 그대로 재사용됩니다.
머신에 따라서 특수 데이터가 쓰일 수 있으니,
시계(CLOCK)외의 설정은 머신별로 따로 로드/세이브 하는 방식으로 구현됩니다.
만약 paraMSX-R의 CPLD 용량이 남으면, 본체 H/W를 쓰지않고 별도로 구현될 가능성도 있습니다.


8. System Flag (구현 OK)

본체의 소프트 리셋 상태를 확인하는 용도로 쓰이는 1BIT H/W입니다.
물론 터보알은 조금 다르지만, 에뮬 구현은 MSX2+ 기준입니다요~
A1WSX 머신으로 구동 시, 제대로 동작하는 것 확인되었습니다.


9. KANJI 및 한글/한자 폰트 (미구현)

아직 미구현 상태입니다.
KANJI JIS1 1셋, JIS2 2셋(소니/파나소닉), 한글/한자 1셋으로 구현될 예정입니다.


10. 메모리 매퍼 (구현 OK)

256KB 용량의 메모리로 들어갑니다.
IQ-2000 및 A1WSX 머신으로 동작 테스트되었습니다.


11. FDD (미구현)

본체의 FDD를 사용하는 방식과 일반 DSK 이미지파일을 사용하는 방식, 두가지로 지원될 예정입니다.
1차 구현목표는 DSK 이미지 구동입니다.


[ 부가 H/W ]

1. PAC/FM-PAC (미구현)

OPLL 칩이 없는 SRAM(또는 BIOS + SRAM)으로 구현될 예정입니다.


2. 재미나 디럭스카드 (미구현)

256KB (2메가비트) 메가램 카트리지로 구현될 예정입니다.


3. FontPack (미구현)

폰트 I/O를 제외한 BIOS + SRAM으로 구현될 예정입니다.
본체에 FontPack 카트리지가 꽂혀있어야 동작합니다.
OPLL 없는 FM-PAC과 유사한 방식입니다.


흐... 설명이 길었네요~
그냥 동작 사진으로 보는게 더 이해가 쉽겠죠? ㅎ.ㅎ


대우 IQ-1000의 구동 모습입니다.
슬롯0,1,2,3 모두 기본슬롯으로 설정된 상태입니다.



MSX1 호환 BIOS인 CBIOS1_JP의 구동 모습입니다.
참고로 CBIOS는 카트리지 INIT까지만 수행이 됩니다.
따라서 FDD 등의 구동은 안되구요. 간단한 롬팩 정도만 실행할 수 있어요.



대우 IQ-2000의 구동 모습입니다.
슬롯0는 확장슬롯으로 설정된 상태이구요. 메모리 매퍼는 256KB 설정입니다.
32인치 LCD에서 엄지손가락 로고가 뜨는걸 보니 재밌네요~ ㅋ



대우 재믹스 수퍼V의 구동 모습입니다.
이게 키보드 외장형의 MSX2 호환기...였던가요? 써본적이 없어서리...ㅋ
실기는 메모리 매퍼 64KB이지만, 그냥 256KB로 넣어서 돌렸습니다.



파나소닉의 마지막 MSX2+ 모델이죠. A1WSX의 구동 모습입니다.
슬롯0, 슬롯3 둘다 확장슬롯으로 설정되어 있습니다. 메모리 매퍼는 256KB 설정이구요.



마지막으로, 저의 A1GT에서 동작하는 모습을 영상으로 담았습니다.
에뮬 구동 후 DOS2로 복귀하는 기능은 구현이 안되어있어요.
에뮬 종료하려면, 본체를 리셋해야합니다. ㅎ.ㅎㅋ



그럼, 즐거운 주말 되셔요!





CCL

크리에이티브 커먼즈 라이선스
Yeongman Seo에 의해 작성된 저작물은, 별도의 라이선스 조건이 없는 경우 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

MSX rating & email

ClusterMaps

구글 애드센스 (세로 큰직사각형)

통계 위젯 (화이트)

1428
236
122197

이 이글루를 링크한 사람 (화이트)

20