레이블이 __paraMSX인 게시물을 표시합니다. 모든 게시물 표시
레이블이 __paraMSX인 게시물을 표시합니다. 모든 게시물 표시

2026년 7월 27일 월요일

추억의 paraMSX 이야기 #2

지난 paraMSX 이야기 1편은 1995년에서 2002년 사이의 추억이었습니다.

이걸로 끝내려니 쬐금 아쉬워서, 2편도 가봅니다!


90년대 MSX 에뮬레이터가 크게 유행하면서, 저는 미련이 남아있던 게임들을 플레이하는 데에 시간이 많이 썼어요.

전세계가 인터넷으로 연결되니, 해외에서 만들어진 크랙버전 및 영문 패치 버전도 해보고 재밌었죠.


에뮬로 80년대 게임 제작사들이 사용하던 테크닉들을 확인하는 것도 즐거웠구요.

게임 판매량을 올리기 위해, 디스크를 포기하고 롬팩만 만들던 코나미가 참 안쓰러웠던 것도 생각나네요.

MSX2용 게임도 VRAM 64KB 기준으로 만들던 개발자들의 마음은 까맣게 타들어가지 않았을까...ㅋ


암튼 그렇게 시간은 흘러 2003년 쯤이 되니까, 활활 타던 에뮬의 열기도 싸늘해졌습니다요.

파라동에도 회원님들은 다 떠나고 골수 유저들만 남게 되었구요.

하이텔은 웹서비스만 남기고 텍스트 서비스(VT)를 중단했고, 이듬해에는 한미르랑 통합해서 파란(Paran)으로 바뀌었죠.


이 시절이 진짜 MSX 암흑기였던 걸로 기억합니다. 파라동 게시판은 한달에 글 한두개 올라오던 시절.

아마 다들 회사에서 바쁘게 일하던 시절이라 그랬던 걸로 생각됩니다요~


이제 본론으로 넘어갑니다...


저에게 2003년은 MSX 실기생활로 돌아오게 되는 시점이었죠. GT를 구하게 되면서요 ㅎ.ㅎ

이베이에서 고파의 야망과 스내처 SCC-I 카트리지를 구했죠.

고파의 야망은 롬을 뽑아서, EPROM에 다른 SCC 게임들을 구워다가 교체하면서 즐겼구요.

SCC-I는 DRAM을 128KB로 증설해서 1메가(128KB) 전용 메가램으로 활용했었지요.



아마 회사에서 임베디드쪽으로 일하시는 분들은 다들 비슷한 생각을 해보셨겠지만,

고파의 야망을 그냥 FlashROM 롬팩으로 만들어서 쓰면 편하겠구나 그런 생각이 들더라구요.


일단 전자부품 가게로 달려가서 5V 플래쉬롬인 AT29C040 (512KB) 칩을 샀습니다.

고파의 야망 보드에 때려넣고, ATLOAD라는 간단한 플래쉬롬 다운로더를 만들어서 썼죠.


GT에는 작은 SRAM 디스크가 내장되어 있는 거 아시나요? 참고로 ST엔 없어요 ㅎ.ㅎ

여기에 ATLOAD.COM과 AUTOEXEC.BAT를 넣어두고, GT의 내장소프트 스위치를 켠상태로 부팅하면...

GT가 롬디스크의 DOS2로 부팅하면서 커맨드 프롬프트로 빠져나옵니다. 이게 MSX-View를 skip하는 기능이죠.

플래쉬롬 다운로드가 필요할 때는 이렇게 고속으로 부팅해서 ATLOAD만 살짝 실행할 수 있어요.


아래 사진의 D: 드라이브가 GT의 SRAM 디스크입니다.



.

.

.


paraMSX 얘기는 언제 나오냐구요? 이제 나옵니다ㅋ

저는 MSX용 프로그램을 만들 때, GEN80과 HI-TECH C를 주로 썼습니다.

모두 CP/M용 툴이라서, MSX-DOS에서도 무난하게 쓸 수 있죠.


21세기에, 컴파일러를 실기에서 느릿~느릿~ 돌릴 수는 없겠구요. 당연히 에뮬레이터를 사용합니다.

보통 CP/M 에뮬, MSX-DOS 에뮬을 많이 쓰는데, 저는 그냥 paraMSX를 썼어요.

에뮬에서 클럭을 30배로 세팅해서 Z80 107MHz로 돌렸죠.

빌드하기 편하도록, paraMSX를 실행하면 디스크 이미지랑 클럭세팅 된 상태로, MSX2+ 머신으로 부팅하게 되어있죠.

MSX2+의 부트 로고도 패치해서 걍 스킵~스킵~ㅎ


아래는 VMware의 윈도XP에서 구동한 paraMSX 스페셜 버전의 모습입니다.

2003년쯤에 30배속으로 돌렸으니까, 지금은 300배속으로 놓아도 잘 돌아가겠군요!



오랜만에 HI-TECH C 오리지널 버전도 돌려봅니다.

에뮬에서는 HELLO.C 빌드하는데 1초도 안걸립니다요 ㅎ.ㅎ



회사에서는 주임 연구원일 때, 신입 사원들 교육용 개발보드도 만들었는데요.

C166 MCU를 쓰는 칩에 SRAM과 DRAM도 용량이 꽤 널널했거든요.

그래서 떠오르는 생각은? 'MSX 에뮬을 넣어보자' ㅎ.ㅎ


CPU 성능 상 V9938 에뮬은 느려서, 그냥 MSX1 테스트만 해봤습니다.

그 때 찍은 사진도 살짝 보여드려요. GPU 출력을 640x480으로 둬서, 바깥쪽 검은 테두리가 나왔을 거에요.




paraMSX 튜닝버전은 나중에 파라동 자료실에도 따로 올렸었는데, 관심있는 분이 1도 없던ㅋ



2004년부터는 MMC/SD Drive를 개발하게 되면서, 각종 툴을 만드느라 paraMSX를 많이 썼구요.

디버깅을 위해 paraMSX에 MMC/SD 에뮬도 추
가했었죠.

아래처럼 MMC/SD V2 매뉴얼에 있던 스샷들도 전부 paraMSX로 캡쳐된 거였습니다요~

잠시 옛 추억에...ㅎ.ㅎ


2010년에는 제가 쓰던 LCD TV에 paraMSX를 포팅해서 돌려보았어요.

유럽향 DTV인데 리눅스를 사용합니다. CPU는 MIPS 324MHz 였던가? 그럴거에요.

MSX 본체의 키보드 I/O를 TV쪽 paraMSX의 키보드 I/O로 전달하는 식으로 돌아갑니다.


GT에는 자작한 RS-232C 카트리지를 꽂고, TV쪽은 USB to 232C 어댑터로 서로 연결합니다.

GT에서 시리얼 터미널을 띄워서 TV쪽 리눅스에 로그인 후 paraMSX를 실행합니다요.

TV쪽에서는 SCART RGB 화면 위에 paraMSX가 오버레이 되어서 나오게 됩니다.

옛날 PC VGA 카드에서는 그래픽 화면 위에 동영상 오버레이를 해주는데, 그거랑 정반대로 동작하는거죠 ㅎ.ㅎ


아래 영상에서는 키보드 I/O 때문에 좀 느리게 동작하는데, 나중에 개선했던 걸로 기억합니다요.

옛날 영상이라도 구경하셔요~ ㅎ.ㅎ



여기까지가 2003년 ~ 2010년의 paraMSX 추억이었습니다.

그럼, 이만~~ ㅎ.ㅎ/


2026년 7월 14일 화요일

추억의 paraMSX 이야기 #1


예전에 fMSX를 포팅하면서 paraMSX까지 갔던 추억을 떠올려봅니다.


90년 초기에도 몇몇 유명한 에뮬이 있었지만, 95년에 유닉스용 fMSX가 나오면서 에뮬이 크게 유행했었죠.

초기 버전 v0.5의 스샷은 못 구해서, v1.0의 스샷을 가져왔습니다. 99년의 fMSX 홈페이지에서 긁어왔어요.



프로그램 자체는 상용이었지만, 코어 소스가 오픈되어 있어서 타 OS용 포트를 제작할 수 있도록 배려가 되어있었어요.

물론 상용 프로그램을 제작하려면 따로 라이선스를 받아야했지만요 ㅎ.ㅎ

2002년에 나온 공식 MSX 에뮬인 MSXPLAYer가 이 fMSX를 라이선스 받은 프로그램으로 유명합니다.


그렇게 95년부터 MS-DOS 등의 각종 OS로 포팅된 fMSX가 나오기 시작했는데요.

당시 가장 유명했던 포트는 MS-DOS용이었습니다. 아무래도 MS-DOS 사용자가 많아서 그랬겠지만요.


암튼 저도 포팅에 관심이 있어서 코드를 받아서 작업을 해보려니, 메모리 때문에 당시 쓰던 볼랜드 C로는 힘들더라구요.

당시 32비트 보호모드를 쓰던 DJGPP가 있다는 걸 알게 되어서, 그렇게 포팅을 시작했죠.

DPMI 호스트 쓰는 것도 공부하고, 뭐 그랬던 기억이 나네요 ㅎ.ㅎ


원판의 버그도 수정하고 'fMSX 보완판'이라는 이름으로 파라동 자료실에 업로드했었죠.

소스도 함께 올렸습니다만, 관심을 보인 분들은 거의 없던 걸로 ㅠ.ㅠ

아무래도 DJGPP로 코딩하는 분이 많지 않아서 그랬던 게 아닐까 싶습니다.




'fMSX RUNNER'라는 것도 만들었는데요.

그 시절 주로 쓰이던 486 PC의 성능으로는 에뮬을 풀스피드로 구동하는 게 힘들었거든요.

프레임 스킵 등의 여러가지 옵션으로 타협해야 어느정도 돌아갔는데,

이걸 게임별로 옵션을 미리 저장해서 fMSX를 실행해주는 런처같은 거였습니다요.

도스박스로 잠깐 실행해봤어요 ㅎ.ㅎ




96년에는 군입대로 MSX랑 잠시 떨어졌다가 98년에 다시 파라동으로 복귀했습니다요.

윈도 98 시절이었지만, fMSX DOS 버전을 자주 썼던 기억이 나네요.


.

.

.


2000년 어느날,

프로그래밍은 비주얼 C++랑 DirectX, OpenGL 등으로 대충 때우던 시절...

학교에서 OpenGL 관련 그래픽 수업을 듣다가 갑자기 뭔가 떠올랐습니다.

당시 제대로 나온 fMSX 윈도용 포트가 없다는 사실이요!


그래서 다시 삽질을 시작~ ㅎ.ㅎ

이름에 파라동을 붙여서 paraMSX라고 멋대로 만들어버렸습니다.



2000년 쯤에는 파라동 사람들도 많이 떠났고, 뭔가 미련 있는(?) 분들만 버티고 계셨는데요.

써보신 분들의 평이 나름 좋았습니다.

화면 왼쪽에 오디오 채널 뷰어를 달아놨는데, 게임하면서 PSG, SCC, FM 불꽃쇼(!)를 보는 것도 재밌었죠.


암튼 외국 아자씨들에게 공개해도 괜찮겠다는 생각이 들어서, 원작자인 Fayzullin 씨에게 메일을 보냈습니다.

윈도용 포트로 허락을 받으려구요.

이름은 멋대로 바꾼게 걱정이었는데, Fayzullin 씨가 괜찮다고 이해해주셔서...

사실 입장 바꿔보면 황당했을 것 같은데 말이죠. (세상 물정 모르던 대학생 시절, 흐흐...)

아마 fMSX 포트의 이름을 바꾼 사람은 제가 처음일 겁니다ㅋㅋ


드림위즈에 홈페이지를 만들어서 배포를 했었죠.

(한글 페이지는 끝내 안만들었다능~ㅋ)



2001년, 외국분들이 paraMSX v0.32를 많이 써주셨던 걸로 기억이 나네요.

Thanks 이메일도 많이 받았습니다. 물론 버그 리포팅도 ㅎ.ㅎ;



2002년, paraMSX v0.42으로 마지막 공식버전을 릴리스합니다.

turboR 에뮬까지는 넣고 싶었는데, 제가 아이큐2000이랑 WSX밖에 없던 시절이라... 포기를 ㅎ.ㅎ



95년부터 2002년까지 흘러간 에뮬레이터 작업의 추억이었습니다.


2003년에 GT를 구하면서, 저의 에뮬의 관심도가 거의 0으로 가기도 했구요.

당시 유명했던 NLMSX도 0.48로 마지막을 찍었고...

대신 편의성이 좋은 blueMSX가 등장하면서, 당시 에뮬 쓰는 분들은 거의 대부분 blueMSX 유저였을 겁니다.


2004년에는 제가 MMC Disk interface (aka MMC/SD V1)을 만들고, 각종 S/W도 만들면서 실기 only 시절로 넘어갑니다요.

그게 지금까지 이어지고 있네요 ㅎ.ㅎ


paraMSX, bye bye...


2023년 11월 4일 토요일

오랜만에 구버전의 paraMSX를 실행해보았어요!

지난주 파라동에서 펜티엄III 노트북을 나눔으로 받아왔습니다.

사양은 펜티엄 III 900MHz, 램 256MB입니다.


디스플레이가 망가진 상태라서, 힌지째 분리 후 외부 LCD 모니터에 연결해서 사용합니다.

누락된 INS키캡은 그닥 쓸모없는 'Sys Rq'키캡으로 바꿔 달았더니 쓸만하네요! ㅎ.ㅎ


옛날 노트북에는 옛날 프로그램을 깔아주는게 좋겠죠?ㅋ

그럼, paraMSX v0.48b 버전을 실행해봅니다. 잘 돌아가네요! ㅎ.ㅎ

(노트북 아래에 있는 X-II랑 WSX는 신경쓰지 마세요. 그냥 노트북 받침대입니다 ㅎ.ㅎㅋ)




실제 동작 모습은 아래 영상으로 구경하셔요~



그럼, 즐거운 주말되셔요~ ㅎ.ㅎ/


2022년 12월 17일 토요일

올만에 USB FDD를 돌려보았습니다

지난 송년회 때 가위바위보로 득템한 USB FDD입니다.

이제서야 연결해서 구동해보았어요. (2주가 지났...ㅋ)

LG에서 생산한 모델입니다~






33년 묵은 피드팩 디스켓을 넣고 paraMSX를 실행~ ㅎ.ㅎ

잘 돌아가네욤!






즐거운 주말되세요~


2022년 10월 9일 일요일

MSX 본체를 리눅스 용 MSX에뮬의 프론트엔드로 활용

[서론]


최근 MSX3 얘기를 하다보니...

고성능 PC의 프론트엔드에 MSX를 활용하면 어떤 모습이 되는지 궁금하실 분이 있을 듯 해서요.

예전(2010년)에 썼던 글을 조금 바꿔서 재방송을 해봅니다 ㅎ.ㅎ


과거로 타임머신~~ ㄱㄱㄱ

.

.

.



[본론]


2000년대 중후반이겠네요. 디지털TV가 보편화되면서 자연스레 임베디드 리눅스가 TV에서도 널리 쓰이게 되었습니다.

당시 제가 개발에 참여했던 유럽향 TV 한대를 집에서 테스트용으로 사용하고 있었는데요.

물론 DVB-T를 국내에서 볼 수 있는건 아니니까, 순전히 SCART 모니터 대용이었지요 ㅎ.ㅎ



1) 그러던 2010년 어느날...


윈도용으로 만들었던 paraMSX를 리눅스로 포팅해서 TV(MSX 모니터)에서 구동해보면 재밌겠다는 생각이 들더라구요.

아이큐1000,2000을 에뮬로 띄우면 GT에서 한글을 사용하는 프로그램을 구동하는 등으로 활용하면 좋을 듯 해서요 ㅎ.ㅎ


일단 리눅스 용으로 포팅하고, TV의 그래픽 레이어에 띄우도록 해봤습니다.

뭐랄까 PC에 TV카드를 꽂고 MSX의 출력을 PC에서 받아 PIP로 띄우는 것과 정확히 반대가 되는 모습입니다ㅋㅋ


GT에서는 MPX 카트리지로 음악을 재생한 상태이구요.

노트북 PC에서 TV쪽 리눅스에 터미널로 접속 후 paraMSX 리눅스 버전을 실행했습니다.



사실 이 상태는 GT가 에뮬을 구동하는데 아무 역할을 하지 않습니다.

그냥 모니터를 켜놓은 것 뿐이니까요 ㅎ.ㅎ



2) MSX에서 리눅스에 로그인


이제 노트북 없이 그냥 GT만으로 리눅스에 로그인해서 에뮬을 구동하고 컨트롤도 해보면 되겠죠?

제일 간단한 연결방법은 역시나 시리얼 포트(RS232-C)입니다.


초간단 115KBPS/230KBPS 시리얼 카트리지를 하나 만들고,

또 초간단(ㅋ) MSX 용 VT100 터미널 에뮬을 만듭니다.

사실 안시코드 지원은 안되어있고 대충 글자만 볼 수 있는 정도입니다요ㅋ

PC에서 GT쪽으로 롬파일을 전송해서 실행하는 것도 해보니... 잘 돌아가네요.


이 정도면 최소한의 H/W, S/W는 준비가 된 듯 합니다.




3) GT를 paraMSX와 연결


에뮬에서는 GT 키보드의 포트 데이터를 받아서 키보드 입력으로 사용합니다.

매 프레임마다 전체 데이터를 전송하면 왠만한 경우는 커버되겠죠?

그리고 반대로, 에뮬의 PSG 데이터는 GT 쪽으로 전송해서 실기의 PSG를 구동합니다.


요약하면 키보드, PSG는 GT에서 동작하고, 나머지 기능은 모두 paraMSX 에뮬에서 동작하는 것이죠.

실제로는 요렇게 동작합니다. 이 영상 찍을 때는 에뮬이 좀 느리게 돌고 있었네욤. (BGM이 느릿느릿~)





[결론]


처음엔 이것저것 구현하고 동작시켰을 때 나름 재밌었습니다. 금방 열기가 식어버린게 문제였지만요.

그러고보니 지금은 paraMSX-R 카트리지가 있어서...

GT에서 아이큐2000 모드로 전환하고 한글 프로그램을 구동하는 등의 작업도 쉽게 되는군요 ㅎ.ㅎ


2012~2013년쯤이었나요?

라즈베리파이가 인기를 끌면서, MSX 용 HDMI, 롬팩, 디스크 에뮬같은 것들도 쏟아져나왔던 기억도 나네요.

그 때문인지 뭔가 유니크한 주변기기 개발은 시들해진 부작용도 좀 있었구요.


... 암튼 갑자기 예전 생각들이 떠올라서 주섬주섬 적어보았습니다.


즐거운 연휴되세요~ ㅎ.ㅎ/


2022년 5월 20일 금요일

[WIN] 2HD 디스켓을 2DD로 포맷하기

4년(?)마다 돌아오는 재방송 시간입니다~ ㅎ.ㅎ/

이미 잘 알고계시는 내용이겠지만, 재방송도 가끔은 재밌으니 한번 봐주세요~


2DD 디스켓은 생산이 중단된지 오래되어서, 대신 2HD 디스켓을 많이 사용하시는데요.

저도 마찬가지입니다요~ㅎ



그럼, 본론으로 넘어갑니다.


2HD 디스켓을 준비합니다.

안쓰는 놈을 하나 골랐습니다. 오래되서 배드섹터도 몇개 있어요ㅋ





외장형 USB FDD에 디스켓을 넣고, 윈도에서 '명령 프롬프트'를 열어봅니다.

CHKDSK로 현재 디스크가 1.44MB의 정상적인 2HD 디스크임을 알 수 있습니다.

디스켓의 우측 2HD 인식 용 홀을 막으면 2DD로 포맷할 수 있는데요.

이 때 "FORMAT A: /T:80 /N:9" 명령을 사용합니다.

아래 스샷은 순서대로 진행한 모습입니다.





윈도에서는 720KB 용량의 정상적인 2DD 디스크로 표시가 되었는데,

이게 MSX에서도 인식이 잘 될까요?

GT에 한번 넣어봅니다. 잘 인식이 되네요! (당연한 얘기를...ㅋ)





그럼, 디스크가 잘 기록되는지 테스트도 해볼까요?

COPY720 프로그램으로 YS1_K.DSK 이미지를 씁니다.





MMC/SD를 뽑고 디스켓으로 부팅해봅니다.

이스가 잘 실행되네요!





보너스로 스샷 한장 더 찍어봅니다.

paraMSX 에뮬에서는 PC의 FDD를 직접 읽을 수 있습니다.

실기에서 기록했던 이스 디스켓을 아래처럼 paraMSX로 구동이 가능합니다.





그럼, 이만~~


.

.

.

FAQ 하나만 적고 갈께요 ㅎ.ㅎ


Q: 저는 윈도XXX에서 2DD를 FORMAT하면 에러가 나오는데, 왜 그럴까요?

A: 쓰시는 FDD 또는 디스켓이 불량입니다.


-끝-


2021년 11월 10일 수요일

[WIN] 여러개의 DSK 파일을 간단히 합치는 방법

여러개의 DSK 파일들을 에뮬 또는 MMC/SD 등에서 사용하기 위해,

하나의 파일로 합쳐야하는 경우가 생기는데요.


방법은 여러가지가 있겠지만,

이번에는 배치파일과 윈도의 보내기(Send To) 기능을 활용해보아요~ ㅎ.ㅎ


먼저 파일을 합치는 BAT 파일을 받으세요.

Download: File Combine.zip


배치파일 내용은 이렇습니다.

제가 대충 만든거니까 맘에 안드시면 수정해서 쓰세요ㅋ





배치파일을 윈도의 GUI와 연동해서 쓰는 가장 쉬운 방법은

보내기(Send To) 기능을 쓰는건데요.


윈도10의 경우는 아래 폴더에 배치파일을 넣으면 되겠습니다.

배치파일 원본을 넣어도 되고, 바로가기 링크를 넣어도 됩니다.

C:\Users\계정이름\AppData\Roaming\Microsoft\Windows\SendTo





DSK 파일들의 이름을 잘 정리해서, 탐색기에서도 순서가 정렬되도록 해줍니다.





여기가 가장 중요합니다! 잘 보세요ㅋ

DSK 파일들을 모두 선택 후,

첫번째 DSK파일에서 마우스 우클릭으로 팝업메뉴를 띄웁니다.

배치파일에 파일명을 전달하는 순서때문에 이렇게 해야됩니다!

뭐, 파일명을 자동으로 정렬하는 기능을 넣을 수도 있겠지만...

스크립트를 복잡하게 만드는게 귀찮으니 그냥 이렇게 합시다~





CMD 창이 열리면서 작업이 수행됩니다.

COMBINE.OUT 파일을 생성하고, DSK 파일을 하나씩 붙이는거라 금방 끝나요.





작업이 완료되면 COMBINE.OUT 파일명을 적당히 바꿔서 쓰시면 되겠습니다.





흐... 배치파일 만드는 것 보다 글 쓰는게 더 귀찮네요.


.

.

.



근데 "어? 나는 구버전 윈도 쓰는데, 가능할까요?" 물어보실까봐

VM으로 윈도2000에서도 테스트해봤습니다.


윈도2000의 보내기 폴더의 위치는 아래처럼 나와요.

여기에 배치파일을 넣으면 됩니다.

C:\Documents and Settings\계정이름\SendTo


실행방법은 똑같습니다. 스샷 구경하셔요~







그럼, 즐거운 윈도 + MSX 생활하셔요~ ㅎ.ㅎ/~


2010년 3월 21일 일요일

paraMSX_Linux & RS-232C - 키보드 사운드

지난번 보여드린 TV 내장의 리눅스용으로 포팅된 paraMSX 활용을 위한,

터보알의 키보드 및 사운드(PSG)를 연결해보았습니다.

 

에뮬레이터와 터보알 실기 간의 연결은 RS-232C 카트리지를 썼습니다.

속도는 115200BPS 상태이고요.

 

에뮬레이터에서 PSG Port 출력은 터보알에서 시리얼로 받아 실제 PSG을 구동하고,

반대로 터보알의 키보드 포트 입력은 시리얼로 전달해서 에뮬레이터가 동작하는 형태입니다.

 

결국 키보드와 PSG 사운드 IO만 서로간의 전송이 되고,

나머지 VDP, CPU등 대부분 기능은 에뮬레이터에서 구현됩니다.

 

아래 동작하는 영상을 한번 보세요.

사운드랑 키보드 IO를 넣으니까 에뮬 구동 속도가 좀 떨어지는군요.

 

사운드를 안쓴다면 에뮬의 CPU클럭을 높여서 고속 MSX 에뮬하는 것도 재밌을것 같네요.




2010년 1월 24일 일요일

paraMSX_Linux & RS-232C - MSX를 TV안에

제가 메인으로 쓰는 모니터가 원래 유럽향 DTV인데, 시스템이 리눅스로 구동되고 있습니다.

(이쪽에 관심 있으신 분은 아시겠지만, 요즘은 TV, 휴대폰 등 제품에도 리눅스가 많이 쓰이고 있습니다.)

참고로 CPU는 MIPS의 MIPS24kec 324MHz가 들어있습니다.


기존 MSX 에뮬레이터(paraMSX) 소스를 좀 고쳐서 리눅스(TV 내장)에서 실행될 수 있도록 해보았습니다.

윈도용 에뮬처럼 모든 기능이 동작하는 건 아니지만,

MSX1/2/2+ 기본 세팅과 V9958 에뮬까지는 제대로 되도록 해놨습니다.

에뮬 화면은 리눅스의 프레임버퍼에 올리고 있습니다.

배경에는 SCART RGB입력의 터보알 화면이 나오고 있고 그위에 오버레이 되는 것이지요.

바꿔말하면, 그냥 TV의 OSD 메뉴 대신 paraMSX가 뜨는거라고 생각하시면 됩니다. ㅋ

 

아래 동영상 한번 보세요.

LCD TV랑 노트북이 시리얼(RS-232C)로 연결되어있고, 터미널 상에서 에뮬을 실행시켰습니다.

에뮬에서 사운드가 안나오기 때문에, 대신 터보알님이 MP3 배경음악을 넣어주셨습니다요. ㅎ.ㅎㅋ




 

아래는 터미널 스크린샷입니다.

USB 메모리스틱을 마운트해서 쓰고 있습니다.




2009년 10월 8일 목요일

paraMSX v0.50b에서 MMC/SD Drive 사용법

음... 제가 만드는 것들이 한가지 공통점이 있는데...

설명서가 부실하거나 없다는 것이지요. ㅎ.ㅎ;;;

 

이번에 paraMSX의 MMC/SD Drive 에뮬레이션을 이용해서,

메모리카드 초기화하고 YS1 게임을 하나 인스톨 해보는 가이드(?)를 만들어보았습니다.

 

스크린샷만 보셔도 이해하실수 있으리라 믿습니다. ㅋ

 

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

먼저 MMC/SD 바이오스 롬을 준비합니다.

여기서는 MMCDISK3.ROM을 MEGAROM 폴더에 넣어놓았습니다.

이름은 적당히 MMCDISK3_v4.00b4_2048KB.ROM라고 바꿨습니다.

 

paraMSX의 MMC/SD 에뮬레이션에서는 SD카드 1슬롯만 처리가능하고,

바이오스 파일명과 같은 명의 디스크 이미지(*.DSK)를 메모리카드 이미지로 사용합니다.

 

여기서 바이오스롬을 MMCDISK3_v4.00b4_2048KB.ROM 을 쓰기 때문에

메모리카드 이미지는 MMCDISK3_v4.00b4_2048KB.DSK 로 됩니다.

 

paraMSX의 시스템 메뉴에서 'MSX2+ FS-A1WSX.DAT'를 선택하면,

메인램 512KB로 설정되기 때문에 MSX-DOS2를 바로 쓸수 있습니다.

 

아래는 슬롯1에 MMC/SD 바이오스롬을 선택했고,

롬매퍼는 9 MMC/SD Drive (SCC)로 선택했습니다.

(다른 매퍼를 선택하면 제대로 동작하지 않습니다.)




[Power] 버튼을 눌러서 에뮬을 구동하면,

아래처럼 MMC/SD 부팅화면이 나타납니다.

(음... 바이오스 v4.01로 캡쳐됬네요. ㅎ.ㅎ;;)

아직은 메모리카드 이미지 파일(DSK)이 없기 때문에, 카드 초기화에 Fail이라고 나타납니다.




MMC/SD의 내장 플래쉬롬 디스크가 Drive A:로 매핑되어 부팅된 것을 볼수 있습니다.




여기서 INSTALL.COM을 실행하면 메모리카드 초기화를 하게 되며,

유저가 선택한 시스템 디스크 A/B도 함께 설정됩니다.

시스템 디스크 A,B는 MMC/SD에서 기본으로 설정되는 두개의 파티션을 의미합니다.

 

인스톨 중, 메모리 카드를 넣고 아무키를 누르라고 표시되는데,

그냥 아무키나 누르면 paraMSX 상에서 메모리 카드 이미지(DSK)파일을 자동으로 생성하게 됩니다.




전체 메모리카드 용량은 2GB로 선택되었고,

시스템 디스크 A,B는 각각 32MB로 선택했습니다.





인스톨이 종료된 후, Drive A,B를 DIR해본 모습입니다.

대부분의 프로그램은 B:\UTILS 폴더에 들어있습니다.

DOS2에서 PATH가 설정되기 때문에 유틸은 쉽게 실행가능합니다.




이제 본격적으로 YS1 게임 디스크를 MMC/SD로 옮겨보겠습니다.

아래 처럼 paraMSX의 디스크-A에 YS1.DSK를 선택했습니다.

여기서 디스크-A,B는 에뮬중인 시스템(현재 FS-A1WSX)의 내장 FDD를 의미합니다.

 

이 경우, MMC/SD가 MSX 드라이브 A,B,C,D를 처리하고 있으니까,

내장 FDD는 드라이브 E,F가 됩니다.

결국 드라이브 E에 YS1 디스크가 들어있는 셈이지요.




DISKMAN.COM을 실행하면 아래와 같은 화면이 나타납니다.

Root System 폴더에 이미 시스템 디스크-A,B 및 파티션 테이블이 들어있습니다.

 

일단 INS 키를 눌러서 Game 폴더를 하나 생성합니다.




'리턴'키를 누르면 해당 폴더로 들어가는데,

이번엔 Game폴더안에서 'YS I' 이라는 파일을 새로 만듭니다.

 

파일은 단지 파티션 이름으로만 의미가 있고, 실제 디스크 파티션은 파일 내에서 생성해야합니다.




YS I 파일에서 리턴키를 누르면 디스크 편집창이 나옵니다.

INS를 눌러서 새 디스크를 추가해봅니다.

 

현재 추가된 디스크가 하나도 없는 경우에는,

디스크 타입(용량)을 먼저 물어보게 됩니다.

대부분 플로피 디스크 게임은 2DD(720KB)니까 1번을 선택하면 되겠습니다.




추가될 디스크 이름을 입력합니다.

여기서는 그냥 Main이라고 입력했습니다.

(참고로 이름은, 최대 7자까지만 입력가능합니다.)




1번 디스크로 Main이 추가되었습니다.

[ 96 - 96] 숫자는 파티션의 블럭 위치를 의미합니다. 별로 중요한 건 아닙니다. ㅎ




1번 디스크에서, 리턴키를 누르면 디스크 Import 메뉴가 나오는데,

이미지 파일(DSK)를 사용할 것인지, 아니면 실제 FDD에서 읽을 것인지를 골라야합니다.

 

지금은 실제 FDD(드라이브 E)에서 복사해야 되니까, Import from FDD를 선택합니다.




드라이브 명(E)을 입력합니다




드라이브 E에서 섹터를 읽어 MMC/SD 메모리로 복사하는 모습입니다.




Import가 완료되면, ESC를 눌러 File 메뉴로 돌아갑니다.

여기서 F5를 누르면 아래처럼 디스크 부팅/선택 등의 메뉴가 나옵니다.

 

첫번째 Set disk & Boot disk를 선택하면,

현재 000.YS I 파일의 1번 디스크(Main)를 드라이브 A로 매핑한 후, 부팅시켜줍니다.

참고로, 세번째 메뉴는 드라이브 A로 매핑한후 DOS로 복귀합니다.




잠시 기다리면 YS1이 실행되는 것을 볼수 있습니다.