efinidc
Jan 19 2007, 03:16 AM
Thanks for the reply frosty. I ordered a couple EL8102s. I'll update next week when the chips arrive.
landstack
Jan 22 2007, 06:21 AM
efinidc: Yes, that circuit is exacly what you need to get rid of the sync pulse that your monitor is not liking. Just make sure you don't include the last 75ohm Rt resistor that's on that diagram (figure 2) since it is built in to the monitor. Looks like you shouldn't have any trouble, but let us know if you do.
frosty: sorry to harp on this, but I thought it would be nice to get rid of the green sync pulse since I pulled the sync's off of the GPU. I was studying the hex code of the bios change and the connexant datasheet, and couldn't find a common connection as to where the i2c commands are. Also, when/if I find them, can I add more hex commands to the file (increase file size), or will that screw things up? Anyway, can you just copy this line and edit it to show where an i2c write is, where the connexant chip's address is, and where any register values are? I would really appreciate it. Thanks again for the continuing support.
0C 00 48 80 80 80 01 98 E1 8C 00 00 46 0C 00 48 80 80 80 01 98 E1 21 00 00 46 0C 00 48 80 80 80 01 98 E1 21 00 00 46
landstack
Jan 22 2007, 06:32 AM
dmx_wyrw: check your wiring, it sounds like you have your red and green lines swapped.
FrostyTheSnowman
Jan 22 2007, 07:20 AM
QUOTE(landstack @ Jan 21 2007, 11:28 PM)

efinidc: Yes, that circuit is exacly what you need to get rid of the sync pulse that your monitor is not liking. Just make sure you don't include the last 75ohm Rt resistor that's on that diagram (figure 2) since it is built in to the monitor. Looks like you shouldn't have any trouble, but let us know if you do.
frosty: sorry to harp on this, but I thought it would be nice to get rid of the green sync pulse since I pulled the sync's off of the GPU. I was studying the hex code of the bios change and the connexant datasheet, and couldn't find a common connection as to where the i2c commands are. Also, when/if I find them, can I add more hex commands to the file (increase file size), or will that screw things up? Anyway, can you just copy this line and edit it to show where an i2c write is, where the connexant chip's address is, and where any register values are? I would really appreciate it. Thanks again for the continuing support.
0C 00 48 80 80 80 01 98 E1 8C 00 00 46 0C 00 48 80 80 80 01 98 E1 21 00 00 46 0C 00 48 80 80 80 01 98 E1 21 00 00 46
0C 00 48 80 80 80 01 98 E1 8C 00 00 46 - This hex code is for the 480p output.
0C 00 48 80 80 80 01 98 E1 21 00 00 46 - This hex code is for the 720p output.
0C 00 48 80 80 80 01 98 E1 21 00 00 46 - This hex code is for the 1080i output. (720p and 1080i initialize in the encoder the same way when VGA is being outputted.)
Honestly, most of my code is based upon dr_oldschool's and Masticism's work. dr_oldschool is the pioneer of VGA softmods, and Masticism is actually the REAL person who figured out how the registers work. (Masticism solved the 720p/1080i purple tint issue originally.)
If you compare my hex edits to the actual source code for NKPatcher v10-vga10, you will find that the registers in my patching program and the registers in NKPatcher v10-vga10 are exactly the same. The only difference is how they are being applied to each individual hacked BIOS. (NKPatcher was only meant for retail BIOSes, so it was incompatible with modchip BIOSes.)
NOTE: I also use a different method to force the GPU to output RGB, and that method is very similar to Yoshihiro's RGB code from 'back in the day', when VGA was just barely being introduced.
So basically what i'm saying is, most of my work is a compilation of all of the best work from others being put into an auto-patching application that searches and replaces the appropriate hex code within a given BIOS.
So, Masticism and dr_oldschool might be the better people to talk to as far as the details on the Conexant/Focus registers.
QUOTE(dmx_wyrw @ Jan 18 2007, 06:43 PM)

Hey frosty first thanks for the info and hardwork On VGA 4 the xbox.
Instead of green I get a slight pink tint i am using the X2 5030 bios it seems that the colors are correct only instead of a green tint on IGR i get pink
Interesting. I'm assuming though, that the colors are displaying properly otherwise though, right? Meaning, that the screen only turns pink when using IGR, right? If so, that is definately a new side-effect that I have not seen.
Are you using the Focus encoder, or the Conexant encoder?
dokworm
Jan 22 2007, 01:45 PM
Just a big thanks from me frosty!
Your patch finally got me to run VGA and the quality jump is truly awesome.
A lot of PAL games seem to still switch to green, and my old mameox does too, but a lot of my favourite games are just dandy and look great on my big monitor.
Thanks!
landstack
Jan 22 2007, 04:18 PM
Thanks frosty, I figured it out by looking at the nkpatcher source. The only bad thing is that I don't think I can write to register 0x28 on the connexant to disable sync generation. Oh well, at least I can play around with the registers that are available now. I suppose I can do the sync removal method by using a hardware circuit. BTW, have you ever heard that the sync pulses running from the GPU to the encoder are at double frequency? I read that on a forum and didn't know if it was true. Thanks again!
FrostyTheSnowman
Jan 24 2007, 07:24 AM
QUOTE(landstack @ Jan 22 2007, 09:25 AM)

Thanks frosty, I figured it out by looking at the nkpatcher source. The only bad thing is that I don't think I can write to register 0x28 on the connexant to disable sync generation. Oh well, at least I can play around with the registers that are available now. I suppose I can do the sync removal method by using a hardware circuit. BTW, have you ever heard that the sync pulses running from the GPU to the encoder are at double frequency? I read that on a forum and didn't know if it was true. Thanks again!
Yeah, I heard that too. (Although I have no personal experience with the GPU sync signals.) AFAIK, they do run at double-frequency, and they also run at a higher voltage too.
dmx_wyrw
Jan 25 2007, 01:12 AM
QUOTE(FrostyTheSnowman @ Jan 22 2007, 01:27 AM)

Are you using the Focus encoder, or the Conexant encoder?
I am using Conexant.
its the monitor that im using i think.
It may be on its last legs. However, when i tried to connect the same cable with the lm1881n chip to another moniter it just flashes on and off very fast -no video.
All of this aside it still seems to be working correctly.
1.0 xbox tsop flash X2 5035 bios.
efinidc
Jan 26 2007, 02:15 PM
The EL8120s came in the mail today. They are surface mount and I decided to order dip adapters for them. Unfortunately they are very expensive. Obviously, I cannot fit the EL8120s and LM1881 inside the XBOX AVP head anymore, so I opted for a bread board in a small project box.
What is the significance of the 6.8K ohm 'pull-up' resister (RB) in figure 2 of the component application?
http://www.intersil.com/data/an/an9513.pdfI see the arrow so it looks like it is a potentiometer. Lastly, for the green channel, can I directly pull that off the AVP pin or must it come off a pin of the 1881?
Thanks in advance.
landstack
Feb 1 2007, 04:52 AM
QUOTE(efinidc @ Jan 26 2007, 02:22 PM)

The EL8120s came in the mail today. They are surface mount and I decided to order dip adapters for them. Unfortunately they are very expensive. Obviously, I cannot fit the EL8120s and LM1881 inside the XBOX AVP head anymore, so I opted for a bread board in a small project box.
What is the significance of the 6.8K ohm 'pull-up' resister (RB) in figure 2 of the component application?
http://www.intersil.com/data/an/an9513.pdfI see the arrow so it looks like it is a potentiometer. Lastly, for the green channel, can I directly pull that off the AVP pin or must it come off a pin of the 1881?
Thanks in advance.
Well, it is part of a divider that adds a DC component to the output. This must be done so that the output varies in the proper range (~0-0.7V) & -0.2V sync. They show it as a rheostat so you can adjust it to the proper level once the circuit is built. Basically, it's a manual clamping control. You would probably still get a picture without this voltage divider in place, but it would be extremely dark (crushed blacks). Since you'll be using this on just the Green channel, the picture would look purple.
You can pull the green channel directly off the AVP or off of the input to the LM1881--pin 2 (its the same node), it doesn't matter. Let me know how it works out.
efinidc
Feb 1 2007, 07:58 AM
Landstack,
Thanks for the reply, that was the answer I was exactly looking for!
The problem is exactly as you described. My screen does look purple and I thought I built the circuit incorrectly. I used a fixed resister at 6.8K ohm instead of a pot. I will go to Radio Shack this weekend and retry it again with a 10k pot.
backup
Feb 3 2007, 10:37 AM
QUOTE(efinidc @ Feb 1 2007, 08:05 AM)

Landstack,
Thanks for the reply, that was the answer I was exactly looking for!
My screen does look purple
Hi, excuse me for my english..i'm italian
this is my question: Is there a mode to running xbmc at 1280x1024 or 1024*768?
This resolution are optimal for pc monitors (i have samsung sm 930bf sog).
i ask this because in my xbox 1.1 (connexant),i build a vga cable and i using vga bios (ind bios vga bfm..) and when i set 720p resolution my screen does look purple!
I don't know if there is a new bios bfm that resolve this problem...any help?
efinidc
Feb 3 2007, 09:28 PM
I took off the fixed value 6.8k resister and replaced it with the 10k pot. I'm finally able to adjust my color properly. It isn't exactly purple but the colors look a little dark. I cannot seem to adjust the pot to get nice colors. I'm unsure wether it is the sync stripper or if my NEC multisync just wasn't so great to begin with. The contrast and brightness are properly adjust on the monitor as well. This in comparison to an Iiyama SOG and a Sony p1110 SOG.
In my locality, many individuals are selling used CRTs for rather low prices. I took the lazy and easy way out and bought a Dell Branded Sony Ultrascan p1110 for $30 USD. It is SOG and the colors are gorgeous with the vga bios and cable on the XBOX.
For the White tint issue presented by non SOG monitors, purchasing a second hand SOG monitor does not seem like such a ridiculous idea after all.( Provided, your locality has many available and at low prices.) Building the sync stripper was fun and challenging. However, in my opinion and situation, in the end, purchasing another monitor was the more feesible solution as CRTs are being sold for such low prices. All the small parts and shipping adds up!
biketuna
Feb 8 2007, 04:35 PM
Do I need vga bios for component output?
Thanks
Foe-hammer
Feb 16 2007, 06:16 PM
QUOTE(biketuna @ Feb 8 2007, 08:42 AM)

Do I need vga bios for component output?
Thanks
Are you serious? Are component and vga the same thing? The word 'VGA' is used in vga bios for a reason.
sasamaes
Feb 25 2007, 10:23 AM
QUOTE(FrostyTheSnowman @ Jan 17 2007, 03:57 AM)

The XBOX needs more than just cable-changing to generate a VGA signal. The Component-to-VGA cable only converts the 3 RCA connectors into a single VGA connector, it doesn't actually change the signal. The original XBOX was never meant to be hooked up to a VGA monitor, so without modifying the GPU/encoder signals internally (through the BIOS) you will not get a VGA picture. Instead you will get a fully green-tinted picture that would probably give you a headache if you tried to play anything with it.
So, to have VGA output on the XBOX you need both a cable, and a VGA-patched BIOS.
Finally! I was searching for that info
So here's my question: When you are using a device like x2vga+, wich converts the component YPbPr signal to vga, you're not getting as much quality as you cant get with the own-built vga cable and the modded bios, right?
Are there any comparision pictures around?
Thanks a lot!
HalfSpec
Mar 19 2007, 06:42 AM
Hello,
I'm having trouble getting my VGA output function correctly. I built an internal VGA port using
this schematic and used Frosty's .7 patch to patch my X3’s 3294 bios. The patch seems to have worked because when I load a dashboard with the bios enabled everything looks green through my component cables. However, when I flip switches 1 + 3 as indicated in JaredC01's diagram I get nothing. I'm a pretty clean and confident solderer, but I double checked to make sure I didn't do anything stupid and the continuity between all points checks out like it should. This is the process I'm following to enable VGA
#1) Plug in xbox HD component cable with all switches turned off
#2) Turn on xbox and boot to m$ dashboard (I've tried with the modchip enabled & disabled)
#3) Enable 480P output
#4) Unplug Xbox HD component cable and hook up a VGA cable to my new VGA port
#5) Enable Frosty's patched 3294 bios
#6) switch 1+3 on
#7) Boot xbox
That's what I do and I don't get any type of output. I'm trying to output to a BenQ W100 projector and it supports just about every VGA input signal known to man, but I can't get anything out of the xbox.
Am I doing something wrong? Has anyone successfully patched the 3294 bios for VGA? Should I try a patched X2 bios?
I appreciate any tips you can provide.
Lane
FrostyTheSnowman
Mar 20 2007, 12:34 AM
The X3 3294 BIOS works just fine with my VGA patcher. Your VGA cable just needs to be in 2+3 mode, not 1+3.
Resolder your jumper wires on your VGA cable to be in 2+3 mode, and you will be set.
NOTE: Jared_C01's diagram is out of date, 1+3 was the old way, but recent VGA methods, especially mine, require 2+3 mode. (HDTV mode, so that you get 480p, 720p, and 1080i in VGA.

)
Here's a link to the most current VGA cable tutorial: (Textbook's Tutorial)
http://www.360mods.net/News/article/sid=32.html
HalfSpec
Mar 20 2007, 04:36 AM
Thanks for the info Frosty. Yes, I figured out the switching problem a little earlier this afternoon. I also played around with my xbox and tried using 680kohm, 470kohm, and 340kohm resistors. I ended up going with the 470kohm because it worked with all my monitors. Unfortunatly, I never could get it to work with my projector. My projector is a BenQ W100 and it has a DVI input that accepts digital and analog signals. I believe my problem is being caused by the VGA to DVI adapter

Oh well, at least I can run it through the component inputs, but it does chap my ass that I spent the time troubleshooting the mod all for naught.
Lane
FrostyTheSnowman
Mar 20 2007, 05:29 PM
Yeah, the 470k is the one that I use too. It seems to be the most compatible one overall.
And sorry to hear about your projector, that's a bummer...
HalfSpec
Mar 22 2007, 10:22 PM
It's alright

The VGA port DOES technically work, its just that it won't work through a DVI adapter.
I do appreciate all the work you did to put this patch together.
Lane
FrostyTheSnowman
Mar 25 2007, 12:38 AM
Well, as long as can get it working on normal VGA monitors, then that's good at least.

QUOTE(HalfSpec @ Mar 22 2007, 03:29 PM)

I do appreciate all the work you did to put this patch together.
Anytime, i'm always glad to help where I can.
pimpysmurf
Apr 4 2007, 06:09 AM
I seem to be having some problems with the vga mod,
I am using the following equipment,
xbox v1.0
conexant encoder
vga cable for SOG monitors
Dell 2005fpw.
x2 5035 bios
xecuter 2.6
the issue is that after I mod the bios with the utility and flash the chip 480p works as expected, however 720p and 1080i are a bright purplish pinkish color.
I have tried xecuter bios 5035,5032, 4981, and evox m8plus. All producing the same result.
If I take a 5035 or 5032 bios and manually hex edit the code with the conexant part the pinkish color is almost under control
If I add both the conexant part and the VGA Code Enabler I end up with a super pinkish screen in xmbc or avalaunch.(both look fine in 480p)
any thoughts, or suggestions?
thanks
FrostyTheSnowman
Apr 4 2007, 09:22 AM
It's probably just an incompatibility with that particular monitor. Have you tried any other monitors? Also, I recommend that you actually use the sync splitter circuit instead of the sync-on-green circuit, as it seems to be more compatible with the higher resolutions. (720p, 1080i)
pimpysmurf
Apr 4 2007, 02:20 PM
I have a evo v1.1 from lumenlab,
results are on that are about the same, except it is more jumpy on the screen,
I will build a cable with a circuit in 3 to 15 days when my sample from national semiconducter comes in and try that, 480p is nice, but I want 720p.
on a side note, I put a standard 5035 bios back on the machine and on my dell it works in 720p and 1080i, It boots green like expected and then when xmbc loads it looks correct. I am assuming my monitor accepts component connections through vga.
thanks for the help frosty!
FrostyTheSnowman
Apr 4 2007, 03:39 PM
Interesting, well, if your monitor accepts Component over VGA, then my VGA patcher is probably unnecessary anyway. Does it look correct in 480p, 720p, and 1080i with a normal BIOS on your monitor? If not, try and use combinations of these individual hex edits for the Conexant encoder:
NOTE: I'm willing to bet that if you only change the 'VGA Enabler Code' and the '480p VGA Code' in your BIOS to be VGA compatible, and just leave 720p & 1080i unchanged in your BIOS, everything will probably work properly with your monitor.
---BEGIN DETAILED CONEXANT ENCODER CODE---
480p VGA Hex Patch:
Replace this:
CODE
0C AD 48 90 8C 8C 01 9C E1 8C 00 00 46
With this:
CODE
0C 00 48 80 80 80 01 98 E1 8C 00 00 46
720p VGA Hex Patch:
Replace this:
CODE
0C AA 49 90 8C 8C 01 9C E1 21 00 00 46
With this:
CODE
0C 00 48 80 80 80 01 98 E1 21 00 00 46
1080i VGA Hex Patch:
Replace this:
CODE
0C AB 49 90 8C 8C 01 9C E1 21 00 00 46
With this:
CODE
0C 00 48 80 80 80 01 98 E1 21 00 00 46
VGA Enabler Code:
Replace this:
CODE
74 12 89
With this:
CODE
90 90 89
---END DETAILED CONEXANT ENCODER CODE---
pimpysmurf
Apr 6 2007, 03:29 AM
I made a cable with the lm1881n circuit and then manually patched a 5035 bios. loaded it up on the box and everything worked great..
moved the xbox over to my evo projector and it booted up great in 480p, tried 720p. The colors where prefect and the image was nice and sharp, however the top fourth or fifth of the screen was wavy. I booted up with an unmodded bios and I did not have this issue (nice and green but no waves). and oddly enough if I powered the box off and on a few times it would occasionally be jumpy the entire time until I booted it again.
I build the circuit using a 470kohm resistor, could a different value perhaps bring me a better result?
thanks,
FrostyTheSnowman
Apr 6 2007, 05:02 AM
Yes, the resistor is what decides the 'compatibility' of the generated VGA sync signals, so changing it could very well fix the problem. The most common resistors used are 320k, 470k, 570k, and 680k.
I would try the 680k first, and then if that doesn't work try the 320k. Also note though that you can actually use any resistor you like between 320k and 680k. (I usually use 470k resistors.)
brilliantdonkey
Apr 7 2007, 10:09 AM
Would this patcher also work with BFM bioses, for the purpose of turning on VGA support on a TSOP'd xbox flashed with a hacked bios by loading PBL or something only when VGA output is needed?
I think I read that nkpatcher doesn't work with non-retail bioses, but I don't know what the best bios loader would be for this situation (loading a BFM bios on an xbox with a hacked bios already)
FrostyTheSnowman
Apr 8 2007, 08:25 AM
Yes, just unpack the BIOS, apply my VGA patcher, and repack it as a BFM BIOS, and it will work perfectly with PBL.
pimpysmurf
Apr 12 2007, 09:25 PM
QUOTE(FrostyTheSnowman @ Apr 5 2007, 10:09 PM)

Yes, the resistor is what decides the 'compatibility' of the generated VGA sync signals, so changing it could very well fix the problem. The most common resistors used are 320k, 470k, 570k, and 680k.
I would try the 680k first, and then if that doesn't work try the 320k. Also note though that you can actually use any resistor you like between 320k and 680k. (I usually use 470k resistors.)

I finally got around to trying the other resistors and had some unexpected results,
first I tried a 680k and had the same results, then I dropped to a 320k and once again the same results, I tried a couple of resistors in the middle and still had the same results, I would of expected something different. I even removed the resistor completely and had the same result. (I think it is an issue with the evo projector).
one thing that is a little weird is that on first boot the screen brightness would flash from bright to dim rapidly, if I unplug the vga connection and then plug it back in, the monitor would readjust and be fine (well all except the top fifth which would quiver like before.).
I am not sure where to go from here, maybe softmod the box, I have heard it has better vga output still. any opinions or suggestions frosty?
thanks
FrostyTheSnowman
Apr 12 2007, 09:58 PM
Well, if it is working without the resistor, then that means that your projector accepts Sync-on-Green signals, because normally removing the resistor would prevent the monitor from receiving anything at all...
So, try just wiring the Red, Green, Blue, and RGB grounds only, and see if that helps.
NOTE: The actual signal 'quality' with my VGA Patcher and the VGA Softmods is the same. You wouldn't notice a difference using a VGA softmod.
pimpysmurf
Apr 12 2007, 10:41 PM
ok,
thanks for all the help frosty!
PunMaster
Apr 30 2007, 08:32 PM
Hi. This VGA BIOS mod looks really cool! Unfortunately, it's not going as well for me as it is for everyone else. First of all, I have a v1.1 Xbox (Conexant encoder). I applied the patch to the newest release of iND-BiOS (iND-BiOS.5003.06.bin) and flashed it to my TSOP. I am using EvolutionX as my dashboard with an unlocked hard drive and no Microsoft dashboard installed. My monitor is an IBM LCD which supports sync-on-green beautifully. I know my port is wired correctly because I tested it with an older VGA BIOS mod (which worked on mode 1+3). Anyway, after flashing my BIOS, I got some interesting results which varied with mode settings. I tested each mode individually, with my Xbox connected to both a composite TV (NTSC) and my VGA LCD.The following table outlines my experience:
Mode 1 ----- TV: green tinted video - VGA: no video
Mode 2 ----- TV: no video ----------- VGA: no video
Mode 1+2 --- TV: green tinted video - VGA: no video
Mode 3 ----- TV: green tinted video - VGA: no video
Mode 1+3 --- *See Below* --------------------------
Mode 2+3 --- TV: no video ----------- VGA: no video
Mode 1+2+3 - TV: normal video ------- VGA: no video
* Mode 1+3 was the most interesting. When I first turned my Xbox on I got a correctly colored "LOADING iND-BiOS" message on my VGA monitor. Then, after a few seconds, the message disappeared, my VGA display went blank, and my TV filled with green lines and other indistinguishable garbage.
Has anyone else had these problems? Am I missing something obvious? Thanks!
FrostyTheSnowman
May 1 2007, 12:21 AM
You need to have your cable in 2+3 mode (HDTV) and you need to enable 480p in your Microsoft Dashboard.
NOTE: You can only enable 480p with an HDTV cable connected, and you NEED the Microsoft Dashboard to enable it.
NOTE 2: If you do not have an HDTV or an HDTV cable, you can just connect the 'Green' video connector to a standard 'Yellow' RCA connector on a normal TV. The picture will be in black and white, but you will be able to see what you are doing.
Risca
May 6 2007, 10:31 AM
How about the Cromwell BIOS? Are these patches already integrated in the Cromwell BIOS? I shure hope so, because xbTool won't let me unpack it
I'm working on the cable right now, but it would be rather useless if I can't use it for my Linux box.
My specifications:
Xbox 1.0
Conexant encoder of course
128mb ram
GentooX installed as native OS (no FATX here)
SmartXX v2 (it have som weird "Linux" menu in it's OS, but I don't know exactly what it does, other than boot Linux)
These specs makes it impossible for me to use an ordinary BIOS, unless I would boot with a CD each time, and that's just a pain.
And one more thing, you still need a patched BIOS for proper VGA even though you're running Linux, right? Linux don't have any magic ability to patch the encoder once booted?
Keep up the good work, frosty

Note: Won't mode 2+3 signal the xbox that a HD cable is connected, and fool Microsoft dashboard in believing that there is a HDTV cable inserted. I mean, 2+3 is HDTV-mode, right?
FrostyTheSnowman
May 7 2007, 06:11 AM
Actually, yes, Linux does magically patch the encoder for VGA once booted.

Linux already has full support for VGA. Just make your cable a 1+3 cable (NOT 2+3, Linux is different) and Linux will fully support it, no patching needed.
However, if you are going to use this cable for actual XBOX gaming, then you need to patch a BIOS with my VGA patcher, and make your cable a 2+3 cable. (HDTV)
And yes, by having your cable in 2+3 mode, the XBOX does indeed think it is an HDTV cable, and this allows you to use HD resolutions over a VGA cable.
g-rasshopper
May 7 2007, 11:38 AM
Hi Frosty,
Firstly, thanks for all the work you've done on this. I can't understand why M$ didn't build VGA support into the Xbox as a standard feature. It would after all have cost them practically nothing. It's frustrating that my Dreamcast currently produces a far better picture (through VGA) than my Xbox.
I've got a question regarding the Xcalibur encoder.
My understanding is that European Xboxes can output an RGB scart signal, and RGB scart signals treat colours in the same way as VGA. So would it be possible to find out how a European BIOS programs the Xcalibur to produce an RGB scart signal? You could then just copy the code, without having to understand how it works, to add Xcalibur support to your patch.
Just a thought.
The Zep Man
May 7 2007, 12:52 PM
QUOTE(g-rasshopper @ May 7 2007, 01:14 PM)

My understanding is that European Xboxes can output an RGB scart signal, and RGB scart signals treat colours in the same way as VGA. So would it be possible to find out how a European BIOS programs the Xcalibur to produce an RGB scart signal? You could then just copy the code, without having to understand how it works, to add Xcalibur support to your patch.
The use of RGB is the same, the use of sync signals is not. RGB SCART still uses 480i/576i (whether PAL60/NTSC or PAL is used) as it's resolution, while you probably want a progressive mode (480p) for VGA. Also, VGA uses two separate sync signals which differ a lot compared to those of RGB SCART. By the way, there is no 'European BIOS'. The BIOS is the same in each region. Regional settings are written into the EEPROM.
Reverse engineering the Xcalibur is possible (hell, ANYTHING is possible)) , but I think it's a hell of a job.
FrostyTheSnowman
May 7 2007, 01:57 PM
Well, i'm not sure if that would work or not, but it's definately an idea...
The only thing is that the registers table for the Xcalibur encoder (and also the Conexant and Focus encoders) has a totally different layout for each output type, meaning it has a differently formatted table for Composite/S-Video, SCART, HDTV, etc...
I have already located the HDTV registers table for the Xcalibur encoder, but i'm totally lost as to what to actually change...
Everytime I attempt to reverse-engineer the HDTV encoder table on the Xcalibur encoder, I spend hours thinking of logical ways to do it, but every attempt so far just ends up in a FRAG. Then, at which point I will get frustrated and just give up, which has been the on-going cycle for months now...
If anyone out there has better hex-editting skills than I do, or feels confident, please feel free to improve upon my work. Xcalibur support would be a great thing to see in the future.
g-rasshopper
May 7 2007, 05:31 PM
I'm very new to the Xbox modding scene so I could be talking complete nonsense. But from my Amiga days, I always got the impression that, if you ignore the sync signals (which are of course a different issue), then the only substantial difference between an RGB scart signal and VGA is the refresh rate (~15.5 khz vs ~31.5khz).
QUOTE(FrostyTheSnowman @ May 7 2007, 02:33 PM)

The only thing is that the registers table for the Xcalibur encoder (and also the Conexant and Focus encoders) has a totally different layout for each output type, meaning it has a differently formatted table for Composite/S-Video, SCART, HDTV, etc...
So are you saying that the Xcalibur/Conexant/Focus encoders have to be programmed differently depending upon the refresh rate? If you are then that would of course massively complicate matters.
FrostyTheSnowman
May 8 2007, 08:56 PM
Well, the refresh rate is not too important, because progressive video signals already produce a compatible sync signal right from the get-go. (480p, 720p, and 1080i all produce a 31khz signal natively.)
However, the register tables for the colors are different for each cable type. Meaning that HDTV and SCART have their own individual hex code, and that code is only used if that particular type of cable is used.
I have not experimented with the *possible* similarities in the code for HDTV and SCART, because I am still somewhat lost as to what code actually applies to what cable, because of the fact that the Xcalibur encoder is so largely undocumented...
However, it *might* be possible to use a SCART cable to produce a VGA compliant signal by use of a sync-doubler, but I have not tried this myself...
g-rasshopper
May 8 2007, 10:11 PM
I wonder how hard it would be to write a little program that allowed you to tweak the various registers to see what the effect was on the display in real time. I remember many years ago there was a program like that for the Amiga.
Incidentally, how many registers in total are there?
FrostyTheSnowman
May 8 2007, 11:21 PM
For the Xcalibur?
Well, here's the full register table for the Xcalibur encoder... (each line is cut off and continued on the next line, the shorter line is really the rest of the line above it... damn forum limitations...

)
CODE
0C 0D 0E 0F 00 01 02 03 04 05 06 07 08 09 10 11 14 15 1A 1B 38 39 40 41 42 43 46 47 48 49 4A 4B 4C 4E 4F 50 51 60 62 69 6C 73 74 7C 7D 80 81 82 89 8A 92 93 9A 9B B2 B3 C0 C1 0C 0D 0E 0F 0C 0D
01 20 15 00 B6 00 18 00 80 02 00 00 00 10 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 00 7C 40 80 3E 00 46 02 3C 00 91 91 19 24 14 04 3C 00 67 21 0C 13 13 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 20 15 00 8F 00 18 00 D0 02 00 00 00 00 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 00 7C 40 80 3E 00 46 02 3C 00 91 91 19 24 14 04 3C 00 67 21 0C 13 13 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 20 15 00 B6 00 18 00 80 02 00 00 00 10 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 00 7C 40 80 3E 00 3C 01 3C 00 9D 9D 19 24 14 04 3C 00 67 21 0C 13 13 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 20 15 00 8F 00 18 00 D0 02 00 00 00 00 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 00 7C 40 80 3E 00 3C 01 3C 00 9D 9D 19 24 14 04 3C 00 67 21 0C 13 13 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 20 15 00 B6 00 18 00 80 02 00 00 00 10 06 00 16 00 1F 00 82 00 21 E6 EF E3 8D 00 7C 40 80 2B 1F 46 02 3C 00 91 91 12 24 14 40 3C 00 57 2F 07 16 16 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 20 15 00 8F 00 18 00 D0 02 00 00 00 00 06 00 16 00 1F 00 82 00 21 E6 EF E3 8D 00 7C 40 80 2B 1F 46 02 3C 00 91 91 12 24 14 40 3C 00 57 2F 07 16 16 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 21 15 00 92 00 19 00 80 02 C3 30 00 10 54 00 C8 00 3F 00 A4 00 2A 09 8A CB 8D 00 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 49 3E 03 57 2F 07 16 16 C4 48 00 80 D7 05 00 00 03 21 15 04 00 21
01 21 15 00 67 00 19 00 D0 02 C3 30 00 00 54 00 C8 00 3F 00 A4 00 2A 09 8A CB 8D 00 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 49 3E 03 57 2F 07 16 16 C4 48 00 80 D7 05 00 00 03 21 15 04 00 21
01 21 15 00 92 00 1C 00 80 02 00 00 00 10 02 00 08 00 1F 00 82 00 2A 09 8A CB 8D 00 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 49 3E 03 57 2F 07 16 16 C4 48 00 80 D7 05 00 00 03 21 15 04 00 21
01 21 15 00 67 00 1C 00 D0 02 00 00 00 00 02 00 08 00 1F 00 82 00 2A 09 8A CB 8D 00 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 49 3E 03 57 2F 07 16 16 C4 48 00 80 D7 05 00 00 03 21 15 04 00 21
01 20 15 00 B6 00 18 00 80 02 00 00 00 10 06 00 16 00 1F 00 82 00 2A 09 89 53 8D 00 7C 40 80 2F 21 3F 00 3E 03 9D 9D 19 24 11 51 3E 03 67 21 0C 10 10 C4 48 00 00 96 05 00 00 03 20 15 04 00 20
01 20 15 00 8F 00 18 00 D0 02 00 00 00 00 06 00 16 00 1F 00 82 00 2A 09 89 53 8D 00 7C 40 80 2F 21 3F 00 3E 03 9D 9D 19 24 11 51 3E 03 67 21 0C 10 10 C4 48 00 00 96 05 00 00 03 20 15 04 00 20
01 20 15 00 B6 00 18 00 80 02 00 00 00 10 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 0C 7C 40 80 3E 00 46 02 3C 00 91 91 19 24 14 24 3C 00 67 21 0C 13 13 C5 48 00 00 55 05 93 93 03 20 15 04 00 20
01 20 15 00 8F 00 18 00 D0 02 00 00 00 00 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 0C 7C 40 80 3E 00 46 02 3C 00 91 91 19 24 14 24 3C 00 67 21 0C 13 13 C5 48 00 00 55 05 93 93 03 20 15 04 00 20
01 20 15 00 97 00 18 00 BE 02 00 00 00 03 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 00 7C 40 80 3E 00 46 02 3C 00 91 91 19 24 14 04 3C 00 67 21 0C 13 13 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 20 15 00 97 00 18 00 BE 02 00 00 00 03 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 00 7C 40 80 3E 00 3C 01 3C 00 9D 9D 19 24 14 04 3C 00 67 21 0C 13 13 C4 48 00 00 55 05 00 00 03 20 15 04 00 20
01 20 15 00 97 00 18 00 BE 02 00 00 00 03 06 00 16 00 1F 00 82 00 2A 09 89 53 8D 00 7C 40 80 2F 21 3F 00 3E 03 9D 9D 19 24 11 51 3E 03 67 21 0C 10 10 C4 48 00 00 96 05 00 00 03 20 15 04 00 20
01 20 15 00 97 00 18 00 BE 02 00 00 00 03 06 00 16 00 1F 00 82 00 21 F0 7C 1F 89 0C 7C 40 80 3E 00 46 02 3C 00 91 91 19 24 14 24 3C 00 67 21 0C 13 13 C5 48 00 00 55 05 93 93 03 20 15 04 00 20
01 21 15 00 73 00 19 00 BE 02 C3 30 00 03 54 00 C8 00 3F 00 A4 00 2A 09 8A CB 8D 00 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 49 3E 03 57 2F 07 16 16 C4 48 00 80 D7 05 00 00 03 21 15 04 00 21
01 21 15 00 92 00 19 00 80 02 C3 30 00 10 54 00 C8 00 3F 00 A4 00 2A 09 8A CB 8D 0C 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 69 3E 03 57 2F 07 16 16 C5 48 00 80 D7 05 93 93 03 21 15 04 00 21
01 21 15 00 67 00 19 00 D0 02 C3 30 00 00 54 00 C8 00 3F 00 A4 00 2A 09 8A CB 8D 0C 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 69 3E 03 57 2F 07 16 16 C5 48 00 80 D7 05 93 93 03 21 15 04 00 21
01 21 15 00 92 00 1C 00 80 02 00 00 00 10 02 00 08 00 1F 00 82 00 2A 09 8A CB 8D 0C 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 69 3E 03 57 2F 07 16 16 C5 48 00 80 D7 05 93 93 03 21 15 04 00 21
01 21 15 00 67 00 1C 00 D0 02 00 00 00 00 02 00 08 00 1F 00 82 00 2A 09 8A CB 8D 0C 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 69 3E 03 57 2F 07 16 16 C5 48 00 80 D7 05 93 93 03 21 15 04 00 21
01 21 15 00 73 00 19 00 BE 02 C3 30 00 03 54 00 C8 00 3F 00 A4 00 2A 09 8A CB 8D 0C 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 69 3E 03 57 2F 07 16 16 C5 48 00 80 D7 05 93 93 03 21 15 04 00 21
01 20 15 00 B6 00 18 00 80 02 00 00 00 10 06 00 16 00 1F 00 82 00 2A 09 89 53 8D 0C 7C 40 80 2F 21 3F 00 3E 03 9D 9D 19 24 11 71 3E 03 67 21 0C 10 10 C5 48 00 00 96 05 93 93 03 20 15 04 00 20
01 20 15 00 8F 00 18 00 D0 02 00 00 00 00 06 00 16 00 1F 00 82 00 2A 09 89 53 8D 0C 7C 40 80 2F 21 3F 00 3E 03 9D 9D 19 24 11 71 3E 03 67 21 0C 10 10 C5 48 00 00 96 05 93 93 03 20 15 04 00 20
01 20 15 00 97 00 18 00 BE 02 00 00 00 03 06 00 16 00 1F 00 82 00 2A 09 89 53 8D 0C 7C 40 80 2F 21 3F 00 3E 03 9D 9D 19 24 11 71 3E 03 67 21 0C 10 10 C5 48 00 00 96 05 93 93 03 20 15 04 00 20
01 21 15 00 73 00 1C 00 BE 02 00 00 00 03 02 00 08 00 1F 00 82 00 2A 09 8A CB 8D 00 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 49 3E 03 57 2F 07 16 16 C4 48 00 80 D7 05 00 00 03 21 15 04 00 21
01 21 15 00 73 00 1C 00 BE 02 00 00 00 03 02 00 08 00 1F 00 82 00 2A 09 8A CB 8D 0C 7C 3C 9A 2F 21 3F 00 3E 03 9D 9D 1A 1E 15 69 3E 03 57 2F 07 16 16 C5 48 00 80 D7 05 93 93 03 21 15 04 00 21
g-rasshopper
May 9 2007, 06:22 PM
Wow, it's more complicated than I realised. But I'm a bit confused. Is that just the actual data that goes into the registers, or the program code that sets the registers?
If it's the latter, then someone ought to run it through a disassembler. If it's the former, then I'm astonished that so much data is needed, unless M$ deliberately made the chip hard to program in an attempt to thwart hackers.
FrostyTheSnowman
May 9 2007, 11:31 PM
Yeah, that's actually the register data itself.
It's massive... i'm willing to bet, as you did, that Microsoft did this on purpose.
I'm also willing to bet that only 10% of that table is even used to program the chip, the rest is bogus.
Thanks Microsoft!
PunMaster
May 13 2007, 04:47 PM
Sorry to break into the Xcaliber discussion here.

Anyway, since my last post a few weeks ago, Ive got my setup to work (I sucked it up and reinstalled the MS dashboard) and it is going relatively well. Still, as many users have pointed out, I am also experiencing the problem where if I use the "Quit to Dashboard" option in any homebrew apps or the "Quick IGR" feature in my BIOS, I am returned to a discolored dashboard (I use EvoX). For a while I had just excepted this as reality, but now have recently stumbled onto something that might solve this problem (at least for me). I noticed that whenever YAMP (Yet Another Media Player) crashed (which it did quite often) I was returned to my dashboard correctly colored. I have even been able to intentionality use the YAMP bug to fix a "discoloration" caused by returning from another app. So basically, I was hoping to re-create that bug in a standalone "Fix Colors" app. One thing that might give us more information is the fact that YAMP (like the MS Dashboard) uses some weird resolution and suffers from severe discoloration and blurriness (and will only work at all on my best monitor). Is it possible that going into this resolution and then returning back to normal 480p fixes the color problem. If so, can this trick be used in a standalone "fixer" application? Thanks.
FrostyTheSnowman
May 13 2007, 08:09 PM
Well, the 'weird' resolution you are talking about is 480i, which is 720x480 interlaced. (Normal TV resolution)
This mode is not compatible with VGA, which is why it looks so strange. Very few monitors can handle it...
But as for a 'fixer' app, yes, it is possible to create an application that switches to 480i and then exits back to the dashboard, then the dashboard would switch it back to 480p upon loading, which would essentially cause a 'GPU reset' and fix the colors... but I am not a very good programmer when it comes to XBOX applications, so I would not personally be able to do this myself.
However, I do have the necessary code for Force480p and ForceGPUReset, which would fix the VGA problems with modchips 100%, but I cannot get the JUMP command in any XBOX BIOS to work properly to inject this code at the end of the 'xboxkrnl_3' routine.
I am sure the only reason I cannot get this to work is because I am an amateur at code injection, so if anyone out there has more experience with code injection, PLEASE PM me and maybe we can work as a team to get a perfect VGA BIOS for modchip users.
PunMaster
May 15 2007, 01:25 AM
I myself am not amazingly good at code injection either but I have a friend that might be able to help. One thing I might suggest is a simple but elegant jump technique you might not have tried (or maybe you have and I am totally underestimating you

). You simply push the address you want to jump to onto the stack then do a "return" to jump to it. It should be only 6 bytes (1 = push, 4 = address, 1 = ret) and do a full address jump every time. That might help. If not, I'll try to get in touch with my friends. If anyone could do it, they could. Thanks.
Foe-hammer
May 15 2007, 09:02 PM
QUOTE(FrostyTheSnowman @ May 13 2007, 01:45 PM)

However, I do have the necessary code for Force480p and ForceGPUReset, which would fix the VGA problems with modchips 100%, but I cannot get the JUMP command in any XBOX BIOS to work properly to inject this code at the end of the 'xboxkrnl_3' routine.
I am sure the only reason I cannot get this to work is because I am an amateur at code injection, so if anyone out there has more experience with code injection, PLEASE PM me and maybe we can work as a team to get a perfect VGA BIOS for modchip users.
Damn...good job, Frosty. I wish i could help, but am clue less on the subject.
PEOPLE WITH THE KNOW HOW, PLEASE HELP FROSTY SO WE CAN HAVE FULL 480P COLOR SUPPORT ON THOSE GAMES AND APPS THAT REVERT BACK TO GREEN.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.