2015년 8월 23일 일요일

FontPack 제작 #6 - ANSI 스크린

FontPack....

M, HV 프로그램 외에는 활용하는 프로그램이 없어서 심심하셨죠? 아니라구요? 음... ㅎ.ㅎㅋ


이번에는 ANSI escape 코드를 지원하는 스크린 드라이버를 구현해봅시다.

참고로 ANSI 코드(ANSI escape sequences)는 아래 링크에서 확인할 수 있습니다.

궁금하신 분을 클릭하셔요.

http://ascii-table.com/ansi-escape-sequences.php


대강 요렇게 구현되겠습니다.

- 스크린7(VDP G6), 인터레이스 모드

- CP949 코드, 6x12(영문), 12x12(한글) 폰트

- 화면 사이즈는 85컬럼 35라인

- MSX-DOS 모드 지원 (스크린7)


아래는 보너스 모드입니다.

- 스크린6(VDP G5), 인터레이스 모드

- CP949 및 조합 코드, 8x16(영문), 16x16(한글) 폰트

- 화면 사이즈는 64컬럼 24라인

- MSX-DOS 및 BASIC 텍스트 모드 지원 (Fake 스크린0)


문자 입출력 관련 Hook으로 구현되기 때문에 호환성 문제가 생길 수 있습니다.

따라서, 기본으로 OFF 상태로 부팅하도록 합니다.

ANSI 스크린 설정은, 아래처럼 DOS 용 프로그램 또는 BASIC의 CALL 명령을 사용합니다.



아래는 실제로 구현/동작하는 영상입니다.

아직 ANSI 코드, BASIC 지원이 100% 완료된 상태는 아니구요, 기본 기능 몇가지만 구현된 상태입니다. 참고하셔요~




2015년 8월 9일 일요일

R800-DR 수정판 - turboR 디스크 동작 시, CPU 모드 고정

MSXturboR은 기존 MSX 3.58MHz 호환성을 높이기 위해,

VDP, OPLL, 외부 롬 액세스 시, HW적으로 delay를 넣고 있습니다.


일반적으로 FDD의 HW IO 처리는 해당 디스크롬 내부 SW로 구동이 되는데요.

이 때는 turboR이 강제적으로 HW delay를 넣을 수가 없기 때문에,

turboR DOS2 루틴에서 CPU 모드를 Z80으로 몰래 바꿔서 처리합니다.


이 때문에 디스크 속도가 느려지게 되는데, 이 문제를 해결하는 프로그램이 R800-DR 입니다.

특정 드라이브 액세스 시, Z80 모드로 전환하지 않고 R800 모드 그대로 동작하도록 해줍니다.

DOS2CASH, LUNA 등의 디스크 캐쉬 프로그램도 동일한 기능을 갖고 있지만,

FAT16 드라이버와 함께 쓸수가 없어서 무용지물이죠.


첨부된 R800-DR은 제가 약간 수정한 버전입니다.

원래 버전은 드라이브 A,B만 Z80모드 사용하고 그 외는 R800 모드로 고정되어있는데,

수정한 버전은 드라이브 별로 Z800/R800 모드를 설정할 수 있습니다.




원본 코드 및 수정 버전(소스 포함) 모두 첨부했습니다.

필요하신 분 받아서 테스트해보셔요.

Download: R800-DR_MOD_20150809.ZIP

Download: R800-DR_ORG.ZIP


argument는 순서대로 드라이브 ABCDEFGH 의 모드를 설정합니다.

1이면 Z80으로 되구요. 0이면 R800 그대로 동작입니다.

참고로, MMC/SD 및 램디스크 드라이브는 R800 모드로 잘 동작합니다.


아래는 MMC/SD는 32MB, 램 디스크는 512KB 용량에서 DOSSCAN 테스트 결과입니다.

Z80 전환안하면 무지 빠릅니다. ㅎ.ㅎb


R800-DR 사용 않을 때,

MMC/SD = 145KB/sec

램 디스크 = 128KB/sec


R800-DR 사용 할 때,

MMC/SD = 238KB/sec

램 디스크 = 512KB/sec


아래는 R800-DR 코드 관련 참고한 내용입니다.

http://www.msx.org/forum/msx-talk/software-and-gaming/r800dr-dos




2015년 8월 1일 토요일

M File Manager v2.0 for MSX-DOS2


Download: M_v2.0_20150801.zip


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

    M v2.0 (MSX-DOS2용 파일 매니져 2015.08.01)

        By 서영만 <E-mail:sharksym@hitel.net>

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


* 변경 내용


  - FontPack 카트리지 지원 추가. (한글, 특수문자, 한자)

  - RAM Disk 드라이브 인식 추가.

  - 선택된 파일 갯수 및 용량 표시 추가.

  - 커맨드라인 입력 창, 2줄로 변경.

  - 내장 커맨드 추가.

     #CDD : 드라이브/디렉토리 이동

     #CPU0: turboR Z80 모드

     #CPU1: turboR R800 ROM 모드

     #CPU2: turboR R800 DRAM 모드

  - MPXP/IMSP 재생 시,

     여러개 파일 선택 가능. (곡넘김은 [취소]키 사용)

     turboR LED 레벨미터 기능 추가. (M.INI에서 OFF가능)

     MP3/WMA Bit Rate 표시 추가.



* File manager - M


  M은 MS-DOS에서 널리 쓰이던 Mdir과 비슷한 프로그램입니다.

  파일 관리 및 실행을 도와줍니다.

  인터레이스 고해상도 모드를 사용하며 완성형 한글도 지원합니다.

  넌인터레이스 모드 사용 시에는 8x8 폰트로 표시됩니다.

  (내장 폰트 대신, 외부 파일 로딩 가능. 2048바이트 폰트)



* 요구 사항


  MSX-DOS2가 구동되는 MSX2(VRAM 128KB) 이상의 기종.

  추가 메모리 매퍼 192KB (기본/R800_TR 버전), 128KB (Lite버전)



* 설치


  PATH가 걸린 디렉토리에 압축파일을 모두 풀어넣습니다.

  만약 LITE 또는 R800_TR 버전을 쓰려면 해당 디렉토리 내의

   M.COM, M.OVL 두개 파일을 복사하면 됩니다.



* 사용법


  PATH 걸린 디렉토리에 설치가 되었으므로,

  DOS2 프롬프트에서 M [리턴] 하면 실행됩니다.


  파일 뷰어 상에서의 동작키에 대한 설명은,

   M 실행 후 F1을 눌러 #HELP를 실행하면 볼 수 있습니다.