Any Colour You Like

Profile
Purley, United Kingdom
Z80 and C#-related shenanigans - now with added electronics.
606 comments
1 followers
222 entries
Advertisement
benryves
February 15, 2010
Building a VGA line blanker and 3D glasses driver
Assembling a circuit on breadboard is a good way to experiment with electronics, but the result is not something you could really use - it's bulky, fragile and awkward to set up. It's far nicer to solder the components of the circuit together to form a more permanent device and put it in a enclosur…
6,580 views
benryves
February 07, 2010
Adding a stereoscopic renderer to Quake II
Having tweaked the stereoscopic rendering code in Quake, I decided to have a go at Quake II. This doesn't natively support row-interleaved stereoscopic rendering, but I thought that the shared code base of Quake and Quake II should make extending Quake II relatively simple.

Quake II does have two co…
3,226 views
benryves
February 03, 2010
3D glasses, a VGA line-blanker and fixing Quake
Some time ago, I posted about using interlaced video to display 3D images. Whilst the idea works very nicely in theory, it's quite tricky to get modern video cards to generate interlaced video at a variety of resolutions and refresh rates. My card limits me to 1920x1080 at i30 or 1920x1080 at i25, …
2,768 views
benryves
January 14, 2010
IM-me wireless terminal
A recent post on Hack a Day alerted me the to the IM-me, a device designed to be used with a web-based IM service that communicated with the PC via a USB wireless adaptor.


According to Hunter Davis, the body of the messages were sent between the PC and the IM-me are in plain text. This sounded like …
2,806 views
benryves
December 29, 2009
Ejecting discs from a damaged camcorder with a remote control
I hope that those of you who celebrate it had a good Christmas break and will have an excellent new year!

I recently attempted to repair a DVD camcorder that had been dropped; the eject button no longer worked, though the disc could be ejected by connecting to camera to a PC, right-clicking the DVD …
1,584 views
benryves
December 14, 2009
Playing VGMs on an STM8S
Following the STM8S tutorial in my previous post, I've tried to put the chip to some practical use. My initial experiments into producing a video signal proved unsuccessful; I managed a static image using hard-coded delay loops, but when trying to use interrupts to trigger the generation of scanlin…
2,471 views
benryves
December 03, 2009
STM8S-Discovery review and tutorial
STMicroelectronics recently released the STM8S-Discovery, an exceedingly cheap (RRP $7) evaluation kit for one of their 8-bit microcontrollers. It features the microcontroller itself (an STM8S105C6), running at up to 16MHz and offering 32KB of program memory, 2KB of RAM and 1KB of data EEPROM. This…
10,282 views
benryves
November 24, 2009
ATmega168 Snake
In addition to the Tetris game from the previous post, I've added an implementation of snake to the ATmega168 project.

">
Click to watch a gameplay video on YouTube.

Either game can be selected from a menu that appears when the circuit is powered on. To exit menus I've added a second fire button; t…
2,457 views
benryves
November 22, 2009
ATmega168 Tetris
The tvText library I discussed last entry allows you to display text on a PAL TV in black and white using a 20MHz ATmega168 and a pair of resistors. If this doesn't sound terribly exciting, it's probably because it isn't. However, if you bear some limitations in mind and change the font, you can us…
2,615 views
benryves
November 14, 2009
USB joypads and text on your TV courtesy of an ATmega168
Nearly a month since my last update - my, how time flies when you're having fun (or a heavy workload).

I ended up building myself a cheap and cheerful SI Prog programmer for AVR development. After installing the development tools, scanning through the documentation and writing the microcontroller eq…
3,445 views
benryves
October 16, 2009
64-bit IThumbnailProvider, BBC BASIC matrices and clocks
Work commitments have left me with little time to pursue my own projects of late, hence the lack of updates.

A chap named Jeremy contacted me with problems relating to the IThumbnailProvider code I'd posted here before. We narrowed it down to a 64-bit issue, demonstrated by the fact that the thumbna…
2,089 views
benryves
August 24, 2009
Cogwheel 1.0.3.0 beta 3
I managed to break save states in the last build of Cogwheel (attempting to load a save state would fail, not being able to set a property). I've marked the offending read-only property with [StateNotSaved] and made the loader slightly more robust in Cogwheel 1.0.3.0 beta 3. It's beta 3, not 2, bec…
2,054 views
benryves
August 20, 2009
Cogwheel 1.0.3.0 beta 1
I've released a beta version of Cogwheel 1.0.3.0 in the hope of getting some feedback. My main concern is with the new 3D glasses code, so I'd be very grateful if you could install the emulator and run this ROM in it. The ROM simply alternates between showing a red screen for the left eye and a cya…
2,075 views
benryves
August 10, 2009
New 3D renderer in Cogwheel
I have written a new 3D-compatible renderer for Cogwheel. It holds two textures, one for each eye, and uses one of a number of different effect file techniques to mix the two views.


Based on the interlacing work from the previous entry, the first technique is one that uses interleaved rows. I'm not …
2,540 views
benryves
August 07, 2009
Taking advantage of interlacing for 3D
To achieve smooth, glitch-free 3D in an ideal world, one would like to be able to alternate between left and right eye views every time the monitor refreshes. You could then use the monitor's vertical synchronisation pulse to alternate which eye shutter is currently open.

Relying on software is not …
2,129 views
benryves
August 05, 2009
3D LCD Shutter Glasses Experimentation
The Sega Master System supported 3D LCD shutter glasses to provide a more immersive (if somewhat flickery) playing experience. Having caught wind of an eBay member selling compatible glasses for $9 and being rather interested in stereoscopy I decided to experiment a little for myself.


LCD shutter gl…
4,136 views
benryves
June 03, 2009
RC-5, NEC, JVC and Panasonic infrared codes
I've rewritten the remote control signal decoding software to handle multiple protocols. As well as SIRCS, it now supports RC-5, NEC, JVC and two Panasonic codes (one "old" 11-bit code and one "new" 48-bit code). There's not much in the way of screenshots at the moment, other than a debug window th…
2,121 views
benryves
May 27, 2009
Remote controlling Windows the Sony way
It's been a while since I last posted, and unfortunately this post is to do with Sony remote controls again. [rolleyes]

This time I'm attempting to use Sony (or compatible) remote controls to control software running on a Windows PC. I've recently been watching more films in PowerDVD, and some of th…
2,132 views
benryves
March 01, 2009
Decoding SIRCS commands with a PIC16F84
Some time ago I was working on a simple Z80-based computer. It has a PS/2 keyboard and mouse port for user input, and these are implemented using a large number of discrete parts - transistor drivers with all manner of supporting latches and buffers. The AT protocol (which the PS/2 keyboard and mou…
2,416 views
benryves
February 24, 2009
Expression Evaluation in Z80 Assembly
The expression evaluators I've written in the past have been memory hungry and complex. Reading the BBC BASIC ROM user's guide introduced me to the concept of expression evaluation using top-down analysis, which only uses a small amount of constant RAM and the stack.

I took some time out over the we…
1,448 views
benryves
February 19, 2009
Nibbles and Logo
Work on BBC BASIC has slowed down quite a bit, with only minor features being added. A *FONT command lets you output large or font sized text to the graphics cursor position regardless of the current MODE:


10 MODE 3
20 VDU 5
30 MOVE 0,255 : PRINT "Small"
40 *FONT LARGE
50 MOVE 0,227 : PRINT "Large"
60 VD…
1,607 views
benryves
February 01, 2009
Extending BBC BASIC
BBC BASIC may have originated with the 8-bit home computer era, but it's still being updated and its most up-to-date incarnation - BBC BASIC for Windows - has a wealth of features that are unavailable on the Z80 version.

The BBC BASIC graphics API is primarily accessed via the multi-purpose PLOT sta…
2,143 views
benryves
January 21, 2009
BBC BASIC for the TI-83+/TI-84+ beta release
Work commitments have prevented me from doing much on my own projects recently, but zipping up a few files to get BBC BASIC tested is not a time-consuming process so I've started to release test builds.


Download latest version

The documentation is available online. It's generated by a little tool I h…
1,702 views
benryves
January 08, 2009
C# emu2413
This is fairly embarrassing; somebody sent me an email that was flagged as spam which I accidentally deleted. So if you sent me an email and I haven't replied, I'm not deliberately being rude; could you send it again? [embarrass]

After encountering strange crashes (not .NET exceptions, full out cras…
1,703 views
benryves
January 05, 2009
Controller input updates to Cogwheel
I hope you all had a good Christmas and New Year period!

I received an Xbox 360 controller for Christmas, so have done a bit of work on Cogwheel to add support for it. (You can download a copy of the latest version 1.0.2.0 with SlimDX here).

The first issue to deal with was the D-pad on the Xbox 360 …
2,145 views
benryves
December 15, 2008
Sega Master System emulation in Silverlight
I've had to quickly learn Silverlight for work recently, which has been an interesting experience. I've had to write new code, which is fine but doesn't really excite me as far as Silverlight is concerned - it doesn't really matter which language new code is developed in, as long as it gets the job…
1,948 views
benryves
December 08, 2008
Virtual screen resolutions for BBC Micro compatibility
The BBC Micro had a virtual resolution of 1280x1024, meaning that if you drew a circle centred on (1280/2,1024/2) it would appear in the middle of the screen regardless of its pixel resolution. On top of that, (0,0) was in the bottom-left hand corner of the screen with the Y axis pointing upwards.


T…
1,997 views
benryves
November 30, 2008
Three sides good, four sides bad.
Work on the TI-83+/TI-84+ port of BBC BASIC continues bit-by-bit.


Source code of TRIANGLE demo on the left.
I've added triangle filling (left) and, by extension, parallelogram filling (right) PLOT commands. The triangle filler is a little sluggish, tracing each edge of the triangle using 16-bit a…
1,831 views
benryves
November 13, 2008
BBC BASIC's improved filling, *EXEC and Lights Out
Progress on the TI-83+/TI-84+ port of BBC BASIC continues - I'm hoping to get a beta release out soon. [smile]


I've done quite a lot of work on the graphics features. Every shape that is plotted can be set to either the foreground colour, background colour or to invert the pixels it covers. …
1,707 views
benryves
October 29, 2008
TIME$ to resume work on TI-83+ BBC BASIC
It's been a while since I worked on the TI-83+ calculator port of BBC BASIC, and due to a relatively modular design some of the new features I'd been working on for the Z80 computer project version could be easily transferred across.

The first addition to the calculator port is the TIME$ keyword, wh…
1,622 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
10 Followers
15 Entries
11 Followers
johnhattan
Programmer
1,277 Entries
48 Followers
ApochPiQ
Generalist
628 Entries
44 Followers
dgreen02
Generalist
338 Entries
56 Followers
Advertisement