Help with Kaiser's Highway Star repro

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
User avatar
Fisher
Posts: 1048
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Help with Kaiser's Highway Star repro

Post by Fisher » Thu May 07, 2020 6:05 pm

Hello.
I've been trying to make a repro of this pirate game for some time without success.
Here's what I've done so far:

I took a look on this game's board on this thread.
Unfortunatelly I couldn't find a schematics, so with information from various posts and the wiki, I tried to imagine how it should be and ended with this schematic:
RE try 12
RE try 12
Not totally sure if this is 100% correct.

Since I didn't have all the parts to build just as in the schematics, I tried to convert an UNROM board like this:

Code: Select all


                                                    74LS02
                                                 ____
          74LS138              74LS74   PPU A10--\   \     ____
         +---V---+            +------+            )   O----\   \
CPU A13-1|A0     |16---VCC---1|CLR  Q|5----------/___/      )   O---CIRAM A10
CPU A14-2|A1   O0|15---------3|CLK   |           ____  +---/___/
/ROMSEL-3|A2   O1|14  CPU D0-2|D     |  PPU A11--\   \ |         
/ROMSEL-4|/E0  O2|13   VCC---4|PRE /Q|6-+         )   O+
CPU R/W-5|/E1  O3|12-+        +------+  +--------/___/
     M2-6|E2   O4|11 |
        7|O7   O5|10 |                    74LS32 
    GND-8|8    O6|   |                     ____
         +-------+   |   74LS161  CPU A14--\   \
                     |  +---V---+           )   )---PRG A14
                     +-2|CLK  QA|14--------/___/
               CPU D0--3|A      |          ____ 
               CPU D1--4|B    QB|13--------\   \
               CPU D2--5|C      |           )   )---PRG A15
                       6|D      | CPU A14--/___/
                  GND--7|ENP    |          ____        
                 GND--10|ENT  QC|12--------\   \  
              CPU R/W--9|/LD    |           )   )---PRG A16
                 VCC---1|CLR    | CPU A14--/___/
                        +-------+
I added a transistor based NOT gate between CPU R/W and the ROM /OE to prevent bus conflicts.
Basically I unplugged the pin 2 of the 74'161 and had plugged it on the circuit composed of the 74'138, 74'74 and 74'02, after plugging the other pins on the respective spots on the board. So the UNROM part was working fine before and is almost untouched.
And them comes my first doubt: are these schematics correct?

Assuming the last schematic is correct, I proceeded and assembled the board.
I used to it the following NES ROM:

Code: Select all

Highway Star (Kaiser)[U][!].nes  CRC32: e6416634
I used FamiROM to split the file, and the resulting file has a CRC32 95ce148a.
But unfourtunatelly the thing didn't work as expected.
And here comes my second doubt: is that the correct ROM for this mapper?

I tried Holy Maperel on the modified PCB and it showed it as UNROM, as expected.
I had dumped the ROM and it was identical to the one I had written to it.
I tried some UNROM games on the modified board and none booted, just had shown a black screen or a coloured screen with an "walking" stripe from the top to the bottom of the screen, wich probably means that at least the last bank is in the correct place, right?

I've reviewd the schematics and the big mess that the modified PCB had become and found nothing wrong, unless of course, the schematics are wrong.
Can someone please help me?
Thanks in advance.

zxbdragon
Posts: 482
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help with Kaiser's Highway Star repro

Post by zxbdragon » Thu May 07, 2020 8:19 pm

This card is different from UxROM

UxROM, switch 8000, 16K data, using address 8000-FFFF

KS7013B, switch 8000,16 K data, using addresss 6000-7FFF

And 8000-FFFF is the control of mirr

lidnariq
Posts: 9300
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Help with Kaiser's Highway Star repro

Post by lidnariq » Thu May 07, 2020 9:00 pm

This is https://wiki.nesdev.com/w/index.php/NES_2.0_Mapper_312

As zxbdragon says, your decoder is wrong. The 74'74 should be clocked on all writes to ROM, and the 74'174 should be clocked on writes to $6000-$7FFF.

The 74'138 looks like it's miswired? As stands, it's looking for places where M2 and /ROMSEL are low and R/W is high...?

User avatar
Fisher
Posts: 1048
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Help with Kaiser's Highway Star repro

Post by Fisher » Fri May 08, 2020 6:20 am

zxbdragon wrote:
Thu May 07, 2020 8:19 pm
This card is different from UxROM
Yes, I think that altough the register is at a different address, the way it bankswitchs is pretty similar.
Is this assumption correct?
lidnariq wrote:
Thu May 07, 2020 9:00 pm
The 74'138 looks like it's miswired?
Yes, that was one of my biggest doubts.
Should I clock the 74'74 on /ROMSEL and wire the 74'138 like this?

Code: Select all

             74LS138
              +-v-+
          M2 -|   |- VCC
     CPU A13 -|   |- NC
     CPU A14 -|   |- NC
         GND -|   |- NC
         GND -|   |- NC
     /ROMSEL -|   |- NC
Register CLK -|   |- NC
         GND -|   |- NC
              +---+
Is the ROM I'm using correct?

Edit: Should I plug CPU R/W to /E1 when using the 74'174?

lidnariq
Posts: 9300
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Help with Kaiser's Highway Star repro

Post by lidnariq » Fri May 08, 2020 10:30 am

You'll need to combine /ROMSEL and R/W for the 74'74, because unlike a 74'161 there's no clock enable pin.

To decode the region for the bankswitching register, you'll need to decode the region where /ROMSEL, M2, A14, A13 are all high and R/W low.

User avatar
Fisher
Posts: 1048
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Help with Kaiser's Highway Star repro

Post by Fisher » Fri May 08, 2020 4:13 pm

I tried the to wire the 74'138 as follows:

Code: Select all

/ROMSEL => A0
     M2 => A1
    A14 => A2
    GND => /E1
CPU R/W => /E2
    A13 => E3
 BS Reg => O7
Mir Reg => O6
And also:

Code: Select all

     M2 => A0
    A13 => A1
    A14 => A2
    GND => /E1
CPU R/W => /E2
/ROMSEL => E3
 BS Reg => O7
Both without succes.
The BS Reg is being plugged on a UNROM's 74'161 pin2.
That's the only modification I did on the board, other than adding this NOT gate:

Code: Select all

                470R      
         +5v ---/\/\+-----ROM /OE
            10K     /C
CPU R/W--+-\/\/\-+-|B BC548
         | 470pf |  \E
         +---||--+  +--GND 
What am I doing wrong?

lidnariq
Posts: 9300
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Help with Kaiser's Highway Star repro

Post by lidnariq » Fri May 08, 2020 4:42 pm

Code: Select all

/ROMSEL => A0
     M2 => A1
    A14 => A2
    GND => /E1
CPU R/W => /E2
    A13 => E3
 BS Reg => O7
Mir Reg => O6
That maps the bankselect register to the place where /ROMSEL is high, M2 is high, A14 is high, R/W is low, and A13 is high. ($6000-$7FFF) That should work.
That also maps the mirroring control register to the place where /ROMSEL is low, M2 is high, A14 is high, R/W is low, and A13 is high. ($E000-$FFFF). You'd have to test in an emulator if the game is compatible with that.

Code: Select all

     M2 => A0
    A13 => A1
    A14 => A2
    GND => /E1
CPU R/W => /E2
/ROMSEL => E3
 BS Reg => O7
That maps the bankselect register to the place where M2 is high, A13 is high, R/W is low, and /ROMSEL is high. That should also work.

I don't know why it's not working; do you have the right ROM?

User avatar
Fisher
Posts: 1048
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Help with Kaiser's Highway Star repro

Post by Fisher » Fri May 08, 2020 5:10 pm

lidnariq wrote:
Fri May 08, 2020 4:42 pm
I don't know why it's not working; do you have the right ROM?
That's my biggest doubt right now.
AFAIK, with the wiring(s) I tried the game should at least boot and go to the title screen.
Unless there's some kind of protection check...

Can someone please confirm the ROMS's CRC32 for me?

Code: Select all

"Highway Star (Kaiser)[U][!].nes"  CRC32: e6416634
The file I wrote on the EPROM has a CRC32 of 95ce148a.

I think no other game uses that mapper.
It would be nice if someone that have this game could post pictures of the PCB too.

zxbdragon
Posts: 482
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help with Kaiser's Highway Star repro

Post by zxbdragon » Fri May 08, 2020 9:53 pm

95CE148A is ok

using Nestopia Plus! load rom ,see info

User avatar
Fisher
Posts: 1048
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Help with Kaiser's Highway Star repro

Post by Fisher » Sat May 09, 2020 9:47 am

zxbdragon wrote:
Fri May 08, 2020 9:53 pm
95CE148A is ok
Thanks.
It's one less think I could've done wrong.

Since I need to decode things when M2 is always high and CPU R/W always low, it seems more logical to wire the 74'138 like this:

Code: Select all

/ROMSEL => A0
    A13 => A1
    A14 => A2
    GND => /E1
CPU R/W => /E2
     M2 => E3
 BS Reg => O7             
Mir Reg => O0
So I could get the bankswitch register at $6000-7FFF and the mirroring register at 8000-FFFF, is this assumption correct?

I tested the wiring of the 74'138 with the multimeter, all seems fine.
It looks like it may be damaged, wich is no surprise since I got it from an old discarded board.
But after I confirm that the logic is correct, I'll try to put this game on a "definitive" board, without this rat's nest.

lidnariq
Posts: 9300
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Help with Kaiser's Highway Star repro

Post by lidnariq » Sat May 09, 2020 10:23 am

Fisher wrote:
Sat May 09, 2020 9:47 am
So I could get the bankswitch register at $6000-7FFF and the mirroring register at 8000-FFFF, is this assumption correct?
Not using the 74'138. The 74'138 cares about all six inputs, but the latter memory region needs to not care about A14 and A13.

User avatar
Fisher
Posts: 1048
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Help with Kaiser's Highway Star repro

Post by Fisher » Sat May 09, 2020 10:53 am

OK.
So to decode de right address range, I must take in account when the A15 is high and not care about the other bits, correct?

One thing I still didn't get is the mask on the mapper description.
For example, in this mapper it says:

Code: Select all

Nametable Mirroring Type Select ($8000-$FFFF)
Mask: $8000
So to find the mirroring of the register's address I should AND the address $8000 with 8000 wich if I know how to do it right should be 8000.
But what does it means?
The register will answer only at $8000?

lidnariq
Posts: 9300
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Help with Kaiser's Highway Star repro

Post by lidnariq » Sat May 09, 2020 12:03 pm

Fisher wrote:
Sat May 09, 2020 10:53 am
So to decode de right address range, I must take in account when the A15 is high and not care about the other bits, correct?
Yes.
So to find the mirroring of the register's address I should AND the address $8000 with 8000 wich if I know how to do it right should be 8000.
It's another way of expressing the same concept you've stated above:

(address BITWISEAND mask) == registerplace

zxbdragon
Posts: 482
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help with Kaiser's Highway Star repro

Post by zxbdragon » Sat May 09, 2020 3:27 pm

This card piracy has a total of three versions

1. The Kaiser

2. The Whirlwind Manu

3. The same mapper as the original

User avatar
Fisher
Posts: 1048
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Help with Kaiser's Highway Star repro

Post by Fisher » Sat May 09, 2020 3:50 pm

lidnariq wrote:
Sat May 09, 2020 12:03 pm
It's another way of expressing the same concept
Thanks for carifying.
There's lots of things I still need to learn.
zxbdragon wrote:
Sat May 09, 2020 3:27 pm
This card piracy has a total of three versions
Do you know wich version is in this picture?

I tried Holy Maperel on it again, and it indentified as UNROM.
I think this is correct, is it?
With this identification, I think the 74'138 should be working fine.

Is there any differences between a multi flip-flop IC and the 74'161 that could make the game not work?

Post Reply