This VHDL was written as a fun educational exercise to replace the CPLD logic on the cheap AladdinXT 4032 Original Xbox modchip. It converts the modchip to a basic LCD driver, consequently it looses the ability to load a custom bios. This is best used with a TSOP flashed console. Soft modded functionality unverified.
The Lattice LC4032V CPLD on the cheap Alladin modchips is extremely limited, so this is a hacky bare minimum to reduce macro-cell usage to fit onto the CPLD. Therefore it will not support any other functionality, unless you decide to migrate it to a higher macro cell count CPLD (i.e 4064 variant) and add other features.
- This does not support adjusting the backlight via the dashboard settings.
- This has very limited contrast control through the dashboard settings. It couldn't even manage an 8-bit PWM signal. For the dashboard settings: 0%=No Contrast up to 25%=Full Constrast. Anything else wont work as expected. If this isn't good enough for your particular LCD, use an external trimmer.
Ideally, a custom little PCB could be used in conjunction with the same or similar CPLD to make installation much easier without having to sacrifice an Aladdin modchip. A future project maybe.
-
Connect a JTAG programmer to the JTAG pins shown below.
-
Apply external 3.3V power to the Aladdin PCB so that it is powered whilst programming. This can be done by plugging it into the LPC port on the Xbox or an external power supply.
-
Program the CPLD with the
SVF
file in this repository . I programmed it with UrJTAG using a compatible programming cable. The general programming sequence in UrJTAG is something like: (Commands written in bold).cable usbblaster Type
help cable
for other supported cables.
detect To confirm that the cpld is detected.
svf ALADDINLCD.SVF progress To program the CPLD.
Note: I used an Altera USB Blaster clone, with this you need to install the Quartus II Stand-Alone programmer software which contains the correct drivers for the programmer otherwise UrJTAG won't connect to it. -
Remove the JTAG programming points.
-
Remove the flash memory and socket from the Aladdin Chip to expose the required usable IO pads. Be careful not too damage the pads.
-
Wire the LCD as per the diagram below.
-
Install onto the LPC header in your Xbox. There is no other connections to worry about. If you have a 1.6 motherboard you will need to rebuild the LPC as you would for a modchip install. Don't ground any D0 points etc.
-
Enable
SmartXX
LCD in your dashboard. -
Set contrast to a value between
0 and 25%
to display correctly. 25% is full contrast with this mod. Values above 25% won't work as expected. I find ~20% a good value.