This project is based on this great hack: www.tinyvga.com/avr-isa-vga. I borrowed greatly from this code, but it was not working for me out of the box

Search code, repositories, users, issues, pull requests...

submited by
Style Pass
2024-11-28 13:30:03

This project is based on this great hack: www.tinyvga.com/avr-isa-vga. I borrowed greatly from this code, but it was not working for me out of the box.

I managed to fix font loading using this forum thread: https://forum.osdev.org/viewtopic.php?f=1&t=25375 (I did not use padding, hence I only loaded every other font glyph).

Initially I tried to use 16 bit ISA mode but it was not working. So had to switch to 8-bit ISA mode. I had to switch two jumpers, one to use 8-bit ISA mode and second to use legacy 8-bit BIOS mode (disable BIOS autodetection). All jumpers are described here: https://www.minuszerodegrees.net/manuals/Trident/Trident%20-%20TVGA%209000i%20Graphics%20Adapter%20-%20User's%20Manual%20-%20Rev.%20B.pdf

Card was not working without OSC signal. I did not had the 14.3... MHz crystal so I initially used 10MHz but the frequency was too low (it is used to refresh dynamic RAM) so all my writes to memory were vanishing. Then I switched to 16MHz crystal the card started to work but it was getting really hot. Now I wait for 14.3 MHz crystal delivery...

Looks like RESET signal did not reset all internal registers. In other words if you mess something with them just resetting the card may not be enough. What I found to be useful is to leave the card without power for at least 30 mins or even over night. Then all the registers will go back to their default values. Yes this is very strange, maybe it is just in my head?

Leave a Comment