Jump to content
IGNORED

FPGA Based Videogame System


kevtris

Interest in an FPGA Videogame System  

682 members have voted

  1. 1. I would pay....

  2. 2. I Would Like Support for...

  3. 3. Games Should Run From...

    • SD Card / USB Memory Sticks
    • Original Cartridges
    • Hopes and Dreams
  4. 4. The Video Inteface Should be...


  • Please sign in to vote in this poll.

Recommended Posts

Didn't it have something to do with the SD-RAM having too much latency to work with TG-16 ROMs?

Genesis

16-bit-wide memory access in 4 clocks @ 7.68MHz -> 1.92MHz

 

SNES

8-bit-wide memory access in 1 clock @ 3.58MHz

 

PC Engine

8-bit-wide memory access in 1 clock @ 7.16MHz

  • Like 1
Link to comment
Share on other sites

I have now completed Street Hero for Game King.

I don't know why I was compelled to do this but i had to do it!

I love the fact that the ending is your guy standing over his fallen enemy while he points and laughs at him!

 

Thank you Kevtris for bringing Game King into my life!

post-51821-0-42089200-1489683551_thumb.jpg

  • Like 1
Link to comment
Share on other sites

Genesis

16-bit-wide memory access in 4 clocks @ 7.68MHz -> 1.92MHz

 

SNES

8-bit-wide memory access in 1 clock @ 3.58MHz

 

PC Engine

8-bit-wide memory access in 1 clock @ 7.16MHz

7Mhz is 142ns (at zero wait states), 8MHz in 125ns.

I am not familiar on how fast the PCE MaskROM used in the HuCard were and if zero wait states was only for accessing the PCE SRAM (80ns SRAM were already common at that time).

[if I recall correctly even the genesis cart later in life had to switch to faster MaskROM to allow some form of "streaming"]

So told even using SDR SDRAM say at 100Mhz, that leaves 12 clock cycles (at 8Mhz) to perform a single byte read (I've seen SDRAMs having 2-3-3 params as such they could fit) using an SDR SDRAM at 200Mhz allows 24 clock cycles, surely accommodating stricter requirements (even if maybe the parameters are higher [hopefully not doubled]).

 

As already mentioned elsewhere the F18A author made a SDRAM controller in VHDL and he states to be able to support 70ns access time for Winbond W9825G6JH chips:

http://codehackcreate.com/archives/444

I understand that it may not be the same story here but random access at 70ns is plenty for PCE.(assuming all commands can be really issues at that speed on this design).

 

I may not understand completely the tradeoff of its design so I may be way off here, and kevtris knows his stuff so maybe the SDRAM chip he used on the Nt Mini (as it targeted much slower CPUs) is slower than that or the "70ns SDRAM controller" is not really 70ns etc...etc...

 

On a totally different note: why can the PCE run at 2 different clock speeds? Is it done depending on what address you are accessing (like SRAM = fast, peripherals = slow etc...) or what was the reason? Is not that it needs backcompat a la 7800 or C128 in which the fast speed is for the new and the slow speed for the old.

  • Like 1
Link to comment
Share on other sites

I understand that it may not be the same story here but random access at 70ns is plenty for PCE.(assuming all commands can be really issues at that speed on this design).

There are no wait-states on the PCE's ROM and RAM accesses, but there's a single wait-state when accessing the VDC.

 

And "yes", it can easily consume data at that rate ... there are plenty of 2-byte, 2-cycle instructions ... but they're sequential access.

 

kevtris's idea of burst-loading a few instruction bytes might indeed work.

 

 

On a totally different note: why can the PCE run at 2 different clock speeds? Is it done depending on what address you are accessing (like SRAM = fast, peripherals = slow etc...) or what was the reason? Is not that it needs backcompat a la 7800 or C128 in which the fast speed is for the new and the slow speed for the old.

Probably just to allow for the use of slower BIOS ROMs at boot (not used in practice). The first thing that every game does is to switch to high-speed mode.

 

The PCE's VDC has the ability to run with slow RAM ... but they ended-up putting the fastest possible RAM on the actual console when it shipped.

 

It's the only 4th-generation console (that I know of) with completely unrestricted CPU access to VDC RAM during the frame.

Link to comment
Share on other sites

 

 

Hi kevtris, Could you think to add a SPDIF (Coaxial) digital audio output for those that we use external DAC? icon_smile.gif

 

 

I didn't see if anyone asked this option at the thread. Sorry if proposal repeated!

This is what I use in my setup: https://www.amazon.com/dp/B017B6WFP8

My UHD display only has 3.5mm stereo out so instead of running every console in my system to some kind of audio switch I just run them into a xrgb mini which I run into a hdmi switch with all my other hdmi devices so everything comes in on a single hdmi cable to my display and this simply separates the digital audio from that cable in a self powered (on every hdmi port I have used it on) 0 lag solution straight to my speaker setup so I can have 5.1 channel surround sound.

Link to comment
Share on other sites

I have now completed Street Hero for Game King.

I don't know why I was compelled to do this but i had to do it!

I love the fact that the ending is your guy standing over his fallen enemy while he points and laughs at him!

 

Thank you Kevtris for bringing Game King into my life!

 

Game King game-beater checking in too. I beat Adventure Legend Carlo, at the end Carlo does a little two frame dance. Game King owns.

Link to comment
Share on other sites

Can anybody else confirm these NES games (using N163 expansion audio) crashing? Thanks in advance.

 

"Namco Classic II"

 

Just tried Namco Classic II, enabled N163 audio and the game ran fine, although the bottom had a flashing glitch. It was playable though.

 

post-31-0-30167900-1489694782_thumb.jpg

Link to comment
Share on other sites

I have finally released a video! Been a loong time. This video is all about the 8 cartridge adapters I have created so far. There's a show-off of the assembled adapters, and then a time lapse of me dorking around making them in altium, set to a SID music bed. Hope y'all enjoy! Not too bad, a bit under 2 weeks from design to finished product.

 

Thanks for the video, looks really good, be interested to see how they look with the plexi. Do you have the firmware ready to read the carts? Have you decided if you are going to sell them or put the plans up? Hopefully they will be sold, expect i'll buy two or three of them.

Edited by Radfoo
Link to comment
Share on other sites

 

Can somebody test on different hardware so we can determine whether or not this is Nt mini bug? Thanks

 

I'm playing it right now on a regular NES, trying various versions of the roms, including an english translation, and on all of them the bottom still glitches. I haven't been able to recreate the crash yet however.

Link to comment
Share on other sites

Incredible work!

I assume the Gameboy one will be able to use GB and GBC carts?

Also will it be compatible with the GB Everdrive?

 

I'm not a tech person but I don't quite understand why the 2600 and 7800 couldn't work on the same adapter...

Since you can plug 2600 games into the 7800 I thought they just added more pins on the sides for the 7800 carts?

 

They can't share the same adapter, because the connector is proprietary. the 2600 cart has to plug into the middle 24 pins. On the 7800, there's little plastic ribs to guide it in. On connectors you can buy from distributors, they don't have this. Thus, I have two adapters. Someone else asked, and yes I do route the audio to the audio in on the mini so it can theoretically pass cart audio out the HDMI/etc. Intellivision and gameboy both run the audio line from the cart to the audio in too.

 

I have now completed Street Hero for Game King.

I don't know why I was compelled to do this but i had to do it!

I love the fact that the ending is your guy standing over his fallen enemy while he points and laughs at him!

 

Thank you Kevtris for bringing Game King into my life!

haha. I beat the super mario ripoff (dragon something). After you play the three levels, the dragon fucks off into a cave, waves and game overs. lol. btw I want to see that supercut video you were threatening to make of all the game king intros!

 

7Mhz is 142ns (at zero wait states), 8MHz in 125ns.

I am not familiar on how fast the PCE MaskROM used in the HuCard were and if zero wait states was only for accessing the PCE SRAM (80ns SRAM were already common at that time).

[if I recall correctly even the genesis cart later in life had to switch to faster MaskROM to allow some form of "streaming"]

So told even using SDR SDRAM say at 100Mhz, that leaves 12 clock cycles (at 8Mhz) to perform a single byte read (I've seen SDRAMs having 2-3-3 params as such they could fit) using an SDR SDRAM at 200Mhz allows 24 clock cycles, surely accommodating stricter requirements (even if maybe the parameters are higher [hopefully not doubled]).

 

As already mentioned elsewhere the F18A author made a SDRAM controller in VHDL and he states to be able to support 70ns access time for Winbond W9825G6JH chips:

http://codehackcreate.com/archives/444

I understand that it may not be the same story here but random access at 70ns is plenty for PCE.(assuming all commands can be really issues at that speed on this design).

 

I may not understand completely the tradeoff of its design so I may be way off here, and kevtris knows his stuff so maybe the SDRAM chip he used on the Nt Mini (as it targeted much slower CPUs) is slower than that or the "70ns SDRAM controller" is not really 70ns etc...etc...

 

On a totally different note: why can the PCE run at 2 different clock speeds? Is it done depending on what address you are accessing (like SRAM = fast, peripherals = slow etc...) or what was the reason? Is not that it needs backcompat a la 7800 or C128 in which the fast speed is for the new and the slow speed for the old.

 

You're forgetting one thing. refresh. Having to refresh takes time away from accessing the memory, which is the main bottleneck. If I didn't have to refresh, I could access it no problem at a 8-9MHz rate or more. The refresh soaks up cycles that cause the problems. It might be possible to do an "intelligent" refresh where it does a burst read for a 2 cycle instruction, then inserts the refresh there... I dunno. I am sure it IS possible, but it will be tricky/finicky to get working.

 

Good question.

(re: will it be compatible with the GB everdrive) yes, it should be. though those things tend to be flaky even on real hardware, at least the NES version is. and the TG16 version (on real hardware no less). I can't say for sure it will work, but it should :-)

 

Ok scratch that.. yes it did crash as soon as I posted that. :lol: The glitches on the bottom though.. bad rom dump maybe?

attachicon.gif2017-03-16 16.07.54.jpg

Yeah, might be an issue there. I will put it on the todo and look into it when I get a chance.

  • Like 2
Link to comment
Share on other sites

 

haha. I beat the super mario ripoff (dragon something). After you play the three levels, the dragon fucks off into a cave, waves and game overs. lol. btw I want to see that supercut video you were threatening to make of all the game king intros!

 

 

That was me threatening to make that supercut, but I can see why you'd confuse me with the only other person talking about Game King! I will make this video, just waiting for my capture card to arrive (today or tomorrow in the mail).

Link to comment
Share on other sites

...

You're forgetting one thing. refresh. Having to refresh takes time away from accessing the memory, which is the main bottleneck. If I didn't have to refresh, I could access it no problem at a 8-9MHz rate or more. The refresh soaks up cycles that cause the problems. It might be possible to do an "intelligent" refresh where it does a burst read for a 2 cycle instruction, then inserts the refresh there... I dunno. I am sure it IS possible, but it will be tricky/finicky to get working.

...

If the SDRAM can be run at 1 cycle of 1 byte per 70ns, given the PCE cycle is 142ns wouldn't it work to have the mem bus always at 70 ns (well 71) and the odd cycles are all refreshes?

If I understand correctly the SDRAM mem chip and what the F18A author did the actual SDRAM chip knows which rows need refreshing, so it is just a matter to issue the refresh and let it complete in its 70ns interval [the first half of the PCE access].

During the even cycles instead you actually do R/W as requested by the PCE CPU/VDP at 70ns though.

 

Basically you run the mem at twice the PCE access time (well half but you get it), the first half you use it yourself for refresh, the second half is when you perform what the PCE CPU/VDP wants to actually do, I am not sure it won't make some mem mapped peripherals behave wonky but if you know it ahead of time you can compensate their behavior as well. Technically you can expose to the actual cart a bus where what happens in the even cycles is "maintained" on the odd ones as well (basically hiding the refresh to "bus sniffers") so they would not be the wiser.

 

I recognize that I am waving my hands a lot here as I have what I consider a barely passing knowledge of low level digital electronics furthermore I am basing my speculation on that 70ns SDRAM controller which may well not work at all.

 

Just throwing ideas out there if it helps, I can shut up if you feel my suggestions are actually distractions, I won't take offense in the least.

Link to comment
Share on other sites

 

I'm playing it right now on a regular NES, trying various versions of the roms, including an english translation, and on all of them the bottom still glitches. I haven't been able to recreate the crash yet however.

 

Thank you for testing. I'm getting the same glitches but only crashing on the Nt mini. Other than these two games (both using N163 audio) compatibility has been great with everything I've tested. Maybe kevtris can shed some light on this issue when he gets a chance.

Link to comment
Share on other sites

That was me threatening to make that supercut, but I can see why you'd confuse me with the only other person talking about Game King! I will make this video, just waiting for my capture card to arrive (today or tomorrow in the mail).

Well

I'm looking forward to it too!

Link to comment
Share on other sites

I do take my GBA out and about with my GB Everdrive.

Be nice to be able to pop the cart in and use my saved games when I was mobile!

Couldn't you just... take the sd card out of the Everdrive and copy your save file over to your Nt Mini sd card?

 

(Not that it matters because it is supported but either way there are ways to get it working lol)

Edited by Wolf_
Link to comment
Share on other sites

Couldn't you just... take the sd card out of the Everdrive and copy your save file over to your Nt Mini sd card?

(Not that it matters because it is supported but either way there are ways to get it working lol)

I could....

but since I already have the GB Everdrive and want to support Kevtris by buying stuff from him...

Link to comment
Share on other sites

Incredible work!

I assume the Gameboy one will be able to use GB and GBC carts?

Also will it be compatible with the GB Everdrive?

 

I'm not a tech person but I don't quite understand why the 2600 and 7800 couldn't work on the same adapter...

Since you can plug 2600 games into the 7800 I thought they just added more pins on the sides for the 7800 carts?

No reason the Everdrives shouldn't work if they run on original hardware. That's the whole point of having FPGA consoles IMO, besides zero latency HD signals.

 

Kevtris already mention it, but the slots for 7800 is toothed, with a little bridge between the outer and inner prongs. Inserting a 2600 cart freely into a 36-pin slot would run the risk of uneven insertion, shorting pins and potentially frying something. toothed connectors are not available commercially thus necessitating two different slots for each system.

 

 

Which version do you have?

ED64 v3

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...