Would MiSTer ever be able to run a Neo Geo core?

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, Greenious, spiny, Sorgelig, Moderator Team

Macro
Atarian
Atarian
Posts: 5
Joined: Wed Jul 18, 2018 2:35 pm

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Macro » Sat Feb 09, 2019 10:33 pm

This might be an impossible idea (I dont' know Neo Geo hardware that well) but presuming it has some sort of sprite ram where it writes sprite numbers / co-ordinates etc, could you not pick up the fact that a sprite will be needed when the write to the ram occurs - that may then allow more time to get it cached before it gets around to drawing it on the screen.

User avatar
furrtek
Retro freak
Retro freak
Posts: 11
Joined: Tue May 22, 2018 11:57 pm
Contact:

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby furrtek » Wed Feb 13, 2019 9:26 am

Macro wrote:This might be an impossible idea (I dont' know Neo Geo hardware that well) but presuming it has some sort of sprite ram where it writes sprite numbers / co-ordinates etc, could you not pick up the fact that a sprite will be needed when the write to the ram occurs - that may then allow more time to get it cached before it gets around to drawing it on the screen.


It would be possible, there's indeed a sprite RAM with lists of attributes for each of them. Rather complex logic could be added to make lists of which sprites would appear on each line when their attributes are written instead of waiting for the real video chip to do that 2 raster lines before rendering them.

BUT (there's always a but...): what if the game changes the attributes just before the sprite starts rendering ? Usually VRAM writes happen during the v-blank but it's not uncommon for games to updated the VRAM during active display (because of lengthy calculations or deliberately for raster effects).

Not sure I want to attempt something so involved if it actually doesn't completely solve the problem in the end :/

@Sorgelig: Is there a way for the HPS to retrieve parallel data from a core, like ioctl_download but in the other direction ? Or should I add that or use the "serial port" ? I'd like to be able to save the backup RAM and memory card contents.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5088
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Sorgelig » Wed Feb 13, 2019 1:33 pm

furrtek wrote:@Sorgelig: Is there a way for the HPS to retrieve parallel data from a core, like ioctl_download but in the other direction ? Or should I add that or use the "serial port" ? I'd like to be able to save the backup RAM and memory card contents.

This functionality is already implemented.
Cores use FS option in OSD instead of F. It means HPS will mount the file with the same name as ROM but with extension .SAV (or will create one if absent).
Then core may use sd_* signals to load/save the content. You can check NES,SNES,Gameboy,Genesis where it's implemented.

bitfan2011
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 111
Joined: Sat Dec 29, 2018 5:46 pm

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby bitfan2011 » Sat Feb 16, 2019 12:46 am

if you want a great game to test with which is not massive, try Shin Samurai Spirits
that game alone will keep people busy for ages

User avatar
furrtek
Retro freak
Retro freak
Posts: 11
Joined: Tue May 22, 2018 11:57 pm
Contact:

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby furrtek » Sat Feb 16, 2019 11:21 am

Sorgelig wrote:This functionality is already implemented.
Cores use FS option in OSD instead of F. It means HPS will mount the file with the same name as ROM but with extension .SAV (or will create one if absent).
Then core may use sd_* signals to load/save the content. You can check NES,SNES,Gameboy,Genesis where it's implemented.


Thanks, I didn't see that.

About the memory size issue: how about using two 64Mx8 SDRAM chips like the IS42S86400F ? That would give 128MiB total without loading the data bus twice, also the chips aren't too expensive and would still be easy to solder. Would wiring the address/control bus in parallel require lowering the clock frequency a lot ? It may be possible to keep it at 96MHz.

There's something I don't get about the occasionally long delays on the DDR3 memory. Is that caused by the embedded controler multiplexing access between the FPGA core and the ARM CPU ? If that's the case, then would it be possible to use FPGA-dedicated DDR/DDR2/DDR3 memory on the extension board ?

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5088
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Sorgelig » Sat Feb 16, 2019 12:35 pm

furrtek wrote:About the memory size issue: how about using two 64Mx8 SDRAM chips like the IS42S86400F ? That would give 128MiB total without loading the data bus twice, also the chips aren't too expensive and would still be easy to solder. Would wiring the address/control bus in parallel require lowering the clock frequency a lot ? It may be possible to keep it at 96MHz.

8bit SDRAM will not load twice only data bus while clock, control and address will be still loaded twice. I didn't test such config. Exactly IS42S86400F won't work at required frequency as it consumes a lot 120-180mA. So, the single chip probably will work up to ~80MHz. 2 chips will be even slower. The chip i'm using consumes only 60mA.
2 chips not only load signals twice but routing will be awful in such small space (even with 4 layers) - it will additionally reduce the max clock.
There are probably some more options exist with BGA chips but i don't look at them as it's definitely not DIY friendly cases.

furrtek wrote:There's something I don't get about the occasionally long delays on the DDR3 memory. Is that caused by the embedded controler multiplexing access between the FPGA core and the ARM CPU ? If that's the case, then would it be possible to use FPGA-dedicated DDR/DDR2/DDR3 memory on the extension board ?

DDR3 is shared between many consumers. There are also refresh cycles. Nothing you can do with it besides the read with burst to the BRAM and read from BRAM at required rate. This usage implies streaming data, not random reads word by word. Although Genesis and TGfx16 work well with ROM in DDR3. For these consoles ROM is not directly accessible by video chips, so latency is not an issue for them as long as integral rate is within required pace.

I don't think DDRx is a viable option for addon. At first: it requires diff signals carefully routed which cannot be done on existing DE10-nano connectors. At second: raw DDRx control is a nightmare. Current internal DDR3 is controlled by hardware giving very simple MPFE (AvalonMM-like) interface. It won't be the same with external DDR memory.

May be it's really would be better to concentrate on NeoGeo CD and <256MBit ROMs first. Then later can think how to support larger ROMs.
I guess NeoGeo ROMs consist on separate blocks where you know which blocks are for graphics and then must go to SDRAM, Other blocks can go to DDR3. This way even some >256MBit ROMs will be supported.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5088
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Sorgelig » Sat Feb 16, 2019 2:39 pm

New interesting board from Terasic:
https://www.terasic.com.tw/cgi-bin/page ... 1&PartNo=3
It's very similar to DE10-nano by main functions. It has dedicated separate DDR memory for FPGA. And it's 3 times expensive :)

P.S: Just single 64MB SDRAM chip gives 512MBit. And if take in account only graphics part, it probably will cover 99% of NeoGeo ROMs. Single 64MB SDRAM is pretty much possible with some chips.

JimDrew
Atari Super Hero
Atari Super Hero
Posts: 815
Joined: Mon Nov 04, 2013 5:23 pm

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby JimDrew » Sun Feb 17, 2019 8:36 am

Sorgelig wrote:New interesting board from Terasic:
https://www.terasic.com.tw/cgi-bin/page ... 1&PartNo=3
It's very similar to DE10-nano by main functions. It has dedicated separate DDR memory for FPGA. And it's 3 times expensive :)

P.S: Just single 64MB SDRAM chip gives 512MBit. And if take in account only graphics part, it probably will cover 99% of NeoGeo ROMs. Single 64MB SDRAM is pretty much possible with some chips.


It's too bad on the price. But it proves that the Replay 2 will be definitely be worth it's price - and memory won't be an issue with 1 or 2GBs available for the FPGA. Replay 2 will be able to run everything now and in the future.
I am the flux ninja

User avatar
kitrinx
Captain Atari
Captain Atari
Posts: 167
Joined: Wed Sep 26, 2018 6:03 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby kitrinx » Sun Feb 17, 2019 12:00 pm

JimDrew wrote:It's too bad on the price. But it proves that the Replay 2 will be definitely be worth it's price - and memory won't be an issue with 1 or 2GBs available for the FPGA. Replay 2 will be able to run everything now and in the future.


Is it going to be cheaper or more available than that dev board sorg linked?

Fortunately, Neo Geo is probably the largest challenge that MiSTer will face in this regard. There's no doubt that more IO pins available would make things nicer, especially for systems like SNES, but sixth generation systems are not realistic for any FPGAs right now, even discounting the effort it would take in implementing them, so really what we're looking at is fifth generation consoles. Most of those are CD based, and things like the N64 have developmental hurtles before we need to worry about hardware.

All things considered, MiSTer's choice in hardware hits a sweet spot between power and low cost of entry that is proving extremely effective at bringing people to the platform, which leads to more development, and so on. Just like a game system, it doesn't matter how much power you have if you don't have good developers making enough stuff for it. If we ever hope to tackle systems complex enough to need collaborative work, having a very popular and accessible platform is going to be more important than super-powerful niche hardware. see: raspberry pi.

But this is not really what this thread is about. The 64mb 99% of ROMs approach seems like the most reasonable solution so far, and an affordable and easy upgrade for people who did not buy clone IO boards.

jft
Atari nerd
Atari nerd
Posts: 47
Joined: Sun Oct 28, 2018 12:07 pm

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby jft » Sun Feb 17, 2019 1:16 pm

Man, seems there is a huge price jump to go from a 256M chip to 512M (with the Alliance brand anyway, from ~$3.20 to over $10, and Digikey doesnt even have stock :) ).

Is the concern of multiple chips the power draw it will place on the DE10?
If not, would it be feasible (assuming matching trace lengths with the DE10) to have qty=2 or even qty=4 256M chips on a single RAM board? From a price/availability perspective it is attractive, but from a power consumption/routing perspective, probably not eh?

ijor
Hardware Guru
Hardware Guru
Posts: 3802
Joined: Sat May 29, 2004 7:52 pm
Contact:

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby ijor » Sun Feb 17, 2019 1:41 pm

Sorgelig wrote:Exactly IS42S86400F won't work at required frequency as it consumes a lot 120-180mA. So, the single chip probably will work up to ~80MHz. 2 chips will be even slower. The chip i'm using consumes only 60mA...
Single 64MB SDRAM is pretty much possible with some chips.


Did you test the 512Mbit (32x16) Alliance Memory part? : https://www.alliancememory.com/datasheets/AS4C32M16SB

It might worth a try if not. But as you are saying, this part also has much higher power consumption according to the specifications.

The problem with a reduced max frequency is the compatibility with other cores. Even if the slower frequency would be enough for this core, the user would need to swap boards for those cores that require a higher frequency?

Personally I wouldn't mind a BGA solution if performance is better. I do realize it is not DYI friendly.

JimDrew wrote:It's too bad on the price. But it proves that the Replay 2 will be definitely be worth it's price - and memory won't be an issue with 1 or 2GBs available for the FPGA. Replay 2 will be able to run everything now and in the future.


Nice advertising and marketing language! I don't think even Mike would use that style, he is much more modest :)
Fx Cast: Atari St cycle accurate fpga core

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5088
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Sorgelig » Sun Feb 17, 2019 2:01 pm

ijor wrote:Did you test the 512Mbit (32x16) Alliance Memory part? : https://www.alliancememory.com/datasheets/AS4C32M16SB

yep, this is what i've tried. It's harder to make it work at 167MHz than 32MB. On one DE10-nano board i couldn't make it work higher than 130MHz. Another DE10-nano board seems passes 167MHz.
It works with all cores except two. Minimig doesn't work because page addressing on 64MB is different. So need to change the core for 64MB chip.
Archie works strange - it needs around one minute to start to boot. Once it show the booting lines, the rest works ok.

64MB is kind of redundant and much more expensive. Only NeoGeo rises the question about it. Still i think it's better to start with 32MB and make it work reliably.

User avatar
Newsdee
Atari God
Atari God
Posts: 1463
Joined: Fri Sep 19, 2014 8:40 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Newsdee » Mon Feb 18, 2019 3:51 am

NeoGeoCD would be a great start if it's easier. It has a few games exclusive to it too.

The caveats of the CD are that their drive was super slow so loading times could become unbearable. It was blamed on the slow speed 1x CDROM drive of the first units, and became a little better with the later CDZ console that had a 2x CDROM drive.

Furrtek is no doubt well aware of all this, but for anybody interested here is a discussion on causes of slowdown:
https://wiki.neogeodev.org/index.php?title=Loading_time

It would be interesting to see if it can be improved with an FPGA. I guess loading times and drive seek times could be eliminated to a large extent.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5088
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Sorgelig » Mon Feb 18, 2019 4:47 am

In the beginning of implementation slow loading is an advantage :)

User avatar
furrtek
Retro freak
Retro freak
Posts: 11
Joined: Tue May 22, 2018 11:57 pm
Contact:

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby furrtek » Tue Feb 19, 2019 10:31 pm

Thanks again for all the information.
I'll put aside the idea of getting all games to fit for now and prioritize bugfixes and additionnal functionality.
I'll also consider adding a NeoGeo CD system mode if I can get the DMA chip logic right.

Expect an update this week :)

Dubon
Retro freak
Retro freak
Posts: 12
Joined: Fri Oct 26, 2018 4:01 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby Dubon » Wed Apr 03, 2019 4:13 pm


User avatar
cvenditti
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 104
Joined: Sun Nov 19, 2017 12:45 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby cvenditti » Wed Apr 03, 2019 4:25 pm

Dubon wrote:https://youtu.be/BmjuC47jTxE

Can you please upload the rbf? I try to compile the full version yesterday but I got errors.
Thank you

User avatar
kitrinx
Captain Atari
Captain Atari
Posts: 167
Joined: Wed Sep 26, 2018 6:03 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby kitrinx » Wed Apr 03, 2019 8:27 pm

cvenditti wrote:
Dubon wrote:https://youtu.be/BmjuC47jTxE

Can you please upload the rbf? I try to compile the full version yesterday but I got errors.
Thank you


I have a branch with an updated sys that might be easier to work with:

https://github.com/Kitrinx/Neogeo_MiSTer/tree/neohdmi

You need the main MiSTer binary that goes with it as well as several files in the NeoGeo dir on your sd card:
000-lo.lo
neocd.bin
neo-epo.sp1 (this can be original or universe bios)
romsets.xml (use furrtek's, others probably wont work)
sp-s2.sp1
sfix.sfix
top-sp1.bin

User avatar
cvenditti
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 104
Joined: Sun Nov 19, 2017 12:45 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby cvenditti » Thu Apr 04, 2019 1:04 am



The Lite version works perfectly now.
I still have errors with the full but I fine with the lite

Many thanks to you :cheers:

User avatar
kitrinx
Captain Atari
Captain Atari
Posts: 167
Joined: Wed Sep 26, 2018 6:03 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby kitrinx » Thu Apr 04, 2019 1:38 pm

cvenditti wrote:


The Lite version works perfectly now.
I still have errors with the full but I fine with the lite

Many thanks to you :cheers:


Sorry, I didn't rename it. With Grabulosaur's scaler there isn't really a lite and full anymore, "lite" is the one you want. Full should just be removed and lite renamed. If Furrtek updates /sys in his project that's likely what you'll see.

seastalker
Captain Atari
Captain Atari
Posts: 274
Joined: Sun May 15, 2016 3:44 pm

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby seastalker » Thu Apr 04, 2019 3:07 pm

kitrinx wrote:
cvenditti wrote:
Dubon wrote:https://youtu.be/BmjuC47jTxE


You need the main MiSTer binary that goes with it as well as several files in the NeoGeo dir on your sd card:

neo-epo.sp1 (this can be original or universe bios)
top-sp1.bin


I am down to finding these two files. I downloaded the latest unibios. Do I rename a particular file to 'neo-epo.sp1'? I have many bios files but can't seem to find an isolated 'top-sp1.bin' file. Should I be looking for an older neogeo or neogeoCD bios? Again is there a file I may have already that I can rename to "top-sp1.bin"?

Thanks and looking VERY forward to trying out the Neo core.

User avatar
cvenditti
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 104
Joined: Sun Nov 19, 2017 12:45 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby cvenditti » Thu Apr 04, 2019 4:41 pm

seastalker wrote:
I am down to finding these two files. I downloaded the latest unibios. Do I rename a particular file to 'neo-epo.sp1'? I have many bios files but can't seem to find an isolated 'top-sp1.bin' file. Should I be looking for an older neogeo or neogeoCD bios? Again is there a file I may have already that I can rename to "top-sp1.bin"?

Thanks and looking VERY forward to trying out the Neo core.


I did PM you. I will try first without the "top-sp1.bin"

zomgugoff
Atari freak
Atari freak
Posts: 52
Joined: Tue Jan 29, 2019 10:12 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby zomgugoff » Sat Apr 06, 2019 2:54 am

I'm not having any luck getting any games to boot. I have located the listed files, but nothing happens after the files are shown loading. Can the MD5s of the required files be posted?

DYates69
Atarian
Atarian
Posts: 5
Joined: Wed Apr 25, 2018 3:25 pm

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby DYates69 » Sat Apr 06, 2019 7:30 am

I couldn't find the top-sp1.bin file either.

I have found that this core doesn't seem to like larger partitions. Took me ages trying to get it working on a 32GB card then I tried a smaller partition and one of the previous versions worked straight away.

Anyway idea where I can find the top-sp1.bin?

Thanks

zomgugoff
Atari freak
Atari freak
Posts: 52
Joined: Tue Jan 29, 2019 10:12 am

Re: Would MiSTer ever be able to run a Neo Geo core?

Postby zomgugoff » Sat Apr 06, 2019 7:50 am

DYates69 wrote:I couldn't find the top-sp1.bin file either.

I have found that this core doesn't seem to like larger partitions. Took me ages trying to get it working on a 32GB card then I tried a smaller partition and one of the previous versions worked straight away.

Anyway idea where I can find the top-sp1.bin?

Thanks


I'm pretty sure we can't link BIOS files here, but I can tell you this is a NeoGeo CD BIOS file, and it can be found in MESS BIOS collections.


Return to “MiSTer”

Who is online

Users browsing this forum: No registered users and 4 guests