WE Super VIDC information

Discuss VIDC, translation to VIDC20 and emulation of VIDC
PaulV
Posts: 95
Joined: Thu May 02, 2013 8:33 pm
Location: Leicestershire
Contact:

Re: WE Super VIDC information

Post by PaulV » Thu May 09, 2013 5:00 pm

Ok, after some more testing and checking and analysis of WE's own BaseVGA module disassembly, here's the final information regarding the WE VIDC Enhancer in terms of the bits and their meanings.

bit
7 - H. Sync Polarity
6 - V. Sync Polarity
5 - 25.175MHz oscillator presence (tied to GND when not fitted or defaulted to +5v)
4 - Sync. Polarity circuit presence (tied to bit 3 when not fitted)
3 - inv. H. Sync. Polarity
2 - inv. V. Sync Polarity
1 - Clk bit 1
0 - Clk bit 0

So, some simple rules can be used to determine the type of WE VIDC Enhancer fitted.

To detect the presence of the 25MHz oscillator: pass in &FF look for bit 5 being 1 or 0 - TST &20 - (0 = 36MHz only, 1 = dual oscillators)
To detect whether Sync. Polarity is supported, pass in &F7 look for bit 4 being 1 or 0 - TST &10 - (0 = No Sync.Polarity, 1 = Sync. Polarity circuit fitted)

This gives you everything you need to know about the enhancer that is fitted. You don't really need to detect the Sync. Polarity circuit. You can send the Sync. Polarity data regardless and the clock selection is unaffected.

PaulV
Posts: 95
Joined: Thu May 02, 2013 8:33 pm
Location: Leicestershire
Contact:

Re: WE Super VIDC information

Post by PaulV » Thu May 09, 2013 6:19 pm

Given the information above, here are a few examples for different RISC OS 3 modes and monitor types on a WE Standard VIDC Enhancer. Where a "Super" VIDC Enhancer is fitted, I'd expect the value retrieved to match the value passed in.

As it stands, the Clk bits will either be 11 - 24Mhz or 00 - 36MHz as the Standard only supports those two values.

MonitorType 4

Code: Select all

MODE            Value passed       WE value retrieved
12              &97 (%10010111)    &87 (%10000111)
27              &D3 (%11010011)    &C3 (%11000011)
31              &1C (%00011100)    &1C (%00011100)
46              &97 (%10010111)    &87 (%10000111)
MonitorType 1

Code: Select all

MODE            Value passed       WE value retrieved
7               &1F (%00011111)    &1F (%00011111)
12              &1F (%00011111)    &1F (%00011111)
27              &D3 (%11010011)    &C3 (%11000011)
31              &1C (%00011100)    &1C (%00011100)
Now I've posted these, I'm thinking I've got things back to front on the Sync. Polarity settings...

AutoVIDC uses the following responses for Sync. Polarity

Code: Select all

        
 	V.Sync	H.Sync	VGA MODE
0	+ve		+ve		-
1	+ve		-ve		VGA 400
2	-ve		+ve		VGA 350
3	-ve		-ve		VGA 480

Using the table, MODE 31 should have a value of Sync. Polarity of 0 which is %00, but according to Steve's original post the WE Enhancer is using a value of 3 to indicate +ve polarity on both V and H signals.

I think I'm going bit blind as the WE Enhancer is back to front in so many ways and without a full board in front of me, it's difficult to test...

Can someone just double check these values with paper and pencil? I've I got them back to front, it's no great problem and easily fixed but a second pair of eyes wouldn't go amiss at this point :D

Paul

Post Reply