2008년 12월 17일 수요일

SVU 제작 #1 시작

드디어 SVU 제작에 들어갑니다.


대략적인 스펙은,


- 메모리 페이지

  1024 x 512


- 출력 해상도 :

  가로 픽셀 = 145, 290, 580

  세로 픽셀 = 110, 220, 440 (인터레이스)


- 출력 모드 :

  24BPP 1레이어 + 8BPP 1레이어 모드

    - 항상 8BPP가 상위에 오버레이 됨

  8BPP 4레이어 모드

    - 각 레이어의 오버레이 우선순위 설정 가능.

    - 컬러키는 0xFF (100% 흰색은 출력 불가능)


- 컬러 모드

  24BPP : RGB 888

  8BPP : RGB 332 (MSX2 스크린8 모드와 동일)


- 부가 기능

  HW 수평/수직 스크롤 : 메모리 페이지 범위 내에서 Rolling 됨

  Active Window 설정 : H/V Start 및 Width/Height 픽셀 설정 가능




이제 작업중인 사진이 나갑니다요.

넓직한 만능 기판에 MSX 슬롯용 보드와 연결했습니다.


너무 넓어서 사용이 불편할 것 같은 느낌도 드는군요.

반정도 되는 기판을 층층으로 쌓으면 더 좋겠다는 생각이 듭니다.

뭐, 첫 시도이니 이대로라도, 성공하면 만사 OK입니다. ㅎ.ㅎ


왼쪽은 HW 스크롤을 담당할 레지스터입니다.

2층으로 쌓아놔서 16개 칩이 들어갔습니다.


오른쪽은 각 레이어의 프레임 메모리용 어드레스 출력을 담당할 카운터입니다.

73LS193 칩 3개가 한조로 12비트 출력을 합니다.




왼쪽의 2층으로 쌓은 칩의 모습입니다.

74HC574의 입력핀이 데이터 버스 공통이라서 이렇게 연결하는 것이,

공간도 덜 차지하고 납땜할 부분을 줄여줍니다. ㅎ.ㅎ




중앙에는 MSX의 CPU I/O와 그래픽 출력을 위한 어드레스 래치들입니다.

요넘들도 2층으로 쌓았습니다. ㅋ

오른쪽에는 512KB 고속 SRAM(10ns) 4개가 자리잡고 있습니다.

SOP 변환기판으로 얹었습니다.

사진에는 안보이지만, SRAM 아래에는 8BPP 모드에서 컬러키(0xFF) 체크용 NAND 게이트가 숨어있습니다. ㅎ.ㅎ

보드 윗면은 전원 라인들이 지나가고요. 아랫면에는 신호선들이 연결되있습니다.




SRAM을 확대해서 찍은 것입니다.

요즘은 5V 8BIT SRAM을 구하기 힘든데, icbank에서 팔고 있더군요.

삼성 K6R4008C1D 8개를 사놨습니다.

이중 4개가 프레임 메모리로 쓰입니다.

24BPP 모드에서는 칩 하나가 8BIT DAC으로 출력용으로 쓰이고,

8BPP 모드에서는 칩 하나가 레이어 한개를 담당합니다.




보드 밑면입니다.

우후... 다시봐도 아찔하네요. 제발 완성했을때 실수한 부분이 많이 없길 빌어봅니다.




왼쪽 하단에 출력 윈도 설정용 레지스터 및 카운터가 자리잡고 있습니다.

윈도 설정 블럭은 H/V Sync 및 Back porch 구간의 BLANK 영역도 같이 처리합니다.

출력이 Black으로 되는 것이지요.

MSX VDP처럼 윈도 외각(Border)의 색을 지정하는 기능은 없습니다.


오른쪽에는 8BPP/24BPP 모드시 데이터 선택을 할수 있는 래치가 있습니다.

그 옆으로는 8BIT R2R DAC이 놓일 자리이고요.

MSB에 쓰일 50옴짜리 가변저항들이 보이네요.




밑면에는 선들이 점점 늘어나고 있습니다.

무게도 꽤 묵직하네요.

언제나 '취급주의'!!!  손에 걸려서 선이라도 끊어지면 완전 좌절입니다요. ㅋ




여기까지 작업하는데만 3주 넘게 걸린 듯 합니다.

요즘 평일엔 계속 국내 출장... 주말엔 아들내미랑 놀아야하고...

아무리 취미고 하는 것이지만 올해 안에 완성하는 게 목표였는데, 2008년도 2주밖에 안남았네요. 어흥~


2008년 12월 16일 화요일

Z80 20MHz

얼마전 ebay에서 구입한 Z80 CPU입니다.

중고라서 값도 싸더군요. CPU 6개를 해외 운송료 포함해서 3만5천원 정도에 구했습니다.


Z84C0020FEC는 오리지널 Z80과 100% 동일한 기능을 갖고 있습니다.

44PQFP라서 크기도 작고 CMOS타입의 저전력고요.

속도만 20MHz로 동작합니다. 생산되는 구형 Z80 코어로는 20MHz가 가장 빠른 칩이더군요.


지금 딱히 쓸데는 없지만, 나중에 시간 나면 MSX 엑셀레이터나 MSX 호환의 SBC를 만들어볼까 생각중입니다.

그래픽 엑셀레이터, 사운드 프로세서도 순수 Z80에 I/O 붙여서 만들어보고 싶고요.

물론 MSX 주변기기가 되겠지요.


요즘 나오는 MCU들에 비하면 초라한 성능이지만,

MSX와의 인연때문인지, Z80이라면 그냥 기분이 좋네요. ^^


아래는 2.54mm 변환 기판에 붙여놓은 모습입니다.

CPU보다 변환 기판이 더 비싸요. ㅎ.ㅎ;

음, 칩 마킹을 보니 98년 39주차 생산품인것 같군요. 10년 묵은 칩이네요. ㅋ




2008년 12월 11일 목요일

CP/M program EXEcutor for Win32 v0.2

윈도에서 동작하는 CP/M 에뮬레이터입니다.

아래는 제작자 홈페이지입니다.

http://hp.vector.co.jp/authors/VA000084/


제 경우, CP/M용 개발툴을 구동할때 쓰고 있습니다. (GEN80 및 HI-TECH C)


예) HI-TECH C를 이용하여 'HELLO.C' 컴파일 하는 경우


CP/M 또는 MSX 패치 환경일때는

 > C HELLO.C [Return] 하던 것을

 


윈도 CP/M 에뮬에서는

 > CPM C HELLO.C [Enter] 하면 됩니다.

 


참고로, MSX-DOS는 CP/M v2.2 BDOS 호환되므로,

콘솔 입출력이나 디스크 R/W등의 기본 기능들은 모두 동작합니다.

MPXP v1.40

Download: MPXP_v1.40.zip


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

    MPXP v1.40 (2008.06.04)

        By 서영만 (E-mail:sharksym@hitel.net)

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


김준성님의 MPX에서 쓸수 있는 Player입니다.



* 개선 사항 v1.40


- DOS1과 DOS2 모두 사용가능합니다.

  같은 시스템일 경우, DOS1상에 구동시 조금 속도가 느립니다.

  저의 MSX2+와 MMC/SD 드라이브에서 테스트시 160KBPS MP3까지만 안끊기고 플레이됩니다.

  MSXturboR은 DOS1, DOS2 상관없이 320KBPS까지 문제없고요.

- 기타 파일명 관련 작은 버그가 수정되었습니다.

2008년 9월 29일 월요일

그래픽 보드 #5 수평 576픽셀

이번엔 가로 해상도를 두배로 키워 보았습니다.

단순히 어드레스 카운트만 두배로 만들면 되지만,

H-Sync와의 페이즈 에러를 줄이기 위한 보완도 같이 해봤습니다.

비디오 출력은 576 x 220 이지만, 메모리가 128KB뿐이라 수평 512픽셀까지만 저장됩니다.


WOW 공식 홈에서 다운받은 월페이퍼를 수정해서 올려봤습니다.




아래가 원본 그림입니다.

개인적으로, 와우의 배경들의 색감이 참 이쁘더군요. ^^




기존 MSX의 스크린 모드7(512 픽셀)의 수평해상도 보다 약간 높은데,

인터레이스를 이용한 두배 해상도를 만들면, VGA와 비슷한 해상도가 나오겠지요.


그림을 로딩한 상태에서 게임을 한번 구동해봤습니다.

캐슬 엑셀런트인데요. 게임 자체 배경이 검정색이라 믹스하면 잘 어울리네요.




빨간색 출력이면 아래처럼 무서운 게임이 됩니다. 헙헙ㅋ



2008년 8월 30일 토요일

그래픽 보드 #4 프레임 버퍼

32KB SRAM 4개(128kb)를 이용하여 프레임 메모리를 구현해봤습니다.

해상도는 512 x 256이 되겠네요.




뒷면은 처절한 바느질 납땜으로 갑니다. 어헝~




MSX turboR의 후면 슬롯에 꼽으면 아래처럼 됩니다.

MSX RGB 출력을 받아서 비디오 믹스 후, 다시 출력되는 것이지요.




이번엔 256회색톤의 그림파일을 올려봤습니다.

제 모니터에서, 픽셀클럭 6MHz일때가 도트의 가로/세로 비율이 1:1에 가까운 것 같더군요.

이상태에서 출력 해상도가 288x220 정도 됩니다.


아래는 256 단계의 박스를 그려본 것인데, 가로 방향은 밝기차가 잘 보이지 않네요.

가로 16개, 세로 16개, 총 256개 박스를 그린 것입니다.




웹에서 구한 MSX turboR 사진입니다.




아래는 우리 아들 돌사진입니다. 얼굴만 오려서 넣어봤습니다.

생각보다 잘 나오는 것 같아요. ㅋ




MSX의 스크린0 고해상도 모드(512x192)의 텍스트와 믹스된 모습입니다.

그냥 도스에서 DIR한번 해봤습니다.




아래는 유투브에 올린 동영상입니다.

부팅해서 그림파일 슬라이드 쇼를 하는 것인데요.

비디오 메모리 로딩시, 그냥 Write하는 경우와, V-Blank 구간에서 Write하는 경우 두가지를 보여줍니다.




2008년 8월 7일 목요일

JunSoft MPX R1

파란(구 하이텔)의 MSX 동호회 시삽이신 '김준성'님이 제작하신

MSX용 미디어 플레이어 카트리지입니다.


아래는 터보알 후면 슬롯에 장착된 모습입니다.



12MHz XTAL 옆 작은 칩이 MP3, WAV, MIDI 디코딩을 담당하는 VS1003입니다.

스테레오 오디오이기 때문에 MSX 슬롯 사운드 입력핀(모노)을 쓰지 않고 별도 잭으로 출력합니다.

알테라 CPLD로 SPI 및 어드레스 매퍼 등의 로직이 구현되어 있습니다.

부가적으로 512KB 플래쉬롬이 장착되어, 전용의 바이오스 또는 게임 카트리지 등으로 활용가능합니다.


MSX의 Z80 CPU로는 MP3 파일 디코딩은 커녕, 파일 전송하는 역할도 버겁습니다. ㅎ.ㅎ;

예를 들어 320KBPS의 MP3 파일의 경우, 초당 40KBytes의 데이터를 디스크에서 디코더 칩으로 전송해야되니까요.


MSX 터보알을 구입한 뒤로는 미디 플레이어로 많이 활용했었는데,

이젠 MP3도 들을 수 있으니 좋네요.


아래 동영상은, 울 아들이 MSX 앞에서 동요을 듣는 모습입니다.



2008년 8월 3일 일요일

그래픽 보드 #3 라인 버퍼

본격적인 비디오램을 구현하기 전에,

간단한 수평 1라인 메모리를 만들어봅니다.

서랍에 굴러다니던 20ns짜리 32KB SRAM이 사용되었습니다.





MSX의 버스 인터페이스를 위해, 폐기 직전의 사라만다 PCB가 사용되었습니다.

예전 MMC/SD Drive V1 만들때 희생된 팩이지요.

잠시, 묵념...  ㅡ.ㅡ


이제, 본격적으로 라인 메모리를 써봅니다.

아래는 V-Sync와 적당한 간격을 두고 메모리를 3번 Writing 한 경우입니다.




1픽셀 토글 패턴과, UP/DOWN RAMP패턴을 출력해보았습니다.

패턴 사이 노이즈 처럼 보이는 것은 CPU의 메모리 Write와 DAC의 Read가 간섭이 되어서 나타나는 것이지요.

이건 회피 방법이 많으니 차후에 고려해보기로 합니다.


아래는 실제 MSX에서 동작되는 모습을 영상으로 찍은 것입니다.



2008년 7월 28일 월요일

SCC R2R 11BIT DAC

진폭스(sinfox)님이 만들어주신 PCB로 V2.2 만들다 사고가 났습니다.

코나미 SCC 출력에 쓰이는 어레이 저항 부품을 부러뜨렸네요.


멀티미터로 대충 크기를 재어보니, 아래처럼 만들면 될 듯 하더군요.




대충 만들어서 사라만다 배경음악을 들어보았는데, 얼추 비슷하네요. ㅋ

파형을 비교 해보진 않았지만 괜찮은 것 같습니다.

(시간 날때 사운드카드로 캡쳐해야 봐야될 듯...)


아래는 작업된 모습입니다.





모양이 좀 징그럽긴 한데요, 케이스 덮으면 안보이니깐 패스. ㅎ.ㅎ



2008년 7월 9일 수요일

그래픽 보드 #2 Video DAC

이번엔 간이 8BIT DAC을 만들어서 출력해봤습니다.

R2R 사다리로 구현했는데요.

일단 74LS273 플립플롭으로 뽑았습니다. (나중에 74HC 타입으로 바꾸면 전압 오차가 좀 줄겠지요.)

모니터마다 다를 수는 있는데, 기본적으로 AGC가 Back porch를 클램핑하기 때문에

싱크 및 백포치 영역을 Black 레벨로 묶으려면, 클리어 핀이 있는 74LS273이 쓰기 편합니다.

574처럼 핀이 순서데로 정렬되어 있으면 좋겠는데... 암튼 납땜하려면 좀 귀찮지요. ㅋ




이번엔 모니터의 GREEN 신호로 출력했습니다.

지난번 클럭의 H-Sync와 Phase 에러는 반으로 줄여보았고요.

기존 25MHz 클럭에서 50MHz로 바꾸고 한번 더 분주했지요.

클럭 카운터 (차후 어드레스 카운터로 쓰이겠네요.)의 출력이 DAC으로 나오는 모습입니다.

그럭저럭 256단계 같네요. 음...




아래는 VDP의 파란색 바탕과 믹스해본 것입니다.

좋아보이네요. ㅎ



2008년 7월 5일 토요일

그래픽 보드 #1 Clock & Sync

기존 MSX VDP 출력과 MIX하여 간단한 비디오 기기를 만들까 생각중입니다.

VDP의 컴퍼짓 비디오에서 싱크를 분리하여, 클럭과 동기시키는 방법이 있어야겠지요.


높은 클럭을 사용하여 픽셀 클럭으로 분주 시킬때, H-sync의 Rising Edge에 맞추면,

얼추 Line Locked 클럭 제네레이터 같은 효과를 얻을 수 있는데요.

작은 보드에 얹어서 실험해봅니다.




25MHz 클럭을 1/4으로 분주하면 6.25MHz 클럭이 나오는데, 이때 LM1881로 분리된 H-Sync로 카운터를 초기화해서

싱크와 픽셀 클럭이 어느정도 동기될수 있도록 해봤습니다.

화면에 표시해보면, 아래처럼 되는데요.




빨간색 수직선이 클럭 출력을 그대로 모니터의 RED 신호로 넣은 것이고,

테두리의 보라/흰색은 기존 MSX VDP의 스크린5의 바탕면입니다.


픽셀 비교를 위해, MSX 스크린0 모드(256x192)에서 문자와 겹쳐서 표시해봤습니다.

가까이서 보니 수직선이 지글거리는군요.

전용의 Line Locked 클럭 제레레이터를 쓰면 좋겠지만, 돈 많이 드는 취미활동은 만드는 재미가 없으니 신경 끄고요. ㅎ.ㅎ;

일단 어느정도 처리가 가능한지, 눈으로 봐줄만 한지를 테스트해봅니다.




아래는 MSX의 스크린 모드5에서 VDP의 수직선과 비교한 모습인데요.

이때 VDP의 픽셀 클럭은 5.37MHz입니다.

6.25MHz의 새로 만든 클럭이 좀 더 촘촘해 보이네요.

1/4 분주해서 페이즈 조정되니까, H-Sync와 약 25% 에러가 생기는데, 실제로 보면 뱀 같네요. 꼬물꼬물 ㅎ.ㅎ;



2008년 6월 19일 목요일

MMC/SD Drive V1,V2 - BIOS v3.10

Dowload: MMCSD_Drive_v3.10.zip


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

    MMC/SD Drive v3.10 (2008.06.18)

        By 서영만 (E-mail:sharksym@hitel.net)

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


* 개선 사항 v3.10


- DOS2 v2.20 커널이 내장되었습니다.

  128KB 이상 램의 MSX2/2+ 에서 사용가능합니다.

  DOS2 인스톨 불가능한 경우는 자동으로 DOS1 커널로 동작합니다.


- BASIC'n v2.1 내장되었습니다.

  BASIC 프로그램을 고속으로 만들어주는 ASCII의 프로그램입니다.

  참고로 v2.1은 MSX1/2/2+/turboR 모두 지원합니다.


- Disk R/W 속도 개선.

  미약하지만 속도 개선이 되었습니다.


- v3.05 테스트 버전에서 미완이던 기능들이 모두 정리되었습니다.

  Shift키 부팅, Ins키 부팅(DOS1 강제 부팅), SymbOS 드라이버, 롬뱅킹 보호, 등.


- 현재 BIOS롬에서 디스크롬이 차지하는 부분이 늘어나는 바람에,

  상대적으로 플레쉬디스크 용량이 줄었습니다. 참고하세요.

  DiskROM (DOS1 커널) :  16KB

  DiskROM (DOS2 커널) :  64KB

  BASIC'n v2.1        :  16KB

  MMC/SD Driver       :  32KB

  FlashROM Disk       : 384KB

  Total               = 512KB


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


1. Hardware 개요

  - MSX의 표준 Disk Interface와 호환되는 외장 Disk.

    DOS Command 및 Program Disk basic command 사용 가능.

  - DOS1/DOS2 커널 내장.

  - BASIC'n v2.1 내장

  - MMC/SD Memory를 저장 매체로 사용 (16MB~256MB).

  - 기존 2DD 및 1.44MB~23MB 고용량 Disk Partition 사용 가능.

    Okei's FAT16 Driver 지원. (최대 2GB FAT16 Disk 사용 가능)

  - 2DD Multi-Disk 에뮬레이션 가능하며,

    거의 모든 MSX 2DD 전용 게임 구동 가능.

  - FDD가 없는 MSX에서도 2DD 게임 인스톨 가능.

  - DISKROM(512KB)는 ATLOAD.COM으로 Download 가능.

    각 롬은 내장 플래쉬디스크의 포맷(DOS1/DOS2)에 차이가 있습니다.

    (MMCDISK1.ROM : DOS1 플래쉬 디스크 내장.

     MMCDISK2.ROM : DOS2 플래쉬 디스크 내장.

     MMCDISK3.ROM : DOS2 플래쉬 디스크 내장. HW2.2의 더블 드라이브 소켓용.)

  - BIOS 또는 도스 종류에 따라 2~4개의 Drive가 할당 됨.

    C Drive FAT12 모드 사용시,

      A: MMC/SD Drive (사용자 선택 및 Multi-Disk 에뮬 가능)

      B: 내장 FlashROM Drive (DOS Util등을 빠르게 Access 가능)

      C: MMC/SD Drive #1 (MMC/SD System-Disk)

      D: MMC/SD Drive #2 (FAT12 System-Disk 또는 FAT16 Disk)

    C Drive FAT16 모드 사용시, (Okei's FAT16 Driver 필요)

      A, B: 내장 FlashROM Drive (DOS Util등을 빠르게 Access 가능)

      C   : MMC/SD Drive #1 (FAT12 System-Disk 또는 FAT16 Disk)

      D   : MMC/SD Drive #2 (FAT12 System-Disk 또는 FAT16 Disk)

   참고로 MMC/SD 슬롯 #2에 쓰이는 메모리카드는,

   FDD 에뮬로 사용이 불가능 합니다.

   FDD 에뮬은 슬롯 #1에서만 가능합니다. (DISKMAN, DSKCOPY 등 유틸 포함)

  - 부팅시 동작

    TAB Key 눌러졌을 때

      -> Disk 사용중이 아닐때는 SCC Access 무시

         (Feedback, Famiparo2, Quinpl, Nyancle 등, 구동시 필요)

         이 경우 SCC 사운드도 사용 불가.

    CTRL Key 눌러졌을 때

      -> A Drive만 할당됨.

    SHIFT Key 눌러졌을 때

      -> MMC/SD Disk Interface만 동작하고 내장 DiskROM은 구동 안됨.

         CTRL Key와 조합가능 (Koei Game 실행 시, 필수)

    INS Key 눌러졌을 때

      -> DOS2 커널 인스톨을 취소하고 강제 DOS1 커널로 구동합니다.

         DOS2 환경에서 부팅이 안되는 게임 실행시 유용합니다.

         (CTRL 또는 SHIFT Key와 조합가능)

    Z Key 눌러졌을 때,

      -> HW V2 이상 사용시, Z 키를 눌러서 HW V1용 BIOS를 동작시킬 수 있습니다.

         이 경우 Disk속도가 약 40KB로 느려지므로,

         속도가 빨라 게임이 제대로 동작안하는 경우 사용하면 좋습니다.

         (예: Aleste외전, XAK2 등)

    

2. 동작 환경

  - MSX1 64KB RAM 이상에서 동작하며,

    부가 FDD가 없더라도 2DD Image를 인스톨 가능함.

    (DSDKCOPY.COM for MSX-DOS/DOS2,

     DISKMAN.EXE for Windows NT/2K/XP)

  - 아래 환경에서 실제 동작 확인되었습니다.

    MSX2(Daewoo CPC300)

    MSX2+(Panasonic A1WSX)

    MSXturboR(Panasonic A1GT)

  - paraMSX v0.48b의 MMC/SD Drive 에뮬레이션에서 동작 확인되었습니다.

    MSX1(Daewoo DPC200)

    MSX1(Panasonic FS-4000)

    MSX2(Philips VG8240) 등


3. 내장 Software

  - ATLOAD.COM

    Flashrom 다운로드 시 사용.

    기본적으로 DISK Bios(512KB) 다운로드에 사용되며,

    16/32KB ROM 및 SCC MegaROM File 다운로드하여 일반 롬팩처럼 사용 가능.

  - INSTALL.BAT

    System Disk Install용 Batch File입니다.

  - INITMMC.COM

    System Disk Install시 사용됨.

    단독으로 실행하면 안됩니다. (INSTALL.BAT에서만 사용)

  - XCHGMMC.COM

    사용중 MMC/SD Memory 교체 시 사용.

  - DISKMAN.COM (FAT16 사용불가)

    Disk Block 관리 SW.

    (Disk Block 추가,삭제,전환 등)

  - DSKCOPY.COM (FAT16 사용불가)

    *.DSK File을 직접 Disk Block으로 복사함.

    (기타 고용량 Disk Interface(Sunrise IDE) 또는

     MMC/SD System Disk에서 복사 가능 함)

  - DISKEXE.COM

    DOS2 환경에서 재부팅없이 선택된 디스크로 부팅하는 프로그램.

    각종 부트 옵션 선택을 할수 있음. (turboR CPU 모드 등)

  - DISKMAN.EXE (FAT16 사용불가)

    윈도용 Disk Block 관리 SW. (윈도 9x는 지원 안됨)


4. System Install (FAT16 사용불가)

   a. Disk Interface에 MMC/SD Memory를 뽑은 상태에서 전원 켠다.

   b. DOS1 or DOS2로 부팅되면 install [return] 입력.

   c. Set new MMC/SD ... 메시지가 나오면 Memory Card를 꼽는다.

   d. Memory 인식이 성공하면, System Disk 용량을 고른다.

      (용량이 클수록 나중에 DSK file인스톨이 용이하므로,

      23.0MB를 선택하는 것이 좋음)

   e. System Disk Format

      DOS2 System에서는 자동으로 진행되지만,

      DOS1 System일 경우, Drive A를 선택하는 메시지가 나옴.

   f. 버전에 맞는 DOS가 Install되며, 각종 Utility가 복사됨.

   g. Installing Completed...메시지가 나오며 DOS로 복귀됨.

   h. MSX를 Reset하면, Install된 System Disk로 부팅되며,

      Flashrom Disk는 B Drive로 사용가능 함.

      (System Disk는 C Drive로 항상 사용 가능)


5. Disk 관리 (DISKMAN.COM)

   a. DISKMAN.COM 최초 실행 시, 현재 꼽혀있는 Memory Size를 입력해야함.

   b. 각 메뉴를 통해 Disk Block을 추가,삭제 및 선택을 할 수 있으며,

      현재 사용중인 Memory 상태를 확인 가능함.

   c. Disk Insert 시 Disk Amount를 2이상으로 선택하면 Multi-Disk 에뮬 가능.


6. Disk 관리 (DISKMAN.EXE)

   a. 최초 MMC/SD Drive 인스톨은 MSX에서 되어있어야함.

   b. 각 메뉴를 통해 Disk Block을 추가,삭제,추출 등을 할 수 있으며,

      현재 사용중인 Memory 상태를 확인 가능함.

   c. Disk Insert 시 임의의 DSK Image File을 바로 인스톨 할 수 있음.

   d. 전체 메모리 영역 Backup/Restore 가능.


7. Disk 실행 (DISKEXE.COM)

   a. 먼저 DISKMAN으로 실행시킬 디스크를 선택한후 실행.

   b. 각종 CPU모드 및 MMC/SD Drive의 옵션을 바꿀수 있음.

   c. DOS2 전용입니다.


8. ROM 덤퍼 (ROMDUMP.COM)

   a. MMC/SD Drive의 내부 플래쉬롬 덤프용 툴입니다.

   b. SCC매퍼만 지원되므로, SCC플래쉬팩 등에서도 사용가능.


9. Disk 전환 부팅 (DISKEXE.COM)

   a. DISKMAN에서 선택된 에뮬 디스크 블럭을 강제 부팅시킵니다.

   b. DOS2에서 동작하며, DOS2의 개선된 Workarea 확보로 대부분 게임 실행이 가능합니다.

   c. 롬뱅킹 보호, WSX 반터보, turboR CPU 모드 등을 바꿀수 있습니다.


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


* 사용 예 : DSKCOPY.COM를 이용한 2DD 인스톨 (YS2 Game disk 2장 및 User disk 1장)

  a. PC Window에서 Memory Reader를 이용하여,

     YS2.DSK(2.1MB Multi-disk image)를 MMC/SD Memory로 복사한다.

  b. MSX의 MMC/SD 카트리지에 Memory를 꼽고 부팅한다.

  c. DISKMAN.COM 실행 후, Insert & Select Disk 메뉴 선택.

  d. Disk Name을 입력한다. (공백을 넣을 때는 _를 쓰면 됨)

  e. Disk Type은 2DD 720KB를 고른다.

  f. Disk Amount는 3을 입력. (Game A/B 및 User disk 총 3장)

  g. Disk Block이 설정되면 메인 메뉴로 돌아온다.

     (View Disk List에서 추가된 것을 확인 가능하다.)

  h. Exit 메뉴로 DOS로 빠져나온다.

  i. 현재 A Drive는 새로 할당된 Disk Block으로 선택되어있으므로,

     System Disk 선택을 위해 [실행]키 또는 [STOP]키를 누른 상태에서 [RETURN]을 친다.

     (또는 Dir [RETURN]을 친다. DOS1의 경우 [RETURN]만으로 Disk Access를 요구가 안됨.)

     CAPSLOCK LED가 흐릿하게 켜지면, 숫자패드의 [0]키를 누른다.

  j. DIR을 입력해서 Disk 전환이 제대로 되었는지 확인 후,

     DSKCOPY YS2.DSK을 입력한다.

  k. DSKCOPY.COM가 3장의 Multi-Disk(YS2.DSK)를 복사하는 것을 기다린다.

  l. 복사가 종료 된 후, MSX를 Reset 하면 YS2가 실행되는 것을 볼 수 있다.

     참고로 MSX Reset하면 항상 선택 Disk Block의 1번 Disk로 부팅하므로,

     System Disk로 부팅하고 싶을 때는 [실행] 또는 [STOP]키를 눌러 [0]번 Disk로 전환해야함.

  m. 참고로 FDD가 내장된 MSX의 경우(A1WSX, A1GT등등),

     DISK work area가 두배로 할당되므로 메모리 부족으로 인해 게임이 실행 안되는 경우가 있음.

     이때는 부팅시 [CTRL]키(또는 [SHIFT] 키 조합)를 눌러 Drive A만 사용하도록 하면 됨.

     만약 DOS2 환경이라면, DISKEXE를 이용하여 쉽게 실행할 수 있음.


2008년 4월 10일 목요일

MMC/SD Drive V2.2

MSX의 FDD를 대체하기 위해 개발된 기기입니다.

기존 2DD 전용 게임과의 호환성을 위한 FDD 에뮬레이션 기능과

고용량 드라이브 사용이라는 두가지 목표를 만족시키는 것이 주 목적입니다.


디스크 매체는 내장 플래쉬롬과 MMC/SD 카드를 사용할 수 있습니다.

HW는 SCC를 바이오스 롬(512KB) 매퍼로 사용하기 때문에,

Music Player 등에서 SCC 사운드로 활용하는 것도 가능합니다.


바이오스 롬의 여유 공간(384KB)도 디스크로 사용가능 합니다.

현재 AT29C040A를 바이오스용 플래쉬롬으로 사용하고 있고,

롬 디스크 영역은 일반 FDD 처럼, 도스/베이직에서 Read/Write 가능합니다.


FDD 에뮬레이션은 전용의 디스크 매니져(MSX-DOS 및 윈도XP용)로 관리되며,

디스크 액세스 시, 숫자키를 이용하여 디스크 전환(최대 9장)이 가능합니다.


아래는 코나미 '고파의 야망' 카트리지를 개조하여 작업된 MMC/SD Drive입니다.





MSX turboR GT에 꽂은 모습입니다.

대용량 디스크를 활용하여 MP3 플레이어가 구동되고 있습니다.




윈도XP에서 실행된 디스크 매니저입니다.




참고로 paraMSX v0.48b 에서 MMC/SD Drive 에뮬레이션을 지원합니다.

실기가 없으신 분은 체험판(?) 할수 있는 기회가...^^




HW V2.2의 회로도입니다.



아래는 2004년에 제작된 HW V1의 회로도입니다.

속도가 조금 느리고 MMC/SD 소켓이 한개뿐이지만,

FDD 에뮬레이션 및 고용량 디스크 사용은 HW V2.2와 동일하게 쓸 수 있습니다.




 

2008년 2월 27일 수요일

paraMSX v0.48b

드림위즈가 홈페이지 서비스를 종료하게되어, paraMSX 파일만 블로그로 옮깁니다.

paraMSX의 최신(2008-02-27) 베타버전 입니다.

Download: paraMSX048b.zip