Jump to content
IGNORED

MiSTer FPGA - 7800 Core


RevEng

Recommended Posts

Another update to the Atari7800_MiSTer core!  There are now Video Processing 'presets' available for those desiring a simplified approach to applying Horizontal, Vertical, Scan, filters, coupled with Gamma Correction and Shadow Mask settings, as part of the 20220212 update.

 

Also, Terasic has the DE-10 Nano Kit, available for purchase.

  • Like 3
Link to comment
Share on other sites

19 hours ago, Trebor said:

Sorry to hear that.  The order button went from a non-clickable "Out of Stock", to a clickable..

 

image.png.4840c57b0b7dc917b9b8a7d5ac0557fb.png

 

Though, once selected, it is showing:

 

image.thumb.png.946a491d0747e012c3fbef685e21c412.png

 

Hopefully, more sooner than later it will be in supply again.

Interesting. I checked multiple times the other day when I posted a status update about their availability and they were always in stock when I checked. In fact my shipping label has already been printed and the de10 I ordered is scheduled for shipment tomorrow. 

  • Like 1
Link to comment
Share on other sites

2 hours ago, RevEng said:

I expect the bulk of them went to scalpers. If you search the ebay sold listing, an open box de10 nano recently sold for $275, and new ones go for $389-$500.

I never have understood the scalping thing. People must be poor and desperate for money to scalp things. I can't imagine there is much profit in it  compared to even an hourly minimum wage. Or perhaps they scalp in volumes of hundreds. Sad really. It's been a few years I think and there are still sealed analogue nt mini noirs sitting on Ebay for example... I bought my most recent de10 from terasic for development purposes as I didn't want to disassemble and re-assemble my mister.

Link to comment
Share on other sites

13 minutes ago, john_q_atari said:

I never have understood the scalping thing. People must be poor and desperate for money to scalp things. I can't imagine there is much profit in it  compared to even an hourly minimum wage. Or perhaps they scalp in volumes of hundreds. Sad really. It's been a few years I think and there are still sealed analogue nt mini noirs sitting on Ebay for example... I bought my most recent de10 from terasic for development purposes as I didn't want to disassemble and re-assemble my mister.

Yeah, I think it's volume-based business. They're using bots to purchase discrete GPUs, consoles, and other popular big ticket items in volume, so it's really not a lot of effort on their part. Any small amount of profit is worthwhile to them, since they can scale things up without much bother.

Link to comment
Share on other sites

  • 5 months later...

Is anybody successfully able to use paddles via SNAC with this 7800 core for 2600 games? The core (and my snac) appears to have all the appropriate settings, but I can't get it working with either my commodore-branded paddles, or my hyperkin ranger, and wanted to confirm it was possible before digging out/cleaning other paddles.

 

I've searched through this thread, and it looks like I need a WIP version of the 2600 core instead--is that still accurate?

Edited by Reaperman
Link to comment
Share on other sites

29 minutes ago, Reaperman said:

Is anybody successfully able to use paddles via SNAC with this 7800 core for 2600 games? The core (and my snac) appears to have all the appropriate settings, but I can't get it working with either my commodore-branded paddles, or my hyperkin ranger, and wanted to confirm it was possible before digging out/cleaning other paddles.

 

I've searched through this thread, and it looks like I need a WIP version of the 2600 core instead--is that still accurate?

Coincidentally, commented on ~7 hours ago under Feature Request: Atari 2600 SNAC Adapter support for Paddles:

Quote

The analog input style of paddle input isn't really compatible with also having tape input support with the framework as it exists now. Blue said he is designing some new board for this, and that's where it's stood for some time now.

For the curious, everything else surrounding Paddles, per the README.md file, is in the spoiler below.

 

Spoiler

 

Paddles

The paddle peripheral is mostly used in 2600 games and has special handling surrounding it because of its unusual 2-paddles-per-port configuration. Three types of inputs are supported for paddles: analog sticks, mice, and mr. spinner compatible joystick adapters. It's important to note that PADDLES HAVE A DEDICATED FIRE BUTTON in this core, and it must be set in order to use the paddles properly. Because there are four paddles and two controllers ports, and a myriad of input devices, paddles are assigned independently of joysticks. Every time a game is cold reset, paddles are re-assigned. The core will assign paddles in order, when a port has paddles enabled. The various devices are recognised under these conditions:

  • Mice when you click the left button.
  • Analog sticks when you move either the Y axis or X axis to an extreme (make sure to assign analog x/y in the main mapping).
  • Mr. Spinner devices when they are moved to an extreme position.

Please note that some games do not use paddle 1A for their input, some exceptions are:

  • Astroblast: Uses 1B.
  • Tac Scan: Uses 2B.
  • Demons to Diamonds: Uses 1B.

To make dealing with this easier, there is an option to swap paddles A and B of either port, so that 1A will become 1B and vice versa. Additionally, if the input type is set to "auto" with 2600 games, pressing the fire button will toggle the input into Joystick mode, and pressing the paddle button will toggle the input into Paddle mode, for convenience.

 

 

  • Thanks 1
Link to comment
Share on other sites

On 2/4/2022 at 9:43 PM, mimo said:

Yeah, should have got one two years ago when I first wanted one.

Oh well 

Well, it finally arrived!
I must say that the lack of lag is a real game changer for me. Not played too much with it yet but so far so good other than the cheapo USB arcade stick that I bought that sucks on the Pac man plus cart variations for some reason.
So glad it's finally here, will likely be selling some of my retro stuff soon, it's that good!

  • Like 4
Link to comment
Share on other sites

1 hour ago, mimo said:

So glad it's finally here, will likely be selling some of my retro stuff soon, it's that good!

I was planning on consolising an NeoGeo MVS and worked out that with a flash card I'd be looking at something in the region of £800 to do it. It was easy to justify the cost of the MiSTer at that point. When it landed and it proved to be awesome, I sold my NeoGeo CDZ which paid for it at the time (I also offloaded some computers at the time. I think my ST and C64 went around that time, along with some monitors...). I toyed with shifting some others and even had a really good offer on the PC-Engine Duo, but I am way too attached to that to part with it.

 

The MiSTer is a game changer though. Had I not got a shedload of retro hardware before it landed, I don't think I'd have bothered with them. It's just so much easier to manage. With the best will in the world, 40 year old kit breaks and needs maintenance. Because I actually enjoy that side of thing, that's not a problem, but there's a lot of people who don't where the MiSTer has to be one of the best solutions out there.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, juansolo said:

I was planning on consolising an NeoGeo MVS and worked out that with a flash card I'd be looking at something in the region of £800 to do it. It was easy to justify the cost of the MiSTer at that point. When it landed and it proved to be awesome, I sold my NeoGeo CDZ which paid for it at the time (I also offloaded some computers at the time. I think my ST and C64 went around that time, along with some monitors...). I toyed with shifting some others and even had a really good offer on the PC-Engine Duo, but I am way too attached to that to part with it.

 

The MiSTer is a game changer though. Had I not got a shedload of retro hardware before it landed, I don't think I'd have bothered with them. It's just so much easier to manage. With the best will in the world, 40 year old kit breaks and needs maintenance. Because I actually enjoy that side of thing, that's not a problem, but there's a lot of people who don't where the MiSTer has to be one of the best solutions out there.

Well, I enjoy the repair side of things too, but most of my stuff was bought when it was cheap so didn't matter if I screwed it up. But I have two ST's that are in poor cosmetic condition that I never use, too many 7800's and way too many 8bit Atari computers and peripherals and mods, about a billion joysticks, carts, discs, Sega Saturn etc etc etc.
So I need to have a serious think about what I can live without. I'll let you and @Muddyfunster know first 

  • Thanks 2
Link to comment
Share on other sites

  • 1 month later...

I'm new to the MiSTer FPGA, but played a little with this last night with a bunch of 2600 and 7800 games. All I can say is "wow." It's absolutely amazing, and been tuned both for retail and homebrew game with support for HSC, Light Guns, Trakballs, Mice, Quadtari, XEGS Keyboard, Dual POKEY, YM2151, Covox, XM and XBoard modules. And, it supports one of the strangest quirks of the 7800: that screen colors drift a bit as it warms up with Cool, Warm, or Hot system temperature color output!

 

For those who haven't tried this yet, a MiSTer FPGA replicates the 7800 in hardware, making playing games indistinguishable from playing on retro hardware, just with a no-lag HDMI scaler built in. There was not a hint of strange software emulation bugs or controller lag on anything I threw at it. It's a fully replicated 7800, including 2600 support, in hardware, except for the cartridge and expansion ports.

 

Is there an active 7800 development thread or forum anywhere? I'd be curious if anyone's tried to replicate the AtariVox+/SaveKeyBupChip, or MovieCart in the FPGA, Melody board in the ARM CPU (I assume it may be too complex for the FPGA), or adopt the newer SNAX approach that might allow for two hardware-level controller ports rather than the one available with SNAC? Or maybe some kind of Quadtari support setting to allow for two controller ports for regular non-Quadtari games through the SNAC that'd be similar to the "multitap" support on other cores?

 

  • Like 5
Link to comment
Share on other sites

  • 3 months later...

New Atari7800_MiSTer is out - Release 20221227!

 

What is new since the February 12, 2022 (20220212) release:

 

-Fixed overscan option breaking gun and improved accuracy.
-Added bankset mapper and prevent audio mixing overflow.
-Created an MGL file with "Atari2600" as a setname to help new users with core awareness and be able to set separate configs from the base core.
-Added ability to assign up to two paddles from the same device.
-Updated framework.
-Improved default balance of palettes.
-Trebor palette files and sorting update.

 

Available for manual download or via update tools for the MiSTer.

  • Like 6
Link to comment
Share on other sites

On 9/12/2022 at 7:04 AM, MrZarniwoop said:

I'm new to the MiSTer FPGA, but played a little with this last night with a bunch of 2600 and 7800 games. All I can say is "wow." It's absolutely amazing, and been tuned both for retail and homebrew game with support for HSC, Light Guns, Trakballs, Mice, Quadtari, XEGS Keyboard, Dual POKEY, YM2151, Covox, XM and XBoard modules. And, it supports one of the strangest quirks of the 7800: that screen colors drift a bit as it warms up with Cool, Warm, or Hot system temperature color output!

 

For those who haven't tried this yet, a MiSTer FPGA replicates the 7800 in hardware, making playing games indistinguishable from playing on retro hardware, just with a no-lag HDMI scaler built in. There was not a hint of strange software emulation bugs or controller lag on anything I threw at it. It's a fully replicated 7800, including 2600 support, in hardware, except for the cartridge and expansion ports.

 

Is there an active 7800 development thread or forum anywhere? I'd be curious if anyone's tried to replicate the AtariVox+/SaveKeyBupChip, or MovieCart in the FPGA, Melody board in the ARM CPU (I assume it may be too complex for the FPGA), or adopt the newer SNAX approach that might allow for two hardware-level controller ports rather than the one available with SNAC? Or maybe some kind of Quadtari support setting to allow for two controller ports for regular non-Quadtari games through the SNAC that'd be similar to the "multitap" support on other cores?

 

Sorry to necro this rather old post but I don't look at this forums much:
- Atarivox's voice synthesis chip isn't really reverse engineered. It's semi modern and it I believe it has some undumped mask data in it. If whoever it is that makes the chip ever wants to share some of that it could probably be implemented.
- Savekey support is there

- Bupchip is actually software that runs on a microcontroller. It's technically possible to implement by passing data back and forth from the HPS (or maybe adding a small cpu core like ZPU? not sure of mhz requirements), however, it requires a lot of special loading and behavior for a single game (for now). It's something I'd like to get to someday.

- Melody board, no, sorry. Despite my personal feelings on how crass this hardware is to begin with, the actual limiting factor is trying to implement a 70+mhz arm chip in an FPGA of this caliber. It just won't be able to handle such a high clock rate with such a large chip, even if someone is going to implement such an extremely complex CPU to begin with. The complexity of implementing the chip would far exceed the work of the entire rest of the core combined. Passing the instructions to HPS ARM aren't really feasible either for a variety of timing and instruction reasons. I'd suggest if you really enjoy the 2600 retro experience you encourage your favorite homebrew developers to use real mappers and not.. that.

- Regarding SNAC, this is managed by Blue. He's been mulling over a new special board for 2600/7800 for a long time now. I poke him every once in a while, but it will probably eventually come about with some way to deal with paddles more effectively. I can say that SNAX only works because the NES/SNES controller protocols are serial and share some timing signals, so there's enough pins. Atari's are parallel, bi-directional, and analog on some pins, with the addition of a special strong pull-up on 7800, so trying to multiplex as you're suggesting is probably not a good idea. Things like the icode adapter have been slowly getting better support though so hopefully you won't have to deal with snac at all except for atarivox.

Link to comment
Share on other sites

27 minutes ago, Kitrinx said:

- Regarding SNAC, this is managed by Blue. He's been mulling over a new special board for 2600/7800 for a long time now. I poke him every once in a while, but it will probably eventually come about with some way to deal with paddles more effectively. I can say that SNAX only works because the NES/SNES controller protocols are serial and share some timing signals, so there's enough pins. Atari's are parallel, bi-directional, and analog on some pins, with the addition of a special strong pull-up on 7800, so trying to multiplex as you're suggesting is probably not a good idea. Things like the icode adapter have been slowly getting better support though so hopefully you won't have to deal with snac at all except for atarivox.

Thanks for the detailed response!

 

I haven't tried the recent MiSTer Atari 7800 core, but earlier playing around with a 2600-daptor D9 for paddles wasn't overly satisfactory on the MiSTer Atari 7800 core. It worked, but the range of motion and feel was all wrong. If I recall correctly, turning the paddle all the way moved paddles across the screen, as opposed to a very small range of motion needed on real hardware. All I really wanted was Kaboom! or hacked variants, and for that there's an old, not great, Atari 2600 core I used with the Atari SNAC for paddles and it made it feel like original hardware.

 

I have a 1st gen iCode adapter from when he first offered them for sale, so may give that a try at some point. I see the newer versions have a "Paddles MiSTer Mode" feature that I don't think mine supports.

Link to comment
Share on other sites

20 hours ago, MrZarniwoop said:

Thanks for the detailed response!

 

I haven't tried the recent MiSTer Atari 7800 core, but earlier playing around with a 2600-daptor D9 for paddles wasn't overly satisfactory on the MiSTer Atari 7800 core. It worked, but the range of motion and feel was all wrong. If I recall correctly, turning the paddle all the way moved paddles across the screen, as opposed to a very small range of motion needed on real hardware. All I really wanted was Kaboom! or hacked variants, and for that there's an old, not great, Atari 2600 core I used with the Atari SNAC for paddles and it made it feel like original hardware.

 

I have a 1st gen iCode adapter from when he first offered them for sale, so may give that a try at some point. I see the newer versions have a "Paddles MiSTer Mode" feature that I don't think mine supports.

The range of motion that constitutes -128 to 127 on an analog stick is really up to the adapter to decide. It's pretty trivial to implement such a thing in a microcontroller being used as an adapter. I suppose I could add some advanced option to disable paddle scale adjustment so that -128 to 127 constitutes the entire range of an original paddle up to the 2 second capacitor charge times or whatever. I have no idea if this is what those adapters do or if it would feel good. This just further erodes the UX.

 

The core itself automatically will adjust for non-spinner/paddle controller types (which both icode and that d9 thing still are) based on the poll times of a game to make sure -128 is the earliest TIA read for and 127 is the last TIA read. While I know you absolutely do not want to use the full range of motion on an original paddle, you absolute DO want to use it on a thumb stick of say, a ps5 controller, the overwhelmingly most common use-case here. It's also important to keep the tracking speed of mice and trackpads used as paddles consistent.

 

Cores don't have any concept of what type of controller is being used. It's an fpga and it never sees things like VID and PID, it just gets a signed 8 bit bus for anything using an axis as an arbitrary "joystick_analog0, 1, etc". The framework DOES have a concept of Paddle0 and Spinner0 ports specifically made for paddles and spinners, but support for a specific device to use these ports is required to be added to the framework on the HPS side. I've told this to Alexey who maintains this framework, and he has problems with the way the adapters work and won't do anything about it. There's nothing that I, as a core developer, can further do about it. I can't add exceptions for a controller in a core because there's no way to know what controller it is or what range it will use. The UI is not suited for any kind of arbitrary scaling like this, and honestly, these HID adapter devices should bear the burden of such adjustments to begin with, not rely on special exceptions in software (or hardware) to work the way the user wants them to. It's perfectly normal for a host device to expect the full axis range to be used as reported by the HID device.

 

I would love nothing more than to never hear about paddle issues again, and I understand that pressure is being put on me to add special exceptions for the quirks of these HID devices, but unfortunately I am simply not in a position to do so as a CORE developer.

 

How would you use one of these adapters for something that WASN'T specifically made for them? Do they just not work well if you want to use the paddle for say, an arkanoid emulator not made with exceptions?

Link to comment
Share on other sites

1 hour ago, Kitrinx said:

would love nothing more than to never hear about paddle issues again, and I understand that pressure is being put on me to add special exceptions for the quirks of these HID devices, but unfortunately I am simply not in a position to do so as a CORE developer.

 

How would you use one of these adapters for something that WASN'T specifically made for them? Do they just not work well if you want to use the paddle for say, an arkanoid emulator not made with exceptions?

No worries. Paddle games are just a fun niche on the 2600, plus a handful of 7800 homebrews. I think the MiSTer 7800 core is pure amazement, including the 2600 core within it, and it's so shockingly good that deficiencies are really just very minor inconveniences. It's not really a complaint, more me just musing about it, and appreciate your very thoughtful responses.

 

My only personal real-world use case is playing Kaboom! so it feels like real hardware. To me, it's a killer app from the 2600 era that also very easily can draw in new players of all ages. It remains one of my favorite Atari 2600/7800 games, perhaps because it gets very, very fast and twitchy. This is a game where past 1,000 points, even one frame of lag seems to make a difference in playability. For that reason, it isn't nearly as much fun on software emulation because of paddle "slow zone" Stella quirks and lag compared to playing on real hardware.

 

All that drew me to trying to play it on MiSTer. I can play it perfectly with real paddles with an Atari 2600 SNAC adapter set for "Paddles" using a version of the old MiSTer 2600 core that someone gave me named "Atari2600_snac_20210610.rbf". I'm not sure if perhaps that was a fork, patch, or development release, just that it has been the only Atari 2600 MiSTer core version I've found that actually worked like real hardware with paddles and the SNAC adapter. It may be other releases worked too, but I wasn't patient enough with other releases as troubleshooting was confusing when things were not working and I didn't understand the issues. Playing Kaboom! with OG paddles/SNAC/specific core "feels" exactly the same and exactly as responsive (or sticky/jittery/quirky with some paddles) as playing on real hardware.

 

I can play Kaboom! on the MiSTer 7800 core today, it just "feels" wrong and is much harder to play, so not really the same as the experience as on real hardware. Everything, literally every single other thing, about the MiSTer 7800 core playing 2600 games is incredibly better than the old MiSTer 2600 core.

  • Like 1
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...