Nesizm은 Casio Prizm 시리즈 그래픽 계산기를위한 Nintendo Entertainment System Emulator입니다. 현재 FX-CG10, FX-CG20, FX-CG50 및 그래프 90+ E CASIO 계산기를 지원합니다. Nesizm은 성능을 염두에두고 처음부터 구축되었으며, 필요한 경우 영리한 캐싱, 강제 정렬 및 손으로 작성된 조립으로 가능한 한 정확한 에뮬레이션과 호환성을 유지했습니다. FX-CG50에서 오버 클로킹없이 60fps에서 대부분의 타이틀을 실행합니다.
이 프로젝트는 초기 게임 개발 기술에 대한 관심과 플랫폼으로서 PRIZM의 고유 이점에 관심이 있습니다. 키보드에서 디스플레이에 이르기까지 0 시간의 배터리 수명에 걸쳐 NES를 플레이 할 수있는 대규모 설치 플레이어가 있습니다.
USB를 통해 링크 된 경우 nesizm.g3a 파일 (또는 fx-cg10이있는 경우 nesizm_cg10.g3a)을 Casio Prizm 계산기의 루트 경로에 복사하십시오. NES ROMS (.NES)도 루트 디렉토리 안으로 들어가야합니다. 이 파일의 파일 이름을 간단하고 MyGame.nes와 같이 32 자 미만이어야합니다. 에뮬레이터는 NES 2.0 ROM 형식을 지원하지만 광범위하게 테스트하지는 않았습니다.
메뉴 시스템에서 화살표 키를 사용하고 전환 또는 입력하여 선택하십시오. Alpha를 사용하여 하위 메뉴에서 빠르게 뒤로 물러날 수도 있습니다. 현재 선택된 옵션에 대한 도움말은 오른쪽 상단에 있습니다.
게임 안에 있으면 메뉴 키가 설정 화면으로 종료되고 메뉴를 다시 누르면 계산기 OS로 다시 이동합니다.
설정 메뉴에서 자신의 키를 구성 할 수 있습니다. 제가 잘 작동하는 기본값입니다.
터보 설정을 30 Hz로 설정하면 일부 게임에서는 너무 빠르면 오작동이 발생할 수 있습니다.
두 번째 컨트롤러로 재생하려면 옵션-> 컨트롤에서 REMAP 버튼 옵션을 사용하여 계산기의 다른 버튼에 매핑 할 수 있습니다. 그러나 이것은 매우 번거 롭기 때문에 기본적으로 플레이어 2는 버튼에 매핑되지 않습니다.
단일 저장 상태는 ROM 당 지원되며 컨트롤 섹션에 언급 된 리마핑 가능한 키를 사용하여로드/저장할 수 있습니다. 이 기본값은 계산기의 's'및 'l'키에 있습니다. Save State 파일은 .fcs 확장자를 사용하여 기본 스토리지에 저장됩니다.
이러한 저장 상태는 일반적으로 인기있는 PC NES 에뮬레이터 인 FCEUX와 상충됩니다. 그러나 기본적으로 FCEUX는 저장시 저장 상태에서 압축을 가능하게하므로 저장 상태를 계산기로 다시 전송하려면 FCEUX에서 스테이트 압축을 비활성화해야합니다.
ROM이 Zelda의 Legend of Zelda와 같은 배터리 백업 기능을 사용하는 경우 메뉴 버튼으로 기본 메뉴로 돌아갈 때이 메모리가 자동으로 저장됩니다. Save States를 사용하면 배터리 뒷면 데이터가 완전히 덮어 쓸 것입니다.
화면 스트레치 옵션은 화면의 높은 새로 고침 속도를 사용하여 신호를 연동시킵니다. 이것은 PRIZM에서 약간의 색상 대기 시간이있는 TFT 컬러 화면과 함께 작동하여 눈치 채기가 매우 어렵습니다. 스트레치 옵션을 4 : 3으로 설정하면 원래 게임에 대한 비율과 매우 밀접하게 일치합니다. 그러나 높은 FPS가 필요합니다. 따라서 매우 높은 프레임 스키프 옵션 세트가 있으면 에뮬레이터 비주얼이 화려하게 보이기 시작합니다. 일반적으로 옵션을 매우 높은 프레임 스키프로 설정하는 것은 불필요해야합니다. 계산기 배터리 수명은 프레임 스킵에 의해 크게 영향을받지 않는 것으로 보입니다.
3 개의 팔레트가 포함되어 있습니다. 그들은 모두 조금 다르게 느끼기 때문에 당신이 최고라고 생각하는 것을 선택하십시오. 시대의 TV가 모두 NES의 신호를 약간 다르게 해석 할 수 있기 때문에 NES에 대한 진정한 올바른 색상은 없습니다. 팔레트를 선택하면 밝기 (어두운 환경에있는 경우 매우 낮은 레벨)와 색상 채도 금액을 조정할 수 있습니다. 밝기를 높이면 화면의 밝기가 아니라 사용 된 색상의 상대적인 밝기 만 증가시킬 수 있습니다.
당신이 너무 기울어지면, 맞춤형 팔레트를 사용할 수 있습니다. 온라인에서 쉽게 검색하여 찾을 수있는 192 바이트 팔레트 파일이 있습니다. 원하는 팔레트의 이름을 "Custom.Pal"으로 바꾸고 파일 스토리지의 루트 디렉토리에 포함하십시오. 이 시점에서 4 번째 팔레트 옵션으로 선택할 수 있어야합니다.
4 개의 배경 옵션을 사용할 수 있습니다. '워프'배경은 메인 메뉴와 일치합니다. TV 배경은 특히 작은 화면 스트레치 모드에서 향수적인 오래된 TV 배경을 제공합니다. 게임 BG 색상 옵션은 현재 선택된 게임 배경 팔레트 색상과 일치합니다. 이것의 사용은 게임마다 다르지만 Super Mario Bros의 Blue/Black 배경 선택과 같이 일부에서는 잘 작동합니다.
시간을 추적 해야하는 경우 게임 내 시계를 화면의 오른쪽 하단에 선택적으로 표시 할 수 있습니다. 시계는 계산기의 OS에서 일반적으로 사용되지 않으므로 설정이 필요합니다. G-Clock 또는 GBL08MA의 우수한 유틸리티 앱 내부와 같은 타사 앱으로 시계를 설정하십시오.
FPS는 화면 의이 코너에도 표시 될 수 있습니다. 이것은 건너 뛰는 프레임이 아니라 주어진 초에 그려진 프레임입니다. 따라서 40 FPS라고 표시되고 프레임 스킵 옵션이 자동으로 설정되어 있으면 에뮬레이터는 여전히 100% 속도로 실행되고 있지만 화면으로 그리면 프로세싱을 저장할 때마다 3 번째 프레임마다 건너 뜁니다.
에뮬레이터는 문제없이 호환되는 맵퍼를 사용하여 거의 모든 게임을 지원합니다. 진정으로 중요한 문제가있는 게임을 만나면 알려주십시오.
다음은 Mapper 지원 테이블입니다. 에뮬레이터는 MMC5를 제외한 거의 모든 미국 NTSC 및 PAL 매퍼를 지원하며 해당 지역에서 상업적으로 출시 된 게임의 98%를 차지합니다. Famicom 디스크 및 VS 시스템 지원은 계획되지 않았습니다.
맵퍼 이름 | 발행자 | 이름 | 발행자 | 이름 | 발행자 |
---|---|---|---|---|---|
MMC1 | 닌텐도 | 도끼 | 닌텐도 | 난징 163 | 난징 |
MMC2 | 닌텐도 | gxrom | 닌텐도 | 선 소프트 3 | 선 소프트 |
MMC3 | 닌텐도 | bnrom | 닌텐도 | 선 소프트 4 | 선 소프트 |
MMC4 | 닌텐도 | NULL / NROM | 여러 개의 | 선 소프트 5 | 선 소프트 |
MMC6 | 닌텐도 | 컬러 꿈 | 컬러 꿈 | 람보 -1 | 텐겐 |
cnrom | 닌텐도 | NINA-03/06 | Ave | NINA-1 | 이렘 |
uncom | 닌텐도 | 카메리카 | 예 | JF-11/14 | Jaleco |
ROM과 Mappers의 전체 테이블은 여기에서 찾을 수 있지만, 최신 상태로 유지하지는 않습니다.
PAL ROM은 60Hz에서 실행되는 미국과 일본 (NTSC)의 게임에 비해 50Hz의 다른 프레임 속도로 실행됩니다. 이것은 몇 가지 다른 타이밍 차이로 인해 다르게 모방되어야한다는 것을 의미합니다. 불행히도, PAL 게임의 대부분의 ROM 파일은 자신을 PAL 에뮬레이션을 요구하는 것으로 정확하게 식별하지 않습니다. Nesizm을 사용하면 Gamepal.nes와 같은 ROM 파일 이름에 (E) 또는 PAL (All Caps)을 포함하여 PAL 게임을 올바르게 실행할 수 있습니다.
게임 지니 코드는 게임당 별도의 파일을 통해 지원됩니다. Gamename이 ROM 파일과 일치하는 파일 이름 "Gamename.gg"의 텍스트 파일이있는 경우 NES 확장자를 뺀 라인 분리 게임 Genie 코드와 함께, 에뮬레이터는 ROM이로드 될 때 해당 코드를로드하고 사용합니다. 이 작업이 성공적으로 발생하는 메뉴에 대화 상자가 표시됩니다. 계산기의 텍스트 편집기를 사용하여 수동으로 코드를 편집하려면 GBL08MA의 유틸리티 앱을 권장합니다. https://github.com/gbl08ma/utilities에서 찾을 수 있습니다
ROM 파일과 동일한 이름의 TXT 파일이있는 경우 기본 메뉴를 통해 FAQ 뷰어에 게임이로드되는 동안 표시됩니다. FAQ 뷰어는 플레이 할 때 이전 위치를 기억합니다. 화살표 키로 FAQ를 탐색하면 오른쪽의 스크롤 막대를 통해 위치가 표시됩니다. 0-9 키로 파일의 10% 단위를 뛰어 넘을 수 있습니다.
에뮬레이터는 사운드를 완전히 지원합니다. 사운드는 1 비트 사운드가 초당 500,000 배 이상 조정되는 미세 조정 알고리즘입니다. 불행히도 사운드 루틴은 에뮬레이션을 약 20%느리게하지만 프레임 건너 뛰면 너무 나쁘지는 않습니다. Ptune3과 같은 유틸리티를 사용하여 CG50을 오버 클럭하여 사운드로 60fps를 얻을 수 있지만 배터리 배수로 권장하지는 않습니다. 옵션의 사운드 메뉴에서 활성화하십시오. 이를 사용하려면 2.5mm (남성) ~ 3.5mm (암) 어댑터가 필요합니다. 이것들은 다양한 온라인 공급 업체에서 몇 달러를 찾을 수 있습니다. 또한 사운드 신호를 즐기기 위해 귀 헤드폰을 권장합니다.
더 주관적인 일에 대한 추가 품질 옵션을 사용할 수 있습니다. 품질 옵션은 원래 NES와 마찬가지로 DMC 발전기를 기반으로 삼각형 및 노이즈 웨이브 생성기를 줄이고 빠른 변화를 피하기 위해 여분의 낮은 통과 필터를 추가합니다. 그러나 실제로 한 비트 사운드로는 엄청나게 중요하지 않은 것 같습니다.
저의 다른 저장소 인 Prizmsdk는 소스에서 nesizm을 빌드해야합니다. Nesizm 클론을 SDK 프로젝트 디렉토리에 넣으십시오.
Windows 컴퓨터를 구축하려면 NMAKE를 멋지게 설정 한 Visual Studio Community Edition을 사용하여 프로젝트 파일을 사용하는 것이 좋습니다. 다른 시스템은 프로젝트를 컴파일하는 방법에 대한 PRIZM SDK 문서를 참조하십시오. make-devicerelease.bat의 구성 옵션을 참조하십시오.
Visual Studio를 사용하는 경우 Prizm OS 기능을 감싸는 Windows 시뮬레이터를 사용하는 프로젝트가 포함되어있어 코드와 에뮬레이터를 쉽게 테스트하고 Visual Studio 내에서 반복 할 수 있습니다. 사용에 대한 자세한 내용은 prizmsim.cpp/h 코드를 참조하십시오.
http://wiki.nesdev.com/에서 발견 된 Nesdev Wiki는 Nesizm 개발에 매우 유용했습니다. 에뮬레이터를 한 곳에 작성하는 데 필요한 모든 정보를 수집 한 에뮬레이터 개발자 커뮤니티에 진심으로 감사합니다.
http://www.fceux.com에서 발견 된 Fceux는 호환성 문제가있는 게임에 대해 에뮬레이터 상태를 쉽게 비교하고 대조 할 수있는 훌륭한 디버깅 도구를 제공했습니다. PC에서 에뮬레이터를 사용하여 사랑을 보여주세요!
Ti-planet.org의 Critors Nesizm과 일반 Casio 커뮤니티에 대한 그의 훌륭한 글을 제공합니다. 그의 흥분은 전염성이 있습니다!