Offline
CA

Ok, so back to the original idea of video capture / AV without FPGA.

I was browsing the web for some inspiration and found a couple of threads about NES emulation using Parallax Propeller. I am not very familiar with that uC so I don't quite buy that a full blown NES emulator could be made. But I don know that it is powerful enough to make almost SNES like games (e.g. http://www.instructables.com/id/El-Juga … -Console/)

From what I understand it can be clocked to 80MHz and SoC among other things has the video signal generator. With this in mind it appears that it could be used for VGA or NTSC / PAL signal generation for the gameboy. And it costs $8.

Is anyone familiar with Parallax Propeller?
How do you estimate the possibility of realizing this project with Propeller?

PS
Propeller datasheet https://www.parallax.com/sites/default/ … .4.0_0.pdf

Last edited by friendofmegaman (Jun 23, 2016 6:58 am)

Offline
Melbourne, Australia

Don't bother...

http://bennvenn.myshopify.com/products/ … r-your-dmg

Offline
CA

1. This is VGA, I'd like video capture into PC and / or AV
2. I don't see the schematic, I'd like to make it myself instead of buying
3. I didn't know if someone's done something, alternative solutions should not be attempted, but now I know

Offline
Australia

Hey,

Yeah its VGA, wouldn't be hard to output composite instead (I've prototyped it though the consensus was VGA instead). Even easier and more accurate would be pure digital into a PC.

There isn't a schematic and it uses a CPLD and lots of ram to buffer/sync the images.

You would need a fast and reliable method of getting data into your PC. 160x144x2bitsx60 frames a second = 2.764800 million bits per second, that is without any packet overhead. This is not something your arduino can do over a serial connection.

~350kbytes/sec is quite fast. You can drop frames and get a teensy to send data to the PC pretty easily but how many dropped frames is acceptable?

I think eBay has VGA video capture boxes, or even VGA to composite adaptors.

Or use some kind of compression, RLE would compress the data stream failry efficiently. Then how would you go about decompressing and reconstructing the video on the PC side?

If you want to record, the easiest solution is a hardware GB to AV out module.

Offline
Australia

OK, I just read though the whole thread.

If you want a non FPGA/CPLD approach, use a maple/maple mini. The STM32F103 has enough processing speed to read the video data and send it straight to its USB FIFO buffer, It is the PC's responsibility to read the data out fast enough. It even has enough ram to buffer a few frames to make it all go a lot smoother.

I have clocked the stm32f103 at a reliable 400kbytes/second (There can not be any other peripherals attached to the USB host and best if it is not via a hub) Latency is 1ms on USB high speed which means no handshaking, it'll be a one way street with CRC incorporated.

Reconstructing the video in real time on the PC is beyond me. I tried in Python but i cannot do it fast enough with Tkiniter. PyGame library would help but I found converting from 2bit to a RGB value takes too long.

If capturing is what you want, AV is what you need. a USBCAP chinese thing is only a couple of dollars. A CPLD and buffer to do the frame conversion will be under $10.