2015년 6월 25일 목요일

FontPack 제작 #4 - 최종 스펙 정리

플래쉬롬의 빈 공간, SRAM, 코드 변환 등, 일주일정도 고민을 해봤는데요...

아래처럼 정리되었습니다. ㅋ


1. 코드 변환 테이블 5개 할당

  - 유니코드 -> CP949

  - 조합코드 -> CP949

  - CP949 -> 유니코드

  - CP949 -> 조합코드

  - CP949 한자 -> 한글독음


2. SRAM 영역 코드로 사용

  - 아스키16 매퍼 1메가롬팩 처럼 구동

  - 도스에서 다운로드 및 실행 


3. 유저 롬(128KB) 추가

 - 플래쉬롬에 유저 영역 128KB 할당.

 - 부팅 시 기본 BIOS 또는 유저 롬 선택 가능.

 - 유저 롬 선택 시, SRAM으로 롬코드 복사되어 실행


4. ASCII 폰트 셋 1개

 - 여러개 넣어봤자 크게 효용이 없을 듯....은 핑계구요.

   CPLD 용량이 꽉차서 -_- 폰트 셋 1개만 사용합니다.

   (8x16 한벌, 6x12 한벌)


그.래.서. 최종 레지스터 맵 나갑니다~ 빠빠빠~~




코드 변환 설정 용, BIT 영역이 좀 늘었구요.

SRAM을 메인 메모리 뱅크로 설정하는 기능이 들어갔습니다.

ASCII 16K 롬을 패치 없이 SRAM으로 로딩/구동이 가능합니다.



아래는 최종 메모리 맵입니다.




처음에 언급했던 USER ROM 영역(128KB) 추가되어있습니다.

사용자 취향에 따라 확장 BIOS롬 또는 일반 아스키16 메가롬 이미지를 넣으면 되겠습니다요.

부팅 시, "F" 키를 누르면, BIOS롬 대신 USER 롬이 구동됩니다.

물론 폰트 IO는 똑같이 동작하겠구요.


BIOS롬은 어떤 기능이 들어가게 될지 아직 정해진건 없습니다.

한글 입력기라던가.... KANJI 드라이버의 디스플레이(인터레이스 모드 등)에 한글 조합이라던가...

정도로 고려중입니다. ㅎ.ㅎ



아래는 코드변환 샘플 프로그램을 실행항 모습입니다

BASIC 프로그램이에요.



Hanja to Hangul 변환은 그냥 한자 음독이라고 생각하시면 되겠습니다.


아래는 실제 프로그램 소스입니다.

IO 포트 핸들링 참고하시면 되겠습니다.




머리털 나고 처음으로 PCB 한번 그려보았습니다.

왜 그렸냐구요? PCB 찍으려구요. ㅋㅋ

Eagle 캐드이구요. 오버리치님 케이스에 맞는 사이즈로 되어있습니다.




보드 오른쪽 공간에 SD카드 자리도 하나 넣었어요.

다른 개발 테스트 용도로...으헙...ㅎ.ㅎㅋ



아래는 PCB 실물 사진입니다.

납땜 실력이 메롱이라, CPLD 붙이는게 힘드네요.



비아홀이 Eagle 캐드 기본설정인데, 사이즈가 너무 크네요. -_-




여기까지입니다~

즐거운 밤 되셔요~ ㅎ.ㅎ


댓글 없음:

댓글 쓰기