Welcome, Guest. Please login or register.

Author Topic: HDMI output for A1200?  (Read 17448 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Stedy

  • Sr. Member
  • ****
  • Join Date: Jul 2002
  • Posts: 259
    • Show only replies by Stedy
    • http://www.ianstedman.co.uk
Re: HDMI output for A1200?
« Reply #14 on: April 06, 2008, 11:55:40 PM »
Carl,

Why not use a DVI device like the SiI1162?

Datasheets are available without an NDA for HDMI parts and you also open up the possibility of DVI monitors.

HDMI TVs can take a DVI input take a look here at the HDMI website.

To clock the DVI chip from Lisa use the Sync On Green (SOG) output, this will be a composite (hsync and vsync) combined signal. The SII1162 requires separate HSYNC/VSYNC signals. You can either use a sync stripper like the LMH1980 or if you use programmable logic, use that.

Of course, it would be worth double checking that the SOG output is a standard Video sync output first otherwise it may need conditioning/converting.

All DVI/HDMI transmitters will be destroyed if you connect them directly to the Amiga. You need to convert the +5V logic to +3.3V logic with appropriate converters. Some 74LV244 or equivalent devices run off 3.3V but have 5V tolerant inputs.

I have never run a DVI interface at less than VGA (640x480) resolution so I can not say for sure if it will work with say Hires (640x256) or low res (320x256) amiga displays.

For the I2C interface, connect up a microcontroller with one of these ports. For DVI devices, this is used to read the Extended Display Identification Data (EDID) PROM in the monitor and set up natural screenmodes and refresh rates. You can also use the microcontroller to program the DVI chip via I2C.

I hope this gives you a few ideas.

Ian
 

Offline sigmason

  • Newbie
  • *
  • Join Date: Mar 2008
  • Posts: 45
    • Show only replies by sigmason
Re: HDMI output for A1200?
« Reply #15 on: April 07, 2008, 02:50:18 AM »
AlexH:

LOL, so show me where I'm wrong:

Alright here you go:
http://www.hdmi.org/pdf/HDMISpecInformationalVersion.pdf

Be sure to read the sections: "Pixel-Repetition" (IE digital scan doubler) and "Pixel Encodings".

Here's your modes:
http://writch.com/video.html

Here's some history on 'NTSC' video:
http://www.epanorama.net/documents/video/rs170.html

Here's 576i:
http://en.wikipedia.org/wiki/576i

Here's 480i (aka NTSC HiRes Interlaced):
http://en.wikipedia.org/wiki/Display_resolution

Now depending on how much of this that 'HDMI transmitter' does will really depend on how this will react to having the Amiga sending video to it.

Let's consider this: if the Amiga at NTSC HiRes interlaced (which is a fine mode and the Toaster and other genlocks should work at it) is spitting out 640x400x60Hz or 480i.  The digital data you are tapping at Lisa is pixel data for less pixels then the HDMI interface will require in a given frame or field because the HDMI display modes are all more data then you actually have (causing you to do pixel repetition on HDMI).  Even if the frequency of the digital data stream amounts to NTSC video at 50 or 60Hz what about the resolution?  You are transmitting in digital per pixel.  Usually most of the HDMI displays I've seen scale 480i to get it fullscreen because not only are they not 480i resolution, but even if they are actually 640x480 they are missing 80 lines of information so it's either scaling or black somewhere (which you as the transmitter can't really control.)  So even 480i is actually stretching the timing in HDMI standard because it doesn't match one of the standard transmission resolutions so they resort to pixel repetition.

Now that's just 480i.  The Amiga obviously can do more modes then that (even if he drops the modes you mention.)  I suppose he could repeat further if he's actually the HDMI transmitter, but in doing so he's only asking for more screen scaling he can't control and by the specification itself the sink is simply being told how much pixel data it can drop if it wishes without loosing a unique pixel.  Of course pixel repetition is handy if your modes are actually an equal division of 640x400 or 480i.  However, I see a problem.

If the RGB data coming out of Lisa is 320x200 interlaced for instance and you want to double it think about the timing difference going into something designed to take in 480i and getting something a division of 480i.  If they sample more then one pixel in digital RGB for that input timing how do they compensate for the timing difference?  I don't see inputs specified for chips from Silicon Image or Analogix that are lower then 480i.  I don't see RAM in there.  They appear to be 'just in time' transmitters with no compression.  So how would it compensate for this difference if you use them to produce HDMI from the Amiga and the Amiga is not in NTSC HiRes Interlaced or 480i?

Sigmason

If you think I'm wrong enlighten me.
If I'm wrong I'm a big boy I can accept that.
 

Offline CarlKTopic starter

  • Newbie
  • *
  • Join Date: Apr 2008
  • Posts: 4
    • Show only replies by CarlK
Re: HDMI output for A1200?
« Reply #16 on: April 07, 2008, 02:38:05 PM »
Hi everyone!

I see this issue is becoming really interesting... Eriond and myself had a private chat about on how to move forward with this project. I am just a happy ignorance-is-bliss kind of guy:crazy:, while Eriond is more down-to-earth, so...

Just like Sigmason and many others have seen, this gets more complicated the more you think about it. Erionds suggestion (which he also wrote in a post above) is to go all-in and put an advanced FPGA (+ framebuffer RAM) to solve this. There are a few drawbacks with that aproach:
* Individual Computers are almost there with their new upcoming product, and I sure don't want to discourage Jens from coming up with cool Amiga hardware by releasing a competing design for free
* Eriond claims he hasn't used programmable logic since the 80s, so he will have to complete some sort of training/course first... ie. it will take some time before we "get off the ground"

I don't want cancel this; all I'm saying is that this will be a time-consuming projects. Both I and Eriond have things like day-time jobs and families to take care of...
Don't expect anything too soon  ;-)

/Carl
 

Offline tone007

Re: HDMI output for A1200?
« Reply #17 on: April 07, 2008, 02:48:18 PM »
Hm, I bought an A500+ from a Carl K.

As for hurting sales of IC's scandoubler, I have to say I'd spend money on something with a VGA port on it rather than working on a homebrew HDMI solution, even if it turned out cheaper.  Plus, it seems like all of IC's products are pretty awesome.

(none of my LCD or CRT monitors have HDMI.)
3 Commodore file cabinets, 2 Commodore USB turntables, 1 AmigaWorld beer mug
Alienware M14x i7 laptop running AmigaForever
 

Offline Hodgkinson

  • Hero Member
  • *****
  • Join Date: Apr 2006
  • Posts: 1080
    • Show only replies by Hodgkinson
    • http://www.myspace.com/em_radiation *****and ***** www.booni.info
Re: HDMI output for A1200?
« Reply #18 on: April 07, 2008, 03:10:46 PM »
Hmmm. I dare say I’m interested in this project :-D

I've just been and got a 2032MW from Samsung. It’s got a VGA port (Which is being used by the PC atm...), a SCART port (Currently used by the A1200D via the 23 Pin video port, but this monitors' not so good at animation, just have a word with arkpandora...), and amongst other things an unused HDMI port.

It would be great if I could hook up the Amiga via the HDMI port, and hopefully get around some of the annoying artefacts present on the other inputs of the monitor, whilst keeping full 15Khz compatibility and no need for a scandoubler.

Hodgkinson.
Main A1200D: WB3.0, 3.1 ROMs, 2GB HDD, Blizzard 1230IV (64MB RAM + FPU) and a whole load of custom heatsinks... :flame:
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: HDMI output for A1200?
« Reply #19 on: April 07, 2008, 05:04:49 PM »
@sigmason

Wow nice post.

If we ignore Super72, Euro72, and multiscan the Amiga always drives an output compatible with a regular TV. That means the Lisa output is always compatible with these four modes : 720x240p, 720x480i, 720x288p & 720x576i.

And if we ignore interfield motion (I know we shouldnt) then the Lisa output is always compatible with 720x480i or 720x576i.

The actual number of changing pixels may be lower, but the DAC doesn't know that. It is just sampling pixels at 28MHz.

I would imagine we are just going to feed the RGB outputs + sync + clock + config to the HDMI transmitter.

As you say these modes are below the 25 MP/S and so (from reading the HDMI spec) it appears we may need to have the Pixel Repetition (PR0:PR3) fields set (which will just be a counter) but I wouldn't be surprised if the transmitter does this automatically when configured for TV video sources.


Quote

sigmason wrote:
Let's consider this: if the Amiga at NTSC HiRes interlaced (which is a fine mode and the Toaster and other genlocks should work at it) is spitting out 640x400x60Hz or 480i.

Erm sorta.

Quote

sigmason wrote:
The digital data you are tapping at Lisa is pixel data for less pixels then the HDMI interface will require in a given frame or field because the HDMI display modes are all more data then you actually have (causing you to do pixel repetition on HDMI).

Yes the Lisa pixel data is less than 25MP/s and (from what I read in the spec) yes you will need to tell the HDMI interface to do pixel repetition. But all TV video sources must do this, it has nothing to do with the Amiga resolution.

Quote

sigmason wrote:
Even if the frequency of the digital data stream amounts to NTSC video at 50 or 60Hz what about the resolution?

What about it?

Quote

sigmason wrote:
You are transmitting in digital per pixel. Usually most of the HDMI displays I've seen scale 480i to get it fullscreen because not only are they not 480i resolution

Yup. I've seen them range from 1920×1080 for full HD through 1366 x 768, 1280x720, 1024x1024 etc. etc. and they all have built in video scalers designed to upscale TV resolution to HD.

Quote

sigmason wrote:
but even if they are actually 640x480 they are missing 80 lines of information

What is missing 80 lines?

Quote

sigmason wrote:
So even 480i is actually stretching the timing in HDMI standard because it doesn't match one of the standard transmission resolutions so they resort to pixel repetition.

Ok. But pixel repetition is just supersampling right?

Quote

sigmason wrote:
The Amiga obviously can do more modes then that (even if he drops the modes you mention.)

But does it matter as long as you are sampling at the right rate? I don't think it does. They are all pixel compatible with a 28MHz pixel clock.

Quote

sigmason wrote:
I see a problem. If the RGB data coming out of Lisa is 320x200 interlaced for instance and you want to double it think about the timing difference going into something designed to take in 480i and getting something a division of 480i.  If they sample more then one pixel in digital RGB for that input timing how do they compensate for the timing difference?

I do not understand what you mean by 'timing difference'? Surely the HDMI transmitter is a slave to the pixel clock coming from the Amiga?

Quote

sigmason wrote:
I don't see inputs specified for chips from Silicon Image or Analogix that are lower then 480i.

It doesn't matter. All Amiga modes (except Super72, Euro72, and multiscan) will be compatible with 480i (or 576i). The only problem might be interfield motion, but I dunno how progressive displays fix this.

Quote

sigmason wrote:
I don't see RAM in there.

It doesn't need any. It just reads the same data twice.

Quote

sigmason wrote:
how would it compensate for this difference if you use them to produce HDMI from the Amiga and the Amiga is not in NTSC HiRes Interlaced or 480i?

The same way a TV does at the moment, oversampling. The Amiga keeps the RGB output stable a set period of time per pixel. When resolution is 320 pixels wide this time is roughly 2x as long as when resolution is 640 pixels wide because the line time is fixed.

Quote

sigmason wrote:
If you think I'm wrong enlighten me.

It is obvious from your last post that you are technically literate. We just have different ideas about different bits, probably each equally wrong ;-)
 

Offline Eriond

  • Newbie
  • *
  • Join Date: Apr 2008
  • Posts: 12
    • Show only replies by Eriond
Re: HDMI output for A1200?
« Reply #20 on: April 07, 2008, 08:22:28 PM »
Wow  :-o Now that's a post...

From reading all of your most intelligent and interesting posts I go from despair to hope and back again! As Carl pointed out, I only had a brief encounter with programmable logic long ago. (it was actually while I had to do a GAL for the Amiga bus Autoconfig feature) That field of electronics has advanced immensly over the years, and nowadays you can do real magic with theese chips. The Minimig is an excellent example!

But, before I venture on a half-year long learning curve, I'd say it could be worth a try with the existing HDMI TX devices. Although I can't clearly see a framebuffer/RAM arrangement from the simple block schematic on the product brief, there are statements like:
Quote
14-bit internal video processing and 14-bit to 12/10/8-bit dither

and the chip must contain some sort of intelligence, otherwise it wouldn't be neccessary to boast
Quote
Integrated HDMI 1.3 TMDS core running at 225MHz

I think I'll fire up Eagle and do a prototype board.:-D
But then I still have a question that Stedy addressed briefly, and that is how to make a simple I2C bus. I'm pretty familiar with PICs, but what would be the best place to attach it? The clockport seems rather straightforward, but I suppose it is already occupied by other expansions...

My idea is to clip on the ADV101 to get all neccessary video signals (RGB bus, H & V-sync) but I still need to get to Lisas 28M buffered clock. So, it seems I would need to clip over both chips...
And when I already have Lisa, then I also have the main processor bus. So I would need to do some address decoding and hook up my PIC there. Does that sound resonable?

/Eriond
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: HDMI output for A1200?
« Reply #21 on: April 07, 2008, 08:44:49 PM »
Quote

Eriond wrote:
I still have a question that Stedy addressed briefly, and that is how to make a simple I2C bus.

Two (3?) wires to the parallel port.

Quote

Eriond wrote:
My idea is to clip on the ADV101 to get all neccessary video signals (RGB bus, H & V-sync)

The video DAC doesnt have H & V.

Quote

Eriond wrote:
 but I still need to get to Lisas 28M buffered clock. So, it seems I would need to clip over both chips...

Or have a couple of wires that plug into the 23-pin video connector on the back (for H & V). It's been done before, you could get some DCE Flickermagic's which did that instead of clipping to the Alice.
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: HDMI output for A1200?
« Reply #22 on: April 07, 2008, 10:12:08 PM »
I think there's a chance to make this work with some 5V->3.3V level converters and an smart HDMI transmitter.
The section "6.3  Video Format Timing Specifications" gives hope.

The worry points are:
 * Resolution and timing match, esp for 320x256 modes etc..
 * Need for a possible external line buffer.
 * Digital audio interface.. don't think Paula has one?

Anyone have a A1200 full schematic?
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: HDMI output for A1200?
« Reply #23 on: April 07, 2008, 10:40:33 PM »
Quote

freqmax wrote:
I think there's a chance to make this work with some 5V->3.3V level converters and an smart HDMI transmitter.

HDMI transmitters should have 5v tolerant I/O? Strange just on the I2C... So yeah you'll need some resistors on the RGB+Sync

Quote

freqmax wrote:
The worry points are:
 * Resolution and timing match, esp for 320x256 modes etc..

There is a high possibility it will be fine. If the HDMI transmitter works for regular TV inputs (and I am sure it does) then it should work fine for Amiga.

Quote

freqmax wrote:
 * Need for a possible external line buffer.

What for?

Quote

freqmax wrote:
 * Digital audio interface.. don't think Paula has one?

No, but you can just wire Analog to your Amp?

Quote

freqmax wrote:
Anyone have a A1200 full schematic?

Are these not complete?
 

Offline Stedy

  • Sr. Member
  • ****
  • Join Date: Jul 2002
  • Posts: 259
    • Show only replies by Stedy
    • http://www.ianstedman.co.uk
Re: HDMI output for A1200?
« Reply #24 on: April 07, 2008, 11:37:05 PM »
Eriond,
If you have the SiI9134 datasheet, check if it supports RGB 8:8:8 input (24 bit video)?

The product brief is unclear if it supports this video format.

For the I2C interface, I'll tell you a little of what I will soon be experimenting with. I am playing with Microchip PIC microcontrollers for a non-amiga related application and will be using the I2C bus. These devices can send/receive the I2C bus easily. To make development easier, you can buy a I2C monitor/probe, the PICKit Serial Analyser. Look this up on the   Microchip website.
You can bit bang the parallel port but a microcontroller costs  only a few pounds/euros/dollars and takes care of it.

I think we are all getting screen resolutions and lines of video mixed up.

A PAL Amiga outputs 576 lines of active video, regardless of if the resolution is 320x256 pixels or 640x256 or 640x512 pixels. An NTSC Amiga will output 480 lines of video (I forget the resolutions of NTSC Amigas). There will be a scaling factor to fit for example, 256 pixels high across say 512 lines of video. Likewise 320 pixels of data will be stretched to fill the 52us active video time of a line of video. If there was less data/pixels you would see black borders on an analogue TV.

Likewise, VHS video is only 315-325 lines of video data but scaled to fit a full TV display.

Tomorrow night, when I return to the workshop  :-) I will take a look at the Amigas video signals on my oscilloscope.

What I'm saying is that regardless of the pixel resolution, there should still be 576 lines of video for a TV display and enough video data to fill the 52us active video line. This in turn should be enough video data to satisfy the 25MBit/sec requirement of DVI/HDMI.

On one of our systems at work, we convert PAL (768x576 pixels or 576 lines of video) to DVI with no issues.

Lisa has a 28MHZ clock input on pin 25. On pin 43 is the 28MHZ clock output to the Video DAC.
Either the Sync on Green (SOG) on pin 26 or the global, CSYNC output is used to sync the BT101/ADV101 video DAC.

Hope this helps.

If I get the time tomorrow, will measure the Amiga RGB video outputs with my scope.

Ian
 

Offline FrenchShark

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 181
    • Show only replies by FrenchShark
    • http://www.arcaderetrogaming.com
Re: HDMI output for A1200?
« Reply #25 on: April 08, 2008, 05:51:18 AM »
Hello,

my guess about how Jens "recreates" the H/V Syncs is that he looks at the strobe addresses that are sent on the register address bus.
Open the HRM, and look at chip registers STREQU, STRHOR, STRLONG, STRVBL (038-03E)... :idea:

Regards,

Frederic
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: HDMI output for A1200?
« Reply #26 on: April 08, 2008, 08:06:29 AM »
Quote

Stedy wrote:
If you have the SiI9134 datasheet, check if it supports RGB 8:8:8 input (24 bit video)?

It says on the front page it supports 36-bit.

Do not get your notation mixed up.

RGB 8:8:8 means 8-bits per colour component per sample.

WHEREAS

RGB 4:4:4 means equal sampling of all three components, i.e. no subsampling/decimation like Y'CbCr 4:2:2.
 

Offline CarlKTopic starter

  • Newbie
  • *
  • Join Date: Apr 2008
  • Posts: 4
    • Show only replies by CarlK
Re: HDMI output for A1200?
« Reply #27 on: April 08, 2008, 11:03:52 AM »
Ok, now we're getting somewhere. And I thought you had given up on the SiI and ANX chips, eriond. :-D

So, you connect a PIC to listen on a free adress somwhere in the IO space, and...? Will the PIC be doing some intelligent handling of the I2C bus, or just "reformat" it?
I guess once we know what the HDMI TX wants to talk about, you could adapt the PIC code to offload any driver (bit-banging will probably not work if you want to do it in the background while some game or demo has hoged all resources).
:idea: Maybe, the PIC could listen to the commands given to LISA and automatically adjust the HDMI TX... hmmm?

@Stedy: Below is an image from the Analogix product brief. There you can see the RGB bus being numbered [35:0] This means they can accept up to 12bits/color channel, but the brief also states "Flexible 36-bit video pixel input interface; Includes 24, 30 & 36-bit pixel video modes"
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: HDMI output for A1200?
« Reply #28 on: April 08, 2008, 11:34:08 AM »
Quote

CarlK wrote:
So, you connect a PIC to listen on a free adress somwhere in the IO space, and...? Will the PIC be doing some intelligent handling of the I2C bus, or just "reformat" it?

You don't really need a PIC to start with. Just two (3?) wires direct to the parallel port.

Quote

CarlK wrote:
:idea: Maybe, the PIC could listen to the commands given to LISA and automatically adjust the HDMI TX... hmmm?

I think you are going a little overcomplicated. I recommend the K.I.S.S. method. Setup the I2C registers (with parallel port) for PAL/NTSC and later you can add automatic switching (if necessary, I am not convinced that one setup wouldnt work for everything).

Anyone got the I2C register list? Of any of these chips? Some sort of driver source?
 

Offline CarlKTopic starter

  • Newbie
  • *
  • Join Date: Apr 2008
  • Posts: 4
    • Show only replies by CarlK
Re: HDMI output for A1200?
« Reply #29 from previous page: April 08, 2008, 01:43:38 PM »
Eriond has already requested those datasheets from both SiI and Analogix. As someone mentioned before, there might be an issue due to NDA and the like.... afaik, eriond hasn't got any reply. Yet. Correct me if I'm wrong E.

Btw, I still think adding a PIC as a co-processor of sort is a good idea... The paralell port is a really simple solution, but as I said before, It wont work unless you have an application that control it. Always and at all times. I would preferer a hardware-only fire and forget solution.

/Carl