레이블이 -R800-DR인 게시물을 표시합니다. 모든 게시물 표시
레이블이 -R800-DR인 게시물을 표시합니다. 모든 게시물 표시

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