2019년 12월 15일 일요일

SLT-X 제작 #5 - 외부전원 및 오디오앰프

지난 10년간 GT에 6슬롯을 꽂아서 쓰면서 느낀 점이 몇가지가 있었습니다.

- 주변기기를 꽉꽉~ 채워도 전원문제가 생기지 않음

- 사운드 ON/OFF 스위치는 거의 안쓰임

- 오디오 앰프는 2배, 3배 정도면 충분함



지난 사진들을 보시면 아시겠지만, SLT-X에는 외부전원과 사운드 스위치가 빠져있습니다.

근데 이게 10슬롯으로 가니까 쬐금 불안한 생각이 들어서, 외부 전원을 다시 넣어줬습니다ㅋ

5V 3A 어댑터를 꽂으면 빵빵하게 쓸 수 있겠죠.

참고로 MSX 표준에는 슬롯당 5V 300mA으로 되어있어요. 슬롯 10개면 최대 3A 되겠습니다.


그리고 사운드 스위치도 다시 넣었습니다. 막상 없으니 또 아쉽더라구요. 흐~

사운드는 한 곳에 몰아놓으면 상태를 쉽게 확인할 수 있어서 좋은데...

SLT-X는 슬롯 개수가 많아서 좀 힘드니, 그냥 각 슬롯의 왼편에 스위치를 붙였어요.





다음은 오디오 앰프입니다.

앰프 회로는 본체에 꽂는 버퍼 카트리지에 들어있습니다.

3단 스위치로 증폭을 선택할 수 있어요.

1,2,3단 선택으로 오디오 출력이 1배,2배,3배가 됩니다.

LED 색으로 상태로 쉽게 확인할 수 있겠습니다요~





실제 동작은 어떤지 확인해보았어요.

MMC/SD V4의 Covox 8BIT PCM으로 출력한 것을 실제로 녹음해서 보는거죠.


아래 그림의 윗쪽은 원본 PCM 파일의 파형이구요.

아랫쪽은 GT의 본체 슬롯에 꽂아서 녹음해본 파형입니다.





그럼 SLT-X를 쓴 경우의 파형을 보시죠.

테스트를 위해 스내처 SCC-I 카트리지와 FMPAC 카트리지가 함께 쓰였습니다.

참고로, 둘 다 정품이구요, 사운드는 무음(GND)으로 출력되는 상태입니다.





부연 설명을 해보자면...

GT는 본체에 MSX-MUSIC 내장되어 있습니다.

따라서 FMPAC을 외부 슬롯에 꽂으면, FMPAC의 OPLL 대신 GT 내장된 OPLL에서 소리가 납니다.

결국 FMPAC이 그냥 PAC으로 바뀌는거죠.

문제는 FMPAC의 사운드 출력인데요. 이 때 사용하지 않는 OPLL은 무음(GND)으로 출력됩니다.

그러니까 확장슬롯에 사라만다 같은 사운드칩이 내장된 카트리지와 FMPAC을 함께 쓰면,

사라만다의 SCC 사운드 볼륨이 뚝 떨어지는 현상으로 나타납니다.



마지막으로 보너스 사진 나갑니다~

예전에 어느분이 얘기하셨는데... 슬레이브 보드를 계속 연결하면 어떻게 되냐고 하셨죠?

마스터 보드는 슬롯10개의 /SLTSL 신호를 컨트롤합니다.

그러니까 마스터 보드 + 슬레이브 보드 3개 꽂으면 딱 /SLTSL 10개가 사용됩니다요.

이 상태에서 슬레이브 보드를 더 연결하면, 해당 슬롯은 모두 I/O 전용 SLOT으로 동작합니다.


아래 사진에서는 슬레이브 보드를 하나 더 붙여서(13-SLOT) FontPack을 꽂은 상태인데요.

이렇게 되면, FontPack 카트리지의 스위치를 OFF하고 꽂는 것과 동일하게 동작합니다.

BIOS가 동작하지 않으니 한글 IME, ANSI 스크린은 사용 못하고 폰트 I/O만 동작하게 됩니다.





심심해서 슬레이브 보드 6개 꽂아서 19-SLOT으로도 동작해봤는데, FontPack 글자는 잘 나오네요.

마스터 + 슬레이브 보드만 50cm정도 되니까...

오디오앰프/버퍼 카트리지와 케이블까지 다 합하면, 전체 길이는 약 1m가 되겠습니다.



이걸로 SLT-X 제작은 대충 마무리되었습니다.

쓰다가 필요한 것(?)이 생각나면 더 추가하는걸로 하겠습니다.


그럼, 즐거운 일요일되세요! ㅎ.ㅎ


2019년 12월 3일 화요일

[강좌] 07. MSX 기본사양

오랜만에 [강좌]글을 적어봅니다.

제목은 [강좌]지만... 절반은 잡담이니 참고하셔요~ ㅎ.ㅎ





07. MSX 기본사양


[서론 aka 잡담]


요즘에도 MSX를 쓰시나요?


저는 국딩시절 학교와 학원에서 아이큐1000을 주로 만졌습니다.

디스플레이는 잔상이 멋지구리하게 남는 그린모니터가 주류였습니다.

6학년 때가 되어, 아이큐2000 + RGB모니터 + 3.5"FDD 최강(!)의 사양으로 MSX가 집에 들어왔습니다. ㅎ.ㅎ


95년부터는 fMSX 에뮬레이터가 등장하면서 MSX2+를 간접적(?)으로 쓸 수 있었습니다.

(고딩 때 친구집에서 본 A1-WSX가 아직도 기억에 생생하네요. 그 때는 MSX 오타인가...했었지만요ㅋ)

나중에 fMSX 기반으로 paraMSX 에뮬를 만들어서 입맛에 맞게 잼나게 즐겼구요.


자연스레 실기 MSX에서 한동안 멀어졌는데...

갑자기 MSX2+ 실기를 한번 써보고싶더라구요.

그 때가 첫 회사에 들어와서 기숙사에 살던 때였습니다. 2001년 경

기숙사 사진도 한장 올려봅니다. 소니 디카(FDD 내장ㅋ)로 찍었던 640 x 480 사진입니다요~





MSX2+ 기종은 종류가 몇개 없는데, 파나소닉의 FS-A1WSX 기종이 S-Video 출력이 가능해서 요걸로 골랐습니다.

램도 512KB로 늘리고 DOS2 카트리지도 만들고, 플래쉬롬팩도 만들어서 쓰다보니... 결론이 나오더군요.

--> 정답은 GT


아마 2003년으로 기억합니다. 옥션에 A1GT가 올라온걸 바로 구매했었지요.

당시에는 주로 ebay랑 옥션만 사용했습니다.

야후 재팬 옥션은 나중에서야 구매대행으로 몇번 이용했었네요.


GT의 빠른 속도를 쓸 수 있게되니, 점점 더 욕심은 커져만가고~ ㅎ.ㅎ

빠른 디스크드라이브를 위해 MMC Disk interface를 만들었구요.

나중에는 MMC/SD Drive로 개명하게 되어서, 지금은 이걸 MMC/SD Drive V1으로 부르고 있습니다.





그 후, 준성님의 MPX 카트리지, 필립스 Music Module (MSX-AUDIO), 선라이즈 MoonSound 순으로...

저의 MSX 주변기기 사양은 점점 높아져갑니다.


.

.

.


제가 이런 잡다한 얘기를 왜 꺼냈냐면요.

요즘들어 MSX를 사용하시는 분들이 모두 저와 같진 않을꺼라는 생각이 들더라구요.


파라동 게시판에 올라오는 글을 볼 때도 그렇고, 정모에서 이런저런 얘기를 나눠보면...

80년대 아이큐1000/2000 잠깐 쓴 후 한동안 MSX를 끊었다가 (혹은 MSX를 친구집에서만 접했다가)

21세기로 넘어와서 뭔가 좀 오버스러운 MSX 사양으로 다시 접하게 되는거지요.

뭔가 히스토리를 건너뛰다보니 국민학교에서 대학교로 바로 간 느낌?

아닌가요? 그냥 저의 느낌일뿐...일지도요. ㅎ.ㅎ


그래서 기본 정리를 좀 해보려고 합니다.

MSX를 처음 접하시는 분들께도 도움이 될 듯 합니다요~~



[본론]


MSX 기본 사양(specifications)을 먼저 알아보겠습니다.

기본은 말 그대로 "필수 (Mendatory)"인 사양을 의미합니다.

이 부분이 부족하면 그냥 MSX 표준은 아닌거에요.

그리고, 옵션 사양은 추가 가능한 부분을 의미합니다.


버전은 MSX1, MSX2, MSX2+, MSX turbo R 4개가 나와있습니다. 곧 turboR 30주년이 ㅠ.ㅠ

MSX turboR의 경우는 표기법이 애매해서,

MSXturboR, MSX turbo R, MSX TurboR 등으로 여러가지 모양이 있으니 참고하세요.



1. MSX1


CPU    = Z80 3.579545MHz 호환

RAM    = 8KB

ROM    = Main BIOS 32KB

VDP    = TMS9918A 60Hz 또는 TMS9929A 50Hz

VRAM   = 16KB

PSG    = AY-3-8910 호환

카세트 = 카세트 1200/2400bps

키보드 = 영문 + (옵션: 일어/한글/러시아/유럽 문자)

외부슬롯 = 1개 (옵션: 확장버스)

범용포트 = 1개 (옵션: 2개)

프린터 = (옵션)

한자롬 = (옵션)


저가형 기종을 제외하면 대부분 MSX1은 램16KB, 범용포트 2개가 들어있습니다.

그만큼 MSX에서 게임의 비중이 크다는 얘기겠죠?ㅋ

게임롬팩은 램 8KB에서도 구동가능한 것도 있고, 16KB 전용도 있으니 잘 보셔야합니다.

정품 게임은 케이스에 표기되어있어요. ㅎ.ㅎ


그리고,

재믹스 CPC-50/51은 MSX1 기반으로 만들어졌고, MSX 로고는 없습니다. 키보드도 없구요.



2. MSX2


MSX1과 다른 부분만 표기합니다.


RAM    = 64KB (옵션: 메모리매퍼)

ROM    = Main BIOS 32KB + Sub BIOS 16KB

VDP    = V9938 (60Hz/50Hz 지원가능)

VRAM   = 64KB (옵션: 128KB)

FM 음원= (옵션: MSX-AUDIO)

프린터 = 8BIT 센트로닉스 인터페이스

범용포트= 2개

한자롬 = (옵션: JIS1, JIS2)

한자DRV= (옵션)

RTC    = RP5C01 호환


일부 특수 기종외에는 모두 VRAM 128KB가 장착되어있습니다.

대부분 MSX2 게임은 VRAM 128KB가 필요하니 참고하시구요.

VRAM이 64KB인 경우는 SCREEN 7,8을 사용할 수 없습니다.

부트로고가 SCREEN 6으로 구현된 이유가 그 때문 듯 생각됩니다요.

SCREEN 5,6의 페이지 절반만 쓸 수 있어서, 대부분 MSX2 게임이 구동안될꺼에요.


원래 부팅할 때 MSX로고와 함께 VRAM 용량이 표시되지만,

아이큐2000에서는 VRAM 용량 대신 날짜/시각이 표시됩니다. (왜 그랬을까)

X-II에서는 MSX 로고는 안나오지만, VRAM 용량은 표시됩니다. (날짜/시각은 또 어디로?)


그리고,

재믹스 CPC-61는 MSX2 기반으로 만들어졌고, MSX2 로고도 부착되어있습니다.

키보드가 옵션처리 되어있고, RTC가 제거되어 관련 BIOS 루틴들도 모두 삭제되어있습니다.



3. MSX2+


MSX2와 다른 부분만 표기합니다.


ROM    = Main BIOS + Sub BIOS 16KB + 한자DRV 16KB (옵션: 32KB)

VDP    = V9958 (60Hz/50Hz 지원가능)

VRAM   = 128KB

FM 음원= (옵션: MSX-AUDIO, MSX-MUSIC)

한자롬 = JIS1 128KB (옵션: JIS2)

한자DRV= 한자 입력기



마이크로소프트가 MSX를 포기한 후, ASCII가 전담하는 시절입니다.

이젠 국제 표준이 아니라 일본 표준 컴퓨터가 되었어요.

한자롬과 한자드라이버는 기본이구요.

MSX-MUSIC은 옵션이지만, FS-A1FX 외의 기종은 모두 MSX-MUSIC 내장되어있습니다.

MSX-AUDIO는 MSX2/2+에 내장된 기종이 아마 없을꺼에요. (비싸서?)


VRAM은 128KB 기본이 되어, 부트로고 밑에 VRAM 용량 표시를 하지않습니다.

대신 Main RAM의 용량이 표시됩니다.

MSX2는 메인램 64KB가 먼저 디텍션되는 슬롯(빠른 슬롯)을 메인램으로 사용하지만,

MSX2+부터는 모슨 슬롯의 램을 검색 후, 가장 용량이 큰 슬롯을 메인램으로 사용합니다.

하지만, DOS2 카트리지가 있으면 MSX2에서도 램 용량이 큰 슬롯으로 강제 전환됩니다.

메모리 슬롯을 가변으로 사용하는 S/W를 만들 때는 주의가 필요해요.



4. MSX turbo R


MSX2+와 다른 부분만 표기합니다.


CPU    = Z80 + R800 7.15909MHz

ROM    = Main BIOS + Sub BIOS + 한자DRV 32KB + MSX-MUSIC BIOS 16KB + DOS1 16KB + DOS2 48KB

RAM    = 메모리매퍼 256KB

FM 음원= MSX-MUSIC (옵션: MSX-AUDIO)

PCM    = 8BIT DAC/ADC

MIDI   = (옵션: MSX-MIDI)

TIMER  = 255682Hz

FDD    = 3.5" 1DD, 2DD



CPU가 두개 들어갑니다. R800은 Z80에 비해 클럭사이클이 약 4배 빠릅니다.

그 때문에 Z80 28MHz로 부르기도합니다.

turboR 외부버스가 3.58MHz라서 실제로 28MHz 속도는 안나와요ㅋ


R800에는 Z80에 없는 곱셈 명령어가 추가되어있습니다.

근데 실제로 쓰는 S/W가 거의 없는걸로 알고 있어요.

(제가 제작한 터보알 전용 S/W는 쓰고 있습니다.)


H/W 타이머는 S/W에서 종종 쓰이는걸로 알고 있습니다. PCM 출력도 마찬가지이구요.

8BIT DAC 출력은 프린터 포트 용 Covox 같은 것과 유사합니다.


한자롬 JIS2는 옵션이지만, A1ST/GT 두 기종 모두 JIS2 폰트가 들어있습니다.


일반 MSX-DOS2 카트리지(v2.20)는 DOS2 48KB와 한자DRV 16KB가 들어있지만,

한자DRV가 MSX2+부터 내장되어있어서, 대신 FDD(DOS1 16KB)가 들어가있습니다.

turboR 내장된 DOS2는 v2.30 (A1ST), v2.31 (A1GT) 두 버전이 존재하구요.

모두 Z800/R800 CPU 모드 전환 및 FDD 드라이버 통합으로 동작합니다.

참고로 OCM에 들어있는 디스크롬이 v2.31 기반으로 제작되어있어요.

Okei 씨의 FAT16 드라이버 통합된 롬이죠.


2019년 11월 25일 월요일

SLT-X 제작 #4 - 동작모드 전환

잠시 한눈파는 사이에 시간이 후딱 가버렸네요.

(PAC-V 납땜 때문이라고는 말 못하겠...읍읍ㅋ)


암튼 다시 달려봅니다요~ ㅎ.ㅎ

참... 이름이 SLTX에서 SLT-X로 변경되었습니다. (열차 이름 같아서ㅋ)


지난번 글에서 SLT-X 내부에는 Page2를 차지하는 롬이 하나 들어있다고 했는데요.

통상의 동작모드에서는 SLOT 0-0 Page2에서 롬이 구동됩니다.

요걸 SLT-X Manager라고 부르고 있습니다. 우리말로 걍 '관리자'인 셈이죠.



부팅 중 'X'키를 누르면 Manager 롬의 설정화면으로 넘어갑니다.

키를 안누르면 보드(플래쉬롬)에 저장된 설정값으로 세팅된 상태로 부팅됩니다.


아래처럼 커서키 등으로 각 슬롯의 동작모드를 변경할 수 있구요.

변경값을 취소하거나 보드에 세이브할 수도 있습니다.

물론 설정값을 세이브하지 않고 적용만 하는 것도 가능합니다.





SLT-X는 처음 부팅 시, 모든 SLOT의 /SLTSL 신호가 Disable 상태로 동작되구요.

Manager롬에서 설정값(보드 플래쉬롬)에 따라 Enable로 바뀌게됩니다.

설정값을 읽어오는건 하드리셋(전원 OFF/ON) 때만 유효합니다요~

소프트 리셋을 할 때는 최종 적용된 값으로 계속 사용됩니다.


그리고, 슬레이브 보드의 기본 동작 모드(Op. Mode)는 변경하더라도 플래쉬롬에 저장하지는 않습니다.

변경한 값은 소프트 리셋을 할 때만 유지됩니다. 고민을 좀 해봤지만, 이게 가장 안전한 것 같네요.

만약 전원을 끄고 연결된 슬레이브 보드의 개수를 바꿔서 부팅하면, 당연히 현재 보드 개수에 맞는 모드로 동작합니다.


마지막으로 하나 더,

SLOT 0-0 Page2를 외부 슬롯에서 사용할 수 없는 기종에서는 SLT-X를 FULL로 활용할 수 없는데요.

예를 들어 X-II의 경우겠죠?

이 때는 슬레이브 보드를 하나만 연결해서 SAFE 모드로만 쓸 수 있습니다.

SAFE 모드에서는 모든 SUB SLOT이 Enable 된 상태로 부팅됩니다.

슬레이브 보드 한개뿐이니, 일반 4-SLOT 확장슬롯과 동일한 기능이 됩니다.

부가기능을 다 끄고 쓰는거니... 아마 이렇게 쓰실 분은 없겠죠? ㅎ.ㅎ



그럼, Op. Mode를 바꿔서 동작하는 모습을 보시죠~

영상을 찍어서 올린지 한달이 넘어버려서 UI가 조금 구버전입니다. 참고하세요ㅋ





마지막으로 10-SLOT 상태의 SLT-X 옆모습을 한번 찍어봤습니다. 구경하셔요~ ㅎ.ㅎ




그럼 이만~~ ㅎ.ㅎ/


2019년 11월 3일 일요일

간만에 PAC-V를 좀 만들었습니다.

여러개 만드느라 시간이 꽤 걸렸네요ㅋ


방출 전에 기념사진 한장~!





즐거운 주말되세요! ㅎ.ㅎ


2019년 10월 15일 화요일

FontPack - 케이스 간섭 수정

갑자기 FontPack이 제대로 동작하지 않아서, 이리저리 살펴보니...

BUSDIR 신호를 추가한 곳의 납땜이 떨어졌더라구요.

근데 제 FontPack 두개가 모두 떨어진 상태였습니다. -_-


요기입니다.





카트리지를 꽂았다뺐다 반복하면 케이스에 걸려서 끊어지게 생겼더라구요.

아마 최근에 SLTX를 제작하면서 카트리지를 자주 뺐다꽂으면서 떨어진 듯 합니다.


BUSDIR 수정이 적용된 FontPack을 쓰시는 분은 꺼내서 한번 확인해보세요! ㅎ.ㅎ;


암튼 떨어져나간 선은 다시 납땜했구요.

케이스는 아래 사진처럼 선이 걸리는 부분을 살짝 잘라줬습니다.




그럼, 즐 FontPack 하셔요~

2019년 10월 13일 일요일

2019-10-12 즐거운 가을정모였습니다~

어제 토요일 사당에 정모가 있었지요~

이번에는 기기 전시는 하지 않았구요.

그냥 아자씨들끼리 잡담하면서 잼나게 보냈습니다.


처음 오신 분들... 또 참석할거라 예상 못했던 분도 있어서 더 재밌었습니다.

다들 바쁘실텐데 참석해주셔서 감사드립니다.

모임 준비하느라 고생하신 유령군님께 더~더~ 감사드리구요. ㅎ.ㅎb


1차 모임장소에서 찍은 사진 몇장만 올리고 들어갑니다~~~



던전(?) 입구 사진입니다.





둘러앉은 모습






나눔 중 찰칵!





게임대전 1탄! 워로이드





게임대전 2탄! 이알쿵푸2





그럼, 이만~~


2019년 10월 11일 금요일

2019년 파라동 가을정모 용 카트리지를 하나 만들었어요

벌써 내일이 토요일이군요. 정모날이죠~ ㅎ.ㅎ


정모 나눔용으로 카트리지 하나를 준비했습니다.

레이블은 이올로님께서 올려주신 이번 가을대문 이미지를 사용했어요~





롬파일도 다운로드를 하구요.





카트리지를 구동하면 "정모 기념 메시지"가 출력됩니다. 으흐흐~~





그럼, 내일 뵈어요~ ㅎ.ㅎ


2019년 10월 6일 일요일

SLT-X 제작 #3 - Manager 롬의 필요성

[ 서론 ]


확장슬롯을 만들면, /SLTSL, SOUNDIN 핀들을 ON/OFF 하거나

확장슬롯 레지스터를 ON/OFF 하는 등의 여러가지 스위치를 넣게 됩니다.


SLTX를 처음 구상할 때도 늘 그랬듯이ㅋ

마스터 보드를 사용자 앞쪽으로 배치하고, 보드 상에 딥스위치를 주르르 놓으려고 했습니다.

근데 SLTX에서는 기존 확장슬롯 보다 더 많은 딥스위치를 넣어야하는데,

이게 보드 공간 문제도 있고, 꼭 이걸 H/W 스위치로 해야되나 생각이 들었습니다요.


...결국

딥스위치를 다 없애고 S/W로 설정하는걸로 바꾸는 쪽으로 방향을 바꿨습니다.

그렇다고 모든 설정을 S/W 설정으로 바꾸면 나름 불편한 점이 생기겠죠?


본체를 켜기전에 확인이 필요한 설정은 어쩔수 없이 딥스위치로 가야합니다.

그리고 S/W로 설정한 것들을 무력화(안전 모드 발동ㅋ) 할 수 있는 방법도 필요하구요.

사운드 ON/OFF가 좀 문제인데... 그냥 과감히 삭제! ㅎ.ㅎ

최종으로 딥스위치를 하나만 넣는 방안으로 채택되었습니다. 짝짝짝~


그리고 마스터보드에 스위치가 없어지면 보드를 손으로 만질 필요가 없을테니...

굳이 마스터보드를 확장슬롯 앞쪽에 배치할 필요가 없겠죠?


케이블도 확장슬롯 뒷쪽으로 가니까 깔끔하네요.

아래 사진은 10슬롯으로 폰트팩, MPX R2를 사용하는 장면입니다.





뭔가 서론이 결론처럼 된 느낌이네요ㅋ

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



[ 본론 ]


위의 사진처럼 구동하는 모습을 만들려면, 설정을 위한 S/W가 필요하잖아요?

근데 생각해봅시다요~

이 S/W를 일반 DOS용 프로그램으로 만들어서 사용한다면 이런 시나리오가 되겠죠?

1. 기존 설정으로 본체를 부팅한다

2. 설정 변경용 S/W를 실행한다

3. 설정을 바꾸고 본체를 리셋한다


.... H/W 스위치를 사용하는 것과 비교하면 좀(많이) 번거롭습니다 ㅎ.ㅎ;

만약 설정을 잘못했을 때 제대로 DOS 부팅을 못하게 되는 상황이 생기면, 또 난감하겠죠.


그래서 이런 설정을 해주는 S/W를 확장슬롯에 넣어보기로 합니다.

DOS 부팅까지 가지는게 아닌, 초기 부팅 타임(SLOT INIT)에서 처리를 할 수 있도록이요.


설정 S/W를 롬으로 넣어서 구동하려면 몇몇 조건이 필요한데요.

- S/W가 SLOT을 점유하고 있어야함

- 확장슬롯의 S/W 보다 먼저 실행되어야함


확장슬롯이 SLOT 1,2,3을 사용하고 있을테니,

이넘들보다 먼저 실행하려면 SLOT 0에 S/W를 넣으면 되겠죠?

SLOT 0가 확장된 기종이라면 SLOT 0의 빈 서브슬롯을 활용하면 되겠구요.

SLOT 0가 확장되지않은 기종이라면 SLOT 0의 Page2를 쓰면 되겠네요.


어.. "근데 SLOT 0를 외부 확장슬롯에서 구동할 수 있나요?" 라는 의문이 생기잖아요?

그래서 구동 조건이 하나 더 추가됩니다.

- 본체를 개조하지않고 SLOT 0를 끌어다 쓸 수 있는 기종이어야함


결국 SLOT 0를 뽑아서 쓰지 못하는 기종은 SLTX의 기능을 전부 활용하는게 불가능하다는 얘기입니다.

이런 기종에서는 SLTX를 마스터보드 + 슬레이브보드 연결해서 일반 확장슬롯(4슬롯)으로 쓰는 것밖에 못합니다.


그럼, 어떤 기종에서 쓸 수 있을까요?

MSX-ENGINE 칩을 쓰는 기종들은 슬롯 쪽에 버퍼(244/245) 칩들이 없는 경우가 많은데요.

파나소닉 MSX2/2+/turboR 등이 대표적인 경우입니다.


대우 CPC-300/400의 경우는 245 버퍼를 사용하고 있고, 버스 direction 컨트롤이 여기저기 섞여있습니다.

이런 기종에서는 SLOT 0를 쓰지 못해요. ㅎ.ㅎ


일단 제가 가진 A1, A1GT 등에서 실제 SLOT 0를 사용할 수 있는지 테스트를 해봐야겠죠?

CPU가 SLOT 0의 비어있는 주소 공간을 R/W할 수 있느냐가 관건입니다.


미리 말씀드리지만,

제가 만든 paraMSX-R, MMC/SD V4 등은 내부에 기본슬롯/확장슬롯이 따로 구현되어있습니다.

결국 MSX 본체의 슬롯 처리부분이 카트리지쪽과 클론 상태로 동작하게 됩니다.

물론 머신 에뮬모드에서는 서로 분리되서 동작하구요.

SLTX의 경우는 SLOT 0,1,2쪽으로 확장슬롯이 내장되어있습니다.

H/W적으로는 확장슬롯 3개를 연결한 것과 같습니다.


그럼 SLOT 0 테스트를 해야하는데요. 주변에 굴러다니는 V4 보드를 하나 주워서 활용합니다.

V4의 CPLD 용량이 큰 편이라 테스트용으로 쓰기에 딱 좋습니다요.

게다가 LED도 3개가 박혀있고 사운드 출력도 가능하니~ ㅎ.ㅎ



본체의 슬롯 레지스터를 클론하고 각 SLOT 0에 ROM/RAM을 매핑하면 어떻게 동작하는지 보시죠.


FS-A1에서 RAM을 매핑한 모습입니다.

SLOT 1 = 개조된 테스트 용 V4

SLOT 2 = MMC/SD V3 (슬롯 체커 롬 구동 용)


SLOT 0 Page2,3에 RAM을 설정했습니다.

정상적으로 R/W 되니까 RAM으로 인식된 것을 볼 수 있죠?





이번에는 SLOT 0를 V4에서 확장슬롯으로 구현하고, RAM을 매핑해보겠습니다.

BASIC에서 WORKAREA를 확인해보면 SLOT 0가 확장된걸로 나타납니다.

실제 FS-A1 본체의 내부 SLOT 0은 확장되어있지 않습니다.





이 상태에서 슬롯 체커 롬을 구동해보면...이렇게 나옵니다.

SLOT 0-1,0-2,0-3의 Page0,1은 "?"로 표시가 되네요.

A1 본체는 확장슬롯 처리가 없으니, 이 영역은 Main BIOS 영역과 똑같이 보여집니다.

하지만 Page2,3 쪽은 정상적으로 RAM으로 표시가 되네요.





이건 어떤 의미가 있을까요?

A1의 SLOT 0를 강제로 확장하고, Page2에서 구동되는 롬을 4개 박아넣는 것도 가능하다? 정도겠죠.

지금 제가 원하는건 Page2를 쓸 수 있느냐 없느냐...니까 이건 걍 넘어갑니다. ㅎ.ㅎ



그럼 A1GT에서 테스트를 해보아요~

GT는 SLOT 0가 이미 확장이 되어있으니, 각 서브슬롯에 비어있는 Page를 모두 RAM으로 할당합니다.

결과는 아래 사진처럼 나옵니다. 참고로 CPU는 Z80 노말모드입니다.





SLOT 0-0 Page2,3은 정상 동작

SLOT 0-1 Page0,1,2,3은 정상 동작

SLOT 0-2 Page0은 사용불가, Page2,3은 정상동작

SLOT 0-3 Page0,2,3은 정상 동작


SLOT 0-0,0-1,0-3은 예상했던 것처럼 잘 동작이 되는데, SLOT 0-2은 Page0을 쓰지 못하네요.

아마 FM BIOS롬을 칩셀렉트할 때, Page0,1이 함께 선택되는게 아닐까 싶습니다.

근데 실제로 SLOT을 덤프해보면 값은 FFH로 되는걸 보면 단순 어드레스 미러는 아니더라구요.


참고로 SLOT 0-3 Page1은 EMPTY로 표시되는데, 실제로는 여기에 터보알 로고 루틴이 있습니다.

슬롯체커 프로그램에서 인식이 안되어 "EMPTY"로 나타나는 것으로 보면 되겠습니다.


.

.

근데 터보알 유저라면 이쯤에서 의문이 들겠죠? ㅎ.ㅎ

당근 R800 고속모드에서는 다르게 동작합니다.


먼저 R800 ROM 모드에서 구동한 모습입니다.





다음은 R800 DRAM 모드에서 구동한 모습입니다.





DRAM 모드에서는 BIOS shadow기능 때문에 조금 차이가 나는걸로 생각되는데요.

중요한건 ROM/DRAM 모두 SLOT 0-1 외에는 외부 액세스가 안되고 있습니다.

결국 일반적인 S/W의 경우는 SLOT 0-0,0-2,0-3을 못 쓴다는 얘기인거죠.


그럼 SLTX 설정 S/W를 SLOT 0-1에 넣어야될까요?

흐... 그러면 SLOT 하나를 몽땅 점유해야되니 아까워서 안되겠구요.

그냥 Z80 모드에서만 설정 S/W를 구동하는걸로 정리하면 되겠습니다.


SLOT 0-0 Page2를 사용하게 되면,

통상적인 부팅에서는 항상 Z80 모드가 되니 별문제는 안되겠습니다요~



[ 결론 ]


- SLTX 설정 용 프로그램은 롬 S/W로 구현한다.

- 사용하는 기종에 따라 SLOT 0 또는 SLOT 0-x의 Page2에 넣는다.

- SLOT 0 확장된 기종에서는 기본적으로 SLOT 0-0 Page2를 사용.

  만약 SLOT 0-0를 못쓰는 경우라면 0-1,0-2,0-3 영역을 사용.


간단하네요! ㅎ.ㅎㅋ

.

.

.

사실 위에 쓴 내용들은 SLTX PCB를 그리기 전에 확인했던 것들입니다.

실제로 구현되는지 확인 안해보고 PCB부터 그리면 안되니까요~ ㅎ.ㅎ


그럼, 진짜로 구현해서 넣어보면 어떻게 되는지 한번 보시죠!

아참 SLTX 설정 프로그램의 이름은 "SLTX-Manager"입니다.


GT에서 7-SLOT 모드로 구동한 모습입니다.

SLTX-Manager가 SLOT 0-0에서 가장 먼저 구동되고 있습니다.

그 다음으로 SLOT 0-1의 PAC-V가 구동되는 모습이구요.


SLTX-Manager에서는 각 슬롯을 스캔해서 약간의 부가정보를 보여줍니다.

주로 INIT 루틴에서 아무런 메시지를 보여주지 않는 것들이 되겠네요.





이번엔 10-SLOT 모드로 구동한 모습입니다.

V4가 서브슬롯에서 구동되어, BASIC'n 롬이 보이지 않는 상황입니다. 참고하세요.





SLT-Manager의 세부 기능에 대한 것들은 다음편으로 넘겨야겠네요.


그럼 이만~~ ㅎ.ㅎ/


2019년 9월 29일 일요일

SLT-X 제작 #2 - 동작 모드

SLT-X는 사용자 입맛에 맞춰 여러가지 조합(?)으로 구동할 수 있습니다.


기본적인 동작 모드는 현재 결합된 슬레이브 보드의 개수에 따라 자동으로 정해집니다.

부팅 중 SLTX 매니저 롬으로 모드를 변경하거나,

부팅 후 특정 슬롯의 모드를 바꾸는 등의 재설정을 할 수 있습니다.


매니저 롬은 마스터 보드에 내장되어있습니다.

256KB 플래쉬롬으로 들어있구요.

관리를 위한 프로그램과 SLTX의 초기설정을 저장하는 목적으로 사용됩니다.

매니저 롬에 관한 자세한 내용은 다음편(3편?ㅋ)에서 말씀드릴테니, 일단 넘어가셔요~ ㅎ.ㅎ



그럼, 각 동작 모드에 관한 설명이 나갑니다~


1. 1-SLOT 모드




마스터 보드 하나만 연결된 상태의 모드입니다.


보드에 장착된 플래쉬롬이 SLOT으로 연결되고, 슬롯 커넥터는 I/O SLOT으로만 동작됩니다.

결국, 일반적인 용도의 모드가 아니라는 얘기입니다.


이 모드에서 부팅하면, SLTX의 내부 설정을 위한 매니저 롬이 자동으로 실행됩니다.

만약 SLTX를 실기의 SLOT 2에 꽂았다면, 매니저 롬이 SLOT 2(기본슬롯 상태)에서 구동됩니다.


마스터 보드의 EX-SLOT 딥스위치는 원래 목적(EX-SLOT 신호설정)으로 사용되지 않고,

"안전모드"를 강제로 설정하는 용도로 사용됩니다.


EX-SLOT 딥스위치를 ON:ON 상태로 놓으면, "안전모드"로 설정됩니다.

이 상태에서는 각종 설정값이 디폴트로 구동됩니다.


참고로 디폴트 설정은 아래와 같습니다.

MANAGER ROM = OFF

ALL SUB SLOT = ON

ALL EX-SUB SLOT = ON

ALT-SLOT = I/O SLOT mode

SLOT-OUT = OFF

각각의 SLOT 명칭은 매니저롬을 설명 할 때, 알려드리겠습니다. (그냥 넘어가세요~ㅋ)


만약 매니저롬을 업데이트(플래쉬롬 다운로드) 도중 전원이 꺼지는 등의 사고(재난?) 발생 시,

안전모드로 부팅 후 다시 롬을 다운로드 할 수 있습니다.



2. 4-SLOT 모드




마스터 보드에 슬레이브 보드 1개를 연결한 상태의 모드입니다.


기본 기능은 통상의 확장슬롯과 같습니다.

슬롯 커넥터 4는 SUB SLOT으로 구동이 됩니다.

SLTX를 본체의 SLOT 2에 연결했다면, SUB SLOT은 SLOT 2-0,2-1,2-2,2-3으로 동작합니다.


부가기능으로는 SLOT-OUT을 쓸 수 있습니다.

특정 슬롯의 /SLTSL 신호를 /RSV1(5번핀) 또는 /RSV2(16번핀)으로 출력가능합니다.

SLOT-OUT에 관한 자세한 내용은 다음번에 알려드릴께요.

한줄 요약하면,

SLOT 0-x, SLOT 1-x, SLOT 2-x의 12개 슬롯 신호 중 2개를 선택/출력하는 기능입니다.


EX-SLOT 딥스위치는 1-SLOT 모드와 유사한 "안전모드"를 선택하는 용도로 사용됩니다.

딥스위치를 ON:ON 상태로 놓으면, 진짜 기본적인 확장슬롯(4슬롯)으로 동작하게 됩니다.

MANAGER ROM, ALT-SLOT, SLOT-OUT 모두 OFF됩니다.



3. 7-SLOT 모드




마스터 보드에 슬레이브 보드 2개를 연결한 상태의 모드입니다.

여기서부터가 진짜 SLTX의 제작목적과 연관된 부분입니다요~ ㅎ.ㅎ


슬롯 개수부터가 조금 요상하죠?

통상적인 6슬롯에 슬롯 한개가 더 붙은 형태입니다.


ALT 1, ALT 0 슬롯은 사용자가 /SLTSL 신호를 선택해서 구동합니다.

기본적으로는 /SLTSL OFF 상태라서, I/O SLOT으로 동작합니다.

SLOT 0,1,2 슬롯의 모든 서브슬롯 12개 중에서 선택가능합니다.

실제로는 11개가 되겠네요. SLOT 0-0은 못쓰니까요~ㅎ


파나소닉의 MSX2+, turboR 계열은 SLOT 0가 모두 확장되어있고,

사용하지 않는 슬롯이 한두개 정도가 있으니, 요걸 할당해서 사용하면 좋습니다.

보통 6슬롯을 만들 때에는, 본체를 개조해서 SLOT 0-1, 0-3의 /SLTSL 신호를 뽑아서 쓰는데요.

SLTX를 쓰면 본체를 개조할 필요가 없습니다. /SLTSL 신호를 직접 생성해서 사용합니다.


SUB 3,2,1,0 슬롯은 4-SLOT 모드와 동일한 일반 확장슬롯입니다.


EX-SLOT은 4가지 /SLTSL 신호 중에서 선택구동하는 슬롯입니다.

마스터 보드의 딥스위치를 통해 신호를 선택할 수 있습니다.

ON :ON  = RSV 2 (슬롯 핀16번 입력신호)

ON :OFF = RSV 1 (슬롯 핀5번 입력신호)

OFF:ON  = SLOT 2 (SLTX 내부생성 신호)

OFF:OFF = SLOT 1 (SLTX 내부생성 신호)


보통 확장슬롯 기기를 본체의 후면 슬롯에 연결하는 경우가 많은데요.


예를 들어,

SLTX를 GT 후면 슬롯(SLOT 2)에 연결하고, EX-SLOT을 SLOT 1으로 사용가능합니다.

이 때, GT의 상단 슬롯(SLOT 1)은 EX-SLOT과 같은 슬롯번호가 되니까, GT의 슬롯은 비워둬야합니다.


다른 예로,

SLTX를 X-II의 후편 슬롯(SLOT 3)에 연결하고 EX-SLOT을 SLOT 1으로 선택하면,

본체의 전면 슬롯을 비워두고 사용가능합니다.


만약 본체를 개조해서 RSV1, RSV2 핀을 /SLTSL로 출력하고 있다면,

EX-SLOT을 RSV1, RSV2 신호로 선택해서 쓸 수 있습니다.


또 다른 예로 ㅎ.ㅎ;

본체의 SLOT 0가 확장되어 있고 SLOT 0-2가 비어있는 상태인데, 이걸 EX-SLOT으로 뽑아내려면?

SLOT-OUT 출력으로 SLOT 0-2를 설정하고, 해당 SLOT-OUT 신호를 EX-SLOT의 RSV핀으로 선택하면 됩니다.

참고로 SLOT-OUT0는 RSV1으로 출력되고, SLOT-OUT1은 RSV2로 출력됩니다.

글로 적으니 좀 복잡한데, 머리속으로 그림을 한번 그려보셔요~ ㅎ.ㅎ



4. 10-SLOT 모드




마스터 보드에 슬레이브 보드 3개를 연결한 형태의 모드입니다.

사실 슬레이브 보드를 4개,5개,,, 계속 연결해도 10-SLOT 모드가 됩니다.

실제로 이렇게 쓰일 경우는 없겠지만...

4번째 슬레이브 보드부터는 해당 보드의 슬롯 커넥터는 전부 I/O SLOT으로만 동작합니다.

참고만 하세요~


7-SLOT 모드와 비슷하게 동작이 됩니다.

EX-SLOT에서 선택한 슬롯이 확장이 된다는 것이 차이입니다.

그러니까, SLTX를 GT의 후면 슬롯에 꽂고 EX-SLOT을 SLOT 1으로 선택하면,

통상의 확장슬롯 두개를 SLOT 1,2에 각각 꽂은 것과 비슷한 환경이 되는거지요.


만약 EX-SLOT을 RSV1, RSV2로 선택했을 때는

해당 신호가 기본 슬롯의 /SLTSL 신호가 아니라면, EX-SLOT가 확장슬롯이 되진않습니다.

EX-SUB 0 외의 1,2,3 슬롯은 그냥 I/O SLOT으로 동작하겠죠.



여기까지 각 동작 모드를 간단히 적어보았습니다.

대충 감이 오시죠? ㅎ.ㅎ



근데, 동작 모드를 부팅 중에 바꿀 수 있다고 했는데 기억하시나요? (글 앞부분에 있어요)

예를 들어 평소에는 슬레이브 보드 3개를 연결해서 10-SLOT 모드로 쓰다가,

뭔가가(?) 필요할 때, 7-SLOT 모드로 변경해서 EX-SLOT을 확장슬롯에서 기본슬롯으로 바꾼다거나..

그런걸 할 수 있어요.


그러면, 아래 사진처럼 슬롯 설정이 되겠네요.

7-SLOT에서 쓰는 슬롯 커넥터 외에는 모두 I/O SLOT으로 변경됩니다.




10-SLOT의 EX-SUB 3 자리가 EX-SLOT 기본슬롯으로 바뀌는데요.

기본슬롯과 확장슬롯에서 동작이 바뀌는 카트리지를 활용할 때 유용합니다.


paraMSX-R이 대표적인 예가 되겠네요.

요놈은 원래의 머신에뮬 기능을 쓰려면 기본슬롯에 꽂아야합니다.

만약 확장슬롯에 꽂으면 머신에뮬을 쓰지 못하기 때문에,

기동롬(STARTUP ROM)에서 paraMSX-R을 메모리매퍼 2048KB로 동작 모드를 바꿔줍니다.

그러니까 그냥 2MB 매퍼램팩이 되는거죠.


근데 이 때는 카트리지 구조가 바뀌니까 소프트 리셋도 함께 해줍니다.

결국 EX-SUB 3 자리에 꽂아두면, 부팅할 때마다 소프트 리셋을 한번씩 하게되겠죠.

설명이 길었지만...

진짜 메모리가 필요한 경우(대용량 VGM 재생 등)가 아니라면 잘 안썼다는 얘기입니다.


근데 이걸 SLTX가 미리 관리(?)를 해주면 편하게 쓸 수 있지않을까요?

평상시에는 paraMSX-R을 메모리매퍼 2048KB로 쓰고 소프트 리셋은 안해도 되도록~

paraMSX-R의 에뮬모드를 쓸때는 10-SLOT에서 7-SLOT모드로 바꾸고 EX-SLOT을 기본슬롯으로 구동~


사실 이 시나리오 때문에, SLTX의 요상한 구조가 만들어졌다고 보시면 맞습니다ㅋㅋ

실제로 동작 모습은 이렇습니다.


> 10-SLOT 모드에서 paraMSX-R가 메모리매퍼로 구동




> 7-SLOT 모드에서 paraMSX-R가 기본 모드로 구동





그럼, 다음편에서 뵙겠습니다요~ ㅎ.ㅎ/


2019년 9월 24일 화요일

SLT-X 제작 #1 - 확장슬롯의 재구성 (2탄?)

10년전에 같은 제목으로 글을 올린적이 있는데, 기억하시는 분 계실지 몰겠네요.


그게... 요놈 얘기였는데요.





이제부터는 돌아온 "확장슬롯의 재구성" 이야기입니다. ㅎ.ㅎㅋ

GT와 동고동락하던 확장슬롯이 맛이 가는 바람에 새로 만들어야하는 상황에 놓였습니다.

지금은 이런 모습입니다. 미라...같네요ㅋ





기존 기기는 기본 확장슬롯(SUB 4슬롯) + RSV 5핀/16핀 두개를 /SLTSL로 추가한 6슬롯이었지요.

이번에는 조금 다르게 만들어보려고 합니다.

그동안 제작된 주변기기들을 좀 더 편하게 쓰려는데에 목적이 있다고 보심되겠네요.


주변기기들을 떠올려보면...

 필수기기는 MMC/SD Drive, SCC-I, FontPack, MPX, RS-232C, MoonSound,

 기본슬롯을 써야하는 paraMSX-R,

 본체슬롯에 꽂아야 각이 나오는 PAC-V,

 가끔 한번씩 꽂아보는 게임팩 및 듀얼 MMC/SD V4...

주로 쓰는건 이 정도네요.


기존 환경(GT + 6슬롯확장)에서 가장 불편했던 점은,

1. 본체 슬롯(SLOT 1)을 독점해야하는 PAC-V와 paraMSX-R가 경쟁

2. PAC-V로 인한 SLOT 1의 낭비? (기본슬롯 한개를 독점)

3. DOS2 + M + VGMPLAY 활용으로 램 소모가 많은 경우, 외부 매모리매퍼램이 추가필요


참고로 오디오 증폭의 경우는 기존 2단,3단 증폭만으로도 충분했기 때문에...

요건 그대로 가려고 합니다.



그럼 이제 머리를 좀 굴려봅시다요~


1) 불편사항 1,2번을 해결하는 가장 간단한 방법은 뭘까요?

본체의 기본슬롯인 SLOT 1 신호를 외부 확장슬롯에서 사용하고,

본체에 남은 슬롯은 SLOT 0-1 용도로 쓰는 것이죠.


사실 처음 구상할 때는...

확장슬롯에서 SLOT 1-0, 1-1, 1-2, 1-3의 /SLTSL 신호를 만든 후

SLOT 1-0 신호를 확장슬롯에서 본체쪽으로 보내서 PAC-V가 본체 슬롯에서 구동하는 식이었어요.

RSV1,2 핀의 입출력을 반대로 활용하는 방식입니다.

(글로 적어서 이해하기 좀 힘드실지도 모르겠네요)


이 방법 보다는 그냥 확장슬롯은 SLOT 1-0...1-3 전체를 그대로 쓰고,

본체에 꽂는 카트리지(PAC-V)가 SLOT 0-1신호를 독점하는게 더 나은 방법으로 생각되었습니다.


확장슬롯에서 본체로 /SLTSL 신호를 보내는 기능 자체는 들어가겠지만,

X-II 등의 다른 기종에서 더 유용하게 쓸 수 있을까 생각이 되네요.


여담이지만, PAC, FMPAC는 SLOT 0-x에 존재하더라도 대부분의 S/W에서 잘 인식됩니다.

OPLL 사운드(MSX-MUSIC)는 본체 내장할 때, SLOT 0-x 또는 SLOT 3-x에 들어가기 때문이거든요.



2) 확장슬롯에서 SLOT1,2 모두 확장할 때 고려사항


SLOT1,2가 모두 확장되면, 불편사항 3번은 그냥 사라지게 됩니다.

슬롯이 늘어나면 매퍼램 카트리지를 추가하는데 불편함이 없으니까요~


근데 SLOT 1,2 모두 확장해버리면 또 다른 불편함이 생길 수 있겠죠?

기본슬롯이 필요한 경우도 종종 있으니까요.

기기 제작 후 테스트 할 때도 기본슬롯/확장슬롯 테스트도 필수이겠구요.


고민끝에 내린 결론은 확장슬롯의 동작모드를 다양하게 만들어보자...입니다.

- 본체 물리슬롯에 연결된 확장슬롯(기본 4슬롯)

- 기본슬롯 SLOT 1(1슬롯) + 물리 확장슬롯(4슬롯)

- 확장슬롯 SLOT 1(4슬롯) + 물리 확장슬롯(4슬롯)


물리슬롯이라고 쓴건 실제 본체에 연결된 슬롯번호를 의미합니다.

GT 후면 슬롯이라면 SLOT 2가 되겠구요. X-II 후면 확장BUS라면 SLOT 3이 되겠네요.


그리고 동작 모드도 많고 기타 설정도 많아지면, S/W로 설정을 바꿀 수 있는게 좋겠네요~ ㅎ.ㅎ



3) 실제 모습은 어떻게?


일반 카트리지 용 보드를 만드는 경우라면 업계 표준인 OVERRICH 케이스에 맞추면 땡입니다.

확장슬롯은 사이즈가 크니까 케이스를 따로 만들어야겠죠?

근데 이쪽은 제 능력밖이라..ㅋㅋ

그래서 보드 사이즈를 작게 만들고 OVERRICH 케이스를 이용해서 합체/분리하도록 디자인했습니다.

마스터 보드 1개 + 슬레이브 보드 N개를 결합하는 방식입니다.

본체와 연결하는 50핀 IDC케이블은 마스터 보드 뒷쪽에 연결이 됩니다.


케이스는 OVERRICH 케이스의 뒷면 반쪽에 보드를 얹는 형태가 됩니다.

보드 두개가 합체되면 이런 모습입니다.

마스터 보드 + 슬레이브 보드 1개로 완성된 기본 확장슬롯 모드입니다.





카트리지를 뒤집으면 요렇게 되어있어요.





마스터 보드 + 슬레이브 보드 3개가 결합되면 10슬롯이 됩니다.

확장슬롯 2개(8슬롯)에 추가 2슬롯이 되는 모드입니다.





그럼 다음편에서 뵈겠습니다요~ ㅎ.ㅎ/


2019년 9월 2일 월요일

FS-A1GT YM2413 (OPLL) 출력 개조

밀린 숙제나 한번 해봅니다~ ㅎ.ㅎ


아마 이건 예전에 얘기가 한번 나왔던거라 기억하시는 분이 많으실겁니다.

터보알 기종(A1ST/A1GT)의 OPLL 출력단은 캐패시터 용량이 레퍼런스 회로와 좀 다르게 되어있는데요.

레퍼런스 회로는 아래 YM2413 Application Manual 기준입니다.





참고로 아래는 FMPAC의 회로 일부분입니다.

(출처 http://www.ejunkelec01.shop/FMPAC_02a.pdf)

MSX2+ 기종(A1WX)도 마찬가지입니다.






위의 두 회로를 보면 MO, RO 사운드 출력에 0.015uF 캐패시터가 들어갑니다.


근데 turboR은 0.033uF으로 들어있어요.

ST/GT의 회로도에는 아래처럼 되어있습니다.





이것 때문에 기존 MSX2+의 OPLL 소리보다 좀 먹먹(?)하게 들린다는 얘기가 있었어요.

실제로 들어보면, A1 + FMPAC 또는 A1WSX에 비해 A1GT가 약간 답답하게 들리긴합니다.


참고로, 저항 + 캐패시터가 Low pass filter 역할을 하게 되는데,

캐패시터 용량이 작아지면 cutoff 주파수가 올라가니까, 고음이 더 크게 들리게 됩니다.


구글링 해보니 일본 아자씨도 요걸 0.015uF으로 바꾸는 개조를 하더라구요.

그.래.서. 저도 뚜따를 했습니다.

이거 개조하려면 메인보드 아랫쪽의 부품을 교체해야되서, 좀 귀찮아요...

(그 땜에 작업을 2년이나 미뤘다는 전설이..ㅋ)



아래 사진에서 보이는 캐패시터 두개를 교체합니다.





칩은 디바X스 마트에서 구입했습니다. ㅎ.ㅎㅋ





아래는 교체 후 찍은 사진입니다. (검댕이가 좀 붙어있네요ㅋ)






교체 후 들어오니 조금 변화가 있는 것 같으네요. (플라시보 효과?)

제대로 비교하려면 WSX랑 GT 출력을 녹음해서 봐야겠지요. 귀찮아서 포기 ㅎ.ㅎb


그럼, 즐거운 월욜밤 되셔요!