Riding the open bus

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

tepples
Posts: 22050
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Open Bus Rider: The Adventure

Post by tepples » Thu Mar 26, 2015 5:49 pm

AWal wrote:MediaFire folder containing all test screenshots. I did my best to make filenames as accurate as possible.
Thanks.
From left to right this is [Cart Only - NES-001], [Everdrive N8 - NES-001 - Cart Only], and [Everdrive N8 - HVC-101 - Cart Only]
HVC-101 is the Famicom AV, correct?

So it appears EverDrive N8 has the same open bus behavior as a donor. (The third byte of APU open bus is useless because v2 was used, not v2a.)

Code: Select all

PPU readback
     00 FF 00 FF 00 FF 00 FF
PPU latch     3F 3F 3F 3F 3F
APU open bus        40 40 xx

Controller 1: 40 38 40 38
Controller 2: 40 38 40 38
This means that on both ports, D0-D2 are driven low and D3-D4 are open bus. Does it change if you plug any peripherals into the DA15 port? Do you have any such peripherals?

NES-001 results summarized:

Code: Select all

40 20 40 20   Empty port on NES frontloader (NES-001)

40 20 41 21   Nintendo Controller (NES-004)
40 20 41 21   Super NES Controller (SNS-005)
40 20 41 21   Nintendo Controller (NES-039) nicknamed "Dogbone"
40 20 41 21   Family Computer Controller (HVC-102) nicknamed "Dogbone"
40 20 41 21   NES Advantage (NES-026)

40 20 41 21   NES Four Score (NES-034A)

48 28 48 28   Zapper (NES-005)
58 38 58 38   Zapper (NES-005), trigger held
40 20 58 38   Power Pad (NES-028)

40 38 40 38   Empty port on Famicom AV (HVC-101)

User avatar
AWal
Posts: 132
Joined: Wed Oct 06, 2004 8:00 am
Location: Northern New York
Contact:

Open Bus Rider 2: Literal Electric Boogaloo

Post by AWal » Thu Mar 26, 2015 7:26 pm

tepples wrote:HVC-101 is the Famicom AV, correct?
That is correct.
tepples wrote:This means that on both ports, D0-D2 are driven low and D3-D4 are open bus. Does it change if you plug any peripherals into the DA15 port? Do you have any such peripherals?
I don't currently at the moment. I'm looking into maybe obtaining a gun, but that's about it.
tepples wrote:NES-001 results summarized:
40 20 41 21 NES Four Score (NES-034A)
I've noticed that the Four Score will either pass the controllers verbatim (in the 2 player mode), minus the extra data pins used for the light guns, or it will "pretend" to have controllers connected all around (in the 4 player mode), and the signature would generally have to be relied on instead (So one could only detect the adapter as a whole, not which controllers are actually connected).
tepples wrote:v2 was used, not v2a.
Oops. Crap...Here's the results of r2a without any peripherals connected:

From left to right, NES-001 Cart, NES-001 Everdrive N8, Yobo FC Twin Everdrive N8, and HVC-101 Everdrive N8.
ImageImageImageImage

I'm starting to notice that these colors really stress out the poor picture quality on the clone console. I feel sorry for people who have to put up with poor board design like that because it would be prohibitively expensive to import a genuine console.

tepples
Posts: 22050
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Riding the open bus

Post by tepples » Thu Mar 26, 2015 7:49 pm

So one could only detect the adapter as a whole, not which controllers are actually connected
I figured as much.
Here's the results of r2a without any peripherals connected
FC Twin transcribed:

Code: Select all

PPU readback
     00 FF 00 FF 00 FF 00 FF
PPU latch     20 20 20 20 20
APU open bus        40 40 3F

Controller 1     44 24 44 24
Controller 2     48 28 48 28
Good: $3F07 reads properly ride the open bus.
Bad: PPU latch is wrong. NOAC is detectable.
Ugly: FC Twin has $4016.D2 and $4017.D3 high. Might this be related to its Zapper or perhaps the IOBit functionality needed for Super Scope?
I'm starting to notice that these colors really stress out the poor picture quality on the clone console.
The vertical stripes on the FC Twin picture almost look like PA13 leaking into the video signal. The interrupted stripe at the left border, where the PPU "skips a beat" between the 2-tile preroll and the body of the picture, seals the deal. Are these signals adjacent on the FC Twin's motherboard? Either that or they're a power problem; perhaps the cart memory is drawing a lot more power than the NOAC's internal nametable memory. What kinds of bypass capacitors are near the power pins of the cart slot and NOAC?

Do you have a Super NES Mouse? I know it'd behave like a standard controller in this ROM. But I just want to see if the FC Twin runs Thwaite, or if I'd have to port it to the Super NES first.

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

Re: Riding the open bus

Post by lidnariq » Thu Mar 26, 2015 8:19 pm

tepples wrote:Bad: PPU latch is wrong. NOAC is detectable.
Actually, that makes sense ... if they're putting the PPU and CPU on the same die, there's no reason to have the extra bus drivers in there. No long separate trace with capacitance = no dynamic latch.

On second thought, if that were simply true, I would have thought it would have shown 20 3f 3f 3f 3f .... hm.

User avatar
AWal
Posts: 132
Joined: Wed Oct 06, 2004 8:00 am
Location: Northern New York
Contact:

Signal Circuit; Freemium clone of Open Bus Rider; In Stores

Post by AWal » Tue Mar 31, 2015 6:48 pm

tepples wrote:Do you have a Super NES Mouse?...I just want to see if the FC Twin runs Thwaite, or if I'd have to port it to the Super NES first.
Here's a video demonstration. (Yes, it does just fine).

alphamule
Posts: 62
Joined: Fri Aug 29, 2014 1:45 pm

Re: Riding the open bus

Post by alphamule » Tue Apr 14, 2015 10:09 pm

Dwedit wrote:Better to attach the files here than to use Mediafire....
Better to do both and provide a torrent hash? :)
Idealogical
From: I have an idea. It seems logical. Thus everyone must agree.

Fail, fail, fail again. Keep trying, then maybe this damn thing will work. Eventually you might even know why it worked.

tepples
Posts: 22050
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Riding the open bus

Post by tepples » Sun Nov 27, 2016 3:43 pm

I've added more documentation on what all the results mean, both inside the ROM and in the separate file methodology.md. I also revamped font loading in preparation for turning what I have into a controller test, which will need some spare CHR space.
Attachments
openbustest-r3.zip
(30.5 KiB) Downloaded 543 times

tepples
Posts: 22050
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Riding the open bus

Post by tepples » Tue Nov 29, 2016 3:14 pm

Better yet, just display which bits are always off, which are always on, which are serial (that is, the value differs over the course of 32 reads), and which are NC (that is, the value differs based on whether the previous data bus value was $40 or $BF). For example, a standard NES controller will be ...0000S: bits 7-5 from open bus, bits 4-1 always off, and bit 0 serial.

I also changed the contrast value in the controller data comparison from $3F to $BF to make open bus at bit 7 visible. This should change, for example, 40 20 41 21 to 40 A0 41 A1. But again, the PowerPak interferes, so I'll probably need some help from an EverDrive, Kazzo, or EPROM programmer user.
Attachments
openbustest-r4.zip
(31.35 KiB) Downloaded 555 times

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

Re: Riding the open bus

Post by lidnariq » Tue Nov 29, 2016 3:54 pm

Tested on my m218 cart ... same as before but it indicates that the MSBit (D7, 128s) is driven rather than open bus. (i.e. 0..00000)

tepples
Posts: 22050
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Riding the open bus

Post by tepples » Tue Nov 29, 2016 4:10 pm

Bit 7 appearing driven may be the result of a bug in the test. :oops: It's hard to test tests when I know that the hardware and emulators to which I have easy access will fail, and I appear to have left line 23 of src/openbus.s in the wrong state.

Before I attempt a rebuild to correct this problem, is there anything I can do to make testing on a mapper 218 cart easier, such as providing a special build whose font uses only 64 distinct tiles?

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

Re: Riding the open bus

Post by lidnariq » Tue Nov 29, 2016 5:08 pm

That, and padding the PRG such that I don't need to resplice things to fit things into an 8 KiB PRG.

I guess I could share my updated patch ... it's assuredly not the Right Way to do things.
Attachments
openbustest-r4-m218.patch.zip
(2.15 KiB) Downloaded 543 times

tepples
Posts: 22050
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Riding the open bus

Post by tepples » Tue Nov 29, 2016 5:44 pm

Thanks for the clarification. Here's my first try at doing it the right way, where the mapper 218 version has a font limited to 64 unique tiles (the uppercase from Thwaite) and a linker script modified to move everything above $E000 to fit on your 27C64.
Attachments
openbustest-r5.zip
(32.69 KiB) Downloaded 690 times

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

Re: Riding the open bus

Post by lidnariq » Tue Nov 29, 2016 6:00 pm

Yup, that works as intended.

Code: Select all

NES OPEN BUS TEST R3
  2016 DAMIAN YERRICK
RESET: RESCAN; START: HELP

PPU READBACK
     00 FF 00 FF 00 FF 00 FF
PPU LATCH     3F 3F 3F 3F 3F
APU OPEN BUS        40 40 3F

       4L 3L 4H 3H D76543210
1P:    48 A8 48 A8  ...01000 (zapper)
2P:    40 A0 41 A1  ...0000S (square controller)
Same NES-001 with removed CIC as before.

tepples
Posts: 22050
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Riding the open bus

Post by tepples » Sat Dec 03, 2016 6:59 pm

Several revisions ago, we got results from Famicom and NES-101 systems. Now that r5 has what appears to be a correct, easy-to-read bitwise display of line condition (0, 1, serial, or NC), I'd like someone to repeat the test with r5 for the record, if anyone with a toploader and an EverDrive or single-game flash cart is willing. (No PowerPak; we've already established that those are often inaccurate.) Once this is done, I can continue work on transforming this into a controller test, which is one of the things I promised to do once I finished a paid project.

User avatar
deadbody
Posts: 37
Joined: Thu Oct 30, 2008 8:11 pm
Location: Nashville, TN
Contact:

Re: Riding the open bus

Post by deadbody » Sat Dec 03, 2016 8:54 pm

Here is the output from a Top Loading NES w/HDMI mod.
Attachments
2016-12-03 21.49.57.jpg

Post Reply