2016년 8월 31일 수요일

FS-A1GT RAM 1024KB 확장하기

파나소닉 A1GT는 메인램이 512KB입니다.

이걸 두배로~ 1024KB로 개조하는 내용입니다.


저의 A1GT는 2004년 쯤에 램 1024KB 확장해서 지금까지 쓰고 있습니다.

개조하기 앞서, 아래 내용을 꼭 알고 계셔야합니다.


1. A1ST와는 달리, A1GT는 보드 H/W적으로 쉽게 1024KB 증설이 가능하다.

2. A1GT의 메모리 매퍼 레지스터 출력은 6BIT로 16KB x 64 (1024KB)까지 동작한다.

3. A1GT의 메모리 매퍼 레지스터 입력은 5BIT로 16KB x 32 (512KB)까지 동작한다. 


DOS1 시절에 만들어진 프로그램 등의 일부 S/W에서는,

매퍼 레지스터를 읽어서 메인 메모리 용량을 확인하는 경우가 있습니다.

이건 MSX 표준에서는 금지된 것이지만, 대부분의 MSX2 이상의 본체들은 레지스터 읽기를 지원합니다.

이 때문에 기존 A1GT 512KB 상태에서는 동작하던 S/W가 A1GT 램 1024KB 확장 후 동작안되는 경우도 발생합니다.

이 경우, 매퍼 레지스터의 5번 BIT를 별도 H/W로 구현하면 될거라 예상하지만, 실제 테스트해보진 않았습니다.

참고하세요!



그럼 개조 방법 설명입니다.


1. 보드 전면(앞면)

  

- R800 아래 위치한 J302 점퍼를 연결(납땜으로 떡칠!)합니다.


- 기존 DRAM LH64256 칩 4개를 제거합니다.

  저는 기존 DRAM을 제거하지 않고 R373, R372를 분리했습니다.


- DRAM GM71C440 두개를 추가합니다.

  각 칩의 CAS는 보드에 납땜하지 않고 별도의 선으로 서로 연결합니다.

  연결된 CAS는 R373 출력과 연결합니다.


아래는 작업된 보드의 사진입니다.







2. 보드 후면(뒷면)


- R370 저항을 제거합니다. 저는 살짝 때서 옆에 붙여놨어요. (도망 금지~)


- R352의 저항을 때서, R353에 붙여줍니다. 저항을 옮기는거에요.


아래는 작업된 보드의 사진입니다.







여기까지 되면, 부팅 시 1024KB 램 확인할 수 있습니다.

램이 부족한(?) GT를 좀 더 여유롭게 만드시려면 한번 도전해보세요.

사실 별로 어렵지 않습니다만, 보드를 뒷면(등짝!)을 봐야해서 좀 귀찮아요. ㅎ.ㅎ


-끝-


PS. 첨부된 파일은 일본 유저가 만든 램확장 문서입니다. ST/GT 내용 모두 있어요.

Download: FS-A1STGT_1MB_RAM_expansion_(JP).zip


2016년 8월 24일 수요일

PAC-V 제작 #7 - IMSP/MPXP에서 LED 구동

일단 사진 한장 올라갑니요~ ㅎ.ㅎ

M에서 MP3 재생하는 모습이네요.




PAC-V는 본체에서 YM2413(OPLL) 칩을 액세스 하는 순간을 캡쳐해서 LED를 구동합니다.

아래는 OPLL 칩의 레지스터인데요, PAC-V에서 사용하는 부분은 빨간색으로 표시했습니다.




예를 들어, 게임에서 OPLL 채널 0번으로 소리를 낸다면,

30H 레지스터의 악기/볼륨 세팅 후 20H 레지스터의 Key ON을 설정하게 되겠죠?

그러면, PAC-V는 여기에 맞춰, 볼륨 설정에 따르는 LED 출력을 시작하게 됩니다.


기본적으로, PAC-V의 LED는 OPLL 사운드를 들을 때 동작하지만,

사용자가 임의로 LED를 컨트롤 할 수도 있습니다.


OPLL I/O로 사용되는 포트는 7CH, 7DH 두개인데요.

PAC-V는 해당 포트 외 5CH(7CH 미러), 5DH(7DH 미러) 포트를 사용해도 동작이 됩니다.

그러니까 5CH, 5DH 포트를 사용하면 OPLL 소리를 내지 않고도 PAC-V의 LED를 켤 수 있는거죠~



M에 내장된 IMSP와 MPXP 코드에 PAC-V LED 컨트롤을 넣어봤습니다.

IMS 음악은 원래 11채널이라서, 9채널인 PAC-V로는 마지막 2채널은 표시가 불가능...이라는게 ㅋ

결국 9개 채널의 출력에 따라 출렁이는 LED를 볼 수 있겠습니다요~


MPXP의 경우는 VS1033c 칩의 스펙트럼 애널라이저 플러그인을 사용했구요.

밴드 9개로 설정해서 동작시켰습니다.

참고로 VS1033c은 MPX R1.1 카트리지에 들어있구요. 구버전 MPX R1.0에는 VS1003 칩이 들어있을꺼에요.


아래는 M에 코드 적용 후 구동한 모습입니다.

초반엔 IMS 파일 재생이 나오구요. 후반엔 MP3 재생입니다.




그럼, 즐거운 저녁되셔요~ ㅎ.ㅎ

2016년 8월 21일 일요일

PAC-V 제작 #6 - LED 패턴 셋업

PAC-V의 SRAM에는 FMPAC BIOS 롬, PAC SRAM 데이터, LED 패턴 데이터가 함께 저장됩니다.

이런 데이터를 관리해주는 프로그램이 필요하겠죠?


일단 PAC의 SRAM 데이터는 FMPAC 내장 프로그램으로 세이브/로드 가능하니까,

FMPAC BIOS 롬과 LED 패턴 데어터 관리용 프로그램만 만들면 되겠네요.

그래서 완성된 프로그램이 "PACV.COM" 되겠습니다요~


아래는 실기에서 PACV 프로그램이 실행된 모습이구요.

패턴 데이터를 기기에 다운로드하는 것을 볼 수 있습니다.





1. FMPAC BIOS 롬


FMPAC BIOS는 64KB로 덤프된 롬파일을 로딩하면됩니다.

물론 키티야님의 한글판 BIOS 롬도 로딩가능하겠구요. ㅎ.ㅎb



2. LED 패턴 데이터


LED 패턴 데이터는 *.INI 파일을 사용합니다.

일반 아스키 텍스트 파일이구요.

MSX 또는 윈도의 문서 에디터로 편집이 가능합니다.

PACV.COM으로 로딩하게 되면, 실제 기기에서 사용되는 데이터구조로 변환되어 SRAM에 다운로드됩니다.


아래는 기본으로 쓰이게 될 패턴 파일의 일부분입니다.

#

# PAC-V

# LED pattern data

#

 

# Volume 7 (MAX)

###############################|###############################|

O...............................................................

OO..............................................................

OOOO............................................................

OOOOOO..........................................................

OOOOOOOOO.......................................................

OOOOOOOOOOOO....................................................

OOOOOOOOOOOOOOOO................................................

OOOOOOOOOOOOOOOOOOOO............................................

 

# Volume 6

###############################|###############################|

................................................................

O...............................................................

OO..............................................................

OOOO............................................................

OOOOOO..........................................................

OOOOOOOOO.......................................................

OOOOOOOOOOOO....................................................

OOOOOOOOOOOOOOOO................................................

 

# Volume 5

###############################|###############################|

................................................................

................................................................

O...............................................................

OO..............................................................

OOOO............................................................

OOOOOO..........................................................

OOOOOOOOO.......................................................

OOOOOOOOOOOO....................................................

 



볼륨 7,6,5,4,3,2,1,0 순으로 패턴이 저장되어있습니다.

각 볼륨은 가로 64문자 x 세로 8문자의 패턴으로 구성이 됩니다.

패턴의 가로축은 시간(애니메이션 프레임), 세로축은 LED 바의 8개 불빛을 나타냅니다.

모양을 보시면 시간이 지날수록 LED가 아래쪽으로 꺼지면서 사라지는 형태라는 걸 알 수 있지요?

'O' 문자는 LED ON, '.' 문자는 LED OFF를 의미합니다.


LED 패턴은 약 54Hz 속도로 애니메이션됩니다. 초당 54프레임이니까 부드럽게 보일꺼에요.

64개의 프레임을 표시가능해서, 약 1.2초 정도 동안 LED로 출력됩니다.

데이터가 모든 LED OFF 상태가 되면 애니메이션이 멈추게 되구요.

만약 64개 데이터 모두 LED OFF 상태없이 세팅이 되면, 애니메이션이 멈추지않고 반복됩니다.


아래는 사인파 형태의 패턴인데요.

한번 켜면 멈추지않고 움직이도록 만든 데이터입니다.


#

# PAC-V

# LED pattern data

#

 

# Volume 7 (MAX)

###############################|###############################|

OOOOOOOOOO......................................................

..........OOOOOO..........................................OOOOOO

................OOO....................................OOO......

...................OO................................OO.........

.....................OO............................OO...........

.......................OOO......................OOO.............

..........................OOOOOO..........OOOOOO................

................................OOOOOOOOOO......................

 

# Volume 6

###############################|###############################|

O.OOOOOO.O......................................................

OOOOOOOOOOOOOO.O..........................................O.OOOO

OOOOOOOOOOOOOOOOO.O....................................O.OOOOOOO

OOOOOOOOOOOOOOOOOOOOO................................OOOOOOOOOOO

.....................OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...........

.......................O.OOOOOOOOOOOOOOOOOOOOOOOO.O.............

..........................O.OOOOOOOOOOOOOOOOOO.O................

................................O.OOOOOO.O......................

 




어떻게 동작되는지 아시겠지요? ㅎ.ㅎ


그럼 실기로 돌려본 영상으로 구경하셔요~

FMPAC BIOS 롬(원판/한글판) 다운로드 및 4가지 LED 패턴 데모,

마지막으로 사인파 형태의 무한반복 패턴으로 끝이납니다.





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


2016년 8월 19일 금요일

PAC-V 제작 #5 - 볼륨 및 드럼 채널 구현

이번엔 LED 막대기 크기를 실제 채널 볼륨에 맞춰서 보여주도록 해보았습니다.

OPLL(YM2413)은 채널 출력이 9개입니다.

각 채널 볼륨은 4BIT 설정이라 16단계로 설정이 가능하지만...

PAC-V의 LED는 채널 당 8개가 들어있으니, 약간 몽당연필스러운 모습이 되겠습니다요. ㅋ


아래는 동작 중 찍은 사진입니다.





아시다시피 OPLL은 아래 두 가지 출력모드가 있습니다.

1. 9개 채널의 멜로디 악기

2. 6개 채널의 멜로디 악기 + 리듬 악기 (드럼)


만약 리듬 악기를 쓰게 되면, 3채널 LED 표시부가 놀게(?) 되는데요.

이걸 어떻게 표시하면 보기 좋을까 생각하다가, 아래처럼 3가지 출력으로 나눴습니다.

1. 베이스 드럼

2. 스네어 드럼

3. 탐탐 / 탑 심벌 / 하이햇


아무래도 베이스/스네어 드럼이 소리가 크게 나오니까, 따로 표시하는게 보기가 좋더라구요. ㅎ.ㅎ

아래는 실제 동작 중 찍은 사진입니다.

카메라 플래쉬가 밝아서 잘 안보이지만, 리듬모드 상태에서는 오른쪽 아래에 녹색 LED가 켜지게 됩니다.




그럼 동작 영상을 한번 보시지용~ ㅎ.ㅎ

MuPlay 구동 영상이 대부분이구요. 마지막에 CALL FMPAC으로 내장 프로그램 동작도 넣어봤습니다.




이제 PAC-V의 H/W 부분은 완성입니다.

나머지는 LED 패턴 로더 등의 S/W 작업이겠네요.


그럼, 이만~~ ㅎ.ㅎ


2016년 8월 15일 월요일

PAC-V 제작 #4 - LED BAR 동작 테스트

일단 사진 한장 나갑니다~ (설정샷? ㅎ.ㅎ)





주문한 PCB가 배달이 되었습니다.

지난 주말을 전기인두와 함께 화끈하게~ ㅎ.ㅎ;;


슬롯 커넥터가 있는 보드는 사이즈가 아담하고 좋네요.

(요것만 넣고 그냥 PAC으로 써도 괜찮으려나요.)




부품들을 하나씩 붙여줍니다.

작은 애들 먼저, 큰 애들은 나중에~!




아래는 이번 납땜 노가다의 하이라이트가 되겠습니다. ㅜ.ㅜ

LED 바 보드인데요. 9개의 어레이 저항을 배치할 공간이 나오지 않아서, LED 바 아래쪽에 겹치도록 구성했어요.

근데, 이게 실제로 납땜해보니 쉽지가 않더군요. 위에 얹은 LED 바 역시 삐뚤삐뚤 -_-

보드 뒷면에 부품을 붙일 수 있으면 좋겠지만, 보드가 케이스 바닥에 거의 붙어서 공간이 나오질 않습니다.

어레이 저항 대신, 그냥 SMD 칩 저항으로 도배하는게 나을뻔했어요.

암튼 열심히 붙였습니다. ㅋㅋ




메인 보드는 합체/분리 가능하도록 핀헤더 소켓을 달았습니다.

LED 바 보드가 동작안하면 분리해서 디버깅할 수 있겠지요.




아래는 합체한 모습입니다.보드 두 장 사이 공간은 11mm 정도 되네요.

이 상태로는 절대 케이스에 못들어갑니다. 본체 슬롯에도 못 들어가겠구요.ㅋ

하지만 동작 테스트는 확장슬롯으로 가능합니다.




일단 LED가 켜지는지 확인해봅니다.

간단하게 CPLD를 코딩해서~ 으흐흠...

역시 한방에 안되네요. 안켜지는 LED가 4개군요. 72개 중 4개 불량이면 납땜이 괜찮은 수준일까요?!




저~~~기 위에 사진에서 보셨겠지만, LED 바와 아래쪽 어레이 저항 부분은 납땜 실수하면 다시 수정이 불가능합니다.

연결안된 LED 4개는 저항을 따로 연결해서 수정해줍니다.

9핀 어레이 저항은 내부에 저항이 8개 들어있어요. 참고하셔요.




다시 동작 확인!!

다행하게도 잘 켜지네요. ㅎ.ㅎ




이제 본격적으로 LED를 돌려(?)봐야겠지요?

OPLL 각채널의 볼륨은 MAX로 가정하고, 채널 ON/OFF에 따라 막대기가 출렁이도록 만들어줍니다.

LED 표시 데이터들은 SRAM에 테이블로 만들어져서 들어가게되겠구요. (현재는 간단하게 일자 작대기로 ㅎ.ㅎ)

CPLD는 메인 CPU가 카트리지를 액세스 하지 않는 타임에 살짝살짝 끼어들어서, LED 출력을 재설정하는 방식으로 동작합니다.


진도를 너무 많이 나가면 머리아프니까 이쯤에서 동작 영상을 한번 찍어봤습니다.

싸이코월드 오프닝 영상입니다. FM 사운드에 맞춰 LED가 출렁이는 모습을 보시면 되겠습니다요~

확장슬롯에서 동작하는거랑 영상 같이 찍으려고, 작은 LCD 모니터에 연결했어요.

(S비디오 연결이지만 화질은 별로입니다. ㅋ)





내친김에 보드 한장 더 만들었어요.

이번엔 케이스에 넣을 수 있도록 핀헤더로 두장을 가깝께 붙였습니다.





요렇게 하면 케이스에 쏘~옥 들어갑니다. 케이스 칼질 안해도 되니까 좋네요. ㅎ.ㅎ

맛탱이님의 검정색 투명 케이스인데요. 파란색 케이스에 넣어도 아마 괜찮을 것 같아요.




그럼 다음편을 기대해주셔요~ ㅎ.ㅎ


2016년 8월 10일 수요일

PAC-V 제작 #3 - 보드를 그려보아요~

목표는 "맛탱이님의 케이스를 가공없이 그대로 사용하자"입니다.


외부 스위치는 없구요! ㅎ.ㅎ; 2색 LED 하나 들어갑니다. (빨강/초록)


문제는 LED 바 부품인데요.

요게 높이가 8mm 가량되기 때문에 그냥 보드에 실장하면, 케이스가 닫히지 않습니다.

뭐, 케이스를 잘라내면 되긴하겠지만 LED 표시부가 워낙 넓어서 안좋을 것 같아요.

그래서, 보드를 두장 붙여서 만들어보렵니다.


CPLD, SRAM, 충전지 등의 일반 회로가 들어가는 기본 보드를 작게 하나 만듭니다.

아래처럼 생겼어요. ㅎ.ㅎ

참, 오른쪽의 2색 LED는 OPLL 리듬모드 표시, PAC SRAM 동작 표시 용으로 쓰이게 됩니다.




그 다음은 LED 바를 장착할 보드 되겠습니다.

지하(?) 층 정도 되겠네요. ㅎ.ㅎ

케이스 나사 박는 부분은 구멍을 크게 뚫었습니다. 케이스 바닥에 찰싹 붙을 수 있도록이요!

LED 바 9개는 윗층(?) 보다 높게 올라오게 되겠구요.

나머지 부품(LED 표시용 버퍼)은 두개 보드 사이에 위치하게 됩니다.




보드 두장은 핀헤더로 서로 연결됩니다.

왼쪽 20핀(SV1, SV2)으로 주 신호가 들어가게 되겠네요. 오른쪽 JP1(2핀 GND)은 보드 지지대 용으로 넣었습니다.

모양이 대충 그려지시나요? ㅎ.ㅎㅋ


보드가 한방에 동작되어야 할텐데... ㅋ

그럼 다음 시간에 뵙겠습니다요!