Sitemize Hoşgeldiniz, Ziyaretçi!

l Kayıt Ol
Tarih: 24.01.2020, 00:34
youtube twitter facebook google+ feedburner
  • Hoşgeldiniz! TsubasaTR 12 Yaşında ! Sizde Üye Olun Aramıza Katılın
  • Site Kuralları Gereği Üye Olduktan Sonra Konu Açıp Kendinizi Tanıtınız.
  • Yardım Menüsünden Bilgi Alabilirsiniz.
  • Site Kurallarını Okuyunuz ve Riayet Ediniz. Tsubasa Türkiye
Captain Tsubasa | Tsubasa Türkiye Platformu > Captain Tsubasa Oyun Bölümü > Captain Tsubasa Oyunları ve Emülatörleri > VirtuaNES Mapper Sorunu >

 Yorum: 0    Görüntülenme: 143
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
 VirtuaNES Mapper Sorunu
01.07.2017, 18:11,
Çevrimdışı
Ateş
Cezalı Kullanıcı Grubu
Katılım: 08.06.2015
Mesajlar : 256
Konular:
Rep Puanı: 1
22
#1
VirtuaNES Mapper Sorunu

Merhaba arkadaşlar, şunu bilmenizi istiyorum. Mapper derdi ilk başlarda pek sorun etmez ama sonradan cidden baş ağrısına dönebilmektedir.

Mapper nedir, önce onu anlatayım. Mapper oynadığınız oyunun ofsetleridir, bu ofsetleri okuyabilmeleri için emülatörlere bir değerler girilmiştir. Bu değerler oyunu açıp oynayabilmeniz içindir.

Meselâ bir oyunu VirtuaNES'te açtınız ve karşınıza 176. mapper unsupported hatası verip oyunu açmamaktadır. Fakat bu tip hatalar FCEUX'te yoktur.

176. Mapper Kaynak Kodu;

Kod:
/* FCE Ultra - NES/Famicom Emulator
*
* Copyright notice for this file:
*  Copyright (C) 2007 CaH4e3
*  Copyright (C) 2012 FCEUX team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
*/

#include "mapinc.h"

extern uint32 ROM_size;

static uint8 prg[4], chr, sbw, we_sram;
static uint8 *WRAM = NULL;
static uint32 WRAMSIZE;

static SFORMAT StateRegs[]=
{
  {prg, 4, "PRG"},
  {&chr, 1, "CHR"},
  {&sbw, 1, "SBW"},
  {0}
};

static void Sync(void)
{
  setprg8r(0x10,0x6000,0);
    setprg8(0x8000,prg[0]);
    setprg8(0xA000,prg[1]);
    setprg8(0xC000,prg[2]);
    setprg8(0xE000,prg[3]);

  setchr8(chr);
}

static DECLFW(M176Write_5001)
{
    printf("%04X = $%02X\n",A,V);
    if(sbw)
    {
        prg[0] = V*4;
        prg[1] = V*4+1;
        prg[2] = V*4+2;
        prg[3] = V*4+3;
    }
  Sync();
}

static DECLFW(M176Write_5010)
{
    printf("%04X = $%02X\n",A,V);
    if(V == 0x24) sbw = 1;
  Sync();
}

static DECLFW(M176Write_5011)
{
    printf("%04X = $%02X\n",A,V);
    V >>= 1;
    if(sbw)
    {
        prg[0] = V*4;
        prg[1] = V*4+1;
        prg[2] = V*4+2;
        prg[3] = V*4+3;
    }
  Sync();
}

static DECLFW(M176Write_5FF1)
{
    printf("%04X = $%02X\n",A,V);
  V >>= 1;
    prg[0] = V*4;
    prg[1] = V*4+1;
    prg[2] = V*4+2;
    prg[3] = V*4+3;
  Sync();
}

static DECLFW(M176Write_5FF2)
{
    printf("%04X = $%02X\n",A,V);
  chr = V;
  Sync();
}

static DECLFW(M176Write_A001)
{
    we_sram = V & 0x03;
}

static DECLFW(M176Write_WriteSRAM)
{
//    if(we_sram)
        CartBW(A,V);
}

static void M176Power(void)
{
    SetReadHandler(0x6000,0x7fff,CartBR);
    SetWriteHandler(0x6000,0x7fff,M176Write_WriteSRAM);
    SetReadHandler(0x8000,0xFFFF,CartBR);
    SetWriteHandler(0xA001,0xA001,M176Write_A001);
    SetWriteHandler(0x5001,0x5001,M176Write_5001);
    SetWriteHandler(0x5010,0x5010,M176Write_5010);
    SetWriteHandler(0x5011,0x5011,M176Write_5011);
    SetWriteHandler(0x5ff1,0x5ff1,M176Write_5FF1);
    SetWriteHandler(0x5ff2,0x5ff2,M176Write_5FF2);
    FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM);

    we_sram = 0;
    sbw = 0;
    prg[0] = 0;
    prg[1] = 1;
    prg[2] = (ROM_size-2)&63;
    prg[3] = (ROM_size-1)&63;
  Sync();
}


static void M176Close(void)
{
  if(WRAM)
    FCEU_gfree(WRAM);
  WRAM = NULL;
}

static void StateRestore(int version)
{
  Sync();
}

void Mapper176_Init(CartInfo *info)
{
  info->Power=M176Power;
  info->Close=M176Close;

  GameStateRestore=StateRestore;

  WRAMSIZE=8192;
  WRAM=(uint8*)FCEU_gmalloc(WRAMSIZE);
  SetupCartPRGMapping(0x10,WRAM,WRAMSIZE,1);
  AddExState(WRAM, WRAMSIZE, 0, "WRAM");
  AddExState(&StateRegs, ~0, 0, 0);
}

Gördüğünüz gibi sisteme yukarıdaki kodla entegre etmişler.

Bu meseleyi bir araştırıp emülatöre nasıl entegre ederiz onu bir öğrenmek lazım.

Ben her iki emülatöründe kaynak kodlarını eklenti olarak koyuyorum, isteyen bakabilir.

https://virustotal.com/tr/file/07c155c1f...498924849/ dosyalar temizdir...


Eklenti Dosyaları
.zip   Mapper.zip (Boyut: 422.4 KB / İndirilme: 5)
01.07.2017, 18:11
Alıntı
« Önceki Konu | Sonraki Konu »
Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi

[ Etiketler: virtuanes | mapper | sorunu ]

Lütfen Giriş Yapın & Kayıt Olun.
Bize Destek Olmak İçin Lütfen Hemen Giriş Yapın & Kayıt Olun
Hemen Kayıt Ol
Sitemize Çok Kolay Bir Şekilde Kayıt Olabilirsiniz. Kayıt olarak birçok içeriğe ücretsiz erişebilirsiniz !
&
Giriş yap
Zaten Bir Hesabınız Var Mı? Giriş yap.

Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  VirtuaNES 0.92 Hatasız NES Emülatörü ジャイロメ59 26 6,935 22.01.2020, 15:40
Son Mesaj: Warcraft
Tema - Template Virtuanes Emulatör Görüntü Kalitesi Ayarlama (2K Yüksek Kalitede Oyunları Oynama) Crazy Striker 6 410 16.11.2019, 00:59
Son Mesaj: Retro Gamer
Üzgün Tsubasa Sega ekran sorunu Captaın Emir 0 138 22.08.2017, 21:16
Son Mesaj: Captaın Emir
  Virtuanes Emulatöründe Video Kaydı Hiena 0 167 19.02.2017, 23:49
Son Mesaj: Hiena
  VirtuaNES 0.97 [Güncel Sürüm] Qawaii 4 1,462 03.03.2016, 21:09
Son Mesaj: NiluferSenpai

Foruma Git:


 

Türkçe Çeviri: MyBBKursu.Com, Kodlayanlar MyBB
© 2002-2020 MyBB Group.
ImAdige theme by IMADIGE © 2015. Thanks For IMADIGE EDIT by AlphaT®.NET TsubasaTR 2007-2019