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까지 문제없고요.

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