2009년 6월 28일 일요일

MMC/SD Drive V2 - BIOS 전면개편

간만에 바이오스 수정계획을 잡아봤습니다.

사실 며칠 작업해서 50%정도 진행되었네요.

 

처음 생각은 기존 바이오스 유틸과 호환되는 수준에서 고치려고 했는데,

제한된 부분이 너무많아 그냥 호환 무시하고 만들고 있습니다.

 

아래가 바뀌게 되는 부분입니다.

 

- 바이오스(v3.10)에서 테스트 결과, 추가된 BASIC'N 동작에 문제가 많아서, 빠지게 됩니다.

  CALL 명령이 DOS1,DOS2,KANJI,BASIC'N 뱅크 스위칭되면서 이리저리 꼬이더군요.

  결론은 포기~ ㅎ.ㅎ

 

- DOS2와 묶여있던 KANJI 드라이버는 그대로 동작하도록 해놨습니다.

  물론 한자롬이 없는 시스템에서는 의미가 없지만,

  포트I/O로 된 한자롬 액세스를 메가롬 액세스로 패치할 여유가 될지도 모르겠습니다.

  어쨌거나 우선순위 꼴찌에 놔둡니다요.

 

- MMC/SD 카드는 16MB~2GB까지 지원합니다.

  기존 디스크 관리에서는 256MB까지가 한계였습니다. (FAT16모드 제외)

  이것 때문에 메모리카드 관리 구조를 몽땅 바꿔야해서 기존롬과 호환안됩니다.

 

- 많은 수의 디스크 관리를 위해서,

  디스크 매니져에서 폴더(그룹)를 사용합니다.

  파티션 정보는 기존 DISKMAN.DAT를 쓰지않고, 카드의 따로 할당된 영역을 사용합니다.

 

- MMC/SD 시스템 첫 인스톨시, 파티션 초기화를 DISKMAN이 하던 것을 바이오스가  하도록 수정되었습니다.

  파티션 초기화 안한상태로 윈도에서 DISKMAN구동시 인식불가되던 것도 사라지겠지요.

  그 외 유틸 내부적으로 수행되던 부분들이 바이오스 루틴으로 많이 옮겨졌습니다.

  결과적으로, 유틸과 바이오스의 버전 충돌도 인한 디스크 손상을 좀 줄일수 있을 듯 합니다.

 

- 파티션에서 기존 디스크 포맷은 1DD부터 23MB까지 많은 종류를 넣었는데요.

  활용도가 낮아서, 아래 4가지 포맷만 지원합니다.

  1DD(360KB), 2DD(720KB), HD(23MB),  HD(32MB)

  HD(32MB)는 DOS2에서만 쓸수 있습니다. DOS1에서는 용량 인식이 제대로 안되서 못씁니다요.

  (왜그런지는 저도 몰라요.ㅋ)

 

- 드라이브 4개 할당되는 것은 기존과 동일합니다.

  대신 드라이브 B를 내장 플래쉬디스크 대신, 메모리카드에 파티션 하나를 만들어서 쓸 수 있습니다.

  DOS 동작중에 내장디스크와 교환 가능합니다.

 

- 기존 디스크(파티션) 관련 유틸인

  DISKMAN, DSKCOPY, DISKEXE는 DISKMAN 하나로 통합됩니다.

  DISKMAN의 UI도 좀더 사용하기 쉽도록 바뀔 예정입니다.

  사실 메뉴얼이 부실해서 그렇겠지만, 기존 유틸의 사용법이 좀 어려웠던 것 같았습니다. ㅋ

 

- 디스크 부팅 옵션을 DISKMAN에서 관리합니다.

  기존의 SCC뱅킹 Disable, 디스크 속도 낮추기 등의 부팅옵션을 저장할 수 있습니다.

  매번 손으로 누르는 수고를 덜어주겠지요.

 

- 멀티-디스크 파티션의 관리가 좀더 편하게 됩니다.

  내부의 디스크 순서를 바꾸거나, 추가/삭제를 할 수 있습니다.

  각 디스크 별로 쓰기방지 기능을 쓸 수 있습니다.

  첫 실행(부팅) 디스크 설정이 가능합니다.

      예) 알레스트2의 경우 멀티디스크 순서가 데모-게임A-게임B 세장으로 되어있다면,

           2번 디스크(게임A)를 디폴트 부팅으로 설정가능합니다. 데모를 보려면 부팅중에 1번으로 바꾸면 되겠지요.

  유저 디스크 선택 옵션이 추가됩니다.

     이건 RunIT이라는 최근 등장한 FDD 에뮬의 기능인데 좋은 아이디어더군요.

     멀티-디스크 중 한장의 디스크를 유저디스크 옵션을 붙여두면,

     디스크 교환시 숫자키가 아닌 'U'키 혹은 특정키로 선택됩니다.

     예) 이스3의 경우, 유저디스크 한장에 게임 하나만 저장하기 때문에

           여러개 저장을 위해 유저디스크 5장을 추가했다면,

           자주쓰는 디스크 한개를 등록해서 쉽게 디스크 교환이 가능합니다.

 

아래는 바뀐 시스템 인스톨 과정을 볼 수 있습니다.

바이오스는 80% 작업이 완료된 상태입니다.

DISKMAN은 새로 만들어야하고요. 윈도용도 만들어야되니, 시간이 좀 걸릴 듯 하네요.

 

혹시, 더 필요한 기능 있으면 알려주세요~ ㅎ.ㅎ