I am experimenting with some ESP8266 boards. (They are high speeds (40 / 80 MHz) and have a lot of memory.) I already made a 6502 emulator with one of these. Now I am wondering if it is possible to let another ESP8266 board output a VGA color signal (emulate the VIC-II). I already found the VGA library for the DUE.
Do you think it is possible to let an 8266 output VGA and if so would it be wise to modify the DUE library of code one from scratch?
The Due VGA library is a combination of very hardware-specific code (SPI, DMA) and inline assembler.
I'd suspect that "modifying" it to work on the ESP8266 would be as difficult, or more difficult, than starting from scratch (it's a different cpu and different peripherals, and I don't even know whether the documentation is detailed enough to create VGA output...)
I'd be impressed if anyone made the ESP8266 do that. The problem is that in order to make it's wifi stuff work, you've got to yield to the low level code - and as I understand it, it's got a WDT running full time that resets the chip if you don't yield often enough. I have a feeling that this "distraction" would make it hard for the ESP8266 to generate stable video... Bitbanging analog video requires the chip's pretty much undivided attention.
DrAzzy:
I'd be impressed if anyone made the ESP8266 do that. The problem is that in order to make it's wifi stuff work, you've got to yield to the low level code - and as I understand it, it's got a WDT running full time that resets the chip if you don't yield often enough. I have a feeling that this "distraction" would make it hard for the ESP8266 to generate stable video... Bitbanging analog video requires the chip's pretty much undivided attention.
The recommended maximum time in loop{} (the Arduino code) before yielding to the RF section of native code is 50mS. The WDT can be disabled and so the RF transmitter, but the current design of the ESP8266 Arduino core automatically performs a yield at the top of loop {} so my belief is that you are correct in your statement regarding video stability. The ESP8266 SDK however may provide a non-Arduino solution to video, but this path certainly is not a simple one IMO.
DrAzzy:
I have a feeling that this "distraction" would make it hard for the ESP8266 to generate stable video... Bitbanging analog video requires the chip's pretty much undivided attention.
except for one thing... as mentioned in kissste ignored post above esp guru chuck lohr has been doing this for some time. i tested it and video is quite stable with more than enough resolution for commodore screens.
john1993:
except for one thing... as mentioned in kissste ignored post above esp guru chuck lohr has been doing this for some time. i tested it and video is quite stable with more than enough resolution for commodore screens.
Sorry to bump and old thread, but just to set the record straight; outputting TV signals is at best half the pixelclock needed for outputting VGA - not to mention the vsync/hsync has to be rather stable compared to the sync on tv.
Again, sorry for bumping the thread, was looking on google for ESP8266 VGA - and this popped up.