VDP-1

XCore Project reviews, ideas, videos and proposals.
yzoer
XCore Addict
Posts: 133
Joined: Tue Dec 15, 2009 10:23 pm

VDP-1

Post by yzoer »

Version: 1.2
Status: Complete
License: MIT
Download: /files/project_builds/VDP-NTSC.zip

Tile- and sprite based Video Display Processor ( VDP ).
Support for both VGA and NTSC output

Uses only 2 threads!

1024 tiles of 8×8 pixels, 16 colors per tile for a total of 32K

16 palettes of 16 colors for a grand total of 256 colors on-screen out of 32768.

2 independent backgrounds, pixel scrollable on both X- and Y

32 sprites ranging from 8×8 to 64×64 pixels with selectable priority ( between sprites as well as backgrounds )

Horizontal and vertical flipping for background tiles and sprites
Video:

Images:


User avatar
The_RB
Member
Posts: 15
Joined: Tue Dec 15, 2009 7:03 pm

Post by The_RB »

Very impressive!

I looked through your source code, and would like to ask a few questions. Is it maxed out at 80nS per pixel or could you go smaller pixels than that? And does it require the G4 processor or is this workable on a single core?
yzoer
XCore Addict
Posts: 133
Joined: Tue Dec 15, 2009 10:23 pm

Post by yzoer »

Thanks for the feedback! It's pretty much maxed out at 80ns per pixel, especially when it's doing NTSC.

It'll run on single, dual and quad cores as it only takes 2 threads: rendering and display. If you're running on a single core, you can get rid of the 3rd 'communication' thread, which is only there to allow it to run on separate cores.

Also make sure you're not running more than 4 threads on the render / display core as these are timing critical, especially in NTSC. Once you go over 4 threads XMOS starts time-slicing, which will throw a wrench in the whole system :-)
deadshot
Member++
Posts: 17
Joined: Thu Oct 14, 2010 4:43 pm

Post by deadshot »

The project looks great...do you have a schematic for the resistors (VGA and NTSC) ...also are there any external SRAM chips used
yzoer
XCore Addict
Posts: 133
Joined: Tue Dec 15, 2009 10:23 pm

Post by yzoer »

I made a VGA adapter for the XC-2 board. Have a look at www.xcores.org.