Jump to content
IGNORED

Fx ANTIC. An ANTIC chip replacement on FPGA


ijor

Recommended Posts

17 hours ago, _The Doctor__ said:

but will it stretch to maintain aspect?

 

Well, that's a matter of personal preferences, I guess. In my case it depends on the software and type of display output. For games you mostly want the original aspect ratio. For text output I think it looks much nicer at full screen. Of course, ideally it should be configurable.

 

14 hours ago, HiassofT said:

IMHO it would be fine to stick to standard  720x576p50 / 720x480p60 scandoubled HDMI video output (current TVs provide really good upscalers) for the standard version and leave all other upscaler features for extended versions (with probably higher specced FPGAs and additional RAM). SD video output with sound is well enough for me.

 

Hi Hias! :)

 

Yeah, I agree that a "simple" scandoubler is good enough for most cases. The main problem is that some US monitors don't sync down to 50Hz. You, at Europe, are not used to "suffer" this issue because the situation is not symmetric. All, or allmost all, European monitors do sync to 60Hz. Guess this is a consequence of 60 Hz being a VGA standard for years. Bottom line is that you need a frame buffer to guarantee 100% compatibility. On the other hand, 100% compatibility might be not that important. After all it is not that no US monitor at all can sync to 50Hz, probably only a minority, but I don't know for sure.

 

15 hours ago, venom4728a said:

1 step closer to having  1 machine that can switch between NTSC and PAL quickly and easily?

Well, the ANTIC core can easily switch between 50 and 60Hz. But that might be not enough, you would need also a GTIA replacement because most software checks GTIA for detecting if the system is PAL or NTSC. And even then there is still a (minor?) issue that the system clock is slightly different between PAL and NTSC. That is something more difficult to solve without a hardware modification, at least on motherboards that have FREDDIE and a 14 MHz clock.

Link to comment
Share on other sites

6 hours ago, lemiel said:

1. HDMI license fee? So nobody's shop will sell it.

 

4 hours ago, Dinadan67 said:

The HDMI license is a problem on other platforms too. Just sell the hardware with official firmware that lacks audio and leak an enhanced firmware somewhere else.

IANAL  (I am not a lawyer), but I understand this is no so big an issue as many believe. In first place, yes, it should be ok as long as "officially" it is video only and there is no audio signal. But even with audio, the patents for the earlier HDMI versions already expired the past year. So as long as you don't use features for later versions (which we don't require), and don't use the logo which is trademarked, we should be fine. I do understand that sellers might have concerns about this anyway. It is still too early too worry about this when we are still in the chip shortage and no hardware is being produced.

 

Edited by ijor
  • Like 6
Link to comment
Share on other sites

4 hours ago, ijor said:

Yeah, I agree that a "simple" scandoubler is good enough for most cases. The main problem is that some US monitors don't sync down to 50Hz. You, at Europe, are not used to "suffer" this issue because the situation is not symmetric. All, or allmost all, European monitors do sync to 60Hz. Guess this is a consequence of 60 Hz being a VGA standard for years. Bottom line is that you need a frame buffer to guarantee 100% compatibility. On the other hand, 100% compatibility might be not that important. After all it is not that no US monitor at all can sync to 50Hz, probably only a minority, but I don't know for sure.

I had the impression most TVs nowadays support both 576p50 and 480p59.94/60. PC monitors are different beasts though, most of them (without HDMI inputs) support only 60Hz and above (the "IT"/"PC" modes as defined by VESA DMT).

 

CEA/CTA-861 mandates that sinks (TVs) must support 640x480p60 in addition to either 576p50 or 480p59.94/60 and as IT/PC modes are quite common (people wanting to hook up their HTPC/gaming PC to the living room TV) pretty much all TVs have support for the PC modes as well - and if a TV already supports the 60Hz DMT modes then adding support for the 60Hz CTA modes is rather straight forward (and most manufacturers seem to do it in "50Hz PAL land" though it's not required by the CTA spec).

 

As 576p50 isn't mandatory in CTA specs for 60Hz display devices I could understand though if not all TVs in 60Hz NTSC land implemented support for 50Hz CTA modes - although it'd be a bit odd as most devices nowadays use a common platform worldwide with at maximum the analog tuner (if they even add one) being different.

 

Simple scan-doubling would also have the benefit of a reduced latency - buffer a single scan line from the Atari then clock it out - waiting until vertical blank has happened will delay the first scan line of the picture by a full frame (TVs usually won't switch the display data until vblank so that gives you 1 frame delay compared to 2 frames for the beginning of the picture - picture "enhancements" in the TV may add additional delays if they are enabled, on top of that).

 

so long,

 

Hias

Link to comment
Share on other sites

On 4/11/2023 at 7:21 PM, as... said:

Vbxe with Hdmi + stereo..
-amazing... But ...
Lotharek/Candle/Electron? It is legal?

 

An independent implementation should be legal unless the design is patented, which I guess it's not.

 

But besides the legalities, I would like their friendly opinion about an independent, open source, implementation. I have no plans in making any money of this. And at the end, it might just promote the VBXE standard.

 

@candle @electrotrains , Lotharek? It would be ok for you?

 

 

Edited by ijor
  • Like 1
Link to comment
Share on other sites

3 hours ago, ijor said:

 

Btw @HiassofT, as you could realize, a CMOS ANTIC would be incompatible with the way Turbo Freezer forces HALT low. It could be solved with a buffer, or perhaps better, adding a pull-up and operating it open-drain.

open-drain plus pull-up would be the best / easiest solution, this is also what we did on the Eclaire.

 

so long,

 

Hias

  • Like 1
Link to comment
Share on other sites

4 hours ago, ijor said:

 

An independent implementation should be legal unless the design is patented, which I guess it's not.

 

But besides the legalities, I would like their friendly opinion about an independent, open source, implementation. I have no plans in making any money of this. And at the end, it might just promote the VBXE standard.

 

@candle @electrotrains , Lotharek? It would be ok for you?

 

 

@electrotrainsmade the ultimate cart.

Adding a @lotharek and @electronmention.

  • Like 1
Link to comment
Share on other sites

On 4/12/2023 at 5:39 AM, lemiel said:

2. DMA was mentioned here and somewhere else with reference to eg. Rapidus and connection with it.

 

Forgot to comment about this. I am not very familiar with RAPIDUS, but I think we are talking about two different types of DMA. RAPIDUS, as I understand, implements DMA to transfer to/from a storage device. I was talking about ANTIC video and sound DMA, and also about refresh cycles. An enhanced ANTIC implementation not only can perform more DMA for say, enhanced graphics and sound, it can also perform less DMA by caching data internally and stealing less CPU cycles.

 

Btw, who is RAPIDUS hardware developer? Alternate ANTIC and CPU implementations should coordinate for maximum interoperability. Unfortunately, there is no SALLY datasheet to follow any standard. And while we do have an ANTIC datasheet, it's incomplete and some parameters are not very realistic. We need to establish some timing parameters, especially for HALTed cycles.

 

Edited by ijor
Link to comment
Share on other sites

On 4/12/2023 at 10:04 AM, ijor said:

 

Well, the ANTIC core can easily switch between 50 and 60Hz. But that might be not enough, you would need also a GTIA replacement because most software checks GTIA for detecting if the system is PAL or NTSC. And even then there is still a (minor?) issue that the system clock is slightly different between PAL and NTSC. That is something more difficult to solve without a hardware modification, at least on motherboards that have FREDDIE and a 14 MHz clock.

Could this work together with Sophia2 and small PCB capable of switching between NTSC/PAL clock speeds? 

Link to comment
Share on other sites

  • 4 months later...
  • 2 months later...
  • 2 weeks later...
5 hours ago, ClausB said:

Could it be programmed to access memory during the first half of each cycle so it wouldn't have to halt the CPU at all? Of course the memory would have to be fast enough.

 

I don't think it will work. Sally, and the 400/800 Halt logic, are not designed for this. Let's assume that Sally has internally the same logic that the 400/800 has externally. HALT is latched synchronously on the falling edge of PHI2. If HALT is asserted on the falling edge, then the CPU is halted and the address bus is tri-stated. If HALT is not asserted on the falling edge, the CPU is not halted, but the address bus is never tri-stated, it is driven during the whole cycle and no DMA is possible. I think there are some board level issues as well.

 

But this doesn't mean you can't implement several techniques to avoid HALTing the CPU. You can certainly cache more data than a "standard" ANTIC. If you have enough RAM you can even cache a full screen, or for that matter the entire system RAM. You don't even need to ever read the data from RAM at all. You can just snoop the data from the bus when the CPU writes to RAM. If you implement something like this you would need to decide what you do with ROM space, because if something like a SuperCart is present, ROM data can be altered without you knowing (would essentially be a non-cacheable area).

 

Quote

How much RAM is built in to the FPGA?

We talked about, at least, a couple of different options. The basic setup that can replace ANTIC plus provide GTIA and POKEY emulation was implemented with a very small FPGA. It has about 13K RAM but some, don't remember how much, is already used. You can, of course, use a bigger FPGA with more RAM. An enhanced module that implements a VBXE compatible core will have plenty of memory.

Edited by ijor
  • Like 1
  • Thanks 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...