MSX Document

From 흡혈양파의 인터넷工房
Revision as of 12:56, 17 November 2022 by Onionmixer (talk | contribs) (OCM page 분리)
Jump to navigation Jump to search
MSX 삽질기

MSX Environment

MSX 는 무엇인가

출처 - 나무위키 : https://namu.wiki/w/MSX


간단하게만 설명해보자면 Apple 와 더불어 8 bit 시절이 전성기였던 컴퓨터이다. Apple II 는 현재 활발하게 사용되는건 아니지만 MSX 는 2015년에도 게임이 나오고 있다.

NINJA SAVIOR : http://www.relevovideogames.com/ninja-savior/


MSX 를 지금(2016년기준)사용할때 어떤 장점이 있을까

이런저런 이유가 있겠지만 현재의 MSX 는 Apple 보다 정보가 많으며 이런저런 이유로 인해 현재진행형이기도 하다. 주변기기(?)도 현재 진행형으로 개발되는 중이다. 무엇보다.... 현재까지 쓰는사람들이 있기때문에 자료 또는 자문을 구하기도 쉬우며 8 bit 의 특성덕에 내부구조가 그렇게까지 복잡하지도 않다. 정리해보자면 다음과같은 특징이 있다.

  1. 8bit 이기때문에 구조가 복잡하지 않다
  2. 자료가 많다
  3. 아직까지 사용하는 사람들이 있기때문에 커뮤니티가 있다
  4. 기본 cpu 가 z80 이라는 걸출한 물건이다 덕분에 복잡한 16bit 어셈을 공부하지 않아도 된다
  5. rom basic 을 사용해볼 수 있다.
  6. hi tech C 라는 C compiler 도 있다
  7. 부수적으로... 롬 게임과 디스크게임을 즐길 수 있다.


이러한 특징덕에 복잡한 현 세대의 머신은 일하는 용도로 사용하면 된다. MSX 로 저수준의 컴퓨터를 배우고 싶다면 아두이노와는 다른 의미로 공부하기 좋은 환경이라고 보여진다.


어떻게 해야 MSX 를 사용해 볼 수 있을까

현시점에서 MSX 를 사용해볼 수 있는 방법은 3가지 정도가 있다.


  1. MSX Emulator
  2. MSX 실제 기기 사용
    • 본인의 경우는 MSX Turbo-R A1/GT 를 사용하고 있다. 비싸다. 그냥 엔간하면 굴러다니는 MSX 2 기종정도만 욕심내도 충분할거같다
  3. 1chipMSX
    • https://en.wikipedia.org/wiki/1chipMSX
    • 일명 OCM 이라고도 불린다. 라이센스를 받아서 만들어진 물건을 OCM. 소스코드 및 resource 를 사용해 다르게 만들어진 물건을 OCMC(OCM Clone) 이라고 한다.
    • Altera 사의 Cyclone 이라는... 프로그램 가능한 칩을 이용해서 VHDL 을 통해 시스템을 MSX 로 구현한 물건이다. 이후 시스템이 개량됨에 따라 MSX 2+ 수준까지는 올라왔다고 하지만.... 본인으로서는.. 정말로 그런 수준인지는 알 수가 없다
    • MSX 의 롬팩 및 대부분의 slot 형 장비를 구동할 수 있다. 또한 SD 슬롯을 자체적으로 지원함으로서 별도의 slot 인터페이스 없이도 rom 및 dsk 프로그램을 구동할 수 있다.
    • 기본적으로 s-video 와 d-sub 출력을 지원하고 있다. 일반적인 PC 모니터에서 쓰기에는 이만한 장비가 없다!
    • 키보드는 ps/2 연결 또는 ps/2 가 연결가능한 USB 키보드를 구하는것이 좋다.


1chipMSX(1チップMSX) 란?

ALTERA[1] Cyclone[2] FPGA 칩을 main CPU 로 사용하는 소형 기기로서 MSX 머신을 실제로 사용할 수 있게 하는것에 그 목적이 있다.


초기 제작은 꽤나 오래전에 이루어졌고 초기모델은 다음과 같은 특징이 있다.

  • d-sub 와 composite 단자를 영상출력으로 지원한다
  • 2개의 조이스틱 포트를 제공한다
  • ps/2 키보드를 사용할 수 있는 단자를 제공한다
  • 2 개의 롬팩슬롯을 제공한다
  • 2 개의 usb 포트를 제공하지만 전원만 나오고 실제로 동작하지는 않는다.

자세한 하드웨어 스펙은 1chipMSX spec 에서 확인할 수 있다.


FPGA 칩은 실제로 프로그래밍이 가능한 cpu 이기때문에 향후 몇번의 update 를 통해서 msx3 라는 로고가 부팅시에 뜨는 물건까지 만들어졌다[3].

하드웨어 상으로는 MSX2+ 정도까지는 무난하게 처리할 수 있는것으로 알려져 있으며 MSX Turbo-R 의 경우는 머신의 한계때문에 힘들거라 예측되고 있다.


일반적으로 OCM 이라 불리고 있다. 인터넷에서 찾으려면 1chipMSX 보다 OCM 과 msx 라는 키워드로 찾는게 훨씬 정보가 많이 나온다.

JTAG 등을 이용해서 어떠한 작업을 할 필요는 거의 없다. 그리고 SD 카드는 2G 까지만 인식하니 주의할것.


MSX dos

msx 머신상에서 사용하는 dos 이다. 기본적으로 제공되는 CD 에 있는 FAT16 용 폴더에서

  • AUTOEXEC.BAT
  • COMMAND2.COM
  • MSXDOS2.SYS


이 3개 파일을 SD 카드의 root 에 복사하고 1chipmsx 에 꽂은다음 전원을 넣으면 부팅되는 화면을 볼 수 있다.

MSX DOS 는 1 과 2 버전으로 나눌 수 있는데 대부분의 경우에서 MSX DOS 2 를 사용하고 있기때문에 MSX DOS 라고 명기를 할때 별도의 얘기가 없다면 MSX DOS 2 로 간주하면 된다.



MSX 를 어떻게 해야 잘 사용할 수 있을까?

MSX 를 활용하는데에는 일반적으로 "게임"을 즐기기 위한 목적이 가능 크다고 볼 수 있다. 일반적으로 MSX 게임은 크게 세 분류로 나눌 수 있다.

  1. 카세트 테이프
  2. 롬팩
  3. 3.5inch 디스크


그럼 이걸 활용하는 방법에는 어떤방법이 있을까? 당연히 FDD 를 쓰는것이 좋다. 하지만 OCM 의 경우는 FDD 가 없다. 그렇다면? 슬롯에 꽂는 FDD 컨트롤러를 사용하면 된다. (물론 구매가 가능하다면의 얘기)


사실 OCM 은 이런 작업을 하지 않아도 SD 카드 슬롯을 이용해서 DSK 이미지를 사용할 수 있다. 그럼 어떻게 해야할까?


MSX 용어정리

지금까지 설명한 MSX 와 OCM. 그리고 MMC/SD 를 사용하면서 마주할 수 있는 용어들에 대해 간단히 정리하고 이 다음으로 넘어가보도록 하자.

OCM

물론, 앞에서 설명한대로. 1chipMSX 를 말한다.

MMC/SD

MSX 에 꽂는 MMC/SD 카트리지 팩을 말한다. 서영만님이 만드셨으며 제작 시기 및 타입에 따라 몇가지의 버전이 있으니 주의할것. 기본적으로 4.04 펌웨어 버전까지 나와있다. MSX 에 카트리지를 꽂고 부팅되는 화면을 잘 보면 버전이 나온다. 2017년 현재는 v3 까지 있으며 기본하드웨어 버전은 3.1. SRAM 을 1024 로 별도 확장한 버전을 3.2 라고 한다.

pld 파일

OCM 을 업그레이드할때 사용되는 일종의.. OCM 펌웨어 파일. http://cafe.naver.com/msx/2897 이곳을 참고로 하면 사용방법을 알 수 있다. 일반적으로는 pldload 와 pldsave 를 사용하면 된다. 물론 사용은 MSX OCM 에서 사용하면 된다. PC 에서 사용하는 물건이 아니다.

LuxuryBox

MSX 때 사용되던 메가롬팩 또는 그 복각판을 말한다. 구하기 매우 힘들다.


음원카트리지

준소프트님의 글 내용을 재정리 하였습니다.

MSX 에서의 음원카트리지는 사운드카드라고 보면 됩니다. 크게 두 종류의 사운드 카트리지가 존재하는데, FM 음원 카트리지와 웨이브 음원 카트리지의 두 종류입니다. 웨이브 음원은 PCM 방식과 같다고 보시면 됩니다. 소리를 디지탈화에서 메모리에 저장하고, 그것을 다시 아날로그로 변환 재생합니다. FM 음원은 주파수 변조 방식입니다. 몇 가지 파라미터를 가지고 함수를 조작해서 소리를 변형시킵니다.

FM 방식은 제한된 파라미터를 가지기는 하지만 소리를 만들어 낼 수 있기 때문에, "사운드 합성(synthesis)"으로 볼 수 있구요. PCM 방식은 속도(샘플링 레이트)와 메모리 용량에 비례해서 성능을 내며 단순한 "녹음/재생"으로 볼 수 있습니다. 참고로 MSX에서는 "카트리지"라는 표현을 쓰는데요, 슬롯에 꽂는 팩의 형상에서 비롯된 용어입니다. 기능적으로 PC의 "카드"와 같은 것으로 보시면 됩니다. OP(오퍼레이터의 약자)라는 접두어를 가진 음원은 모두 FM 방식입니다.


MSX 에서의 FM 음원의 정의

서영만님의 글 내용을 재정리 하였습니다.

"FM 음원"하면 보통 야마하 FM 칩들(OPL, OPM, OPN, 등등)이 생각날 텐데요.

  • MSX에서 "FM 음원"은 파나소닉의 FM PAC의 사운드를 의미합니다. (FM PAC = OPLL + PAC)
  • OPLL 칩을 사용하는 MSX-MUSIC 표준 사운드이구요. 싸구려 칩이라서 많은 기종(MSX2 이상)에서 기본 내장되어 있습니다.


MSX-AUDIO, MSX-MUSIC

로아님의 글 내용을 재정리 하였습니다.

MSX-AUDIO 는 MSX-MUSIC과 별개의 MSX의 확장 음원 규격입니다. 둘은 서로 호환성이 없습니다. ADPCM을 지원하는 등 MSX-MUSIC 보다는 스팩이 좋았으나 가격이 비싼 문제 등으로 제대로 보급되지 못했고 지원하는 프로그램이나 게임도 거의 극소수라 존재감이 없습니다.

FM-PAC, FM음원이 내장된 MSX본체들, FM음원을 지원하는 대부분의 MSX 게임들은 모두 MSX-MUSIC 규격이라고 생각하시면 됩니다.


MSX-AUDIO와 MSX-MUSIC의 차이점

둘 다 MSX 표준 사운드 시스템입니다. MSX-AUDIO는 OPL1 음원을 사용하고 PCM 등의 기능이 들어가 있습니다. 이 표준에 준하는 카트리지는 고가로 판매되었기 때문에 특히 한국내 보급은 없었다고 보면 됩니다.

좀 더 뒤늦게 FM-PAC 이라는 카트리지가 발매가 되었는데, 여기에는 OPLL이라는 저가의 음원칩이 들어갔습니다. PAC 카트리지에 FM음원을 추가한 개념이었고, 이 하드웨어가 히트를 기록하며, 이후 MSX-MUSIC 으로 표준화가 되었습니다. 다만 PAC 기능은 빠지고 순수한 사운드 부분만 표준화가 된 것입니다.

참고로 필립스의 뮤직 듈이라는 사운드 카트리지가 있는데, BIOS용 메모리가 빠져있어서 소프트웨어적으로 호환성이 결여되었습니다.


MoonSound? FM-PAC?
  • MoonSound = OPL4 (YMF278B) 카트리지 (BIOS 등의 S/W 없음)
  • FM PAC = Music BIOS + OPLL (YM2413)+ PAC (SRAM + 배터리) + PAC 커맨더 (SRAM 관리 S/W)


달소리

준소프트님의 글 내용을 재정리 하였습니다.

moonsound 라는 OPL 카트릿지의 복각판의 준소프트 제작품의 명칭입니다. 달소리1, 2 등에는 OPL4 라는 음원칩이 있습니다. OPL4는 OPL3에 웨이브 테이블 방식의 음원을 추가한 것입니다. OPL3와 같은 소리를 낼 수 있습니다.

OPL4를 이용한 MSX용 사운드카드입니다. 90년대 초, 유럽발 문사운드(MoonSound)를 시초로 클론이 많이 개발되었습니다. 국내에서는 달소리와 얼마전 우리동호회에서 공제된 OPL4 사운드카드 등이 있습니다. 90년대 이후로 개발되었기 때문에, 그 이전에 나온 게임은 당연히 지원하지 않습니다. 그 이후로 나온 게임 중 일부가 지원하며, 일부 MSX-AUDIO 소프트웨어의 경우 패치를 하면 지원될 수도 있습니다.

과거의 게임에 활용하고자 한다면 권장하고 싶지는 않습니다. 참고하세요. (http://cafe.naver.com/msx/5462)


FM 을 내장한 MSX

MSX의 표준에는 여러가지 하드웨어 사양을 정의하고 있는데, MSX-MUSIC은 터보알에서 필수 사양으로 지정되었습니다. MSX2+ 까지는 옵션 사양이었습니다. 다만, 실질적으로 대부분의 MSX2+ 모델은 MSX-MUSIC이 내장되어 있습니다. MSX-MUSIC이 내장된 본체에 FM-PAC을 꽂으면, 본체 내장 음원은 금지가 되고, 외부 음원을 사용하는 메카니즘을 가지고 있습니다. 다만, 이 부분이 모든 모델에 해당되는지는 잘 모르겠네요. 가지고 계신 기기를 이용해 꽂았을 때 음량에 변화가 있다면, 해당 기능이 동작하는 것으로 의심(?)해 보면 될 것 같습니다.


SCC

SCC[4](Sound Custom Chip, Sound Creative Chip)


SCC 는 MSX 의 표준과는 전혀 상관없는 코나미(konami) 만의 독자규격이다. 모든 코나미 게임이 SCC 를 지원하는 것은 아니며 위의 위키에 따르면 다음의 게임들이 SCC 칩을 내장하고 있다고 한다.

  • RC 751: Nemesis 2
  • RC 752: F-1 Spirit, The Way to Formula 1
  • RC 756: Break Shot (never sold)
  • RC 757: Baseball 2: Pennant Race
  • RC 758: Salamander
  • RC 759: Parodius
  • RC 760: King's Valley 2 (MSX1)
  • RC 761: King's Valley 2 - El Giza's Seal (Japanese, MSX2)
  • RC 762: Contra (a.k.a. Gryzor)
  • RC 764: Nemesis 3 - The Eve Of Destruction
  • RC 766: Pennant Race 2
  • RC 767: Metal Gear 2: Solid Snake
  • RC 768: Space Manbow
  • RC 769: Quarth


목록에 나온 게임 이외에도 SCC 사운드를 지원하는 게임 또는 장비등이 별도로 있다.

이 외에 SCC 로 유명한 것은 MSX 의 스내처 게임이다. SD 스내처 게임의 경우에는 디스크 게임으로 제공되고 있기 때문에 별도의 SCC 용 카트리지를 제공하는데 이것을 SCC-I 라고 한다. 보다 자세한 내용은 위의 link 를 참고.


메가롬팩

롬 용량이 Mega Bit 급인 롬을 사용하는 롬팩입니다. (참고로 1Mega Bit는 128KBytes입니다요.) - 서영만


MSX 에서 mapper 란?

  • ASCII8 mapper
  • ASCII16 mapper
  • KOMAMI classic mapper
  • KONAMI-SCC mapper
  • zemina16k mapper

일반적으로 MSX 에서 mapper 는 MSX 의 기본 메모리 영역을 넘는 데이터를 붙여서 사용하기 위한 방식. 자세한 내용은 아래의 주소를 확인할것

MSX의 메가롬 매퍼 - http://cafe.naver.com/msx/7638


SCART? RGB21?

레트로를 위한 SCART 및 RGB21 자료를 참고

1chipMSX(OCM)

1 chip MSX Information


카트리지 타입 장비

STORAGE TYPE

MMC/SD V2

형태

MMC/SD V2.1

MMC/SD V2.2


개요

MMC/SD 는 MSX 사용자들에게는 나름 유명한 장비이다. 기본적으로는 아래의 주소를 살펴보도록 하자.


MMC/SD V2 버전이다. 또한 MMC/SD V2 는 만든사람에 따라 버전이 다시 나뉘게 되는데 이 부분은 아래쪽에서 다시 설명하도록 한다. V2 버전에 대한 자세한 활용은 아래쪽의 MMC/SD V2 부분을 참고하도록 하자.


특징

MMC/SD V2 는 다음과같은 특징을 가지고 있다.

  • MMC 메모리 또는 SD 카드를 꽂을 수 있다. 하지만 현시점에서 MMC 를 구하기는 불가능.. 사실 SD 라고 봐야하지 않을까?
  • MMC/SD 자체적으로 플래쉬메모리를 가지고 있다.
  • 플래쉬 메모리에 아래에서 서술할 MSX 용 ROM 이미지를 로딩해서 사용할 수 있다
  • MMC/SD 내장 플래쉬를 이용한 자체 부팅 및 SD 메모리 초기화 기능
  • SD 카드에 DSK 이미지를 mapping 해서 디스크게임을 할 수 있게 해주는 기능
  • 구하는 물건에 따라 SCC 를 내장하지 않는 경우도 꽤 있으니 참고해야 한다.

변종버전(?)으로 김밥버전이 존재한다. 내부에 flash 메모리를 적층해서 별도로 연결해서 사용할 수 있으며, 이 경우 일정 용량 이상의 메가롬팩을 사용할 수 있다.


MMC/SD V3

형태

MMC/SD V3

개요

MMC/SD DriveTM V3 는 microSD 카드를 저장 매체로 사용하는 MSX 용 디스크 기기입니다. - from manual


기본적으로 V2 와는 같은 목적을 가지지만 다른 사용방법을 제시하는 장비. V3 는 V2 의 슬림버전에서 사용한 전적이 있는 micro SD 카드를 사용하지만 슬롯은 하나밖에 지원하지 않음. 하지만 V2 와는 완전히 다른 사용방법을 가진다는 점에 유의해야 한다.

특징
  • MMC/SD V3 는 MSX 의 메모리를 256k 이상을 요구함. 때문에 ram 이 적은 MSX 라면 별도의 ram 확장 카트리지를 사용해야 V3 를 쓸 수 있다.
  • V2 에 비해서 시스템을 날려먹을 일이 현저히 적다. V2 는 롬 로딩을 잘못하면(flashrom) 기본 부팅부분이 지워지기 때문에 다른 장비(sunrise 또는 다른 mmc/sd 등의 dos2 부팅 가능기종)를 통해 복구해야 하지만 V3 는 그럴 일이 없다
  • V3 는 기본적으로 SCC 를 내장할 수 없는 구조이며, SCC 기능을 위해서는 luxurybox 또는 다른 SCC 지원팩을 다른 슬롯에서 사용해줘야 한다.

기본 버전은 512 정도의 SRAM 을 가지고 있어서 해당되는 수준의 롬팩을 로딩할 수 있지만, 다른 방법을 사용하면 1024 로 SRAM 을 확장할 수 있다. 이 경우 최신버전의 V3 BIOS 를 사용했을때 부팅시에 V3.1 이라는 하드웨어 버전을 확인할 수 있다.


SUNRISE IDE

형태

SUNRISE CF 1

SUNRISE CF 2

개요

CF 카드를 꽂아서 dos2 로 부팅할 수 있는 장비로서 기본적으로 CF 메모리를 사용한다.

특징
  • CF 카드를 media 로 사용한다
  • MMC/SD 시리즈에 비해서 특출난 장점은 없다.
  • 급할때 복구용으로 사용하기 좋다.


모델이 몇가지 종류로 나뉜다

  • Sunrise ATA-IDE -> 1개의 IDE 커넥터. (HDD, CD-ROM 용)
  • Sunrise CF-ATA-IDE -> 2개의 CF 커넥터. (CF 메모리카드 용)
  • 메가밍크스(MM) CF CARD INTERFACE -> 1개의 CF 커넥터. (Sunrise S/W 호환)


LuxuryBox VIII

형태

LuxuryBox VIII

개요

MSX 의 DELUXE BOX 의 복각 및 개선판이라고 보면 설명이 쉽다. 다만 그냥 복각은 아니며 기본적으로는 메가게임을 로딩할 수 있는 기능을 가지고 있다.

특징
  • 메가게임을 로딩할 수 있다(mgLUX)
  • SCC 가 달려있다(구하는 물건에 따라서는 없는 경우도 있다고 들었다)
  • 8M 의 sram 을 가지고 있다.
  • http://cafe.naver.com/msx/3903


FlashPack Lite/C

형태

FLASH PACK all cartridge

FLASH PACK dip switch

개요

준소프트에서 제작된, 게임 롬을 로딩해서 실행할 수 있는 카트리지. 3가지 타입으로 제공된다.

특징
  • A: 아스키 16KB (기존 FPL A4 와 동일 기능)
  • C: 아스키 8KB
  • K: 코나미 8KB (Konami4)

세가지 타입이 있으나 기판 상부에는 모두 FPL/C 로 되어있다. A/C/K 는 기판의 딥스위치 아래쪽에 사인펜등으로 명기되어 있으니 주의하는 것이 좋다.

사용법

사용은 그리 어렵지 않다. FPMT 라는 별도의 프로그램을 사용해서 카트릿지에 ROM 파일을 로딩해 주는 것으로 충분히 사용할 수 있다.

  • /T6 -> A (ascii 16KB)
  • /T8 -> C (ascii 8KB)
  • /T4 -> K (konami4)


FPL 카트리지에 새로운 프로그램을 올릴 경우에 대한 FPMT 사용법

  1. MSX의 전원을 끈다.
  2. FPL 의 딥스위치 1, 2를 ON으로 하고 MSX 에 꽂는다.
  3. 도스로 부팅후 FPL의 딥스위치 1, 2를 OFF 한다.
  4. 커맨드를 입력한다.
    • ex) A:> FPMT W IMG.ROM /S1/T4
  5. 종료되면 FPL의 딥스위치 1을 ON으로 한다.
  6. MSX를 리셋하고, 즐긴다 ^^


FLOPPY PACK

형태

FLOPPY PACK

개요

컨트롤러를 통해 floppy drive 를 사용할 수 있는 팩

특징
  • 외장 플로피를 사용할 수 있다. 때문에 플로피 드라이브가 없는 OCM 등에서 플로피 게임을 아날로그틱하게 구동하는데 좋다
  • 일반 MSX 에는 대부분 플로피가 1개만 달려있기 때문에 별도로 2개 드라이브를 사용해보고 싶다면 유용하다

MULTIMEDIA TYPE

FM PAC

형태

FM PAC 1

FM PAC 2

개요

FM 음원을 플레이 할 수 있는 카트리지

특징

최초에는 파나소닉에서 만든 카트리지를 FMPAC 이라고 불렀지만 현재는 개인 개발자들이 개발한 여러 버전이 존재하는듯 하다. 화면의 버전은 "고명호" 님 버전

  • MSX BASIC 에서 CALL FMPAC 또는 _FMPAC 으로 메뉴를 불러낼 수 있다.
  • SRAM 을 통한 다른 카트릿지에서의 저장을 지원한다.
  • MSX-MUSIC 을 지원한다.


고명호님 버전은 3가지가 존재한다. 내용은 다음과같다(파스타님)

  • A TYPE :: SRAM 대체한 EEPROM 저장 기능으로 대대손손(10만회!) 사용 가능
  • B TYPE :: A TYPE + FM PAC BIOS 탑재로 본체의 MSX-MUSIC 음원 사용(본체에 FM음원이 없다니 상상하기 어렵군요)
  • C TYPE :: B TYPE + 자체 OPLL 음원 모듈 탑재
    • 그외 특징으로. 키티야님의 한글 BIOS 탑재, 원본 BIOS와 전환 사용 가능


참고로 대부분의 MSX 에서 FM PAC 과 관련된 MSX-MUSIC 은 MSX2 이상의 많은 기종에서 기본내장되어 있다고 한다.(서영만)


MIX R1

형태

MIX R1 1

MIX R1 2

개요

준소프트에서 제작된 MIDI 기능이 없는 MSX 에서 MIDI 음원을 사용할 수 있도록 해주는 카트릿지

특징
  • 별도의 midi module 이 필요하다(MT32/SC55 등)
  • 케이블 배열이 mini din 으로 되어있다. midi 장비와 연결하기 위해서는 전용 케이블을 사용해야 한다. 물론 배선을 참고해서 케이블을 직접 만드는것도 가능하다.
  • midry 프로그램을 사용한다
사용하기

mix 의 SW는 midry 를 http://cafe.naver.com/msx/1921 에서 다운 받고, MID 화일 몇개도 같이 MMC/SD에 넣고... midry /I51 (아이 오십일) 으로 실행했습니다. - 준소프트


MPX R2

형태

MPX R2

개요

준소프트에서 제작된, MSX 에서 mp3 등의 음악을 연주할 수 있는 카트릿지

특징
  • 재생을 위한 코덱을 내장하고 있다.
  • line in 기능을 이용하면 오디오 믹서의 역할로도 사용할 수 있다.
  • mpxtool 을 이용해서 mp3 파일을 재생할 수 있다.

DALSORI(달소리) V2

형태

DALSORI V2

개요

준소프트에서 제작된, OPL 4 음원을 연주할 수 있는 카트릿지

특징
  • MSX-AUDIO 일부 기능을 지원할 수 있다
  • BIOS 용 메모리를 가지고 있다.
  • 문사운드 호환 카트리지
  • 문블래스터를 사용할 수 있다.


V-PACK

형태

V-PACK

개요

고명호님이 제작하신 MSX midi 인터페이스 확장카드

특징
  • msx 1 수준의 기기를 지원하며 call music 으로 음악을 연주할 수 있다.
  • mu-pack 의 향상된 버전


HANGUL

한글확장팩

형태

Hangul Extension Pack

개요

plaire 님이 만드신 한글 입출력시스템 카트리지

특징


한글 FONT PACK

형태

Hangul Font Pack

개요

서영만님이 만드신 MSX 용 문자데이터 가속기. 내부에 한글 입력기를 가지고 있으며 카트릿지 안에 폰트를 내장하고 다양한 MSX screen 모드를 지원한다.

특징

MSX 한글 폰트팩 관련된 제작기


ETC(미분류)

PAC-V

형태

PAC-V 1

PAC-V 2

개요

서영만님이 제작하신, FM visulizer

특징
  • 아래는 서영만님의 제품소개(?)입니다.
    • 파나소닉 PAC SRAM 저장 (NiMH 충전지 사용)
    • 파나소닉 FM-PAC BIOS 구동
    • 9채널 LED Visualizer (OPLL 사용 시 채널 동작 표시 및 IMSP/MPXP 외부 S/W 지원가능)
    • FM-PAC에서 OPLL(사운드)가 LED 레벨미터(디스플레이)로 바뀐걸로 이해하시면 됩니다
  • http://cafe.naver.com/msx/11020 - EEPROM FM-PAC 에 대해서 - 고명호
    • FM 음원부분을 모듈화 하였습니다. (내장 FM음원이 있는 MSX 기종에서는 굳이 FM 음원을 사용하지 않아도 모든 기능을 사용하실 수 있습니다.)
    • 그래도 FM 음원이 필요하신 분들은... , FM 음원 모듈을 장착합니다. FM 음원의 앰프 칩을위해 +12V와 -12V를 사용하지 않았습니다. 5V의 앰프만을 사용하고 있으므로 전원부가 일부 고장난 기종에서도 사용이 가능할 것으로 보입니다. (오리지널 FM 음원은 +12V, -12V가 필요합니다)
    • 유령군님의 조언으로 ... FM 음원의 볼륨은 슬라이드 스위치 방식이 아닌 가변저항 방식으로 하였습니다. 즉 일반 볼륨처럼 돌려가면서 세밀한 볼륨 조절을 할 수 있습니다.


RAM Expansion Cartridge

형태

RAM Expansion Cartridge

개요

8421 님이 만드신, MSX 램 확장카드

특징
  • 꽂으면 MSX 의 기본램에 + 2048kb 를 확장해준다. 터보R GT 의 경우라면 512kb + 2048kb = 2560kb 의 메모리를 사용할 수 있게 된다.
  • 저용량 MSX 의 경우 유용하다
  • V3 를 사용하기 위해서 ram 확장이 되지 않은 MSX 라면 필수아이템


paraMSX-R

형태

ParaMSX R

개요

서영만님이 제작하신.. MSX 구기종 에뮬레이터. 접두어인 para 는 terminal 시대 HITEL 에서 운영되던 para동 에서 참조되었다(저작자 코멘트)

특징

아래는 원 저작자의 표기내용 입니다.

  • 주기능
    • MSX1/2/2+ 머신 에뮬레이션 - 각종 일제,국산,유럽산 기종 내장
    • SLOT - 16개 슬롯 내장, 각각 기기설정 가능
    • System Flag - MSX2+ 머신 구동 용 레지스터 내장
    • Kanji 및 한글 - 일어/Kanji 4종류 폰트, 한글/한자 2종류 폰트 내장
    • 일반 램 - 기본램 64KB 내장, 4개 페이지(16KB) 단위로 설정
    • 메모리 매퍼 램 - 표준 매퍼 내장, 64KB ~ 512KB 용량 설정
    • 가상 디스크롬 - DOS1/DOS2 통합롬 내장, 본체의 실제 디스크를 연결구동
    • 재미나 딜럭스박스 호환 메가램(4MegaBit) 내장
    • PAC, FMPAC, AUDIO BIOS, 한글 FontPack 지원
    • 베이식군, MSX-AID, 야마하 페인터 내장
  • 지원머신
    • MSX1 : DPC-200, CPC-51, SPC-800, GFC-1080, FS-4000, HB-101, VG-8020, AX-200, C-BIOS1
    • MSX2 : CPC-300, CPC-400, CPC-61, FS-A1F, HB-F1, MPC-25FD, NMS-8245, AX-350II, C-BIOS2
    • MSX2+: FS-A1FX, FS-A1WX, HB-F1XV, PHC-70FD2, MSX-PLAYer2003


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


추가정보

서영만님 및 준소프트님의 글 내용을 재정리 해봤습니다.

Q. paraMSX 에서 MSX AUDIO 를 로딩할때 달소리2 를 사용하는 경우에도 OPL3.mono 를 사용하면 되는건가요? 그렇다면.. 이건 그냥 개인적인 궁금증인데 OPL3.stereo 는 어느장비에 적용되는 건가요?

A. MoonSound, 달소리 등등 모든 OPL4 카트리지는 스테레오 출력(이어폰 잭)이 됩니다. 칩 자체는 OPL2부터 스테레오 출력이 될꺼에요. 근데 MSX-AUDIO는 원래 OPL 사운드라서 모노 출력입니다. 그러니까 MSX-AUDIO 지원하는 게임에서는 스테레오 사운드라는 말 자체가 성립이 안됩니다. 참고로 AUDIO BIOS v1.3은 파나소닉에서 만든게 아니구요. 일반 유저가 별도로 만든 BIOS입니다. OPL4 카트리지에서 구동한다면 OPL3.mono, OPL3.stereo 둘다 사용가능합니다. 취향에 따른 선택이겠네요. ㅎ.ㅎ 스피커를 비싼걸로 바꾸면 당근 소리가 좋아지겠지만... 원래 모노였던 사운드를 스테레오 바꾼다고해서 항상 소리가 좋아지는건 아니겠죠?


Q. paraMSX 에서 MSX AUDIO BIOS 가 몇개가 있는데 FM PAC 과 상관있는 BIOS 는 없는건가요?

A. 이미 아시겠지만, MSX-AUDIO (Y8950)랑 MSX-MUSIC (YM2413)은 서로 완전히 다릅니다. 같은 구석이 별로 없어요. MSX-Audio BIOS v1.3은 오리지날 Audio BIOS처럼 OPL을 지원하지만, 추가적으로 OPL2/3/4에서도 사용할 수 있도록 되어있습니다.

근데 매뉴얼 읽어보니까 OPLL (YM2413)칩에서도 구동할 수 있는 기능이 있긴하네요. 실시간 레지스터 변환 같습니다. (물론 S/W 수준에서요)

MSX-MUSIC을 위해서는 Music BIOS가 필요하구요. MSX-AUDIO를 위해서는 Audio BIOS가 필요합니다. paraMSX-R의 경우는 FM PAC BIOS를 로딩해서 Music BIOS도 함께 구동할 수 있구요. 그냥 MSX-MUSIC이 내장된 기종으로 선택하면 Music BIOS가 에뮬된 본체 슬롯에 로딩되니까, FM PAC을 추가 구동할 필요는 없습니다.


Q. 그럼 달소리2 를 같이 사용하기 위해서는 어떤 MSX-AUDIO bios 를 사용하는것이 좋은가요?

A. MSX-AUDIO BIOS v1.3에도 스테레오와 모노가 있습니다. v1.3은 OPL3를 지원하며, 스테레오 기능을 추가하였습니다.

여기서 잠깐,흔히 같은 뜻을 지니는 여러가지 용어를 사용하는데, 화음수, 채널수, 보이스수, 폴리수 등입니다. 뭐 다 같은 의미로 보시면 되는데(엄격한 의미는 다르겠지만), 동시 발음 수로서, OPLL은 최대 9음, OPL3는 최대 18음을 동시에 낼 수 있습니다.

원래 MSX-AUDIO(OPL1)는 모노이므로 좌, 우, 스테레오 분리를 할 수가 없었지만, OPL4(OPL3)에서는 각 음(보이스)을 좌, 우로 매핑을 시킬 수가 있어서 스테레오 효과를 낼 수 있습니다. 다만, 기존의 소프트웨어는 당연히 스테레오 기능을 사용할 수가 없겠죠. 그래서 BIOS v1.3에서는 임의로 스테레오 효과를 줍니다. 어떤 음은 왼쪽 채널(여기서의 채널은, 스피커 좌, 우 채널을 의미합니다 ㅠㅠ), 어떤 음은 오른쪾 채널로 출력시킵니다. 달소리 2를 꽂고, 베이식으로 된 MSX-MUSIC용 음악파일을 실행 시키시면 스트레오 효과를 파악하실 수 있습니다. 혹은, 패치된 파이어호크(by FRS)를 실행 시켜보시면 좋겠습니다.


기타장비

4 slot Extender

4 slot Extender

8421 님이 만드신 4 slot 확장장비. 기본적으로 대부분의 MSX 는 2 개의 카트리지 슬롯만을 가지고 있는데, 이정도로는 다양한 기능팩들을 한번에 사용할 수가 없다. 때문에 이런식으로 별도의 슬롯 확장 장비를 사용하면, 여러개의 카트리지를 동시에 사용할 수 있다.


알카노이드 패드

Arkanoid Pad

Arkanoid Pad use

자낙님이 제작하신 MSX 용 알카노이드 게임의 패드. 사용할때는 paddle 을 지원하는 알카노이드 버전을 사용해야 한다.


MMC/SD V2

SD slot 1 map

MMC/SD 는 서영만님의 작품으로서 SD 카드를 이용해서 MSX 의 카트리지를 에뮬레이션(?) 해주는 기기이다. 버전은 여러개가 있는거같지만.. 일단 본인이 가지고있는건 다음과 같은 모델들이다.

MMC/SD V2 오정택님 버전

보시다시피 일반 사이즈의 SD 카드가 들어가는게 특징이다. 기본적으로 아래에서 언급하게될 버전과 동일하게 설게되어 있으며 생김새와 media 만 다르다.

MMC/SD type 1

물론 동작은 정확하며, 어떤식으로 작동하는지는 이 아래쪽에서 설명하도록 한다.


MMC/SD V2 Painkilla 님 버전

MMC/SD 의 micro SD 카드 버전이다. 앞의 버전과 틀리게 작은 스위치가 보이지 않는거같지만! 실제로 안쪽의 롬팩을 보면 있다. 분명히 있고 작동도 제대로 하고 있다. 다만.... 저 스위치의 기능이라는게... MMD/SD 카트릿지의 기능을 끄는거라... 그냥 카트릿지를 빼는게 더 낫지 않을까 하지만..(설마 SSC때문에?)

MMC/SD type 2


동작은 앞쪽에 설명한 물건과 정확하게 동일하며, 어떤식으로 작동하는지는 이 아래쪽에서 설명하도록 한다.


MSX 에서 게임의 종류

간단하게 말해서 두가지 종류가 있다(MSX Basic 으로 한줄한줄 입력하는 경우는 빼도록 합시다..-.-)

  • ROM 팩으로 출시된 게임
  • MSX disk 로 출시된 게임


ROM 팩으로 출시된 게임은 간단한 편이다. 왜냐하면 기본적으로 파일이 하나밖에 없기 때문이다. 하지만 disk 로 출시된 게임은 다르다.. 디스켓 여러장으로 된 게임은 디스켓 바꾸기에 대한 부분이 필요하기 때문이다. 그래서 MMC/SD 에서는 두가지 방법에 대한 솔루션을 제공하고 있다.

  • ROM 팩 이미지를 MMC/SD 내부의 플래쉬롬 영역으로 불려들여 실행(FLASHMAN 사용)
  • DISK 이미지를 SD 카드에 특정 영역을 만든다음, 이 영역에 이미지를 pre-load 해놓고 MMC/SD 내부의 hook 을 통해 이미지를 교체해가면서 쓰게 하는 방법(DISKMAN 사용)


이중에서 본인은 아직 diskman 은 해보지도 못했기 때문에 글을 쓰는 시점에서는 FLASHMAN 의 MMC/SD 의 flash 영역. 그리고 SD 카드에 대한 내용까지만 다루는것으로 한다.


MMC/SD V2 에서 SD 카드 슬롯의 사용

MMC/SD 에서의 SD 카드 슬롯은, 지금 다루는 v2.1 의 경우는 2개의 슬롯을 가지고 있는걸 기준으로 한다.

MMC/SD 의 카드슬롯을 편의상 SD slot 1, SD slot 2 라고 구분하기로 한다. 이건 micro SD 카드를 사용하는 버전도 동일하기때문에 별도로 구분해서 설명을 하지는 않을것이다. 또한 SD 카드의 용량은 2G 를 기본으로 한다.


MMC/SD V2 SD slot 1 의 역할

SD slot 1 은 기본적으로 FAT12 라는 파일시스템으로 포맷된다. 초기화방법은 이후에 알아보도록 하겠지만 지금은 그렇다는 정도로 알아두면 된다.

SD slot 1 에 꽂은 SD 는 이후 MMC/SD 의 운영용으로 사용된다. 물론 나중에 다시 PC 등에서 포맷하면 일반용으로 사용할 수 있지만.. 2G 정도는 아예 양보하는것으로 하자...

이곳에서 초기화되는 SD 카드는 그 안쪽에 다음과같은 영억을 가지게 된다.

SD slot 1 map


앞쪽에 32M, 그리고 그 다음 순서로 32M, 이후 영역은 나중에 DSK파일(디스크게임)의 mapping 을 위해서 남겨두게 된다. 이중에서 windows 등의 일반 PC OS 에서 인식하는 부분은 앞쪽의 32M 영역이 된다. 참고로 linux 에서는 인식이 안되는경우도 있으니 주의해야 한다.


MMC/SD V2 SD slot 2 의 역할

별도의 역할은 없다. Windows 등에서 MBR 을 날리고 FAT16 으로 포맷하면 그냥 끝. 이건 데이터교환 또는 원본 데이터 보관용으로 사용하면 된다. 하지만 주의 사항은 있다.

  • OCM 은 자체적으로 FAT16 을 지원할 수 있도록 되어있다.
  • Legacy MSX(원래의 MSX 하드웨어)군은 FAT16 을 지원할 수 없도록 되어있다.


OCM 을 사용하는 경우라면 MMC/SD 에서 별다른 신경을 쓰지 않아도 되지만, MSX 하드웨어에 직접 MMC/SD 를 사용하는 경우라면 같이 제공되는 FAT16.COM 이라는 파일을 사용하면 된다. 그렇다면 이걸 한번에 해결하는 법은 없을까?

http://sharksym.egloos.com/5162022


MMC/SD SD slot 1 의 FAT16.COM 을 서영만님이 패치해주신 이걸로 바꿔주면 된다. 경로는 A:\UTILS 이다. 간단하게 해결! (다만 SD 카드를 초기화하게 되면 매번 이 파일을 다시 복사해줘야 한다는걸 잊지말자. 이걸 해주지 않으면 MSX 실기에서는 당신의 MMC/SD 가 마치 SD slot 2 의 SD 카드를 인식하지 못하는것처럼 동작할것이다.)


MMC/SD V2 내장 Flash 메모리의 구조

MMD/SD v2 는 자체적으로 multir rom 모드라는것을 지원한다. MMC/SD 의 활용 이전에 이것부터 설명하는 이유는, 이후에 설명할 부분들이 기본이 되기 때문이다. 덕분에 MMC/SD 의 내장 플래쉬는 MMC/SD 의 multi rom 모드와 기본모드로 나뉘게 된다.

MMC/SD Internal Flash MAP


MMC/SD 를 기기에 꽂고 부팅시킬때 "Space Bar" 를 계속 누르고 있으면 뭔가 선택을 할 수 있는 메뉴가 나온다. 이 메뉴가 2개만 떠있다면 기본모드, 선택지가 여러개가 나온다면 multi rom 모드라고 보면 된다.


멀티롬모드를 기본모드로 되돌리는 방법은 MMC/SD 초기화밖에 방법이 없다. 물론 이렇게 하면 멀티롬모드에서 로딩된 롬은 사용할 수 없게 된다. (물론 다시 로딩하면 되겠지만)


기본롬 모드에서는 INSTALL.COM 등의 SD slot 1 의 SD 카드를 초기화하기위한 작업들을 할 수 있다.


지금의 내용을 기반으로 MMC/SD 가 기본롬모드일때를 기준으로 하나하나 설명해 가도록 하겠다


MMC/SD V2 SD slot 1의 초기화

별거없다. 다음의 순서대로 진행하면 된다.

  1. MMC/SD 카트릿지에서 모든 SD 카드를 제거한다.
  2. MMC/SD 를 SD 카드를 전혀 꽂지 않은 상태로 MSX 에 꽂는다(OCM도 동일)
  3. MMC/SD 의 부팅이 끝나면 MMC/SD 의 SD slot 1 에 초기화를 진행할 SD 카드를 꽂는다.
  4. INSTALL.COM 을 실행한다. 여기서 선택할 Option 은 서영만님의 MMC/SD PDF 파일을 참고할것. 다만 일반적으로는 32M,32M 정도의 선택지를 권장한다. 물론 SD 카드의 용량을 먼저 선택하는것은 기본.
  5. 설치가 끝나면 MSX 를 재부팅해본다. 정상적으로 SD slot 1 의 SD 카드가 인식되었다는 메시지와 함께 부팅이 끝나면 성공


이렇게 초기화한 SD 카드는 매우 중요하니.. disk image 프로그램등으로 별도로 PC 에서 백업을 받아놓는것을 권장한다. 이 상태의 MMC/SD 는 기본롬모드라고 보면 되는데, 왜냐하면 INSTALL.COM 을 진행할 수 있다는것 자체가 MMC/SD 의 FLASH 가 기본모드임을 의미하기 때문이다. 고로 MMC/SD 가 multi rom 모드라면 SD slot 1 의 SD 메모리를 초기화 할 수 없다. 이럴때는 MMC/SD 자체를 먼저 초기화 해주어야 한다.


MMC/SD V2 Flash 의 초기화

MMS/SD 가 multi rom 모드여서 SD slot 1 의 SD 카드를 초기화 할 수 없다면.. 그리고 MMC/SD 카트릿지가 하나밖에 없어서 초기화를 진행할 수 없다면, 일단 MMC/SD 자체의 초기화부터 진행해야 한다. 일단 다음의 URL 을 참고한다.

http://sharksym.egloos.com/5291258


방법은 그리 어렵지 않다. 위의 URL 에서 시키는대로 하면 된다. 다만 ATLOAD.COM 과 FLASHMAN.COM 두가지를 적절한 상황에서 섞어서 사용하면 된다.

  • ATLOAD.COM
    • ATLOAD 는 MMC/SD 의 카드 안쪽에 복구용 이미지를 넣고 다른 슬롯을 복구할때 쓰인다.
  • FLASHMAN.COM
    • FLASHMAN 은 MMC/SD 의 카드 안쪽에 복구용 이미지를 넣고 현재슬롯을 복구할때 쓰인다.


확인방법은 간단하다. 당신의 MMC/SD 카트릿지에서 모든 SD 카드를 제거하고 MMC/SD 를 MSX 에 꽂은 후 전원을 켠다. INSTALL.COM 을 비롯해서, 초기화에 필요한 다른 여러가지 파일들을 확인할 수 있다면 MMC/SD 의 초기화는 성공한 것이 된다. 그렇지않다면 제대로 복구가 되지 않았기 때문에 정확히 메뉴얼등을 읽고 다시 복구를 시도할것을 권장한다.


결과적으로 부팅시에 "Space Bar" 를 누른상태로 Menu 를 띄웠을때 MMC/SD 의 선택지가 2개만 나오면 최종적으로 확인이 종료된것으로 봐도 된다.


MMC/SD V2 에 대한 간단한 질답

Q. 그럼 MMC/SD V2 는 멀티롬 모드가 아니면 롬게임을 즐길 수 있는 방법이 없는건가요?

A. 네 없습니다. 제작자분이 직접 없다고 답변 주셨습니다. 명확하고 좋군요 :D


Q. MMC/SD 에서 디스크게임을 즐기려면 어떻게 하면 되나요?

A. 서영만님의 메뉴얼을 보세요. 지금까지의 내용을 잘 읽었으면 어렵지않게 할 수 있습니다. 절대 제가 DSK 파일을 로딩하는 DISKMAN 을 별도로 써보기 귀찮아서 그런게 아닙니다.......(T.T)


Q. MMC/SD 는 어디서 구하면 되나요?

A. 중고로 구하셔야 합니다. 어디 있는지는 저도 잘 모르겠지만.. 네이버의 retro 관련 카페들을 뒤지면 가뭄에 콩나듯 누군가가 주는 장비를 득템할 지도 모릅니다. 그러니 장터링이 중요합니다.


MSX 와 개발(Development)

일단 MSX 의 cpu 인 Z80 에 대한 개발 리소스 링크를 참고하도록 하자


MSX 프로그램을 개발하는 데에는 여러가지 방법이 있겠지만 linux 에서는 SDCC(Small Device C Compiler) 와 MSX backend 에 대한 자료가 좀 있다. 일단 메모차원에서 급한대로 link 만 남겨두도록 한다.

SDCC 용 MSX backend 는 MSX-DOS2 까지 지원하는듯 하다. 위의 link 를 살펴보면 된다.


이외에 Windows 에서는 hi-tech C 와 CP/M 에뮬레이터를 사용한 방법이 존재한다. 기본적으로 Apple II 에 들어간 CP/M 은 해당 OS 를 사용하기 위해서 z80 addon 보드를 Apple II 에 꽂아야 하는데 그 특성을 이용한게 아닌가 싶다

기본적으로 서영만님이 관리하고 계시며 그래픽라이브러리까지 존재한다. 이걸 SDCC 에 붙일 수 있다면 제일 좋은 방법이 되곘지만.. 해당되는 방법을 찾는건 뒤로 미루도록 한다.-20160727


참고사이트


참고사항

  • MMC/SD V2 에 대한 몇몇 이미지는 서영만님의 "MMCSD_Drive_Manual_KR.pdf" 에서 발췌하였습니다.
  • OCM 에서는 롬을 로딩하기 위해서 mglOCM 을 사용할 수 있다.
  • 골든박스 또는 디럭스박스에서는 롬을 로딩하기 위해서 mglBOX 를 사용할 수 있다.


Notes