Retroleum
Eight bits should be enough for anyone..-
V6Z80P Update Roundup
Posted on June 11th, 2009 No commentsWork on the Z80 Project continues, here’s a list of recent updates:
OSCA - FPGA architecture:
- Interlace timing mode, increases the vertical resolution 2x on PAL and NTSC TVs. Would be easier to use if the bitplane pointers had line modulos, something I may look into later.
- Sound system interrupts. There are now flags which become set when each channel loops (re-reads its location and length pointers). These flags are OR’d into a new interrupt source. This allows long samples to be played seamlessly as the buffer data and pointers can be set up ahead and switched when the previous buffer has been played.
- Double buffered palette - saves the need to write to the palette registers off screen to avoid glitches.
- New Sprite modes - X mirror image, Matte mode (forces all non-zero pixels to a single colour) and high palette (sets bit 7 of pixels indexes, providing a simple means of switching video priority per sprite)
FLOS - Operating system
- OS can now be assembled to use FAT16 instead of my own filesystem, alas no room for both.
- Rewrite of the text plotting code, now uses to the blitter - allows colour in the fonts (15 foreground and background colours)
- Added new Kernal (sic!) commands for directory listing, character plotting, low level sector access..
Meanwhile, other V6Z80p owners have been making some nice programs.. Valen has provided a C framework for using SDCC with the V6Z80p and Daniel has made a PT3 tracker player.
-
Eyup, it’s all gone “Wordpress”
Posted on June 3rd, 2009 No commentsI’ve given into peer pressure and converted Retroleum to Wordpress. Most of the old site has been changed to suit, but some of the older articles remain to be done (beware of broken links too). The more “bloggy” format and ease of updating offered by Wordpress may mean this front page gets updated more often.. and then again it may not :) Updates are more visible anyway..
Still one V6Z80P for sale BTW…
-
V5Z80P - Redux
Posted on May 5th, 2009 No commentsWith the V6Z80P taken as far as I can for the time being, my attention has returned to the last V5Z80P sitting in my cupboard. I’ve brought it up to date with the addition of a few soldered links on the PCB and an update of the FPGA config. Its now almost the same as the V6 (multiple configs, latest OSCA hardware, Spectrum emulator, OS etc) though obviously still has an IDE connector instead of SD card, less memory and off-board PSU. If you’re interested, have a look at this page - the board is up for grabs at the below cost price of £50 plus postage+paypal fee. Existing owners of the V5Z80P can update their boards to 5.1 spec by following the info in the new V5Z80P folder.
-
LineCop
Posted on February 15th, 2009 No comments
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 No comments
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 No comments
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, 2008 No commentsI’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, 2008 No commentsBy 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 No comments
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!


