Jump to content
RevEng

MiSTer FPGA - 7800 Core

Recommended Posts

On 3/13/2021 at 8:06 AM, Jstick said:

There is also the matter of co-processor support (i.e. Harmony CDFJ, etc.).  Sorg dismissed the idea of implementing this a year or two ago, but certainly someone else with the knowhow could do so. 

 

Not sure if it would require leveraging the ARM on the DE-10, or (since the original purpose of the Melody ARM was just to replicate DPC etc.) if the co-processor could simply be implemented on the FPGA itself.

I think in general the 2600 and Colecovision cores could get a bit more love.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for all of the kind words, all. Honestly it's been a treat working with the MiSTer devs, who deserve the lion's share of credit here.

 

Speaking of credit... the devs were looking for expertise on implementing 7800 colors/palettes, so of course our color guru @Trebor got pulled into the discussions. Trebor has provided the devs palette files they could use directly, general info on the subject, and guidance on which palette choice is going to look best overall as a default. So a big thanks to him from me, for that. :thumbsup:

  • Like 11
  • Thanks 3

Share this post


Link to post
Share on other sites

Thank you such much guys. My MiSTer and I are looking forward for the 7800 core ! Come on !!!

  • Like 1

Share this post


Link to post
Share on other sites

Thanks!

 

Time for a quick update, I guess. Things are going quite well with the core. As far as I can tell - and I've probed pretty deeply - everything is completely cycle accurate. So far all of the commercial and homebrew games seem to match real hardware, including glitches that happen on both. I did A:B listening tests for TIA, Pokey, and YM2151 sound, and they all sound completely authentic. The 7800 core models the TIA non-linear volume response that was discovered a little while back too, which causes a bit of a rumble at loud volumes.

 

Currently alternative controls are being worked on by Kitrinix, and progressing well. I spent some time yesterday measuring paddle-capacitor charging rate vs resistance on my 7800, as well as measuring the discharge rate, so we could get an accurate experience.

 

interesting side note on real hardware: Atari's 1MOhm paddle resistance range is way overkill, and even the full range of Vic-20 500KOhm paddles can't be read by the 2600/7800 within a single frame.

 

  • Like 7
  • Thanks 3

Share this post


Link to post
Share on other sites

I need to pick one of these up and download this.

 

One curiosity question: if this is FPGA, could you theoretically (eventually) wire in a cartridge port?

  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, PacManPlus said:

I need to pick one of these up and download this.

 

One curiosity question: if this is FPGA, could you theoretically (eventually) wire in a cartridge port?

 

Not on MiSTer, but if someone ported the core to purpose-made hardware you could.

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
On 3/13/2021 at 9:06 AM, Jstick said:

There is also the matter of co-processor support (i.e. Harmony CDFJ, etc.).  Sorg dismissed the idea of implementing this a year or two ago, but certainly someone else with the knowhow could do so. 

"Sorg" didn't just dismiss it.  He spewed a nasty condescending shitpost and made it clear he thinks the entire practice of ARM assist has no merit (in his eyes).  I don't know if it's been scrubbed since then, but it happened.

 

Edited by orange808
added a qualifier to make it clear

Share this post


Link to post
Share on other sites
3 minutes ago, orange808 said:

"Sorg" didn't just dismiss it.  He spewed a nasty condescending shitpost and made it clear he thinks the entire practice of ARM assist has no merit (in his eyes).  I don't know if it's been scrubbed since then, but it happened.

 

That uses a 90mhz ARM cpu correct? That would relatively speaking be more difficult to implement than the entire rest of both the 7800 and 2600 with all it's mappers and chips combined, to put things in perspective, plus a clock at that level is quite demanding. Someone is welcome to add it, but it's not something in my scope to pursue. 

 

5 minutes ago, youxia said:

@RevEng Does this core support 15Khz displays? ( CRT fanatic here with fingers crossed)

Yes it does, and it also has a built in scandoubler for 31khz. Also supports real lightguns on CRT's via the GPIO. I'm going to add an option to flip the lines for Sega Phasers.

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites
8 minutes ago, Kitrinx said:

That uses a 90mhz ARM cpu correct? That would relatively speaking be more difficult to implement than the entire rest of both the 7800 and 2600 with all it's mappers and chips combined, to put things in perspective, plus a clock at that level is quite demanding. Someone is welcome to add it, but it's not something in my scope to pursue. 

 

Yes it does, and it also has a built in scandoubler for 31khz. Also supports real lightguns on CRT's via the GPIO. I'm going to add an option to flip the lines for Sega Phasers.

https://www.atari-forum.com/viewtopic.php?t=33358&start=100

 

There it is.

 

Share this post


Link to post
Share on other sites
1 minute ago, orange808 said:

 

Ah yes, the famous Laughing Shoes post. Well, my core is not related to the core discussed in that thread, however to repeat the answer to the original question: I won't be implementing a 70mhz arm CPU, but if someone wants to, and the implementation is stable and doesn't create timing issues, I would be willing to integrate it.

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites
16 minutes ago, Kitrinx said:

Yes it does, and it also has a built in scandoubler for 31khz. Also supports real lightguns on CRT's via the GPIO. I'm going to add an option to flip the lines for Sega Phasers.

Thanks for this, and all your other work. Nice to see the FPGA Heroine on these pages ;)

  • Like 4

Share this post


Link to post
Share on other sites
2 hours ago, RevEng said:

I did A:B listening tests for TIA, Pokey, and YM2151 sound, and they all sound completely authentic. The 7800 core models the TIA non-linear volume response that was discovered a little while back too, which causes a bit of a rumble at loud volumes.

Great stuff Mike! Anything from the core you can feed back into A7800?

Share this post


Link to post
Share on other sites
2 hours ago, RevEng said:

Currently alternative controls are being worked on by Kitrinix, and progressing well. I spent some time yesterday measuring paddle-capacitor charging rate vs resistance on my 7800, as well as measuring the discharge rate, so we could get an accurate experience.

Are 2600 paddles supported via any of the 2600daptors (or is it some kind of direct SNAC connection only)? 

 

I have 2 D9 adapters I'd like to use with this core.  

Share this post


Link to post
Share on other sites
Just now, Jstick said:

Are 2600 paddles supported via any of the 2600daptors (or is it some kind of direct SNAC connection only)? 

 

I have 2 D9 adapters I'd like to use with this core.  

Good paddles are so hard to find ;) There's actually a project called "Mr Spinner" in the Mister-devel github that works like the 2600daptors but with a little more versatility. The core can handle paddles via: mouse, joystick axis, ps4 touchpad, dedicated "mr spinner" paddle/spinners, and the ADC version of SNAC. It can't use standard SNAC because of the analog nature of paddle wires.

  • Like 2

Share this post


Link to post
Share on other sites
35 minutes ago, mksmith said:

Great stuff Mike! Anything from the core you can feed back into A7800?

Yes and no. FPGA implementation and software based emulation are different enough to make direct transfer difficult (the former being concerned with changes on a clock by clock granularity, the latter much less so) but Kitrinx has uncovered several hardware truths along the way, so that knowledge can be applied to the emulation.

 

I have an experimental a7800 branch (on hold for now, but I'll get back to it eventually) with the goal of improved timing. The Mame YM2151 is already pretty accurate, and the Mame TIA audio isn't bad, though it's not as accurate as Kitrinx's. The big thing that needs improvement in a7800 is the oddball pokey modes, and I don't think there's anything to be gleaned here that wasn't already publicly documented. But I do have one or two ideas about making the a7800 pokey more accurate, so we'll see where that goes.

 

  • Like 3

Share this post


Link to post
Share on other sites
1 hour ago, Kitrinx said:

Good paddles are so hard to find ;) There's actually a project called "Mr Spinner" in the Mister-devel github that works like the 2600daptors but with a little more versatility. The core can handle paddles via: mouse, joystick axis, ps4 touchpad, dedicated "mr spinner" paddle/spinners, and the ADC version of SNAC. It can't use standard SNAC because of the analog nature of paddle wires.

I see.  I have a pair of CX-30 paddles that I bought new from Best Electronics with upgraded S-5 "Super Pots" , they are as smooth as butter (and supposed to last forever).

Share this post


Link to post
Share on other sites
2 hours ago, RevEng said:

Yes and no. FPGA implementation and software based emulation are different enough to make direct transfer difficult (the former being concerned with changes on a clock by clock granularity, the latter much less so) but Kitrinx has uncovered several hardware truths along the way, so that knowledge can be applied to the emulation.

 

I have an experimental a7800 branch (on hold for now, but I'll get back to it eventually) with the goal of improved timing. The Mame YM2151 is already pretty accurate, and the Mame TIA audio isn't bad, though it's not as accurate as Kitrinx's. The big thing that needs improvement in a7800 is the oddball pokey modes, and I don't think there's anything to be gleaned here that wasn't already publicly documented. But I do have one or two ideas about making the a7800 pokey more accurate, so we'll see where that goes.

 

👍

Share this post


Link to post
Share on other sites
Posted (edited)

Has this core been released yet? I found a new beta Atari 7800 rbf file. Is that the one that we are talking about in the thread or was that a separate core? The cores that I have found are named and dated Atari7800 03-10-2021 and Atari7800 03-11-2021.

Edited by killersquirel

Share this post


Link to post
Share on other sites
6 hours ago, killersquirel said:

Has this core been released yet? I found a new beta Atari 7800 rbf file. Is that the one that we are talking about in the thread or was that a separate core? The cores that I have found are named and dated Atari7800 03-10-2021 and Atari7800 03-11-2021.

There are only beta cores out there.   No official release yet, but I'm sure an official release is not too far away.

Share this post


Link to post
Share on other sites

I'm thinking of bringing my plans forward to get a MiSTer (Instead of an NTSC 7800). 

 

Starting to look for suppliers in the UK.

  • Like 2

Share this post


Link to post
Share on other sites
15 minutes ago, Muddyfunster said:

I'm thinking of bringing my plans forward to get a MiSTer (Instead of an NTSC 7800). 

 

Starting to look for suppliers in the UK.

Mouser is an authorized dealer... You will not regret buying a De-10 if you love vintage stuffs ! That's just a dream.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
6 hours ago, Muddyfunster said:

I'm thinking of bringing my plans forward to get a MiSTer (Instead of an NTSC 7800). 

 

Starting to look for suppliers in the UK.

It will be a well worth purchase.  

Share this post


Link to post
Share on other sites
6 hours ago, Muddyfunster said:

Starting to look for suppliers in the UK.

I recommend https://misterfpga.co.uk/ for add-ons. Bought there myself, all works fine, and Nathaniel is a very helpful guy.

 

Just think carefully before buying: it's very easy to overspend on MiSTer for no good reason. You can easily save a lot of money by not buying the I/O and USB boards, which are not really needed. Even 32MB SDRAM instead of 128 is a good option if you want to push it even further (it will run everything apart from some NeoGeo games).

  • Like 1
  • Thanks 1

Share this post


Link to post
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   1 member

×
×
  • Create New...