In-PowerPak coprocessor (WIP)

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Post Reply
User avatar
NovaSquirrel
Posts: 377
Joined: Fri Feb 27, 2009 2:35 pm
Location: Fort Wayne, Indiana
Contact:

In-PowerPak coprocessor (WIP)

Post by NovaSquirrel » Mon Dec 26, 2016 10:28 pm

I started on an experimental PowerPak mapper with a coprocessor I made (Chipmunk) that allows the NES to upload code for the coprocessor to run and get an interrupt when it finishes. I'm using mapper slot 248 currently since it's meant for mappers in development.

The architecture is almost a 6502.

I made a test ROM (included, with source) and it has the coprocessor run the test from here except for some extra stores at the end to put the tests passed variable and "1337d00d" at the start of RAM. In the test ROM, press Start to run the coprocessor program.

I tried to make an extremely fast Conway's Life but I ran into issues where the RAM used for the playfield was getting corrupted instead and I don't know why. I made an edited version of the Life that just constantly toggled all the cells on the grid instead and occasionally the first byte would fail to write. I think it's probably incorrect interfacing with the block RAM or some sort of weird timing problem, and I've included the source if someone wants to try look at that.

I have a mapper I want to implement, allowing the programmer to swap PRG banks and change the mirroring, and to add a scanline counter but I'll probably only do that if I can get this fixed. In its place currently is just CNROM.
Attachments
test rom.zip
test ROM, source, and MAPF8.MAP
(35.19 KiB) Downloaded 156 times
source.zip
mapper source, use Xilinx ISE 10.1
(2.05 MiB) Downloaded 153 times

User avatar
infiniteneslives
Posts: 2097
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: In-PowerPak coprocessor (WIP)

Post by infiniteneslives » Mon Jan 09, 2017 11:23 am

Interesting project NovaSquirrel, thanks for sharing!

Tinkering around with the xilinx project it looks like you've selected the XC3S1000-4FG320, I thought the powerpak had a spartan 2 in tqfp-144 package? Appears you have a spartan 3 in 320FBGA package selected..
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers

User avatar
NovaSquirrel
Posts: 377
Joined: Fri Feb 27, 2009 2:35 pm
Location: Fort Wayne, Indiana
Contact:

Re: In-PowerPak coprocessor (WIP)

Post by NovaSquirrel » Mon Jan 09, 2017 12:09 pm

On my end, it's set to target "xc2s30-5tq144", with the settings copied over from bunnyboy's CNROM example. Are you using a newer version of Xilinx ISE that doesn't support the Spartan 2? I wouldn't be surprised if it looked at the project, realized it didn't have Spartan 2 support and went with some sort of default.

User avatar
infiniteneslives
Posts: 2097
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: In-PowerPak coprocessor (WIP)

Post by infiniteneslives » Mon Jan 09, 2017 12:48 pm

Oh yeah you're right, was just issue with my newer version auto-selecting a massive replacement.
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers

Post Reply