-
LineCop
Posted on February 15th, 2009
Line Sync'd Copro Test
Been improving OSCA on the V6Z80P some more. I’ve now added a line sync’d co-processor, which like the Amiga’s Copper, runs its own program under DMA to write to the video registers at specific scan lines without using the CPU or interrupts. Also added a slightly ‘experimental’ display option to the bitmap mode, which I’ve call Flood. When this is selected, colours can be ’smeared’ across a scanline depending on the value of the current pixel – this may be useful for automatically filled vector graphics, though it would need some careful line-drawing. Finally, I’ve improved the tilemap mode – you can now have a single bank of 2032 tiles, as the system uses 2-byte tile indexes (some of the upper bits are used to flip the tile images vertically and horizontally as well).
-
V6Z80P Done!
Posted on January 6th, 2009
The V6Z80P is complete. This new version has some slight enhancements over the previous V5Z80P, most notably 512KB video RAM and 512KB system RAM. The other big change is the removal of the IDE interface (which has been replaced with an MMC/SD card slot) and the inclusion of the power supply socket+regulators onboard. One last improvement is better configuration management – the onboard EEPROM can hold upto 4 different FPGA configs (and the OS) and its now possible to reprogram it in situ. Apart from that.. its the same size (116×120mm) and is backwards compatible with the existing V5Z80P. The full project archive (12MB) as it currently exists can be downloaded from mediafire. -
Blitter and Line Draw
Posted on September 9th, 2008
Blitter and Line Draw Tests
Still adding new features to the V5Z80P.. :) Latest additions are a VGA-like 1byte=1pixel screen mode, with hardware line draw.. I’ve also allowed the blitter to skip writes of zero pixels which means it can do “bobs” (ie: software sprites). As you can see on the pic to the right it can manage 192 16×16 pixel bobs in one frame. The linedraw test below is showing 127 lines (double buffered display, with line erase) with plenty of frame time left for more.
Helping with the new video mode is a new video addressing system where you can choose to send all CPU writes to video RAM. There is an optional exclusion window so stack operations can still occur whilst the large video page is active.
-
I say, you Bounder!
Posted on August 8th, 2008I’ve finally completed my retro remake of the classic C64 game Bounder. Unless you have a V5Z80P you wont be able to play it – not to worry, here’s a youtube video.
If anyone wants to convert it to any other system, feel free to adapt the source code. Drop me a line and let me know!
-
VGA output
Posted on May 29th, 2008By popular demand (OK, a couple of people enquired:) the V5Z80P now has VGA output. I’d included digital H/V sync lines on the 8-pin mini DIN socket in anticipation but hadn’t looked into 60Hz VGA video timing until now. Its meant a bit of work on the scanline buffer system, but as this area was something that hasnt changed since the V4 system, it was a good opportunity to tidy up the logic there.
VGA demands a ~31KHz horizontal sync, and line doubling to maintain a lo-res (320×240*) display. I wasn’t sure how stretched the pixels would look, but as you can see by the pictures (TV at the top, PC monitor below) it isn’t too bad.. I’ve just added automatic centring so the video window settings from the usual PAL mode also centre the display on VGA (and realized I now have to auto-offset the scanline-based interrupts too..)
I guess NTSC mode is a possibility, especially as it has much the same overall timing as VGA, something to look into later I think…
(* The display can actually be much wider than 320 pixels).
-
V5Z80P PCBs
Posted on April 6th, 2008
Well I bit the bullet and got some PCBs for the V5 Z80 Project professionally made.. I sent the Gerber output files of Freepcb to a company called www.pcbcart.com and they did the business – the boards are lovely :)I’ve made a start soldering on the components and converting the V4Z80P logic to the new design but other things have being hogging my time recently so I havent made as much progress as I would have liked. ATM, only the basics have tested, and the 16MHz Z80 is happily counting in binary on some LEDs whilst the TV displays a simple test card. Woo!


