이제 본격적으로 내부 구현을 해야겠죠? ㅎ.ㅎ
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로 복귀하는 기능은 구현이 안되어있어요.
에뮬 종료하려면, 본체를 리셋해야합니다. ㅎ.ㅎㅋ
그럼, 즐거운 주말 되셔요!