It is currently Sun Nov 19, 2017 2:48 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 561 posts ]  Go to page Previous  1 ... 28, 29, 30, 31, 32, 33, 34 ... 38  Next
Author Message
PostPosted: Mon Dec 05, 2016 7:09 pm 
Offline

Joined: Wed Jul 01, 2015 3:21 pm
Posts: 120
Blake5100 wrote:
Can anyone confirm if the Super Mario World hack called "Brutal Mario" works with the inl snes boards? I see people selling reproductions of it so I assume it runs on real hardware, but when I flashed the game and tried it out the snes played the coin sound effect and black screened upon booting up the game. If someone could test out the hack and see if it works, I'd greatly appreciate it!


Yes I have burned both the Japanese and English rom hack of Brutal Mario
viewtopic.php?f=28&t=12963&start=15


Top
 Profile  
 
PostPosted: Tue Dec 06, 2016 1:53 pm 
Offline

Joined: Sat Nov 12, 2016 10:10 am
Posts: 8
Not giving up on dumping PowerJoy via Kazzo.

I've split PRG and CHR of existing PowerJoy ROM and got this as a note:
Program repetition: 1 time(s)
Character repetition: 1 time(s)
Program RAM size: 0KB
iNES format: 1.0
System: NES
Program Banks: 128 (16KB Each)
Character Banks: 128 (8KB Each)
Mapper: 126
Mirroring: Vertical
Trainer: No

Trying to dump PowerJoy with MMC3 script yields SOMETHING - garbled screen but still can scroll up and down the list and switch "pages". Other scripts also yielded something, but MMC3 seems to be the closest. So maybe I'll focus on tweaking the MMC3 script.

I've looked at the script writing tutorial at ungai site (via Google Translate) but there is no mapper 126 in VirtuaNES source so I can't follow along with the script writing tutorial.


Top
 Profile  
 
PostPosted: Tue Dec 06, 2016 2:05 pm 
Offline

Joined: Sat Nov 12, 2016 10:10 am
Posts: 8
Found source code to PowerJoy board in Nestopia source code. Going to see if I can use this.

Code:
////////////////////////////////////////////////////////////////////////////////////////
//
// Nestopia - NES/Famicom emulator written in C++
//
// Copyright (C) 2003-2008 Martin Freij
//
// This file is part of Nestopia.
//
// Nestopia 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.
//
// Nestopia 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 Nestopia; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
////////////////////////////////////////////////////////////////////////////////////////

#include "NstBoard.hpp"
#include "NstBoardMmc3.hpp"
#include "NstBoardBmcPowerjoy84in1.hpp"

namespace Nes
{
   namespace Core
   {
      namespace Boards
      {
         namespace Bmc
         {
            #ifdef NST_MSVC_OPTIMIZE
            #pragma optimize("s", on)
            #endif

            void Powerjoy84in1::SubReset(const bool hard)
            {
               if (hard)
               {
                  for (uint i=0; i < 4; ++i)
                     exRegs[i] = 0;
               }

               Mmc3::SubReset( hard );

               for (uint i=0x6000; i < 0x8000; i += 0x4)
               {
                  Map( i + 0x0, &Powerjoy84in1::Poke_6000 );
                  Map( i + 0x1, &Powerjoy84in1::Poke_6001 );
                  Map( i + 0x2, &Powerjoy84in1::Poke_6001 );
                  Map( i + 0x3, &Powerjoy84in1::Poke_6000 );
               }
            }

            void Powerjoy84in1::SubLoad(State::Loader& state,const dword baseChunk)
            {
               if (baseChunk == AsciiId<'B','P','J'>::V)
               {
                  while (const dword chunk = state.Begin())
                  {
                     if (chunk == AsciiId<'R','E','G'>::V)
                        state.Read( exRegs );

                     state.End();
                  }
               }
               else
               {
                  Mmc3::SubLoad( state, baseChunk );
               }
            }

            void Powerjoy84in1::SubSave(State::Saver& state) const
            {
               Mmc3::SubSave( state );
               state.Begin( AsciiId<'B','P','J'>::V ).Begin( AsciiId<'R','E','G'>::V ).Write( exRegs ).End().End();
            }

            #ifdef NST_MSVC_OPTIMIZE
            #pragma optimize("", on)
            #endif

            uint Powerjoy84in1::GetExChrExBank() const
            {
               return
               (
                  (~uint(exRegs[0]) << 0 & 0x080 & uint(exRegs[2])) |
                  ( uint(exRegs[0]) << 4 & 0x080 & uint(exRegs[0])) |
                  ( uint(exRegs[0]) << 3 & 0x100) |
                  ( uint(exRegs[0]) << 5 & 0x200)
               );
            }

            void NST_FASTCALL Powerjoy84in1::UpdatePrg(uint address,uint bank)
            {
               bank &= ~uint(exRegs[0]) >> 2 & 0x10 | 0x0F;
               bank |= (exRegs[0] & (0x6U | (exRegs[0] & 0x40U) >> 6)) << 4 | (exRegs[0] & 0x10U) << 3;

               if (!(exRegs[3] & 0x3U))
               {
                  prg.SwapBank<SIZE_8K>( address, bank );
               }
               else if (address == (regs.ctrl0 << 8 & 0x4000))
               {
                  if ((exRegs[3] & 0x3U) == 0x3)
                     prg.SwapBank<SIZE_32K,0x0000>( bank >> 2 );
                  else
                     prg.SwapBanks<SIZE_16K,0x0000>( bank >> 1, bank >> 1 );
               }
            }

            void NST_FASTCALL Powerjoy84in1::UpdateChr(uint address,uint bank) const
            {
               if (!(exRegs[3] & 0x10U))
                  chr.SwapBank<SIZE_1K>( address, GetExChrExBank() | (bank & ((exRegs[0] & 0x80U) - 1)) );
            }

            NES_POKE_AD(Powerjoy84in1,6000)
            {
               if (!(exRegs[3] & 0x80U))
                  NES_DO_POKE(6001,address,data);
            }

            NES_POKE_AD(Powerjoy84in1,6001)
            {
               address &= 0x3;

               if (exRegs[address] != data)
               {
                  exRegs[address] = data;

                  if (exRegs[3] & 0x10U)
                     chr.SwapBank<SIZE_8K,0x0000>( GetExChrExBank() >> 3 | (exRegs[2] & 0xFU) );
                  else
                     Mmc3::UpdateChr();

                  Mmc3::UpdatePrg();
               }
            }
         }
      }
   }
}


Top
 Profile  
 
PostPosted: Tue Dec 20, 2016 5:03 am 
Offline

Joined: Tue Apr 11, 2006 4:08 am
Posts: 248
I have done two dev-cards, which are adapted to Kazzo (original anago) - SUROM and SNROM. SUROM programmed easily, but there is a problem with SNROM (there are problems with the CHR-FLASH). The status bar CHR hangs on "ERASING".

I suspect that the problem is the lack of profile SNROM. I have the opportunity to choose only mmc1_SKROM.ag and mmc1_SUROM.a in KazzoGUI. My guess is that CHR SNROM is not compatible with CHR SKROM? Can anyone send me the file / profile (*.ag) to SNROM?

I did also UNROM according to the description of this page:
https://osdn.net/projects/unagi/wiki/flash_74161_en
Checked everything thoroughly, I do not know why you do not want to work. PCB has a DIP32 socket - if the memory is programmed external programmer it all works ok, but do not want to run the Kazzo programmer (I used the original game PCB - exactly HCV-UNROM-03, two types of flash memory have been tested - SST39SF020 and W49F002)


Attachments:
kazzo_unrom128_2.JPG
kazzo_unrom128_2.JPG [ 365.45 KiB | Viewed 1897 times ]
kazzo_unrom128_1.JPG
kazzo_unrom128_1.JPG [ 340.11 KiB | Viewed 1897 times ]
Top
 Profile  
 
PostPosted: Wed Dec 21, 2016 8:52 pm 
Offline

Joined: Sat Feb 20, 2016 7:41 pm
Posts: 9
I've been trying to dump Super C with the kazzo, but only the CHR will dump properly. It appears that I have the "KONAMI-TLROM" version, according to bootgod's database. I'm assuming the pins are different from NES-TLROM and this is why I can't get it to dump properly. Of course, the pins still might be dirty and we all know what happens when we assume. Any ideas? Thanks.


Top
 Profile  
 
PostPosted: Fri Dec 30, 2016 8:25 pm 
Offline

Joined: Wed Jul 01, 2015 3:21 pm
Posts: 120
Kind of curious if anyone else has had this issue with the Kazzo programmer. I went to burn Super Mario The Lost Adventure 3 yesterday and for the life of me could not get it to save. I swapped out a battery and still nothing. I burned the rom again and still nothing. I assumed that there was some how an issue with the rom itself and almost gave up. Today for whatever reason I tried a third battery and voila! It saved properly.

So with that in mind, how long does your guys kazzo carts batteries last? I bought my boards a year ago to two years max. My Aunt brought up some NES and SNES games for me on Thanksgiving that I played as a kid seriously 20-25 years ago and the saves are still good.

Please don't think I am complaining, more of curious if I am doing something wrong that could possibly be killing the batteries or if its possible I just got a bad batch of batteries from China ect.


Top
 Profile  
 
PostPosted: Sat Mar 18, 2017 5:02 pm 
Offline

Joined: Sat Feb 20, 2016 7:41 pm
Posts: 9
This is a new one. I bought a copy of RoboCop and tried to dump it with the kazzo. After dumping the PRG, it would stop and generate an error:

libusb0-dll:err [control_msg] sending control message failed, win error: A device attached to the system is not functioning.

I thought my kazzo had stopped functioning, as I hadn't used it in awhile. So, I tried reinstalling the driver. Everything seemed fine. I tried other games, and it attempted to dump them properly.

I decided to open RoboCop up to clean it in case that was the problem. However, I discovered that the board inside is NES-TLBROM-01. I do not see this board in bootgod's database. I do not see this board anywhere. I see TBROM, but not TLBROM. What the hell is this? Does anyone have any idea?

The board has a PRG chip, a CHR chip, the lockout chip, the MMC3A chip, another chip up top, and what appears to be a resistor near the CHR chip.

Here's a pic of the board (sorry about the quality, my dumbphone's camera is not the greatest)
Attachment:
File comment: NES-TLBROM-01
0318171649-01.jpg
0318171649-01.jpg [ 275.28 KiB | Viewed 1278 times ]


Last edited by darthvedder on Sat Mar 18, 2017 6:28 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sat Mar 18, 2017 5:20 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6444
Location: UK (temporarily)
Any chance you have a scanner? OR would be willing to spend more timing fighting with your camera to get a picture that's in focus? If so, a picture of the back also would be lovely.

Also, please attach images to the forum so that we're not dependent on third parties not losing data.

From what I can see, it looks similar to NES-TL1ROM (but different; e.g. the CIC has moved, there's this bizarre extra SN74LS541N on the board)

The labels on your PCB's mask ROMs:
NES-CP-0 PRG
5M58-12-12-D253
894C5A1 JAPAN

NES-CP-0 CHR
5M58-12-D256
8940EAI JAPAN

seem to be a month earlier than the previous one in NEScartDB.

My hunch is that the 74'541 is getting in a fight with the Kazzo, drawing too much power, causing the device to fall off the USB. On the bright side, there's no reason to think this dump is different from any other copy of US Robo Cop 1.


Top
 Profile  
 
PostPosted: Sat Mar 18, 2017 5:39 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19229
Location: NE Indiana, USA (NTSC)
The big list of 7400 series ICs on Wikipedia lists 74541 as a "non-inverting octal buffer, three-state outputs". It may be acting as an output enable mechanism to allow use of marginally slow CHR ROM, analogously to the 74HC245 ("octal bus transceiver, non-inverting three-state outputs") in Holy Diver.


Top
 Profile  
 
PostPosted: Sat Mar 18, 2017 6:30 pm 
Offline

Joined: Sat Feb 20, 2016 7:41 pm
Posts: 9
Thanks for the info, guys. Good stuff. I'll work on getting better images of it for you.


Top
 Profile  
 
PostPosted: Sat Apr 22, 2017 4:56 pm 
Offline

Joined: Thu Feb 23, 2017 2:27 pm
Posts: 34
[Post had a bunch of incorrect assumptions and errors, purging...]


Last edited by kazblox on Tue Jun 06, 2017 12:36 pm, edited 2 times in total.

Top
 Profile  
 
PostPosted: Sat Apr 22, 2017 5:14 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6444
Location: UK (temporarily)
Pictures of novel PCBs are always appreciated, regardless of whether they're helpful!

I tentatively think your script matches the FCEUmm source code.


Top
 Profile  
 
PostPosted: Sat Apr 22, 2017 5:56 pm 
Offline

Joined: Thu Feb 23, 2017 2:27 pm
Posts: 34
Here you go! The "KS127" chip appears to be the PRG chip.


Attachments:
kaiser2_cropped.jpg
kaiser2_cropped.jpg [ 2.52 MiB | Viewed 1102 times ]
kaiser1_cropped.jpg
kaiser1_cropped.jpg [ 2.27 MiB | Viewed 1102 times ]
Top
 Profile  
 
PostPosted: Sat Apr 22, 2017 6:37 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6444
Location: UK (temporarily)
Can't trace all of the board, but the big thing I see relative to the implementation in FCEUmm is that the latches latch the address bus, not the data bus.

If that's not enough, I think I'd need a connection list for the pins on the 74'157s, 74'161s, and PAL to be able to get any further.


Top
 Profile  
 
PostPosted: Sat Apr 22, 2017 8:05 pm 
Offline

Joined: Thu Feb 23, 2017 2:27 pm
Posts: 34
That would be a bit out of my scope sadly, since this is, I should clarify, someone else's board and that the mask ROM seems to be custom and I don't know if the pinout for the it would be the same as others. I could ask for the cart to be sent off to kevtris but he's kinda busy with everything so... eh...

I do have a NROM readout of the cart if it would mean anything useful. For anyone who wants to take a shot, PM me.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 561 posts ]  Go to page Previous  1 ... 28, 29, 30, 31, 32, 33, 34 ... 38  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot] and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group