-
1Source an image file
The Python scripts expect to convert "finch.jpg" so either provide that or edit them to load a different file. The output resolution is 40x480, so anything higher-resolution than that with 4:3 aspect ratio should be fine.
-
2Run imgconvert2.py
Next you need to run imgconvert2.py - this converts "finch.jpg" primarily into a "finch.img" binary result. It also outputs a few PNGs to help debug the palettization process.
It hard-codes the final video resolution, so if you change that elsewhere in the circuit, you need to change it here too.
-
3Run genvgarom.py
Then you can run genvgarom.py. It has some timing parameters, sync polarities, etc defined near the top, in case you want to try a different resolution. It expects to load "finch.img" and outputs a 32K "vgarom.rom" file.
-
4Burn the EEPROMI use minipro for this, doesn't everyone?
-
5Build the circuit
It's fairly small circuit so hopefully shouldn't take too long to build.
-
6Test the circuit before connecting it to a monitor
Make sure the following frequencies are working before connecting to a monitor:
- U5 pin 12 - 59.94 Hz
- U5 pin 11 - 31.47 MHz
If there are any issuse with those, check the following and check your wiring:
- U1 pin 2 - 25.175 MHz
- U1 pin 11 - 1.57 MHz
- U1 pin 15 - 1.57 MHz
- U2 pin 15 - 767 kHz
- U2 pin 1 - 393 kHz
- U2 pin 7 - 6.14 kHz
- U5 pin 16 - should generally read high on a DC voltage check
U1 should always work, so if it doesn't the problem will be local wiring. If U2 is not working then it could be local, or could be due to the reset signal from U5, so check that's mostly high. If this all fails then you should use a logic analyser to check the ROM inputs, or a scope perhaps, or just check the wiring one more time.
-
7Connect to a monitor
So long as the core sync frequencies are correct, you should be ready to connect to a monitor, and your image should appear on the screen.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.